/* CyberSentry AI site styles. Shared by the home page and the audience pages (moved out of index.html on 2026-10-13). */
@font-face{font-family:'Geist';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/geist-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/geist-mono-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --night-950:#04070F; --night-900:#070C18; --night-850:#0A1224; --night-800:#0E1A32; --night-700:#15243F; --night-600:#1D2F4F;
  --ink:#E8EEF8; --ink-2:#C7D2E4; --mute:#8696B3;
  --day-50:#F6F8FB; --day-100:#EDF1F7; --day-200:#DFE6F0; --ink-day:#0B1426; --mute-day:#4A5873;
  --blue:#3D7BFF; --blue-deep:#1F4FD8; --cyan:#5EE3FF; --ok:#4ADE80; --warn:#F2B349; --crit:#F56565; --ai:#A78BFA;
  --line:rgba(255,255,255,.09); --line-day:rgba(11,20,38,.10);
  --ease-out:cubic-bezier(0.23,1,0.32,1); --ease-in-out:cubic-bezier(0.77,0,0.175,1); --ease-soft:cubic-bezier(0.4,0,0.2,1);
  --max:1200px; --pad:clamp(16px,4vw,48px); --nav:64px;
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --serif:'Instrument Serif',Georgia,serif;
}
*{box-sizing:border-box}
/* Smooth only for in-page links, switched on after load: arriving on /#section from another page jumps straight there */
html.smooth{scroll-behavior:smooth}
html.rm{scroll-behavior:auto}
body{margin:0;background:var(--night-900);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.night{background:var(--night-900);color:var(--ink)}
.day{background:var(--day-50);color:var(--ink-day)}
.day .muted{color:var(--mute-day)} .night .muted{color:var(--mute)}
section{position:relative}
.sec{padding-top:clamp(72px,10vw,128px);padding-bottom:clamp(72px,10vw,128px)}
.eyebrow{font-family:var(--mono);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan)}
.day .eyebrow{color:var(--blue-deep)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.1}
h1{font-size:clamp(2.375rem,6.2vw,4rem);letter-spacing:-.032em;line-height:1.04}
h2{font-size:clamp(1.875rem,4.2vw,2.75rem);letter-spacing:-.025em}
h3{font-size:1.25rem;letter-spacing:-.01em}
p{margin:0}
.lead{font-size:clamp(1.0625rem,1.6vw,1.21875rem);max-width:40em}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.75rem;padding:3px 8px;border-radius:999px;border:1px solid currentColor;opacity:.8;white-space:nowrap}
.status{font-family:var(--mono);font-size:11px;padding:3px 8px;border-radius:999px;white-space:nowrap}
.st-avail{background:rgba(74,222,128,.14);color:#177A43}
.night .st-avail{color:var(--ok)}
.st-limit{background:rgba(242,179,73,.18);color:#95600b}
.st-prog{background:rgba(61,123,255,.14);color:var(--blue-deep)}
.st-plan{background:rgba(134,150,179,.18);color:var(--mute-day)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:12px 18px;font-weight:500;font-size:1rem;text-decoration:none;border:1px solid transparent;transition:transform 120ms var(--ease-out),background-color 200ms var(--ease-soft),border-color 200ms var(--ease-soft)}
.btn:active{transform:scale(.97)}
.btn-primary{background:#2563EB;color:#fff}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.day .btn-ghost{border-color:var(--line-day);color:var(--ink-day)}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:#1D4ED8}
  .btn-ghost:hover{border-color:rgba(255,255,255,.25)}
  .day .btn-ghost:hover{border-color:rgba(11,20,38,.3)}
}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}


/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(7,12,24,.78);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{height:var(--nav);display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.brand svg{flex:none}
.nav-links{display:flex;gap:18px;margin-left:12px;font-size:.9375rem;color:var(--ink-2)}
.nav-links a{text-decoration:none}
.nav-right{margin-left:auto;display:flex;gap:12px;align-items:center}
.nav .btn{padding:9px 14px;font-size:.875rem}
@media (max-width:1100px){.nav-links{display:none}}
.nav .btn{white-space:nowrap}
@media (max-width:520px){.nav .btn{display:none}.brand span{font-size:.9375rem}}

/* Hero */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,104px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,rgba(61,123,255,.18),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(32px,5vw,64px);align-items:center;position:relative}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.hero-grid>*,.home-grid>*,.fin-grid>*,.life>*{min-width:0}
.scene-top{gap:10px}
.scene-top>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pause{white-space:nowrap}
.hero h1{margin:16px 0 20px}
.hero .lead{color:var(--ink-2)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.inv-link{display:inline-block;margin-top:16px;font-size:.9375rem;color:var(--ink-2)}
.proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:32px;font-family:var(--mono);font-size:.8125rem;color:var(--mute)}
.proof span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-right:8px;vertical-align:1px;opacity:.8}

/* Scene frame */
.scene{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--night-850),var(--night-950));padding:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.scene-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:var(--mono);font-size:11.5px;color:var(--mute)}
.illus{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.day .illus{color:var(--mute-day);border-color:var(--line-day)}
.pause{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:4px 9px;font-size:.75rem;font-family:var(--mono);transition:transform 120ms var(--ease-out)}
.pause:active{transform:scale(.97)}
.rm .pause{display:none}

/* M6 globe */
.fin-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:900px){.fin-grid{grid-template-columns:1fr}}
.facts{margin-top:24px;font-family:var(--mono);font-size:.8125rem;color:var(--mute-day);display:flex;gap:6px 14px;flex-wrap:wrap}
.facts{flex-direction:column;gap:4px}
.founders{display:grid;gap:14px;margin-top:30px}
.founder{margin:0;display:flex;gap:14px;align-items:center}
.founder img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--night-900);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--day-200);flex:none}
.founder figcaption{display:flex;flex-direction:column;font-size:.9375rem;line-height:1.4}
.founder b{font-size:1rem;font-weight:600}
.founder .muted{font-size:.875rem}
.brand img{display:block;height:30px;width:auto}
@media (max-width:520px){.brand img{height:24px}}

