:root{
  --obsidian:#070912;
  --obsidian-2:#0C0F1C;
  --slate:#1A1E2E;
  --slate-2:#11152233;
  --cyan:#3DE0E8;
  --violet:#8B6FFF;
  --ink:#E8EAF2;
  --muted:#8E95AE;
  --line:#222a40;
  --grad:linear-gradient(120deg,#3DE0E8,#8B6FFF);
  --r:16px;
  --maxw:1180px;
  --font-d:"Space Grotesk",system-ui,sans-serif;
  --font-b:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--obsidian);
  color:var(--ink);
  font-family:var(--font-b);
  line-height:1.6;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(900px 500px at 78% -8%,rgba(139,111,255,.22),transparent 60%),
    radial-gradient(800px 480px at 8% 12%,rgba(61,224,232,.16),transparent 60%),
    var(--obsidian);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;opacity:.5;
  background-image:
    linear-gradient(rgba(61,224,232,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(139,111,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 85%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--font-d);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.eyebrow{
  font-family:var(--font-d);font-size:.74rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--cyan);margin-bottom:14px;display:block;
}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* NAV */
header.nav{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(7,9,18,.72);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--font-d);font-weight:600;font-size:1.18rem}
.logo svg{width:30px;height:30px}
.logo b{color:var(--ink)}
.logo span{color:var(--cyan)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{color:var(--muted);font-size:.92rem;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.btn{
  font-family:var(--font-d);font-weight:500;font-size:.9rem;
  padding:11px 22px;border-radius:999px;cursor:pointer;border:none;
  background:var(--grad);color:#070912;transition:transform .2s,box-shadow .2s;
  display:inline-block;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(61,224,232,.28)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--cyan);box-shadow:none}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.5rem;cursor:pointer}

/* HERO */
.hero{position:relative;padding:90px 0 70px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);margin-bottom:22px}
.hero p.lead{font-size:1.12rem;color:var(--muted);max-width:520px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.hero-stats .s b{font-family:var(--font-d);font-size:1.65rem;display:block;color:var(--ink)}
.hero-stats .s span{font-size:.82rem;color:var(--muted)}

/* Neural map signature */
.neural{
  position:relative;border:1px solid var(--line);border-radius:24px;
  background:linear-gradient(160deg,rgba(26,30,46,.6),rgba(12,15,28,.4));
  padding:26px;overflow:hidden;
}
.neural h4{font-family:var(--font-d);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.neural .nh{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.neural .live{font-size:.72rem;color:var(--cyan);display:flex;align-items:center;gap:7px}
.neural .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1.8s infinite}
@keyframes pulse{50%{opacity:.35}}
svg.map{width:100%;height:auto;display:block}
.node{cursor:pointer}
.node circle{transition:r .25s,fill .25s}
.node:hover circle{fill:var(--cyan)}
.node text{font-family:var(--font-d);font-size:9px;fill:var(--muted)}
.node:hover text{fill:var(--ink)}
.node-info{
  margin-top:16px;background:rgba(7,9,18,.55);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px;min-height:74px;
}
.node-info b{font-family:var(--font-d);color:var(--cyan);font-size:.95rem}
.node-info p{font-size:.86rem;color:var(--muted);margin-top:4px}

/* SECTION base */
section{padding:78px 0}
.sec-head{max-width:640px;margin-bottom:48px}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:14px}
.sec-head p{color:var(--muted);font-size:1.04rem}

/* Pathways / features */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{
  border:1px solid var(--line);border-radius:var(--r);padding:28px;
  background:linear-gradient(165deg,rgba(26,30,46,.45),rgba(12,15,28,.3));
  transition:transform .25s,border-color .25s;
  position:relative;overflow:hidden;
}
.card:hover{transform:translateY(-5px);border-color:rgba(61,224,232,.5)}
.card .ic{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(61,224,232,.1);border:1px solid rgba(61,224,232,.25);margin-bottom:18px;
}
.card .ic svg{width:22px;height:22px;stroke:var(--cyan)}
.card h3{font-size:1.18rem;margin-bottom:9px}
.card p{color:var(--muted);font-size:.94rem}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:st}
.step{border-top:2px solid var(--line);padding-top:18px;position:relative}
.step::before{
  counter-increment:st;content:"0" counter(st);
  font-family:var(--font-d);font-size:.95rem;color:var(--cyan);
  position:absolute;top:-12px;background:var(--obsidian);padding-right:10px;
}
.step h3{font-size:1.05rem;margin:10px 0 8px}
.step p{color:var(--muted);font-size:.9rem}

