*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#EAF4F1; --ink-soft:#B2C8C2; --muted:#6E8B84; --faint:#4A6058;
  --paper:#070F0D; --surface:#0D1B17; --surface-2:#12241E; --surface-3:#173029;
  --line:#1B2E28; --line-bright:rgba(45,212,196,.22);
  --teal:#14B8A6; --teal-bright:#2DD4C4; --teal-dim:#0D7A72;
  --gold:#F59E0B;
  --violet:#5B7FE8; /* background washes and gradient meshes ONLY — never text, buttons, or brand marks */
  --max:1180px;
  --s1:8px; --s2:14px; --s3:22px; --s4:36px; --s5:56px; --s6:96px; --s7:140px;
  --ease:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth;}
body{font-family:'Inter Tight',-apple-system,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;}
.display{font-family:'Sora',sans-serif;}
.mono{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
img{max-width:100%;display:block;}
::selection{background:rgba(20,184,166,.32);color:var(--ink);}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
section{position:relative;}

/* ---------- Eyebrow: mono "terminal" label with signal trail ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);}
/* Momentum mark (mini): flat lead-in that ticks up to a lit inflection node.
   Recurring motif — see also .trail and .sw-card::before. */
.eyebrow::before{content:"";display:inline-block;width:28px;height:12px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='12' viewBox='0 0 28 12' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='eg' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%232DD4C4' stop-opacity='0'/%3E%3Cstop offset='.55' stop-color='%230D7A72'/%3E%3Cstop offset='1' stop-color='%232DD4C4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 8 L11 8 C16 8 18 3 24 3' stroke='url(%23eg)' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='24.5' cy='3' r='2' fill='%232DD4C4'/%3E%3C/svg%3E") no-repeat center/contain;}

/* ---------- Momentum mark (the recurring SpotWise motif) ----------
   A flat grey metro baseline that the teal signal diverges up from, ending
   in a lit inflection node — "before the market moves", distilled into one
   mark. Recurs at section heads/dividers (.trail), section labels
   (.eyebrow::before), and card top-edges (.sw-card::before). The node's halo
   gently pulses; static under reduced motion. */
.trail{position:relative;width:72px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='20' viewBox='0 0 72 20' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='tg' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%230D7A72'/%3E%3Cstop offset='1' stop-color='%232DD4C4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M3 15 L69 15' stroke='%236E8B84' stroke-width='1.5' stroke-linecap='round' opacity='.35'/%3E%3Cpath d='M3 15 L26 15 C44 15 50 5 68 4' stroke='url(%23tg)' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='68' cy='4' r='2.4' fill='%232DD4C4'/%3E%3C/svg%3E") no-repeat center/contain;}
.trail::after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,196,.6) 0%,rgba(45,212,196,0) 70%);animation:nodePulse 2.8s ease-in-out infinite;}
@keyframes nodePulse{0%,100%{opacity:.45;transform:scale(.75);}50%{opacity:1;transform:scale(1.2);}}
@media (prefers-reduced-motion:reduce){.trail::after,.nav-home::after,.nav-menu-panel a.active::after{animation:none;opacity:.85;transform:none;}}

.mark{flex-shrink:0;width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:1px;}
.mark.x{background:rgba(255,255,255,.06);color:var(--faint);}
.mark.check{background:rgba(20,184,166,.16);color:var(--teal-bright);}
.disclaimer{font-size:12.5px;color:var(--faint);line-height:1.6;border-top:1px solid var(--line);padding-top:14px;margin-top:22px;}

/* ---------- Shared card base: one elevation/hover language for every card ---------- */
.sw-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.sw-card::before{content:"";position:absolute;top:0;left:10%;right:10%;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='12' viewBox='0 0 100 12' preserveAspectRatio='none' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='cg' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%232DD4C4' stop-opacity='0'/%3E%3Cstop offset='.6' stop-color='%232DD4C4' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%232DD4C4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 9 L58 9 C78 9 80 3 100 3' stroke='url(%23cg)' stroke-width='2' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat center/100% 100%;opacity:0;transform:translateY(-3px);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none;}
.sw-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px -20px rgba(0,0,0,.6),0 0 0 1px rgba(20,184,166,.08);border-color:rgba(20,184,166,.28);}
.sw-card:hover::before{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.sw-card,.sw-card::before{transition:none;}.sw-card:hover{transform:none;}}

