/* Aqonix "Signal" landing page. Built on design-system/tokens.css + components.css. */

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:80px;background:var(--world-bg,#05070c);transition:background-color .2s linear}
body{margin:0;background:transparent;color:var(--aq-text);font:400 var(--aq-text-md)/var(--aq-leading-body) var(--aq-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4,p,figure{margin:0}
.shell{max-width:var(--aq-max);margin-inline:auto;padding-inline:var(--aq-gutter)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--aq-focus);outline-offset:4px}
svg use{pointer-events:none}

/* ---------- Chrome: header, progress, world rail ---------- */
.scroll-progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:40;pointer-events:none}
.scroll-progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--progress,0));background:linear-gradient(90deg,var(--aq-signal-500),var(--aq-signal-300),var(--aq-iris-300))}
.site-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:32px;padding:calc(14px + env(safe-area-inset-top,0px)) var(--aq-gutter) 14px;color:var(--aq-text);transition:background .4s,border-color .4s,color .4s}
.site-header.is-scrolled{background:color-mix(in srgb,var(--aq-bg) 72%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--aq-border)}
.wordmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:650 22px/1 var(--aq-font-sans);letter-spacing:-.04em}
.site-header>nav{display:flex;gap:28px;margin-left:auto;font-size:var(--aq-text-sm);color:var(--aq-text-2)}
.site-header>nav a{text-decoration:none;transition:color .2s}
.site-header>nav a:hover{color:var(--aq-text)}
.world-rail{position:fixed;right:max(14px,calc(var(--aq-gutter) - 40px));top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:14px;color:var(--aq-text-3)}
.world-rail a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;font:600 10px/1 var(--aq-font-mono);letter-spacing:.12em;text-transform:uppercase}
.world-rail span{opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s}
.world-rail i{order:2;width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;transition:all .3s var(--aq-ease-out)}
.world-rail a:hover span,.world-rail a:focus-visible span,.world-rail a.is-active span{opacity:1;transform:none}
.world-rail a.is-active{color:var(--aq-accent)}
.world-rail a.is-active i{background:currentColor;transform:scale(1.35)}

/* ---------- Worlds ---------- */
.world{position:relative;color:var(--aq-text);transition:color .6s}
.aq-window,.aq-card,.agent,.ledger li,.source-list li{transition:background-color .6s,border-color .6s,box-shadow .6s,color .6s}
.chapter{padding-block:clamp(96px,14vh,168px)}
.chapter__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,88px);align-items:center}
.chapter__grid--flip{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.chapter__grid--flip>:first-child{order:2}
.chapter__head{max-width:780px;margin-bottom:clamp(40px,6vw,64px)}
.chapter__title{font-size:var(--aq-text-3xl);margin-bottom:22px}
.chapter__title em{color:var(--aq-accent)}
.chapter__no{display:inline-grid;place-items:center;min-width:28px;height:20px;margin-right:10px;border:1px solid currentColor;border-radius:999px;font-size:10px}
.chapter__note{margin-top:22px;max-width:760px}
.chart-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;font:600 var(--aq-text-xs)/1.3 var(--aq-font-sans);color:var(--aq-text-2);margin-bottom:10px}
.col-label{display:flex;align-items:center;gap:8px;font:600 10px/1.2 var(--aq-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--aq-text-3);margin-bottom:12px}
.col-label svg{width:14px;height:14px}

/* Reveal on scroll (only when script is running). */
.js .reveal{opacity:0;transform:translateY(48px) scale(.985);transition:opacity 1s var(--aq-ease-out),transform 1.2s var(--aq-ease-out),background-color .6s,border-color .6s,box-shadow .6s,color .6s}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal-stagger>*{opacity:0;transform:translateY(40px);transition:opacity .8s var(--aq-ease-out),transform 1s var(--aq-ease-out);transition-delay:calc(var(--i,0) * 90ms)}
.js .reveal-stagger.is-in>*{opacity:1;transform:none}