/* Image band */
.band{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.band img{border-radius:20px;border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;width:100%}
.band ul{list-style:none;margin-top:18px}
.band li{display:flex;gap:12px;margin-bottom:14px;color:var(--muted)}
.band li svg{width:20px;height:20px;stroke:var(--cyan);flex:none;margin-top:3px}
.band li b{color:var(--ink);font-family:var(--font-d);font-weight:500}

/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.price{
  border:1px solid var(--line);border-radius:20px;padding:32px 28px;
  background:linear-gradient(170deg,rgba(26,30,46,.5),rgba(12,15,28,.3));
  position:relative;
}
.price.featured{border-color:rgba(139,111,255,.6);background:linear-gradient(170deg,rgba(139,111,255,.12),rgba(12,15,28,.4))}
.price .tag{position:absolute;top:-13px;left:28px;background:var(--grad);color:#070912;font-family:var(--font-d);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 13px;border-radius:999px}
.price h3{font-size:1.3rem;margin-bottom:6px}
.price .desc{color:var(--muted);font-size:.88rem;min-height:42px}
.price .amt{font-family:var(--font-d);font-size:2.6rem;margin:18px 0 4px}
.price .amt small{font-size:.95rem;color:var(--muted);font-weight:400}
.price .per{color:var(--muted);font-size:.82rem;margin-bottom:22px}
.price ul{list-style:none;margin-bottom:26px}
.price li{display:flex;gap:10px;font-size:.9rem;margin-bottom:11px;color:var(--ink)}
.price li svg{width:18px;height:18px;stroke:var(--cyan);flex:none;margin-top:3px}
.price li.off{color:var(--muted)}
.price li.off svg{stroke:var(--muted)}
.price .btn{width:100%;text-align:center}
.price-note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:26px}

/* Testimonial / outcomes */
.quote{
  border:1px solid var(--line);border-radius:20px;padding:40px;
  background:linear-gradient(165deg,rgba(26,30,46,.5),rgba(12,15,28,.3));
  max-width:820px;margin:0 auto;text-align:center;
}
.quote p{font-family:var(--font-d);font-size:1.3rem;line-height:1.5;margin-bottom:20px}
.quote .who{color:var(--muted);font-size:.9rem}

/* FAQ */
.faq{max-width:780px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa button{
  width:100%;text-align:left;background:none;border:none;color:var(--ink);
  font-family:var(--font-d);font-size:1.05rem;padding:22px 0;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
}
.qa button .pm{color:var(--cyan);font-size:1.4rem;transition:transform .3s;flex:none}
.qa.open button .pm{transform:rotate(45deg)}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.qa .ans p{color:var(--muted);padding-bottom:22px;font-size:.95rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px}
.contact-info .ci{display:flex;gap:14px;margin-bottom:26px}
.contact-info .ci svg{width:22px;height:22px;stroke:var(--cyan);flex:none;margin-top:3px}
.contact-info .ci b{font-family:var(--font-d);display:block;margin-bottom:3px}
.contact-info .ci span{color:var(--muted);font-size:.92rem}
form .field{margin-bottom:18px}
form label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:7px}
form input,form textarea,form select{
  width:100%;padding:13px 15px;border-radius:11px;border:1px solid var(--line);
  background:rgba(7,9,18,.55);color:var(--ink);font-family:var(--font-b);font-size:.95rem;
  transition:border-color .2s;
}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--cyan)}
form textarea{resize:vertical;min-height:120px}
.checkrow{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--muted)}
.checkrow input{width:auto;margin-top:4px}
.form-msg{margin-top:14px;font-size:.9rem;display:none}
.form-msg.ok{display:block;color:var(--cyan)}
.form-msg.err{display:block;color:#ff7a7a}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:54px 0 30px;margin-top:20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px}
.foot-grid p{color:var(--muted);font-size:.9rem;margin-top:14px;max-width:300px}
.foot-col h5{font-family:var(--font-d);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.foot-col a{display:block;color:var(--muted);font-size:.92rem;margin-bottom:10px;transition:color .2s}
.foot-col a:hover{color:var(--cyan)}
.foot-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.84rem}

/* Cookie banner */
.cookie{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:80;max-width:760px;margin:0 auto;
  background:rgba(12,15,28,.96);border:1px solid var(--line);border-radius:16px;
  padding:22px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;
  box-shadow:0 20px 60px rgba(0,0,0,.5);flex-wrap:wrap;transform:translateY(140%);
  transition:transform .4s ease;
}
.cookie.show{transform:translateY(0)}
.cookie p{font-size:.88rem;color:var(--muted);flex:1;min-width:240px}
.cookie p a{color:var(--cyan)}
.cookie .cbtns{display:flex;gap:10px}
.cookie .btn{padding:10px 18px;font-size:.85rem}

/* Legal pages */
.legal{padding:60px 0}
.legal .wrap{max-width:820px}
.legal h1{font-size:2.2rem;margin-bottom:10px}
.legal .updated{color:var(--muted);font-size:.85rem;margin-bottom:36px}
.legal h2{font-size:1.3rem;margin:34px 0 12px}
.legal p,.legal li{color:var(--muted);font-size:.96rem;margin-bottom:12px}
.legal ul{padding-left:22px;margin-bottom:12px}
.legal a{color:var(--cyan)}
.back{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-size:.9rem;margin-bottom:30px}

@media(max-width:900px){
  .hero-grid,.band,.contact-grid{grid-template-columns:1fr}
  .cards,.pricing{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{
    position:fixed;top:68px;left:0;right:0;flex-direction:column;
    background:rgba(7,9,18,.98);border-bottom:1px solid var(--line);
    padding:20px 24px;gap:16px;align-items:flex-start;
    transform:translateY(-120%);transition:transform .3s;
  }
  .nav-links.open{transform:translateY(0)}
  .nav-toggle{display:block}
}
@media(max-width:540px){
  .steps,.foot-grid{grid-template-columns:1fr}
  section{padding:56px 0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
