:root{--ex-text:#102439;--ex-muted:#556475;--ex-border:#d8e2e9;--ex-bg:#f5f8fb;--ex-main:#1b5d94;--ex-soft:#e9f3ff}
body[data-brand='moneyfigures']{--ex-text:#153427;--ex-muted:#52645b;--ex-bg:#f5f9f6;--ex-main:#176c48;--ex-soft:#e8f5ee}
body.expanded-body{background:var(--ex-bg);color:var(--ex-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55;margin:0}
.ex-container{width:min(1140px,calc(100% - 36px));margin:auto}
.ex-header{background:#fff;border-bottom:1px solid var(--ex-border);padding:16px 0}
.ex-head-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ex-brand{font-size:1.05rem;font-weight:800;color:var(--ex-main);text-decoration:none}
.ex-nav{display:flex;gap:20px;flex-wrap:wrap}.ex-nav a{color:var(--ex-text);font-size:.9rem;text-decoration:none;font-weight:600}
.ex-crumb{margin:24px 0 6px;color:var(--ex-muted);font-size:.85rem}.ex-crumb a{color:var(--ex-main)}
.ex-eyebrow{color:var(--ex-main);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:6px}
.ex-title{font-size:clamp(1.75rem,3.8vw,2.9rem);line-height:1.12;margin:6px 0 12px;letter-spacing:-.035em}
.ex-lead{color:var(--ex-muted);max-width:770px;margin:0 0 22px}
.ex-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.ex-panel{min-width:0;background:#fff;border:1px solid var(--ex-border);border-radius:14px;padding:22px;box-shadow:0 4px 18px #1536570b}
.ex-panel h2{font-size:1.2rem;letter-spacing:-.02em;margin:0 0 18px}.ex-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ex-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ex-field.full{grid-column:1/-1}.ex-field label{font-weight:650;font-size:.88rem}
.ex-field input,.ex-field select{border:1px solid #b7c8d2;background:white;color:var(--ex-text);border-radius:8px;width:100%;min-width:0;padding:11px 12px;font:inherit;box-sizing:border-box}
.ex-field input:focus-visible,.ex-field select:focus-visible,.ex-btn:focus-visible{outline:3px solid var(--ex-main);outline-offset:2px}
.ex-hint{font-size:.75rem;color:var(--ex-muted);line-height:1.3}
.ex-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ex-btn{min-height:44px;padding:11px 17px;background:var(--ex-main);color:white;border:0;border-radius:8px;font-weight:750;cursor:pointer}.ex-btn.secondary{background:var(--ex-soft);color:var(--ex-main)}
.ex-error{color:#ad182c;font-weight:700;font-size:.88rem;min-height:1.2em}
.ex-answer{background:var(--ex-soft);border-radius:10px;padding:18px;margin-bottom:15px}.ex-answer-label{font-size:.81rem;color:var(--ex-muted);margin:0 0 4px}.ex-amount{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;color:var(--ex-main);font-weight:850;overflow-wrap:anywhere}.ex-answer p{margin:6px 0 0;font-size:.83rem;color:var(--ex-muted)}
.ex-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ex-metric{border:1px solid var(--ex-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.ex-metric span{font-size:.75rem;color:var(--ex-muted)}.ex-metric strong{font-size:.96rem;overflow-wrap:anywhere}
.ex-subheading{font-size:.96rem;margin:22px 0 10px}.ex-breakdown-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ex-border);padding:8px 0;font-size:.86rem}.ex-breakdown-row strong{text-align:right}
.ex-section{margin:25px 0;padding:22px;background:#fff;border:1px solid var(--ex-border);border-radius:14px}.ex-section h2{margin:0 0 8px;font-size:1.2rem}.ex-section li{margin:6px 0}.ex-section p{color:var(--ex-muted);font-size:.88rem}
.ex-sources{font-size:.73rem;color:var(--ex-muted)}.ex-sources a{color:var(--ex-main)}.ex-sources h2{font-size:.85rem}
.ex-footer{text-align:center;padding:24px 0 35px;color:var(--ex-muted);font-size:.79rem}
.ex-skip{position:absolute;left:-10000px;top:auto}.ex-skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:100}
@media(max-width:730px){.ex-workspace{grid-template-columns:minmax(0,1fr)}.ex-container{width:min(100% - 24px,680px)}.ex-panel{padding:16px}.ex-fields{gap:10px}.ex-nav{gap:10px}.ex-header{padding:12px 0}.ex-metrics{gap:7px}}
@media(max-width:360px){.ex-fields{grid-template-columns:1fr}.ex-amount{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* v57: Released major-project planning calculators. */
.ex-assumption-alert{background:#fff8eb;color:#513b20;border:1px solid #e7ca93;padding:13px 15px;border-radius:9px;font-size:.9rem;margin:0 0 20px}
.ex-editorial h3{font-size:1rem;margin:18px 0 4px}
.ex-editorial p,.ex-editorial li{font-size:.94rem;line-height:1.65}
.ex-editorial a{color:var(--ex-main);text-decoration:underline;text-underline-offset:2px}
.ex-metric strong{overflow-wrap:anywhere;word-break:normal}
@media(max-width:520px){.ex-fields{grid-template-columns:1fr}.ex-field.full{grid-column:auto}.ex-metrics{grid-template-columns:1fr}}

/* V58: clearer tax exposure and two private, client-side estimate exports. */
.ex-tax-status{font-size:.88rem;padding:10px 12px;margin:0 0 16px;border-left:4px solid #a85c00;background:#fff8ea;color:#543710;line-height:1.5}
.ex-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.ex-result-actions .ex-btn{background:#e9f3ff;color:#1b5d94;border:1px solid #a6c0d6}
.ex-result-actions .ex-btn:disabled{opacity:.55;cursor:not-allowed}
.ex-export-status{width:100%;font-size:.78rem;color:var(--ex-muted);margin:0}
.ex-sources p,.ex-sources li{font-size:.73rem;line-height:1.5}
@media print{
 body.expanded-body{background:white;color:black}
 .ex-header,.ex-nav,.ex-crumb,.ex-skip,.ex-footer,.ex-result-actions,.ex-workspace > section:first-child{display:none!important}
 .ex-container{width:100%;max-width:none}
 .ex-workspace{display:block}
 .ex-workspace > section#results{display:block;box-shadow:none;border:0;padding:0}
 .ex-section{break-inside:avoid;box-shadow:none;border:0;padding:8px 0;margin:8px 0}
 .ex-editorial,.ex-sources{display:none!important}
 .ex-answer,.ex-metric{background:white!important;color:black!important}
 .ex-amount{color:black!important}
}