/* ---------- World 0: hero ---------- */
.hero{height:260vh}
.hero__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s}
.hero__canvas.is-ambient{opacity:.35}
.hero__veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 70% at 15% 100%,rgb(5 7 12 / .92) 10%,rgb(5 7 12 / .35) 55%,transparent 80%),linear-gradient(to top,rgb(5 7 12 / .7),transparent 40%)}
.hero__copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(96px,16vh,170px);max-width:var(--aq-max)}
.hero__title{font-size:min(clamp(2.75rem,1rem + 4.8vw,6rem),9.2vh);max-width:11.5ch;margin-bottom:26px;text-wrap:balance}
.hero__title em{background:linear-gradient(100deg,var(--aq-signal-200),var(--aq-signal-400) 45%,var(--aq-iris-300));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.hero__lead{max-width:540px;margin-bottom:30px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.hero .launch-note{margin-top:18px}
.hero__cue{position:absolute;z-index:2;right:var(--aq-gutter);bottom:36px;display:flex;align-items:center;gap:12px;font:600 10px/1 var(--aq-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--aq-text-3);opacity:calc(1 - var(--p,0) * 3)}
.hero__cue i{width:1px;height:44px;background:linear-gradient(var(--aq-signal-300),transparent);animation:cue 2.2s var(--aq-ease-in-out) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* Hero: promise, audience, trust */
.hero__lead{max-width:min(600px,46vw);margin-bottom:12px}
.hero__audience{max-width:min(560px,46vw);margin-bottom:26px;font-size:var(--aq-text-sm);color:var(--aq-text-3)}
.trust-block{max-width:min(600px,46vw);margin-top:22px}
.trust__title{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:600 var(--aq-text-sm)/1.3 var(--aq-font-sans);color:var(--aq-text)}
.trust__title svg{width:15px;height:15px;color:var(--aq-accent)}
.trust{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;font-size:var(--aq-text-xs);color:var(--aq-text-2)}
.trust li{display:flex;align-items:flex-start;gap:7px;line-height:1.4}
.trust svg{width:13px;height:13px;margin-top:2px;color:var(--aq-accent);flex:none}
.hero .launch-note{margin-top:14px}

/* Phone sections menu */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid var(--aq-border);border-radius:999px;font:600 var(--aq-text-xs)/1 var(--aq-font-sans)}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:2px;min-width:230px;padding:8px;border-radius:var(--aq-radius-md);background:var(--aq-surface);border:1px solid var(--aq-border);box-shadow:var(--aq-shadow-3)}
.mnav nav a{padding:10px 12px;border-radius:8px;text-decoration:none;font-size:var(--aq-text-sm)}
.mnav nav a:hover{background:var(--aq-surface-2)}

/* ---------- Transformation strip ---------- */
.strip{padding-block:56px 72px;border-block:1px solid var(--aq-border)}
.strip__note{margin-bottom:22px}
.strip__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--aq-border);border:1px solid var(--aq-border);border-radius:var(--aq-radius-lg);overflow:hidden}
.strip__grid li{background:var(--world-bg,#070a12);padding:26px 24px;display:grid;gap:10px;align-content:start}
.strip__from{font-size:var(--aq-text-sm);color:var(--aq-text-3)}
.strip__from b{font-weight:600;color:var(--aq-text-2);font-variant-numeric:tabular-nums}
.strip__arrow{color:var(--aq-accent);font-size:20px;line-height:1}
.strip__to{font-size:var(--aq-text-lg);font-weight:500;letter-spacing:-.01em}
.strip__to b{font:300 1.9em/1 var(--aq-font-sans);letter-spacing:-.04em;color:var(--aq-accent);margin-right:8px;vertical-align:-.1em}

/* ---------- World 1: connect ---------- */
.source-list{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:10px}
.source-list li{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--aq-border);border-radius:var(--aq-radius-md);background:color-mix(in srgb,var(--aq-surface) 60%,transparent)}
.source-list svg{width:22px;height:22px;color:var(--aq-accent);flex:none}
.source-list b{display:block;font-weight:600;font-size:var(--aq-text-sm)}
.source-list span{display:block;font-size:var(--aq-text-xs);line-height:1.45;color:var(--aq-text-3)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:18px;border-bottom:1px solid var(--aq-border)}
.sankey{height:clamp(240px,26vw,300px);margin:14px 0 8px}
.sankey svg,.area svg,.scan__plot svg,.marketplot svg,.waterfall svg,.timeline svg,.sim__bars svg,.constellation svg{display:block;width:100%;height:100%;overflow:visible}
.sankey .link{fill-opacity:.34;transition:fill-opacity .25s}
.sankey .link:hover{fill-opacity:.65}
.sankey .flow{fill:none;stroke:#fff;stroke-opacity:.5;stroke-dasharray:2 14;animation:flow 1.6s linear infinite;pointer-events:none}
@keyframes flow{to{stroke-dashoffset:-32}}
.sankey .node{rx:2}
.sankey text{font:500 10px var(--aq-font-sans);fill:var(--aq-text-2)}
.sankey text.v{font-family:var(--aq-font-mono);fill:var(--aq-text-3)}
.js [data-anim="sankey"] .sankey svg>g:first-child{clip-path:inset(0 100% 0 0);transition:clip-path 1.8s var(--aq-ease-out) .2s}
.js [data-anim="sankey"].is-in .sankey svg>g:first-child{clip-path:inset(0 0 0 0)}
.area{height:120px}
.area-wrap{padding-top:10px;border-top:1px solid var(--aq-border)}

/* Connect: inbox matching */
.inbox__body{display:grid;gap:14px}
.mail{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mail li{display:grid;gap:8px;padding:12px 14px;border-radius:var(--aq-radius-md);background:var(--aq-surface-2)}
.mail__from{display:flex;gap:10px;align-items:baseline;font-size:var(--aq-text-sm);min-width:0}
.mail__from b{font-weight:650;white-space:nowrap}
.mail__from span{color:var(--aq-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail__tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;border:1px solid var(--aq-border);font:600 11px/1.3 var(--aq-font-sans);color:var(--aq-text-2);opacity:0;transform:translateX(-8px);transition:opacity .5s,transform .6s var(--aq-ease-out);transition-delay:calc(var(--i) * 380ms + 300ms)}
.tag svg{width:11px;height:11px}
.tag--prop{color:var(--aq-text);border-color:var(--aq-accent)}
.tag--ok{color:var(--aq-text);background:color-mix(in srgb,var(--aq-status-ok) 20%,transparent);border-color:transparent}
.tag--review{color:var(--aq-text);background:color-mix(in srgb,var(--aq-status-review) 25%,transparent);border-color:transparent}
.tag--date{color:var(--aq-text);background:var(--aq-accent-soft);border-color:transparent}
.is-in .tag{opacity:1;transform:none}
.act{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px;border-radius:var(--aq-radius-md);border:1px solid var(--aq-accent);background:var(--aq-accent-soft);opacity:0;transform:translateY(10px);transition:opacity .6s,transform .7s var(--aq-ease-out);transition-delay:calc(var(--i) * 380ms + 300ms)}
.is-in .act{opacity:1;transform:none}
.act__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--aq-ink-800);color:var(--aq-signal-300)}
.act__icon svg{width:18px;height:18px}
.act__who{font:600 10px/1.3 var(--aq-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--aq-text-3);margin-bottom:4px}
.act__what{font-size:var(--aq-text-sm);margin-bottom:8px}
.act__rule{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--aq-text-xs);color:var(--aq-text-2)}

/* Review */
.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}

