@font-face{font-family:DM Sans;src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{color-scheme:light dark;--bg:#f6f7f2;--surface:#fcfdf9;--text:#232b25;--muted:#626860;--line:#d9ded4;--green:#285c40;--tint:#e8eedf;--button-text:#fcfdf9;--radius:5px;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;white-space:nowrap}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:4px}button,input,select{border-radius:var(--radius)}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3{margin:0}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;background:var(--surface);z-index:3}.skip-link:focus{top:12px}
.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;font-size:29px;font-weight:750;letter-spacing:-1.6px;white-space:nowrap}.amp{font-weight:450;margin:0 3px}.brand-mark{font-size:34px;color:var(--green);margin-left:8px;line-height:1}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:550}.nav-explore{padding:12px 0}.nav-explore:hover{color:var(--green)}.shortlist-nav{border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:10px 0 10px 10px}.count{background:var(--tint);min-width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:12px}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:52px;align-items:center;padding-block:49px 55px}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:650;color:var(--green);margin-bottom:22px}h1{font-size:clamp(48px,5.2vw,75px);letter-spacing:-4.2px;line-height:1.035;font-weight:550}.hero-description{font-size:16px;line-height:1.65;color:var(--muted);margin-top:23px}.hero-link{display:inline-flex;align-items:center;gap:25px;margin-top:25px;font-size:14px;font-weight:650;border-bottom:1px solid var(--text);padding-bottom:7px}.hero-link span{font-size:21px;line-height:1}.hero-visual{position:relative;height:337px;padding-right:65px;padding-bottom:27px}.hero-city{height:100%;border-radius:var(--radius);object-position:center 54%}.hero-park{position:absolute;right:0;bottom:0;width:168px;height:180px;border:7px solid var(--bg);border-radius:var(--radius);object-position:center}.weekend-stamp{position:absolute;right:1px;top:6px;width:134px;height:134px;border-radius:50%;background:var(--tint);color:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg)}.weekend-stamp>span:first-child{font-size:8px;letter-spacing:1.6px;font-weight:700;margin-bottom:4px}.weekend-stamp strong{font-size:26px;line-height:1.02;letter-spacing:-1px;text-align:center;font-weight:650}.weekend-stamp>span:last-child{font-size:26px;line-height:1;margin-top:2px}
.browse{scroll-margin-top:20px;padding-top:28px;border-top:1px solid var(--line)}.browse-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.browse-heading h2{font-size:29px;letter-spacing:-1.05px;font-weight:550}.weekend-date{font-size:14px;color:var(--muted)}.weekend-date strong{font-weight:650;color:var(--text)}.filters{display:grid;grid-template-columns:1.6fr 1fr auto;align-items:end;gap:20px}.field label{display:block;font-size:12px;font-weight:550;margin-bottom:9px}.input-shell{position:relative}input,select{height:49px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:100%;font-size:14px}input{padding:0 18px 0 45px}input::placeholder{color:var(--muted);opacity:1}select{padding:0 35px 0 16px;cursor:pointer}.search-icon{position:absolute;left:18px;top:16px;width:14px;height:14px;border:1.5px solid var(--muted);border-radius:50%;pointer-events:none}.search-icon:after{content:'';position:absolute;right:-4px;bottom:-3px;width:6px;height:1.5px;background:var(--muted);transform:rotate(45deg)}.saved-filter{height:49px;padding:0 22px;background:transparent;border:1px solid var(--line);font-size:14px;display:flex;gap:10px;align-items:center}.saved-filter>span{font-size:24px;line-height:1}.saved-filter[aria-pressed=true]{background:var(--green);color:var(--button-text);border-color:var(--green)}.results-bar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 23px;gap:14px}.day-filters{display:flex;gap:6px}.day-filters button{border:0;background:transparent;padding:9px 14px;font-size:13px;color:var(--muted)}.day-filters button[aria-pressed=true]{background:var(--tint);color:var(--green);font-weight:650}.day-filters button span{margin-left:4px;font-size:11px}#results-count{font-size:12px;color:var(--muted)}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 26px}.event-card{min-width:0;padding-bottom:23px;border-bottom:1px solid var(--line)}.event-open{display:block;width:100%;height:100%;border:0;background:transparent;text-align:left;padding:0;white-space:normal}.event-photo{overflow:hidden;border-radius:var(--radius);background:var(--tint);aspect-ratio:1.85}.event-photo img{height:100%;transition:transform .25s ease}.event-open:hover img{transform:scale(1.035)}.event-open:hover h3{color:var(--green)}.card-meta{display:flex;justify-content:space-between;align-items:center;margin:17px 0 9px;font-size:12px;font-weight:550;gap:10px}.category-label{color:var(--green);font-weight:650}.card-price{color:var(--muted)}.card-price.free{color:var(--green)}.event-card h3{font-size:23px;letter-spacing:-.65px;line-height:1.2;font-weight:550;margin-bottom:12px;min-height:56px}.event-time{font-size:12px;font-weight:550;margin-bottom:7px}.event-location{font-size:12px;color:var(--muted);line-height:1.5}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-arrow{font-size:23px;color:var(--green);font-weight:400}.saved-label{margin-left:auto;font-size:11px;color:var(--green)}
.empty-state{text-align:center;padding:65px 20px;background:var(--tint);border-radius:var(--radius)}[hidden]{display:none!important}.empty-symbol{font-size:36px;color:var(--green)}.empty-state h3{font-size:27px;letter-spacing:-1px;margin:12px 0}.empty-state p{font-size:15px;color:var(--muted);margin-bottom:22px}.primary-button{background:var(--green);border:1px solid var(--green);color:var(--button-text);padding:14px 22px;font-size:14px;font-weight:600;min-height:48px}.primary-button:hover{filter:brightness(1.12)}.closing-note{padding:58px 0;text-align:center}.closing-note p{font-size:25px;letter-spacing:-.8px;margin-bottom:9px}.closing-note span{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:27px 0 33px;display:flex;align-items:center;justify-content:space-between;gap:22px}footer .wordmark{font-size:23px}footer .brand-mark{font-size:27px}footer p,footer small{font-size:11px;color:var(--muted)}
dialog{padding:0;border:1px solid var(--line);border-radius:9px;width:min(680px,calc(100% - 40px));max-height:90dvh;overflow:auto;background:var(--bg);color:var(--text)}dialog::backdrop{background:rgb(18 29 23 / .6);backdrop-filter:blur(4px)}.detail-top{display:flex;align-items:center;justify-content:space-between;padding:14px 26px}.detail-top>span{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:650}.close-detail{border:0;background:transparent;display:flex;align-items:center;gap:13px;padding:7px 0 7px 15px;font-size:13px}.close-detail span{font-size:25px;line-height:1}.detail-image{height:205px}.detail-content{padding:25px 32px 30px}.detail-category-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:10px}#detail-title{font-size:35px;letter-spacing:-1.2px;line-height:1.15;font-weight:550}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;padding:22px 0;border-block:1px solid var(--line)}.detail-facts div{min-width:0}.detail-facts dt{color:var(--muted);font-size:11px;margin-bottom:5px}.detail-facts dd{margin:0;font-size:14px;line-height:1.55}.detail-facts dd span{display:block;color:var(--muted);font-size:12px}.detail-content h3{font-size:17px;font-weight:600;margin-bottom:12px}.detail-body{font-size:14px;line-height:1.7;color:var(--muted)}.detail-body p+p{margin-top:16px}.detail-action{margin-top:26px;display:flex;align-items:center;gap:20px}.detail-action p{font-size:12px;color:var(--muted);line-height:1.5}body.modal-open{overflow:hidden}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:30px}h1{letter-spacing:-3px;font-size:60px}.hero-visual{height:310px;padding-right:42px}.hero-park{width:145px;height:160px}.weekend-stamp{width:118px;height:118px}.filters{gap:14px}.event-grid{gap:30px 20px}.event-card h3{font-size:21px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.site-header{height:74px}.wordmark{font-size:24px;letter-spacing:-1.3px}.brand-mark{font-size:28px;margin-left:5px}.site-header nav{gap:0}.nav-explore{display:none}.shortlist-nav{font-size:12px;gap:7px}.count{height:24px;min-width:24px}.hero{grid-template-columns:1fr;padding:34px 0 31px;gap:27px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:17px}h1{font-size:53px;letter-spacing:-2.8px;line-height:1.04}.hero-description{font-size:14px;margin-top:17px}.hero-link{margin-top:19px;font-size:13px}.hero-visual{height:208px;padding-right:37px;padding-bottom:12px}.hero-city{object-position:center 53%}.hero-park{width:111px;height:121px;border-width:5px}.weekend-stamp{width:98px;height:98px;top:0;right:0}.weekend-stamp strong{font-size:20px}.weekend-stamp>span:first-child{font-size:6px;letter-spacing:1px}.weekend-stamp>span:last-child{font-size:20px}.browse{padding-top:25px}.browse-heading{display:block;margin-bottom:23px}.browse-heading h2{font-size:25px;letter-spacing:-1px}.weekend-date{font-size:12px;margin-top:9px}.filters{grid-template-columns:1fr auto;gap:16px 12px}.search-field{grid-column:1/-1}.field label{font-size:11px;margin-bottom:7px}.category-field label{font-size:10px}.saved-filter{padding:0 14px;font-size:12px;gap:7px}.saved-filter>span{font-size:22px}input,select{font-size:16px}.category-field select{font-size:13px}.results-bar{align-items:flex-start;flex-direction:column;gap:15px;margin:21px 0}.day-filters{gap:3px;width:100%;justify-content:space-between}.day-filters button{padding:10px 12px;font-size:12px}.event-grid{grid-template-columns:1fr;gap:27px}.event-photo{aspect-ratio:1.7}.event-card h3{font-size:24px;min-height:0;margin-bottom:13px}.card-meta{margin-top:16px}.event-time,.event-location{font-size:13px}.event-card{padding-bottom:22px}.closing-note{padding:39px 14px}.closing-note p{font-size:23px;line-height:1.25}.closing-note span{font-size:12px;line-height:1.6;display:block}footer{display:grid;grid-template-columns:1fr;padding:25px 0;gap:12px}footer p{display:none}footer small{font-size:10px}dialog{width:calc(100% - 24px);max-height:94dvh}.detail-top{padding:10px 20px}.detail-image{height:170px}.detail-content{padding:21px}.detail-content h2{font-size:29px}.detail-facts{gap:16px 12px}.detail-facts dd{font-size:13px}.detail-action{align-items:stretch;flex-direction:column;gap:12px}.detail-action p{text-align:center}}
@media(prefers-color-scheme:dark){:root{--bg:#19231d;--surface:#202d25;--text:#edf2e9;--muted:#b3bfb0;--line:#39483d;--green:#b5d2a7;--tint:#2e4132;--button-text:#1a2d1f}.hero-city,.hero-park,.event-photo img,.detail-image{filter:brightness(.85)}.weekend-stamp{background:#324937}dialog::backdrop{background:rgb(5 12 8 / .8)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.event-open:hover img{transform:none}}
/* Keep the circular brand message beside the photograph, with no text over imagery. */
.hero-visual{padding-right:150px}
@media(max-width:1100px) and (min-width:768px){.hero-visual{padding-right:133px}h1{font-size:clamp(43px,5.5vw,60px)}}
@media(max-width:767px){.hero-visual{padding-right:116px}.desktop-break{display:none}}
