/* 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:absolute!important;inset:0;height:100dvh}

/* 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 build ---- */
html,body{overflow-x:clip!important}
.only-d{max-width:none!important;margin:0!important}
a.nt-logo{display:block;line-height:0}
.nav-fixed.nav-fixed-m{left:12px!important;right:12px!important;padding:0!important;box-sizing:border-box}
.nav-fixed nav{right:auto!important;bottom:auto!important}
.nav-fixed-m nav{width:100%!important;max-width:100%!important;margin:0!important;left:0!important;right:0!important}
.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}
.nobr{white-space:nowrap}
/* legal tables */
.lg-t{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px;line-height:1.5;color:#3A414C}
.lg-t th{text-align:left;font-weight:600;color:#070B1E;padding:10px 10px 10px 0;border-bottom:1px solid #E2E7ED;vertical-align:bottom}
.lg-t td{padding:12px 10px 12px 0;border-bottom:1px solid #E2E7ED;vertical-align:top}
.lg-c{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.lg-c>div{background:#FFFFFF;border:1px solid #E2E7ED;border-radius:16px;padding:16px}
.lg-c dl{margin:0;display:grid;gap:10px}.lg-c dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5A626E}.lg-c dd{margin:2px 0 0;font-size:15px;line-height:1.5;color:#3A414C}
.lg ul{margin:12px 0 0;padding-left:20px;font-size:17px;line-height:1.7;color:#3A414C}.lg li{margin-top:6px}
.lg p{margin:12px 0 0;font-size:17px;line-height:1.7;color:#3A414C}
/* blog article body */
.ab{font-size:17px;line-height:1.75;color:#3A414C}
.ab>:first-child{margin-top:0}
.ab p{margin:20px 0 0}
.ab h2{margin:56px 0 0;font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-0.03em;color:#070B1E;scroll-margin-top:120px}
.ab h3{margin:40px 0 0;font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-0.02em;color:#070B1E}
.ab ul,.ab ol{margin:20px 0 0;padding-left:22px}.ab li{margin-top:8px}.ab li::marker{color:#0071E3}
.ab strong{color:#070B1E;font-weight:600}
.ab p a,.ab li a,.ab td a{color:#0071E3;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ab blockquote{margin:40px 0 0;padding:4px 0 4px 24px;box-shadow:inset 3px 0 0 #0071E3;font-size:24px;line-height:1.35;font-weight:600;letter-spacing:-0.025em;color:#070B1E}
.ab blockquote p{margin:0}
.ab table{width:100%;border-collapse:collapse;margin:24px 0 0;font-size:15px;line-height:1.5}
.ab th{text-align:left;font-weight:600;color:#070B1E;padding:12px 12px 12px 0;border-bottom:1px solid #D5DBE3;vertical-align:bottom}
.ab td{padding:12px 12px 12px 0;border-bottom:1px solid #E2E7ED;vertical-align:top}
.ab-faq{margin-top:56px}.ab-faq details{border-bottom:1px solid #E2E7ED}.ab-faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;cursor:pointer;font-size:19px;font-weight:600;letter-spacing:-0.02em;color:#070B1E}
.ab-faq summary::after{content:"+";font-weight:400;font-size:24px;color:#5A626E;flex:none}.ab-faq details[open] summary::after{content:"–"}
.ab-faq p{margin:0 0 20px}
.ab-src{margin-top:48px;font-size:14px;line-height:1.6;color:#5A626E}.ab-src ol{padding-left:20px;margin:10px 0 0}.ab-src a{color:#5A626E}
.ab-toc{margin-top:32px;border:1px solid #E2E7ED;border-radius:20px;padding:20px 24px;background:#FFFFFF}
.ab-toc b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#070B1E;margin-bottom:8px}
.ab-toc a{display:block;padding:5px 0;font-size:15px;line-height:1.4;color:#5A626E;text-decoration:none}
.ab-toc a:hover{color:#0071E3}
@media (max-width:1023px){
 .ab h2{font-size:26px}.ab h3{font-size:20px}.ab blockquote{font-size:21px}
 .ab table,.ab thead,.ab tbody,.ab tr,.ab th,.ab td{display:block;width:auto}
 .ab thead{display:none}
 .ab tr{border:1px solid #E2E7ED;border-radius:16px;padding:6px 16px;margin-top:12px;background:#FFFFFF}
 .ab td{border-bottom:1px solid #EEF1F5;padding:10px 0}.ab td:last-child{border-bottom:0}
 .ab td[data-l]::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5A626E;margin-bottom:2px}
}
/* blog hub filters */
[data-blog-card][hidden]{display:none!important}
/* dropdown panels: near-opaque so text behind never shows through */
[data-nt-dd-panel]>div,.nt-lang-menu>div{background:#FFFFFF!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* audit sticky CTA */
.nt-marquee{padding-bottom:112px!important;background:linear-gradient(180deg,#F5F7FA 0%,#F5F7FA 40%,#FFFFFF 100%)}
@media (max-width:1023px){.nt-marquee{padding-bottom:64px!important}}
.nt-audit-sticky{position:fixed;right:24px;bottom:24px;z-index:2147482000;display:flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;background:#0071E3;color:#FFFFFF!important;font-size:16px;font-weight:500;letter-spacing:-0.01em;text-decoration:none;box-shadow:0 10px 30px rgba(0,113,227,0.35),0 2px 6px rgba(7,11,30,0.12);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1),background-color .15s}
.nt-audit-sticky.show{opacity:1;transform:none;pointer-events:auto}
.nt-audit-sticky:hover{background:#0077ED}
@media (max-width:1023px){.nt-audit-sticky{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));justify-content:center}}
/* language switch */
.nt-lang{position:relative}
.nt-lang-btn{display:flex;align-items:center;gap:6px;height:40px;padding:0 6px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.nt-lang-menu{position:absolute;top:100%;right:-8px;padding-top:10px;z-index:80;display:none}
.nt-lang.open .nt-lang-menu{display:block}
.nt-lang.up .nt-lang-menu{top:auto;bottom:100%;padding:0 0 10px}
.menu-sheet .nt-lang .nt-lang-menu{right:0}
.nt-lang-menu>div{min-width:180px;padding:8px;border-radius:20px;background:rgba(255,255,255,0.98);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,0.8);box-shadow:inset 0 1px 0 #FFFFFF,0 2px 6px rgba(7,11,30,0.06),0 20px 44px rgba(7,11,30,0.14)}
.nt-lang-menu a{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;font-size:15px;color:#070B1E!important}
.nt-lang-menu a:hover{background:rgba(7,11,30,0.05)}
.nt-lang-menu a.on{font-weight:600}
.nt-lang-menu a span{color:#5A626E;font-size:13px}
.nt-lang-row{display:flex;flex-wrap:wrap;gap:6px}
.nt-lang-row a{min-width:44px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:14px;color:#070B1E;border:1px solid #E2E7ED}
.nt-lang-row a.on{background:#070B1E;color:#FFFFFF;border-color:#070B1E}
footer .nt-lang-row a{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.2)}
footer .nt-lang-row a.on{background:#FFFFFF;color:#070B1E;border-color:#FFFFFF}
/* scroll reveal (simple, no layout shift) */
@media (prefers-reduced-motion:no-preference){
 .rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
 .rv.in{opacity:1;transform:none}
}