/* Planned analysis (expandable) */
.chapter--compact{padding-block:64px}
.analysis-more{border:1px solid var(--aq-border);border-radius:var(--aq-radius-lg);background:var(--aq-surface)}
.analysis-more summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;cursor:pointer;list-style:none}
.analysis-more summary::-webkit-details-marker{display:none}
.analysis-more summary>span{display:grid;gap:6px}
.analysis-more summary .aq-eyebrow{margin:0}
.analysis-more summary b{font-size:var(--aq-text-lg);font-weight:600}
.analysis-more summary i{font-style:normal;font-size:26px;color:var(--aq-accent);transition:transform .3s}
.analysis-more[open] summary i{transform:rotate(45deg)}
.analysis-body{display:grid;gap:24px;padding:4px 24px 24px}

/* Security */
.sec-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
.sec-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sec-cards li{display:grid;gap:8px;padding:20px;border-radius:var(--aq-radius-lg);border:1px solid var(--aq-border);background:color-mix(in srgb,var(--aq-surface) 70%,transparent)}
.sec-cards svg{width:24px;height:24px;color:var(--aq-accent)}
.sec-cards b{font-size:var(--aq-text-md);font-weight:650}
.sec-cards span{font-size:var(--aq-text-sm);color:var(--aq-text-2);line-height:1.55}
.log__list{list-style:none;margin:0;padding:0;display:grid}
.log__list li{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--aq-border)}
.log__list li:last-child{border-bottom:0}
.log__list time{font:600 11px/1 var(--aq-font-mono);color:var(--aq-text-3)}
.log__list b{display:block;font-size:var(--aq-text-sm);font-weight:650}
.log__list span{font-size:var(--aq-text-xs);color:var(--aq-text-2)}
.lg{font:600 10px/1.2 var(--aq-font-mono);font-style:normal;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}
.lg--rule{background:var(--aq-accent-soft);color:var(--aq-accent)}
.lg--auto{background:color-mix(in srgb,var(--aq-status-ok) 20%,transparent);color:var(--aq-text)}
.lg--you{background:var(--aq-status-review);color:var(--aq-ink-900)}
.lg--read{border:1px solid var(--aq-border);color:var(--aq-text-2)}