/* ---------- Gradient mesh + grain backdrop (heroes, form page) ---------- */
.mesh{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.mesh::before{content:"";position:absolute;inset:-20%;background:
  radial-gradient(640px 420px at 18% 12%,rgba(20,184,166,.14) 0%,transparent 60%),
  radial-gradient(720px 480px at 85% 8%,rgba(91,127,232,.10) 0%,transparent 62%),
  radial-gradient(900px 560px at 50% 110%,rgba(13,122,114,.16) 0%,transparent 65%);}
.mesh::after{content:"";position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");}
.mesh-grid::before{background:
  radial-gradient(640px 420px at 18% 12%,rgba(20,184,166,.14) 0%,transparent 60%),
  radial-gradient(720px 480px at 85% 8%,rgba(91,127,232,.10) 0%,transparent 62%),
  radial-gradient(900px 560px at 50% 110%,rgba(13,122,114,.16) 0%,transparent 65%),
  repeating-linear-gradient(90deg,rgba(45,212,196,.03) 0 1px,transparent 1px 88px),
  repeating-linear-gradient(0deg,rgba(45,212,196,.03) 0 1px,transparent 1px 88px);}

/* ---------- Logo ---------- */
.logo{display:flex;align-items:center;gap:11px;}
.logo-mark{width:38px;height:38px;flex-shrink:0;display:block;object-fit:contain;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-text b{font-family:'Sora',sans-serif;font-weight:700;font-size:13.5px;color:var(--ink);letter-spacing:-.01em;}
.logo-text span{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2px;}

/* ---------- Mascot: secondary touches ---------- */
.success-icon-wrap{position:relative;width:52px;height:52px;margin:0 auto 14px;}
.success-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.success-icon-blink{opacity:0;}
.success-icon-wrap.celebrate{animation:successPop 1.8s var(--ease) both;}
.success-icon-wrap.celebrate .success-icon-blink{animation:successBlink 1.8s var(--ease) both;}
@keyframes successPop{
  0%{opacity:0;transform:scale(.7) rotate(0deg);}
  45%{opacity:1;transform:scale(1.05) rotate(-6deg);}
  65%{transform:scale(1) rotate(4deg);}
  100%{opacity:1;transform:scale(1) rotate(0deg);}
}
@keyframes successBlink{
  0%,55%{opacity:0;}
  65%{opacity:1;}
  80%{opacity:1;}
  92%,100%{opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .success-icon-wrap.celebrate{animation:none;opacity:1;transform:none;}
  .success-icon-wrap.celebrate .success-icon-blink{animation:none;opacity:0;}
}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;padding:12px 22px;border-radius:100px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .12s var(--ease);white-space:nowrap;cursor:pointer;font-family:inherit;border:none;overflow:hidden;}
.btn-primary{background:var(--teal);color:#031A17;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 20px rgba(20,184,166,.3);}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .5s var(--ease);}
.btn-primary:hover{background:var(--teal-bright);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 6px 26px rgba(20,184,166,.44);transform:translateY(-1px);}
.btn-primary:hover::after{left:120%;}
.btn-primary:active{transform:scale(.97) translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 12px rgba(20,184,166,.35);}
.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--teal-dim);color:var(--teal-bright);background:rgba(20,184,166,.05);}
.btn-ghost:active{transform:scale(.97);}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.btn:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.btn-primary::after{display:none;}}

/* ---------- Floating CTA pill (injected by shared.js on pages with a .nav-cta) ---------- */
.float-cta{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#031A17;font-family:'Inter Tight',sans-serif;font-weight:800;font-size:13px;letter-spacing:.01em;padding:13px 22px;border-radius:100px;box-shadow:0 8px 30px rgba(20,184,166,.35),inset 0 1px 0 rgba(255,255,255,.25);opacity:0;transform:translateY(16px) scale(.95);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease),background-color .2s;}
.float-cta.is-on{opacity:1;transform:none;pointer-events:auto;}
.float-cta:hover{background:var(--teal-bright);}
.float-cta:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;}
@media (max-width:719px){.float-cta{display:none;}}
@media (prefers-reduced-motion:reduce){.float-cta{transition:opacity .2s;transform:none;}}

/* ---------- Form fields (shared by /founding-program) ---------- */
.field-group{margin-bottom:20px;text-align:left;}
.field-group label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:8px;}
.field-group label .req{color:var(--gold);margin-left:3px;}
.field-group input,
.field-group select,
.field-group textarea{
  width:100%;padding:13px 15px;border-radius:10px;border:1px solid var(--line);
  background:var(--surface-2);color:var(--ink);font-size:14.5px;font-family:'Inter Tight',sans-serif;
  transition:border-color .15s,box-shadow .15s;
}
.field-group textarea{resize:vertical;min-height:96px;}
.field-group input:focus,
.field-group select:focus,
.field-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,184,166,.16);}
.field-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E8B84' stroke-width='1.6' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:36px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.field-row{grid-template-columns:1fr;}}