.log-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
@media (max-width:860px){.log-list{grid-template-columns:1fr}}
.entry{border:1px solid var(--line-day);border-radius:16px;padding:20px;background:#fff}
.entry .meta{display:flex;gap:8px;align-items:center;font-family:var(--mono);font-size:.8125rem;color:var(--mute-day)}
.entry h3{font-size:1.03125rem;margin:10px 0 6px}
.entry p{font-size:.9375rem;color:var(--mute-day)}
.entry .ev{margin-top:12px;display:flex;gap:6px}
.ev span{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:6px;background:var(--day-100);color:var(--ink-day)}


/* Contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-grid>*{min-width:0}
.pilot-facts{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:1rem}
.pilot-facts li::before{content:"✓";color:var(--blue-deep);font-weight:600;margin-right:10px}
.cform{position:relative;background:#fff;border:1px solid var(--line-day);border-radius:18px;padding:clamp(20px,3vw,32px);display:grid;gap:14px}
.cform label{display:grid;gap:6px;font-size:.875rem;font-weight:500;color:var(--ink-day)}
.cform input,.cform select,.cform textarea{font:inherit;font-weight:400;font-size:1rem;color:var(--ink-day);background:var(--day-50);border:1px solid var(--day-200);border-radius:10px;padding:11px 12px;width:100%;transition:border-color 200ms var(--ease-soft),box-shadow 200ms var(--ease-soft)}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,123,255,.18)}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.cform .row2{grid-template-columns:1fr}}
.cform .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--mute-day);font-size:.875rem;line-height:1.45}
.cform .consent input{width:18px;height:18px;margin-top:1px;flex:none;padding:0}
.cform button{justify-self:start;border:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.day a{color:var(--blue-deep)}
footer{border-top:1px solid var(--line);padding:40px 0 56px;font-size:.875rem;color:var(--mute)}
footer .wrap{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}
footer .links{display:flex;gap:18px;flex-wrap:wrap}
footer a{text-decoration:none}

/* Reduced motion: only opacity transitions remain */
.rm *,.rm *::before,.rm *::after{animation-duration:0.01ms!important;animation-iteration-count:1!important}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Apple-design pass, 2026-09-29: press feedback, nav scroll edge and current section, form validation,
   reduced transparency and increased contrast */
html{-webkit-tap-highlight-color:transparent}
a:not(.btn):active{opacity:.6}
.node{transform-box:fill-box;transform-origin:center;transition:transform 120ms var(--ease-out)}
.node:active{transform:scale(.92)}
.nav{border-bottom-color:transparent;transition:border-color 200ms var(--ease-soft)}
.nav::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;pointer-events:none;background:linear-gradient(180deg,rgba(4,7,15,.28),rgba(4,7,15,0));opacity:0;transition:opacity 200ms var(--ease-soft)}
.nav.scrolled{border-bottom-color:var(--line)}
.nav.scrolled::after{opacity:1}
.nav-links a{position:relative;transition:color 200ms var(--ease-soft)}
.nav-links a[aria-current="true"]{color:var(--ink)}
.nav-links a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--cyan)}
.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-sep{flex:none;width:1px;height:16px;align-self:center;background:var(--line)}
.cform .req-note{margin:0;font-size:.8125rem;color:var(--mute-day)}
.cform label{align-content:start} /* an error under one field must not stretch its neighbour */
.cform .err{font-size:.8125rem;font-weight:500;color:#B42318;line-height:1.35}
.cform .err:empty{display:none}
.cform [aria-invalid="true"]{border-color:#D14343;box-shadow:0 0 0 3px rgba(209,67,67,.14)}
.cform .consent input[aria-invalid="true"]{outline:2px solid #D14343;outline-offset:2px}
.cform .form-status{margin:0;font-size:.875rem;font-weight:500;color:#B42318}
.cform .form-status:empty{display:none}
.cform button[disabled]{opacity:.7;cursor:progress}
@media (prefers-reduced-transparency:reduce){
  .nav{background:var(--night-900);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  :root{--mute:#B4C0D6;--mute-day:#2C3950;--line:rgba(232,238,248,.32);--line-day:rgba(11,20,38,.35)}
  .nav{background:var(--night-950);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:rgba(232,238,248,.45)}
  .nav::after{display:none}
  .cform input,.cform select,.cform textarea{border-color:#5B6B85}
  .tag,.illus{opacity:1}
}

/* CyberSentry AI Companion, 2026-10-03: entry points, disclosure dialog, request status */
button.btn-ghost{background:transparent}
.ai-band{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,28px) clamp(24px,4vw,40px);background:var(--night-850)}
.ai-band[hidden]{display:none}
.ai-band>div{min-width:0;flex:1 1 320px}
.ai-band h3{margin:10px 0 6px}
.ai-band p{color:var(--ink-2);max-width:40em}
.ai-band .btn{flex:none}
.linklike{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}
.ai-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--night-850);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.55);overscroll-behavior:contain}
.ai-dialog::backdrop{background:rgba(4,7,15,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ai-dialog[open]{animation:ai-in 220ms var(--ease-out)}
@keyframes ai-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.ai-body{position:relative;padding:clamp(24px,4vw,36px)}
.ai-body [data-ai-view]{display:grid;gap:16px}
.ai-body [data-ai-view][hidden]{display:none}
.ai-body h2{font-size:clamp(1.5rem,3vw,1.875rem);padding-right:44px}
.ai-lead{color:var(--ink-2)}
.ai-x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:10px;border:1px solid transparent;background:none;color:var(--mute);font-size:1.5rem;line-height:1;transition:color 200ms var(--ease-soft),border-color 200ms var(--ease-soft)}
.ai-facts{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:.9375rem;color:var(--ink-2)}
.ai-facts li{display:flex;gap:10px}
.ai-facts li::before{content:"✓";color:var(--cyan);font-weight:600}
.ai-note{font-size:.875rem;color:var(--mute);border-top:1px solid var(--line);padding-top:14px}
.ai-note a,.ai-note .linklike{color:var(--ink)}
.ai-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ai-actions .btn-primary{border:0}
.ai-spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--night-600);border-top-color:var(--cyan);animation:ai-spin 900ms linear infinite}
@keyframes ai-spin{to{transform:rotate(360deg)}}
.rm .ai-spin{border-top-color:var(--night-600);background:radial-gradient(circle,var(--cyan) 0 4px,transparent 5px)}
.ai-toast{position:fixed;left:16px;bottom:16px;z-index:1000;width:min(420px,calc(100vw - 32px));display:flex;gap:10px;align-items:flex-start;padding:14px 8px 14px 16px;border-radius:14px;background:var(--night-800);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.4);font-size:.9375rem}
.ai-toast[hidden]{display:none}
.ai-toast.bad{border-color:rgba(245,101,101,.55)}
.ai-toast p{flex:1}
.ai-toast a{color:var(--cyan)}
.ai-toast button{flex:none;width:32px;height:32px;margin-top:-6px;border:0;border-radius:8px;background:none;color:var(--mute);font-size:1.25rem;line-height:1}
@media (hover:hover) and (pointer:fine){
  .ai-x:hover{color:var(--ink);border-color:var(--line)}
  .ai-toast button:hover{color:var(--ink)}
}
@media (max-width:640px){
  .ai-dialog:modal{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;border-radius:0}
  .ai-body{min-height:100%;display:grid;align-content:center;padding:72px 20px 32px}
  .ai-actions .btn{flex:1 1 auto;justify-content:center}
  .ai-toast{top:calc(var(--nav) + 8px);bottom:auto;left:16px;width:calc(100vw - 32px)}
}
/* Floating launcher: CyberSentry cyan (--cyan) with --night-900 text (about 13:1 contrast), distinct from the
   blue "Join the pilot" button. It stands in for Tavus's own bubble while the companion is idle. */
.ai-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 18px 6px 6px;border-radius:999px;border:1px solid rgba(94,227,255,.45);background:var(--night-800);color:var(--ink);box-shadow:0 8px 24px rgba(4,7,15,.45);text-align:left;transition:transform 160ms var(--ease-out),box-shadow 200ms var(--ease-soft),opacity 200ms var(--ease-soft);animation:ai-fab-in 420ms var(--ease-out) 500ms backwards}
.ai-fab[hidden]{display:none}
.ai-fab img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:var(--night-700);box-shadow:0 0 0 2px var(--night-900)}
.ai-fab-text{display:grid;line-height:1.25}
.ai-fab-text b{font-weight:600;font-size:.9375rem}
.ai-fab-text small{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.75rem;color:var(--night-800)}
.ai-fab:active{transform:scale(.97)}
.ai-fab:focus-visible{outline:3px solid var(--night-900);outline-offset:2px;box-shadow:0 0 0 7px var(--ink),0 12px 32px rgba(4,7,15,.45)}
@keyframes ai-fab-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* the one-time attention glow (ai-companion.js adds it once, never with reduced motion) */
.ai-fab::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0}
.ai-fab.ai-fab-nudge::after{animation:ai-fab-glow 1.6s var(--ease-out) 1}
@keyframes ai-fab-glow{0%{opacity:.9;box-shadow:0 0 0 0 rgba(94,227,255,.65)}100%{opacity:0;box-shadow:0 0 0 18px rgba(94,227,255,0)}}
.rm .ai-fab.ai-fab-nudge::after{animation:none}
@media (prefers-reduced-motion:reduce){.ai-fab{animation:none}.ai-fab.ai-fab-nudge::after{animation:none}}
/* phones: steps aside while the contact form is on screen or a field has focus */
.ai-fab.ai-fab-away{opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden;transition:opacity 200ms var(--ease-soft),transform 200ms var(--ease-soft),visibility 0s 200ms}
.ai-fab-on footer{padding-bottom:112px} /* the launcher never covers the footer links */
/* Tavus's own bubble is hidden while the companion is idle and closed; our launcher stands in for it */
tavus-widget.cs-idle{display:none!important}
/* Hero: a lighter, secondary invitation below the pilot and how-it-works buttons */
.ai-mic{margin:-4px 0 0;font-size:.875rem;color:var(--ink-2)}
@media (hover:hover) and (pointer:fine){.ai-fab:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(7,12,24,.75),0 8px 28px rgba(94,227,255,.32),0 12px 32px rgba(4,7,15,.45)}}
/* Desktop: the disclosure opens in the same corner as the launcher and the Tavus panel */
@media (min-width:641px){
  .ai-dialog:modal{margin:0;inset:auto 20px 20px auto;max-height:calc(100dvh - 40px)}
  .ai-dialog::backdrop{background:rgba(4,7,15,.4);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (max-width:640px){.ai-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:48px;padding:5px 14px 5px 5px;gap:8px}.ai-fab img{width:36px;height:36px}.ai-fab-text b{font-size:.875rem}.ai-fab-text small{font-size:.6875rem}}

@media print{.ai-fab,.ai-toast{display:none!important}}
@media (prefers-contrast:more){
  .ai-dialog,.ai-band,.ai-toast{border-color:rgba(232,238,248,.45)}
  .ai-fab{box-shadow:0 0 0 2px var(--night-900),0 12px 32px rgba(4,7,15,.45)}
  .ai-fab-text small{color:var(--ink)}
  }

/* ---- 2026-10-06 revision: scope, product evidence, technical depth, fit, pilot, FAQ ---- */
.hero-note{margin-top:14px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--mute);max-width:40em}
.cap-legend{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.875rem;color:var(--mute-day)}
.cap-legend li{display:flex;align-items:center;gap:8px}
.caps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}
.caps>*{min-width:0}
.cap{background:#fff;border:1px solid var(--line-day);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.cap-top{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}
.cap-n{font-family:var(--mono);font-size:12px;color:var(--mute-day)}
.cap h3{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.cap p{font-size:.875rem;color:var(--mute-day);line-height:1.5}
.cap-planned{margin-top:16px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:.9375rem;color:var(--mute-day);border-top:1px dashed var(--line-day);padding-top:16px}
.cap-planned p{flex:1 1 320px}
.shots{margin-top:32px}
.shot-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;margin:0 -4px 18px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.shot-tabs [role=tab]{flex:0 0 auto;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font:inherit;font-size:.9375rem;cursor:pointer;transition:background-color 200ms var(--ease-soft),border-color 200ms var(--ease-soft),color 200ms var(--ease-soft)}
.shot-tabs [role=tab]:hover{border-color:rgba(255,255,255,.22);color:var(--ink)}
.shot-tabs [role=tab][aria-selected=true]{background:var(--night-800);border-color:var(--blue);color:var(--ink)}
.shot{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.shot+.shot{margin-top:28px}
.js-tabs .shot+.shot{margin-top:0}
.shot[hidden]{display:none}
.shot.tall{grid-template-columns:minmax(0,360px) minmax(0,1fr)}
.shot-img{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f1f3f6}
.shot-img img{display:block;width:100%;height:auto}
.shot figcaption{display:flex;flex-direction:column;gap:8px;font-size:.9375rem;color:var(--ink-2)}
.shot figcaption b{color:var(--ink);font-size:1.0625rem;font-weight:600}
.shot .real{align-self:flex-start;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ok);border:1px solid rgba(74,222,128,.35);border-radius:6px;padding:2px 6px}
.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.tech>*{min-width:0}
.tech-card{background:#fff;border:1px solid var(--line-day);border-radius:14px;padding:20px}
.tech-card h3{font-size:1.0625rem;margin-bottom:10px}
.tech-card ul{margin:0;padding-left:18px;display:grid;gap:7px;font-size:.9rem;color:var(--mute-day);line-height:1.5}
.now-next{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.now-next>div{border:1px solid var(--line-day);border-radius:14px;padding:20px;background:var(--day-100)}
.now-next h3{font-size:1rem;margin-bottom:6px}
.now-next p{font-size:.9375rem;color:var(--mute-day)}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.fit>*{min-width:0}
.fit-col{border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,32px);background:var(--night-850)}
.fit-col h3{margin-bottom:14px}
.fit-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--ink-2)}
.fit-col li{position:relative;padding-left:26px}
.fit-col li::before{position:absolute;left:0;top:0;font-weight:600}
.fit-col.yes li::before{content:"✓";color:var(--ok)}
.fit-col.no li::before{content:"–";color:var(--warn)}
.fit-split{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;margin-top:32px}
.fit-split p{margin-top:10px;color:var(--ink-2)}
.steps{list-style:none;counter-reset:st;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.steps>*{min-width:0}
.steps li{counter-increment:st;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px;background:var(--night-850)}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--cyan)}
.steps b{color:var(--ink)}
.steps span{font-size:.9rem;color:var(--ink-2)}
.pilot-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.pilot-grid>*{min-width:0;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,32px)}
.pilot-grid h3{margin-bottom:14px}
.price dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px}
.price dt{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--cyan);padding-top:3px}
.price dd{margin:0;color:var(--ink-2)}
.checkable ul{margin:0 0 14px;padding-left:18px;display:grid;gap:8px;color:var(--ink-2)}
.checkable a{color:var(--cyan)}
.checkable p{font-size:.9375rem}
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 48px;align-items:start}
.faq details{border-bottom:1px solid var(--line-day)}
.faq details:first-child{border-top:1px solid var(--line-day)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:500;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:13px;font-size:1.25rem;color:var(--blue-deep);transition:transform 200ms var(--ease-soft)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;color:var(--mute-day);max-width:60em}
html.rm .faq summary::after,html.rm .shot-tabs [role=tab]{transition:none}
@media (max-width:1100px){.caps{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.shot,.shot.tall{grid-template-columns:1fr}.shot.tall .shot-img{max-width:360px}.tech{grid-template-columns:1fr 1fr}.faq-wrap{grid-template-columns:1fr}}
@media (max-width:760px){.fit,.fit-split,.pilot-grid,.now-next{grid-template-columns:1fr}.caps{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.caps,.tech,.steps{grid-template-columns:1fr}.price dl{grid-template-columns:1fr;gap:2px}.price dd{margin-bottom:10px}}
/* ---- 2026-10-06 pass 2: shorter page, evidence first, mobile navigation, viewer ---- */
section[id],#cases,#technical-details,#doors{scroll-margin-top:calc(var(--nav) + 12px)}
.anchor{position:absolute;top:0}
#pilot{position:relative}
.sec-tight{padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px)}
.hero-facts{margin-top:16px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink-2);max-width:44em;line-height:1.6}
.hero-pilot{margin-top:14px;font-size:.9375rem;color:var(--ink-2)}
.hero .cta-row{margin-top:24px}
/* scope and control */
.flow{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:none}
.flow>*{min-width:0}
.flow-step{position:relative;background:#fff;border:1px solid var(--line-day);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px}
.flow-step:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:22px;width:12px;text-align:center;color:var(--blue-deep);font-weight:600}
.flow-n{font-family:var(--mono);font-size:12px;color:var(--mute-day)}
.flow-step h3{font-size:1.125rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.flow-who{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--blue-deep)}
.flow-step p{font-size:.9375rem;color:var(--mute-day)}
.flow-step .flow-out{margin-top:auto;font-family:var(--mono);font-size:12px;color:#177A43;padding-top:8px;border-top:1px dashed var(--line-day)}
.flow-step .flow-out::before{content:"✓ ";font-weight:600}
#how .honest{max-width:880px}
/* product */
.shot-img{position:relative}
.shot-zoom{position:absolute;right:10px;top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;padding:4px 8px;border-radius:6px;background:rgba(7,12,24,.82);color:var(--ink);border:1px solid var(--line)}
.shot-img:hover .shot-zoom,.shot-img:focus-visible .shot-zoom{background:var(--blue);border-color:var(--blue)}
.shot-note{margin-top:18px;font-size:.875rem;color:var(--mute)}
/* capabilities: examples */
.cases-title{margin:40px 0 0;font-size:1.125rem}
.cases-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}
.cases-row>*{min-width:0}
.case-mini{border:1px solid var(--line-day);border-radius:14px;padding:16px;background:var(--day-100);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.case-mini h4{font-size:1rem}
.case-mini p{font-size:.875rem;color:var(--mute-day);line-height:1.5}
/* technical (night) */
.data-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:12px}
.bounds{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--ink-2);font-size:.9375rem}
.bounds li{position:relative;padding-left:22px}
.bounds li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--cyan);opacity:.85}
.data-scene{margin:0}
.data-scene svg{width:100%;height:auto;display:block}
.data-scene .dl{font-family:var(--mono);font-size:12px;fill:var(--mute);letter-spacing:.06em}
.data-scene .box{fill:#0E1A32;stroke:#1D2F4F}
.data-scene .box.opt{stroke-dasharray:4 3;stroke:#3a5279}
.data-scene .core{fill:#0E1A32;stroke:#5EE3FF;stroke-width:1.5}
.data-scene .out{fill:transparent;stroke:#8696B3;stroke-dasharray:5 4}
.data-scene .bt{font-family:var(--sans);font-size:13px;fill:#E8EEF8}
.data-scene .bt.b{font-weight:600}
.data-scene .st{font-family:var(--mono);font-size:10.5px;fill:#8696B3}
.data-scene .lt{font-family:var(--mono);font-size:10.5px;fill:#5EE3FF}
.data-scene .ln{fill:none;stroke:#5EE3FF;stroke-width:1.6;opacity:.8}
.data-scene .ext{fill:none;stroke:#8696B3;stroke-width:1.4;stroke-dasharray:5 4}
.data-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-family:var(--mono);font-size:11.5px;color:var(--mute)}
.data-key i{display:inline-block;width:18px;height:0;vertical-align:middle;margin-right:6px}
.data-key .k-in{border-top:2px solid var(--cyan)}
.data-key .k-out{border-top:2px dashed var(--mute)}
#technical .tech-card{background:var(--night-850);border-color:var(--line)}
#technical .tech-card h3{color:var(--ink)}
#technical .tech-card ul{color:var(--ink-2)}
#technical .now-next>div{background:var(--night-800);border-color:var(--line)}
#technical .now-next p{color:var(--ink-2)}
#technical .tech{margin-top:36px}
#technical .linklike{color:var(--cyan)}
/* fit (day) */
.plain{margin:0;padding-left:18px;display:grid;gap:8px}
#pilot .plain{color:var(--ink-2)}
.ai-band-day{margin-top:32px;background:var(--night-900);color:var(--ink)}
.ai-band-day .eyebrow{color:var(--cyan)}
.ai-band-day p{margin-top:8px}
/* pilot */
.pilot-cta{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
/* company */
.investor{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;border:1px solid var(--line-day);border-radius:14px;padding:16px 18px;background:#fff}
.investor>div{display:grid;gap:2px}
/* mobile and tablet navigation */
.menu-btn{display:none;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.875rem;cursor:pointer}
.menu-ico{position:relative;width:16px;height:2px;background:currentColor;border-radius:2px}
.menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;border-radius:2px;transition:transform 200ms var(--ease-soft)}
.menu-ico::before{top:-5px}.menu-ico::after{top:5px}
.menu-btn[aria-expanded="true"] .menu-ico{background:transparent}
.menu-btn[aria-expanded="true"] .menu-ico::before{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-ico::after{transform:translateY(-5px) rotate(-45deg)}
.mnav{border-top:1px solid var(--line);background:rgba(7,12,24,.97)}
.mnav[hidden]{display:none}
.nav .mnav .wrap{height:auto;display:grid;align-items:stretch;gap:2px;padding-top:10px;padding-bottom:16px;max-height:calc(100vh - var(--nav));overflow-y:auto}
.mnav a:not(.btn){display:flex;align-items:center;min-height:46px;padding:0 4px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:1rem}
.mnav a[aria-current]{color:var(--cyan)}
.nav .mnav .btn{display:inline-flex;justify-self:start;margin-top:12px}
@media (max-width:1100px){.menu-btn{display:inline-flex}}
@media (max-width:640px){.nav .nav-cta{display:none}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menu-btn{padding:8px 11px}.nav .wrap{gap:10px}.nav-right{gap:8px}}
@media (max-width:380px){.brand img{height:22px}}
@media (min-width:1101px){.mnav{display:none!important}}
/* product screen viewer */
.viewer{width:min(1240px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--night-900);color:var(--ink);overflow:hidden}
.viewer[open]{display:flex;flex-direction:column}
.viewer::backdrop{background:rgba(4,7,15,.82)}
.viewer-bar{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line)}
.viewer-title{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viewer-file{font-size:.875rem;color:var(--cyan)}
.viewer-close{min-height:40px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--night-800);color:var(--ink);font:inherit;cursor:pointer}
.viewer-img{overflow:auto;flex:1 1 auto;min-height:0;background:#f1f3f6;-webkit-overflow-scrolling:touch}
.viewer-img img{display:block;width:100%;height:auto;max-width:1600px;margin:0 auto}
.viewer-img img.tall{width:auto;max-width:100%;max-height:none}
.viewer-cap{padding:12px 18px 16px;font-size:.9375rem;color:var(--ink-2);border-top:1px solid var(--line)}
@media (max-width:760px){.viewer-img img:not(.tall){width:1100px;max-width:none}.viewer-file{display:none}}
/* floating AI launcher: compact, labelled AI, steps aside from forms, footer and dialogs */
.ai-fab{position:fixed}
.ai-fab-badge{position:absolute;left:34px;top:4px;font-family:var(--mono);font-size:9.5px;font-weight:600;line-height:1;padding:2px 4px;border-radius:5px;background:var(--night-900);color:var(--cyan);border:1px solid var(--cyan)}
html.fab-clear .ai-fab{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 200ms var(--ease-soft),visibility 0s 200ms}
@media (max-width:640px){.ai-fab-on main section:last-of-type{padding-bottom:96px}}
/* layout */
@media (max-width:1100px){.flow{grid-template-columns:repeat(2,1fr)}.flow-step:nth-child(2)::after{display:none}.cases-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.data-grid{grid-template-columns:1fr}}
@media (max-width:640px){.flow{grid-template-columns:1fr}.flow-step::after{display:none}.cases-row{grid-template-columns:1fr}.investor .btn{width:100%;justify-content:center}}
@media (max-width:760px){.cases-row{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.cases-row{grid-template-columns:1fr}}
/* ---- 2026-10-06 final: badges, labelled AI launcher, viewer sizing, compact findings ---- */
.cap-tags{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.st-tag{background:rgba(11,20,38,.05);color:var(--ink-day);border:1px solid var(--line-day)}
.cap-top .status,.case-mini .status{white-space:normal;text-align:left}
/* typical findings: disclosures, open on wide screens, collapsed on phones */
.case-mini summary{list-style:none;display:flex;flex-direction:column;gap:8px;align-items:flex-start;cursor:default}
.case-mini summary::-webkit-details-marker{display:none}
.case-mini>p{margin-top:8px}
@media (max-width:640px){
  .cases-row{grid-template-columns:1fr;gap:8px}
  .case-mini{padding:12px 14px}
  .case-mini summary{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;cursor:pointer;min-height:44px;padding-right:28px;position:relative}
  .case-mini summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--blue-deep)}
  .case-mini[open] summary::after{content:"\2013"}
}
/* AI launcher: labelled, restrained, no pulse */
.ai-fab{gap:10px;padding:6px 18px 6px 6px;min-height:56px;animation:none}
.ai-fab img{width:44px;height:44px}
.ai-fab-badge{left:36px;top:4px}
.ai-fab-text{display:grid;line-height:1.3}
.ai-fab-text b{color:var(--ink);font-size:.9375rem;font-weight:600}
.ai-fab-text small{display:block;font-family:var(--mono);font-size:.75rem;color:var(--ink-2)}
.ai-fab-narrow{display:none}
.ai-fab:hover{border-color:var(--cyan)}
.ai-fab:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:0 8px 24px rgba(4,7,15,.45)}
.ai-fab.ai-fab-nudge::after{animation:none}
@media (max-width:640px){
  .ai-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:44px;padding:4px 14px 4px 4px;gap:8px}
  .ai-fab img{width:36px;height:36px}
  .ai-fab-badge{left:29px;top:1px}
  .ai-fab-wide{display:none}
  .ai-fab-narrow{display:grid}
  .ai-fab-narrow b{font-size:.875rem}
}
/* screenshot viewer: Fit to screen first, then Actual size with sideways scrolling */
.viewer-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px 8px 18px;border-bottom:1px solid var(--line)}
.viewer-modes{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px}
.viewer-modes button{background:none;border:0;color:var(--ink-2);padding:7px 12px;border-radius:999px;font:inherit;font-size:.875rem;min-height:36px;cursor:pointer}
.viewer-modes button[aria-pressed="true"]{background:var(--night-700);color:var(--ink)}
.viewer-hint{font-size:.8125rem;color:var(--mute)}
.viewer-tools .viewer-file{margin-left:auto;display:inline}
.viewer-img.fit{display:flex;align-items:center;justify-content:center;overflow:hidden}
.viewer-img.fit img,.viewer-img.fit img.tall,.viewer-img.fit img:not(.tall){width:auto;height:auto;max-width:100%;max-height:calc(100vh - 250px);margin:0 auto}
.viewer-img.actual{display:block;overflow:auto}
.viewer-img.actual img,.viewer-img.actual img.tall,.viewer-img.actual img:not(.tall){width:auto;height:auto;max-width:none;max-height:none;margin:0}
@supports (height:100dvh){.viewer-img.fit img,.viewer-img.fit img.tall,.viewer-img.fit img:not(.tall){max-height:calc(100dvh - 250px)}}
@media (max-width:640px){.viewer-bar{padding:8px 10px 8px 14px}.viewer-tools{padding:8px 10px 8px 14px}.viewer-cap{font-size:.875rem;padding:10px 14px 14px}}
/* viewer: fixed height so Fit to screen always shows the whole capture */
.viewer[open]{height:calc(100vh - 24px)}
@supports (height:100dvh){.viewer[open]{height:calc(100dvh - 24px)}}
.viewer-img.fit{position:relative;display:block;overflow:hidden}
.viewer-img.fit img,.viewer-img.fit img.tall,.viewer-img.fit img:not(.tall){position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0}
@supports (height:100dvh){.viewer-img.fit img,.viewer-img.fit img.tall,.viewer-img.fit img:not(.tall){max-height:none}}
/* launcher steps back when it would cover links, captions or form controls: first to the labelled avatar, then aside */
/* Compact launcher without a layout shift: the box keeps its full size; compact clips it to the avatar circle and slides
   that circle into the corner with a transform (clip-path and transform are not layout shifts; clip-path also limits the
   clickable area to the circle). site.js sets --fab-h and --fab-shift from the full size. Keyboard focus shows it in full. */
.ai-fab{transition:transform 180ms var(--ease-out),clip-path 180ms var(--ease-out),box-shadow 200ms var(--ease-out),border-color 200ms var(--ease-out)}
.ai-fab.ai-fab-compact:not(:focus-visible){clip-path:inset(-8px calc(100% - var(--fab-h,56px) - 12px) -18px -12px);transform:translateX(var(--fab-shift,0px));transform-origin:calc(var(--fab-h,56px) / 2) 50%;background:transparent;border-color:transparent;box-shadow:none}
.ai-fab.ai-fab-compact:not(:focus-visible)::before{content:"";position:absolute;left:-1px;top:-1px;z-index:-1;width:var(--fab-h,56px);height:var(--fab-h,56px);border-radius:50%;background:var(--night-800);box-shadow:inset 0 0 0 1px rgba(94,227,255,.45),0 5px 11px rgba(4,7,15,.45);pointer-events:none}
.ai-fab.ai-fab-compact:not(:focus-visible) .ai-fab-text{opacity:0}
.ai-fab.ai-fab-compact:not(:focus-visible):active{transform:translateX(var(--fab-shift,0px)) scale(.97)}
@media (hover:hover) and (pointer:fine){.ai-fab.ai-fab-compact:not(:focus-visible):hover{transform:translateX(var(--fab-shift,0px)) translateY(-2px)}.ai-fab.ai-fab-compact:not(:focus-visible):hover::before{box-shadow:inset 0 0 0 1px var(--cyan),0 5px 11px rgba(94,227,255,.28)}}
@media (prefers-reduced-motion:reduce){.ai-fab{transition:none}}
.ai-fab.ai-fab-tucked{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms var(--ease-soft),visibility 0s 150ms}
.case-mini .cap-tags{justify-content:flex-start}

/* ---- 2026-10-13 growth revision: problem-led hero, one-incident walkthrough, Ask CyberSentry, audience pages ---- */
::selection{background:rgba(94,227,255,.28);color:inherit}
.day ::selection{background:rgba(31,79,216,.18)}
html{scrollbar-color:var(--night-600) var(--night-900)}
.night .st-limit{color:var(--warn)}
.night .st-plan{color:var(--ink-2)}
.night .st-tag{color:var(--ink);border:1px solid var(--line);background:rgba(255,255,255,.04)}
.sec-head{max-width:46rem}
.sec-head h2{margin-bottom:14px}
.sec-head p{max-width:40em}
.night .sec-head p{color:var(--ink-2)}
.day .sec-head p{color:var(--mute-day)}

/* hero */
.hero{padding-top:clamp(40px,5vw,72px)}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.hero h1{margin:0 0 20px;max-width:13em;font-size:clamp(2.25rem,4.1vw,3.375rem);text-wrap:balance}
.hero .lead{max-width:33em;text-wrap:pretty}
.hero-scope{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.875rem;color:var(--ink-2)}
.hero-scope li{position:relative;padding-left:14px}
.hero-scope li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--cyan)}
.hero .cta-row{margin-top:28px}
.hero-shot{margin:0}
.frame{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--night-850);padding:10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.frame img{display:block;width:100%;height:auto;border-radius:9px}
.hero-shot .real{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ok);border:1px solid rgba(74,222,128,.35);border-radius:6px;padding:2px 6px;margin-right:8px;white-space:nowrap}
.hero-shot figcaption{margin-top:12px;font-size:.8125rem;color:var(--mute)}

/* problem */
.gap3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin:44px 0 0;padding:0;list-style:none}
.gap3 li{border-top:1px solid var(--line-day);padding-top:20px}
.gap3 h3{font-size:1.125rem;margin-bottom:8px}
.gap3 p{color:var(--mute-day);font-size:.9375rem}
.answer{margin-top:44px;max-width:38em;font-size:clamp(1.125rem,1.7vw,1.3125rem);line-height:1.45;letter-spacing:-.01em;font-weight:500;text-wrap:pretty}
.answer a{white-space:nowrap}
@media (max-width:760px){.gap3{grid-template-columns:1fr;gap:20px}}

/* one-incident walkthrough */
.wt{display:grid;grid-template-columns:264px minmax(0,1fr);gap:clamp(20px,3vw,44px);margin-top:40px;align-items:start}
.wt-steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.wt-steps button{width:100%;text-align:left;display:grid;grid-template-columns:26px 1fr;gap:2px 8px;align-items:baseline;padding:12px 14px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ink-2);transition:background-color 200ms var(--ease-soft),border-color 200ms var(--ease-soft),color 200ms var(--ease-soft),transform 120ms var(--ease-out)}
.wt-steps button:active{transform:scale(.98)}
.wt-steps .n{font-family:var(--mono);font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.wt-steps b{font-weight:600}
.wt-steps small{grid-column:2;font-size:.8125rem;color:var(--mute)}
.wt-steps button[aria-selected=true]{background:var(--night-800);border-color:var(--night-600);color:var(--ink)}
.wt-steps button[aria-selected=true] .n{color:var(--cyan)}
@media (hover:hover) and (pointer:fine){.wt-steps button:hover{color:var(--ink)}}
.wt-panel{margin:0}
.wt-panel+.wt-panel{margin-top:40px}
.js-wt .wt-panel+.wt-panel{margin-top:0}
.wt-panel[hidden]{display:none}
.wt-shot{position:relative;display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#20222e}
.wt-shot img{display:block;width:100%;height:auto}
.wt-shot.tall{max-width:300px;margin:0 auto;background:#2b2b2e}
.wt-hl{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border:2px solid var(--cyan);border-radius:8px;box-shadow:0 0 0 100vmax rgba(4,7,15,.42);pointer-events:none}
.wt-text{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 32px;align-items:start;margin-top:20px}
.wt-text h3{font-size:1.25rem;margin-bottom:8px}
.wt-text p{color:var(--ink-2);max-width:40em}
.wt-text .wt-tag{display:inline-block;margin-bottom:10px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ok)}
.wt-ctl{display:flex;gap:8px}
.wt-ctl .btn{padding:10px 14px;font-size:.9375rem}
.wt-ctl [hidden]{display:none}
.wt-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;font-size:.9375rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:20px}
.wt-foot a{color:var(--cyan)}
.no-js-hide{display:none}
.js-wt .no-js-hide{display:flex}
@media (max-width:900px){
  .wt{grid-template-columns:1fr}
  .wt-steps{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .wt-steps button{grid-template-columns:auto auto;min-height:44px;padding:10px 14px;border-color:var(--line)}
  .wt-steps small{display:none}
  .wt-text{grid-template-columns:1fr}
}

/* value */
.values{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}
.values li{border-top:1px solid var(--line-day);padding-top:20px}
.values h3{font-size:1.125rem;margin-bottom:8px}
.values p{color:var(--mute-day);font-size:.9375rem}
.note{margin-top:32px;font-size:.875rem;color:var(--mute-day);max-width:52em}
.night .note{color:var(--mute)}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.values{grid-template-columns:1fr;gap:24px}}

/* capabilities, compact */
.capgrid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 28px}
.capgrid li{padding:16px 0 18px;border-top:1px solid var(--line);display:grid;gap:6px;align-content:start}
.capgrid .row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.capgrid b{font-weight:600}
.capgrid p{font-size:.875rem;color:var(--ink-2);line-height:1.5}
.capgrid .status{white-space:nowrap}
.cap-h{margin-top:56px;font-size:1.375rem}
.planned-line{margin-top:20px;font-size:.9375rem;color:var(--ink-2);max-width:60em}
.planned-line .status{margin-right:8px}

/* disclosure: progressive detail instead of a depth switch */
.more{margin-top:28px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.015)}
.more>summary{cursor:pointer;list-style:none;padding:14px 20px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px}
.more>summary::-webkit-details-marker{display:none}
.more>summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--cyan);border-bottom:2px solid var(--cyan);transform:translateY(-3px) rotate(45deg);transition:transform 200ms var(--ease-out)}
.more[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.more-body{padding:0 20px 20px}
.more-body>.tech{margin-top:4px}
.day .more{border-color:var(--line-day);background:#fff}
.day .more>summary::after{border-color:var(--blue-deep)}
.capdetail{margin:0;padding-left:18px;display:grid;gap:8px;font-size:.9rem;color:var(--ink-2)}
.capdetail b{color:var(--ink)}

/* control */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;margin-top:40px}
.duo>div{border-top:1px solid var(--line-day);padding-top:20px}
.duo h3{font-size:1.125rem;margin-bottom:8px}
.duo p{color:var(--mute-day)}
.honest{margin-top:28px;font-size:.9375rem;color:var(--mute-day);max-width:62em}
@media (max-width:760px){.duo{grid-template-columns:1fr}}

/* environments and audiences */
.fitgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px clamp(28px,5vw,72px);margin-top:40px}
.fitgrid h3{font-size:1.125rem;margin-bottom:14px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:26px;color:var(--mute-day)}
.checks li::before{content:"";position:absolute;left:3px;top:.42em;width:10px;height:5px;border-left:2px solid #177A43;border-bottom:2px solid #177A43;transform:rotate(-45deg)}
.night .checks li{color:var(--ink-2)}
.night .checks li::before{border-color:var(--ok)}
.findings{margin:0;padding:0;list-style:none;display:grid;gap:0}
.findings li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;border-top:1px solid var(--line-day)}
.findings li:last-child{border-bottom:1px solid var(--line-day)}
.findings b{font-weight:600}
.findings p{grid-column:1/-1;font-size:.9rem;color:var(--mute-day)}
.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:48px}
.route{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line-day);border-radius:14px;background:#fff;text-decoration:none;transition:border-color 200ms var(--ease-soft),transform 120ms var(--ease-out)}
.day a.route{color:var(--ink-day)}
.route b{font-weight:600}
.route b::after{content:" \2192";color:var(--blue-deep)}
.route span{font-size:.875rem;color:var(--mute-day)}
.route:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.route:hover{border-color:var(--blue-deep)}}
@media (max-width:900px){.fitgrid{grid-template-columns:1fr}.routes{grid-template-columns:1fr}}

