@font-face{font-family:DM Serif Display;src:url(/fonts/dmserif.woff2)format("woff2");font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/worksans.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--navy:#1f3a5f;--navy2:#2b4c77;--sage:#5e8c6a;--sage-lt:#e6efe8;--terra:#c8643b;--terra-lt:#f7e7df;--cream:#f4efe6;--ink:#1b2430;--muted:#5b6573;--line:#e3ded4;--bg:#fbf9f5;--white:#fff;--serif:"DM Serif Display",Georgia,serif;--sans:"Work Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--r:14px;--shadow:0 1px 2px #1f3a5f0f,0 6px 24px #1f3a5f0f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);margin:0}a{color:var(--navy)}h1,h2,h3{color:var(--navy);line-height:1.2}h1{font-family:var(--serif);margin:0 0 6px;font-size:34px;font-weight:400}h2{margin:0 0 12px;font-size:18px}.muted{color:var(--muted)}.small{font-size:14px}.btn{font:600 15px var(--sans);cursor:pointer;background:var(--navy);color:#fff;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--navy2)}.btn:disabled{opacity:.6;cursor:default}.btn.accent{background:var(--terra)}.btn.accent:hover{background:#b35530}.btn.ghost{color:var(--navy);border:1.5px solid var(--line);background:0 0}.btn.ghost:hover{border-color:var(--navy)}.btn.sm{padding:7px 12px;font-size:14px}.btn.link{color:var(--muted);background:0 0;padding:4px 6px;font-weight:500}input,select{border:1.5px solid var(--line);font:500 15px var(--sans);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:10px 12px}input:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-lt);outline:none}label.f{margin-bottom:12px;font-size:13px;font-weight:600;display:block}label.f>input,label.f>select{margin-top:5px}.card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:#fff;padding:20px}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.g4 .card{padding:14px}.stat .v{font-size:22px}.stat .l{font-size:10px}}.stat .v{font-family:var(--serif);color:var(--navy);font-size:30px;line-height:1.1}.stat .l{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.bar{background:var(--cream);border-radius:99px;height:10px;overflow:hidden}.bar>i{background:var(--sage);border-radius:99px;height:100%;display:block}.bar.over>i{background:var(--terra)}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 8px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:700}td.r,th.r{text-align:right}.tw{overflow-x:auto}.pill{border-radius:99px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.pill.need{color:var(--navy);background:#e4eaf2}.pill.want{background:var(--terra-lt);color:#9a4523}.pill.savings{background:var(--sage-lt);color:#3e6b4b}.pill.income{color:#6b5a2e;background:#efe9dc}.note{background:var(--terra-lt);border-left:4px solid var(--terra);border-radius:8px;padding:10px 14px;font-size:14px}.note.ok{background:var(--sage-lt);border-color:var(--sage)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.inline-edit{text-align:right;background:0 0;border:1.5px solid #0000;width:110px;padding:6px 8px}.inline-edit:hover{border-color:var(--line)}.x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:18px}.x:hover{color:var(--terra)}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.side{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:4px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);color:var(--navy);align-items:center;gap:10px;padding:0 10px 18px;font-size:22px;text-decoration:none;display:flex}.mark{background:var(--navy);width:32px;height:32px;color:var(--cream);font-family:var(--serif);border-radius:8px;place-items:center;font-size:19px;display:grid}.side a.nav{color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.side a.nav:hover{background:var(--bg)}.side a.nav.on{background:var(--sage-lt);color:var(--navy);font-weight:700}.side .foot{color:var(--muted);margin-top:auto;padding:0 10px;font-size:13px}.main{width:100%;max-width:1100px;padding:28px 32px 60px}.banner{background:var(--cream);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;padding:10px 14px;font-size:14px}.demo{background:#fff7db;border-color:#f0dfa0}.topbar{display:none}@media (max-width:820px){.shell{grid-template-columns:1fr}.side{z-index:20;height:auto;display:none;position:fixed;inset:0}.side.open{display:flex}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.main{padding:20px 16px 60px}}.center{background:linear-gradient(180deg,var(--cream),var(--bg));place-items:center;min-height:100vh;padding:24px;display:grid}.auth{width:100%;max-width:400px}.hero{text-align:center;background:linear-gradient(180deg,var(--cream),var(--bg));padding:70px 20px 40px}.hero h1{max-width:820px;margin:10px auto;font-size:clamp(36px,6vw,58px)}.hero p{color:var(--muted);max-width:620px;margin:0 auto 24px;font-size:19px}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.price{border:2px solid var(--line);background:#fff;border-radius:18px;padding:26px}.price.best{border-color:var(--sage)}.price .amt{font-family:var(--serif);color:var(--navy);font-size:44px}.check{margin:14px 0;padding:0;list-style:none}.check li{padding:5px 0 5px 26px;position:relative}.check li:before{content:"✓";color:var(--sage);font-weight:800;position:absolute;left:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--sage);font-size:13px;font-weight:700}.err{color:#a33b17;margin:8px 0;font-size:14px}
