/* Shared structure. Palette files contain tokens only. */
.mega-planned{padding:18px 12px;margin-top:8px;border-top:1px solid var(--line);color:var(--ink)}
.mega-planned strong{display:block;font:600 1.5rem/1.2 var(--display)}
.mega-planned span{display:block;font-size:1rem;color:var(--muted);margin-top:6px}
.mega-planned small{display:inline-block;font-size:.875rem;color:var(--muted);margin-top:8px}
.brand{width:270px;flex-shrink:0;color:var(--red)}
.brand img,.brand .brand-vector{display:block;width:100%;height:60px;object-fit:contain;max-width:none}
.brand-light{color:var(--white)}
.brand-light img{filter:brightness(0) invert(1)}
.hero-copy h1{font-size:clamp(3.3rem,5.4vw,5.7rem)}
.hero-intro{max-width:34rem}
.results-layout{align-items:start;grid-template-columns:.62fr 1.38fr}
.results-copy h2{font-size:clamp(2.5rem,4vw,4.5rem)}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.comparison{margin:0;min-width:0;width:100%}
.photo-note{font-size:1rem}
.comparison-stage{position:relative;isolation:isolate;aspect-ratio:3/2;overflow:hidden;background:var(--stone)}
.comparison-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.comparison-before{clip-path:inset(0 calc(100% - var(--compare)) 0 0)}
.comparison-label{position:absolute;top:14px;padding:7px 10px;color:#fff;background:#252b24e8;font-size:.875rem;font-weight:700;pointer-events:none}
.comparison-label.before{left:16px}.comparison-label.after{right:16px}
.comparison-handle{position:absolute;left:var(--compare);top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--white);color:var(--ink);display:grid;place-content:center;font-size:1.4rem;box-shadow:0 0 0 2px var(--red);pointer-events:none}
.comparison-handle:before,.comparison-handle:after{content:"";position:absolute;left:21px;width:2px;height:600px;background:var(--white)}
.comparison-handle:before{bottom:44px}.comparison-handle:after{top:44px}
.comparison-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.comparison-stage:focus-within{outline:3px solid var(--red);outline-offset:5px}
.comparison figcaption{font-size:1rem;color:var(--ink);font-weight:700;padding-top:10px}
.about-visual{background:var(--stone);position:relative}
.about-visual>img{aspect-ratio:4/5;object-fit:cover;object-position:center 25%;width:100%;max-height:650px}
.about-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 30px;background:var(--ink);color:var(--white)}
.about-visual figcaption{display:block}
.about-visual figcaption strong{font:700 2rem/1.15 var(--display);letter-spacing:0;color:var(--white)}
.about-visual figcaption span{display:block;font-size:1rem;margin-top:8px}
.business-band,.site-footer{background-color:var(--ink);color:var(--white)}
.hero,.closing-box{background:var(--red);color:var(--white)}
.button.button-red,.sminq-primary{background:var(--red);color:var(--white)}
.button.button-red:hover,.button.button-red:focus-visible,.sminq-primary:hover,.sminq-primary:focus-visible{background:var(--red-deep);color:var(--white)}
.button.button-light{background:var(--white);color:var(--ink)}
.button.button-light:hover,.button.button-light:focus-visible{background:var(--stone);color:var(--ink)}
.sminq-dialog{--sminq-accent:var(--red);color:var(--ink);background:var(--paper)}
.sminq-dialog input,.sminq-dialog select,.sminq-dialog textarea{background:var(--white);border-color:var(--muted);accent-color:var(--red)}
.sminq-dialog .sminq-status{background:var(--stone)}
.sminq-dialog .sminq-back{color:var(--ink)}
.sminq-progress{border-color:var(--line)}
.sminq-dialog h2{margin-bottom:24px}
.closing-box h2+p,.about-copy h2+p,.results-copy h2+p{margin-top:24px}
@media(max-width:980px){.results-layout{grid-template-columns:1fr;gap:36px}}
@media(max-width:760px){.brand{width:220px}.brand img,.brand .brand-vector{height:50px}.hero-copy h1{font-size:clamp(2.9rem,10vw,4rem)}.comparison-grid{grid-template-columns:1fr;gap:28px}.comparison-label{top:12px;padding:6px 9px}.comparison-label.before{left:10px}.comparison-label.after{right:10px}.about-visual>img{max-height:530px}.about-visual figcaption{padding:20px}.about-visual figcaption strong{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
