
/* Design system v8: shared defaults; the site own CSS comes after. */
:root{--ink:#122B35;--ink-soft:#49636C;--ground:#EDF5F2;--surface:#FFFFFF;--line:#B8D1C9;--accent:#087A68;--accent-ink:#FFFFFF;--focus:#A63D18;--star:#A88124;--star-hot:#F2B10A;--card-radius:0.7rem;--card-shadow:0 10px 30px rgba(18,43,53,.08);--display-face:Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}
:root[data-theme="dark"]{--ink:#F8FAFC;--ink-soft:#D1D9E6;--ground:#0B2327;--surface:#123238;--line:#54777A;--accent:#67E8D3;--accent-ink:#082D2A;--focus:#FDA4AF;--star:#C9A24A;--star-hot:#FCD34D}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#F8FAFC;--ink-soft:#D1D9E6;--ground:#0B2327;--surface:#123238;--line:#54777A;--accent:#67E8D3;--accent-ink:#082D2A;--focus:#FDA4AF;--star:#C9A24A;--star-hot:#FCD34D}}
body{background:var(--ground);color:var(--ink)} a{color:var(--accent)} h1,h2{font-family:var(--display-face)} .brand{display:inline-flex;align-items:center;gap:.5rem}.site-logo{width:2rem;height:2rem;fill:none;stroke:var(--logo);stroke-width:2.4;flex:none}.card,.guide-list>li{border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.card-icon,.section-icon{width:1.6rem;height:1.6rem;vertical-align:middle;margin-right:.55rem;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}.card-icon{float:left;margin-top:.1rem}.section-icon{width:1.3rem;height:1.3rem}.design-figure{display:flex;align-items:center;gap:1rem;padding:1rem;margin:1.5rem 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius)}.design-figure svg{width:88px;height:60px;stroke:var(--accent);fill:none;stroke-width:2}.rating{margin:2rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface)}.rating-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.25rem 0 1rem;padding:0;border:0;background:none}.rating-top .rating-status{margin:0;font-size:.95rem}.rating-top button{width:34px;height:34px;padding:4px}.rating-stars{display:flex;gap:.25rem}.rating button{width:44px;height:44px;padding:8px;background:transparent;color:var(--star);border:0;cursor:pointer;transition:color .12s ease}.rating button:hover,.rating button:focus-visible{color:var(--star-hot)}.rating-stars:hover button{color:var(--star-hot)}.rating-stars button:hover~button{color:var(--star)}.rating button[disabled]{cursor:default}.rating button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.rating svg{width:100%;height:100%;fill:currentColor}.rating-status{color:var(--ink-soft)}button:hover,.card:hover{filter:brightness(.96)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.reviews{padding:8px 0 48px}
.reviews-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:24px}
.reviews-head h2{margin:0;font-family:var(--display-face);font-size:clamp(26px,3.2vw,34px);font-weight:800;letter-spacing:-.03em}
.reviews-summary{margin:0;color:var(--ink-soft);font-size:15px;font-variant-numeric:tabular-nums}
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}
.review-card{display:flex;flex-direction:column;gap:12px;margin:0;padding:22px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);box-shadow:var(--card-shadow)}
.review-stars{font-size:15px;letter-spacing:2px;line-height:1}
.review-stars .on{color:var(--star-hot)}
.review-stars .off{color:var(--line)}
.review-card blockquote{margin:0;color:var(--ink);font-size:15px;line-height:1.55}
.review-card figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:4px;color:var(--ink-soft);font-size:13px}
.review-avatar{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:50%;color:#fff;font-size:14px;font-weight:800;letter-spacing:.02em}
.review-who{display:flex;min-width:0;flex-direction:column}
.review-who strong{color:var(--ink);font-size:14px}
.review-card figcaption time{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.reviews+.rating{margin-top:0}
@media(max-width:520px){.review-grid{grid-template-columns:minmax(0,1fr)}.review-card figcaption time{display:none}}

.review-form-wrap{max-width:720px;margin:32px auto 0;padding:24px;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface)}
.review-form-wrap h3{margin:0 0 6px;font-family:var(--display-face);font-size:20px}
.review-form-lede{margin:0 0 20px;color:var(--ink-soft);font-size:14px}
.review-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:end}
#review-form label{display:block;margin-top:16px;font-size:14px;font-weight:700;color:var(--ink)}
.review-form-row label{margin-top:0}
#review-form input[type=text],#review-form textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:calc(var(--card-radius)/2);background:var(--ground);color:var(--ink);font:inherit}
#review-form textarea{min-height:110px;resize:vertical}
.review-rating-label{display:block;color:var(--ink-soft);font-size:14px;font-weight:650}
.review-input-stars{display:flex;gap:2px;margin-top:6px}
.review-input-stars button{min-height:40px;width:36px;padding:0;border:0;background:transparent;color:var(--line);font-size:22px;cursor:pointer}
.review-input-stars button.on{color:var(--star-hot)}
.review-form-hint{margin:8px 0 0;color:var(--ink-soft);font-size:13px}
.review-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.review-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px}
.review-form-foot button{min-height:44px;padding:0 18px;border:0;border-radius:calc(var(--card-radius)/2);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:800;cursor:pointer}
.review-form-foot button[disabled]{opacity:.6;cursor:default}
.review-status{margin:0;color:var(--ink-soft);font-size:14px}
@media(max-width:560px){.review-form-row{grid-template-columns:1fr}}

