:root{--ink:#1B1B2F;--pink:#FF3D7F;--yel:#FFD23F;--teal:#2EC4B6;--cream:#FFF8EE;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;display:block}a{color:var(--pink)}
h1,h2{font-family:Bungee,Impact,sans-serif;line-height:1.1;margin:0 0 .4em}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{margin:.3em 0}
.wrap{max-width:1140px;margin:auto;padding:0 20px}.sec{padding:80px 0}.narrow{max-width:780px}
.sub{font-size:1.1rem;opacity:.8;margin-top:0;margin-bottom:2rem}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.btn{display:inline-block;background:var(--pink);color:#fff;font-weight:800;padding:14px 26px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font-size:1rem;box-shadow:4px 4px 0 var(--ink);transition:transform .15s}
.btn:hover{transform:translate(-2px,-2px)}.btn.ghost{background:#fff;color:var(--ink)}.btn.sm{padding:8px 18px;box-shadow:none}.btn.full{width:100%}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,248,238,.95);backdrop-filter:blur(6px);border-bottom:3px solid var(--ink)}
.navin{display:flex;align-items:center;justify-content:space-between;height:70px}
nav a{margin-left:22px;color:var(--ink);text-decoration:none;font-weight:600}nav a.btn{color:#fff}
.burger{display:none;background:none;border:0;cursor:pointer}.burger span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0}
.hero{position:relative;overflow:hidden;padding:110px 0 90px;background:var(--ink);color:var(--cream)}
.heroin{position:relative;z-index:2}
.hero h1{font-size:clamp(2.4rem,7vw,5rem)}.hl{color:var(--pink)}
.eyebrow{color:var(--yel);font-weight:800;letter-spacing:2px;text-transform:uppercase}
.lead{font-size:1.2rem;max-width:620px}.ctas{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0}
.badges{list-style:none;padding:0;display:flex;gap:22px;flex-wrap:wrap;font-weight:600;color:var(--teal)}
.splat{position:absolute;border-radius:43% 57% 61% 39%/45% 38% 62% 55%;opacity:.9}
.s1{width:420px;height:400px;background:var(--pink);right:-90px;top:-80px}
.s2{width:180px;height:170px;background:var(--yel);right:260px;bottom:-40px}
.s3{width:90px;height:90px;background:var(--teal);right:120px;bottom:120px}
.strip{background:var(--yel);text-align:center;font-family:Bungee,Impact;font-size:clamp(1.2rem,3vw,1.8rem);padding:18px;border-block:3px solid var(--ink)}.strip p{margin:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#fff;border:3px solid var(--ink);border-radius:var(--r);padding:26px;box-shadow:6px 6px 0 var(--pink);transition:transform .2s}.card:hover{transform:rotate(-1deg)}
.card:nth-child(3n+2){box-shadow:6px 6px 0 var(--teal)}.card:nth-child(3n){box-shadow:6px 6px 0 var(--yel)}
.ic{font-size:2.2rem}
.dark{background:var(--ink);color:var(--cream)}.dark a{color:var(--yel)}
.trust{border-top:5px solid var(--pink);padding-top:14px}.trust:nth-child(2){border-color:var(--yel)}.trust:nth-child(3){border-color:var(--teal)}.trust b{font-size:2rem}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--pink);color:#fff;font-family:Bungee;font-size:1.4rem;border:3px solid var(--ink)}
.area{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.map{height:240px;border:3px dashed var(--yel);border-radius:var(--r);display:grid;place-content:center;text-align:center;font-size:1.2rem}.map span{font-size:3rem}
details{border:3px solid var(--ink);border-radius:12px;margin-bottom:12px;background:#fff}
summary{padding:16px 20px;font-weight:800;cursor:pointer}details p{padding:0 20px 16px;margin:0}
.quotesec{background:var(--pink);color:#fff}.quotesec a{color:var(--yel)}
.qwrap{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.form{background:#fff;color:var(--ink);padding:28px;border-radius:var(--r);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
.form label{display:block;font-weight:600;margin-bottom:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form input:not([type=checkbox]),.form textarea{width:100%;margin-top:4px;padding:12px;border:2px solid var(--ink);border-radius:10px;font:inherit}
fieldset{border:0;padding:0;margin:0 0 14px}legend{font-weight:600}.ck{display:inline-block!important;margin-right:20px}
.formmsg{font-weight:700;margin:12px 0 0}
.foot{background:var(--ink);color:var(--cream);padding:40px 0;text-align:center}.foot a{color:var(--yel)}
.flogo{margin:auto;filter:invert(1) hue-rotate(180deg)}.small{font-size:.85rem;opacity:.7}
@media(max-width:900px){.grid3,.grid4,.steps{grid-template-columns:1fr 1fr}.area,.qwrap{grid-template-columns:1fr}}
@media(max-width:640px){.grid3,.grid4,.steps,.row{grid-template-columns:1fr}.sec{padding:56px 0}
.burger{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);flex-direction:column;padding:16px;border-bottom:3px solid var(--ink)}
nav.open{display:flex}nav a{margin:8px 0}.s1{width:220px;height:210px;right:-80px;top:-60px}.s2,.s3{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.map{height:auto;border:0;display:block;font-size:inherit}
.towns{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.towns li{border:2px solid var(--yel);color:var(--yel);border-radius:999px;padding:3px 12px;font-size:.9rem;font-weight:600}
.h1sub{font-family:Bungee,Impact,sans-serif;font-size:clamp(1.2rem,3vw,1.9rem);color:var(--yel);margin:0 0 .6em;line-height:1.2}
.nymap{width:100%;max-width:560px;display:block;margin:auto;border-radius:var(--r);border:3px solid var(--yel)}