/* ---------- Form section rhythm (visual grouping, still one form) ---------- */
.form-step{display:flex;align-items:center;gap:14px;margin:34px 0 18px;}
.form-step:first-of-type{margin-top:0;}
.form-step .num{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--teal);letter-spacing:.08em;}
.form-step .lbl{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-transform:uppercase;}
.form-step .rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}

/* ---------- NDA acknowledgment (shared by /founding-program) ---------- */
.nda-block{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:20px 20px 18px;margin-bottom:20px;}
.nda-heading{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-bottom:6px;}
.nda-note{font-size:12px;color:var(--muted);margin-bottom:14px;line-height:1.5;}
.nda-scroll{max-height:260px;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:16px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--teal-dim) var(--surface-2);}
.nda-scroll::-webkit-scrollbar{width:8px;}
.nda-scroll::-webkit-scrollbar-track{background:var(--surface-2);border-radius:8px;}
.nda-scroll::-webkit-scrollbar-thumb{background:var(--teal-dim);border-radius:8px;}
.nda-scroll::-webkit-scrollbar-thumb:hover{background:var(--teal);}
.nda-scroll p{font-size:12.5px;color:var(--ink-soft);line-height:1.65;margin:0 0 12px;}
.nda-scroll p:last-child{margin-bottom:0;}
.nda-scroll strong{color:var(--ink);}
.nda-date-line{font-family:'JetBrains Mono',monospace;color:var(--teal-bright);font-size:12px;}
.nda-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-soft);font-weight:500;cursor:pointer;}
.nda-checkbox input[type="checkbox"]{width:auto;flex-shrink:0;margin-top:3px;accent-color:var(--teal);cursor:pointer;}
.nda-checkbox input[type="checkbox"]:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;border-radius:3px;}
.nda-checkbox .req{color:var(--gold);margin-left:3px;}

/* ---------- Nav (shared across all top-level pages) ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(7,15,13,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:2px solid var(--teal);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:var(--max);margin:0 auto;position:relative;}
.nav-right{display:flex;align-items:center;gap:14px;}

/* ---------- Home button: a small "signature mark" -- glass chip with an
   ambient corner signal-node (same nodePulse dot used by .trail) and a
   glow burst on hover, so it reads as a designed control, not a bare icon. ---------- */
.nav-home{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:var(--muted);flex-shrink:0;background:rgba(255,255,255,.02);border:1px solid var(--line);transition:color .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .3s var(--ease);}
.nav-home::after{content:"";position:absolute;top:-3px;right:-3px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,196,.85) 0%,rgba(45,212,196,0) 72%);box-shadow:0 0 8px rgba(45,212,196,.55);animation:nodePulse 2.8s ease-in-out infinite;}
.nav-home:hover{color:var(--teal-bright);background:rgba(20,184,166,.08);border-color:rgba(20,184,166,.35);box-shadow:0 0 0 1px rgba(20,184,166,.12),0 6px 22px -6px rgba(20,184,166,.4);}
.nav-home svg{width:19px;height:19px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.nav-home:hover svg{transform:scale(1.14) rotate(-4deg);}
.nav-home:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;}

