:root{--vanilla:#fff8ea;--surface:#fffdf8;--text:#2b211b;--muted:#6f6259;--pistachio:#4f8f63;--raspberry:#d94f70;--lemon:#f7d75c;--border:#e8ded2}*{box-sizing:border-box}body{background:var(--vanilla);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.hero{max-width:1120px;min-height:72vh;margin:0 auto;padding:24px}.nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;display:flex}.nav div{gap:20px;display:flex}.heroContent{margin:96px 0 0}.backLink{color:var(--muted);margin-bottom:24px;font-weight:700;display:inline-block}.pageTopNav{justify-content:space-between;align-items:baseline;display:flex}.langSwitch{color:var(--muted);font-weight:700}.langSwitch:hover,.backLink:hover{color:var(--text)}.eyebrow{color:var(--raspberry);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:800}h1{letter-spacing:0;max-width:820px;margin:0;font-size:72px;line-height:.95}.heroContent>p:not(.eyebrow){color:var(--muted);max-width:680px;font-size:21px;line-height:1.5}.actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.button{border-radius:8px;padding:14px 18px;font-weight:800;display:inline-flex}.primary{background:var(--pistachio);color:var(--surface)}.secondary{border:1px solid var(--border);color:var(--text)}.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto;padding:24px;display:grid}.feature{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}.feature svg{color:var(--pistachio)}.feature h2,.download h2{margin:16px 0 8px;font-size:24px}.feature p,.download p{color:var(--muted);line-height:1.6}.download{max-width:760px;margin:32px auto 72px;padding:24px}.homeDownload{max-width:1120px}.download h1{overflow-wrap:anywhere;font-size:clamp(28px,8vw,48px);line-height:1.1}.storeBadges{flex-wrap:wrap;align-items:flex-start;gap:14px;margin:24px 0 28px;display:flex}.storeBadges a{display:inline-flex}.storeBadgeApple,.storeBadgePlay{height:54px}.cityPage{max-width:760px;margin:0 auto;padding:24px}.cityPage .nav{margin-bottom:48px}.cityHeader h1{font-size:clamp(32px,7vw,56px);line-height:1.05}.cityIntro{color:var(--muted);margin-top:20px;font-size:18px;line-height:1.6}.updatedAt{color:var(--muted);font-size:14px}.venueList{margin:40px 0 0;padding:0;list-style:none}.venueEntry{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"rank name score""rank info score";align-items:center;column-gap:16px;margin-bottom:12px;padding:18px 20px;display:grid}.venueRank{color:var(--raspberry);grid-area:rank;min-width:32px;font-size:22px;font-weight:800}.venueName{grid-area:name;align-self:end;margin:0;font-size:19px}.venueInfo{grid-area:info}.venueInfo p{color:var(--muted);margin:4px 0 0;font-size:14px}.venueInfo .venueBlurb{color:var(--text);margin-top:6px;font-size:14px;line-height:1.45}.scoreBadge{border-radius:8px;flex-direction:column;grid-area:score;align-items:center;min-width:76px;padding:8px 10px;font-size:20px;font-weight:800;display:flex}.scoreBadge small{font-size:11px;font-weight:600}.scoreBadge.scooped{background:var(--pistachio);color:var(--surface)}.scoreBadge.google{border:1px dashed var(--border);color:var(--muted);background:0 0}.venueCtaSlot{margin-bottom:12px}.cityCta{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:32px 0;padding:24px}.cityCta h2{margin:0 0 8px;font-size:22px}.cityCta p{color:var(--muted);margin:0;line-height:1.6}.cityCta .storeBadges{margin-bottom:0}.cityFaq{margin-top:48px}.cityFaq h2,.cityLinks h2{font-size:24px}.cityFaq details{border-bottom:1px solid var(--border);padding:14px 0}.cityFaq summary{cursor:pointer;font-weight:700}.cityFaq details p{color:var(--muted);line-height:1.6}.cityLinks{margin:48px 0 72px}.cityLinks ul{margin:0;padding:0;list-style:none}.cityLinks li{padding:6px 0}.cityLinks a{color:var(--pistachio);font-weight:700}.cityLinks a:hover{text-decoration:underline}.homeCities,.homeAbout{max-width:1120px;margin:0 auto;padding:24px}.homeCities h2,.homeAbout h2{margin:16px 0 8px;font-size:24px}.homeCities p,.homeAbout p{color:var(--muted);max-width:680px;line-height:1.6}.homeCityLinks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin:20px 0;padding:0;list-style:none;display:grid}.homeCityLinks a{color:var(--pistachio);font-weight:700}.homeCityLinks a:hover,.allCitiesLink:hover{text-decoration:underline}.allCitiesLink{color:var(--raspberry);font-weight:700}.campaign{max-width:1120px;margin:0 auto;padding:24px}.campaignNav{margin-bottom:32px}.campaignHero{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:center;gap:40px;padding:32px 0 48px;display:grid}.campaignHero h1{font-size:clamp(38px,6vw,64px);line-height:1}.campaignIntro{color:var(--muted);max-width:560px;font-size:19px;line-height:1.5}.campaignPhone{background:var(--surface);border:1px solid var(--border);border-radius:32px;max-width:300px;margin:0 auto;padding:10px;overflow:hidden;box-shadow:0 20px 44px #2b211b1f}.campaignPhone img{border-radius:24px;width:100%;display:block}.campaignPicks,.campaignShots{padding:40px 0}.campaignPicks h2,.campaignShots h2,.campaignFinal h2{margin:0 0 12px;font-size:32px}.campaignSectionIntro{color:var(--muted);max-width:640px;margin:0 0 28px;font-size:17px;line-height:1.6}.pickGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.pickCard{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}.pickArea{color:var(--raspberry);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:800}.pickCard h3{margin:8px 0 10px;font-size:21px}.pickCard p{color:var(--muted);margin:0;line-height:1.55}.pickMore{color:var(--muted);margin:24px 0 0}.shotGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-top:28px;display:grid}.shotGrid figure{margin:0}.shotGrid .campaignPhone{max-width:240px}.shotGrid figcaption{color:var(--muted);text-align:center;max-width:280px;margin:16px auto 0;line-height:1.5}.campaignFinal{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;margin:24px 0 0;padding:40px 32px}.campaignFinal p{color:var(--muted);max-width:520px;margin:0 auto;line-height:1.6}.campaignFinal .storeBadges{justify-content:center;margin-bottom:8px}.campaignFooter{border-top:none;margin-top:24px;padding-left:0;padding-right:0}@media (max-width:760px){.campaignHero{grid-template-columns:1fr;gap:32px;padding-top:8px}.campaignHero .campaignPhone{max-width:260px}}.siteFooter{border-top:1px solid var(--border);max-width:1120px;margin:48px auto 0;padding:24px}.siteFooter nav{flex-wrap:wrap;gap:16px;display:flex}.siteFooter a{color:var(--muted);font-weight:600}.siteFooter a:hover{color:var(--text)}.siteFooter p{color:var(--muted);font-size:14px}@media (max-width:760px){h1{font-size:44px;line-height:1}.features{grid-template-columns:1fr}.heroContent{margin-top:72px}.nav{flex-direction:column;align-items:flex-start;gap:12px}.nav div{flex-wrap:wrap;gap:8px 16px}.cityPage .nav{flex-direction:row;align-items:center}}@media (max-width:600px){.venueEntry{grid-template-areas:"rank name score""info info info";gap:8px 10px;padding:16px}.venueRank{min-width:auto;font-size:18px}.venueName{align-self:center;font-size:18px}.scoreBadge{flex-direction:row;align-self:center;column-gap:6px;min-width:0;padding:5px 10px;font-size:17px}.venueInfo p:first-child{margin-top:0}}
