:root{--page:#e7e4dc;--white:#f9f7f2;--ink:#292e29;--muted:#676960;--line:#cccfc2;--accent:#54634b;--accent-dark:#34432f;--soft:#e2e5db;--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:100px}body{background:var(--page)}body.modal-open{overflow:hidden}::selection{background:#b8c69e;color:#20271f}:focus-visible{outline:2px solid #859c6b;outline-offset:5px}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
.demo-note{background:#222621;color:#b8bdb0;font-size:10px;padding:6px 20px}
.site-header{position:sticky;top:0;height:80px;background:#292d29ed;color:#f5f3eb;border-bottom:1px solid #ffffff12;backdrop-filter:blur(18px);transition:height .4s var(--ease),box-shadow .4s}
.site-header.scrolled{height:68px;box-shadow:0 7px 28px #17201826}
.brand{font-weight:700;font-size:20px;letter-spacing:-.05em}.brand-icon{width:36px;height:36px;border-radius:50%;background:transparent;border:1px solid #c2cbb66b;color:#d6dfca;font-size:12px;font-weight:500}
.nav{gap:36px}.nav a{position:relative;color:#d6d8d1;font-weight:500;font-size:12px;padding:8px 0}.nav a:after{content:'';position:absolute;left:0;bottom:3px;width:100%;height:1px;background:#d2dfbd;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav a:hover{color:#fff}.nav a:hover:after{transform:scaleX(1)}
.saved-trigger{background:#ffffff08;border-color:#ffffff2b;color:#e9ebe3;border-radius:30px;font-weight:500;padding:10px 12px 10px 17px;transition:background .25s,border-color .25s}.saved-trigger:hover{background:#ffffff14;border-color:#a6b19c}.saved-trigger span{background:#dce3d2;color:#2f3d28;border-radius:50%;min-width:22px;height:22px}.menu-trigger span{background:#e7eadf}
.hero{min-height:650px;max-height:850px;height:calc(100svh - 180px);background:#292d29;margin:0;isolation:isolate}
.hero>img{left:32%;width:68%;object-position:center 48%;transform:translateY(var(--hero-shift,0px)) scale(1.07);will-change:transform}
.hero-overlay{background:linear-gradient(90deg,#292d29 3%,#292d29f5 24%,#292d29b5 43%,#20251e12 73%),linear-gradient(0deg,#292d298c,transparent 45%)}
.hero-content{max-width:1440px;padding:52px clamp(24px,5vw,80px) 95px;pointer-events:none}.hero-content a{pointer-events:auto}
.hero-label{border:0;padding:0;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#c6ceba;font-weight:600;display:flex;align-items:center;gap:10px}.hero-label i{width:6px;height:6px;border-radius:50%;background:#b8c89e;box-shadow:0 0 0 5px #a7bb7e0d}
.hero h1{font-size:clamp(58px,6.6vw,94px);line-height:1.02;font-weight:500;letter-spacing:-.065em;margin:26px 0 24px;max-width:820px}.hero h1>span{display:block}.hero-title-accent{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.065em;color:#c6d1b2}
.hero-content>p{max-width:350px;font-size:13px;line-height:1.8;color:#c5c9be;margin-bottom:26px}.hero-button{gap:43px;border-radius:30px;padding:13px 15px 13px 23px;background:#dce5c9;color:#2a3726;font-size:12px;font-weight:700;transition:background .3s,transform .4s var(--ease),box-shadow .4s}.hero-button span{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:#314128;color:#edf2e5;font-size:18px;transition:transform .4s var(--ease)}.hero-button:hover{background:#e6edd7;box-shadow:0 8px 28px #111b1155;transform:translateY(-3px)}.hero-button:hover span{transform:rotate(45deg)}
.hero-caption{display:flex;align-items:center;gap:11px;font-size:10px;color:#b7bfb0;margin-top:29px}.hero-caption-line{height:1px;width:32px;background:#9aa68c}.hero-credit{right:4vw;bottom:82px;background:#20271b8c;border:1px solid #ffffff24;border-radius:30px;font-size:9px;padding:7px 12px;backdrop-filter:blur(8px)}
.quick-search{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.1fr 1.1fr auto;gap:0;align-items:center;width:calc(100% - 100px);max-width:1180px;margin:-54px auto 0;padding:21px 24px;background:#f4f2eb;border:1px solid #ffffff91;border-radius:18px;box-shadow:0 18px 40px #1c261a19,0 3px 7px #1c261a08}
.quick-intro{padding:0 20px 0 5px}.quick-intro span,.quick-search label>span{display:block;color:#74776b;font-size:10px;margin-bottom:6px}.quick-intro strong{font-size:17px;font-weight:600;letter-spacing:-.04em}.quick-search label{border-left:1px solid #d7dacf;padding:0 25px}.quick-search select{width:100%;border:0;background:transparent;color:#2c3429;font-size:12px;font-weight:600;cursor:pointer;min-height:26px}.quick-search button{border:0;border-radius:12px;background:#3a4c32;color:#edf1e7;padding:19px 23px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:39px;transition:background .3s,transform .3s}.quick-search button:hover{background:#526647;transform:translateY(-2px)}.quick-search button span{font-size:19px;line-height:1}
.facts-bar{background:transparent;border:0;gap:0;max-width:1030px;margin:0 auto;padding:25px 0 0;justify-content:space-between;color:#6b7062;font-size:10px}.facts-bar span{padding:0 18px}.facts-bar strong{font-size:11px;color:#374331}
.section{width:min(1380px,100%);padding:88px clamp(24px,5vw,80px)}.section-heading{margin-bottom:36px;gap:24px}.kicker{font-size:9px;font-weight:700;letter-spacing:.16em;color:#687a59;margin-bottom:12px}.section-heading h2{font-size:clamp(34px,3.6vw,50px);font-weight:500;letter-spacing:-.055em;line-height:1.13}.section-heading>p{font-size:12px;color:#707365;max-width:300px;line-height:1.8}
.event-filter{gap:8px;margin-bottom:21px;padding:2px 0 5px}.event-chip{border:1px solid #cbd0c1;background:transparent;color:#5d6556;border-radius:30px;padding:11px 20px;font-size:11px;font-weight:600;transition:background .3s,color .3s,transform .3s,box-shadow .3s}.event-chip:hover{border-color:#7b8b6c;background:#dce1d1;transform:translateY(-2px)}.event-chip.active{background:#36472e;border-color:#36472e;color:#f2f5eb;box-shadow:0 5px 12px #30402521}
.filter-bar{background:#dbddd2;border-color:#d1d5c6;border-radius:14px;padding:10px;gap:8px}.filter-bar label{background:#f3f2ec;border:1px solid transparent;border-radius:9px;min-height:64px;padding:11px 14px;transition:box-shadow .25s,border-color .25s}.filter-bar label:focus-within{border-color:#768e62;box-shadow:0 0 0 3px #768e6217}.filter-bar label span{color:#737966;font-size:10px;margin-bottom:4px}.filter-bar input,.filter-bar select{color:#36412d;font-weight:500;font-size:12px}.filter-bar input::placeholder{color:#7b8172}.reset-button{font-weight:600;color:#5d6d4f}.result-line{margin:28px 0 19px;font-size:10px;color:#777d6d}.result-line span:first-child{color:#515c46}
.venue-grid{gap:27px 24px;align-items:stretch}.venue-card{position:relative;background:#f8f7f1;border:1px solid #ffffff8f;border-radius:18px;box-shadow:0 3px 5px #26331f05,0 10px 22px -7px #26331f21,0 26px 38px -25px #26331f2e;transition:transform .55s var(--ease),box-shadow .55s var(--ease),opacity .7s var(--ease);isolation:isolate}.venue-card.visible:hover,.venue-card.visible:focus-within{transform:translateY(-7px);box-shadow:0 10px 15px -8px #26331f26,0 28px 45px -18px #26331f40}.card-photo{aspect-ratio:1.4;border-radius:14px;margin:8px 8px 0;background:#ccd0c4}.card-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer}.card-image-button img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease),filter .8s;filter:saturate(.88)}.venue-card:hover .card-image-button img{transform:scale(1.055);filter:saturate(1)}.card-photo figcaption{pointer-events:none;left:9px;bottom:9px;background:#20271ba3;border-radius:5px;padding:4px 7px;font-size:8px;backdrop-filter:blur(4px)}
.save-button{width:36px;height:36px;right:11px;top:11px;background:#f6f6eced;color:#4f5e42;box-shadow:0 3px 13px #15220e2b;transition:transform .35s var(--ease),background .25s}.save-button:hover{transform:scale(1.1);background:#fff}.save-button.saved{background:#dde7ce;color:#52693d}.save-button.saved svg{fill:#52693d}.save-button.pulse{animation:heart-pop .45s var(--ease)}
.card-body{padding:19px 21px 16px}.card-kind{font-size:9px;letter-spacing:.025em;color:#79866b;font-weight:600}.card-body h3{font-size:18px;font-weight:600;letter-spacing:-.045em;line-height:1.4;margin:6px 0 9px}.card-description{font-size:11px;line-height:1.75;color:#7a7c70;margin-bottom:20px}.card-meta{gap:6px 14px;font-size:9px;font-weight:500;color:#5e6852}.card-meta svg{stroke:#8a987a;width:13px;height:13px}.card-actions{margin-top:19px;padding-top:13px;border-top:1px solid #e1e5d8}.card-actions button{font-size:10px;font-weight:600;color:#526544;text-align:left;flex:1;padding:7px 0}.card-actions button:hover{text-decoration:none}.card-actions span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #dce1d2;border-radius:50%;color:#5e7250;font-size:15px;transition:transform .4s var(--ease),background .4s}.venue-card:hover .card-actions span{transform:rotate(45deg);background:#e4ead9}
.empty-state{background:#f1f2e9;border:1px dashed #b7c1a8;border-radius:18px;padding:65px 20px}.empty-state p{font-size:12px}.empty-state button{border-radius:25px;padding:13px 20px}.recent{padding-top:45px;padding-bottom:65px}.recent-item{background:#eeefe5;border-color:#d1d7c5;border-radius:12px;padding:9px;transition:transform .35s,box-shadow .35s}.recent-item:hover{transform:translateY(-3px);box-shadow:0 10px 20px #26331f12}.recent-item img{border-radius:7px}.recent-item strong{font-weight:600}.recent-item small{font-size:9px}
.help{border:0;background:#d9ddcf;width:100%;padding-left:max(5vw,calc((100vw - 1220px)/2));padding-right:max(5vw,calc((100vw - 1220px)/2))}.help-grid{gap:24px}.help-grid>div{background:transparent;border-top:1px solid #b8c1ac;border-radius:0;padding:24px 22px 0 0}.help-number{font-weight:500;color:#879777;font-size:13px}.help-grid h3{font-size:19px;font-weight:500;letter-spacing:-.03em;margin-top:23px;color:#3f4e33}.help-grid p{color:#6c765f;font-size:11px;max-width:310px;line-height:1.9}.footer{background:#292f27;color:#b1bba6;padding-top:65px;border-top:1px solid #46513c}.footer .brand,.footer h3{color:#e4e9dc}.footer h3{font-size:11px;font-weight:500}.footer p,.footer a:not(.brand){font-size:10px;line-height:1.9}.footer a:hover{color:#eef4e4}.footer-bottom{border-color:#ffffff15;color:#87947b;font-size:9px}
dialog{background:#f5f4ec;box-shadow:0 30px 110px #0b130e99;overscroll-behavior:contain}dialog::backdrop{background:#141c16b3;backdrop-filter:blur(9px)}dialog[open]{animation:dialog-in .45s var(--ease)}dialog[open]::backdrop{animation:fade-in .35s}dialog.closing{animation:dialog-out .2s ease-in forwards}dialog.closing::backdrop{animation:fade-out .2s ease-in forwards}.venue-dialog{border-radius:22px}.detail-photo{height:320px}.detail-content{padding:30px 36px 34px}.detail-content h2{font-weight:500;font-size:34px}.detail-content>p{color:#6e7663}.detail-facts strong{color:#7d8971}.detail-facts span{font-weight:500}.detail-actions>*{border-radius:25px;padding:13px 17px;font-size:10px}.secondary-link,.secondary-button{background:transparent;border-color:#c4cdb9}.secondary-link:hover,.secondary-button:hover{background:#e5eadc}.dialog-close{width:39px;height:39px;background:#f6f7eeeb;backdrop-filter:blur(5px);transition:transform .3s}.dialog-close:hover{transform:rotate(90deg)}.shortlist-dialog{border-radius:22px;padding:30px}.shortlist-head h2{font-weight:500}.shortlist-item img{border-radius:8px}.shortlist-item button{min-height:44px}.shortlist-item strong{font-weight:600}
.toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,18px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);white-space:nowrap;padding:13px 22px;border-radius:30px;background:#293b23;color:#edf3e5;box-shadow:0 10px 40px #13230d40;font-size:12px;transition:transform .4s var(--ease),opacity .3s}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(26px)}.motion-ready .reveal.visible{opacity:1;transform:none;transition-delay:var(--reveal-delay,0ms)}.hero-label,.hero h1>span,.hero-content>p,.hero-button,.hero-caption{animation:hero-in 1s var(--ease) both}.hero h1>span:nth-child(1){animation-delay:.08s}.hero h1>span:nth-child(2){animation-delay:.17s}.hero h1>span:nth-child(3){animation-delay:.26s}.hero-content>p{animation-delay:.33s}.hero-button{animation-delay:.4s}.hero-caption{animation-delay:.48s}
@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes dialog-out{to{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes heart-pop{50%{transform:scale(1.2)}}
@media(min-width:1500px){.hero-content{padding-left:80px}.hero>img{left:37%;width:63%}}
@media(max-width:1000px){.hero{min-height:610px;height:auto}.hero h1{font-size:72px}.hero>img{left:19%;width:81%}.quick-search{width:calc(100% - 48px);grid-template-columns:1fr 1fr auto;padding:20px}.quick-intro{display:none}.quick-search label:first-of-type{border:0;padding-left:0}.quick-search label{padding:0 20px}.facts-bar{padding:24px 22px 0}.facts-bar span{padding:0 10px}.section{padding:70px 28px}.filter-bar{grid-template-columns:repeat(3,1fr)}.filter-search{grid-column:1/-1}.reset-button{background:#edf0e4;border-color:#d3dac8;border-radius:9px}.venue-grid{gap:24px 20px}.card-body{padding:17px}.help{padding:65px 28px}.recent-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){html{scroll-padding-top:85px}.demo-note{font-size:8px;padding:6px 12px}.site-header,.site-header.scrolled{height:66px;padding:0 18px}.brand{font-size:17px}.brand-icon{width:31px;height:31px;font-size:10px}.header-actions{gap:7px}.nav{top:66px;background:#292f27f5;border-color:#ffffff15;backdrop-filter:blur(18px);border-radius:0 0 16px 16px;padding:10px 20px 16px}.nav.open{animation:hero-in .3s var(--ease)}.nav a{padding:12px 5px}.saved-trigger{padding:7px 9px;border-radius:30px}.saved-trigger:before{color:#d9e2ce;font-size:16px}.saved-trigger span{min-width:20px;height:20px}.hero{min-height:595px;height:auto;align-items:start}.hero>img{left:0;width:100%;object-position:64% center}.hero-overlay{background:linear-gradient(90deg,#252c23f0 0%,#252c23c4 43%,#252c2352 100%),linear-gradient(0deg,#252c23,transparent 70%)}.hero-content{padding:48px 24px 110px}.hero-label{font-size:8px;letter-spacing:.1em}.hero h1{font-size:clamp(47px,11.5vw,70px);margin:27px 0 21px;line-height:1.05}.hero-content>p{font-size:12px;max-width:280px;margin-bottom:23px}.hero-button{padding:11px 12px 11px 20px;font-size:11px;gap:32px}.hero-caption{font-size:8px;margin-top:24px;gap:8px}.hero-caption-line{width:20px}.hero-credit{bottom:55px;right:16px;font-size:7px;padding:5px 9px}.quick-search{width:calc(100% - 32px);grid-template-columns:1fr 1fr;margin-top:-35px;padding:18px 16px 16px;gap:17px 0;border-radius:16px;box-shadow:0 14px 26px #1c261a1c}.quick-search label{padding:0 0 0 16px;min-width:0}.quick-search label>span{font-size:9px}.quick-search select{font-size:11px;height:29px}.quick-search button{grid-column:1/-1;justify-content:space-between;padding:15px 19px;border-radius:10px}.facts-bar{justify-content:center;gap:9px 0;padding:24px 20px 0;font-size:9px;text-align:center}.facts-bar span{padding:0 8px}.facts-bar strong{font-size:10px}.facts-bar span:last-child{color:#7d8373;font-size:8px}.section{padding:55px 20px}.section-heading{margin-bottom:27px}.section-heading h2{font-size:34px}.section-heading>p{font-size:11px;margin-top:13px;max-width:280px}.kicker{font-size:8px;margin-bottom:11px}.event-filter{margin-bottom:16px;margin-right:-20px;padding-right:20px;gap:6px}.event-chip{padding:10px 16px;font-size:10px}.filter-bar{grid-template-columns:1fr 1fr;padding:8px;gap:7px;border-radius:12px}.filter-bar label{padding:9px 10px;min-height:59px}.filter-bar label span{font-size:8px}.filter-bar input,.filter-bar select{font-size:10px}.filter-search{grid-column:1/-1}.reset-button{font-size:10px}.result-line{font-size:8px;margin:23px 0 17px;align-items:center}.venue-grid{grid-template-columns:1fr;gap:24px}.card-photo{aspect-ratio:1.4}.card-body{padding:19px 20px 17px}.card-body h3{font-size:19px}.card-kind{font-size:10px}.card-description{font-size:12px;min-height:0}.card-meta{font-size:10px;gap:6px 16px}.card-actions button{font-size:11px}.card-photo figcaption{font-size:8px}.save-button{width:40px;height:40px}.recent-list{grid-template-columns:1fr}.help{padding:55px 24px}.help-grid{gap:25px}.help-grid>div{padding-top:19px}.help-grid h3{margin-top:12px}.help-grid p{font-size:12px}.footer{padding:45px 24px 22px;gap:26px}.footer .brand{font-size:19px}.footer p,.footer a:not(.brand){font-size:10px}.footer-bottom{font-size:8px}.venue-dialog{border-radius:19px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.detail-photo{height:235px}.detail-content{padding:23px}.detail-content h2{font-size:29px}.detail-actions{gap:9px}.detail-actions>*{padding:14px;font-size:11px}.detail-facts{grid-template-columns:1fr;gap:15px}.detail-content>p{font-size:12px}.shortlist-dialog{padding:23px;max-height:calc(100dvh - 24px)}.toast{bottom:18px;font-size:10px;padding:12px 18px}}
.card-description{font-size:12px;color:#68705e}.card-meta{font-size:10px}.card-kind{font-size:10px;color:#657556}.section-heading>p{color:#626b56}.filter-bar input::placeholder{color:#6b745e}.result-line{color:#656f59}.menu-trigger{width:44px;height:44px}.detail-content>p{color:#636e58}.help-grid p{color:#5c684e}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img{transform:none;will-change:auto}.motion-ready .reveal:not(.visible){opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}.venue-card.visible:hover,.recent-item:hover,.hero-button:hover{transform:none}}