/* ---------- Nav mega-menu: full-width panel of rich links (icon + title + description) ----------
   .nav-menu-panel's left:0/right:0 is meant to span the whole nav bar, so its
   containing block has to be `nav` (now position:relative, above) -- NOT
   .nav-menu, which is only as wide as the trigger button and sits over on
   the right inside .nav-right. Leaving position:relative on .nav-menu here
   would win as the nearer ancestor and silently shrink the "full-width"
   panel down to trigger-width, pinned wherever that button is. */
.nav-menu{display:flex;}
.nav-menu-trigger{position:relative;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink-soft);background:rgba(255,255,255,.02);border:1px solid var(--line);padding:8px 14px;border-radius:11px;cursor:pointer;font-family:inherit;transition:color .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .3s var(--ease);}
.nav-menu-trigger::before{content:"";width:13px;height:13px;flex-shrink:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='1' y='9' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1.5'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='1' y='9' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1.5'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.65;transition:opacity .25s var(--ease);}
.nav-menu-trigger:hover{color:var(--teal-bright);background:rgba(20,184,166,.08);border-color:rgba(20,184,166,.28);box-shadow:0 6px 20px -8px rgba(20,184,166,.35);}
.nav-menu-trigger:hover::before{opacity:1;}
.nav-menu-trigger:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;}
.nav-menu-trigger .chev{width:9px;height:9px;flex-shrink:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
.nav-menu.is-open .nav-menu-trigger{color:var(--teal-bright);background:rgba(20,184,166,.12);border-color:rgba(20,184,166,.4);box-shadow:0 0 0 1px rgba(20,184,166,.2),0 0 26px rgba(45,212,196,.22);}
.nav-menu.is-open .nav-menu-trigger::before{opacity:1;}
.nav-menu.is-open .nav-menu-trigger .chev{transform:rotate(180deg);}

.nav-menu-panel{
  position:absolute;top:100%;left:0;right:0;
  background:rgba(7,15,13,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(20,184,166,.14);
  border-bottom:1px solid var(--line);
  box-shadow:0 32px 64px -24px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(-10px);filter:blur(6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),filter .3s var(--ease),visibility 0s linear .3s;
  z-index:110;
}
/* Top accent line + faint corner glows -- echoes the hero-glow / footer
   scan-line language so the open panel feels like part of the same system. */
.nav-menu-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal-bright),transparent);opacity:.55;pointer-events:none;}
.nav-menu-panel::after{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;background:
  radial-gradient(480px 220px at 15% 0%,rgba(20,184,166,.08) 0%,transparent 65%),
  radial-gradient(480px 220px at 85% 100%,rgba(20,184,166,.05) 0%,transparent 65%);}
.nav-menu.is-open .nav-menu-panel{
  opacity:1;visibility:visible;transform:translateY(0);filter:blur(0);
  transition:opacity .3s var(--ease),transform .3s var(--ease),filter .3s var(--ease);
}
.nav-menu-panel-inner{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:var(--max);margin:0 auto;padding:22px 32px;}
.nav-menu-panel a{
  position:relative;
  display:flex;align-items:flex-start;gap:14px;text-align:left;
  color:var(--ink-soft);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px 18px;
  opacity:0;
  transition:color .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease),opacity .3s var(--ease);
}
/* Cursor-follow spotlight (position set by shared.js on pointermove); a
   pure hover-feedback highlight, not an autoplaying animation. */
