/* Graphic grammar: one orange signal, quiet structure, generous clear space. */
.quantitative-graphic { width:100%; max-width:600px; margin-inline:auto; }
.quantitative-graphic > svg { width:100%; height:auto; display:block; }
.quantitative-network .graphic-model__edges { stroke-width:.75; opacity:.32; }
.quantitative-network .graphic-trace > path { stroke-width:1.5; }
.quantitative-network .graphic-model__node { stroke-width:1.35; }
.quantitative-network .graphic-trace > circle { r:2.4px; }
.platform-graphic { width:100%; max-width:560px; margin:auto; }
.platform-graphic svg { display:block; width:100%; height:auto; }
.graphic-icons { color:var(--brand); }
.lqm-pipeline__connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.lqm-pipeline__core { left:32%; width:36%; top:32%; height:29%; }
.lqm-pipeline .signal-icon { overflow:visible; }
.lqm-pipeline .signal-icon > svg { position:static; }
.lqm-pipeline__fallback { display:block; }
.solution-art__icons .data-cycle__products { stroke-width:1.4; }
.graphic-title { fill:var(--ink); font:800 20px var(--font); }
.graphic-enclosure { fill:var(--surface-quiet); stroke:var(--rule-strong); stroke-width:1; }
.graphic-trace > path { fill:none; stroke:var(--graphic-route); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.graphic-trace > circle { fill:var(--brand); }
.graphic-trace > circle + circle { fill:var(--brand-pale); }
.graphic-model__boundary { fill:var(--surface); stroke:var(--rule-strong); stroke-width:.8; }
.graphic-model__edges { fill:none; stroke:var(--graphic-route); stroke-width:.7; }
.graphic-model .graphic-trace > path { stroke:var(--brand); stroke-width:.8; opacity:var(--trace-active,.16); transition:opacity .65s ease; }
.graphic-model .graphic-trace > circle { r:1.7px; }
.graphic-model__node { fill:color-mix(in srgb,var(--brand) calc(var(--node-lit,0)*100%),var(--surface)); stroke:var(--brand); stroke-width:.9; }
.graphic-pattern rect { fill:var(--rule-strong); }
.graphic-pattern rect:nth-child(3n + 1) { fill:var(--brand); }
.graphic-running .graphic-pattern rect { animation:graphic-pattern 8s ease infinite; animation-delay:calc(var(--cell)*.16s); }
.graphic-forecast { fill:none; stroke:var(--brand); stroke-width:2; stroke-linecap:round; }
.graphic-forecast__branch { stroke-dasharray:2 4; }
.graphic-running .graphic-forecast__branch { animation:graphic-branch 8s ease infinite; }
@keyframes graphic-pattern { 0%,12%,85%,100%{opacity:.4} 30%,65%{opacity:1} }
@keyframes graphic-branch { 0%,25%,100%{opacity:.2} 50%,80%{opacity:1} }
.tech-source svg,.tech-output svg,.lqm-input svg,.lqm-output svg { filter:none; }
[data-quiet-graphic] [data-graphic-source] { opacity:0; transition:opacity .5s ease; }
[data-quiet-graphic] [data-graphic-source].is-current { opacity:1; }
.solution-art__exchange { stroke-width:1.2; }
.solution-art__model { color:var(--brand); }
.solution-art__resting-ring { fill:none; stroke:var(--rule-strong); stroke-width:1; }
.teamstage .quiet-team { width:68%; height:68%; position:absolute; inset:16%; color:var(--brand); overflow:visible; }
.quiet-team > g { opacity:0; }
.quiet-team > g.is-current { opacity:1; }
.quiet-team > g.is-current { animation:graphic-team-in .32s ease both; }
@keyframes graphic-team-in { from{opacity:.2} to{opacity:1} }
.quiet-team g > svg { width:24px; height:24px; }
.page-home .home-static-team { display:none; }
.tech-quiet-flow { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.tech-quiet-model { width:100%; height:100%; max-width:180px; display:block; margin:auto; }
.tech-sources { inset:auto; left:50%; top:50%; width:min(100%,var(--visual-height)); aspect-ratio:1; transform:translate(-50%,-50%); }
.tech-source { position:absolute; left:var(--x); top:var(--y); translate:-50% -50%; padding:0; }
.tech-outputs { inset:12% 0; display:flex; flex-direction:column; align-items:center; justify-content:space-between; }
.tech-output { position:static; translate:none; }
.tech-output svg { width:32px; }
.tech-fallback-glyph { inset:28%; width:44%; height:44%; stroke-width:1; }
.tech-fallback-glyph path,.tech-fallback-glyph rect,.tech-fallback-glyph circle { stroke-width:.75; }
.solution-art__exchange { opacity:1; }
.solution-art__exchange .graphic-trace > path { stroke:var(--graphic-route); stroke-opacity:1; }
.solution-art { container-type:inline-size; }
.solution-art__html-labels { position:absolute; inset:0; pointer-events:none; color:var(--body); font-size:clamp(13px,2.7cqw,16px); font-weight:600; line-height:1.4; }
.solution-art__html-label { position:absolute; transform:translate(-50%,-100%); white-space:nowrap; }
.solution-art__html-label--start { transform:translateY(-100%); }
.data-cycle__caption { position:absolute; width:44%; text-align:center; transform:translateX(-50%); }
.data-cycle__caption strong { display:block; color:var(--ink); font-size:clamp(14px,3.3cqw,18px); font-weight:800; line-height:1.3; }
.data-cycle__caption span { display:block; margin-top:4px; }
.data-cycle__caption--0 { top:0; left:50%; width:90%; }
.data-cycle__caption--1 { top:92%; left:26.35%; }
.data-cycle__caption--2 { top:92%; left:73.85%; }
.solution-art[data-solution-art='data'] { margin-bottom:42px; }
.about-wordmark.is-quiet canvas { display:none; }
.about-wordmark.is-quiet .about-wordmark__fallback { visibility:visible; }
.about-wordmark.is-quiet svg { width:78%; }
@media(max-width:899px){ .tech-diagram{--visual-height:160px} .tech-outputs{flex-direction:row;inset:30% 12%} .tech-quiet-flow{display:none} }
.quiet-team path,.quiet-team circle,.quiet-team rect,.quiet-team line,.quiet-team polyline { stroke-width:1; }
@media(prefers-reduced-motion:reduce){ .graphic-model .graphic-trace > path,.quiet-team > g,[data-quiet-graphic] [data-graphic-source] { transition:none;animation:none; } }

/* October 2 annotation: enlarge the model and put its three proof points beneath. */
.quantitative-visual { width:100%; }
.quantitative-graphic { max-width:none; }
.quantitative-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,2vw,28px); list-style:none; margin:20px 0 0; padding:24px 0 0; border-top:1px solid var(--rule); }
.quantitative-proof li { text-align:center;align-items:center;display:flex; flex-direction:column; gap:8px; }
.quantitative-proof strong { color:var(--brand); font-size:clamp(20px,2.2vw,32px); font-weight:800; line-height:1.15; }
.quantitative-proof span { color:var(--ink); font-size:clamp(12px,1.05vw,15px); font-weight:600; line-height:1.45; }
.page-home .lqm__diagram { max-width:none; }
.page-home .lqm__grid { align-items:center; }

