:root{color-scheme:light;--surface-0: #f4f5f7;--surface-1: #ffffff;--ink-900: #101828;--ink-700: #344054;--ink-500: #667085;--line: #e4e7ec;--accent: #12406b;--accent-strong: #0b2e4f;--blue-tint: #eff6ff;--series-1: #2a78d6;--series-2: #1baf7a;--grid-line: #eef0f3;--axis-line: #d0d5dd;--text-primary: var(--ink-900);--text-secondary: var(--ink-500);--error-bg: #fef3f2;--error-line: #d92d20;--warn-bg: #fffaeb;--warn-line: #b54708;--info-bg: #eff8ff;--info-line: #175cd3}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--surface-0);color:var(--ink-900);line-height:1.5}.page{min-height:100vh;display:flex;flex-direction:column}.site-header{background:linear-gradient(160deg,var(--accent-strong),var(--accent));color:#fff;padding:40px 24px 32px}.header-inner{max-width:1120px;margin:0 auto}.site-header h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.02em}.tagline{margin:0 0 16px;max-width:46rem;font-size:1.05rem;color:#d7e3f0}.disclaimer-banner{margin:0;display:inline-block;padding:8px 14px;border-radius:8px;background:#ffffff1f;color:#e8eef5;font-size:.82rem}.layout{flex:1;max-width:1120px;width:100%;margin:24px auto;padding:0 24px;display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}@media(max-width:900px){.layout{grid-template-columns:1fr}}.form-panel,.results-panel>*{background:var(--surface-1);border:1px solid var(--line);border-radius:12px}.form-panel{padding:8px 20px 20px}.results-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.results-panel>.banner,.results-panel>.warnings{background:none;border:none;border-radius:0;padding:0}.form-section{padding:16px 0 4px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:none}.form-section h2{margin:0 0 12px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.field{display:block;margin-bottom:14px}.field-label{display:block;font-size:.86rem;font-weight:600;color:var(--ink-700);margin-bottom:4px}.field-label:empty{display:none}.field-hint{display:block;margin-top:4px;font-size:.78rem;color:var(--ink-500)}.field-hint a{color:var(--info-line)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input[type=text],input[type=date],input[type=number],select{width:100%;padding:9px 10px;border:1px solid var(--axis-line);border-radius:8px;font-size:.95rem;font-family:inherit;color:var(--ink-900);background:#fff}input:focus,select:focus{outline:2px solid var(--series-1);outline-offset:-1px;border-color:var(--series-1)}.input-affix{display:flex;align-items:center;border:1px solid var(--axis-line);border-radius:8px;background:#fff}.input-affix:focus-within{outline:2px solid var(--series-1);outline-offset:-1px}.input-affix input{border:none;flex:1;min-width:0}.input-affix input:focus{outline:none}.affix{padding:0 10px;color:var(--ink-500);font-size:.9rem}.input-affix .affix+input{padding-left:0}.field-error{display:block;margin-top:4px;font-size:.78rem;font-weight:600;color:var(--error-line)}input[aria-invalid=true],.input-affix.input-invalid,input.input-invalid{border-color:var(--error-line)}.input-affix.input-invalid:focus-within,input.input-invalid:focus{outline-color:var(--error-line)}.validation-summary{border:1px solid var(--error-line);background:var(--error-bg);border-radius:12px;padding:20px 24px;color:#7a271a}.validation-summary h2{margin:0 0 10px;font-size:1.05rem;color:#912018}.validation-summary ul{margin:0;padding-left:18px}.validation-summary li{margin-bottom:6px;font-size:.9rem}.link-button{background:none;border:none;color:var(--info-line);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;padding:6px 0}.segmented{display:inline-flex;border:1px solid var(--axis-line);border-radius:8px;overflow:hidden;margin-bottom:14px}.segmented button{border:none;background:#fff;padding:8px 16px;font:inherit;font-size:.88rem;cursor:pointer;color:var(--ink-700)}.segmented button.active{background:var(--accent);color:#fff;font-weight:600}.owner-block{border-top:1px dashed var(--line);padding-top:10px;margin-top:4px}.owner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem}.share-input{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink-500)}.owner-header-controls{display:flex;align-items:center;gap:10px}.remove-button{font-size:.78rem;color:var(--error-line);padding:0}.company-footnote{margin:12px 0 0;font-size:.8rem;color:var(--ink-500)}.share-input input{width:64px}.checkbox{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--ink-700);margin-bottom:10px}.checkbox input{width:auto;margin-top:2px}.assumptions{padding-bottom:10px}.fixed-assumptions{font-size:.8rem;color:var(--ink-500);margin-top:8px}.fixed-assumptions summary{cursor:pointer;font-weight:600}.fixed-assumptions ul{padding-left:18px;margin:8px 0}.fixed-assumptions li{margin-bottom:4px}.typeahead{position:relative}.typeahead-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #1018281f;max-height:260px;overflow-y:auto}.typeahead-list button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;font:inherit;font-size:.9rem;border-radius:6px;cursor:pointer}.typeahead-list button:hover{background:var(--blue-tint)}.map-embed{height:180px;border-radius:10px;border:1px solid var(--line);margin-bottom:14px;overflow:hidden}.warnings{display:flex;flex-direction:column;gap:8px}.banner{padding:10px 14px;border-radius:10px;font-size:.88rem;border:1px solid}.banner-error{background:var(--error-bg);border-color:var(--error-line);color:#912018}.banner-warn{background:var(--warn-bg);border-color:var(--warn-line);color:#7a3f0e}.banner-info{background:var(--info-bg);border-color:#b2ddff;color:#124a8f}.results-cards-wrap{padding:20px}.results-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.result-card{border:1px solid var(--line);border-radius:10px;padding:16px}.result-card.highlight{border-color:var(--series-1);background:var(--blue-tint)}.result-card h3{margin:0 0 2px;font-size:1rem}.card-subtitle{margin:0 0 12px;font-size:.78rem;color:var(--ink-500)}.result-card dl{margin:0}.result-card dl>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--line);font-size:.9rem}.result-card dt{color:var(--ink-500)}.result-card dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}.result-card .emphasis dd{font-weight:700;font-size:1rem}.delta-line{margin:16px 0 0;font-size:.92rem;color:var(--ink-700)}.chart-section{padding:20px}.chart-section h2,.breakdown h2{margin:0 0 4px;font-size:1.1rem}.chart-note{margin:0 0 12px;font-size:.82rem;color:var(--ink-500)}.series-label{font-size:12px;font-weight:600}.chart-legend{display:flex;gap:20px;font-size:.82rem;color:var(--ink-700);margin-top:4px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.chart-tooltip{background:var(--surface-1);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:.82rem;box-shadow:0 8px 24px #1018281f}.tooltip-date{font-weight:700;margin-bottom:4px}.tooltip-regime{margin-top:4px;color:var(--ink-500);font-style:italic}.breakdown{padding:20px;overflow-x:auto}.breakdown h3{font-size:.95rem;margin:18px 0 6px}.breakdown table{width:100%;border-collapse:collapse;font-size:.88rem}.breakdown td,.breakdown th{padding:7px 8px;border-top:1px solid var(--line);text-align:left}.breakdown td:last-child,.breakdown th:last-child,.breakdown td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.breakdown thead th{border-top:none;color:var(--ink-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.breakdown tr.strong td{font-weight:700;border-top:2px solid var(--ink-700)}.row-note{color:var(--ink-500);font-size:.78rem}.share{padding:20px}.share input{margin-top:10px;font-size:.85rem;color:var(--ink-700)}.share-note{margin:8px 0 0;font-size:.78rem;color:var(--ink-500)}.share-note.error{color:var(--error-line)}.button-primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}.button-primary:hover{background:var(--accent-strong)}.button-primary:disabled{opacity:.6;cursor:default}.button-secondary{background:#fff;color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}.button-secondary:hover{background:var(--blue-tint)}.empty-state{padding:40px 32px;text-align:center}.empty-state h2{margin-top:0}.empty-state p{color:var(--ink-700);max-width:34rem;margin:8px auto 16px}.empty-state .missing{font-size:.85rem;color:var(--ink-500)}.site-footer{margin-top:32px;padding:24px;background:var(--ink-900);color:#d0d5dd;font-size:.8rem}.site-footer p{max-width:1072px;margin:0 auto}.site-footer a{color:#9ec5ff}.portal-loading{padding:48px;text-align:center;color:var(--ink-500)}.portal-header{padding-left:0;padding-right:0}.portal-header-inner{max-width:1072px;padding:0 16px;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.portal-nav{display:flex;align-items:center;gap:18px}.portal-nav a{color:#cfe0f3;text-decoration:none;font-size:.92rem;padding-bottom:2px;border-bottom:2px solid transparent}.portal-nav a.active{color:#fff;font-weight:600;border-bottom-color:#fff}.portal-nav .link-button{color:#cfe0f3;padding:0 0 2px;font-size:.92rem;font-weight:400;border-bottom:2px solid transparent}.portal-body{flex:1;width:100%;max-width:1072px;margin:0 auto;padding:24px 16px 48px}.portal-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--ink-900);color:#d0d5dd;font-size:.8rem}.portal-footer a{color:#9ec5ff}.portal-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-0);padding:24px}.portal-card{background:var(--surface-1);border:1px solid var(--line);border-radius:12px;padding:28px;max-width:460px;width:100%}.portal-card h1{margin:0 0 10px;font-size:1.4rem}.portal-card h3{margin:0 0 12px}.portal-lede{color:var(--ink-700);font-size:.95rem;margin:0 0 18px}.portal-form .field{margin-bottom:14px}.portal-form input,.portal-form select,.portal-address input,.portal-address select{width:100%;padding:10px 12px;border:1px solid var(--axis-line);border-radius:8px;font:inherit}.primary-button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:11px 20px;font:inherit;font-weight:600;cursor:pointer}.primary-button:disabled{opacity:.6;cursor:default}.primary-button.secondary{background:var(--surface-1);color:var(--accent);border:1px solid var(--accent)}.portal-fineprint{margin:18px 0 0;font-size:.8rem;color:var(--ink-500)}.portal-page h2{margin:0 0 8px}.portal-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:18px}.portal-credits{text-align:right;font-size:.95rem;color:var(--ink-700)}.portal-credits strong{font-size:1.4rem;color:var(--ink-900);margin-right:4px}.portal-credits .field-hint{display:block;max-width:260px}.portal-table{width:100%;border-collapse:collapse;margin:18px 0;background:var(--surface-1);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:.92rem}.portal-table th,.portal-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}.portal-table th{background:var(--surface-0);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-500)}.portal-table tr:last-child td{border-bottom:none}.portal-you{color:var(--ink-500)}.portal-empty{padding:28px;background:var(--surface-1);border:1px dashed var(--axis-line);border-radius:10px;color:var(--ink-500);margin-top:18px}.portal-new-report{margin:18px 0;max-width:560px}.portal-actions{display:flex;gap:14px;align-items:center}.portal-invite{max-width:420px}.branding-grid{display:grid;grid-template-columns:minmax(320px,460px) minmax(300px,1fr);gap:32px;align-items:start}@media(max-width:900px){.branding-grid{grid-template-columns:1fr}}.branding-grid h3{margin:22px 0 10px}.branding-grid h3:first-child{margin-top:0}.branding-logo-actions{display:flex;gap:12px;flex-wrap:wrap}.branding-upload{display:inline-block;text-align:center}.branding-candidates{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.branding-candidate{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.72rem;color:var(--ink-500)}.branding-candidate:hover{border-color:var(--accent)}.branding-candidate img{max-width:96px;max-height:64px;object-fit:contain}.branding-swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.branding-swatch{width:34px;height:34px;border-radius:8px;border:1px solid rgba(0,0,0,.15);cursor:pointer}.branding-color-field .branding-color-inputs{display:flex;gap:10px;align-items:center}.branding-color-inputs input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--axis-line);border-radius:6px;background:#fff}.branding-color-inputs input[type=text]{width:110px}.portal-page textarea{width:100%;padding:10px 12px;border:1px solid var(--axis-line);border-radius:8px;font:inherit;resize:vertical}.branding-preview{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #10182814;max-width:440px}.branding-preview-header{display:flex;align-items:center;gap:14px;padding:18px}.branding-preview-header img{max-height:44px;max-width:120px;object-fit:contain;background:#fff;border-radius:6px;padding:4px}.branding-preview-logo-slot{border:1px dashed currentColor;border-radius:6px;padding:10px 14px;font-size:.8rem;opacity:.8}.branding-preview-header div{display:flex;flex-direction:column;gap:2px}.branding-preview-header span{font-size:.78rem;opacity:.85}.branding-preview-body{padding:16px 18px;font-size:.86rem}.branding-preview-rule{height:4px;border-radius:2px;margin-bottom:12px}.branding-preview-footer{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);color:var(--ink-500);font-size:.72rem}.builder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:14px}.builder-back{font-size:.85rem;color:var(--info-line);text-decoration:none}.builder-head h2{margin:6px 0 4px}.builder-export{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.builder-export .field{margin:0;min-width:240px}.builder-export input{width:100%;padding:9px 12px;border:1px solid var(--axis-line);border-radius:8px;font:inherit}.builder-scenarios{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.builder-tab{display:inline-flex;align-items:center;border:1px solid var(--axis-line);border-radius:999px;background:var(--surface-1);overflow:hidden}.builder-tab.active{border-color:var(--accent);background:var(--blue-tint)}.builder-tab>button:first-child{border:none;background:none;font:inherit;font-size:.88rem;padding:7px 6px 7px 14px;cursor:pointer;color:var(--ink-700)}.builder-tab.active>button:first-child{color:var(--accent-strong);font-weight:600}.builder-tab-x{border:none;background:none;cursor:pointer;color:var(--ink-500);font-size:1rem;padding:4px 10px 6px 2px}.builder-tab-new{border-style:dashed;padding:7px 14px;font:inherit;font-size:.88rem;cursor:pointer;color:var(--info-line)}.builder-labelbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.builder-labelbar .field{margin:0;min-width:260px}.builder-labelbar input{width:100%;padding:9px 12px;border:1px solid var(--axis-line);border-radius:8px;font:inherit}.builder-layout{padding:0}.builder-history{margin-top:28px}.print-page{width:210mm;margin:0 auto;background:#fff;color:#101828;font-size:10.5pt}.print-error{padding:24px;color:#d92d20}.print-header{display:flex;align-items:center;gap:18px;padding:14mm 16mm 10mm}.print-logo{max-height:18mm;max-width:45mm;object-fit:contain;background:#fff;border-radius:4px;padding:2mm}.print-firm-name{font-size:16pt;font-weight:700}.print-firm-domain{font-size:9pt;opacity:.85}.print-cover{padding:10mm 16mm 6mm}.print-cover h1{font-size:20pt;margin:0 0 4mm}.print-address{font-size:13pt;font-weight:600;margin:0 0 1mm}.print-prepared{font-size:11pt;margin:0 0 1mm}.print-date{color:#667085;margin:0 0 5mm}.print-rule{height:1.4mm;border-radius:1mm;margin-bottom:5mm}.print-intro{max-width:165mm}.print-toc{margin:4mm 0 0;padding-left:6mm}.print-scenario{padding:6mm 16mm;page-break-before:always;break-inside:avoid-page}.print-scenario h2{display:flex;align-items:center;gap:4mm;font-size:14pt;margin:0 0 5mm}.print-scenario-num{display:inline-flex;align-items:center;justify-content:center;width:8mm;height:8mm;border-radius:50%;color:#fff;font-size:11pt}.print-scenario .results-cards{display:grid;grid-template-columns:1fr 1fr;gap:5mm}.print-scenario .result-card{break-inside:avoid}.print-assumptions{margin-top:5mm;font-size:9pt;color:#344054}.print-assumptions h3{font-size:10pt;margin:0 0 2mm}.print-assumptions ul{margin:0;padding-left:5mm}.print-footer{padding:8mm 16mm 12mm;page-break-inside:avoid}.print-disclaimer{font-size:8.5pt;color:#344054;border-top:1px solid #e4e7ec;padding-top:3mm}.print-stamp{font-size:8pt;color:#667085}.print-ready{width:1px;height:1px}.partner-nudge{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--blue-tint);border:1px solid #d3e3f8;border-radius:12px;padding:16px 20px}.partner-nudge h2{font-size:1rem;margin:0 0 4px}.partner-nudge p{margin:0;font-size:.88rem;color:var(--ink-700);max-width:560px}.partner-nudge-cta{white-space:nowrap;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;padding:10px 18px;border-radius:8px}