.nav-menu-panel a::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),rgba(20,184,166,.16),transparent 70%);transition:opacity .25s var(--ease);}
.nav-menu-panel a:hover::before{opacity:1;}
.nav-menu-panel a .mtxt{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;}
.nav-menu-panel a .mi{position:relative;z-index:1;flex-shrink:0;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(20,184,166,.1);color:var(--teal-bright);transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .2s var(--ease),box-shadow .2s var(--ease);}
.nav-menu-panel a .mi svg{width:16px;height:16px;}
.nav-menu-panel a .mt{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.25;}
.nav-menu-panel a .md{font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px;}
.nav-menu.is-open .nav-menu-panel a{opacity:1;}
.nav-menu.is-open .nav-menu-panel a:nth-child(2){transition-delay:0s,0s,0s,0s,0s,.035s;}
.nav-menu.is-open .nav-menu-panel a:nth-child(3){transition-delay:0s,0s,0s,0s,0s,.07s;}
.nav-menu.is-open .nav-menu-panel a:nth-child(4){transition-delay:0s,0s,0s,0s,0s,.105s;}
.nav-menu.is-open .nav-menu-panel a:nth-child(5){transition-delay:0s,0s,0s,0s,0s,.14s;}
.nav-menu.is-open .nav-menu-panel a:nth-child(6){transition-delay:0s,0s,0s,0s,0s,.175s;}
.nav-menu-panel a:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  .nav-menu-panel{transition:opacity .15s linear;transform:none;filter:none;}
  .nav-menu-panel a{transition:none;}
  .nav-menu.is-open .nav-menu-panel a{transition-delay:0s;}
}
.nav-menu-panel a:hover{
  color:var(--teal-bright);
  background:rgba(20,184,166,.07);
  border-color:rgba(20,184,166,.32);
  transform:translateY(-2px);
  box-shadow:0 16px 32px -16px rgba(0,0,0,.5);
}
.nav-menu-panel a:hover .mi{transform:scale(1.1) rotate(-6deg);background:rgba(20,184,166,.2);box-shadow:0 0 14px rgba(45,212,196,.3);}
.nav-menu-panel a.active{
  background:rgba(20,184,166,.09);
  border-color:rgba(20,184,166,.4);
  box-shadow:0 0 0 1px rgba(20,184,166,.22),0 0 20px rgba(45,212,196,.14);
}
.nav-menu-panel a.active .mt{color:var(--teal-bright);}
/* "You are here": a small pulsing signal-node on the active item, same
   motif as .trail's inflection node and the home button's corner node. */
.nav-menu-panel a.active::after{content:"";position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,196,.9) 0%,rgba(45,212,196,.15) 70%);box-shadow:0 0 10px rgba(45,212,196,.6);animation:nodePulse 2.8s ease-in-out infinite;}

.nav-login{font-size:13.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:color .2s var(--ease),background-size .28s var(--ease);}
.nav-login:hover{color:var(--teal-bright);background-size:100% 1px;}
.nav-cta{padding:10px 18px;font-size:13px;}
.nav-cta-short{display:none;}

/* ---------- Motion: scroll reveal (progressive enhancement, see html.js head script) ---------- */
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
html.js .reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- Generic section shell ---------- */
.sec{padding:var(--s7) 32px;}
.sec-alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sec-head{max-width:720px;margin:0 auto var(--s5);text-align:center;}
.sec-head h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(30px,4.4vw,50px);letter-spacing:-.03em;line-height:1.1;}
.sec-head p{font-size:16.5px;color:var(--ink-soft);margin-top:18px;line-height:1.65;}
.sec-head .trail{margin:22px auto 0;}

