/* Neurotech AI — site prototype. Design tokens + shared components.
   Page sections keep the approved inline styles from the design canvases;
   everything shared (layout switch, nav, menu, cookie banner, forms) lives here. */
:root{
  --ink:#070B1E; --slate:#5A626E; --muted:#A0A6B0; --hair:#E2E7ED; --cloud:#F5F7FA; --track:#EEF1F5; --white:#FFFFFF;
  --blue:#0071E3; --blue-hover:#0077ED; --blue-press:#006EDB; --blue-tint:#E6F0FC; --error:#D93025;
  --r-pill:999px; --r-card:24px; --r-media:20px; --r-input:14px; --r-window:32px;
  --sh-1:0 1px 2px rgba(7,11,30,.04),0 8px 24px rgba(7,11,30,.05);
  --sh-2:0 2px 6px rgba(7,11,30,.05),0 24px 64px rgba(7,11,30,.10),0 48px 96px rgba(7,11,30,.06);
  --glass-bg:rgba(255,255,255,.72); --glass-blur:blur(20px) saturate(170%);
  --glass-sh:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(7,11,30,.06),0 8px 20px rgba(7,11,30,.08);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",Helvetica,Arial,sans-serif;
  --t-display:-0.045em; --t-head:-0.03em; --t-body:-0.01em;
  --s-section:140px; --s-section-m:88px; --bp:1024px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);letter-spacing:var(--t-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-hover)}
button{font-family:inherit}
input,select,textarea{font-size:16px;font-family:inherit}
summary{list-style:none}summary::-webkit-details-marker{display:none}
input::placeholder,textarea::placeholder{color:var(--slate);opacity:1}
dc-if,dc-for{display:contents}
.nt-hs::-webkit-scrollbar{display:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Desktop / mobile layout switch (one file, CSS breakpoint) */
.only-m{display:none}
@media (max-width:1023px){ .only-d{display:none} .only-m{display:block} }
.only-d{max-width:1440px;margin:0 auto}
.only-d nav{max-width:calc(100vw - 32px)}
@media (min-width:1024px) and (max-width:1300px){ .only-d [style*="padding:140px 120px"],.only-d [style*="padding:160px 120px"]{padding-left:48px!important;padding-right:48px!important} }

/* Floating navbar (homepage: detaches on scroll) */
.nav-fixed{position:fixed;left:0;right:0;top:16px;z-index:2147483646;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(-12px);transition:opacity .3s ease-out,transform .3s ease-out}
.nav-fixed.show{opacity:1;transform:none;pointer-events:auto}
.nav-fixed nav{position:relative!important;left:auto!important;top:auto!important;transform:none!important;max-width:calc(100vw - 24px)}
.nav-fixed-m{top:12px;padding:0 12px}
.nav-fixed-m nav{width:100%!important}
@media (max-width:1023px){.nav-fixed-d{display:none}}
@media (min-width:1024px){.nav-fixed-m{display:none}}

/* Mobile menu sheet */
.menu-sheet{position:fixed;inset:0;z-index:2147483647;overflow-y:auto}
.menu-sheet[hidden]{display:none}
.menu-sheet > div{position:relative!important;min-height:100%}

/* Buttons & pills (for injected components) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--r-pill);font-size:16px;cursor:pointer;border:0;transition:background-color .15s}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-hover);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border:1px solid rgba(7,11,30,.15)}.btn-outline:hover{background:rgba(7,11,30,.04)}

/* Cookie banner + preferences */
.ck{position:fixed;z-index:2147483645;left:50%;bottom:24px;transform:translateX(-50%);width:min(960px,calc(100vw - 24px));background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.8);border-radius:var(--r-card);box-shadow:var(--glass-sh),0 16px 40px rgba(7,11,30,.12);padding:20px 24px;display:flex;align-items:center;gap:24px}
.ck[hidden]{display:none}
.ck h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em}
.ck p{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--slate)}
.ck-btns{display:flex;gap:10px;flex:none}
.ck-btns .btn{height:44px;padding:0 20px;font-size:15px;white-space:nowrap}
@media (max-width:767px){.ck{bottom:12px;flex-direction:column;align-items:stretch;gap:16px;padding:20px}.ck-btns{flex-direction:column}.ck-btns .btn{width:100%}}
.ckp{position:fixed;inset:0;z-index:2147483647;background:rgba(7,11,30,.32);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.ckp[hidden]{display:none}
@media (min-width:768px){.ckp{align-items:center}}
.ckp-card{width:min(560px,100%);background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-2);padding:28px}
.ckp-card h2{margin:0;font-size:22px;letter-spacing:-.03em}
.ckp-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--hair)}
.ckp-row b{display:block;font-size:16px}.ckp-row span{display:block;margin-top:2px;font-size:14px;line-height:1.45;color:var(--slate)}
.tg{position:relative;flex:none;width:51px;height:31px;border-radius:999px;background:#E2E7ED;border:0;cursor:pointer;transition:background .2s}
.tg::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(7,11,30,.2);transition:transform .2s ease-out}
.tg[aria-checked="true"]{background:var(--blue)}.tg[aria-checked="true"]::after{transform:translateX(20px)}
.tg:disabled{opacity:.6;cursor:default}