/* Ask CyberSentry */
#ask.night{background:radial-gradient(70% 90% at 0% 0%,rgba(61,123,255,.13),transparent 62%),var(--night-900)}
/* AI companion: hero entry and featured panel (UX corrections 2026-10-13). The avatar source is 112 px: never show it above 56 px */
.ask{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:36px clamp(32px,6vw,88px);align-items:center}
.ask h2{margin-bottom:14px}
.ask .lead{color:var(--ink-2)}
.day .ask .lead{color:var(--mute-day)}
.ask-how{margin:28px 0 0;display:grid;gap:14px}
.ask-how div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:4px 20px;padding-top:14px;border-top:1px solid var(--line)}
.day .ask-how div{border-top-color:var(--line-day)}
.ask-how dt{font-weight:600}
.ask-how dd{margin:0;color:var(--ink-2)}
.day .ask-how dd{color:var(--mute-day)}
.night .ask-how a{color:var(--cyan)}
@media (max-width:560px){.ask-how div{grid-template-columns:1fr}}
.ask-av{position:relative;flex:none;display:block}
.ask-av img{display:block;width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--night-900),0 0 0 3px rgba(94,227,255,.6)}
.ask-av .ai-fab-badge{left:auto;right:-9px;top:-5px}
.ask-panel{background:var(--night-850);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:0 30px 60px -30px rgba(4,7,15,.55)}
.night .ask-panel{background:var(--night-800);border-color:rgba(94,227,255,.22)}
.ask-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ask-panel .ask-av img{width:56px;height:56px}
.ask-who{display:grid;line-height:1.3}
.ask-who b{font-size:1.0625rem;font-weight:600}
.ask-who span{font-size:.875rem;color:var(--ink-2)}
.ask-modes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}
.ask-modes li{font-size:.8125rem;line-height:1.2;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}
.ask-pick{margin:20px 0 12px;color:var(--ink-2);font-size:.9375rem}
.qs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.qs a,.day .qs a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);color:var(--ink);text-decoration:none;font-weight:500;transition:border-color 200ms var(--ease-soft),background-color 200ms var(--ease-soft),transform 120ms var(--ease-out)}
.qs a::after{content:"";flex:none;width:8px;height:8px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan);transform:rotate(45deg);transition:transform 200ms var(--ease-out)}
.qs a:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.qs a:hover{border-color:rgba(94,227,255,.55);background:rgba(94,227,255,.07)}.qs a:hover::after{transform:translateX(3px) rotate(45deg)}}
.ask-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px}
.ask-go p{margin:0;flex:1 1 220px;font-size:.875rem;line-height:1.45;color:var(--ink-2)}
.hero-ask,.day .hero-ask{display:inline-flex;box-sizing:border-box;align-items:center;gap:12px;min-height:52px;padding:6px 18px 6px 7px;border-radius:12px;border:1px solid rgba(94,227,255,.38);background:rgba(94,227,255,.06);color:var(--ink);text-decoration:none;transition:border-color 200ms var(--ease-soft),background-color 200ms var(--ease-soft),transform 120ms var(--ease-out)}
.hero-ask:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.hero-ask:hover{border-color:rgba(94,227,255,.7);background:rgba(94,227,255,.11)}}
.hero-ask-t{display:grid;line-height:1.25;text-align:left}
.hero-ask-t b{font-size:1rem;font-weight:600}
.hero-ask-t small{font-size:.8125rem;color:var(--ink-2)}
@media (max-width:900px){.ask{grid-template-columns:1fr}}
@media (max-width:520px){.hero .cta-row>*{width:100%}.hero .cta-row .btn{justify-content:center}}
.ai-q{margin:14px 0 2px;padding:12px 14px;border-radius:10px;background:rgba(94,227,255,.07);border:1px solid rgba(94,227,255,.3);font-size:.9375rem;color:var(--ink)}
.ai-q[hidden]{display:none}
.ai-q span{display:block;font-size:.75rem;color:var(--ink-2);margin-bottom:3px}
.ai-q b{display:block}
.ai-q small{display:block;margin-top:6px;font-size:.8125rem;color:var(--ink-2)}
.ai-q .linklike{color:var(--cyan);cursor:pointer}