/* ---------- Signal Card (shared: blurred teaser on Home, full sample on /sample-report) ---------- */
.sig-card{position:relative;overflow:hidden;max-width:640px;margin:0 auto;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:20px;padding:32px 34px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(20,184,166,.05);transition:border-color .25s,box-shadow .25s var(--ease);}
.sig-card:hover{border-color:rgba(20,184,166,.3);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(20,184,166,.12),0 0 40px rgba(20,184,166,.08);}
.sig-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap;}
.sig-head-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:'JetBrains Mono',monospace;}
.sig-head-title{font-family:'Sora',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;}
.sig-badge{display:flex;align-items:center;gap:7px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.28);color:var(--gold);font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:100px;flex-shrink:0;white-space:nowrap;}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(245,158,11,.6);animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.55);}70%{box-shadow:0 0 0 7px rgba(245,158,11,0);}100%{box-shadow:0 0 0 0 rgba(245,158,11,0);}}
@media (prefers-reduced-motion:reduce){.pulse-dot{animation:none;}}
.sig-score-row{display:flex;align-items:baseline;gap:14px;padding:24px 0 22px;}
.sig-score{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:56px;color:var(--teal-bright);letter-spacing:-.02em;text-shadow:0 0 34px rgba(45,212,196,.35);}
.sig-score-label{font-size:12.5px;color:var(--muted);font-weight:600;}
.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;}
.sig-item{background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:10px;padding:12px 14px;}
.sig-item .k{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:5px;}
.sig-item .v{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:15.5px;color:var(--ink);}
.sig-item .v.pos{color:var(--teal-bright);}
.sig-item .v.neg{color:var(--gold);}
.ratio-row{display:flex;gap:24px;padding:18px 0;border-top:1px solid var(--line);flex-wrap:wrap;}
.ratio{display:flex;flex-direction:column;gap:4px;}
.ratio .k{font-size:10.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.ratio .v{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:16px;}
.sig-reasons{padding:20px 0;border-top:1px solid var(--line);}
.sig-reasons .k-label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
.sig-reasons ul{display:flex;flex-direction:column;gap:10px;}
.sig-reasons li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft);line-height:1.55;}
.sig-compare{padding:20px 0;border-top:1px solid var(--line);}
.sig-compare .k-label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
.compare-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.compare-table th{text-align:right;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 0 8px;}
.compare-table th:first-child{text-align:left;}
.compare-table td{padding:9px 0;border-top:1px solid var(--line);color:var(--ink-soft);}
.compare-table td:first-child{color:var(--ink);font-weight:600;}
.compare-table td:not(:first-child){text-align:right;font-family:'JetBrains Mono',monospace;font-weight:700;}
.compare-table td.zip-val{color:var(--teal-bright);}
.action-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.28);color:var(--teal-bright);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:100px;margin-top:20px;transition:background-color .2s,border-color .2s,transform .12s var(--ease);}
a.action-badge:hover{background:rgba(20,184,166,.18);border-color:rgba(20,184,166,.45);transform:translateX(3px);}
a.action-badge:active{transform:scale(.97);}
.sig-disclaimer{font-size:11.5px;color:var(--faint);margin-top:14px;font-style:italic;}
.sig-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;}
.sig-footer .src{font-size:11px;color:var(--faint);font-weight:500;}
.sig-footer .ts{font-size:11px;color:var(--faint);font-family:'JetBrains Mono',monospace;}
.blur-val{filter:blur(6px);user-select:none;}
.sig-score.blur-val{filter:blur(14px);}
.sig-head-label.blur-val{filter:blur(5px);}
.sample-overlay{position:absolute;inset:0;background:rgba(6,13,11,.62);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;}
.sample-overlay-inner{max-width:300px;display:flex;flex-direction:column;align-items:center;gap:16px;}
.sample-overlay-inner .msg{font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;letter-spacing:-.01em;line-height:1.4;color:var(--ink);}
.sample-icon{width:32px;height:32px;object-fit:contain;}

