html,body,#root{margin:0;min-height:100%}
.hr{--bg:#f6f5f3;--ink:#191817;--ink2:#4d4a46;--rule:#dedbd6;--blue:#1355d8;background:var(--bg);color:var(--ink);font:16px/1.65 "Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.hr *{box-sizing:border-box}
.hr h1,.hr h2,.hr h3,.hr .brand{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.02em;margin:0}
.top{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--bg);z-index:5;flex-wrap:wrap;gap:8px}
.brand{font-size:24px;color:var(--ink);text-decoration:none}
.top nav{display:flex;gap:24px;flex-wrap:wrap}
.top nav a{color:var(--ink2);text-decoration:none;font-size:14px;padding:10px 0}
.top nav a:hover{color:var(--blue)}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin:0 0 14px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;padding:7vw 5vw;align-items:center}
.hero h1{font-size:clamp(36px,5.2vw,68px);line-height:1.06}
.lede{font-size:19px;color:var(--ink2);max-width:540px;margin:24px 0 32px}
.hero-img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;display:block;max-height:640px}
.cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.btn{background:var(--blue);color:#fff;border:0;padding:14px 26px;border-radius:2px;font:600 15px "Helvetica Neue",Arial,sans-serif;text-decoration:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
.btn:hover{background:#0e43b0}
.link{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.band{border-block:1px solid var(--rule);padding:28px 5vw;text-align:center;font-family:Georgia,serif;font-size:clamp(18px,2vw,24px);color:var(--ink2)}
.band p{margin:0}
.sec{padding:7vw 5vw}
.sec.alt{background:#efeeeb}
.sec h2{font-size:clamp(30px,3.6vw,48px);line-height:1.1;margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{border-top:1px solid var(--ink);padding-top:18px}
.step span{font-size:13px;color:var(--blue);font-weight:600}
.step h3{font-size:24px;margin:8px 0 10px}
.step p{margin:0;color:var(--ink2);font-size:15px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:var(--bg);border:1px solid var(--rule);padding:24px;display:flex;flex-direction:column;min-height:240px}
.card h3{font-size:21px;line-height:1.25;flex:1}
.card .eyebrow{color:var(--blue)}
.meta{font-size:13px;color:var(--ink2);margin:20px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.prose p{font-size:18px;color:var(--ink2);margin:0 0 20px}
.faq{max-width:820px}
.faq details{border-top:1px solid var(--rule);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{font-family:Georgia,serif;font-size:21px;cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center}
.faq p{color:var(--ink2);margin:8px 0 0;max-width:640px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.prose-p{color:var(--ink2);font-size:18px}
form{display:grid;gap:16px}
label{display:grid;gap:6px;font-size:13px;color:var(--ink2)}
input,select,textarea{font:16px "Helvetica Neue",Arial,sans-serif;padding:12px;border:1px solid var(--rule);background:#fff;border-radius:2px;color:var(--ink);min-height:44px}
form .btn{justify-self:start}
.thanks{border:1px solid var(--rule);padding:28px;background:#fff}
footer{border-top:1px solid var(--rule);padding:40px 5vw;display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;font-size:14px;color:var(--ink2)}
footer strong{font-family:Georgia,serif;font-size:20px;color:var(--ink);font-weight:400}
footer p{margin:4px 0}.fine{max-width:420px;font-size:12px}
@media(max-width:900px){.hero,.split,.contact{grid-template-columns:1fr}.steps,.cards{grid-template-columns:1fr 1fr}.hero-img{max-height:420px}}
@media(max-width:560px){.steps,.cards{grid-template-columns:1fr}.top nav{gap:16px}}
.mk{max-width:620px;margin:-16px 0 28px}
.zipbox{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:36px}
.zipbox input{width:240px;font-size:18px}
.zr{margin:0;color:var(--ink2);max-width:520px}.zr.ok{color:#1f6b3a;font-weight:600}
.states{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 28px}
.st{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding:10px 0;font-size:15px}
.st span{color:var(--ink2)}
.allzips{margin-top:32px}
.allzips summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.allzips ul{list-style:none;padding:0;margin:12px 0 0;columns:3 260px;column-gap:28px;font-size:14px;color:var(--ink2);max-height:420px;overflow:auto}
.allzips li{padding:3px 0}.allzips b{color:var(--ink)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--blue)}
.allg{margin:28px 0 0}.allg a{color:var(--ink);text-underline-offset:4px}
.reach{margin-top:20px;font-size:18px;line-height:1.8}.reach a{color:var(--blue)}
.thanks a{color:var(--blue)}
.blog{padding:5vw 5vw 6vw}
.bwrap{max-width:1040px;margin:0 auto}.bwrap.narrow{max-width:740px}
.bh1{font-size:clamp(32px,4.4vw,52px);line-height:1.1;margin:0 0 18px}
.bdek{font-family:Georgia,serif;font-size:21px;line-height:1.5;color:var(--ink2);margin:0 0 24px}
.plist{display:grid;gap:44px;margin-top:48px}
.pitem{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start;border-top:1px solid var(--rule);padding-top:32px}
.pitem img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:2px}
.pitem h2{font-size:28px;line-height:1.2;margin:0 0 12px}.pitem h2 a{color:var(--ink);text-decoration:none}.pitem h2 a:hover{color:var(--blue)}
.pdek{color:var(--ink2);margin:0 0 12px}.meta{font-size:13px;color:var(--ink2)}
.crumbs{font-size:13px;color:var(--ink2);margin:0 0 24px}.crumbs a{color:var(--ink2)}
.byline{font-size:14px;color:var(--ink2);margin:0 0 12px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.tags span{font-size:12px;border:1px solid var(--rule);padding:3px 10px;color:var(--ink2)}
.hero-fig,.chart{margin:0 0 36px}.hero-fig img{width:100%;display:block;border-radius:2px}
figcaption{font-size:13px;color:var(--ink2);margin-top:8px;line-height:1.5}
.post h2{font-size:28px;line-height:1.2;margin:48px 0 16px}
.post .kf{margin-top:8px;font-size:22px;border-top:1px solid var(--ink);padding-top:16px}
.findings{padding-left:20px;margin:0 0 8px}.findings li{margin-bottom:12px;color:var(--ink2)}
.post p{font-size:18px;line-height:1.7;margin:0 0 20px}
.post a{color:var(--blue);text-underline-offset:3px;overflow-wrap:anywhere}
.chart{background:#fff;border:1px solid var(--rule);padding:20px}.chart svg{width:100%;height:auto;display:block}
.post .srcs ol{padding-left:20px}.post .srcs li{font-size:15px;margin-bottom:8px}
.post .meta{font-size:13px}.back{margin-top:36px}
@media(max-width:900px){.cards.three{grid-template-columns:1fr 1fr}.pitem{grid-template-columns:1fr}}
@media(max-width:560px){.cards.three{grid-template-columns:1fr}.post p{font-size:17px}}
.bh1+.bdek{margin-top:6px}.post .bh1{margin-bottom:22px}
.post .faqs h3{font-family:Georgia,serif;font-weight:400;font-size:21px;margin:24px 0 6px}.post .faqs p{margin:0 0 8px}
.explore{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:8px 0 24px;font-size:14px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.explore a{color:var(--ink);text-underline-offset:3px}.explore .sep{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-left:6px}
.search input{width:100%;max-width:520px;min-height:44px;border:1px solid var(--rule);padding:0 14px;font-size:16px;background:#fff}
.bwrap:has(.postgrid){max-width:1100px}
.postgrid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;align-items:start}
.toc{position:sticky;top:90px;max-height:calc(100vh - 120px);overflow:auto;border-top:1px solid var(--ink);padding-top:14px}
.tochead{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-weight:600}
.toc ol{list-style:none;margin:0;padding:0}.toc li{margin:0 0 9px}.toc a{font-size:14px;line-height:1.35;color:var(--ink2);text-decoration:none;display:block}.toc a:hover{color:var(--blue)}
.pbody{max-width:740px}
.qq{margin:0 0 28px;padding:16px 20px;border-left:3px solid var(--blue);background:#f6f3ee;font-family:Georgia,serif;font-size:20px;line-height:1.5}
.qq span{display:block;font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px;font-family:system-ui,sans-serif}
.findings{padding-left:22px}
.srcline{font-size:14px!important;color:var(--ink2);border-left:2px solid var(--rule);padding-left:12px}
.tbl{margin:0 0 28px}.tscroll{overflow-x:auto}.tbl table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
.tbl th,.tbl td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left;white-space:nowrap}.tbl th{border-bottom:1px solid var(--ink);font-weight:600}
.related{margin-top:56px}.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rcard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.rcard h3{font-family:Georgia,serif;font-weight:400;font-size:18px;line-height:1.3;margin:6px 0}.rcard h3 a{color:var(--ink);text-decoration:none}
.rcard .pdek{font-size:14px!important;line-height:1.5;margin:0}
.srcs li{overflow-wrap:anywhere}
@media(max-width:1000px){.postgrid{grid-template-columns:minmax(0,1fr)}.toc{position:static;max-height:none;margin-bottom:24px}.rgrid{grid-template-columns:1fr}}
.post .findings{list-style:disc}.post .findings li::marker{font-weight:600}
.post .rcard .eyebrow{font-size:11px;margin:10px 0 0}.post .back{font-size:16px}
.pbody,.postgrid>*{min-width:0}.qq{overflow-wrap:anywhere}

.bwrap:has(.hc-layout){max-width:1000px}
.phead{max-width:740px}
.phero{max-width:1000px}
.hc-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:64px;margin-top:40px;align-items:start}
.hc-layout .pbody{max-width:700px}
.hc-aside{position:relative}
.hc-toc{position:sticky;top:96px}
.hc-toc-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink2);margin-bottom:12px}
.hc-toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.post .hc-toc a{display:block;margin-left:-1px;border-left:1px solid transparent;padding:6px 0 6px 16px;font-size:13px;line-height:1.35;color:var(--ink2);text-decoration:none;overflow-wrap:normal;transition:color .15s}
.post .hc-toc a:hover{color:var(--ink)}
.post .hc-toc a.on{border-left-color:var(--blue);color:var(--ink);font-weight:600}
.post [id]{scroll-margin-top:96px}
@media(max-width:1023px){.hc-layout{grid-template-columns:minmax(0,1fr)}.hc-aside{display:none}}
.top nav{align-items:center}
.top nav a.btn{color:#fff;padding:0 16px;font-size:14px}
.top nav a.btn.ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.top nav a.btn.ghost:hover{background:var(--blue);color:#fff}
.btn.sm{min-height:38px;padding:0 16px;font-size:14px}
.btn.ghost{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.ctabox{margin:48px 0;padding:28px 30px;border:1px solid #d8dde6;border-left:4px solid var(--blue);background:#f6f8fb}
.ctabox h2{margin:0 0 10px}
.ctarow{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 0}
@media(max-width:560px){.top{flex-wrap:wrap}.top nav{gap:8px}}

.guide .answer-capsule { border-left: 3px solid #1355d8; padding: 14px 18px; background: #eef2f8; margin: 18px 0 24px; font-size: 18px; line-height: 1.6; }
.guide .ctabox a.btn { color: #fff; }
