:root{
 --green-950:#153d2c;--green-900:#1d503a;--green-700:#397659;--green-100:#eaf4ee;
 --green-050:#f6faf7;--orange:#c9781b;--ink:#15231b;--muted:#647169;--line:#d7e1da;
 --bg:#f5f7f6;--white:#fff;--danger:#b42318;--warning:#946200;--success:#24724b;
 --shadow:0 18px 50px rgba(21,61,44,.09)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
button,input{font:inherit}a{color:inherit}.is-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-shell{width:min(1640px,calc(100% - 64px));margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.page-shell{width:min(1500px,calc(100% - 64px));margin-inline:auto}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--green-900);color:#fff;display:grid;place-items:center;font-weight:900}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:1.06rem}.brand-copy small{font-size:.78rem;color:var(--muted)}.header-link{font-weight:800;color:var(--green-900);text-decoration:none}
.hero{text-align:center;padding:52px 0 34px}.eyebrow,.step-label{margin:0 0 8px;color:var(--green-700);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(2.7rem,5vw,5rem);line-height:1;letter-spacing:-.055em}.hero-copy{max-width:none;width:max-content;max-width:100%;margin:20px auto 0;color:var(--muted);font-size:1.18rem;white-space:nowrap;text-wrap:normal}.video-note{display:inline-block;margin:18px 0 0;padding:9px 14px;border-radius:999px;background:var(--green-100);font-size:.87rem;color:var(--green-950)}
.calculator-shell{width:min(1640px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:minmax(520px,.88fr) minmax(720px,1.22fr);gap:32px;align-items:start}
.panel{background:var(--white);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.input-panel,.results-panel{padding:42px}.results-panel{position:sticky;top:105px}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:32px}.panel-heading h2{margin:0;font-size:clamp(1.55rem,2.4vw,2.15rem);letter-spacing:-.035em}.text-button{border:0;background:transparent;color:var(--green-700);font-weight:850;cursor:pointer;padding:6px}
.field{margin-bottom:22px}.field label{display:block;margin-bottom:8px;font-size:1rem;font-weight:800}.field label span{color:var(--muted);font-weight:600}.helper{margin:-1px 0 11px;color:var(--muted);font-size:.9rem;white-space:nowrap;overflow-wrap:normal}
.field>input,.money-input,.percent-input{width:100%;min-height:60px;border:1px solid #bdcbc3;border-radius:14px;background:#fff}.field>input{padding:0 17px}.field input{color:var(--ink)}.field input:focus{outline:0}.field>input:focus,.money-input:focus-within,.percent-input:focus-within{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(57,118,89,.13)}
.money-input,.percent-input{display:flex;align-items:center;overflow:hidden}.money-input span,.percent-input span{color:var(--muted);font-weight:800}.money-input span{padding-left:17px}.percent-input span{padding-right:17px}.money-input input,.percent-input input{width:100%;min-width:0;height:58px;border:0;background:transparent;padding:0 17px}.money-input input{text-align:left;font-variant-numeric:tabular-nums}.percent-input input{text-align:right}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.error{min-height:18px;margin:5px 0 0;color:var(--danger);font-size:.78rem}.field [aria-invalid=true],.money-input.invalid,.percent-input.invalid{border-color:var(--danger)}
.assumption-help{margin:0 0 24px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.assumption-help summary{cursor:pointer;color:var(--green-900);font-weight:850}.assumption-help div{color:var(--muted);font-size:.9rem}.assumption-help p{margin:10px 0}
.primary-button{width:100%;border:0;border-radius:14px;padding:17px 22px;background:var(--green-900);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(29,80,58,.22)}.primary-button:hover{background:#246247}
.status-pill{padding:8px 13px;border-radius:999px;font-size:.8rem;font-weight:900}.status-neutral{background:#eef1ef;color:var(--muted)}.status-success{background:#e6f6ed;color:var(--success)}.status-warning{background:#fff2cd;color:var(--warning)}.status-danger{background:#feebe8;color:var(--danger)}
.results-intro{padding:36px;border:1px dashed #b8c7be;border-radius:18px;text-align:center;color:var(--muted);background:var(--green-050)}
.target-card{min-height:205px;padding:30px;border-radius:21px;background:linear-gradient(135deg,var(--green-950),var(--green-700));color:#fff;display:flex;flex-direction:column;justify-content:center}.target-card>span{font-size:1rem;opacity:.9}.target-card strong{display:block;margin:7px 0 5px;font-size:clamp(3.2rem,5vw,5rem);line-height:1;letter-spacing:-.055em}.target-card small{font-size:.92rem;opacity:.82}
.result-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.metric-card{min-height:155px;padding:22px;border:1px solid var(--line);border-radius:18px;display:flex;gap:14px}.metric-step{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-900);font-size:.8rem;font-weight:900}.metric-card div>span{display:block;color:var(--muted);font-size:.86rem}.metric-card strong{display:block;margin:7px 0 4px;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.1;letter-spacing:-.04em}.metric-card small{display:block;color:var(--muted);font-size:.76rem}
.progress-section{margin-top:24px}.progress-heading{display:flex;justify-content:space-between;gap:20px}.progress-track{height:15px;margin-top:9px;border-radius:999px;background:#e5ebe7;overflow:hidden}.progress-fill{height:100%;width:0;border-radius:inherit;background:var(--green-700);transition:width .35s ease}
.insight-card,.chart-card,.breakdown-card{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:18px}.insight-card{background:var(--green-050)}.insight-card h3,.chart-card h3,.breakdown-card h3{margin:0;font-size:1.08rem}.insight-card p{margin:7px 0 0;color:var(--muted)}
.chart-heading{display:flex;justify-content:space-between;gap:20px}.chart-heading p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.legend{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.74rem}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:20px;border-top:3px solid var(--green-700)}.legend .dashed{border-top-style:dashed;border-top-color:var(--orange)}.chart-wrap{margin-top:18px;overflow-x:auto}.chart-wrap svg{display:block;width:100%;min-width:700px;min-height:430px}
.breakdown-card>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.breakdown-card>div:last-child{border-bottom:0}.breakdown-card span{color:var(--muted)}.tax-note{margin:19px 0 0;color:var(--muted);font-size:.8rem}
.methodology{margin-top:54px}.methodology h2,.disclaimer h2{font-size:1.4rem}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.method-grid article,.disclaimer{padding:24px;background:#fff;border:1px solid var(--line);border-radius:19px}.method-grid article>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-900);font-weight:900}.method-grid h3{margin:16px 0 6px;font-size:1rem}.method-grid p,.disclaimer p{margin:0;color:var(--muted)}.disclaimer{margin-top:24px;margin-bottom:54px}
.site-footer{background:var(--green-950);color:#fff}.site-footer a{color:#fff;text-decoration:none}
.grid-line{stroke:#e3e9e5;stroke-width:1}.axis-label{fill:#6f7c74;font-size:13px}.target-line{stroke:var(--orange);stroke-width:2.5;stroke-dasharray:8 7}.area{fill:rgba(57,118,89,.11)}.portfolio-line{stroke:var(--green-700);stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round}.end-point{fill:var(--green-700)}.target-label{fill:var(--orange);font-size:13px;font-weight:900}
@media(max-width:1300px){.calculator-shell{grid-template-columns:1fr;max-width:980px}.results-panel{position:static}}
@media(max-width:760px){.header-shell,.page-shell,.calculator-shell{width:min(100% - 22px,1640px)}.site-header{position:static}.brand-copy small{display:none}.hero{padding-top:38px}.input-panel,.results-panel{padding:22px;border-radius:20px}.two-col,.three-col,.result-story,.method-grid{grid-template-columns:1fr}.target-card{min-height:170px}.metric-card{min-height:auto}.chart-heading{flex-direction:column}.legend{flex-direction:row;flex-wrap:wrap}.site-footer .header-shell{flex-direction:column;justify-content:center;gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.method-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.5;
}

@media (max-width:768px){.hero-copy,.helper{white-space:normal;width:auto;max-width:100%;}}


/* Mobile overflow hardening - launch fix v6 */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.calculator-shell,
.input-panel,
.results-panel,
.results-panel > *,
#resultsContent,
.result-story,
.metric-card,
.metric-card > div,
.target-card,
.progress-section,
.insight-card,
.chart-card,
.breakdown-card,
.methodology,
.method-grid,
.disclaimer {
  min-width: 0;
  max-width: 100%;
}

.metric-card strong,
.target-card strong,
.breakdown-card strong,
.insight-card p,
.tax-note,
.method-note {
  overflow-wrap: anywhere;
  word-break: normal;
}

.chart-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.chart-wrap svg {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
}

@media (max-width: 760px) {
  .header-shell,
  .page-shell,
  .calculator-shell {
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
  }

  .calculator-shell,
  .input-panel,
  .results-panel {
    min-width: 0;
  }

  .result-story,
  .two-col,
  .three-col,
  .method-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .target-card strong {
    font-size: clamp(2rem, 11vw, 2.8rem);
    line-height: 1.05;
  }

  .metric-card strong {
    font-size: clamp(1.35rem, 7vw, 1.9rem);
  }

  .breakdown-card > div {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .breakdown-card strong {
    margin-left: auto;
    text-align: right;
  }

  .chart-wrap svg {
    min-height: 240px;
  }
}
