
:root{
  --bg:#f6f7f4;
  --paper:#ffffff;
  --ink:#182019;
  --muted:#657066;
  --line:#dfe4de;
  --accent:#1d6f4a;
  --accent-soft:#e7f3ec;
  --dark:#103622;
  --radius:20px;
  --shadow:0 12px 36px rgba(26,43,32,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
}
.wrap{width:min(1120px, calc(100% - 32px)); margin-inline:auto}
.hero{padding:72px 0 44px}
.eyebrow,.kicker{font-size:.76rem; letter-spacing:.13em; font-weight:800; color:var(--accent)}
h1{font-size:clamp(2.3rem,7vw,5.4rem);line-height:.98;letter-spacing:-.05em;margin:.15em 0 .28em;max-width:980px}
.lead{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px;color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:28px;align-items:start}
.panel,.result,.formulas details,.note{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.panel{padding:28px}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
.section-head.second{margin-top:32px}
.step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:white;font-weight:800;margin:0 0 6px}
h2{font-size:1.4rem;line-height:1.2;margin:0}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:1fr 1fr}
label{font-weight:700;font-size:.94rem}
label span{float:right;color:var(--muted);font-weight:500}
input{
  width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink);outline:none
}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ghost{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer}
.assumptions{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.assumptions summary,.formulas summary{cursor:pointer;font-weight:800}
.assumptions .inner{margin-top:16px}
.hint,.intro,.note p{color:var(--muted)}
.hint{font-size:.88rem;margin-bottom:0}
.results{display:grid;gap:18px;position:sticky;top:18px}
.result{padding:24px}
.hero-card{background:var(--dark);color:white;border-color:var(--dark)}
.hero-card .kicker{color:#a6e4c2}
.big{font-size:clamp(2.8rem,6vw,4.4rem);font-weight:900;letter-spacing:-.05em;line-height:1}
.sub{margin:.35rem 0;color:#c4d8cc}
.monthly{margin-top:20px;padding-top:17px;border-top:1px solid rgba(255,255,255,.17);font-weight:800}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.amount{font-size:1.75rem;font-weight:900;letter-spacing:-.03em}
.result p{margin-bottom:0}
.breakdown .rows{margin-top:10px}
.rows div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.rows div:last-child{border-bottom:0}
.rows span{color:var(--muted)}
.formulas{padding:72px 0 20px}
.formulas .intro{max-width:700px}
.formulas details{padding:18px 20px;margin:12px 0;box-shadow:none}
pre{
  margin:16px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f8f6;border-radius:12px;
  padding:16px;font-family:"SFMono-Regular",Consolas,monospace;font-size:.9rem;line-height:1.55
}
.note{padding:24px;margin-top:34px;margin-bottom:70px}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.9rem}
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .results{position:static}
  .hero{padding-top:48px}
}
@media (max-width:560px){
  .grid.two,.compare{grid-template-columns:1fr}
  .panel,.result{padding:20px}
  .section-head{align-items:flex-start}
  h1{font-size:2.55rem}
}
