:root{--bg:#fff;--surface:#e9f5fc;--wash:#d6edfa;--ink:#16303d;--muted:#4b6573;--line:#cfe3ee;--primary:#0f78c2;--accent:#ff9a1f;--accent-ink:#1f1405;--accent-soft:#fff1dc;--display:"Zilla Slab",Rockwell,Georgia,serif;--body:"Source Sans 3","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);padding-bottom:72px}
@media(min-width:760px){body{padding-bottom:0}}
a{color:var(--primary)}h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1.2rem}p{margin:0}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
header{position:sticky;top:0;z-index:20;background:#fff;border-top:4px solid var(--accent);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.mark{width:42px;height:42px}
.wm{display:grid;line-height:1}.wm b{font:400 1.8rem/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.01em}
.wm i{display:flex;height:4px;margin-top:3px}.wm i s{flex:1}.wm small{font:600 .58rem/1 Montserrat,sans-serif;letter-spacing:.34em;color:var(--primary);margin-top:4px}
.hdr-r{display:flex;gap:14px;align-items:center}.ph{font-weight:700;color:var(--ink);text-decoration:none;display:none}@media(min-width:640px){.ph{display:inline}}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 1rem/1 var(--body);padding:15px 22px;border-radius:6px;border:2px solid transparent;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px -10px rgba(22,48,61,.55)}
.btn-sun{background:var(--accent);color:var(--accent-ink)}.btn-blue{background:var(--primary);color:#fff}.btn-out{border-color:var(--ink);color:var(--ink)}
header .btn{padding:10px 15px;font-size:.95rem}
.crumbs{font-size:.9rem;color:var(--muted);padding-top:18px}.crumbs a{color:var(--muted)}
.hero{background:linear-gradient(180deg,var(--wash),#fff);padding-block:20px 56px}
.hero-grid{display:grid;gap:32px;align-items:center;margin-top:18px}@media(min-width:900px){.hero-grid{grid-template-columns:1.1fr 1fr}}
.hero-copy{display:grid;gap:18px}.lede{color:var(--muted);font-size:1.1rem;max-width:60ch}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.win{width:100%;height:auto;border-radius:4px;border:1px solid var(--line);box-shadow:0 14px 34px -18px rgba(15,120,194,.45)}
section{padding-block:56px}.alt{background:var(--surface)}
.head{display:grid;gap:10px;margin-bottom:24px;max-width:62ch}
.seen{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.seen li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:16px 18px}
.pick{margin-top:22px;background:var(--accent-soft);border-radius:8px;padding:16px 18px;max-width:72ch}
.films{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.films div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;display:grid;gap:6px}.films p{color:var(--muted)}
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));padding-left:1.2em;margin:0}
.steps li::marker{font-family:var(--display);font-weight:700;color:var(--primary);font-size:1.2rem}.steps p{color:var(--muted)}
.faq{max-width:820px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding-block:16px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:14px}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--accent);font-size:1.3rem;font-weight:700;line-height:1}
details[open] summary::after{content:"–"}details p{padding-bottom:16px;color:var(--muted);max-width:68ch}
.band{background:var(--primary);color:#fff;border-radius:10px;padding:28px;display:grid;gap:14px}
.band p{opacity:.92}.band .btn{justify-self:start;background:#fff;color:var(--primary)}
.near{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.near a{border:1.5px solid var(--line);border-radius:6px;padding:9px 14px;font-weight:600;text-decoration:none;color:var(--ink);background:#fff}
.near a:hover{border-color:var(--primary)}


.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line)}
.mbar .btn{padding:13px 10px;font-size:.95rem}@media(min-width:760px){.mbar{display:none}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}
.win{animation:rise .7s .15s both}
@media(max-width:640px){body{font-size:16px}section{padding-block:40px}.cta{display:grid}.cta .btn,.band .btn{width:100%;justify-self:stretch}.mark{width:38px;height:38px}.wm b{font-size:1.6rem}}
/* Motion (matches the homepage) */
@keyframes strip{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.wm i s{transform-origin:left;animation:strip .35s ease-out both}.wm i s:nth-child(1){animation-delay:.25s}.wm i s:nth-child(2){animation-delay:.33s}.wm i s:nth-child(3){animation-delay:.41s}.wm i s:nth-child(4){animation-delay:.49s}.wm i s:nth-child(5){animation-delay:.57s}
.crumbs{animation:rise .5s both}
@keyframes drift{from{transform:translateX(-40px)}to{transform:translateX(60px)}}
@keyframes halo{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.12);opacity:.25}}
.cloud{animation:drift 38s linear infinite alternate}.cloud.c2{animation-duration:52s;animation-direction:alternate-reverse}
.halo{transform-box:fill-box;transform-origin:center;animation:halo 6s ease-in-out infinite}
.squeegee{opacity:0;transition:opacity .18s ease;pointer-events:none}.squeegee.on{opacity:1}
.js .win .film{opacity:0}
.rv.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.rv.in{opacity:1;transform:none}
.seen li,.films div,.near a{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.seen li:hover,.films div:hover{transform:translateY(-3px);box-shadow:0 12px 24px -18px rgba(15,120,194,.6)}
.near a:hover{transform:translateY(-2px)}
.btn:active{transform:none;box-shadow:none}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
details[open] p{animation:fadeDown .3s ease}summary::after{transition:transform .25s ease}details[open] summary::after{transform:rotate(180deg)}
.steps li::marker{transition:color .3s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv.rv{opacity:1!important;transform:none!important}.js .win .film{opacity:.42}}

/* ===== Footer ===== */
.ft { background: #fff; border-top: 1px solid #cfe3ee; color: #16303d; font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif; font-size: 16px; line-height: 1.6; padding: 0; margin: 0; }
.ft-wrap { max-width: 1080px; margin: 0 auto; padding-inline: 20px; }
.ft a { color: inherit; text-decoration: none; }
.ft-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-block: 28px; }
.ft-logo { display: inline-flex; align-items: center; gap: 10px; }
.ft-mark { width: 44px; height: 44px; flex: none; }
.ft-wm { display: grid; line-height: 1; }
.ft-wm b { font: 400 1.9rem/1 "Bebas Neue", Impact, sans-serif; letter-spacing: .01em; color: #16303d; }
.ft-wm i { display: flex; height: 4px; margin-top: 3px; }
.ft-wm i s, .ft-strip s { flex: 1; text-decoration: none; }
.ft-wm i s:nth-child(1), .ft-strip s:nth-child(1) { background: #d8eef9; } .ft-wm i s:nth-child(2), .ft-strip s:nth-child(2) { background: #9fcbe5; } .ft-wm i s:nth-child(3), .ft-strip s:nth-child(3) { background: #5d93b4; } .ft-wm i s:nth-child(4), .ft-strip s:nth-child(4) { background: #2f5b73; } .ft-wm i s:nth-child(5), .ft-strip s:nth-child(5) { background: #16303d; }
.ft-wm small { font: 600 .58rem/1 Montserrat, sans-serif; letter-spacing: .34em; color: #0f78c2; margin-top: 4px; }
.ft-call { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.ft-call:hover { color: #0f78c2; }
.ft-ph { width: 17px; height: 17px; fill: #ff9a1f; flex: none; }
.ft-cta { display: inline-flex; align-items: center; justify-content: center; background: #ff9a1f; color: #1f1405 !important; font-weight: 700; padding: 13px 20px; border-radius: 6px; transition: transform .15s ease, box-shadow .15s ease, background-color .15s; }
.ft-cta:hover { background: #ffab45; transform: translateY(-2px); box-shadow: 0 8px 16px -10px rgba(22,48,61,.55); }
.ft-links { border-top: 1px solid #cfe3ee; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; padding-block: 14px; font-size: .88rem; color: #4b6573; }
.ft-links nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ft-links a:hover { color: #16303d; }
.ft-towns { padding-bottom: 16px; font-size: .82rem; color: #7d929e; line-height: 1.8; }
.ft-towns a:hover { color: #0f78c2; text-decoration: underline; }
.ft-strip { display: flex; height: 6px; }
@media (max-width: 640px) {
  .ft-row { flex-direction: column; align-items: flex-start; }
  .ft-cta { width: 100%; }
  .ft-links { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { .ft-cta { transition: none !important; } }
/* ===== /Footer ===== */
