@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");
:root{--navy:#24507d;--blue:#2168a2;--blue-border:#337ab7;--question:#264255;--ink:#333;--muted:#5a6570;--soft:#f4f7fa;--soft-border:#e2e8f0;--white:#fff;--danger:#a94442;--max:920px;--narrow:640px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}img{max-width:100%;height:auto}
.top-bar{background:var(--navy);color:#fff;text-align:center;padding:.65rem 1rem;font-size:14px;font-weight:400;letter-spacing:.01em}.top-bar strong{font-weight:700}.top-bar .dot{opacity:.55;margin:0 .45em}
.site-header{text-align:center;padding:1rem 1rem .25rem;max-width:var(--max);margin:0 auto}
.site-header .logo{display:block;margin:.25rem auto .75rem;width:min(300px,62vw);height:auto}
.headline{margin:0 0 1.25rem;font-size:clamp(1.45rem,3.6vw,2.15rem);font-weight:500;line-height:1.25;color:var(--ink)}
.hero{max-width:var(--narrow);margin:0 auto;padding:0 1rem 1.5rem;text-align:center}
.question{font-family:Lato,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.25rem,2.8vw,1.5rem);font-weight:500;color:var(--question);margin:0 0 1rem}
.zip-row{display:flex;flex-direction:column;align-items:center;gap:.85rem}
.btn-cta,.btn-next{font-family:Lato,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--blue);border:1px solid #2577b7;border-radius:4px;font-size:1.35rem;color:#fff!important;padding:.4em 1.6em;font-weight:700;cursor:pointer;display:inline-block;text-decoration:none!important;min-width:160px}
.btn-cta:hover,.btn-next:hover{background:#1c5a8d}.btn-next:disabled{opacity:.6;cursor:wait}
.btn-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.err{color:var(--danger);min-height:1.2em;font-size:14px;margin:.5rem 0 0}
.ad-disc{font-size:12px;max-width:520px;margin:1rem auto 0;line-height:1.4}.ad-disc,.ad-disc a{color:#777}
.section{padding:3rem 1.25rem}.section-soft{background:var(--soft)}.section-inner{max-width:var(--max);margin:0 auto}
.section h2{font-family:Lato,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.35rem,2.8vw,1.75rem);color:var(--navy);text-align:center;margin:0 0 .5rem;font-weight:700}
.section .lede{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 2rem;font-size:1.02rem}
.steps{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:720px){.steps{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.step-card{background:#fff;border:1px solid var(--soft-border);border-radius:10px;padding:1.35rem 1.2rem 1.5rem;text-align:center;box-shadow:0 1px 2px rgba(36,80,125,.04)}
.step-icon{width:52px;height:52px;margin:0 auto .85rem;border-radius:50%;background:#e8f1f8;color:var(--blue);display:grid;place-items:center;font-size:1.35rem;font-weight:700}
.step-card h3,.step-icon{font-family:Lato,sans-serif}.step-card h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--navy)}.step-card p{margin:0;font-size:.95rem;color:var(--muted)}
.factor-grid{display:grid;grid-template-columns:1fr;gap:.85rem}@media (min-width:640px){.factor-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.factor-grid{grid-template-columns:repeat(3,1fr)}}
.factor,.about-card{background:#fff;border:1px solid var(--soft-border);border-radius:10px;padding:1.15rem 1.1rem}
.factor h3,.about-card h3{margin:0 0 .35rem;font-size:1rem;color:var(--navy);font-family:Lato,sans-serif}.factor p,.about-card p{margin:0;font-size:.92rem;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.25rem}@media (min-width:720px){.about-grid{grid-template-columns:repeat(3,1fr)}}
.tips{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--soft-border);border-radius:12px;padding:1.5rem 1.5rem 1.25rem}
.tips ul{list-style:none;margin:0;padding:0}.tips li{position:relative;padding:.65rem 0 .65rem 2rem;border-bottom:1px solid #eef2f6;color:var(--ink);font-size:.98rem}.tips li:last-child{border-bottom:0}
.tips li:before{content:"";position:absolute;left:0;top:.95rem;width:1rem;height:1rem;border:2px solid var(--blue);border-radius:3px;background:linear-gradient(var(--blue),var(--blue)) 50% 50% /.45rem .45rem no-repeat}
.faq{max-width:680px;margin:0 auto}.faq details{background:#fff;border:1px solid var(--soft-border);border-radius:8px;margin-bottom:.65rem;padding:.85rem 1rem}
.faq summary{cursor:pointer;font-weight:700;font-family:Lato,sans-serif;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--blue);font-size:1.35rem;font-weight:400;line-height:1}.faq details[open] summary:after{content:"\2212"}.faq details p{margin:.75rem 0 .15rem;color:var(--muted);font-size:.95rem}
.cta-band{text-align:center;padding:2.25rem 1rem;background:linear-gradient(180deg,#eaf2f8,#f7fafc);border-top:1px solid #d8e4ef;border-bottom:1px solid #d8e4ef}
.cta-band p{margin:0 0 1rem;font-family:Lato,sans-serif;font-size:1.15rem;font-weight:700;color:var(--navy)}
.site-footer{text-align:center;padding:2rem 1rem 2.5rem;font-size:13px;color:#777;border-top:1px solid #eee}
.site-footer .links a{color:var(--blue);margin:0 .3em;text-decoration:none}.site-footer .links a:hover{text-decoration:underline}.site-footer .sep{color:#bbb}
.site-footer .legal{max-width:720px;margin:1rem auto 0;font-size:11px;line-height:1.45;color:#999}
.legal-main{max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem}.legal-main h1{font-size:1.75rem;color:var(--ink);font-weight:500}.legal-main .card{font-size:.95rem;color:var(--muted);line-height:1.55}
.legal-main h2{font-family:Lato,sans-serif;font-size:1.15rem;color:var(--navy);margin:1.5rem 0 .4rem}
#debug-out{white-space:pre-wrap;background:#111;color:#e5e7eb;padding:12px;border-radius:6px;margin:12px auto;max-width:640px;text-align:left;font-size:12px}
.note{font-size:.85rem;color:#888;text-align:center;margin:1rem auto 0;max-width:560px}
@media (max-width:640px){.fold{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;position:relative}.top-bar{flex:0 0 auto;font-size:13px;padding:.55rem .75rem;white-space:nowrap}.top-bar .dot{margin:0 .35em}
.site-header{flex:1 0 auto;width:100%;padding:1rem 1.25rem 0;display:flex;flex-direction:column;justify-content:flex-end}.site-header .logo{width:min(220px,58vw);max-height:12svh;object-fit:contain;margin:0 auto clamp(.6rem,2.5svh,1.5rem)}
.headline{font-size:clamp(1.75rem,8.2vw,2.3rem);font-weight:700;line-height:1.18;margin:0;color:#222}
.hero{flex:1.15 0 auto;width:100%;display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(1rem,3.5svh,2rem) 1.25rem 1rem}
.question{font-size:1.3rem;margin:0 0 1rem}.zip-row{gap:.75rem;align-items:stretch}.btn-next{width:100%;min-height:58px;font-size:1.4rem;border-radius:6px;box-shadow:0 2px 6px rgba(33,104,162,.3)}.btn-row{flex-direction:column}
.err{min-height:1.1em;font-size:13px;margin:.4rem 0 0}.ad-disc{font-size:11.5px;margin:.35rem auto 0}}
@media (max-width:640px) and (max-height:680px){.site-header .logo{width:min(170px,46vw)}.headline{font-size:clamp(1.6rem,7.6vw,1.95rem)}.question{font-size:1.15rem;margin-bottom:.6rem}.btn-next{min-height:54px}}
