/* design polish 2026-10-15: type floor, measure, rhythm, taps */
h1,h2,h3,h4{line-height:1.2;text-wrap:balance}
p,li{text-wrap:pretty}
.site-nav-number{font-size:12px}
.site-header .site-nav a{font-size:13px}
.unfold-toggle-text,.map-toggle-label,.map-replay,.simulation-controls label{font-size:12.5px}
.simulation-controls select,.simulation-controls button{min-height:44px;font-size:12.5px}
.parallel-intro,.before-line{font-size:14px}
.parallel-intro,.parallel-intro~p,.before-line,.before-line~p,.sv-hint,.st-chip,.ob-eyebrow,.ob-intro p{max-width:36em}
.st-chip button{min-height:44px}
button[data-lang]{min-width:44px}
body[data-page=demo] :is(td,th){font-size:13px}
body[data-page=demo] small:not(.st-title small){font-size:12px}
body[data-page=demo] .ob h4{font-size:15px}
body[data-page=demo] .ob h3{font-size:17px}
main#content p{max-width:34em}
main#content a{display:inline-block;padding:11px 0}
body:not([data-page]) h1{font-size:30px}
@media(max-width:600px){html body .site-header .site-nav a{font-size:12px}}
body[data-page=home] main :is(p,li):not(.hero-proof){max-width:38em}
body[data-page=home] .hero-proof{max-width:34em;margin-inline:auto}
/* landing hero body text: bring in line with section/animation text (was 19/16/14.5px) */
body[data-page="home"] .hero .hero-question{font-size:16px!important;line-height:1.5!important}
body[data-page="home"] .hero .description{font-size:15px!important;line-height:1.55!important}
body[data-page="home"] .hero .hero-proof,body[data-page="home"] .hero .hero-proof *{font-size:14px!important}
@media(max-width:600px){body[data-page="home"] .hero .hero-question{font-size:15px!important}body[data-page="home"] .hero .description{font-size:14px!important}body[data-page="home"] .hero .hero-proof,body[data-page="home"] .hero .hero-proof *{font-size:13px!important}}
/* captions floor: 9-11px animation/demo captions -> 12px (headings & SVG chart text untouched) */
@media(min-width:900px){body[data-page="demo"] :is(.st-flag,.st-unit,.st-cap,.st-ex,.ob-sev,.ob-node,.ob-doc,dl dt,header>span){font-size:12px!important}}

/* landing desktop body text 10px (Hadi request); captions matched to 10px for hierarchy */
@media(min-width:900px){body[data-page="home"] main :is(p,li,td,label,summary,dd,blockquote):not(h1 *,h2 *,h3 *,h4 *,h5 *,h6 *),body[data-page="home"] .hero :is(.hero-question,.description,.hero-proof,.hero-proof *,.signature span),body[data-page="home"] main :is(.comparison-item b,.comparison-heading b,.comparison-caption small,.op-layer-label,.op-side-caption,.op-direct-caption,.op-people small,.op-sources small,.record-packet b,.record-explanation summary,.project-chip .project-code,.project-context span,.project-dial-center span,.project-dial-note,.project-page span,.wheel-project-label b,.wheel-project-label span,.wheel-navigation span,.department-hide button,.stage-manager summary,.stage-manager p,.stage-manager label.stage-check,.parallel-assumptions summary,.parallel-assumptions p,.parallel-kpis p,.parallel-kpi-label,.parallel-rate span,.before-line,.demo-clock-note,.cost-inputs label,.decision-progress-top span,.bubble-controls button,.simulation-controls small,.processing-status span,.feed-project,.alert-copy small,.alert-source,.alert-action,.alert-action span,.simulation-footnote,.offer-kicker,.timing-table caption,th){font-size:10px!important}}

/* stop Chrome Android "desktop site" text autosizing from inflating paragraphs */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* savings section: two-column card, proof as credibility block */
#savings-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;text-align:left}
#savings-cta .savings-main>p{margin:0 0 18px}
#savings-cta .savings-proof{border-left:1px solid #2a424a;padding-left:clamp(20px,3vw,36px)}
#savings-cta .sp-kicker{display:block;font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:#7ff0d1;margin-bottom:12px}
#savings-cta .sp-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#savings-cta .sp-stats li{max-width:none;margin:0;padding:12px;border:1px solid #23394a;border-radius:12px;background:#0b1720;display:flex;flex-direction:column;gap:4px}
#savings-cta .sp-stats b{font-size:20px!important;font-weight:650;color:#eaf6f2;line-height:1.1;white-space:nowrap}
#savings-cta .sp-stats span{font-size:11px!important;line-height:1.35;color:#9fb6bd}
#savings-cta .sp-caption{margin:12px 0 0;font-size:11px!important;line-height:1.5;color:#86a0a8;max-width:none}
@media(max-width:899px){#savings-cta{grid-template-columns:1fr}#savings-cta .savings-proof{border-left:0;border-top:1px solid #2a424a;padding:18px 0 0}#savings-cta .sp-stats b{font-size:18px!important}#savings-cta .sp-stats span,#savings-cta .sp-caption{font-size:12px!important}}
@media(max-width:420px){#savings-cta .sp-stats{grid-template-columns:1fr}#savings-cta .sp-stats li{flex-direction:row;align-items:baseline;gap:10px}}
@media(min-width:900px) and (max-width:1100px){#savings-cta .sp-stats b{font-size:17px!important}}

.tour-start-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;margin-right:10px;border-radius:999px;border:1px solid var(--site-mint,#7ff0d1);background:#7ff0d114;color:var(--site-mint,#7ff0d1);font:600 13px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap;position:relative;z-index:2}.tour-start-btn:hover{background:#7ff0d126}.tour-start-btn:focus-visible{outline:2px solid var(--site-mint,#7ff0d1);outline-offset:2px}@media(max-width:600px){.tour-start-btn{min-height:44px;padding:0 12px;font-size:13px;margin-right:6px}}
.dt-target{border-radius:12px}
.dt-star{position:fixed;left:0;top:0;width:6px;height:6px;border-radius:50%;background:#c2ffe4;box-shadow:0 0 6px #91e8bd;pointer-events:none;z-index:60;will-change:transform}
.dt-tail{position:fixed;left:0;top:0;width:22px;height:2px;transform-origin:0 50%;background:linear-gradient(90deg,#c2ffe4b3,#c2ffe400);pointer-events:none;z-index:59;will-change:transform}
.dash-tour-card{z-index:61}.dash-tour-card .tour-text b{color:var(--site-text,#e9f5f0)}
.dash-tour-btn{margin-right:8px}
@media(prefers-reduced-motion:reduce){.dt-tail{display:none}}
.dash-tour-card.dash-ask{position:fixed;max-width:min(320px,calc(100vw - 16px))}