/* pilot on a light section */
.day .steps li{background:#fff;border-color:var(--line-day)}
.day .steps li::before{color:var(--blue-deep)}
.day .steps b{color:var(--ink-day)}
.day .steps span{color:var(--mute-day)}
.day .pilot-grid>*{border-color:var(--line-day);background:#fff}
.day .price dt{color:var(--blue-deep)}
.day .price dd{color:var(--mute-day)}
.day .plain{color:var(--mute-day)}

/* company */
.co-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.co-grid{grid-template-columns:1fr}}
.co-grid .founders{margin-top:0}
#company .checkable{margin-top:36px;border:1px solid var(--line-day);border-radius:16px;padding:clamp(18px,3vw,28px);background:#fff}
#company .checkable h3{margin-bottom:12px}
#company .checkable ul{color:var(--mute-day)}
.bt-day{border-top:1px solid var(--line-day)}

/* contact form: only what a first reply needs is required */
.cform details.opt{border:1px dashed var(--day-200);border-radius:10px;padding:0 14px}
.cform details.opt>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;font-size:.875rem;font-weight:500;color:var(--blue-deep)}
.cform details.opt>summary::-webkit-details-marker{display:none}
.cform details.opt[open]{padding-bottom:14px}
.cform details.opt .opt-body{display:grid;gap:14px}

