/* Benefit model — the model's own UI rules (from the standalone calculator), then a redesign layer.
   Variables are scoped to .calc so they cannot leak into the site. */
.calc :where(*,*::before,*::after){margin:0;padding:0;box-sizing:border-box}
.calc{--brand:#EF481A;--brand-dark:#C93A10;--brand-tint:#FDEDE7;--ink:#111111;--ink-2:#4a4a4a;--ink-3:#6b6b6b;--line:#e6e4e1;--paper:#f7f6f4}
.tt{--ink:#111}
/* the original @media on .contact-grid, kept */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;max-width:900px;margin:1rem auto;align-items:start}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.doc{max-width:760px;font-size:13.5px;line-height:1.6;color:#2a2a2a}
.two-col{display:grid;grid-template-columns:300px 1fr;gap:1.25rem;align-items:start}
@media(max-width:820px){.two-col{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr!important}.charts-grid{grid-template-columns:1fr!important}}
.section-card{background:#fff;border:1px solid #e5e5e3;border-radius:12px;overflow:hidden;margin-bottom:0.75rem}
.section-head{padding:0.6rem 1rem;background:#f9f9f7;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-bottom:1px solid #e5e5e3}
.section-head span{font-size:12px;font-weight:600;color:#4a4a4a}
.section-head .arr{font-size:12px;color:#6b6b6b;transition:transform 0.2s}
.section-head.open .arr{transform:rotate(180deg)}
.section-body{padding:0.875rem 1rem;display:none}
.section-body.open{display:block}
.irow{margin-bottom:0.875rem}
.irow:last-child{margin-bottom:0}
.irow select,.irow input[type=number]{width:100%;font-size:13px;padding:5px 8px;border:1px solid #d0d0ce;border-radius:8px;background:#fff;color:#1a1a1a}
.irow input[type=range]{width:100%;margin-top:2px;accent-color:var(--brand)}
.num-wrap{position:relative}
.num-wrap .unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#6b6b6b;pointer-events:none}
.check-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1a1a1a;cursor:pointer}
.check-row input{accent-color:var(--brand);width:15px;height:15px}
.label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;gap:6px}
.label-row .param-name{font-size:12px;color:#6b6b6b;display:flex;align-items:center;gap:5px}
.label-row .param-val{font-size:12px;font-weight:500;color:#1a1a1a;text-align:right}
.info-icon{width:14px;height:14px;border-radius:50%;background:#f0f0ee;border:1px solid #d0d0ce;display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#6b6b6b;cursor:pointer;flex-shrink:0;font-style:italic;font-family:Georgia,serif;line-height:1;user-select:none}
.info-icon:hover{background:var(--brand-tint);border-color:var(--brand);color:var(--brand)}
.tt{position:fixed;z-index:9999;max-width:300px;background:#fff;border:1px solid #d0d0ce;border-radius:12px;padding:10px 12px;box-shadow:0 4px 16px rgba(0,0,0,0.12);pointer-events:none;opacity:0;transition:opacity 0.15s}
.tt.show{opacity:1}
.tt-title{font-size:12px;font-weight:600;color:#1a1a1a;margin-bottom:5px}
.tt-body{font-size:12px;color:#4a4a4a;line-height:1.55}
.tt-tip{font-size:11px;color:#6b6b6b;margin-top:7px;padding-top:7px;border-top:1px solid #e5e5e3;line-height:1.45}
.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1rem}
.kpi{background:#f9f9f7;border-radius:8px;padding:0.875rem 1rem;min-width:0}
.kpi-l{font-size:11px;color:#6b6b6b;margin-bottom:3px}
.kpi-v{font-size:21px;font-weight:500;color:#1a1a1a}
.kpi-s{font-size:11px;color:#6b6b6b;margin-top:2px;line-height:1.4}
.kpi.brand{background:var(--brand-tint)}
.kpi.brand .kpi-v{color:var(--brand)}
.kpi.dark .kpi-v{color:var(--ink)}
.kpi.red .kpi-v{color:#993C1D}
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.chart-box{background:#fff;border:1px solid #e5e5e3;border-radius:12px;padding:1rem;min-width:0}
.chart-box.full{grid-column:1/-1}
.chart-box h4{font-size:13px;font-weight:600;color:#4a4a4a;margin-bottom:0.5rem}
.chart-note{font-size:11.5px;color:#6b6b6b;line-height:1.5;margin-top:8px}
.cat-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;padding:0.75rem 1rem;background:#f9f9f7;border:1px solid #e5e5e3;border-radius:12px;align-items:center}
.cat-toggles-label{font-size:12px;color:#6b6b6b;margin-right:4px;display:flex;align-items:center;gap:5px}
.cat-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:20px;border:1px solid #e5e5e3;background:#fff;cursor:pointer;user-select:none}
.cat-toggle.active{border-color:var(--c);background:var(--cb)}
.cat-toggle-dot{width:8px;height:8px;border-radius:50%;background:var(--c);flex-shrink:0}
.cat-toggle:not(.active) .cat-toggle-dot{opacity:0.25}
.cat-toggle-txt{font-size:12px;color:#4a4a4a}
.cat-toggle:not(.active) .cat-toggle-txt{opacity:0.45;text-decoration:line-through}
.cat-toggle-val{font-size:11px;font-weight:500;color:var(--c);margin-left:2px}
.cat-toggle:not(.active) .cat-toggle-val{opacity:0.3}
.heat-wrap{overflow-x:auto}
.heat-table{border-collapse:collapse;font-size:11.5px;width:100%}
.heat-table th{padding:6px 8px;font-weight:600;color:#4a4a4a;text-align:center;white-space:nowrap;background:#f9f9f7;border-bottom:1px solid #e5e5e3}
.heat-table td{padding:6px 8px;text-align:center;font-weight:500;white-space:nowrap;border-bottom:1px solid #f0f0ee}
.heat-row-label{text-align:left!important;color:#4a4a4a;font-weight:400!important}
.heat-table.deriv td{white-space:normal;font-weight:400}
.sw-bar{display:inline-block;height:8px;background:var(--brand);border-radius:3px;vertical-align:middle;min-width:2px}
.be-track{position:relative;height:8px;background:#f0f0ee;border-radius:4px;overflow:visible;margin:8px 0 4px}
.be-fill{height:100%;background:var(--brand);border-radius:4px;transition:width .3s}
.be-now-mark{position:absolute;top:-4px;width:2px;height:16px;background:#1a1a1a;transform:translateX(-50%)}
.be-info{display:flex;justify-content:space-between;font-size:11px;color:#6b6b6b}
.note{font-size:12px;color:#4a4a4a;padding:0.75rem 1rem;border:1px solid #e5e5e3;border-radius:12px;background:#f9f9f7;line-height:1.55;margin-bottom:1rem}
.note:empty{display:none}
.lead-wrap{max-width:520px;margin:2rem auto;text-align:center}
.lead-wrap h2{font-size:20px;font-weight:500;margin-bottom:8px}
.lead-wrap p{font-size:14px;color:#6b6b6b;margin-bottom:1.5rem;line-height:1.6}
.lead-form{background:#fff;border:1px solid #e5e5e3;border-radius:12px;padding:1.5rem;text-align:left}
.form-row{margin-bottom:1rem}
.form-row label{display:block;font-size:13px;color:#6b6b6b;margin-bottom:4px}
.form-row input,.form-row select{width:100%;font-size:14px;padding:8px 12px;border:1px solid #d0d0ce;border-radius:8px;background:#fff;color:#1a1a1a}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(239,72,26,0.12)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.submit-btn{width:100%;background:var(--brand);color:#fff;border:none;padding:12px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}
.submit-btn:hover{background:var(--brand-dark)}
.submit-btn:disabled{opacity:0.6;cursor:default}
.success-msg{display:none;text-align:center;padding:2rem}
.success-msg h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--brand)}
.success-msg p{font-size:14px;color:#6b6b6b}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.contact-card h3{font-size:18px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.contact-card p{font-size:14px;color:var(--ink-3);line-height:1.6;margin-bottom:1rem}
.contact-card .crab-mark{width:72px;height:auto;margin-bottom:0.75rem}
.link-btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:600}
.link-btn:hover{background:var(--brand-dark)}
.form-row textarea{width:100%;min-height:120px;font-size:13px;padding:8px 12px;border:1px solid #d0d0ce;border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;line-height:1.5;resize:vertical}
.req{color:var(--brand)}
.fallback{display:none;margin-top:1rem;padding:0.9rem 1rem;background:var(--brand-tint);border:1px solid #f3c9bb;border-radius:10px;font-size:13px;color:var(--ink-2);line-height:1.55}
.fallback a{color:var(--brand);font-weight:600}
.doc h3{font-size:16px;font-weight:600;margin:1.6rem 0 0.5rem;color:#1a1a1a}
.doc h3:first-child{margin-top:0}
.doc h4{font-size:13.5px;font-weight:600;margin:1rem 0 0.3rem}
.doc p{margin-bottom:0.7rem}
.doc ul,.doc ol{margin:0 0 0.7rem 1.3rem}
.doc li{margin-bottom:0.3rem}
.doc code,.doc .f{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#f5f5f3;padding:1px 5px;border-radius:4px}
.doc .katex-display{margin:0.6rem 0 1rem;overflow-x:auto;overflow-y:hidden;padding:4px 0}
.doc .katex{font-size:1.02em}
.doc td .katex{font-size:0.98em}
.doc table.sym td{font-size:12px;color:#4a4a4a}
.doc table.sym td:nth-child(odd){white-space:nowrap;color:#1a1a1a}
.doc table{border-collapse:collapse;width:100%;font-size:12.5px;margin:6px 0 12px}
.doc th,.doc td{text-align:left;padding:6px 8px;border-bottom:1px solid #e5e5e3;vertical-align:top}
.doc th{background:#f9f9f7;font-weight:600}
.small{font-size:11.5px;color:#6b6b6b;line-height:1.5;margin-top:8px}
.calc-note{font-size:11.5px;color:#6b6b6b;padding:0.75rem 0;border-top:1px solid #e5e5e3;margin-top:0.5rem;line-height:1.55}
/* ===== redesign layer ===== */
.calc-wrap{position:relative;z-index:3}
.calc{max-width:1240px;margin:0 auto;background:#fbfaf8;color:var(--ink);font-family:var(--font);border-radius:24px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06);line-height:1.45}
.calc-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:14px clamp(14px,2.4vw,28px) 0;border-bottom:1px solid var(--line);background:#fff}
.calc .tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.calc .tabs::-webkit-scrollbar{display:none}
.calc .tab{padding:12px 16px;font-size:14px;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .2s,border-color .2s;font-weight:450}
.calc .tab:hover{color:var(--ink)}
.calc .tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:550}
.calc-actions{display:flex;gap:8px;padding-bottom:10px}
.cbtn{height:36px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:var(--brand);color:#fff;font-size:13px;font-weight:550;cursor:pointer;transition:background .2s}
.cbtn:hover{background:var(--brand-dark)}
.cbtn.ghost{background:#fff;color:var(--ink-2);border-color:#d9d7d3}
.cbtn.ghost:hover{background:#f4f3f1}
.calc .tab-panel{display:none;padding:clamp(16px,2.6vw,32px)}
.calc .tab-panel.active{display:block}
.calc .two-col{grid-template-columns:320px 1fr;gap:clamp(16px,2.4vw,32px)}
.calc .kpi{border-radius:14px;padding:1rem 1.1rem;border:1px solid var(--line);background:#fff}
.calc .kpi.brand{background:var(--brand-tint);border-color:#f4cfc2}
.calc .kpi-v{font-size:clamp(22px,2.4vw,28px);font-weight:500;letter-spacing:-.025em}
.calc .kpi-l{font-size:11.5px;letter-spacing:.02em}
.calc .section-card,.calc .chart-box,.calc .note,.calc .cat-toggles,.calc .contact-card,.calc .lead-form{border-radius:14px}
.calc .chart-box h4{font-size:14px;letter-spacing:-.01em;color:var(--ink)}
.calc .section-head{padding:.7rem 1rem}
.calc .irow select,.calc .irow input[type=number],.calc .form-row input,.calc .form-row select,.calc .form-row textarea{border-radius:10px;border-color:#d9d7d3}
.calc .form-row input:focus,.calc .form-row select:focus,.calc .form-row textarea:focus{box-shadow:0 0 0 3px rgba(239,72,26,.16)}
.calc .submit-btn,.calc .link-btn{border-radius:999px}
.calc .legal{padding:1rem clamp(16px,2.6vw,32px) 1.4rem;font-size:11.5px;color:var(--ink-3);line-height:1.55;border-top:1px solid var(--line);background:#fff}
.calc .calc-note{border-top:1px solid var(--line)}
.calc .contact-grid{max-width:1000px}
.calc .doc{max-width:820px}
.calc :focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:900px){.calc .two-col{grid-template-columns:1fr}.calc-wrap{margin-top:-72px}}
@media(max-width:560px){.calc-actions .cbtn.ghost{display:none}.calc .kpi-row{grid-template-columns:1fr 1fr!important}}
@media(prefers-reduced-motion:reduce){.calc *{transition:none!important}}
.calc .form-row label.check-row{display:flex;align-items:center;gap:8px}
.calc .form-row .check-row input{width:15px;height:15px;padding:0;flex-shrink:0}
.calc select{appearance:none;-webkit-appearance:none;padding-right:30px!important;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' fill='none' stroke='%238d867d' stroke-width='1.5'%3E%3Cpath d='m1 1 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 11px center}


/* =============== single-screen layout (progressive disclosure) =============== */
.calc-wrap{position:relative;z-index:1;display:flex;padding:12px clamp(16px,2.4vw,32px) 16px;scroll-margin-top:68px}
.calc{margin:0 auto;width:100%;max-width:1380px;display:flex;flex-direction:column;min-height:0}
.calc-body{flex:1;min-height:0;position:relative}
.calc .tab-panel{height:100%;overflow:auto;padding:16px 18px}
#tab-calc.tab-panel,#tab-model.tab-panel,#tab-sensitivity.tab-panel{overflow:hidden}
.calc .legal{padding:8px 20px 10px;font-size:10.5px;line-height:1.45}
@media(min-width:1100px){.calc-wrap{height:calc(100svh - 68px);min-height:720px}}

.app{display:grid;grid-template-columns:minmax(380px,470px) minmax(0,1fr);gap:16px;height:100%}
.rail{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.rail-body{flex:1;min-height:0;overflow:auto;padding:14px 16px 8px}
.rail-body .section-card{display:none;border:0;border-radius:0;margin:0;background:none;overflow:visible}
.rail-body .section-card.active{display:block}
.rail-body .section-head{padding:0 0 12px;background:none;border:0;cursor:default;display:flex;align-items:baseline;justify-content:space-between}
.rail-body .section-head span:first-child{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.step-count{font-size:11px;color:#8d867d}
.rail-body .section-body{display:block;padding:0}
.rail-body .irow{margin-bottom:13px}
.rail-foot{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#f9f9f7}
.stepbtn{height:34px;padding:0 14px;border-radius:999px;border:1px solid #d0d0ce;background:#fff;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink-2);transition:background .2s,border-color .2s}
.stepbtn:hover:not(:disabled){border-color:var(--ink)}
.stepbtn.primary{flex:1;background:var(--brand);border-color:var(--brand);color:#fff;font-weight:550}
.stepbtn.primary:hover:not(:disabled){background:var(--brand-dark)}
.stepbtn:disabled{opacity:.45;cursor:default}

.results{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}
.results .kpi-row{margin:0;gap:8px}
.results .kpi{padding:9px 12px}
.results .kpi-l{font-size:11px;margin-bottom:1px}
.results .kpi-v{font-size:22px}
.results .kpi-s{font-size:10.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.results .note{margin:0;padding:8px 12px;font-size:11.5px;line-height:1.45}
.results .cat-toggles{margin:0;padding:6px 10px;gap:6px}
.results .cat-toggle{padding:3px 8px}
.results .calc-note{margin:0;padding:0;border:0;font-size:10.5px;line-height:1.4;color:#8d867d}

.chart-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.seg{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.seg button{height:30px;padding:0 13px;border-radius:999px;border:1px solid transparent;background:none;font:inherit;font-size:12.5px;color:#6b6b6b;cursor:pointer;transition:background .2s,color .2s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--ink);color:#fff}
.seg button[hidden]{display:none}
.panes{flex:1;min-height:0;position:relative}
.pane{display:none;position:absolute;inset:0;padding:12px 16px 40px;flex-direction:column}
.pane.active{display:flex}
.pane-title{font-size:13px;font-weight:600;color:#4a4a4a;margin-bottom:6px}
.chart-fill{flex:1;min-height:0;position:relative}
.pane-notes{position:absolute;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:2}
.pane-notes summary{height:34px;display:flex;align-items:center;gap:8px;padding:0 16px;font-size:12px;color:#6b6b6b;cursor:pointer;list-style:none}
.pane-notes summary::-webkit-details-marker{display:none}
.pane-notes summary::before{content:"+";width:16px;height:16px;border:1px solid #d0d0ce;border-radius:50%;display:grid;place-items:center;font-size:12px;line-height:1;color:var(--brand)}
.pane-notes[open] summary::before{content:"−"}
.pane-notes[open]{max-height:78%;overflow:auto;box-shadow:0 -16px 34px rgba(0,0,0,.1)}
.pane-notes .chart-note{padding:0 16px 12px;margin:0}
.pane-notes .chart-note:empty{display:none}
.be-wrap{padding:30px 6px 0}

.sens{display:flex;flex-direction:column;height:100%}
.sens .seg{padding:0 0 12px;border:0}
.spanes{flex:1;min-height:0;position:relative}
.spane{display:none;position:absolute;inset:0;overflow:auto}
.spane.active{display:block}
.spane .chart-fill{position:absolute;inset:34px 0 0 0}
.pane-h{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 4px}

.calc .doc.doc-split{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;max-width:none;height:100%}
.doc-nav{display:flex;flex-direction:column;gap:2px;overflow:auto;padding-right:10px;border-right:1px solid var(--line)}
.doc-nav button{text-align:left;padding:8px 10px;border:0;background:none;border-radius:8px;font:inherit;font-size:12.5px;color:var(--ink-2);cursor:pointer;line-height:1.3}
.doc-nav button:hover{background:#f3f2ef}
.doc-nav button.on{background:var(--brand-tint);color:var(--brand);font-weight:600}
.doc-body{overflow:auto;min-height:0;padding-right:12px}
.doc-sec{display:none;max-width:780px}
.doc-sec.active{display:block}
.doc-sec h3:first-child{margin-top:0}

@media(max-width:1099px){
  .calc-wrap,.calc{display:block}
  .calc-body{height:auto}
  .calc .tab-panel,#tab-calc.tab-panel,#tab-model.tab-panel,#tab-sensitivity.tab-panel{height:auto;overflow:visible}
  .app{display:block}
  .rail{margin-bottom:12px}
  .rail-body{max-height:none;overflow:visible}
  .results{margin-top:12px}
  .panes{position:static}
  .pane{position:static;display:none;padding-bottom:12px}
  .pane.active{display:flex}
  .chart-fill{flex:none;height:320px}
  .pane-notes{position:static}
  .sens,.spanes{height:auto}
  .spane{position:static}
  .spane.active{display:block}
  .spane .chart-fill{position:relative;inset:auto;height:300px;margin-top:10px}
  .calc .doc.doc-split{display:block;height:auto}
  .doc-nav{flex-direction:row;flex-wrap:wrap;border:0;padding:0 0 12px}
  .doc-body{overflow:visible}
}


.pane-notes .fine-print{color:#8d867d;font-size:11px;border-top:1px solid #eeede9;padding-top:10px;margin-top:4px}
.rail-body{padding:12px 16px 4px}
.rail-body .section-head{padding-bottom:8px}
.rail-body .irow{margin-bottom:9px}
.rail-body .label-row{margin-bottom:1px}
.rail-body .irow input[type=range]{margin-top:0;height:20px}
.rail-body .irow select,.rail-body .irow input[type=number]{padding:4px 8px}

.rail-body .section-body{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-content:start}
.rail-body .irow:has(select),.rail-body .irow:has(.check-row),.rail-body .irow:has(.num-wrap){grid-column:1/-1}
.rail-body .irow:has(.num-wrap){grid-column:auto}
@media(max-width:560px){.rail-body .section-body{display:block}}

.rail-body .label-row .param-val{white-space:nowrap}
.rail-body .label-row .param-name{min-width:0}

/* proposal form: fit the panel */
#tab-contact.tab-panel{padding:14px 18px}
#tab-contact .contact-grid{margin:0 auto;gap:1rem;max-width:980px}
#tab-contact .contact-card{padding:1.1rem 1.2rem}
#tab-contact .contact-card h3{font-size:16px;margin-bottom:4px}
#tab-contact .contact-card p{margin-bottom:.6rem;font-size:13px}
#tab-contact .contact-card .crab-mark{width:44px;margin-bottom:.4rem}
#tab-contact .form-row{margin-bottom:.55rem}
#tab-contact .form-row label{margin-bottom:2px;font-size:12px}
#tab-contact .form-row input,#tab-contact .form-row select{padding:6px 10px;font-size:13px}
#tab-contact .form-row textarea{min-height:56px;padding:6px 10px}
#tab-contact .submit-btn{padding:10px}

/* page header */
.calc-page{position:relative;background:var(--bg,#151414)}
.tool-hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:clamp(72px,9vw,120px) var(--gutter) clamp(56px,7vw,88px)}
.tool-hero::after{content:"";position:absolute;left:50%;bottom:-40%;width:min(1200px,130%);height:90%;transform:translateX(-50%);background:radial-gradient(50% 70% at 50% 100%,rgba(239,72,26,.28),transparent 70%);z-index:-1;pointer-events:none}
.tool-hero .typefield{-webkit-mask-image:radial-gradient(ellipse 52% 62% at 50% 46%,transparent 18%,#000 80%);mask-image:radial-gradient(ellipse 52% 62% at 50% 46%,transparent 18%,#000 80%)}
.th-in{position:relative;z-index:1;max-width:760px;margin:0 auto}
.th-in h1{margin:22px 0 0;font-size:clamp(34px,4.6vw,60px);font-weight:400;letter-spacing:-.028em;line-height:1.05}
.th-in .sub{max-width:560px;margin:16px auto 0;color:#aaa39a;font-size:clamp(15px,1.3vw,18px);line-height:1.55}
.th-in .readout{display:grid;margin:30px auto 0;cursor:pointer}
.start{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:14px;color:#cfc8bd;transition:color .2s}
.start svg{width:15px;height:15px;transition:transform .25s}
.start:hover{color:#fff}.start:hover svg{transform:translateY(3px)}

/* =============== progress stepper =============== */
.steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:14px 8px 12px;background:#f9f9f7;border-bottom:1px solid var(--line)}
.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0 2px;border:0;background:none;font:inherit;color:#8d867d;cursor:pointer;text-align:center}
.step i{position:relative;z-index:1;font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:550;border:1.5px solid #cfcdc9;background:#f9f9f7;color:#8d867d;transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.step span{font-size:10.5px;line-height:1.15;letter-spacing:.01em;transition:color .2s}
.step:not(:first-child)::before{content:"";position:absolute;top:11px;right:50%;width:100%;height:2px;background:#dcdad6;transition:background .25s}
.step.done::before,.step.on::before{background:var(--brand)}
.step:hover i{border-color:var(--ink);color:var(--ink)}
.step:hover span{color:var(--ink)}
.step.done i{background:var(--brand);border-color:var(--brand);color:transparent}
.step.done i::after{content:"";position:absolute;width:5px;height:9px;border:solid #fff;border-width:0 1.8px 1.8px 0;transform:translateY(-1px) rotate(45deg)}
.step.done span{color:var(--ink-2)}
.step.on i{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px rgba(239,72,26,.16)}
.step.on span{color:var(--brand);font-weight:650}
.step:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
@media(max-width:560px){.step span{display:none}.step.on span{display:block;position:absolute;top:34px;white-space:nowrap}.steps{padding-bottom:26px}}
.rail,.chart-panel{border-radius:14px}

/* locked quote step */
.step:disabled{cursor:not-allowed}
.step.locked{opacity:.55}
.step.locked i{color:transparent;border-style:dashed}
.step.locked i::before{content:"";position:absolute;width:9px;height:7px;border-radius:2px;background:#8d867d;top:11px}
.step.locked i::after{content:"";position:absolute;width:5px;height:5px;border:1.5px solid #8d867d;border-bottom:0;border-radius:3px 3px 0 0;top:6px}
.step.locked:hover i{border-color:#cfcdc9;color:transparent}
.stepbtn:disabled.primary{background:#e8e6e2;border-color:#e8e6e2;color:#8d867d;opacity:1}

/* generated quote summary */
.quote-card{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:#fbfaf8;padding:14px 16px;margin-bottom:12px}
.qc-top{display:flex;flex-direction:column}
.qc-l{font-size:11.5px;color:#6b6b6b}
.qc-big{font-size:34px;font-weight:300;letter-spacing:-.03em;color:var(--brand);line-height:1.1;margin-top:2px}
.qc-s{font-size:12px;color:#6b6b6b}
.qc-lines{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);display:grid;gap:5px}
.qc-lines li{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--ink-2)}
.qc-lines b{font-weight:550;color:var(--ink);font-variant-numeric:tabular-nums}
.qc-foot{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:#6b6b6b}
.qc-note{margin:10px 0 0;font-size:11px;color:#8d867d;line-height:1.45}
.quote-opt{grid-column:1/-1;font-size:12px;color:#6b6b6b;margin:2px 0 10px}

.calc .steps{border:0;border-bottom:1px solid var(--line);border-radius:0;background:#f9f9f7}
.calc .rail{border-radius:14px;overflow:hidden}

.legal-out{max-width:1380px;margin:0 auto;padding:6px clamp(16px,2.4vw,32px) clamp(28px,4vw,48px)}
.legal-out .legal{padding:0;border:0;background:none;font-size:12px;line-height:1.6;color:#8d867d;max-width:980px}


/* ======================= responsive audit fixes ======================= */
.results .kpi-s{font-size:11px}
.step span{font-size:11px}
.tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
@media(min-width:1100px){.tabs{-webkit-mask-image:none;mask-image:none}}
@media(pointer:coarse),(max-width:900px){
  .step{min-height:56px;padding-top:6px}
  .step:not(:first-child)::before{top:17px}
  .step i{width:26px;height:26px}
  .rail-body .irow input[type=range]{height:32px;margin-top:0}
  .rail-body .irow select,.rail-body .irow input[type=number]{min-height:44px;font-size:16px;padding:8px 10px}
  .stepbtn{height:44px}
  .seg button{height:40px}
  .pane-notes summary{height:44px}
  .calc .tab{padding:14px 16px}
  .cbtn{height:42px}
}
