/* The approved homepage presentation. Other page families keep their own styles. */
.homepage-studio { --ink:var(--studio-ink); --paper:#fff; --muted:var(--studio-muted); --muted-2:var(--studio-muted); --rule:var(--studio-rule); --rule-dark:var(--studio-rule); --accent:var(--studio-forest); --accent-soft:var(--studio-forest); --loss:#a33f2a; }
.homepage-studio .hero { padding:36px 0 32px; }
.homepage-studio .eyebrow { color:var(--studio-muted); font-size:11px; }
.homepage-studio .eyebrow::before { display:none; }
.homepage-studio h1 { font-family:Inter,system-ui,sans-serif; font-size:clamp(36px,4.1vw,56px); font-weight:600; line-height:1.08; letter-spacing:-.045em; max-width:30ch; text-wrap:pretty; }
.homepage-studio .lede { max-width:780px; font-size:17px; margin-top:20px; }
.homepage-studio .calculator { padding-bottom:48px; }
.homepage-studio .home-workspace { display:grid; grid-template-columns:minmax(0,34fr) minmax(0,66fr); align-items:start; }
.homepage-studio .home-editor { min-width:0; padding-right:34px; border-right:1px solid var(--studio-rule); }
.homepage-studio .calc-band { padding:0 0 28px; border:0; }
.homepage-studio .calc-band + .calc-band { border-top:1px solid var(--studio-rule); padding-top:26px; }
.homepage-studio .step-grid { display:block; }
.homepage-studio .step-kicker { color:var(--studio-muted); font-size:11px; letter-spacing:.1em; }
.homepage-studio .step-title { font-family:Inter,system-ui,sans-serif; font-size:21px; font-weight:600; line-height:1.3; letter-spacing:-.025em; text-wrap:pretty; }
.homepage-studio .preview-entry { margin-top:12px; padding-top:0; border:0; }
.homepage-studio .preview-entry p,.homepage-studio .step-transition { font-size:14px; }
.homepage-studio .preview-entry-button { border:0; padding:0; min-height:40px; background:none; text-decoration:underline; text-underline-offset:4px; border-radius:0; color:var(--studio-forest); }
.homepage-studio .preview-entry-actions { margin-top:0; }
.homepage-studio .scenario-status { color:var(--studio-muted); font-size:12px; margin:14px 0; }
.homepage-studio .reset-row { margin:0 0 14px; }
.homepage-studio .reset-link { color:var(--studio-muted); min-height:36px; }
.homepage-studio .control-grid,.homepage-studio .control-grid.life-controls,.homepage-studio .control-grid.two { grid-template-columns:1fr; gap:18px; }
.homepage-studio .field label,.homepage-studio .allocation-label { font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; }
.homepage-studio .field input,.homepage-studio .field select,.homepage-studio .priced-goal .field input { height:48px; font-size:16px; background:#fff; border-color:var(--studio-rule); border-radius:4px; }
.homepage-studio .field input:focus,.homepage-studio .field select:focus { border-color:var(--studio-forest); box-shadow:0 0 0 2px #175c4914; }
.homepage-studio .helper,.homepage-studio .priced-goal-helper { font-size:14px; line-height:1.5; }
.homepage-studio .helper a { text-decoration:underline; text-underline-offset:3px; }
.homepage-studio .chip-row { gap:0; border-bottom:1px solid var(--studio-rule); }
.homepage-studio .life-chip { min-height:48px; border:0; border-bottom:3px solid transparent; border-radius:0; background:none; color:var(--studio-muted); padding:0 5px; }
.homepage-studio .life-chip.active { background:none; color:var(--studio-ink); border-bottom-color:var(--studio-forest); font-weight:600; }
.homepage-studio .life-chip span,.homepage-studio .life-chip.active span { color:#fff; background:var(--studio-ink); }
.homepage-studio .life-chip:first-child span { left:0; transform:none; }
.homepage-studio .life-chip:last-child span { left:auto; right:0; transform:none; }
.homepage-studio .priced-goal { border:0; padding:0; background:none; margin-top:18px; }
.homepage-studio .priced-goal-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:14px; }
.homepage-studio .priced-goal-label,.homepage-studio .priced-goal-join,.homepage-studio .priced-goal-unit { display:none; }
.homepage-studio .step-transition { margin-bottom:18px; }
.homepage-studio .allocation-select { max-width:none; }
.homepage-studio .allocation-grid { grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.homepage-studio .allocation-assumptions summary { font-size:14px; min-height:36px; }
.homepage-studio .allocation-assumptions li { font-size:13px; }
.homepage-studio .warning:empty { display:none; }
.homepage-studio .result-entry { display:block; }
.homepage-studio .result-entry-button { width:100%; min-height:48px; border-radius:4px; background:var(--studio-forest); color:#fff; }
.homepage-studio .result-readiness { font-size:13px; margin-top:12px; }
.homepage-studio .reveal { min-width:0; background:#fff; color:var(--studio-ink); padding:0 0 0 36px; margin:0; scroll-margin-top:24px; }
.homepage-studio .reveal-inner { display:block; max-width:none; }
.homepage-studio .rate-lockup { padding:0; }
.homepage-studio .headline-result { display:block; margin:0; }
.homepage-studio .headline-result-copy { gap:14px; }
.homepage-studio .headline-result-label { color:var(--studio-muted); font-size:11px; letter-spacing:.12em; }
.homepage-studio .headline-result strong { font-family:Inter,system-ui,sans-serif; font-size:76px; font-style:normal; font-weight:500; color:var(--studio-forest); line-height:1; letter-spacing:-.055em; }
.homepage-studio .headline-result strong:is(.gain,.loss,.neutral) { color:var(--studio-forest); }
.homepage-studio .assumption { margin-top:14px; font-size:12px; text-transform:none; letter-spacing:0; color:var(--studio-muted); }
.homepage-studio .interpretation { font-size:23px; line-height:1.4; letter-spacing:-.025em; color:var(--studio-ink); margin:14px 0 20px; }
.homepage-studio .coverage-track { margin:0 0 22px; }
.homepage-studio .coverage-track > span { transition:width .5s ease; }
.homepage-studio .sample-badge { border-radius:4px; padding:12px; color:var(--studio-ink); background:var(--studio-sage); font-size:13px; font-weight:400; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.homepage-studio .home-chart-title { font-family:Inter,system-ui,sans-serif; font-size:16px; font-weight:600; text-wrap:initial; margin:0; }
.homepage-studio .home-chart-note { font-size:12px; color:var(--studio-muted); margin:6px 0 12px; }
.homepage-studio .home-chart svg { display:block; width:100%; overflow:visible; }
.homepage-studio .home-chart svg text { fill:var(--studio-muted); font:12px Inter,system-ui,sans-serif; }
.homepage-studio .home-chart-grid { stroke:var(--studio-rule); stroke-width:1; }
.homepage-studio .home-chart-cost,.homepage-studio .home-chart-resources { fill:none; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.homepage-studio .home-chart-cost { stroke:#596b61; stroke-dasharray:5 4; }
.homepage-studio .home-chart-resources { stroke:var(--studio-forest); }
.homepage-studio .home-chart-cost-dot { fill:#596b61; }
.homepage-studio .home-chart-resources-dot { fill:var(--studio-forest); }
.homepage-studio .home-chart-totals { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:14px 0; }
.homepage-studio .home-chart-totals span { display:block; color:var(--studio-muted); font-size:12px; }
.homepage-studio .home-chart-totals span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#596b61; }
.homepage-studio .home-chart-totals .resources-key::before { background:var(--studio-forest); }
.homepage-studio .home-chart-totals strong { display:block; font-size:21px; font-weight:500; margin-top:5px; font-variant-numeric:tabular-nums; }
.homepage-studio .home-chart-table summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:13px; color:var(--studio-muted); }
.homepage-studio .home-chart-table [role="region"] { overflow:auto; max-height:360px; }
.homepage-studio .home-chart-table table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.homepage-studio .home-chart-table caption { text-align:left; font-size:12px; color:var(--studio-muted); padding:8px 0; }
.homepage-studio .home-chart-table th,.homepage-studio .home-chart-table td { text-align:right; white-space:nowrap; border-bottom:1px solid var(--studio-rule); padding:10px 6px; }
.homepage-studio .home-chart-table th:first-child { text-align:left; }
.homepage-studio .path-layer { margin-top:12px; }
.homepage-studio .path-title,.homepage-studio .path-verdict,.homepage-studio .result-details-assumption,.homepage-studio .driver-title,.homepage-studio .driver-sub,.homepage-studio .driver-sentence span,.homepage-studio .vector-why { color:var(--studio-muted); font-size:13px; }
.homepage-studio .result-details summary,.homepage-studio .result-trust summary,.homepage-studio .save-result summary { color:var(--studio-ink); font-size:14px; }
.homepage-studio .result-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.homepage-studio .result-metric span { color:var(--studio-muted); text-transform:none; font-size:12px; letter-spacing:0; }
.homepage-studio .result-metric strong,.homepage-studio .result-metric strong.neutral,.homepage-studio .result-metric strong .rate-pct { font-family:Inter,system-ui,sans-serif; color:var(--studio-ink); font-style:normal; font-size:22px; }
.homepage-studio .driver-name,.homepage-studio .driver-rate,.homepage-studio .driver-sentence,.homepage-studio .vector-takeaway,.homepage-studio .gap-levers-list li,.homepage-studio .gap-levers-list a,.homepage-studio .result-trust-body a { color:var(--studio-ink); }
.homepage-studio .driver-bar { background:var(--studio-sage); }
.homepage-studio .driver-bar span { background:#596b61; }
.homepage-studio .result-trust-body,.homepage-studio .gap-levers-title,.homepage-studio .cta-helper { color:var(--studio-muted); font-size:13px; }
.homepage-studio .reveal-actions { grid-template-columns:auto auto; gap:12px; margin-top:24px; }
.homepage-studio .secondary-button,.homepage-studio .share-controls .secondary-button { color:var(--studio-ink); background:#fff; border:1px solid var(--studio-rule); border-radius:4px; }
.homepage-studio #openSimulator { color:#fff; background:var(--studio-forest); border-color:var(--studio-forest); }
.homepage-studio #editInputs.secondary-button { color:var(--studio-muted); }
.homepage-studio .results-capture-shell { background:var(--studio-sage); width:100%; }
.homepage-studio .results-capture-headline,.homepage-studio .results-capture-confirm,.homepage-studio .results-capture-error a,.homepage-studio .results-capture-link { color:var(--studio-ink); }
.homepage-studio .results-capture-fine,.homepage-studio .share-note,.homepage-studio .share-feedback { color:var(--studio-muted); }
.homepage-studio .results-capture-row input { color:var(--studio-ink); background:#fff; font-size:16px; min-height:48px; min-width:0; }
.homepage-studio .results-capture-row button { background:var(--studio-forest); color:#fff; border-radius:4px; min-height:48px; }
.homepage-studio .results-capture-error { color:#a33f2a; }
.homepage-studio .share-controls { width:100%; }
.homepage-studio .context-section { background:#fff; border-top:1px solid var(--studio-rule); padding:42px 0; }
.homepage-studio .finish-line { background:var(--studio-sage); border-color:var(--studio-rule); padding:40px 0; }
.homepage-studio .finish-line h2 { font-size:40px; color:var(--studio-ink); }
.homepage-studio .finish-line-link.primary,.homepage-studio .x-strip-cta { background:var(--studio-forest); color:#fff; border-radius:4px; }
.homepage-studio .explore { background:#fff; padding:40px 0; }
.homepage-studio .explore-card { background:none; border-color:var(--studio-rule); border-radius:0; box-shadow:none; }
.homepage-studio .explore-card h3 { color:var(--studio-ink); }
.homepage-studio .explore-card p,.homepage-studio .explore-eyebrow,.homepage-studio .explore-card-kicker { color:var(--studio-muted); }
.homepage-studio footer { background:var(--studio-sage); color:var(--studio-muted); border-color:var(--studio-rule); }
.homepage-studio .footer-logo { color:var(--studio-ink); }
.homepage-studio .footer-logo span { color:#b46347; }
.homepage-studio .reveal.revealed .headline-result strong,.homepage-studio .reveal.revealed .path-layer,.homepage-studio .reveal.revealed .driver-panel { animation:none; }
@media(prefers-reduced-motion:no-preference) {
  .homepage-studio .home-chart svg { animation:home-chart-in .5s ease; }
  @keyframes home-chart-in { from { opacity:.5; } to { opacity:1; } }
}
@media(max-width:1000px) {
  .homepage-studio .home-editor { padding-right:24px; }
  .homepage-studio .reveal { padding-left:24px; }
  .homepage-studio .reveal-actions,.homepage-studio .results-capture-row { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .homepage-studio .hero { padding:28px 0; }
  .homepage-studio h1 { font-size:38px; }
  .homepage-studio .home-workspace { grid-template-columns:1fr; }
  .homepage-studio .home-editor { padding:0; border:0; }
  .homepage-studio .reveal { padding:28px 0 0; border-top:1px solid var(--studio-rule); }
  .homepage-studio .headline-result strong { font-size:64px; }
  .homepage-studio .interpretation { font-size:21px; }
  .homepage-studio .result-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .homepage-studio .home-chart-totals strong { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .homepage-studio *, .homepage-studio *::before, .homepage-studio *::after { animation:none !important; transition:none !important; }
}