/* audience pages */
.lp-hero h1{max-width:14em}
.side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:40px}
.side>div{border:1px solid var(--line-day);border-radius:16px;padding:clamp(20px,3vw,28px);background:#fff}
.side h3{font-size:1.0625rem;margin-bottom:12px}
.night .side>div{border-color:var(--line);background:var(--night-850)}
@media (max-width:760px){.side{grid-template-columns:1fr}}
.say{margin-top:40px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;max-width:40em;color:var(--ink-2);font-size:1.0625rem}
.say b{display:block;color:var(--ink);margin-bottom:4px;font-size:.8125rem;font-family:var(--mono);font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.crumbs{font-size:.875rem;color:var(--mute);margin-bottom:18px}
.crumbs a{color:var(--ink-2)}
.day a.btn-primary,.day .btn-primary{color:#fff}
.day a.btn-ghost{color:var(--ink-day)}
.day#pilot .plain,#pilot.day .plain{color:var(--mute-day)}
.night .values li,.night .duo>div,.night .gap3 li{border-color:var(--line)}
.night .values p,.night .duo p,.night .gap3 p{color:var(--ink-2)}
.lp-hero .hero-shot figcaption a{white-space:nowrap}
.lp-hero h1{font-size:clamp(2.125rem,3.5vw,3rem);max-width:15em}

/* Home hero (fourth pass, 2026-10-13; scene 2026-10-14): headline beside an animated illustration of the recorded lab
   run (.hscene below). The real recording opens in a player dialog from the main button and the scene caption. */
.hv-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:"copy video" "scope video";grid-template-rows:auto auto;row-gap:0;align-items:center}
.hv-grid>.hv-copy{grid-area:copy;align-self:end}
.hv-grid>.hero-scene{grid-area:video;min-width:0}
.hv-grid>.hero-scope{grid-area:scope;align-self:start}
.hero-for{margin:14px 0 0;font-size:1rem;font-weight:500;color:var(--ink)}
.hero-ask.hero-ask-quiet{min-height:48px;gap:14px;padding:6px 16px 6px 8px;border-color:var(--line);background:transparent}
.hero-ask-quiet .ask-av img{width:32px;height:32px}
.hero-ask-quiet .ai-fab-badge{transform:scale(.85)}
.hero-ask-quiet .hero-ask-t b{font-size:.9375rem;font-weight:500;color:var(--ink-2)}
@media (hover:hover) and (pointer:fine){.hero-ask.hero-ask-quiet:hover{border-color:rgba(94,227,255,.45);background:rgba(94,227,255,.05)}.hero-ask-quiet:hover .hero-ask-t b{color:var(--ink)}}
/* Hero scene: nine servers are scanned, one finding opens into its card, it is approved, fixed, checked and recorded.
   An illustration of the recorded lab run, not product UI. Without JS or with reduced motion it shows the end state. */
.hscene{margin:0;position:relative;border:1px solid rgba(94,227,255,.22);border-radius:18px;background:linear-gradient(180deg,var(--night-850),var(--night-950));padding:14px 14px 12px;box-shadow:0 40px 80px -40px rgba(0,0,0,.75)}
.hs-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--mono);font-size:11.5px;color:var(--mute)}
.hs-top>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-tools{display:flex;gap:8px;align-items:center;flex:none}
.hs-stage{position:relative;min-height:236px}
@media (max-width:560px){.hs-stage{min-height:262px}}
.hs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hs-tile{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 10px 7px;background:rgba(14,26,50,.55);transition:border-color 300ms var(--ease-soft),background-color 300ms var(--ease-soft)}
.hs-nm{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10.5px;color:var(--mute)}
.hs-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:.55;transition:background-color 300ms}
.hs-tile>svg{display:block;width:100%;height:30px;margin-top:6px;overflow:visible}
.hs-tile path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:opacity 300ms var(--ease-soft)}
.hs-base{stroke:var(--cyan);opacity:.5}
.hs-spike{stroke:var(--warn);opacity:0}
.hs-tile>.hs-chk{position:absolute;right:8px;bottom:7px;width:16px;height:16px;margin:0;opacity:0}
.hs-chk path{stroke:var(--ok);stroke-width:2;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset 400ms var(--ease-out)}
.hs-tile.seen{border-color:rgba(94,227,255,.5);background:rgba(94,227,255,.06)}
.hs-tile.warn{border-color:rgba(242,179,73,.8);background:rgba(242,179,73,.08)}
.hs-tile.warn .hs-dot{background:var(--warn);opacity:1}
.hs-tile.warn .hs-base{opacity:0}
.hs-tile.warn .hs-spike{opacity:1}
.hs-tile.ok{border-color:rgba(74,222,128,.55)}
.hs-tile.ok .hs-dot{background:var(--ok);opacity:1}
.hs-tile.ok .hs-chk{opacity:1}
.hs-tile.ok .hs-chk path{stroke-dashoffset:0}
.hs-scan{position:absolute;left:0;top:-6px;width:2px;height:calc(100% + 12px);background:linear-gradient(transparent,var(--cyan),transparent);box-shadow:0 0 18px var(--cyan);opacity:0;transform:translateX(-8px);pointer-events:none}
.hs-scan.go{opacity:1;transition:transform 1200ms var(--ease-in-out),opacity 200ms var(--ease-soft)}
.hs-scan.out{opacity:0;transition:opacity 300ms var(--ease-soft)}
.hs-card{position:absolute;left:6px;right:6px;top:4px;background:rgba(8,14,29,.97);border:1px solid rgba(94,227,255,.3);border-radius:14px;padding:14px 15px;box-shadow:0 20px 50px rgba(0,0,0,.55);opacity:0;transform:scale(.3);transform-origin:var(--ox,50%) var(--oy,50%);transition:transform 380ms var(--ease-out),opacity 220ms var(--ease-out);pointer-events:none}
.hs-card.show{opacity:1;transform:none}
.hs-card.hide{opacity:0;transform:scale(.3);transition:transform 320ms var(--ease-in-out),opacity 240ms var(--ease-in-out) 60ms}
.hs-ln{margin:0;opacity:0;transform:translateY(6px);transition:opacity 260ms var(--ease-out),transform 260ms var(--ease-out);transition-delay:calc(var(--k) * 70ms + 160ms)}
.hs-card.show .hs-ln{opacity:1;transform:none}
.hs-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--mute)}
.hs-sev{color:var(--warn)}
.hs-sev.is-ok{color:var(--ok)}
.hs-card .hs-title{margin:6px 0 4px;font-weight:600;font-size:15px;line-height:1.3;color:var(--ink)}
.hs-rule{font-size:13px;line-height:1.45;color:var(--ink-2)}
.hs-card .hs-ai{margin-top:8px;font-size:13px;line-height:1.45;color:var(--ink-2)}
.badge-ai{display:inline-block;font-family:var(--mono);font-size:11px;line-height:1.3;color:var(--ai);border:1px solid rgba(167,139,250,.5);border-radius:5px;padding:0 5px;margin-right:6px;vertical-align:1px}
.hs-card .hs-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;min-height:32px}
.hs-actions .a{font-size:.8125rem;padding:6px 11px;border-radius:8px;border:1px solid var(--line);color:var(--ink-2);transition:transform 120ms var(--ease-out),background-color 200ms}
.hs-actions .approve{background:var(--blue);border-color:var(--blue);color:#fff}
.hs-actions .pressed{transform:scale(.94);background:#2a62e0}
.hs-done{display:none;font-family:var(--mono);font-size:12px;color:var(--ok);border:1px solid rgba(74,222,128,.45);border-radius:8px;padding:6px 10px}
.hs-card.fixed .a{display:none}
.hs-card.fixed .hs-done{display:inline-block}
.hs-ptr{position:absolute;left:0;top:0;width:18px;height:18px;opacity:0;transition:transform 700ms var(--ease-in-out),opacity 200ms;pointer-events:none;z-index:3}
.hs-ptr.on{opacity:1}
.hs-rail{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.hs-rail li{position:relative;padding-top:8px;font-family:var(--mono);font-size:10.5px;color:var(--mute);text-align:center;transition:color 250ms var(--ease-soft)}
.hs-rail li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:rgba(255,255,255,.1);transition:background-color 250ms var(--ease-soft)}
.hs-rail li.on{color:var(--ink)}
.hs-rail li.on::before{background:var(--cyan)}
.hs-log{margin:10px 0 0;padding-top:9px;border-top:1px dashed var(--line);font-family:var(--mono);font-size:11px;color:var(--ink-2);display:flex;gap:10px;min-height:28px;align-items:baseline}
.hs-log .k{color:var(--cyan);flex:none}
.hs-log .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hs-caret{display:inline-block;width:6px;height:12px;background:var(--cyan);vertical-align:-1px;margin-left:1px}
.hs-cap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px}
.hs-cap p{margin:0;font-size:.875rem;line-height:1.5;color:var(--mute)}
.btn.hs-watch{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 16px 8px 10px;border:1px solid rgba(94,227,255,.45);background:rgba(94,227,255,.08);color:var(--ink);font-weight:600}
@media (hover:hover) and (pointer:fine){.btn.hs-watch:hover{background:rgba(94,227,255,.14);border-color:rgba(94,227,255,.75)}}
.hs-watch-ico{position:relative;width:28px;height:28px;border-radius:50%;background:var(--ink);flex:none}
.hs-watch-ico::after{content:"";position:absolute;left:11px;top:8px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--night-900)}
.hs-watch-len{font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--mute)}
.hscene.is-final .hs-card,.hscene.is-final .hs-ln{opacity:1;transform:none;transition:none}
.hscene.is-final .hs-card .a{display:none}
.hscene.is-final .hs-done{display:inline-block}
.hscene.is-final .hs-target{border-color:rgba(74,222,128,.55)}
.hscene.is-final .hs-target .hs-dot{background:var(--ok);opacity:1}
.hscene.is-final .hs-target .hs-chk{opacity:1}
.hscene.is-final .hs-target .hs-chk path{stroke-dashoffset:0}
.hscene.is-final .hs-rail li{color:var(--ink)}
.hscene.is-final .hs-rail li::before{background:var(--cyan)}
@media (max-width:420px){.hs-stage{min-height:278px}.hs-tile{padding:8px 8px 6px}.hs-rail li{font-size:9.5px}}
@media (max-width:980px){.hv-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "video" "scope";row-gap:0}.hv-grid>.hero-scene{margin-top:28px}}
@media (max-width:560px){.hero-for{font-size:.9375rem}}

