:root{--lavender:#9b5de5;--pink:#f15bb5;--banana:#fee440;--sky:#00bbf9;--aqua:#00f5d4;--mint:#98fff1;--night:#141415;--ink:#0a0a0a;--paper:#fff;--muted:#2b3a38;--font-text:"Montserrat", system-ui, sans-serif;--step-name:clamp(64px, 9vw, 152px);--step-display:clamp(40px, 5.2vw, 84px);--step-title:clamp(28px, 2.6vw, 40px);--step-lead:clamp(19px, 1.6vw, 23px);--step-body:18px;--step-small:15px;--margin:clamp(16px, 3vw, 48px);--radius:28px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ink);color:var(--ink);font:500 var(--step-body)/1.5 var(--font-text);margin:0}img{max-width:100%;height:auto;display:block}h1,h2,h3{text-wrap:balance}a,button,summary{touch-action:manipulation}form.signup,section{scroll-margin-top:24px}.skip-link{z-index:10;background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 18px;font-weight:800;text-decoration:none;position:absolute;top:-64px;left:16px}.skip-link:focus-visible{top:16px}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{letter-spacing:-.04em;font-weight:900;line-height:.92}.logo{aspect-ratio:800/393;background:currentColor;width:132px;display:block;-webkit-mask:url(/logo.png) 50%/contain no-repeat;mask:url(/logo.png) 50%/contain no-repeat}.topbar{padding:max(20px, env(safe-area-inset-top)) max(var(--margin), env(safe-area-inset-right)) 20px max(var(--margin), env(safe-area-inset-left));align-items:center;gap:32px;font-weight:800;display:flex}.topbar-links{gap:28px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.topbar-links a{text-decoration:none}.topbar-links a:hover{text-underline-offset:5px;text-decoration:underline 2px}.topbar-cta{background:var(--ink);color:var(--paper);transition:background-color .15s, color .15s, transform .15s var(--ease-out);border-radius:999px;padding:12px 22px;text-decoration:none}.topbar-cta:hover{background:var(--pink);color:var(--ink)}.topbar-cta:active{transform:translateY(2px)}.hero-wrap{--ground:var(--mint);--fg:var(--ink);--soft:var(--muted);background:var(--ground);min-height:100svh;color:var(--fg);flex-direction:column;transition:background-color .4s,color .4s;display:flex}.hero-wrap[data-phase=night]{--ground:var(--night);--fg:var(--banana);--soft:#d9d3a0}.hero-wrap[data-phase=night] .topbar-cta{background:var(--banana);color:var(--ink)}.hero-wrap[data-phase=night] :focus-visible{outline-color:var(--banana)}.hero{padding:16px var(--margin) 72px;flex:1;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;display:grid}.hero-solo{grid-template-columns:minmax(0,1fr)}.hero-solo .hero-copy{max-width:none}.hero-solo .town-name{font-size:clamp(96px,24vw,400px)}.hero-solo .lede,.hero-solo .signup,.hero-solo .confirmed{max-width:620px}.hero-copy{max-width:600px}.place-pill{background:var(--fg);color:var(--ground);font-weight:800;font-size:var(--step-small);border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 18px 8px 12px;display:inline-flex}.pin{width:22px;height:22px}.town-name{font-size:var(--step-name);letter-spacing:-.045em;margin:20px 0 0;font-weight:900;line-height:.9}.lede{max-width:30ch;font-size:var(--step-lead);margin:20px 0 32px;font-weight:700;line-height:1.35}.hero-visual{position:relative}.toy{filter:drop-shadow(0 40px 36px #0a0a0a47);width:100%}.phase-toggle{background:var(--fg);color:var(--ground);font:800 var(--step-small)/1 var(--font-text);cursor:pointer;transition:transform .15s var(--ease-out);border:0;border-radius:999px;padding:10px 18px;position:absolute;bottom:-8px;right:0}.phase-toggle:active{transform:translateY(2px)}.hero-wrap[data-phase=day] [data-when=night],.hero-wrap[data-phase=night] [data-when=day]{display:none}.signup{width:100%;min-width:0}.signup-label{font-size:var(--step-small);margin:0 0 8px 4px;font-weight:800;display:block}.signup-row{background:var(--paper);border-radius:999px;padding:6px;display:flex}.signup input{min-width:0;color:var(--ink);font:500 var(--step-body)/1.2 var(--font-text);background:0 0;border:0;border-radius:999px;flex:1;padding:12px 16px}.signup input::placeholder{color:#6b6b6b}.signup input:focus-visible{outline:none}.signup-row:focus-within{outline:3px solid var(--pink);outline-offset:2px}.signup button{background:var(--ink);color:var(--paper);font:800 var(--step-body)/1.2 var(--font-text);cursor:pointer;transition:background-color .15s, color .15s, transform .15s var(--ease-out);border:0;border-radius:999px;padding:14px 28px}.signup button:hover{background:var(--pink);color:var(--ink)}.signup button:active{transform:translateY(2px)}.signup button:disabled{opacity:.6;cursor:default}.signup-check:empty{display:none}.signup-check{margin-top:8px}.signup-status{font-weight:800;font-size:var(--step-lead);margin:12px 0 0}.signup-status:empty,.signup[data-state=done] .signup-label,.signup[data-state=done] .signup-row,.signup[data-state=done] .signup-note{display:none}.signup[data-state=done] .signup-status{background:var(--paper);color:var(--ink);animation:pop .4s var(--ease-out);border-radius:20px;margin:0;padding:20px 24px}.signup-note{font-size:var(--step-small);margin:14px 0 0 4px;font-weight:700}.signup-consent{color:var(--soft,var(--muted));margin:6px 0 0 4px;font-size:13px;line-height:1.45}.confirmed{background:var(--paper);color:var(--ink);animation:pop .4s var(--ease-out);border-radius:24px;padding:24px 28px}.confirmed p{margin:0;font-weight:600}.confirmed-title{font-size:var(--step-title);letter-spacing:-.02em;margin-bottom:6px!important;font-weight:900!important}.confirmed-tip{font-size:var(--step-small);margin-top:12px!important}.section-title{font-size:var(--step-display);letter-spacing:-.04em;max-width:20ch;margin:0;font-weight:900;line-height:.95}.section-lede{max-width:44ch;font-size:var(--step-lead);margin:20px 0 0;font-weight:600}.editions{padding:128px var(--margin);background:var(--paper)}.edition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px;display:grid}.edition{border-radius:var(--radius);flex-direction:column;min-height:420px;padding:36px;display:flex}.edition-day{font-size:var(--step-small);margin:0;font-weight:800}.edition h3{font-size:var(--step-display);letter-spacing:-.04em;margin:auto 0 16px;font-weight:900;line-height:.95}.edition p:last-child{max-width:34ch;font-size:var(--step-lead);margin:0;font-weight:600}.edition-pink{background:var(--pink)}.edition-banana{background:var(--banana)}.steps{padding:128px var(--margin);background:var(--ink);color:var(--paper)}.step-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:56px 0 0;padding:0;list-style:none;display:grid}.step{border-radius:var(--radius);min-height:280px;color:var(--ink);flex-direction:column;justify-content:space-between;gap:48px;padding:32px;display:flex}.step-n{letter-spacing:-.05em;font-size:clamp(72px,7vw,112px);font-weight:900;line-height:.8}.step-text{font-size:var(--step-title);letter-spacing:-.02em;font-weight:900;line-height:1.05}.step-aqua{background:var(--aqua)}.step-sky{background:var(--sky)}.step-lavender{background:var(--lavender)}.closer{padding:128px var(--margin);background:var(--banana);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;display:grid}.closer-title{font-size:var(--step-display);letter-spacing:-.04em;margin:0;font-weight:900;line-height:.95}.faq{padding:128px var(--margin);background:var(--paper);grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;display:grid}.faq-list{gap:10px;display:grid}.faq-item{background:#f3f1ea;border-radius:20px;transition:background-color .15s}.faq-item[open]{background:var(--mint)}.faq-item summary{font-size:var(--step-lead);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;font-weight:800;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";transition:transform .2s var(--ease-out);flex:none;font-size:32px;font-weight:500;line-height:1}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{max-width:60ch;margin:0;padding:0 26px 24px}.cta-band{min-height:60svh;padding:28px var(--margin) 24px;background:var(--pink);color:var(--ink);text-decoration:none;transition:background-color .12s,color .12s;display:block;position:relative}.cta-band:hover,.cta-band:focus-visible{background:var(--ink);color:var(--pink)}.cta-sentence{max-width:30ch;font-size:var(--step-lead);padding-right:64px;font-weight:800;display:block}.cta-arrow{top:28px;right:var(--margin);width:48px;height:48px;transition:transform .2s var(--ease-out);position:absolute}.cta-band:hover .cta-arrow{transform:translate(6px,-6px)}.cta-word{left:var(--margin);right:var(--margin);letter-spacing:-.04em;font-size:15.4vw;font-weight:900;line-height:.8;position:absolute;bottom:24px}.tiles{background:var(--ink);grid-template-rows:320px 240px auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;padding:8px;display:grid}.tile{overflow-wrap:anywhere;flex-direction:column;padding:24px;text-decoration:none;display:flex;overflow:hidden}.tile ul{font-size:var(--step-lead);margin:0;padding:0;font-weight:800;line-height:1.7;list-style:none}.tile a{text-decoration:none}.tile a:hover{text-underline-offset:4px;text-decoration:underline}.tile-label{font-size:var(--step-small);margin:0 0 auto;padding-bottom:20px;font-weight:800}.tile-lead{font-size:var(--step-lead);margin:0;font-weight:800;line-height:1.25;display:block}.tile-small{font-size:var(--step-small);margin:12px 0 0;font-weight:600;line-height:1.4;display:block}.tile-wordmark{background:var(--paper);color:var(--ink);grid-column:1/9;justify-content:center;align-items:center;transition:color .15s}.tile-wordmark:hover{color:var(--pink)}.logo-large{width:min(60%,520px)}.tile-accent{background:var(--pink);grid-column:9/-1;transition:background-color .12s;position:relative}.tile-accent:hover{background:var(--banana)}.tile-invite{letter-spacing:-.03em;font-size:clamp(32px,3vw,48px);font-weight:900}.tile-accent svg{width:64px;height:64px;transition:transform .2s var(--ease-out);position:absolute;bottom:24px;right:24px}.tile-accent:hover svg{transform:translate(6px,-6px)}.tile-statement{background:var(--aqua);grid-column:1/5;justify-content:space-between}.tile-statement .tile-lead{letter-spacing:-.01em;font-weight:900}.tile-readers{background:var(--banana);grid-column:5/8}.tile-business{background:var(--sky);grid-column:8/10}.tile-contact{background:var(--lavender);grid-column:10/-1}.tile-legal{color:var(--paper);grid-column:1/-1;padding:16px 24px;font-size:13px}.tile-legal p{margin:0}.topbar-find{background:var(--paper);width:46px;height:46px;color:var(--ink);border-radius:999px;place-items:center;display:none}.topbar-find svg{width:22px;height:22px}.finder{width:100%}.finder-title{font-size:var(--step-display);letter-spacing:-.04em;margin:0 0 20px;font-weight:900;line-height:.95}.finder-label{font-size:var(--step-small);margin:0 0 8px 4px;font-weight:800;display:block}.finder-search{background:var(--paper);color:var(--ink);border-radius:999px;align-items:center;gap:12px;padding:6px 22px;display:flex}.finder-search:focus-within{outline:3px solid var(--pink);outline-offset:2px}.finder-search svg{flex:none;width:24px;height:24px}.finder-search input{min-width:0;color:var(--ink);font:700 var(--step-lead)/1.2 var(--font-text);background:0 0;border:0;flex:1;padding:14px 0}.finder-search input:focus-visible{outline:none}.finder-search input::placeholder{color:#6b6b6b;font-weight:500}.finder-search input::-webkit-search-cancel-button{appearance:none}.finder-count{margin:8px 0 0 4px;font-size:13px;font-weight:700}.finder-count:empty{display:none}.finder-results{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.finder-results:empty{display:none}.result{background:var(--paper);color:var(--ink);transition:background-color .12s, transform .12s var(--ease-out);border-radius:18px;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 22px;text-decoration:none;display:flex}.result:hover,.result:focus-visible{background:var(--banana);transform:translate(4px)}.result-name{font-size:var(--step-lead);letter-spacing:-.02em;font-weight:900}.result-prov{font-size:var(--step-small);font-weight:600}.finder-empty{margin:12px 0 0;font-weight:700}.finder-near,.finder-featured{margin-top:28px}.finder-near h3,.finder-featured h3{font-size:var(--step-small);margin:0;font-weight:800}.finder-near-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.finder-locate{background:var(--fg,var(--ink));color:var(--ground,var(--paper));font:800 var(--step-small)/1 var(--font-text);cursor:pointer;transition:transform .15s var(--ease-out);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.finder-locate svg{width:18px;height:18px}.finder-locate:active{transform:translateY(2px)}.finder-locate:disabled{opacity:.7;cursor:progress}.finder-note{font-size:var(--step-small);margin:10px 0 0;font-weight:600}.town-chips{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.town-chips:empty{display:none}.chip{background:var(--ink);color:var(--paper);transition:background-color .12s, color .12s, transform .12s var(--ease-out);border-radius:999px;align-items:baseline;gap:8px;padding:10px 18px;text-decoration:none;display:inline-flex}.chip:hover,.chip:focus-visible{background:var(--pink);color:var(--ink);transform:translateY(-2px)}.chip-name{font-weight:900}.chip-prov{opacity:.8;font-size:13px;font-weight:700}.finder-ask{margin:28px 0 0;font-weight:700}.finder-sheet{background:var(--mint);width:min(760px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);overscroll-behavior:contain;border:0;margin:0 0 0 auto;padding:0}.finder-sheet::backdrop{background:#0a0a0a8c}.finder-sheet[open]{animation:sheet-in .32s var(--ease-out)}.finder-sheet-inner{padding:max(72px, env(safe-area-inset-top)) var(--margin) 48px;position:relative}.finder-close{background:var(--ink);width:48px;height:48px;color:var(--paper);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.finder-close svg{width:22px;height:22px}@keyframes sheet-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.home-head{padding:24px var(--margin) 88px;flex:1;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:48px;display:grid}.home-head-solo{grid-template-columns:minmax(0,880px)}.home-showcase{color:var(--ink);text-decoration:none;display:block;position:relative}.home-showcase .place-pill{background:var(--ink);color:var(--mint);transition:background-color .15s,color .15s;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.home-showcase:hover .place-pill{background:var(--pink);color:var(--ink)}.home-title{letter-spacing:-.05em;margin:0;font-size:clamp(64px,7.4vw,128px);font-weight:900;line-height:.88}.home-head .lede{margin:20px 0 36px}.every-town{padding:128px var(--margin);background:var(--paper)}.province-group{margin-top:56px}.province-name{font-size:var(--step-title);letter-spacing:-.02em;margin:0 0 16px;font-weight:900}.province-name a{text-decoration:none}.province-name a:hover{text-underline-offset:6px;text-decoration:underline}.town-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.town-card a{border-radius:var(--radius);min-height:320px;color:var(--ink);transition:transform .2s var(--ease-out);flex-direction:column;padding:28px;text-decoration:none;display:flex;position:relative;overflow:hidden}.town-card a:hover{transform:translateY(-4px)}.town-card a:not(:has(img)){min-height:200px}.town-card-pink a{background:var(--pink)}.town-card-banana a{background:var(--banana)}.town-card-aqua a{background:var(--aqua)}.town-card-sky a{background:var(--sky)}.town-card-lavender a{background:var(--lavender)}.town-card-name{letter-spacing:-.04em;font-size:clamp(40px,4vw,64px);font-weight:900;line-height:.95}.town-card-prov{margin-top:6px;font-weight:700}.town-card img{filter:drop-shadow(0 18px 16px #0a0a0a40);width:78%;transition:transform .4s var(--ease-out);margin:auto -6% -10% auto}.town-card a:hover img{transform:translateY(-6px)rotate(-1deg)}.town-card-arrow{width:36px;height:36px;transition:transform .2s var(--ease-out);position:absolute;top:28px;right:28px}.town-card a:hover .town-card-arrow{transform:translate(4px,-4px)}.ad-hero{background:var(--banana);flex-direction:column;min-height:100svh;display:flex}.ad-head{padding:24px var(--margin) 88px;flex:1;grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:48px;display:grid}.ad-head-solo{grid-template-columns:minmax(0,1fr)}.ad-copy{flex-direction:column;display:flex}.ad-visual{position:relative}.ad-sticker{background:var(--pink);max-width:15ch;font-size:var(--step-lead);border-radius:22px;flex-direction:column;gap:4px;margin:0;padding:18px 22px;font-weight:900;line-height:1.1;display:flex;position:absolute;bottom:6%;left:0;transform:rotate(-4deg)}.ad-sticker span{font-size:13px;font-weight:800}.ad-title{letter-spacing:-.05em;margin:0;font-size:clamp(48px,5.6vw,96px);font-weight:900;line-height:.9}.ad-head .lede{max-width:36ch;margin:24px 0 32px}.ad-cta{background:var(--ink);color:var(--paper);font-size:var(--step-lead);transition:background-color .15s, color .15s, transform .15s var(--ease-out);border-radius:999px;align-self:flex-start;padding:18px 34px;font-weight:900;text-decoration:none}.ad-cta:hover{background:var(--pink);color:var(--ink)}.ad-cta:active{transform:translateY(2px)}.ad-facts{flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.ad-facts li{background:var(--paper);font-size:var(--step-small);border-radius:999px;padding:8px 16px;font-weight:800}.ad-steps{padding:128px var(--margin);background:var(--ink);color:var(--paper)}.ad-step-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:56px 0 0;padding:0;list-style:none;display:grid}.ad-step{border-radius:var(--radius);min-height:340px;color:var(--ink);flex-direction:column;gap:14px;padding:28px;display:flex}.ad-step h3{font-size:var(--step-lead);letter-spacing:-.02em;margin:auto 0 0;font-weight:900;line-height:1.05}.ad-step p{margin:0;font-weight:600}.ad-step-0{background:var(--aqua)}.ad-step-1{background:var(--sky)}.ad-step-2{background:var(--lavender)}.ad-step-3{background:var(--pink)}.ad-step-4{background:var(--banana)}.ad-editions{padding:128px var(--margin);background:var(--paper)}.book{padding:128px var(--margin);background:var(--mint)}.book-form{grid-template-rows:auto auto;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px 32px;margin-top:48px;display:grid}.book-step{border-radius:var(--radius);background:var(--paper);border:0;grid-column:1;min-width:0;margin:0;padding:32px}.book-step legend{float:left;width:100%;font-size:var(--step-title);letter-spacing:-.02em;margin:0 0 8px;font-weight:900}.field-label{margin:20px 0 8px;font-weight:800;display:block}.optional{font-weight:500}.book-step input:not([type=radio]),.book-step select,.book-step textarea{width:100%;color:var(--ink);font:500 var(--step-body)/1.4 var(--font-text);background:#f3f1ea;border:0;border-radius:16px;padding:14px 18px}.book-step textarea{resize:vertical}.book-step input:focus-visible,.book-step select:focus-visible,.book-step textarea:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.field-hint{font-size:var(--step-small);margin:8px 0 0;font-weight:600}.field-hint.over{color:#b3005f}.field-error{color:#b3005f;font-size:var(--step-small);margin:6px 0 0;font-weight:800}.field-error:empty{display:none}.choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice{cursor:pointer;transition:background-color .12s, transform .12s var(--ease-out);background:#f3f1ea;border-radius:18px;flex-direction:column;gap:4px;padding:18px 20px;display:flex;position:relative}.choice:hover{transform:translateY(-2px)}.choice input{opacity:0;position:absolute}.choice:has(input:checked){background:var(--ink);color:var(--paper)}.choice:has(input:focus-visible){outline:3px solid var(--pink);outline-offset:2px}.choice-title{font-size:var(--step-lead);font-weight:900}.choice-sub,.choice-next{font-size:var(--step-small);font-weight:600}.choice-next:empty{display:none}.choice-price{font-size:var(--step-title);letter-spacing:-.02em;font-weight:900}.book-summary{border-radius:var(--radius);background:var(--ink);color:var(--paper);grid-area:1/2/3;align-self:start;padding:32px;position:sticky;top:24px}.summary-label{font-size:var(--step-small);color:var(--banana);margin:0;font-weight:800}.summary-total{font-size:var(--step-lead);letter-spacing:-.02em;margin:12px 0 0;font-weight:900;line-height:1.1}.summary-dates{margin:12px 0 0;font-weight:700}.summary-dates:empty{display:none}.summary-note{font-size:var(--step-small);margin:16px 0 24px;font-weight:500}.book-submit{background:var(--banana);width:100%;color:var(--ink);font:900 var(--step-lead)/1.2 var(--font-text);cursor:pointer;transition:background-color .15s, transform .15s var(--ease-out);border:0;border-radius:999px;padding:18px 24px}.book-submit:hover{background:var(--pink)}.book-submit:active{transform:translateY(2px)}.book-submit:disabled{opacity:.6;cursor:default}.book-status{margin:16px 0 0;font-weight:800}.book-status:empty{display:none}.book-form[data-state=done] .book-status{background:var(--aqua);color:var(--ink);animation:pop .4s var(--ease-out);border-radius:16px;padding:16px 20px}.page-wrap{background:var(--mint);min-height:100svh}.page{padding:64px var(--margin) 120px}.page h1{letter-spacing:-.045em;margin:0 0 32px;font-size:clamp(64px,10vw,160px);font-weight:900;line-height:.9}.page p,.page li{max-width:60ch}.page-towns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:48px 0 0;padding:0;list-style:none;display:grid}.page-towns a{border-radius:var(--radius);background:var(--ink);color:var(--banana);letter-spacing:-.04em;transition:background-color .15s, color .15s, transform .15s var(--ease-out);padding:32px;font-size:clamp(40px,5vw,72px);font-weight:900;line-height:1;text-decoration:none;display:block}.page-towns a:hover{background:var(--pink);color:var(--ink);transform:translateY(-4px)}.legal{max-width:860px;padding-bottom:64px}.page-wrap:has(.legal){min-height:0}.legal .lede{margin:0 0 24px}.legal-section{padding:28px 0}.legal-section h2{font-size:var(--step-title);letter-spacing:-.02em;margin:0 0 12px;font-weight:900}.legal-section p{font-size:var(--step-body);margin:0 0 12px;line-height:1.6}@media (width<=900px){.topbar{gap:16px}.topbar-links{display:none}.topbar-find{margin-left:auto;display:grid}.topbar-cta{margin-left:0}.logo{width:104px}.hero{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:56px}.hero-visual{order:-1;margin:0 -8px}.home-head{grid-template-columns:minmax(0,1fr);gap:8px}.home-showcase{order:-1;margin:0 -8px}.town-name{font-size:min(22vw, calc(150vw / var(--name-length,8)))}.phase-toggle{bottom:0}.editions,.steps,.closer,.faq,.ad-steps,.ad-editions,.book{padding:88px var(--margin)}.ad-step-list{grid-template-columns:minmax(0,1fr)}.ad-head{grid-template-columns:minmax(0,1fr);gap:16px}.ad-visual{order:-1;margin:0 -8px}.ad-step{min-height:0}.book-form{grid-template-columns:minmax(0,1fr)}.book-step{padding:24px}.book-summary{grid-area:auto/1;position:static}.choice-row,.edition-grid,.step-list{grid-template-columns:minmax(0,1fr)}.edition{min-height:320px;padding:28px}.step{gap:24px;min-height:0}.closer,.faq{grid-template-columns:minmax(0,1fr);gap:32px}.cta-band{min-height:46svh}.cta-arrow{width:32px;height:32px}.cta-word{font-size:15vw}.tiles{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.tile-wordmark{grid-column:1/-1;min-height:180px}.logo-large{width:70%}.tile-accent{grid-column:1/-1;min-height:140px}.tile-statement,.tile-contact,.tile-legal{grid-column:1/-1}.tile-readers{grid-column:1}.tile-business{grid-column:2}}@media (prefers-reduced-motion:no-preference){.pin{animation:pin-jump 2.4s var(--ease-out) 3}.motion .hero-copy>*{animation:rise .7s var(--ease-out) both}.motion .hero-copy>:nth-child(2){animation-delay:80ms}.motion .hero-copy>:nth-child(3){animation-delay:.16s}.motion .hero-copy>:nth-child(4){animation-delay:.24s}.motion .hero-visual,.motion .home-showcase,.motion .ad-visual{animation:arrive 1.1s .12s var(--ease-out) both}.motion .toy{animation:3.5s ease-in-out 1.3s 2 float}.motion .reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(28px)}.motion .reveal.is-in{opacity:1;transform:none}}@keyframes pin-jump{0%,70%,to{transform:translateY(0)}80%{transform:translateY(-5px)}90%{transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes arrive{0%{opacity:0;transform:translateY(40px)scale(.94)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
