:root{--ink:#102b36;--muted:#52656b;--line:#d5dedf;--tint:#eef3f2;--accent:#d4f386}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#37620a}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #538a12;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0 0 24px;font-weight:680}h1{font-size:clamp(42px,5.3vw,76px)}h2{font-size:clamp(30px,3.5vw,48px)}h3{font-size:23px;letter-spacing:-.025em}p{margin:0 0 22px}em{font-style:normal;color:#4b686f}.wrap{width:min(1240px,100%);margin:auto;padding:0 40px}.section{padding-top:92px;padding-bottom:92px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.6;margin-bottom:22px}.lead{font-size:19px;color:var(--muted);max-width:740px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;padding:16px 24px;background:var(--ink);color:white;font:650 14px/1.4 system-ui;text-decoration:none;border-radius:7px;cursor:pointer}.button:hover{background:#254c57;color:white}.button:disabled{opacity:.65;cursor:wait}.button.small{font-size:13px;padding:13px 18px;min-height:44px}.text-link{display:inline-block;font-size:14px;font-weight:650;margin-top:20px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.topline{background:var(--ink);color:#fff;font-size:11px;padding:7px 0;letter-spacing:.03em}.topline .wrap{display:flex;justify-content:space-between;gap:20px}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:98px}.brand{display:block;font-size:24px;font-weight:800;letter-spacing:-1.2px;text-decoration:none;line-height:.98}.brand span{display:block;font-size:17px;letter-spacing:-.7px}.header-inner nav{display:flex;gap:28px;align-items:center}.header-inner nav a{font-size:13px;font-weight:650;text-decoration:none}.hero{background:var(--tint)}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:54px;min-height:620px;padding-top:34px;padding-bottom:34px}.hero-copy{align-self:center;padding:24px 0}.hero .lead{font-size:18px;max-width:510px;margin-bottom:28px}.hero .text-link{display:block;width:fit-content}.hero-photo{position:relative;min-height:440px;border-radius:16px;overflow:hidden;background:#dfe7e7}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(255,255,255,.95);padding:15px 18px;border-radius:7px;font-size:13px;font-weight:650}.service-strip{border-bottom:1px solid var(--line)}.service-strip .wrap{display:flex;justify-content:space-between;padding-top:22px;padding-bottom:22px;font-size:13px;font-weight:650}.service-strip span:before{content:'↗';margin-right:12px;color:#557b25}.services,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}.services article{border-top:1px solid var(--line);padding-top:26px}.number{font-size:11px;letter-spacing:.09em;font-weight:700;display:block;margin-bottom:36px}.services p,.steps p{color:var(--muted);font-size:15px}.tint{background:var(--tint)}.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.cities>a{position:relative;display:block;text-decoration:none;border:1px solid var(--line);border-radius:9px;background:white;padding:25px 42px 26px 24px;transition:transform .18s,border-color .18s}.cities>a:hover{transform:translateY(-3px);border-color:#506862;color:var(--ink)}.cities span{font-size:11px;color:var(--muted)}.cities h3{font-size:21px;line-height:1.2;margin:12px 0 0}.cities b{position:absolute;right:20px;top:22px;font-size:18px}.local-entry{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid var(--line)}.local-entry p{max-width:470px;color:var(--muted)}.local-links{display:grid;gap:14px;align-content:center}.local-links a{padding:25px;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-size:23px;font-weight:650}.local-links span{display:block;font-size:12px;font-weight:500;margin-top:8px;color:var(--muted)}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{counter-increment:steps;border-top:1px solid var(--line);padding-top:24px}.steps li:before{content:'0' counter(steps);font-size:13px;display:block;margin-bottom:30px;font-weight:650}.cta{background:var(--ink);color:white;padding:70px 0}.cta h2{max-width:800px}.cta p{color:#d4e2e5}.cta .button{background:var(--accent);color:var(--ink)}.cta .button:hover{background:#e0ffa4}.other-city{margin:32px 0 0}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;padding-bottom:20px;font-size:12px;color:var(--muted)}.micro{font-size:12px;margin:20px 0 0;color:var(--muted)}.editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.editorial .lead{font-size:18px}.editorial h3{font-size:25px;margin-top:34px}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-bottom:1px solid var(--line)}.audience-grid h2{font-size:34px}.audience-grid p:not(.eyebrow){color:var(--muted)}.faq{max-width:1000px}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:650;cursor:pointer;font-size:18px}details p{margin:18px 0 0;color:var(--muted)}.related{padding-top:24px;padding-bottom:24px;font-size:14px}.intro>h1{max-width:900px}.intro>h2{margin-top:60px}.intro .editorial{margin-top:60px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-top:60px;padding-bottom:50px}footer{background:#f7f9f8}footer a{display:block;font-size:13px;margin-bottom:9px;overflow-wrap:anywhere}footer strong{display:block;font-size:13px;margin-bottom:18px}footer p{font-size:13px;color:var(--muted);margin-top:20px}.footer-bottom{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;padding-bottom:18px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:60px;margin-top:40px}.contact-aside{align-self:start;background:var(--tint);border-radius:12px;padding:30px}.contact-aside h2{font-size:30px}.contact-aside p{font-size:15px;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}legend{font-size:19px;font-weight:700;margin-bottom:20px;padding:0}fieldset>p{font-size:14px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;min-width:0;max-width:100%;margin:8px 0 0;padding:13px 12px;background:white;border:1px solid #8ea1a7;border-radius:5px;color:var(--ink);font:16px/1.5 system-ui}textarea{resize:vertical}.b2b-note{font-size:12px;color:var(--muted);margin:22px 0}.b2b-note p{margin-bottom:10px}.local-intake-note{padding:16px 20px;background:var(--tint);font-size:14px}.error{color:#9d2020}#form-status{font-size:14px;margin-top:18px}.legal{max-width:900px}.legal h2{font-size:28px;margin-top:35px}.legal h3{margin-top:30px;font-size:22px}.legal a{overflow-wrap:anywhere}[hidden]{display:none!important}.region-section{background:var(--tint)}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.city-card{display:block;padding:25px;border:1px solid var(--line)}
@media(min-width:801px){.hero-photo img{position:absolute;inset:0}}
@media(max-width:1000px){.wrap{padding-left:26px;padding-right:26px}.hero-grid{gap:30px;min-height:560px}.header-inner nav{gap:18px}.cities{grid-template-columns:1fr 1fr}.editorial{gap:40px}.contact-grid{gap:30px}}
@media(max-width:800px){h1{font-size:clamp(40px,7.5vw,58px)}.hero-grid{grid-template-columns:1fr;gap:12px;padding-top:20px;padding-bottom:26px;min-height:0}.hero-copy{padding:20px 0}.hero-photo{min-height:0;aspect-ratio:1.65}.hero-photo img{height:100%;object-fit:cover}.header-inner{min-height:90px;flex-wrap:wrap;padding-top:20px;padding-bottom:18px;gap:18px}.header-inner nav{width:100%;justify-content:space-between;gap:12px}.section{padding-top:60px;padding-bottom:60px}.services,.steps{gap:25px}.local-entry,.editorial{grid-template-columns:1fr;gap:25px}.contact-grid{grid-template-columns:1fr}.contact-aside{order:-1;padding:20px}.contact-aside h2{font-size:24px}.contact-aside p{margin-bottom:10px}.audience-grid{gap:30px}.footer-grid{gap:28px}.hero .lead{max-width:650px}}
@media(max-width:520px){.wrap{padding-left:20px;padding-right:20px}h1{font-size:42px;overflow-wrap:break-word}h2{font-size:33px}.topline span{display:none}.header-inner nav a{font-size:12px}.header-inner nav .button{font-size:11px;padding:11px}.header-inner nav{gap:10px}.hero-photo{aspect-ratio:1.4}.photo-label{left:14px;right:14px;bottom:14px;padding:12px;font-size:12px}.hero .button{max-width:100%;text-align:center}.service-strip .wrap{gap:10px;font-size:10px}.service-strip span:before{margin-right:5px}.services,.steps,.cities,.audience-grid,.form-grid,.city-grid{grid-template-columns:1fr}.services,.steps{gap:28px}.services .number{margin-bottom:20px}.cities{gap:10px}.cities>a{padding:20px 44px 20px 20px}.cities h3{font-size:22px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.lead{font-size:17px}.cta{padding:55px 0}.contact-grid{margin-top:28px}.intro>h2{margin-top:42px}}
.prose{max-width:950px;overflow-wrap:anywhere}.prose h2{font-size:clamp(25px,3vw,36px);margin-top:40px}.prose h3{margin-top:30px}.prose a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Winter atmosphere: decorative snow stays behind copy and never intercepts input. */
:root{--ink:#102e43;--muted:#4c6577;--tint:#edf5fa;--line:#d1e0e9;--accent:#d9efff}
.topline{background:#0b253a}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 0%,#3c627d 0%,transparent 60%),linear-gradient(125deg,#102c43,#1d425c);color:#fff}
.hero-grid{position:relative;z-index:1;padding-bottom:66px}.hero-copy{position:relative;z-index:3}.hero h1 em{color:#c9e5f9}.hero .lead,.hero .micro{color:#dfebf4}.hero .eyebrow{color:#cce4f5}.hero .button{background:#e3f3ff;color:#102e43;box-shadow:0 5px 20px #071f3533}.hero .button:hover{background:white}.hero .text-link{color:white}.hero-photo{box-shadow:0 18px 55px #06172755;border:1px solid #e6f6ff66;border-top:5px solid #f6fcff}.hero-photo img{filter:saturate(.75) contrast(1.03)}.photo-label{color:#102e43;background:#f4fbfff0;box-shadow:0 4px 20px #15344a12}
.hero:before{content:'';position:absolute;inset:-300px -60px 0;z-index:2;pointer-events:none;opacity:.66;background-image:radial-gradient(circle at 24px 28px,#fff 0 2px,transparent 3px),radial-gradient(circle at 112px 145px,#fff 0 1px,transparent 2px),radial-gradient(circle at 67px 89px,#d8efff 0 3px,transparent 4px),radial-gradient(circle at 172px 200px,#fff 0 1.5px,transparent 2.5px);background-size:220px 300px,160px 300px,340px 300px,280px 300px;animation:snowfall 15s linear infinite;mask-image:linear-gradient(90deg,#0002,#0007 52%,#000)}
.hero:after{content:'';position:absolute;z-index:4;bottom:-1px;left:-3%;width:106%;height:27px;pointer-events:none;background:#fff;border-radius:55% 70% 0 0 / 100% 100% 0 0;box-shadow:0 -8px 25px #effaff25}
@keyframes snowfall{from{transform:translate3d(0,0,0)}to{transform:translate3d(35px,300px,0)}}
.snow-control{position:absolute;z-index:5;right:40px;bottom:35px;min-height:34px;padding:6px 12px;border:1px solid #c9e5f988;border-radius:20px;background:#102c43e8;color:#e5f3ff;font:500 11px/1.5 system-ui;cursor:pointer}.snow-control:hover{background:#1d425c}.snow-paused:before{animation-play-state:paused}
.tint{background:radial-gradient(ellipse at top right,#e0edf7,transparent 65%),#f0f6fa}.cities>a{border-top:4px solid #fff;box-shadow:0 5px 17px #173e5510;background:linear-gradient(150deg,#fff,#f9fcff)}.cities>a:hover{border-color:#91b5cd}.cta{background:radial-gradient(ellipse at 90% 0,#315775,transparent 60%),#102c43}.cta .button{background:#dcf0ff}.cta .button:hover{background:white}.service-strip{background:#fff}.service-strip span:before{color:#347093}footer{background:#f2f7fa}a:hover{color:#23628b}
@media(max-width:800px){.hero-grid{padding-bottom:75px}.snow-control{right:26px;bottom:34px}.hero:before{opacity:.5;background-size:260px 300px,200px 300px,420px 300px,340px 300px}}
@media(max-width:520px){.snow-control{right:20px}.hero-grid{padding-bottom:76px}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none}.snow-control{display:none}}

/* Request-first layout, season 2026/27, optional map. */
.season-notice{background:#e8f4c4;color:#173423;font-size:13px}.season-notice .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px}.season-notice a{font-weight:750;white-space:nowrap}.request-launch{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding-top:64px;padding-bottom:64px}.request-launch h2{font-size:38px}.request-launch p{color:var(--muted)}.request-launch-card{background:var(--tint);border:1px solid var(--line);border-radius:16px;padding:28px}.request-launch-card .button{width:100%;margin-top:18px}.request-launch-card p{font-size:12px;margin:16px 0 0}.intake-steps{display:flex;list-style:none;padding:0;gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-top:32px;font-size:13px}.intake-steps b{display:inline-flex;background:#dcecf5;padding:5px 10px;border-radius:20px;margin-right:6px}.optional{font-size:12px;font-weight:500;color:var(--muted);margin-left:8px}.map-card{padding:24px;background:#edf5fa;border:1px solid #c5dbe8;border-radius:14px}.map-icon{font-size:38px;color:#247fad}.map-card h3{font-size:23px;margin:8px 0 12px}.map-card p{font-size:13px}.map-card .map-consent{max-width:640px}.map-card #map-summary{margin:18px 0 8px}.map-remove{background:none;border:0;padding:8px 0;color:#31566b;text-decoration:underline;font:12px system-ui;cursor:pointer}.area-frame{display:block;width:100%;height:570px;border:0;margin-top:20px;border-radius:8px}.manual-areas{margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.manual-areas summary{font-size:14px}.manual-areas fieldset{margin:20px 0 0}.manual-areas legend{font-size:15px}.form-sending .map-card{pointer-events:none;opacity:.6}
@media(max-width:800px){.request-launch{grid-template-columns:1fr;gap:20px;padding-top:40px;padding-bottom:40px}.contact-aside{order:0}.intake-steps{gap:12px;flex-wrap:wrap}.season-notice .wrap{flex-direction:column;gap:4px}.request-launch h2{font-size:32px}.map-card{padding:16px}.area-frame{height:650px}}