/* Keep the illustration and proof strip balanced against the homepage copy. */
@media(min-width:1101px) {
 .page-home .quantitative-graphic > svg { height:auto; }
 .page-home .quantitative-proof { margin-top:12px; padding-top:20px; }
}

.quantitative-title { font-size:28px; }
.quantitative-network .graphic-trace > path { transition:opacity .16s linear; }
.quantitative-network .graphic-model__edges { opacity:.24; }

/* Behavioral models share the homepage's spherical particle material. */
.behavioral-orb { position:relative;width:100%;height:100%;aspect-ratio:1; }
.behavioral-orb > svg,.behavioral-orb > canvas { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
.behavioral-orb > canvas {opacity:0;}
.behavioral-orb.is-painted > canvas {opacity:1;}
.behavioral-orb.is-painted > svg {opacity:0;}
.tech-visual > .behavioral-orb {width:min(100%,var(--visual-height));margin:auto;}
.signal-decay {position:absolute;inset:0;pointer-events:none;}
.signal-decay i {position:absolute;left:50%;top:50%;width:2px;height:2px;border-radius:50%;background:var(--orange,#fb7e42);opacity:0;animation:signal-decay 1.45s linear var(--delay) infinite;animation-play-state:paused;}
.signals-visible .signal-decay i {animation-play-state:running;}
@keyframes signal-decay {0%{opacity:0;transform:rotate(var(--angle)) translateX(18px) scale(.7);}15%{opacity:.65;}80%,100%{opacity:0;transform:rotate(var(--angle)) translateX(calc(18px + var(--travel))) scale(.3);}}
@media(prefers-reduced-motion:reduce){.signal-decay{display:none;}}

.svg-signal-burst circle {fill:var(--brand);opacity:0;animation:svg-signal-decay 1.45s linear var(--delay) infinite;animation-play-state:paused;}
.signals-visible .svg-signal-burst circle {animation-play-state:running;}
@keyframes svg-signal-decay {0%{opacity:0;transform:translateX(20px);}15%{opacity:.65;}85%,100%{opacity:0;transform:translateX(40px);}}
@media(prefers-reduced-motion:reduce){.svg-signal-burst{display:none;}}
/* One consistent entry rhythm beneath the navigation on every page. */
:root {--page-entry-gap:clamp(32px,4vw,56px);}
body :is(.tech-hero,.solution-hero,.lqm-explainer-hero,.lbm-hero,.about-story,.mcp-hero,.phero,.contact,.article,.doc) {padding-top:var(--page-entry-gap);}
body :is(.solution-hero,.lqm-explainer-hero,.lbm-hero,.about-story,.phero__inner) {align-items:start;}
body .about-story__intro {padding-top:0;}
.page-home .hero__copy {align-self:start;padding-top:var(--page-entry-gap);}
body .about-story:has(.about-wordmark) {align-items:start;padding-top:var(--page-entry-gap);}
