/* NERvE Security Academy marketing site.
   Direction: enterprise-grade, single dark navy world for hero/CTA, crisp white content bands.
   Signature: animated "nerve network" canvas behind the hero; indigo→violet signal gradient. */
:root{
  --navy:#0a1430;--navy-2:#111e47;--ink:#0d1526;--muted:#566176;--line:#e1e6ef;--bg:#ffffff;--alt:#f4f6fb;
  --accent:#3550f0;--violet:#7b5cff;--amber:#f2a31b;--ok:#11795a;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;--body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}
body{font:17px/1.6 var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.015em;line-height:1.08;margin:0;text-wrap:balance}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 22px}.narrow{max-width:820px}
.b{display:inline-flex;align-items:center;gap:8px;font:600 .95rem var(--body);background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;border:0;border-radius:10px;padding:11px 18px;text-decoration:none;cursor:pointer;box-shadow:0 6px 20px rgba(53,80,240,.3);white-space:nowrap}
.b.ghost{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none;opacity:.92}
.b.lg{padding:14px 22px;font-size:1rem}
.b:disabled{opacity:.6;cursor:default}
/* Nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(10,20,48,.86);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.navrow{display:flex;align-items:center;gap:20px;min-height:66px}
.logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.logo .mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--violet));display:grid;place-items:center;font:800 1.1rem var(--display);color:#fff;box-shadow:0 4px 16px rgba(123,92,255,.4)}
.logo b{font:800 1.2rem/1 var(--display)}.logo b i{font-style:normal;color:#9fb0ff}.logo small{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-top:2px}
.links{display:flex;gap:4px;margin-left:auto}.links a{color:#c9d3ee;text-decoration:none;font-weight:500;font-size:.94rem;padding:8px 12px;border-radius:8px}.links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.navcta{display:flex;gap:8px}.navcta .b{padding:9px 14px;font-size:.88rem}
@media(max-width:980px){.links{display:none}.navcta{margin-left:auto}}
@media(max-width:520px){.navcta .ghost{display:none}}
/* Hero */
.hero{position:relative;background:radial-gradient(900px 500px at 85% 10%,rgba(123,92,255,.35),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(53,80,240,.3),transparent 60%),var(--navy);color:#fff;overflow:hidden;padding:72px 0 40px}
#nerves{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.herogrid{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center}
@media(max-width:900px){.herogrid{grid-template-columns:1fr}.hero{padding-top:44px}}
.kicker{display:inline-block;font:600 .74rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:#9fb0ff;margin-bottom:14px}
.kicker.dark{color:var(--accent)}
.hero h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:900}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,#9fb0ff,#d4b6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.12rem;color:#c9d3ee;max-width:60ch;margin:18px 0 26px}.lead b{color:#fff}
.ctas{display:flex;gap:12px;flex-wrap:wrap}.ctas .ghost{color:#fff}
.trust{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.88rem;color:#aab6d8}
.trust li::before{content:"✓ ";color:#7ee2b8;font-weight:700}
.herocard{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden}
.pc-top{display:flex;gap:6px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.2)}.pc-t{margin-left:8px;font-size:.8rem;color:#aab6d8}
.pc-body{padding:18px;display:grid;gap:16px}
.pc-score{display:flex;gap:14px;align-items:center}.pc-l{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#9fb0ff}.pc-b{font:800 1.5rem var(--display)}.pc-s{font-size:.8rem;color:#aab6d8}
.pc-bars{display:grid;gap:9px}.pc-bars div{display:grid;grid-template-columns:96px 1fr 40px;gap:10px;align-items:center;font-size:.85rem;color:#c9d3ee}
.pc-bars i{display:block;height:8px;border-radius:5px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.pc-bars i::after{content:"";position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,#7d93ff,#c08cff);border-radius:5px}
.pc-bars i.amber::after{background:linear-gradient(90deg,#f2a31b,#ffcf70)}.pc-bars b{font-weight:600;color:#fff;text-align:right;font-variant-numeric:tabular-nums}
.pc-chips{display:flex;flex-wrap:wrap;gap:6px}.pc-chips span{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px}
.pc-chips .ok{background:rgba(79,209,161,.15);color:#7ee2b8}.pc-chips .am{background:rgba(242,163,27,.15);color:#ffcf70}
.stats{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:56px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.stats div{background:rgba(10,20,48,.7);padding:18px 16px}.stats b{display:block;font:800 1.9rem/1 var(--display);font-variant-numeric:tabular-nums}.stats span{font-size:.82rem;color:#aab6d8}
@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.stats{grid-template-columns:repeat(2,1fr)}}
/* Sections */
.sec{padding:84px 0}.sec.alt{background:var(--alt)}
.sec h2{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:800}
.sub{color:var(--muted);font-size:1.08rem;max-width:62ch;margin:14px 0 36px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:900px){.seg{grid-template-columns:1fr}}
.segc{border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px;background:#fff;transition:transform .2s,box-shadow .2s}
.segc:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(13,21,38,.08)}
.segi{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#eaeefe,#f1ebff);display:grid;place-items:center;font-size:1.5rem}
.segc h3{font-size:1.35rem}.segc p{margin:0;color:var(--muted)}
.segc ul{margin:4px 0 8px;padding-left:1.1em;font-size:.95rem}.segc li{margin:4px 0}.segc a{margin-top:auto;font-weight:600;text-decoration:none}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.feat{grid-template-columns:1fr 1fr}}@media(max-width:600px){.feat{grid-template-columns:1fr}}
.fc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.fc h3{font-size:1.15rem;margin:10px 0 6px}.fc p{margin:0;color:var(--muted);font-size:.96rem}
.fc.big{grid-row:span 2;background:linear-gradient(160deg,var(--navy),#1c2a66);color:#fff;border:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px}
.fc.big p{color:#c9d3ee;font-size:1.02rem}.fc.big h3{font-size:1.6rem}
@media(max-width:900px){.fc.big{grid-row:auto;grid-column:1/-1;min-height:220px}}
.fi{font-size:1.6rem}
.steps4{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
@media(max-width:900px){.steps4{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps4{grid-template-columns:1fr}}
.steps4 li{counter-increment:s;border-top:3px solid var(--accent);padding-top:16px}
.steps4 li::before{content:"0" counter(s);font:800 .9rem var(--display);color:var(--accent);letter-spacing:.1em}
.steps4 b{display:block;font:800 1.35rem var(--display);margin:4px 0}.steps4 span{color:var(--muted);font-size:.96rem}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.ct{width:100%;border-collapse:collapse;font-size:.95rem}.ct th,.ct td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.ct th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--alt)}.ct tr:last-child td{border-bottom:0}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}@media(max-width:900px){.plans{grid-template-columns:1fr}}
.pl{position:relative;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:8px}
.pl h3{font-size:1.5rem}.pp{margin:0;color:var(--accent);font-weight:600}.pl p{margin:0;color:var(--muted)}
.pl ul{padding-left:1.1em;margin:8px 0 18px}.pl li{margin:5px 0}.pl .b{margin-top:auto;justify-content:center}.pl .b.ghost{color:var(--accent)}
.pl.feat2{border:2px solid var(--accent);box-shadow:0 24px 60px rgba(53,80,240,.15)}
.tag{position:absolute;top:-12px;left:24px;background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;font:700 .72rem var(--body);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
details{border-bottom:1px solid var(--line);padding:16px 0}details summary{cursor:pointer;font:700 1.08rem var(--display);list-style:none;display:flex;justify-content:space-between;gap:10px}
details summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}details[open] summary::after{content:"–"}
details p{color:var(--muted);margin:10px 0 0}
.cta{background:radial-gradient(800px 400px at 100% 0%,rgba(123,92,255,.35),transparent 60%),var(--navy);color:#fff}
.cta p{color:#c9d3ee}.cta .ghost{color:#fff;margin-top:24px}
.democols{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}@media(max-width:900px){.democols{grid-template-columns:1fr}}
.form{background:#fff;color:var(--ink);border-radius:18px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.form label{display:block;font-size:.85rem;font-weight:600;margin:10px 0 5px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:.95rem;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.form .two{grid-template-columns:1fr}}
.form .b{width:100%;justify-content:center;margin-top:16px}
.fine{font-size:.8rem;color:var(--muted);margin:10px 0 0}.msg{font-weight:600;margin:8px 0 0}.msg.ok{color:var(--ok)}.msg.err{color:#c0262d}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.foot{background:#070d20;color:#aab6d8;padding:56px 0 24px;font-size:.92rem}
.footrow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}@media(max-width:760px){.footrow{grid-template-columns:1fr 1fr}}
.foot .logo{color:#fff}.foot h4{color:#fff;font-size:.95rem;margin-bottom:10px}.foot a:not(.logo){display:block;color:#aab6d8;text-decoration:none;margin:6px 0}.foot a:hover{color:#fff}
.copy{border-top:1px solid rgba(255,255,255,.08);margin-top:32px;padding-top:18px;font-size:.82rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}#nerves{display:none}}
@media(min-width:901px){.feat .fc:last-child{grid-column:1/-1;display:flex;gap:16px;align-items:center}.feat .fc:last-child h3{margin:0;min-width:180px}}
.stats{max-width:calc(100% - 44px)}.stats div{min-width:0}@media(max-width:480px){.stats b{font-size:1.6rem}}
