:root{--navy:#0c103c;--accent:#d84727;--accent-dark:#b93a1f;--ink:#2e2a32;--muted:#5c5862;--light:#f9fafa;--line:#e8e9ed}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Rubik,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.5;color:#000;background:#fff}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:"Work Sans",sans-serif;font-weight:700;color:var(--ink);margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.wrap{max-width:1142px;margin:0 auto;padding:0 16px}

/* hero */
.hero{background:var(--navy);color:#fff;text-align:center;padding:72px 16px 64px}
.hero .logo{display:inline-block;margin-bottom:18px}
.hero .logo img{height:46px;width:auto;filter:brightness(0) invert(1)}
.hero h1{color:#fff;font-size:50px;line-height:58px;margin:0 auto 22px;max-width:1110px}
.hero .tagline{font-size:16px;margin:0 0 18px}
.ad-label{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.35);padding:2px 8px;margin-bottom:16px}

/* zip form */
.zip{display:inline-flex;align-items:center;background:#fff;padding:4px;border:1px solid var(--line);max-width:100%}
.zip .field{display:flex;align-items:center;gap:6px;padding:4px 8px}
.zip svg{width:16px;height:16px;flex:none;color:#8b8790}
.zip input{border:0;outline:0;font:400 18px/26px Rubik,sans-serif;color:var(--ink);width:120px;padding:4px 0;background:transparent}
.zip input::placeholder{color:#8b8790}
.zip button{border:0;background:var(--accent);color:#fff;font:400 16px/20px Arial,sans-serif;padding:12px;cursor:pointer;white-space:nowrap}
.zip button:hover,.zip button:focus-visible{background:var(--accent-dark)}
.zip:focus-within{outline:2px solid #fff;outline-offset:2px}
.form-note{font-size:12px;color:rgba(255,255,255,.7);margin:10px 0 0}

.providers{list-style:none;margin:40px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 30px;max-width:1110px}
.providers li{color:rgba(255,255,255,.62);font-family:"Work Sans",sans-serif;font-size:19px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.providers li:nth-child(3n+1){font-weight:700;letter-spacing:.02em}
.providers li:nth-child(4n+2){font-weight:500;font-size:21px}
.providers li:nth-child(5n){text-transform:uppercase;font-size:17px;letter-spacing:.06em}

/* guide intro */
.intro{background:var(--light);padding:52px 16px}
.intro .art{width:420px;max-width:80%;margin:0 auto 28px;mix-blend-mode:multiply}
.intro h2{text-align:center;font-size:32px;line-height:40px;margin-bottom:40px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1110px;margin:0 auto}
.trio svg{width:46px;height:46px;color:#111;margin-bottom:14px}
.trio h3{font-size:20px;line-height:26px;margin-bottom:4px}
.trio p{margin:0;color:var(--muted);font-size:16px}

/* guides */
.guides{padding:72px 16px 40px;text-align:center}
.guides h2{font-size:32px;line-height:40px;margin-bottom:12px}
.guides .sub{color:var(--muted);margin:0 0 22px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1110px;margin:0 auto;text-align:left}
.card img{width:100%;aspect-ratio:1200/630;object-fit:cover}
.card .meta{font-size:12px;color:var(--muted);margin:10px 0 4px}
.card h3{font-size:18px;line-height:24px;margin-bottom:6px}
.card p{font-size:14px;color:var(--muted);margin:0}

/* cta box */
.cta{max-width:1110px;margin:40px auto 0;background:var(--navy);text-align:center;color:#fff;padding:40px 16px}
.cta h2{color:#fff;font-size:32px;line-height:40px;margin-bottom:14px}
.cta p{margin:0 0 18px}
.cta .form-note{margin-top:10px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1110px;margin:52px auto 0;padding:0}
.step{background:var(--light);border:1px solid var(--line);padding:32px;text-align:center;list-style:none}
.step h3{font-size:24px;line-height:30px;margin-bottom:12px}
.step p{margin:0 0 18px;color:var(--muted)}
.step svg{width:100%;max-width:220px;height:auto;margin:0 auto;display:block}

/* good to know */
.know{max-width:1110px;margin:52px auto 72px;text-align:center}
.know h4{font-size:20px;margin-bottom:8px}
.know p{color:var(--muted);margin:0 auto;max-width:760px;font-size:15px}

/* footer */
footer{background:var(--navy);color:#fff;padding:44px 16px 36px;font-size:14px}
footer .cols{max-width:1110px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}
footer .flogo img{height:34px;width:auto;filter:brightness(0) invert(1)}
footer nav a{display:block;color:#fff;text-decoration:none;font-weight:500;margin-top:16px}
footer nav a:hover,footer .legal a:hover{text-decoration:underline}
footer .legal a{color:#fff;text-decoration:none}
footer .legal p{margin:0 0 14px}
footer .disclose{max-width:1110px;margin:30px auto 0;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.6}
footer .disclose p{margin:0 0 8px}
footer .disclose a{color:rgba(255,255,255,.85)}

@media (max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr;max-width:480px}
}
@media (max-width:640px){
  .hero{padding:52px 16px 44px}
  .hero h1{font-size:34px;line-height:40px}
  .zip{display:flex;width:100%}
  .zip .field{flex:1;min-width:0}
  .zip input{width:100%}
  .providers{gap:10px 20px}
  .providers li{font-size:16px}
  .intro h2,.guides h2,.cta h2{font-size:26px;line-height:32px}
  .trio{grid-template-columns:1fr;gap:26px;text-align:center}
  .cards{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
}