/* Portfolio performance */
.perf-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.score-wrap{display:grid;gap:18px;min-width:0}
.score-scroll{overflow-x:auto;min-width:0}
.score{width:100%;border-collapse:collapse;font-size:var(--aq-text-sm);min-width:480px}
.score th,.score td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--aq-border);white-space:nowrap}
.score thead th{font:600 10px/1.2 var(--aq-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--aq-text-3)}
.score tbody th{font-weight:600}
.score td{position:relative}
.score .bar{display:inline-block;vertical-align:middle;height:10px;width:calc(var(--w) * .7);max-width:70px;min-width:4px;margin-right:8px;border-radius:0 3px 3px 0;background:var(--aq-viz-income)}
.score .dv{display:inline-block;vertical-align:middle;height:10px;width:calc(var(--w) * .8);min-width:2px;margin-right:8px;border-radius:3px}
.score .dv--pos{background:var(--aq-viz-income)}
.score .dv--neg{background:var(--aq-viz-expense)}
.score tr.is-focus{background:color-mix(in srgb,var(--aq-status-review) 12%,transparent)}
.score .aq-status{font-weight:500}
.why{padding:14px 16px;border-radius:var(--aq-radius-md);background:var(--aq-surface-2)}
.why ul{margin:0 0 8px;padding-left:18px;display:grid;gap:4px;font-size:var(--aq-text-sm)}
.scen{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scen li{display:grid;gap:4px;align-content:start;padding:14px;border-radius:var(--aq-radius-md);border:1px solid var(--aq-border);background:var(--aq-surface)}
.scen__t{font:600 10px/1.2 var(--aq-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--aq-text-3)}
.scen b{font-size:var(--aq-text-xl);font-weight:650;letter-spacing:-.02em}
.scen span{font-size:var(--aq-text-xs);color:var(--aq-text-2);line-height:1.45}
.scen .conf{font:600 10px/1.3 var(--aq-font-mono);font-style:normal;color:var(--aq-accent);margin-top:4px}
.scen--open{border-style:dashed!important;background:transparent!important}
.scen--open b{font-size:var(--aq-text-md)}
.perf-points{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.perf-points li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;font-size:var(--aq-text-sm);color:var(--aq-text-2)}
.perf-points svg{width:32px;height:32px;padding:7px;border-radius:9px;background:var(--aq-signal-100);color:var(--aq-signal-700)}
.meter--warn i{background:var(--aq-status-review)}
.mortgage-row+.mortgage-row{margin-top:8px}


/* ---------- World 2: investigate ---------- */
.evidence{margin-bottom:24px}
.evidence__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,180px) minmax(0,1fr);gap:0 8px;align-items:start}
.ledger{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ledger li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--aq-radius-sm);background:var(--aq-surface-2);font-size:var(--aq-text-xs);color:var(--aq-text-2);transition:background .6s,box-shadow .6s,color .6s}
.ledger b{white-space:nowrap;font-weight:600;color:var(--aq-text);font-family:var(--aq-font-mono);font-size:11px}
.is-in .ledger li.is-hit{background:color-mix(in srgb,var(--aq-status-review) 16%,var(--aq-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aq-status-review) 70%,transparent);color:var(--aq-text)}
.evidence__mid{position:relative;align-self:stretch;min-height:200px}
.evidence__wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wire{fill:none;stroke:var(--aq-status-review);stroke-width:1.6;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.4s var(--aq-ease-out) .5s}
.wire.w2{transition-delay:.8s}
.is-in .wire{stroke-dashoffset:0}
.match-pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:5px 10px;border-radius:999px;background:var(--aq-ink-900);border:1px solid color-mix(in srgb,var(--aq-status-review) 60%,transparent);color:var(--aq-status-review);font:600 10px/1.2 var(--aq-font-mono);white-space:nowrap;opacity:0;transition:opacity .6s 1.6s}
.is-in .match-pill{opacity:1}
.evidence__verdict{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid var(--aq-border)}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;align-content:center}
.checks .aq-status{font-weight:500;color:var(--aq-text-2)}
.scan__plot{height:200px}
.scan__legend{margin-top:12px}
.scan .dot{transition:r .25s}
.scan .dot:hover{r:7}

/* ---------- World 3: monitor ---------- */
.monitor-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:28px;margin-top:34px}
.monitor-stats b{display:block;font:300 clamp(2.2rem,1.6rem + 2vw,3.2rem)/1.05 var(--aq-font-sans);letter-spacing:-.04em;color:var(--aq-accent)}
.monitor-stats span{font-size:var(--aq-text-xs);color:var(--aq-text-3)}
.heatmap{display:grid;grid-template-columns:auto repeat(12,minmax(0,1fr));gap:5px;align-items:center;font:500 10px/1 var(--aq-font-sans);color:var(--aq-text-3)}
.heatmap .unit{padding-right:8px;white-space:nowrap;color:var(--aq-text-2)}
.heatmap .mon{text-align:center;padding-bottom:4px}
.cell{aspect-ratio:1;border-radius:5px;display:grid;place-items:center;font:800 9px/1 var(--aq-font-sans);color:var(--aq-ink-900);transform:scale(.3);opacity:0;transition:transform .5s var(--aq-ease-out),opacity .5s;transition-delay:calc(var(--d) * 12ms)}
.is-in .cell{transform:none;opacity:1}
.cell--ok{background:color-mix(in srgb,var(--aq-status-ok) 75%,transparent)}
.cell--late{background:var(--aq-status-review)}
.cell--miss{background:transparent;border:1.5px dashed var(--aq-status-missing);color:var(--aq-status-missing)}
.cell--vac{background:repeating-linear-gradient(135deg,var(--aq-surface-2) 0 3px,transparent 3px 6px);border:1px solid var(--aq-border)}
.cell:hover{outline:2px solid var(--aq-text);outline-offset:1px}
.heat-legend{margin-top:16px}
.heat-legend__vacant{display:inline-flex;align-items:center;gap:6px}
.heat-legend__vacant i{width:14px;height:14px;border-radius:4px;background:repeating-linear-gradient(135deg,var(--aq-surface-2) 0 3px,transparent 3px 6px);border:1px solid var(--aq-border)}
.mortgage-row{display:grid;grid-template-columns:18px 1fr auto 90px;gap:12px;align-items:center;margin-top:18px;padding:12px 14px;border-radius:var(--aq-radius-sm);background:var(--aq-surface-2);font-size:var(--aq-text-xs);color:var(--aq-text-2)}
.mortgage-row svg{width:18px;height:18px;color:var(--aq-accent)}
.mortgage-row b{color:var(--aq-text)}
.meter{height:6px;border-radius:9px;background:var(--aq-border);overflow:hidden}
.meter i{display:block;height:100%;width:var(--v);background:var(--aq-status-ok);border-radius:inherit}