/* The quieter header action: the demonstration is the main call to action */
.nav .nav-cta.btn-ghost{border-color:rgba(255,255,255,.22);color:var(--ink);background:transparent}
@media (hover:hover) and (pointer:fine){.nav .nav-cta.btn-ghost:hover{border-color:rgba(255,255,255,.45)}}

/* Video player dialog (shares the screen viewer's frame) */
.vid-dialog{width:min(1180px,calc(100vw - 24px))}
.vid-stage{flex:0 1 auto;min-height:0;background:#000;display:flex;justify-content:center}
.vid{display:block;width:100%;height:auto;max-height:calc(100vh - 200px);aspect-ratio:16/9;background:#000}
/* the phone edit gets a definite height before its poster or metadata load, so opening the player never shifts the notes below it */
.vid.vid-phone{aspect-ratio:4/5;height:min(calc(100vh - 190px),calc(min(1180px,100vw - 24px) * 1.25));width:auto;max-width:100%;max-height:none;margin:0 auto}
.vid-info{flex:0 1 auto;overflow:auto;padding:12px 18px 16px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;color:var(--ink-2)}
.vid-info p{margin:0;max-width:72em}
.vid-tip{display:none;margin-bottom:8px!important;color:var(--ink)}
@media (max-width:600px){.vid-tip{display:block}}
.vid-tx{margin-top:10px}
.vid-tx summary{cursor:pointer;color:var(--cyan);font-weight:500;min-height:32px;display:flex;align-items:center}
.vid-tx ol{margin:8px 0 0;padding-left:1.25em;display:grid;gap:6px}

/* Home: the AI companion as the next evaluation step, right after the hero video. The only approved image is the
   PAL's 112 px avatar, shown at 96 px at most. With an approved high-resolution portrait, add class has-portrait to
   .hero-companion: the image then leads the card on wide screens as a 16:9 head-and-shoulders crop; phones keep the
   compact round crop. */
.ask-home{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"i c" "h c";grid-template-rows:auto 1fr;column-gap:clamp(32px,6vw,88px);row-gap:4px;align-items:start}
.ask-home>.ask-intro{grid-area:i}
.ask-home>.ask-card{grid-area:c}
.ask-home>.ask-how{grid-area:h}
.ask-intro h2{text-wrap:balance}
.ask-intro .lead{margin-top:16px;color:var(--mute-day)}
.hero-companion{position:relative;text-align:center;border:1px solid rgba(94,227,255,.26);border-radius:24px;padding:clamp(24px,2.6vw,36px);background:linear-gradient(180deg,rgba(94,227,255,.08),rgba(94,227,255,0) 55%),var(--night-850);color:var(--ink);box-shadow:0 40px 80px -40px rgba(4,7,15,.55)}
.hc-portrait{width:96px;height:96px;margin:0 auto;border-radius:50%;flex:none;box-shadow:0 0 0 3px var(--night-850),0 0 0 4px rgba(94,227,255,.6)}
.hc-portrait img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:50% 30%}
.hc-label{display:flex;justify-content:center;align-items:center;gap:8px;margin:20px 0 0;font-size:.875rem;font-weight:600;color:var(--cyan)}
.hc-ai{font-family:var(--mono);font-size:.6875rem;line-height:1;padding:3px 5px;border-radius:5px;border:1px solid var(--cyan);color:var(--cyan)}
.hc-title{margin:8px 0 10px;font-size:clamp(1.5rem,2.1vw,1.875rem);line-height:1.12;letter-spacing:-.02em;font-weight:600;color:var(--ink);text-wrap:balance}
.hc-text{margin:0;color:var(--ink-2);text-wrap:pretty}
.hc-qs{margin-top:18px;text-align:left}
.hc-qs .ask-pick{margin:0 0 10px}
.btn.hc-go{display:flex;justify-content:center;width:100%;min-height:52px;margin-top:18px;background:var(--ink);color:var(--night-900);font-weight:600;border:0}
@media (hover:hover) and (pointer:fine){.btn.hc-go:hover{background:#fff}}
.hc-meta{margin:12px 0 0;text-align:center;font-size:.875rem;color:var(--ink-2)}
.hc-fine{margin:4px 0 0;text-align:center;font-size:.8125rem;color:var(--mute)}
.hero-companion.has-portrait{padding:0;overflow:hidden}
.has-portrait .hc-portrait{width:100%;height:auto;margin:0;aspect-ratio:16/9;border-radius:0;box-shadow:none}
.has-portrait .hc-portrait img{object-position:50% 22%}   /* a wide crop of the head and shoulders: the card also holds the questions */
.has-portrait .hc-body{padding:4px clamp(24px,2.6vw,32px) clamp(24px,2.6vw,32px)}
@media (max-width:980px){
  .ask-home{grid-template-columns:minmax(0,1fr);grid-template-areas:"i" "c" "h";grid-template-rows:auto}
  .ask-home>.ask-card{margin-top:24px;max-width:620px}
  /* phones and tablets: a compact card header (round crop, even with a large portrait), questions and start right after */
  .hero-companion,.hero-companion.has-portrait{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:center;padding:20px;text-align:left}
  .hero-companion .hc-body,.has-portrait .hc-body{display:contents}
  .hero-companion .hc-portrait,.has-portrait .hc-portrait{width:64px;height:64px;margin:0;aspect-ratio:auto;border-radius:50%;box-shadow:0 0 0 3px var(--night-850),0 0 0 4px rgba(94,227,255,.6);grid-row:1 / span 2}
  .hero-companion .hc-label{grid-column:2;margin:0;align-self:end;justify-content:flex-start}
  .hero-companion .hc-title{grid-column:2;margin:4px 0 0;font-size:1.375rem;align-self:start}
  .hero-companion :is(.hc-text,.hc-qs,.hc-go,.hc-meta,.hc-fine){grid-column:1 / -1}
  .hero-companion .hc-text{margin-top:14px}
  .hero-companion .btn.hc-go{margin-top:16px}
  .hero-companion :is(.hc-meta,.hc-fine){text-align:center}
}
@media (prefers-contrast:more){.hero-companion{border-color:rgba(94,227,255,.7)}}

/* Problem section: each piece of remaining work with what CyberSentry does about it */
.gap3 .gap-a{margin-top:10px;color:var(--ink-day);font-weight:500}
.answer b{font-weight:600}

/* Pilot: what is measured, agreed with the partner */
.pilot-measure{margin-top:16px;border:1px solid var(--line-day);border-radius:18px;padding:clamp(20px,3vw,32px);background:#fff}
.pilot-measure h3{margin-bottom:14px}
.pilot-measure .muted{margin-top:14px;max-width:60em}

/* Demonstration evidence (2026-10-14): an editorial result summary of the recorded run beside the recording; every
   screen of a second run in a disclosure. The summary is ours, not a product screen, and is labelled so. */
.ev-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px clamp(28px,4vw,56px);align-items:start;margin-top:8px}
.outcome{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:var(--night-850);padding:clamp(20px,2.6vw,30px)}
.day .outcome{background:#fff;border-color:var(--line-day);color:var(--ink-day)}
.oc-label{margin:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.03em;color:var(--mute)}
.day .oc-label{color:var(--mute-day)}
.oc-status{display:flex;align-items:baseline;gap:10px;margin:12px 0 18px;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.3;font-weight:600;text-wrap:balance}
.oc-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(74,222,128,.15);transform:translateY(-1px)}
.oc-rows{margin:0;display:grid}
.oc-rows>div{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:4px 18px;padding:11px 0;border-top:1px solid var(--line)}
.day .oc-rows>div{border-top-color:var(--line-day)}
.oc-rows dt{font-weight:600;font-size:.9375rem}
.oc-rows dd{margin:0;color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.day .oc-rows dd{color:var(--mute-day)}
.oc-rows .oc-open dt{color:var(--warn)}
.day .oc-rows .oc-open dt{color:#9a6200}
.oc-rows .oc-open dd{color:var(--ink)}
.day .oc-rows .oc-open dd{color:var(--ink-day)}
@media (max-width:560px){.oc-rows>div{grid-template-columns:1fr}}
.ev-side{display:grid;gap:14px;align-content:start}
.ev-side>p{margin:0;color:var(--ink-2);font-size:.9375rem}
.ev-side .btn.hs-watch{justify-self:start}
.ev-links{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.ev-links a{color:var(--cyan);font-weight:500}
.wt-more{margin-top:28px}
.wt-more .wt-intro{margin:0 0 18px;max-width:62em}
@media (max-width:900px){.ev-grid{grid-template-columns:minmax(0,1fr)}}

/* Who it helps: what CyberSentry takes on, what stays with existing tools */
.split2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(28px,4vw,56px);margin-top:36px}
.split2>div{border-top:1px solid var(--line-day);padding-top:18px}
.split2 h3{font-size:1.125rem;margin-bottom:12px}
.fit-line{margin-top:28px;max-width:46em;color:var(--mute-day)}
@media (max-width:760px){.split2{grid-template-columns:minmax(0,1fr)}}

/* What it does today: a short status list; the full reference stays in a disclosure */
.today{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,56px)}
.today li{display:grid;gap:8px;align-content:start;padding:16px 0;border-top:1px solid var(--line)}
.today li>.status,.today li>.cap-tags{justify-self:start}
.today p{margin:0;color:var(--ink-2)}
.today b{color:var(--ink);font-weight:600}
@media (max-width:760px){.today{grid-template-columns:minmax(0,1fr)}}
#product .more{margin-top:18px}

#product .findings li{border-color:var(--line)}
#product .findings li:last-child{border-bottom-color:var(--line)}
#product .findings p{color:var(--ink-2)}
#problem .routes{margin-top:32px}

/* Business page: the executive result summary (editorial, labelled) and what the product reports today */
.outcome.exec{background:linear-gradient(180deg,rgba(74,222,128,.05),rgba(74,222,128,0) 40%),var(--night-850);border-color:rgba(255,255,255,.14);box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.outcome.exec .oc-status{font-size:clamp(1.25rem,1.9vw,1.5rem);margin-bottom:16px}
.oc-strip{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.oc-strip li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.oc-strip b{font-size:1.375rem;line-height:1.1;font-weight:600}
.oc-strip span{font-size:.8125rem;line-height:1.3;color:var(--ink-2)}
.oc-strip .oc-open{border-color:rgba(242,179,73,.45)}
.oc-strip .oc-open b{color:var(--warn)}
.outcome.exec .oc-rows>div{grid-template-columns:11.5rem minmax(0,1fr)}
.oc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0 0}
.oc-foot>a:not(.btn){color:var(--cyan);font-weight:500}
@media (max-width:560px){.oc-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.outcome.exec .oc-rows>div{grid-template-columns:1fr}}
.rep-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px clamp(28px,4vw,56px);align-items:start;margin-top:8px}
.rep-shot{margin:0}
.rep-shot .shot-img{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff}
.rep-shot img{display:block;width:100%;height:auto}
.rep-shot figcaption{margin-top:10px;font-size:.875rem;color:var(--ink-2)}
.rep-shot .real{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ok);border:1px solid rgba(74,222,128,.35);border-radius:6px;padding:2px 6px;margin-right:8px;white-space:nowrap}
.rep-copy h3{font-size:1.125rem;margin:0 0 10px}
.rep-copy h3+p,.rep-copy .plain{margin-bottom:22px;color:var(--ink-2)}
.rep-copy .muted{color:var(--ink-2)}
@media (max-width:900px){.rep-grid{grid-template-columns:minmax(0,1fr)}}

.hs-pause{min-width:5.6em;justify-content:center}
.hs-pause[hidden]{display:none}

/* Compact lab summary (home and business): four checks, one sentence, the next step; the detail sits in "View lab-run details" */
.lp-hero .hero-grid:has(.outcome.exec){align-items:start}
.oc-checks{margin:0 0 14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.oc-checks li{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 11px}
.oc-checks li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700;color:#06210F;background:var(--ok)}
.oc-checks li.oc-open::before{content:"!";color:#2A1A00;background:var(--warn)}
.oc-checks span{font-size:.875rem;line-height:1.25;color:var(--ink)}
.day .oc-checks li{border-color:var(--line-day);background:var(--day-100)}
.day .oc-checks span{color:var(--ink-day)}
.oc-sum{margin:0 0 10px;color:var(--ink-2);font-size:.9375rem;line-height:1.55}
.oc-next{margin:0;padding:10px 12px;border-left:3px solid var(--warn);background:rgba(242,179,73,.07);border-radius:0 10px 10px 0;font-size:.9375rem;line-height:1.5;color:var(--ink)}
.oc-next b{font-weight:600;color:var(--warn)}
.oc-more{margin-top:14px;border-top:1px solid var(--line)}
.oc-more>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:44px;padding-top:8px;color:var(--cyan);font-weight:500}
.oc-more>summary::-webkit-details-marker{display:none}
.oc-more>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform 200ms var(--ease-out)}
.oc-more[open]>summary::after{transform:translateY(1px) rotate(225deg)}
.oc-more>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}
.oc-more .oc-rows{margin-top:4px}
.oc-src{margin:10px 0 0;font-size:.8125rem;color:var(--mute)}
.outcome.exec .oc-status{margin:10px 0 14px}
.outcome.exec .oc-foot{margin-top:14px}
@media (max-width:560px){.oc-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-checks li{padding:8px 9px}.oc-checks span{font-size:.8125rem}}
/* Control: three levels of who acts */
.flow.flow-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.flow.flow-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flow.flow-3 .flow-step:not(:last-child)::after{display:block}}
@media (max-width:900px){.flow.flow-3{grid-template-columns:minmax(0,1fr)}.flow.flow-3 .flow-step:not(:last-child)::after{display:none}}
#control .honest{max-width:62rem}
/* Audit fixes (2026-10-14): readable link in the light company panel; AA contrast on the illustration's Apply chip;
   the "next step" note uses a tinted box instead of a side stripe */
.day .checkable a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:2px}
.hs-actions .approve{background:#2563EB;border-color:#2563EB}
.oc-next{border-left:0;border:1px solid rgba(242,179,73,.35);border-radius:10px;background:rgba(242,179,73,.06)}
.oc-more>summary:hover{text-decoration:underline;text-underline-offset:3px}
