:root{--ink: #14211b;--ink-soft: #4a5a52;--paper: #fbfaf6;--card: #ffffff;--line: #e4e1d6;--brand: #0d5c3f;--brand-dark: #08402b;--brand-tint: #e6f1eb;--gold: #c9962b;--gold-tint: #fbf3e2;--radius: 14px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--wrap: 1120px;--measure: 720px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}img{max-width:100%;height:auto}a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--brand-dark);outline-offset:2px;box-shadow:0 0 0 5px #fff}html{scroll-padding-top:130px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--card);padding:8px 12px;z-index:10}.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.header-row{display:flex;align-items:center;gap:16px;min-height:64px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 1.2rem/1 var(--serif);letter-spacing:-.01em}.logo-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font:700 1.1rem/1 var(--serif)}.logo span b{color:var(--brand)}.lang-switch{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:.85rem;font-weight:600}.lang-switch a{padding:6px 12px;text-decoration:none;color:var(--ink-soft)}.lang-switch a[aria-current=true]{background:var(--brand);color:#fff}.nav{border-top:1px solid var(--line)}.nav ul{list-style:none;margin:0 auto;padding:0 16px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:var(--wrap)}.nav ul::-webkit-scrollbar{display:none}.nav a{display:block;padding:10px 12px;white-space:nowrap;text-decoration:none;color:var(--ink-soft);font-size:.92rem;font-weight:600;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand)}.lang-banner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--gold-tint);border-top:1px solid #ecdcb5;box-shadow:0 -6px 20px -12px #14211b59;font-size:.92rem}.lang-banner.show{display:block}.lang-banner .wrap{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding-top:10px;padding-bottom:10px}.lang-banner button{background:none;border:0;color:var(--ink-soft);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.btn{display:inline-block;background:var(--brand);color:#fff;padding:12px 20px;border-radius:10px;text-decoration:none;font-weight:700}.btn:hover{background:var(--brand-dark);color:#fff}.chip{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:var(--brand-tint);padding:4px 10px;border-radius:999px;text-decoration:none}.hero{padding:56px 0 40px}.hero-grid{display:grid;gap:32px;align-items:center;grid-template-columns:1.3fr 1fr}.hero h1{font:700 clamp(2.1rem,5vw,3.3rem)/1.08 var(--serif);letter-spacing:-.02em;margin:12px 0 16px}.hero p{font-size:1.12rem;color:var(--ink-soft);max-width:36em;margin:0 0 24px}.hero-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px -18px #0d5c3f59}.hero-card h2{font:700 1rem/1.3 var(--sans);margin:0 0 12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.trust{list-style:none;margin:0;padding:0;display:grid;gap:14px}.trust li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:.95rem;color:var(--ink-soft)}.trust strong{display:block;color:var(--ink)}.trust .tick{width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;font-weight:800}.section{padding:40px 0}.section-title{font:700 1.6rem/1.2 var(--serif);margin:0 0 20px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.topic{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}.topic:hover{border-color:var(--brand);transform:translateY(-2px);color:var(--ink)}.topic strong{display:block;font:700 1.1rem/1.3 var(--serif);margin-bottom:4px}.topic span{font-size:.92rem;color:var(--ink-soft)}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:10px}.post-card .card-title{font:700 1.3rem/1.25 var(--serif);margin:0}.post-card .card-title a{color:var(--ink);text-decoration:none}.post-card .card-title a:hover{color:var(--brand)}.post-card p{margin:0;color:var(--ink-soft);font-size:.97rem}.post-card .meta{margin-top:auto}.meta{font-size:.85rem;color:var(--ink-soft)}.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:24px;color:var(--ink-soft)}.article-head{padding:36px 0 8px;max-width:var(--measure)}.crumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:14px}.crumbs a{color:var(--ink-soft);display:inline-block;padding:6px 0}.article-head h1{font:700 clamp(1.9rem,4.5vw,2.7rem)/1.12 var(--serif);letter-spacing:-.015em;margin:10px 0 14px}.article-head .lede{font-size:1.12rem;color:var(--ink-soft);margin:0 0 16px}.byline{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.88rem;color:var(--ink-soft);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.prose{max-width:var(--measure);padding:12px 0 24px}.prose h2{font:700 1.6rem/1.25 var(--serif);margin:2.2em 0 .6em;letter-spacing:-.01em}.prose h3{font:700 1.2rem/1.3 var(--sans);margin:1.8em 0 .5em}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin-bottom:.4em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0 1.4em}.prose hr+p em{display:block;font-size:.9rem;color:var(--ink-soft);background:var(--gold-tint);border-left:4px solid var(--gold);padding:14px 16px;border-radius:0 10px 10px 0;font-style:normal}.prose blockquote{margin:1.5em 0;padding:4px 18px;border-left:4px solid var(--brand);background:var(--brand-tint);border-radius:0 10px 10px 0}.prose .table-wrap{overflow-x:auto;margin:1.4em 0;border-radius:10px;background:linear-gradient(90deg,var(--paper) 30%,rgba(251,250,246,0)) left / 40px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,rgba(20,33,27,.18),transparent) right / 14px 100% no-repeat scroll}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose thead th{background:var(--brand);color:#fff;text-align:left}.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.prose tbody tr:nth-child(2n){background:#f3f1ea}.prose strong{color:var(--ink)}.related{border-top:1px solid var(--line);margin-top:16px}.site-footer{background:var(--ink);color:#c9d3cd;margin-top:48px;padding:36px 0;font-size:.9rem}.site-footer a{color:#fff}.footer-grid{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between}.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.site-footer .note{max-width:46em;margin:16px 0 0}@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.topic-grid{grid-template-columns:repeat(2,1fr)}.post-grid{grid-template-columns:1fr}}@media(max-width:520px){body{font-size:16.5px}.hero{padding-top:32px}.topic-grid{grid-template-columns:1fr}.logo{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){.topic{transition:none}.topic:hover{transform:none}}.toc{max-width:var(--measure);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:20px 0 4px;font-size:.95rem}.toc summary{cursor:pointer;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:4px 0}.toc[open] summary{margin-bottom:8px}.toc ol{margin:0;padding-left:20px}.toc li{margin:4px 0}.prose h2{scroll-margin-top:120px}.post-card{overflow:hidden}.post-thumb{display:block;margin:-22px -22px 4px;aspect-ratio:40 / 21;background:var(--brand)}.post-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.post-card:hover .post-thumb img{transform:scale(1.03)}.article-cover{display:block;width:100%;max-width:var(--measure);height:auto;aspect-ratio:40 / 21;border-radius:var(--radius);margin:20px 0 0}.prose img{display:block;width:100%;height:auto;margin:1.6em 0;border-radius:var(--radius);box-shadow:0 8px 24px -16px #14211b59}@media(prefers-reduced-motion:reduce){.post-thumb img{transition:none}.post-card:hover .post-thumb img{transform:none}}.section-lede{margin:-10px 0 20px;color:var(--ink-soft)}.guide-grid{grid-template-columns:repeat(3,1fr)}.post-card.is-guide{border:2px solid var(--gold);box-shadow:0 10px 30px -18px #c9962b99}.guide-badge{align-self:flex-start;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7a5a12;background:var(--gold-tint);padding:4px 10px;border-radius:999px}@media(max-width:860px){.guide-grid{grid-template-columns:1fr}}.pillar-box{max-width:var(--measure);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--gold-tint);border:1px solid #ecdcb5;border-radius:var(--radius);padding:12px 16px;margin:16px 0 4px;font-weight:600}.sources{max-width:var(--measure);border-top:1px solid var(--line);margin-top:8px;padding-top:18px;font-size:.95rem}.sources h2{font:700 1.2rem/1.3 var(--sans);margin:0 0 10px}.sources ul{margin:0 0 10px;padding-left:20px}.sources li{margin:6px 0}.sources p{color:var(--ink-soft);font-size:.88rem;margin:0}.related-grid{grid-template-columns:repeat(3,1fr)}.see-all{margin:22px 0 0;text-align:center}.btn-ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}.btn-ghost:hover{background:var(--brand);color:#fff}.all-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 40px;padding-bottom:24px}.all-list h2{font:700 1.3rem/1.3 var(--serif);margin:18px 0 8px}.all-list h2 a{color:var(--ink);text-decoration:none}.all-list ul{margin:0;padding-left:18px}.all-list li{margin:7px 0}.all-list .guide-badge{margin-right:6px;font-size:.7rem}@media(max-width:860px){.related-grid,.all-list{grid-template-columns:1fr}}@media(max-width:600px){.nav ul{flex-wrap:wrap;overflow:visible;justify-content:flex-start;gap:0 2px;padding:4px 10px}.nav a{padding:7px 8px;font-size:.86rem}.site-header{position:static}html{scroll-padding-top:12px}.prose h2{scroll-margin-top:12px}.article-cover{display:none}}.topic-intro{max-width:var(--measure);color:var(--ink-soft)}.topic-intro p{margin:0 0 12px}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding-bottom:8px}.title-link{color:var(--ink);text-decoration:none}.title-link:hover{color:var(--brand)}.calc{max-width:900px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:20px 0 8px;box-shadow:0 10px 30px -20px #0d5c3f73}.calc label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.calc input{font:inherit;font-size:1rem;font-weight:500;color:var(--ink);width:100%;min-width:0;padding:9px 11px;border:1px solid #cfcabb;border-radius:9px;background:var(--paper)}.calc input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-tint)}.calc small{font-weight:400;color:var(--ink-soft);font-size:.8rem}.calc-rows{display:grid;gap:10px}.calc-row{display:grid;gap:10px;align-items:end;border:0;margin:0;padding:0 0 10px;border-bottom:1px dashed var(--line);min-width:0}.debt-row{grid-template-columns:1.5fr 1fr .8fr 1fr 40px}.util-row{grid-template-columns:1.5fr 1fr 1fr 40px}.calc-remove{height:42px;border:1px solid var(--line);background:var(--paper);border-radius:9px;font-size:1.3rem;line-height:1;color:var(--ink-soft);cursor:pointer}.calc-remove:hover{color:#a33;border-color:#e3b8b8}.calc-add{margin:12px 0 4px;background:none;border:2px dashed var(--brand);color:var(--brand);border-radius:9px;padding:8px 14px;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer}.calc-add:hover{background:var(--brand-tint)}.calc-field{margin-top:14px;max-width:320px}.calc-field-wide{max-width:360px;margin-top:0}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.calc-grid .calc-field{margin:0;max-width:none}.calc-results{margin-top:18px}.calc-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calc-compare.three{grid-template-columns:repeat(3,1fr)}.calc-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper)}.calc-card.is-best{border:2px solid var(--brand);background:var(--brand-tint)}.calc-card h3{font:700 1.15rem/1.2 var(--serif);margin:0}.calc-card p{margin:0}.calc-card ol{margin:4px 0 0;padding-left:20px;font-size:.9rem}.calc-card ol span{color:var(--ink-soft);font-size:.82rem}.calc-label{font-size:.75rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-top:12px!important}.calc-big{font:700 1.6rem/1.2 var(--serif);color:var(--brand-dark)}.calc-big small{font:500 .9rem var(--sans);color:var(--ink-soft)}.calc-mid{font-size:1.2rem;font-weight:700}.calc-sub{font-size:.88rem;color:var(--ink-soft)}.calc-verdict{margin:16px 0 0;padding:12px 16px;background:var(--gold-tint);border-left:4px solid var(--gold);border-radius:0 10px 10px 0}.calc-note{font-size:.85rem;color:var(--ink-soft);margin:10px 0 0}.calc-msg{color:var(--ink-soft);margin:0}.is-warn{color:#9a2b1f}.calc-msg.is-warn{background:#fbecea;padding:12px 16px;border-radius:10px}.calc-badge{display:inline-block;vertical-align:middle;font:700 .75rem/1 var(--sans);text-transform:uppercase;letter-spacing:.05em;padding:5px 9px;border-radius:999px;background:var(--brand-tint);color:var(--brand-dark)}.util-card p{margin:6px 0 0}.util-card.level-2 .calc-badge{background:var(--gold-tint);color:#7a5a12}.util-card.level-3 .calc-badge{background:#fbecea;color:#9a2b1f}.util-card.level-2 .calc-big{color:#7a5a12}.util-card.level-3 .calc-big{color:#9a2b1f}.calc-meter{position:relative;height:12px;border-radius:999px;background:#e9e6dc;margin:10px 0 4px;overflow:hidden}.calc-meter span{position:absolute;inset:0 auto 0 0;background:var(--brand);border-radius:999px}.level-2 .calc-meter span{background:var(--gold)}.level-3 .calc-meter span{background:#c0473a}.calc-meter i{position:absolute;top:0;bottom:0;width:2px;background:#fff}.calc-steps{margin:10px 0 0;padding-left:20px}.calc-steps li{margin:4px 0}.calc-list{list-style:none;margin:4px 0 0;padding:0}.calc-list li{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}.calc-list li span{flex:1}.calc-list em{color:#9a2b1f;font-style:normal;font-size:.82rem;font-weight:700}.calc-table,.calc-extra{margin-top:14px}.calc-table summary,.calc-extra summary{cursor:pointer;font-weight:700;color:var(--brand);padding:6px 0}.calc-extra .calc-grid{margin-top:8px}.calc-table table{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:8px}.calc-table th,.calc-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}.calc-table th{background:var(--brand);color:#fff}.budget-bar{display:flex;height:34px;border-radius:9px;overflow:hidden;margin-bottom:14px;font-weight:700;font-size:.85rem;color:#fff}.budget-bar span{display:grid;place-items:center}.budget-bar .is-needs{background:var(--brand)}.budget-bar .is-wants{background:var(--gold)}.budget-bar .is-save{background:var(--brand-dark)}.calc-card.is-needs{border-top:4px solid var(--brand)}.calc-card.is-wants{border-top:4px solid var(--gold)}.calc-card.is-save{border-top:4px solid var(--brand-dark)}@media(max-width:860px){.tool-grid,.calc-compare.three{grid-template-columns:1fr}}@media(max-width:600px){.calc{padding:14px;margin-left:-4px;margin-right:-4px}.debt-row,.util-row{grid-template-columns:1fr 1fr}.calc-row label:first-child{grid-column:1 / -1}.debt-row .calc-remove{grid-column:2;justify-self:end;width:42px}.util-row .calc-remove{grid-column:1 / -1;justify-self:end;width:42px}.calc-compare{grid-template-columns:1fr}.calc-field,.calc-field-wide{max-width:none}}