/* ---------- World 4: organize ---------- */
.organize-grid{align-items:start;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto;gap:24px}
.docx{grid-row:span 2}
.docx__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:22px;align-items:start}
.paper{background:#fff;color:#2b3242;border:1px solid var(--aq-border);border-radius:6px;padding:22px 20px;box-shadow:0 18px 40px rgb(10 13 20 / .08);font:500 11px/1.5 var(--aq-font-sans);transform:rotate(-1.2deg)}
.paper p{margin:0 0 9px}
.paper__title{font:400 17px/1.2 var(--aq-font-display);margin-bottom:14px!important;color:#10141f}
.paper .line{height:6px;border-radius:3px;background:#e8ecf1}
.paper .line.short{width:62%}
.hl{padding:1px 3px;border-radius:3px;background:linear-gradient(90deg,var(--aq-signal-200) 0 0) no-repeat 0 0 / 0% 100%;transition:background-size .8s var(--aq-ease-out);transition-delay:calc(var(--k) * 350ms)}
.is-in .hl{background-size:100% 100%}
.fields{display:grid;gap:8px}
.field{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--aq-radius-sm);border:1px solid var(--aq-border);background:var(--aq-surface);font-size:var(--aq-text-xs);opacity:0;transform:translateX(-18px);transition:opacity .6s,transform .8s var(--aq-ease-out);transition-delay:calc(var(--k) * 350ms + 300ms)}
.field span{color:var(--aq-text-3)}
.field b{font-weight:600;text-align:right}
.is-in .field{opacity:1;transform:none}
.fields__actions{display:flex;gap:8px;margin-top:6px}
.timeline{height:150px}
.cats{display:grid;gap:10px;margin-bottom:12px}
.cat{display:grid;grid-template-columns:120px 1fr 64px;gap:10px;align-items:center;font-size:var(--aq-text-xs);color:var(--aq-text-2)}
.cat__bar{height:12px;border-radius:0 4px 4px 0;background:var(--aq-viz-expense);width:0;transition:width 1.2s var(--aq-ease-out);transition-delay:calc(var(--i) * 90ms)}
.is-in .cat__bar{width:var(--w)}
.cat b{font:600 11px/1 var(--aq-font-mono);text-align:right;color:var(--aq-text)}

/* ---------- World 5: ask ---------- */
.ask-grid{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.chat{grid-row:span 2}
.chat__body{display:grid;gap:16px;align-content:start}
.bubble{border-radius:18px;padding:14px 16px;font-size:var(--aq-text-sm);max-width:92%}
.bubble--me{justify-self:end;background:var(--aq-ink-800);color:#fff;border-bottom-right-radius:6px}
.bubble--ai{background:var(--aq-surface-2);border-bottom-left-radius:6px;max-width:100%;width:100%}
.js .bubble--ai{opacity:0;transform:translateY(12px);transition:opacity .7s,transform .7s var(--aq-ease-out)}
.js .chat.is-answered .bubble--ai{opacity:1;transform:none}
.typed::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:currentColor;animation:caret 1s steps(1) infinite}
.chat.is-answered .typed::after{display:none}
@keyframes caret{50%{opacity:0}}
.ai-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:var(--aq-text-sm)}
.waterfall{height:210px}
.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sim__out{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.sim__bars{height:130px}
.sim__controls{display:grid;gap:14px;margin:18px 0 14px}
.sim__controls label{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:var(--aq-text-xs);color:var(--aq-text-2)}
.sim__controls output{font:600 11px/1.4 var(--aq-font-mono);color:var(--aq-text)}
.sim__controls input{grid-column:1/-1;width:100%;accent-color:var(--aq-signal-600);height:22px;margin:0}
.marketplot{height:170px}
.principle{margin-top:64px;text-align:center;font:400 var(--aq-text-2xl)/1.25 var(--aq-font-display);letter-spacing:-.01em}
.principle em{color:var(--aq-accent)}

/* ---------- World 6: agents ---------- */
.agents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.agent{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--aq-radius-lg);background:var(--aq-surface);border:1px solid var(--aq-border);box-shadow:var(--aq-shadow-1);transition:transform .4s var(--aq-ease-out),box-shadow .4s}
.agent:hover{transform:translateY(-4px);box-shadow:var(--aq-shadow-2)}
.agent--featured{background:linear-gradient(160deg,var(--aq-signal-50),var(--aq-surface) 60%);border-color:var(--aq-signal-200)}
.agent header{display:flex;gap:12px;align-items:center}
.agent__icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--aq-ink-800);color:var(--aq-signal-300);flex:none}
.agent__icon svg{width:20px;height:20px}
.agent__kicker{font:600 10px/1.2 var(--aq-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--aq-text-3);margin-bottom:3px}
.agent h3{font-size:var(--aq-text-md);font-weight:650;letter-spacing:-.01em;line-height:1.25}
.agent>p{font-size:var(--aq-text-sm);color:var(--aq-text-2);line-height:1.55}
.agent__caveat{font-size:var(--aq-text-xs)!important;color:var(--aq-text-3)!important;border-left:2px solid var(--aq-status-review);padding-left:10px}
.agent__viz{min-height:96px;padding:12px;border-radius:var(--aq-radius-md);background:var(--aq-surface-2);font-size:11px}
.pipeline{display:flex;flex-wrap:wrap;gap:6px;align-content:center}
.stage{padding:6px 9px;border-radius:999px;background:var(--aq-surface);border:1px solid var(--aq-border);color:var(--aq-text-3)}
.stage.is-done{color:var(--aq-text);border-color:var(--aq-signal-300)}
.stage.is-done::before{content:"✓ ";color:var(--aq-signal-600)}
.stage.is-now{background:var(--aq-ink-800);color:#fff;border-color:transparent;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgb(58 154 230 / .18)}}
.range{display:flex;flex-direction:column;justify-content:center;gap:8px}
.range__track{position:relative;height:30px;border-radius:8px;background:var(--aq-surface);border:1px solid var(--aq-border)}
.range__band{position:absolute;top:4px;bottom:4px;left:var(--a);width:calc(var(--b) - var(--a));border-radius:5px;background:color-mix(in srgb,var(--aq-viz-market) 28%,transparent);border:1px solid var(--aq-viz-market)}
.range__band em{position:absolute;top:-18px;left:0;font:600 9px/1 var(--aq-font-mono);font-style:normal;color:var(--aq-text-3);text-transform:uppercase;letter-spacing:.08em}
.range__prev,.range__hit{position:absolute;top:50%;left:var(--x);width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--aq-surface);border:2.5px solid var(--aq-text-3)}
.range__hit{width:18px;height:18px;margin:-9px;background:var(--aq-status-review);border-color:var(--aq-surface);box-shadow:0 0 0 2px var(--aq-status-review);animation:pulse 2s infinite}
.range__axis{display:flex;justify-content:space-between;font:500 10px/1 var(--aq-font-mono);color:var(--aq-text-3)}
.thread{display:flex;flex-direction:column;gap:6px;justify-content:center}
.msg{align-self:flex-start;padding:6px 10px;border-radius:10px;background:var(--aq-surface);border:1px solid var(--aq-border)}
.msg--wait{align-self:center;background:none;border:0;color:var(--aq-text-3);font-family:var(--aq-font-mono);font-size:10px}
.msg--draft{align-self:flex-end;background:var(--aq-signal-100);border-color:var(--aq-signal-200);color:var(--aq-ink-800)}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:center}
.docs span{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;background:var(--aq-surface)}
.docs .ok::before{content:"✓";color:var(--aq-signal-600);font-weight:800}
.docs .miss{border:1.5px dashed var(--aq-status-missing);color:var(--aq-text)}
.docs .miss::before{content:"Missing";font:700 8px/1 var(--aq-font-mono);text-transform:uppercase;color:var(--aq-status-missing)}
.close{display:flex;gap:16px;align-items:center}
.close>div:last-child b{display:block;font-size:var(--aq-text-sm)}
.close>div:last-child span{color:var(--aq-text-3)}
.ring{--p:0;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,var(--aq-surface-2) 76%,transparent 78%),conic-gradient(var(--aq-signal-600) calc(var(--p) * 1%),color-mix(in srgb,var(--aq-status-review) 80%,transparent) 0)}
.ring b{font:600 16px/1 var(--aq-font-sans)}
.ring small{font-size:10px;color:var(--aq-text-3)}
.brief{display:flex;flex-direction:column;gap:6px;justify-content:center}
.brief span{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--aq-surface)}
.brief i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--aq-ink-800);color:#fff;font:700 9px/1 var(--aq-font-sans);font-style:normal}
.more-workflows{margin-top:24px;border:1px solid var(--aq-border);border-radius:var(--aq-radius-lg);background:var(--aq-surface)}
.more-workflows summary{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;font-weight:600;cursor:pointer;list-style:none}
.more-workflows summary::-webkit-details-marker{display:none}
.more-workflows summary i{font-style:normal;font-size:22px;line-height:1;color:var(--aq-accent);transition:transform .3s}
.more-workflows[open] summary i{transform:rotate(45deg)}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px;padding:4px 22px 24px}
.more-grid h3{font-size:var(--aq-text-sm);font-weight:650;margin-bottom:6px}
.more-grid p{font-size:var(--aq-text-sm);color:var(--aq-text-2)}
.guardrails{margin-top:72px}
.guardrails__head{text-align:center;margin-bottom:28px}
.guardrails__head h3{font-size:var(--aq-text-2xl)}
.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:var(--aq-radius-lg);overflow:hidden;border:1px solid var(--aq-border)}
.lane{padding:24px;background:var(--aq-surface);position:relative}
.lane+.lane{border-left:1px solid var(--aq-border)}
.lane__title{display:flex;align-items:center;gap:10px;font-weight:650;margin-bottom:14px}
.lane__title svg{width:22px;height:22px;padding:4px;border-radius:8px;box-sizing:content-box}
.lane--agent .lane__title svg{background:var(--aq-signal-100);color:var(--aq-signal-700)}
.lane--review .lane__title svg{background:color-mix(in srgb,var(--aq-status-review) 22%,transparent);color:#8a5a00}
.lane--owner{background:var(--aq-ink-800);color:#fff}
.lane--owner .lane__title svg{background:rgb(158 213 255 / .16);color:var(--aq-signal-300)}
.lane ul{margin:0;padding:0 0 0 18px;display:grid;gap:6px;font-size:var(--aq-text-sm);color:var(--aq-text-2)}
.lane--owner ul{color:#c9d1dd}

/* ---------- World 7: clarity ---------- */
.benefits{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.benefits li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;font-size:var(--aq-text-md);color:var(--aq-text-2)}
.benefits svg{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--aq-signal-100);color:var(--aq-signal-700)}
.constellation{aspect-ratio:1/.9;max-height:560px}
.constellation .orbit{fill:none;stroke:var(--aq-border);stroke-dasharray:3 6}
.constellation .edge{stroke:var(--aq-signal-300);stroke-width:1.2;stroke-dasharray:var(--l);stroke-dashoffset:var(--l);transition:stroke-dashoffset 1.6s var(--aq-ease-out)}
.constellation.is-in .edge{stroke-dashoffset:0}
.constellation .pulse{fill:var(--aq-signal-500)}
.constellation text{font:600 11px var(--aq-font-sans);fill:var(--aq-text-2)}
.constellation text.sub{font:500 9px var(--aq-font-mono);fill:var(--aq-text-3);letter-spacing:.06em;text-transform:uppercase}
.closing{text-align:center;padding-top:clamp(96px,14vh,160px);display:grid;justify-items:center;gap:22px}
.closing__title{font-size:var(--aq-text-3xl);max-width:16ch;text-wrap:balance}
.closing__title em{color:var(--aq-accent)}
.closing .aq-lead{max-width:600px}


/* ---------- Footer, dialog, consent ---------- */
.site-footer{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding:28px var(--aq-gutter) calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--aq-border);background:#fff;color:var(--aq-text-2);font-size:var(--aq-text-sm)}
.site-footer .wordmark{margin-right:auto;color:var(--aq-text);font-size:19px}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer button{background:none;border:0;padding:6px 0;color:inherit;text-decoration:underline;text-underline-offset:4px}
dialog#privacy{max-width:720px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border:1px solid var(--aq-border);border-radius:var(--aq-radius-lg);padding:36px;color:var(--aq-text);background:#fff;box-shadow:var(--aq-shadow-3)}
dialog#privacy::backdrop{background:rgb(5 7 12 / .6);backdrop-filter:blur(4px)}
#privacy .eyebrow{font:600 var(--aq-text-xs)/1.4 var(--aq-font-mono);letter-spacing:var(--aq-tracking-label);color:var(--aq-signal-700);margin-bottom:12px}
#privacy h2{font-size:30px;font-weight:560;letter-spacing:-.03em}
#privacy h3{font-size:17px;font-weight:650;margin:26px 0 8px}
#privacy p,#privacy li{font-size:15px;line-height:1.7;color:var(--aq-text-2);margin:0 0 10px}
#privacy .privacy-date{font-size:12px;margin:10px 0 22px}
#privacy a{text-decoration:underline}
#privacy form{position:sticky;bottom:-36px;background:#fff;padding:16px 0;margin-top:20px;border-top:1px solid var(--aq-border);text-align:right}
.analytics-choice{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;max-width:440px;max-height:calc(100dvh - 40px);overflow:auto;padding:22px;border-radius:var(--aq-radius-lg);background:#fff;color:var(--aq-text);border:1px solid var(--aq-signal-200);box-shadow:var(--aq-shadow-3)}
.analytics-choice[hidden],#cookie-details[hidden]{display:none}
.analytics-choice p{font-size:var(--aq-text-sm);color:var(--aq-text-2);margin:10px 0}
.analytics-choice .text-button{padding:0;background:none;border:0;color:var(--aq-text);text-decoration:underline;font-size:var(--aq-text-sm)}
.cookie-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.cookie-actions .aq-btn{flex:1 1 auto;padding:11px 14px;font-size:13px;white-space:nowrap}
.cookie-category{border-top:1px solid var(--aq-border);padding-top:14px;margin-top:14px}
.cookie-category span{float:right;font-size:12px;color:var(--aq-text-3)}
.cookie-category label{display:flex;align-items:center;gap:10px;font-weight:600}
.cookie-category input{width:20px;height:20px;accent-color:var(--aq-focus)}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .world-rail{display:none}
  .agents{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .mnav{display:block;margin-left:auto}
  .site-header .aq-badge{display:none}
  .review-grid,.sec-grid,.perf-grid{grid-template-columns:minmax(0,1fr)}
  .perf-points{grid-template-columns:minmax(0,1fr)}
  .chapter__grid--flip,.chapter__grid,.organize-grid,.ask-grid{grid-template-columns:minmax(0,1fr)}
  .chapter__grid--flip>:first-child{order:0}
  .docx,.chat{grid-row:auto}
  .site-header>nav{display:none}
  .site-header .aq-badge{margin-left:auto}
  .lanes{grid-template-columns:minmax(0,1fr)}
  .lane+.lane{border-left:0;border-top:1px solid var(--aq-border)}
  .constellation{max-width:520px;width:100%;justify-self:center}
}
@media (max-height:800px) and (min-width:641px){
  .hero__copy{padding-bottom:48px}
  .hero__lead{font-size:var(--aq-text-md)}
  .trust-block{margin-top:14px}
}
@media (max-width:640px){
  .hero__lead,.hero__audience,.trust-block{max-width:none}
  .trust{grid-template-columns:minmax(0,1fr)}
  .sec-cards,.scen{grid-template-columns:minmax(0,1fr)}
  .score{min-width:0;font-size:var(--aq-text-xs)}
  .score th:nth-child(3),.score td:nth-child(3){display:none}
  .score .bar{max-width:40px}
  .score th,.score td{padding:9px 5px}
  .log__list li{grid-template-columns:38px 1fr}
  .log__list .lg{grid-column:2;justify-self:start}
  .mail__from{flex-direction:column;gap:2px}
  .hero{height:200vh}
  .hero__copy{padding-bottom:88px}
  .hero__cue{display:none}
  .hero__title{font-size:clamp(2.4rem,11vw,3.4rem)}
  .kpis .aq-kpi__delta{display:none}
  .sankey{height:320px}
  .timeline{height:190px}
  .strip__grid,.agents{grid-template-columns:minmax(0,1fr)}
  .kpis{gap:10px}
  .aq-window__body{padding:16px}
  .evidence__body{grid-template-columns:minmax(0,1fr)}
  .evidence__mid{min-height:0;height:54px}
  .evidence__wires{display:none}
  .match-pill{top:50%!important}
  .evidence__verdict,.checks{grid-template-columns:minmax(0,1fr)}
  .docx__body{grid-template-columns:minmax(0,1fr)}
  .paper{transform:none}
  .sim__out{grid-template-columns:minmax(0,1fr)}
  .heatmap{gap:3px}
  .heatmap .unit{font-size:9px;padding-right:4px}
  .cell{border-radius:3px;font-size:7px}
  .mortgage-row{grid-template-columns:18px 1fr auto}
  .mortgage-row .meter{display:none}
  .monitor-stats{gap:18px}
  .cat{grid-template-columns:96px 1fr 56px}
  .analytics-choice{left:12px;right:12px;bottom:12px;padding:18px}
  dialog#privacy{padding:22px}
  #privacy form{bottom:-22px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero{height:auto}
  .hero__stage{position:relative;height:auto;min-height:100svh}
  .hero__copy{padding-top:calc(110px + env(safe-area-inset-top,0px))}
  .js .reveal,.js .reveal-stagger>*{opacity:1;transform:none;transition:none}
  .sankey .flow,.hero__cue i,.stage.is-now,.range__hit{animation:none}
  .tag,.act,.cell,.field,.hl,.cat__bar,.wire,.match-pill,.js [data-anim="sankey"] .sankey svg>g:first-child,.constellation .edge{transition:none}
}