/* Form helpers (contact) */
.f-err{display:block;margin-top:6px;font-size:13px;color:var(--error)}
.is-err{box-shadow:inset 0 0 0 1px var(--error)!important;border-color:var(--error)!important}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-fadeup]{opacity:1!important;transform:none!important}}

/* launch fixes: full width, fixed nav, sticky works (overflow clip instead of hidden) */
html,body{overflow-x:clip!important}
.only-d{max-width:none!important;margin:0!important}
#page>.only-d>div[style*="position:sticky"][style*="top:0"],#page>.only-m>div[style*="position:sticky"][style*="top:0"]{position:fixed!important;left:0;right:0;top:0}
a.nt-logo{display:block;line-height:0}
.nt-lang{display:flex;align-items:center;gap:6px}
.nt-lang a{color:inherit;opacity:.45;font-weight:500}
.nt-lang a.on{opacity:1;font-weight:600}
.nt-lang a:hover{opacity:1}
/* launch footer */
.ntf{background:#070B1E;color:rgba(255,255,255,.62);font-size:14px;line-height:1.6;margin-top:0}
.ntf-in{max-width:1200px;margin:0 auto;padding:72px 32px 40px}
.ntf-top{display:grid;grid-template-columns:1.1fr 2.4fr;gap:56px}
.ntf-brand img{height:64px;width:auto;margin-left:-6px;display:block}
.ntf-motto{margin-top:14px;font-size:11px;font-weight:600;letter-spacing:.18em;color:rgba(255,255,255,.7)}
.ntf-txt{margin:16px 0 0;max-width:340px}
.ntf-cols{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.4fr;gap:24px}
.ntf-cols a,.ntf-cols span{display:block;color:rgba(255,255,255,.62);padding:3px 0;overflow-wrap:anywhere}
.ntf-cols a:hover{color:#fff}
.ntf-h{color:#fff;font-weight:600;font-size:14px;margin-bottom:10px}
.ntf-bot{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px}
.ntf-badge img{height:44px;width:auto;display:block;border-radius:6px}
@media (max-width:1023px){.ntf-in{padding:56px 20px 32px}.ntf-top{grid-template-columns:1fr;gap:40px}.ntf-cols{grid-template-columns:1fr 1fr;gap:28px 20px}.ntf-cols>div:last-child{grid-column:1/-1}}
/* toast */
.nt-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2147483647;max-width:min(560px,calc(100vw - 32px));background:#070B1E;color:#fff;padding:14px 18px;border-radius:16px;font-size:15px;line-height:1.45;box-shadow:0 12px 32px rgba(7,11,30,.25)}
.nt-toast a{color:#9CC9FF;font-weight:600}