/* ---------- Gradient-orb avatars (Team + Contact) ---------- */
.orb{position:relative;width:64px;height:64px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;font-size:19px;color:var(--ink);border-radius:38% 62% 55% 45%/48% 42% 58% 52%;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 8px 28px rgba(0,0,0,.45);animation:orbMorph 9s ease-in-out infinite alternate;}
.orb::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:1px solid rgba(45,212,196,.18);animation:orbMorph 9s ease-in-out infinite alternate-reverse;pointer-events:none;}
.orb.orb-a{background:radial-gradient(circle at 30% 25%,rgba(45,212,196,.85),rgba(13,122,114,.9) 55%,#0A2622 100%);}
.orb.orb-b{background:radial-gradient(circle at 68% 22%,rgba(245,158,11,.55),rgba(13,122,114,.85) 58%,#0A2622 100%);}
.orb.orb-c{background:radial-gradient(circle at 40% 70%,rgba(91,127,232,.5),rgba(13,122,114,.85) 55%,#0A2622 100%);}
@keyframes orbMorph{
  0%{border-radius:38% 62% 55% 45%/48% 42% 58% 52%;}
  50%{border-radius:56% 44% 42% 58%/42% 60% 40% 58%;}
  100%{border-radius:45% 55% 62% 38%/58% 45% 55% 42%;}
}
@media (prefers-reduced-motion:reduce){.orb,.orb::after{animation:none;}}

/* ---------- Founding program callout (gold = limited/urgent, exclusively) ---------- */
.founding{position:relative;max-width:800px;margin:0 auto;text-align:center;background:linear-gradient(180deg,rgba(245,158,11,.07) 0%,rgba(245,158,11,.015) 100%);border:1px solid rgba(245,158,11,.22);border-radius:22px;padding:60px 48px;overflow:hidden;}
.founding::before{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.6),transparent);}
.founding .eyebrow{color:var(--gold);}
.founding .eyebrow::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='12' viewBox='0 0 28 12' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='fg' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23F59E0B' stop-opacity='0'/%3E%3Cstop offset='.55' stop-color='%23D97706'/%3E%3Cstop offset='1' stop-color='%23F59E0B'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 8 L11 8 C16 8 18 3 24 3' stroke='url(%23fg)' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='24.5' cy='3' r='2' fill='%23FBBF24'/%3E%3C/svg%3E") no-repeat center/contain;}
.founding h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(26px,3.6vw,38px);letter-spacing:-.025em;margin-top:16px;}
.founding .sub{font-size:16px;color:var(--gold);font-weight:600;margin-top:10px;}
.founding p{font-size:15px;color:var(--ink-soft);line-height:1.7;max-width:560px;margin:22px auto 0;}
.founding .btn{margin-top:28px;}
.founding .note{font-size:12.5px;color:var(--faint);margin-top:16px;}

/* ---------- Final CTA (shared, near the bottom of every page) ---------- */
.final-cta{text-align:center;background:radial-gradient(900px 420px at 50% 120%,rgba(20,184,166,.16) 0%,var(--paper) 65%);}
.final-cta h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(30px,4.8vw,52px);letter-spacing:-.03em;max-width:800px;margin:0 auto;line-height:1.12;}
.final-cta p{font-size:16px;color:var(--ink-soft);margin-top:18px;}
.final-cta .trail{margin:0 auto 26px;}
.final-ctas{display:flex;gap:16px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.final-ctas .btn{padding:15px 26px;font-size:14.5px;}

/* ---------- Footer (shared across all top-level pages) ---------- */
footer{position:relative;border-top:1px solid rgba(20,184,166,.16);padding:76px 32px 40px;background:var(--surface);overflow:hidden;}
footer::before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:linear-gradient(90deg,transparent,rgba(45,212,196,.5),transparent);}
.footer-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:40px;}
.footer-tag-row{display:flex;align-items:center;gap:9px;margin-top:14px;max-width:240px;}
.footer-tag{font-size:13.5px;color:var(--muted);line-height:1.6;}
.footer-contact{font-size:12.5px;color:var(--faint);margin-top:14px;max-width:280px;line-height:1.7;}
.footer-contact a{color:var(--teal-bright);font-weight:600;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .28s var(--ease);}
.footer-contact a:hover{background-size:100% 1px;}
.footer-contact .emails{display:block;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint);}
.spot-interactive{position:relative;width:26px;height:26px;flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.spot-interactive:hover{transform:rotate(-14deg) scale(1.12);}
.spot-interactive:focus-visible{outline:2px solid var(--teal-bright);outline-offset:3px;border-radius:50%;}
.spot-face{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .16s ease;}
.spot-face-blink{opacity:0;}
.spot-interactive:hover .spot-face-open,.spot-interactive.blinking .spot-face-open{opacity:0;}
.spot-interactive:hover .spot-face-blink,.spot-interactive.blinking .spot-face-blink{opacity:1;}
@keyframes spotWag{0%,100%{transform:rotate(0deg);}20%{transform:rotate(-20deg);}40%{transform:rotate(15deg);}60%{transform:rotate(-11deg);}80%{transform:rotate(6deg);}}
.spot-interactive.wagging{animation:spotWag .6s ease-in-out;}
@media (prefers-reduced-motion:reduce){
  .spot-interactive,.spot-interactive.wagging{animation:none;transition:none;}
  .spot-interactive:hover{transform:none;}
  /* Transform-based micro-interactions added alongside the mascot: keep the
     colour/underline feedback, drop the movement. */
  .nav-home:hover svg{transform:none;}
  a.action-badge:hover{transform:none;}
  .nav-menu-panel a:hover .mi{transform:none;}
}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer-col{display:flex;flex-direction:column;gap:12px;min-width:130px;}
.footer-col .fc-h{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:2px;}
.footer-col a{font-size:13.5px;color:var(--ink-soft);font-weight:600;width:fit-content;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:color .2s var(--ease),background-size .28s var(--ease);}
.footer-col a:hover{color:var(--teal-bright);background-size:100% 1px;}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;}
.footer-links a{font-size:13.5px;color:var(--ink-soft);font-weight:600;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:color .2s var(--ease),background-size .28s var(--ease);}
.footer-links a:hover{color:var(--teal-bright);background-size:100% 1px;}
.footer-bottom{max-width:var(--max);margin:44px auto 0;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--faint);line-height:1.7;}

