/* Page-specific presentation on a11's shared product design system. */
.accent-amber { --accent:#e7bc83;--accent-2:#f5e3bd;--accent-ink:#211609;--accent-soft:#e7bc8317;--glow:#e7bc8338; }
.accent-lilac { --accent:#b6abef;--accent-2:#e1c7ef;--accent-ink:#17102b;--accent-soft:#b6abef17;--glow:#b6abef38; }
.accent-sage { --accent:#a3c9a0;--accent-2:#d8dfb1;--accent-ink:#112013;--accent-soft:#a3c9a017;--glow:#a3c9a038; }
.accent-ice { --accent:#84cde5;--accent-2:#b8b6f4;--accent-ink:#0a1a23;--accent-soft:#84cde517;--glow:#84cde538; }
[data-theme=light] .accent-amber { --accent:#896026;--accent-2:#8f602b;--accent-ink:#fff;--accent-soft:#89602613; }
[data-theme=light] .accent-lilac { --accent:#6d50ac;--accent-2:#95519e;--accent-ink:#fff;--accent-soft:#6d50ac13; }
[data-theme=light] .accent-sage { --accent:#466e40;--accent-2:#65723d;--accent-ink:#fff;--accent-soft:#466e4013; }
[data-theme=light] .accent-ice { --accent:#176f8f;--accent-2:#7054bc;--accent-ink:#fff;--accent-soft:#176f8f13; }
.product-hero { padding:clamp(48px,6vw,90px) 0 0; overflow:hidden; position:relative; background:radial-gradient(ellipse at 84% 32%,var(--accent-soft),transparent 55%); }
.hero-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:28px;align-items:center;min-height:680px;padding-bottom:56px; }
.hero-copy { position:relative;z-index:2; }
.hero-copy .display { font-size:clamp(52px,5.1vw,74px); }
.display em { font-style:normal;color:var(--accent); }
.hero-copy .lede { max-width:500px;font-size:19px; }
.hero-copy .actions { gap:10px; }
.hero-copy .btn { padding:0 18px;font-size:14px; }
.hero-status { display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:12px;margin:28px 0 0;max-width:410px; }
.hero-status .dot { margin-top:7px;width:5px;height:5px;flex:none; }
.hero-model { min-width:0; }
.model-stage { position:relative;margin:0 -45px; }
.model-stage svg { width:100%;height:auto;overflow:visible; }
.drawing-label { display:block;text-align:right;padding-right:36px;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted); }
.model-controls { margin-top:25px;text-align:center; }
.model-controls p { font:12px/1.5 var(--font-mono);color:var(--muted);min-height:36px;margin:16px 0 0; }
.product-hero .stats { margin-top:0; }
.product-hero .stat { padding-top:32px;padding-bottom:32px; }
.product-hero .stat strong { font-size:clamp(30px,3.1vw,44px); }
.editorial-columns { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:52px; }
.editorial-columns p,.process-strip p { color:var(--text-2);font-size:16px;line-height:1.7;margin-bottom:0; }
.editorial-columns .number { font:12px var(--font-mono);color:var(--accent);display:block;margin-bottom:16px; }
.editorial-columns .title { font-size:24px; }
.feature-visual { padding:clamp(12px,3vw,36px);background:radial-gradient(ellipse at 50% 100%,var(--accent-soft),var(--bg-raised) 70%); }
.feature-visual svg { width:100%;height:auto; }
.lab { padding:28px 26px 0;background:radial-gradient(ellipse at center,var(--accent-soft),transparent 80%),var(--bg-raised); }
.lab svg { width:100%; }
.lab-controls { border-top:1px solid var(--line);display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:24px 8px; }
.lab-controls label { font-size:14px;font-weight:550; }
.lab-controls input { min-width:120px;flex:1;accent-color:var(--accent); }
.lab-controls output { min-width:130px;font:13px var(--font-mono);color:var(--text-2); }
.lab-controls .chip { font-size:10px; }
svg text { font-family:var(--font-sans);fill:var(--text);font-size:22px; }
svg .svg-small { font-size:16px;fill:var(--muted); }
.leader { fill:none;stroke:var(--muted);stroke-width:1; }
.diagram-surface { fill:var(--surface-2);stroke:var(--line-strong);stroke-width:2; }
.mat-fabric { fill:#bba98d;stroke:#e7dbc6;stroke-width:1; }
.mat-batting { fill:#e0d7c2;stroke:#e9e3d2; }
.mat-latex { fill:#d9bd7d;stroke:#f3d9a5; }
.mat-air { fill:#6c8b87;stroke:#99c1b9; }
.mat-timber { fill:#8b6447;stroke:#c39467; }
.mat-edge { fill:#493b30;opacity:.7; }
.cushion-tile { fill:var(--accent-soft);stroke:var(--accent);stroke-opacity:.45;stroke-width:1; }
.rail { fill:none;stroke:var(--metal-c);stroke-width:9;stroke-linecap:round; }
.gantry { fill:none;stroke:var(--metal-b);stroke-width:13;stroke-linecap:round; }
.massage-head { fill:var(--accent);stroke:var(--bg);stroke-width:5; }
.axis { fill:none;stroke:var(--accent);stroke-width:3; }
.sweep { fill:none;stroke:var(--line-strong);stroke-width:2;stroke-dasharray:6 7; }
.lower-shell { fill:var(--surface-3);stroke:var(--metal-c);stroke-width:12; }
.mattress { fill:#d2c6b6;stroke:#f3ebda;stroke-width:2; }
.canopy-arc { fill:none;stroke:url(#canopy-metal);stroke-width:18;stroke-linecap:round; }
.bogie { fill:var(--accent);stroke:var(--bg);stroke-width:4; }
.section-frame { fill:var(--accent-soft);stroke:#ae8b58;stroke-width:11;stroke-linejoin:round; }
.floor { fill:none;stroke:var(--metal-c);stroke-width:10; }
.dimension { fill:none;stroke:var(--muted);stroke-width:1.5; }
.authority-box { fill:var(--accent-soft);stroke:var(--accent);stroke-width:2; }
.authority-path { fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5; }
.balance-lab { padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:60px; }
.balance-value { display:block;font-size:clamp(46px,6vw,80px);letter-spacing:-.04em;line-height:1.2;margin-top:30px;color:var(--accent); }
.balance-value small { font-size:24px;color:var(--muted);font-weight:400; }
.balance-lab p { color:var(--text-2); }
.balance-copy { border-left:1px solid var(--line);padding-left:42px; }
.balance-copy .title { font-size:22px; }
.balance-copy p { font-size:15px;margin:12px 0 28px; }
.process-strip { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px; }
.process-strip article { border-top:1px solid var(--line-strong);padding-top:28px; }
.process-icon { display:block;color:var(--accent);font:44px/1 var(--font-mono);letter-spacing:-.05em;margin-bottom:28px; }
.process-strip .chip { margin-top:22px;font-size:10px;white-space:normal;line-height:1.5; }
.cost-body small { font:11px/1.5 var(--font-mono);color:var(--muted);overflow-wrap:anywhere; }
.cost-summary .eyebrow { font-size:10px; }
.cost-summary .total { font-size:33px; }
.cost-summary .chip { font-size:10px; }
.end-note { text-align:center;background:radial-gradient(ellipse at 50% 100%,var(--accent-soft),transparent 70%); }
.end-note .lede,.end-note .fine { margin-left:auto;margin-right:auto; }
.end-note .actions { justify-content:center; }
.view-fade { animation:view-appear .5s var(--ease); }
.enlarge-diagram { display:block;margin:14px auto 0;padding:8px 14px;background:transparent;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-2);font:11px var(--font-mono); }
.diagram-dialog { width:min(1400px,96vw);max-height:95vh;padding:24px;background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-lg); }
.diagram-dialog::backdrop { background:#000b;backdrop-filter:blur(8px); }
.dialog-header { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px; }
.dialog-header p { margin:0;font-size:14px;color:var(--text-2); }
.diagram-viewport { overflow:auto;max-height:75vh; }
.diagram-viewport svg { width:100%;min-width:800px;height:auto; }
@keyframes view-appear { from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)} }
@media(min-width:1440px){ .hero-grid{gap:36px;} }
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr;gap:20px;min-height:0;}.hero-copy{text-align:center;max-width:740px;margin:auto;}.hero-copy .display{font-size:clamp(54px,9vw,84px);}.hero-copy .lede{max-width:630px;margin-left:auto;margin-right:auto;}.hero-copy .actions,.hero-status{justify-content:center;}.hero-status{max-width:none;}.hero-model{max-width:780px;width:100%;margin:auto;}.model-stage{margin:-8px 0 0;}.drawing-label{padding-right:0;}.editorial-columns{gap:25px;}.editorial-columns .title{font-size:21px;}.balance-lab{gap:30px;}.balance-copy{padding-left:28px;} }
@media(max-width:680px){.brand small{display:none;}.product-hero{padding-top:40px;}.hero-copy .eyebrow{font-size:10px;}.hero-copy .lede{font-size:17px;}.hero-copy .display{font-size:54px;}.hero-copy .actions{gap:10px;margin-top:25px;}.hero-copy .btn{height:43px;padding:0 14px;font-size:12px;}.hero-status{font-size:10px;}.hero-grid{padding-bottom:30px;}.model-stage{margin:0 -15px;}.drawing-label{text-align:center;font-size:8px;}.model-controls{margin-top:18px;}.model-controls p{font-size:10px;}.seg button{font-size:12px;padding:8px 12px;}.product-hero .stats{grid-template-columns:1fr;}.product-hero .stat{padding:18px 0;display:flex;gap:22px;align-items:center;}.product-hero .stat strong{min-width:150px;font-size:28px;}.product-hero .stat span{margin:0;font-size:12px;}.editorial-columns,.process-strip{grid-template-columns:1fr;gap:32px;}.editorial-columns{margin-top:36px;}.editorial-columns article{border-bottom:1px solid var(--line);padding-bottom:24px;}.editorial-columns p{margin-top:12px;font-size:15px;}.lab{padding:12px 8px 0;}.lab-controls{padding:18px 7px;gap:12px;}.lab-controls .chip{font-size:8px;}.lab-controls label{font-size:12px;}.lab-controls output{font-size:11px;}.lab-controls input{width:100%;}.balance-lab{grid-template-columns:1fr;}.balance-copy{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;}.balance-copy p:last-child{margin-bottom:0;}.cost-row summary{gap:8px;font-size:14px;}.cost-row .price{font-size:13px;}.cost-row summary small{font-size:10px;}.cost-summary .total{font-size:30px;} }