:root{--section-loan:#087A68;--section-save:#2563A5;--section-tax:#9A5B13;--space-1:.5rem;--space-2:3rem}
body{background:linear-gradient(180deg,#e6f2ee 0,#edf5f2 32rem);letter-spacing:-.006em}
header{width:min(1180px,calc(100% - 32px));padding:18px 0;border-bottom:1px solid var(--line);gap:1.5rem}.brand{font-family:var(--display-face);font-size:1.35rem;letter-spacing:-.03em}.site-logo{width:2.35rem;height:2.35rem}
header nav{position:relative;margin-left:auto}.nav-toggle{position:absolute;opacity:0;pointer-events:none}.nav-button{display:none}.nav-links{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.nav-links a{padding:.65rem .7rem;border-radius:.45rem;color:var(--ink);font-size:.88rem;font-weight:700;white-space:nowrap}.nav-links a:hover{background:var(--surface);color:var(--accent)}
main{width:min(1080px,calc(100% - 32px));padding-top:1.25rem}.hero{padding:2rem 0 1rem}.hero>p:first-child,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:850;color:var(--accent)}h1{max-width:16ch;letter-spacing:-.045em}.lede{max-width:64ch}
.quick-tool{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(32rem,1.35fr);gap:2rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:clamp(1.25rem,3vw,2.25rem);margin:.75rem 0 0}.quick-tool h2{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.05;margin:.15rem 0 .7rem}.quick-tool .calculator-form>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-tool .actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.full-tool-link{font-weight:800;text-decoration:none}.quick-tool .result{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:1rem;padding:1rem 1.25rem;background:#E0F2ED;border:1px solid #A4D4C8}.quick-tool .result strong{font-variant-numeric:tabular-nums}.quick-tool .facts{grid-column:1/-1;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.trust-strip{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 var(--space-2);padding:0;background:#123238;color:#fff;border-radius:0 0 var(--card-radius) var(--card-radius);overflow:hidden}.trust-strip li{padding:1rem 1.1rem;text-align:center;font-size:.9rem;font-weight:750;border-right:1px solid #54777A}.trust-strip li:last-child{border-right:0}.trust-strip li::before{content:'✓';color:#67E8D3;margin-right:.5rem}
.ad-slot{display:grid;place-items:center;min-height:132px;margin:var(--space-2) 0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(8,122,104,.035) 8px,rgba(8,122,104,.035) 16px);border:1px solid var(--line);border-radius:var(--card-radius)}.ad-slot span{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--ink-soft)}
.grid{gap:1.15rem}.card{position:relative;border-top:4px solid var(--accent);padding:1.35rem;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(18,43,53,.13)}.card-icon{float:none;display:inline-block;width:2.35rem;height:2.35rem;margin:0 .8rem .5rem 0;color:var(--accent)}.card strong{font-family:var(--display-face);font-size:1.08rem;vertical-align:top;line-height:2.35rem}.card-output{display:block;margin-top:1rem;color:var(--accent);font-size:.83rem;font-weight:850}.content{font-size:1.03rem;line-height:1.72}.content p{max-width:70ch}.formula{display:block;margin:1.25rem 0;padding:1.25rem;background:#123238;color:#F4FFFC;border-radius:var(--card-radius);font:700 clamp(1rem,3vw,1.35rem)/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.worked-example{width:100%;border-collapse:separate;border-spacing:0;margin:1.25rem 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);overflow:hidden}.worked-example th,.worked-example td{padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.worked-example th{width:7rem;color:var(--accent)}.worked-example tr:last-child>*{border-bottom:0}.assumptions{padding-left:1.25rem}.assumptions li{margin:.65rem 0;padding-left:.35rem}.panel{border-top:5px solid var(--accent)}.panel+.trust-strip{margin-top:0}.rating-top{display:none}.footer-ad{width:min(1080px,calc(100% - 32px));margin-left:auto;margin-right:auto}footer{width:min(1080px,calc(100% - 32px));display:grid;grid-template-columns:1.2fr 2fr auto;align-items:start}.footer-about{display:grid;gap:.35rem;max-width:29rem}.footer-about span{color:var(--ink-soft)}footer nav{display:flex;justify-content:center}footer>span{white-space:nowrap}.consent{position:relative;box-shadow:none;margin-top:0}.consent button{min-height:44px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark}body{background:linear-gradient(180deg,#0d292d 0,#0b2327 34rem)}.quick-tool .result{background:#163E3E;color:#F8FAFC;border-color:#54777A}}
:root[data-theme="dark"] body{background:linear-gradient(180deg,#0d292d 0,#0b2327 34rem)}:root[data-theme="dark"] .quick-tool .result{background:#163E3E;color:#F8FAFC;border-color:#54777A}
@media(max-width:1600px){header{align-items:flex-start}.nav-button{display:flex;align-items:center;min-width:44px;min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);font-weight:800;cursor:pointer}.nav-links{display:none;position:absolute;right:0;top:3.2rem;z-index:20;width:min(22rem,calc(100vw - 32px));padding:.65rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links a{white-space:normal}.nav-toggle:checked~.nav-links{display:grid}.nav-toggle:focus-visible+.nav-button{outline:3px solid var(--focus);outline-offset:3px}.quick-tool{grid-template-columns:1fr}.quick-tool .calculator-form>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){header{flex-direction:row;align-items:center}.quick-tool{margin-top:.5rem;padding:1rem}.quick-tool .calculator-form>.grid,.trust-strip{grid-template-columns:1fr}.quick-tool .result{grid-template-columns:1fr}.quick-tool .result strong{margin-top:.2rem}.trust-strip li{border-right:0;border-bottom:1px solid #54777A;text-align:left}.trust-strip li:last-child{border-bottom:0}.ad-slot{min-height:104px;margin:2rem 0}.card{padding:1.1rem}footer{grid-template-columns:1fr;gap:1.25rem}footer nav{justify-content:flex-start}.formula{margin-left:-.5rem;margin-right:-.5rem}}
@media print{header,.ad-slot,.rating,.trust-strip,.breadcrumbs,.design-figure,.consent,footer{display:none}.panel,.quick-tool,.content,.result{box-shadow:none;background:#fff;color:#000;border-color:#999}body{background:#fff;color:#000}.content{max-width:none}main{width:100%;padding:0}.actions{display:none}.assumptions,.worked-example,.result{break-inside:avoid}}