/* ---------- Responsive: nav + footer + sections (shared) ---------- */
@media (max-width:900px){
  .sec{padding:var(--s6) 32px;}
  .footer-inner{flex-direction:column;}
  .footer-cols{gap:40px;}
  .nav-menu-panel-inner{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  nav{padding:14px 16px;}
  .nav-right{gap:6px;}
  .nav-cta-full{display:none;}
  .nav-cta-short{display:inline;}
  .nav-cta{padding:9px 14px;font-size:12.5px;}
  .nav-login{font-size:12.5px;}
  .nav-menu-trigger{font-size:12.5px;padding:7px 10px;}
  .nav-home{width:34px;height:34px;}
  .nav-home svg{width:17px;height:17px;}
  .nav-menu-panel-inner{grid-template-columns:1fr;padding:14px 16px;gap:8px;}
  .nav-menu-panel a{padding:14px 16px;}
}
@media (max-width:380px){
  nav{padding:12px;}
  .nav-right{gap:3px;}
  .nav-cta{padding:8px 11px;font-size:11.5px;}
  .nav-login{font-size:11.5px;}
  .nav-menu-trigger{font-size:11.5px;padding:6px 8px;gap:4px;}
  .nav-home{width:30px;height:30px;}
  .nav-home svg{width:16px;height:16px;}
}

/* ===================================================================
   MOBILE HARDENING & VISUAL RETHINK  —  2026-07-10
   Every rule below is scoped inside a max-width media query, so it
   applies to phones ONLY. Any viewport >= 641px receives none of these
   rules and desktop rendering is provably unchanged (verified by
   pixel-diffing 1440px before/after screenshots). This block is placed
   last so it wins source-order ties over the mobile rules above.
   =================================================================== */
@media (max-width:640px){
  /* ---- Touch targets: 44x44 minimum (WCAG 2.5.5 target size) ---- */
  .logo{min-height:44px;}
  .nav-menu-trigger{min-height:44px;padding-top:0;padding-bottom:0;}
  .nav-home{width:44px;height:44px;border-radius:12px;}
  .nav-home svg{width:20px;height:20px;}
  .nav-login{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;}
  .btn{min-height:44px;}
  .nav-cta{padding-top:0;padding-bottom:0;}
  .action-badge{min-height:44px;}
  a.email-link{min-height:44px;}
  .footer-col{gap:2px;}
  .footer-col a,.footer-links a{display:inline-flex;align-items:center;min-height:44px;}
  .footer-contact a{display:inline-flex;align-items:center;min-height:36px;}
  .spot-interactive{width:44px;height:44px;}

  /* ---- iOS Safari zooms the page when an input < 16px is focused ---- */
  .field-group input,
  .field-group select,
  .field-group textarea{font-size:16px;padding:14px 15px;}
  .nda-checkbox{gap:12px;align-items:center;}
  .nda-checkbox input[type="checkbox"]{width:22px;height:22px;margin-top:0;}

  /* ---- Breathing room + 2-col density: shared signal card ----
     Dense data groups keep a multi-column grid on phones (like desktop)
     instead of collapsing to one sparse column. Text sizes unchanged. */
  .sig-card{padding:26px 20px;}
  .sig-score{font-size:54px;}
  .sig-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .sig-item{padding:13px 12px;}
  .ratio-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px;}
  .ratio .v{font-size:17px;}
  .sec-head p{font-size:16px;}
  .final-ctas .btn{width:100%;justify-content:center;}
}
@media (max-width:400px){
  .nav-right{gap:4px;}
  .nav-cta{padding-left:13px;padding-right:13px;}
  /* Drop the trigger's leading icon at the narrowest widths -- keeps the
     "Menu" label + chevron from crowding the always-visible CTA. */
  .nav-menu-trigger::before{display:none;}
}
