:root{--landing-paper:#faf8f1;--landing-ink:#15251e;--landing-lime:#c5f565}
html:has(.landing-page){scroll-behavior:smooth;scroll-padding-top:108px}
.landing-page{background:var(--landing-paper);color:var(--landing-ink)}
.landing-page a{color:inherit;text-decoration:none}.landing-page a:focus-visible{outline:3px solid #75a727;outline-offset:5px}
.landing-skip{position:fixed;top:-100px;inset-inline-start:16px;z-index:100;padding:12px;background:var(--landing-lime)}.landing-skip:focus{top:12px}
.landing-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:18px clamp(20px,5vw,80px);border-bottom:1px solid #17201e17;background:var(--landing-paper)}
.landing-header .brand{letter-spacing:.07em}.landing-header .brand-mark{border-radius:50%}.landing-nav{display:flex;gap:32px;font-weight:600;font-size:14px}.landing-nav a:hover,.landing-footer>a:last-child:hover{text-decoration:underline;text-underline-offset:5px}.landing-header-actions{display:flex;gap:16px;align-items:center}.landing-header .language-select{background:transparent;min-width:95px;font-size:12px}.landing-sign-in{padding:11px 20px;border:1px solid #15251e3d;border-radius:6px;font-size:13px;font-weight:700;white-space:nowrap}.landing-sign-in:hover{background:#e8efdd}
.landing-hero{background:var(--landing-ink);color:var(--landing-paper);display:grid;grid-template-columns:1fr 1fr;min-height:640px;padding:clamp(32px,5vw,80px);gap:clamp(32px,6vw,100px);overflow:hidden}
.landing-hero-copy{align-self:center;max-width:660px}.landing-kicker{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.6}.landing-hero .landing-kicker{color:#d4dfd8}.landing-status-dot{width:7px;height:7px;background:var(--landing-lime);border-radius:50%;flex-shrink:0}
.landing-hero h1{font-size:clamp(48px,6.3vw,98px);line-height:1.03;letter-spacing:-.055em;font-weight:650;margin:32px 0 26px}.landing-hero h1 em{color:var(--landing-lime);font-style:normal}.landing-hero-copy>p{font-size:18px;line-height:1.7;color:#cbd8ce;max-width:370px;margin-bottom:30px}.landing-button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:54px;padding:17px 24px;border:0;border-radius:6px;background:var(--landing-lime);color:var(--landing-ink)!important;font-size:14px;font-weight:750;transition:background .16s,transform .16s}.landing-button:hover{background:#b4e757;transform:translateY(-2px)}.landing-button>span:last-child{font-size:21px;line-height:1}
.landing-hero-note{display:flex;align-items:center;gap:12px;margin-top:44px;color:#a2b3a7;font-size:12px}.landing-line{width:25px;height:1px;background:#789083}.landing-hero-visual{position:relative;align-self:stretch;min-height:440px;border-radius:90px 8px 90px 8px;overflow:hidden}.landing-hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:62% center}.landing-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#15251e00 45%,#15251e9c)}.landing-photo-tag{position:absolute;inset-block-start:24px;inset-inline-start:24px;z-index:1;font-size:10px;font-weight:750;letter-spacing:.12em;border:1px solid #ffffff78;border-radius:99px;padding:10px 13px;background:#15251e40;color:#fff}.landing-photo-caption{position:absolute;z-index:1;inset-inline-start:30px;bottom:30px;color:#fff;font-size:18px;font-weight:600}
.landing-locations{padding:88px clamp(20px,5vw,80px) 96px;max-width:1600px;margin:0 auto}.landing-section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:46px}.landing-section-heading h2,.landing-how h2{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.045em;line-height:1.15;font-weight:600;margin:12px 0 0}.landing-section-heading>p{max-width:320px;font-size:15px;line-height:1.7;color:#647266;margin:0}.landing-location-index{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.landing-location-index a{border:1px solid #bcc9b8;border-radius:999px;padding:10px 16px;font-size:13px}.landing-location-index a:hover{background:#e7efdc}
.landing-venue-list{display:grid;gap:56px}.landing-venue{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #dbe1d4;background:#fffdf8;border-radius:16px;overflow:hidden;scroll-margin-top:0}.landing-venue-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:470px;background:#efd0c6;padding:32px}.landing-venue-image img{max-width:100%;width:100%;height:400px;object-fit:contain;border-radius:4px}.landing-venue-number{position:absolute;inset-inline-start:22px;inset-block-start:18px;color:#874629;background:#f7e4dd;padding:8px 10px;font-size:12px;font-weight:750;border-radius:4px}.landing-venue-copy{align-self:center;padding:clamp(32px,4vw,62px)}.landing-venue-copy .landing-kicker{color:#697565}.landing-venue-copy h3{font-size:clamp(32px,3.3vw,50px);line-height:1.16;letter-spacing:-.035em;font-weight:650;margin:22px 0}.landing-venue-copy>p{max-width:390px;color:#667160;line-height:1.8;font-size:16px;margin-bottom:24px}.landing-venue-details{display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 0;border-top:1px solid #dce2d6;margin-bottom:20px;font-size:12px;font-weight:650;color:#55694b}.landing-venue-details span{display:flex;align-items:center;gap:8px}.landing-venue-details span:before{content:"";width:5px;height:5px;border-radius:50%;background:#6e9b3c}.landing-venue-copy small{display:block;margin-top:14px;color:#798070;font-size:12px;line-height:1.6}.landing-venue:nth-child(even) .landing-venue-image{order:2}.landing-loading{color:#657462}.landing-load-error{border:1px solid #e2b8aa;padding:24px;border-radius:8px}
.landing-how{padding:68px clamp(20px,5vw,80px) 76px;background:#e8eedf}.landing-how-heading{margin-bottom:40px}.landing-how .landing-kicker{color:#596e51}.landing-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.landing-steps li{border-top:1px solid #b8c7ae;padding-top:24px}.landing-step-number{font-size:12px;font-weight:750;color:#5f784f}.landing-steps h3{font-size:22px;margin:18px 0 10px;font-weight:650;letter-spacing:-.5px}.landing-steps p{font-size:14px;line-height:1.8;color:#61715a;max-width:310px;margin:0}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px clamp(20px,5vw,80px);font-size:12px;color:#677361}.landing-footer .brand{color:var(--landing-ink)}
@media(min-width:1600px){.landing-hero{padding-inline:max(80px,calc((100vw - 1440px)/2))}.landing-how,.landing-footer{padding-inline:max(80px,calc((100vw - 1440px)/2))}}
@media(max-width:900px){.landing-header{gap:16px}.landing-nav{gap:18px}.landing-hero{min-height:550px;gap:30px}.landing-hero-visual{min-height:390px;border-radius:50px 8px 50px 8px}.landing-venue-image{min-height:380px;padding:25px}.landing-venue-image img{height:320px}.landing-venue-copy{padding:30px}.landing-section-heading>p{max-width:260px}.landing-steps{gap:24px}}
@media(max-width:680px){html:has(.landing-page){scroll-padding-top:88px}.landing-header{padding:14px 18px;min-height:76px;gap:10px}.landing-header .brand{font-size:11px;gap:8px;letter-spacing:.03em}.landing-header .brand-mark{width:32px;height:32px;font-size:13px}.landing-nav{display:none}.landing-header-actions{gap:8px}.landing-header .language-select{min-width:85px;height:34px;padding:6px 24px 6px 8px;font-size:11px}.landing-sign-in{font-size:12px;padding:9px 11px}.landing-hero{grid-template-columns:1fr;padding:40px 22px 24px;gap:30px;min-height:0}.landing-hero h1{font-size:60px;margin:24px 0}.landing-hero-copy>p{font-size:16px;margin-bottom:24px}.landing-hero-note{margin-top:24px}.landing-hero-visual{min-height:285px;border-radius:45px 6px 45px 6px}.landing-photo-caption{font-size:16px;bottom:22px;inset-inline-start:22px}.landing-photo-tag{inset-block-start:18px;inset-inline-start:18px}.landing-locations{padding:48px 20px}.landing-section-heading{display:block;margin-bottom:28px}.landing-section-heading>p{max-width:none;margin-top:18px;font-size:14px}.landing-section-heading h2,.landing-how h2{font-size:35px}.landing-venue{grid-template-columns:1fr}.landing-venue-image{min-height:310px;padding:24px}.landing-venue-image img{height:285px}.landing-venue-copy{padding:30px 24px}.landing-venue-copy h3{font-size:35px;margin:18px 0}.landing-venue-copy>p{font-size:15px}.landing-venue-copy .landing-button{width:100%}.landing-venue:nth-child(even) .landing-venue-image{order:0}.landing-how{padding:44px 22px}.landing-steps{grid-template-columns:1fr;gap:26px}.landing-steps h3{margin-top:12px}.landing-steps p{max-width:none}.landing-footer{flex-wrap:wrap;padding:26px 20px;gap:18px}.landing-footer>span{width:100%;order:3}.landing-hero h1{font-size:clamp(46px,14.6vw,60px)}.landing-kicker{letter-spacing:.1em;font-size:10px}.all-locations-link{display:none}}
@media(prefers-reduced-motion:reduce){html:has(.landing-page){scroll-behavior:auto}.landing-button{transition:none}.landing-button:hover{transform:none}}
/* Venue-first visit page: persistent booking, practical information and pricing. */
.landing-header-book{min-height:42px;padding:11px 18px;gap:0;white-space:nowrap;font-size:13px}
.landing-hero-eyebrow{margin:22px 0 0!important;font-size:15px!important;color:#cbd8ce}
.landing-hero h1{font-size:clamp(42px,5.3vw,76px);margin:15px 0 20px;overflow-wrap:anywhere}
.landing-hero-tagline{font-size:24px!important;color:var(--landing-paper)!important;font-weight:600;line-height:1.3!important;max-width:none!important;margin-bottom:18px!important}.landing-hero-tagline em{font-style:normal;color:var(--landing-lime)}
.landing-hero-visit{display:inline-block;margin-inline-start:22px;font-size:13px;color:#d5dfd4!important;text-decoration:underline!important;text-underline-offset:5px}
.landing-hero-visual{background:#000;min-width:0;border-radius:50px 8px 50px 8px;padding:28px}.landing-hero-visual img{object-fit:contain;padding:26px;object-position:center}.landing-hero-visual:after{display:none}
.landing-venue{display:block}.landing-venue-banner{display:grid;grid-template-columns:1.05fr 1fr}.landing-venue-image{padding:0;background:var(--landing-ink)}.landing-venue-image img{width:100%;max-width:none;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:0;object-position:63% center}.landing-venue-number{z-index:1;background:var(--landing-lime);color:var(--landing-ink)}
.venue-visit{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:52px clamp(24px,4vw,60px);border-top:1px solid #dbe1d4}
.venue-visit h4,.venue-food h4,.venue-pricing h4{font-size:clamp(26px,2.5vw,36px);font-weight:650;letter-spacing:-.03em;margin:12px 0 20px;line-height:1.2}
.venue-address-name{font-weight:650;font-size:18px;margin-bottom:10px}.venue-address-note{font-size:13px;line-height:1.7;color:#6b7567;max-width:350px}.venue-directions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.venue-directions a{padding:12px 17px;border:1px solid #c6d0bd;border-radius:6px;font-size:13px;font-weight:700;white-space:nowrap}.venue-directions a:hover{background:#e8efdd}
.venue-phone{display:grid;gap:8px;font-size:12px;color:#6b7567;margin-top:30px}.venue-phone strong{font-size:17px;font-weight:650;color:var(--landing-ink);text-align:start;width:fit-content}.venue-phone small{font-size:11px}
.venue-hours dl{margin:0}.venue-hours dl>div{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #dbe1d4;font-size:14px}.venue-hours dd{margin:0;color:#74806e;text-align:end;font-size:13px}.venue-hours>p{font-size:12px;line-height:1.8;color:#74806e;margin-top:18px}
.venue-map{grid-column:1/-1;position:relative;border:1px solid #dbe1d4;border-radius:10px;overflow:hidden;background:#e8eedf;height:340px}.venue-map iframe{width:100%;height:100%;display:block;border:0}.venue-map-link{position:absolute;bottom:18px;inset-inline-end:18px;background:#fffdf8;padding:13px 18px;border-radius:6px;box-shadow:0 3px 20px #15251e20;font-weight:650;font-size:13px}
.venue-food{display:grid;grid-template-columns:.55fr 1fr;gap:50px;padding:46px clamp(24px,4vw,60px);background:#eed3c5;align-items:center}.venue-food-art{display:grid;place-items:center;color:#8e482d}.venue-food-art svg{width:min(100%,230px);height:auto}.venue-food h4{margin-bottom:18px}.venue-food p{font-size:16px;line-height:1.8;max-width:650px;color:#694f3f}.venue-food small{font-size:12px;line-height:1.7;color:#795f4e;display:block}
.venue-pricing{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:56px clamp(24px,4vw,60px);background:var(--landing-ink);color:var(--landing-paper);scroll-margin-top:0}.venue-pricing .landing-kicker{color:#a9bea6}.venue-pricing>div>p{line-height:1.8;font-size:14px;color:#c2d0c0;max-width:330px}.venue-pricing .venue-price-rate{font-size:19px;font-weight:650;color:var(--landing-lime);line-height:1.3}.venue-pricing .landing-button{margin-top:12px}
.venue-pricing table{border-collapse:collapse;width:100%;align-self:start;font-size:15px}.venue-pricing thead{color:#a9bea6;font-size:12px}.venue-pricing th,.venue-pricing td{text-align:start;padding:16px 0;border-bottom:1px solid #53614f}.venue-pricing th{font-weight:550}.venue-pricing th:last-child,.venue-pricing td:last-child{text-align:end}.venue-pricing td{font-weight:700;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.venue-pricing{gap:35px}.venue-visit{gap:28px}.landing-hero-visit{display:block;margin:18px 0 0}.landing-hero h1{font-size:48px}}
@media(max-width:680px){.landing-header-book{font-size:12px;padding:10px 13px;min-height:36px}.landing-hero h1{font-size:clamp(40px,11vw,54px)}.landing-hero-tagline{font-size:21px!important}.landing-hero-visual{min-height:315px}.landing-venue-banner{grid-template-columns:1fr}.landing-venue-image{min-height:290px}.venue-visit{grid-template-columns:1fr;padding:32px 24px;gap:30px}.venue-map{height:280px}.venue-food{grid-template-columns:1fr;padding:30px 24px;gap:15px}.venue-food-art{justify-items:start}.venue-food-art svg{width:105px}.venue-food p{font-size:14px}.venue-pricing{grid-template-columns:1fr;gap:28px;padding:36px 24px}.venue-pricing .landing-button{width:100%}.venue-pricing>div>p{max-width:none}.venue-pricing th,.venue-pricing td{padding:14px 0}.landing-hero-visual img{padding:18px}}
/* Keep venue copy brief and align actions with the selected language. */
.landing-header,.landing-header-actions{flex-direction:row-reverse}
.landing-button{justify-content:center;text-align:center}
.landing-button:has(>span[aria-hidden="true"]){justify-content:space-between}
.landing-button:has(>span[aria-hidden="true"])>span:first-child{text-align:start}
html[dir="rtl"] .landing-button>span[aria-hidden="true"]{transform:scaleX(-1)}
.landing-header-book{min-width:106px}
.landing-header .language-select{appearance:none;direction:inherit;text-align:center;text-align-last:center;height:42px;padding:6px 28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2315251e' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}
html[dir="rtl"] .landing-header .language-select{background-position:left 9px center}
.landing-hero{min-height:520px}.landing-hero-visual{min-height:360px}
.landing-locations{padding-top:60px;padding-bottom:64px}.landing-section-heading{margin-bottom:30px}.landing-section-heading h2{margin:0}
.landing-venue-image{min-height:360px}.landing-venue-copy h3{margin-top:0}
.venue-food{padding-block:32px}.venue-food-art svg{max-width:170px}
@media(max-width:900px){.landing-hero{min-height:460px}.landing-hero-visual{min-height:330px}}
@media(max-width:680px){.landing-header .language-select{height:36px;padding:6px 24px}.landing-header-book{min-width:99px}.landing-hero{min-height:0}.landing-hero-visual{min-height:310px}.landing-locations{padding-top:36px;padding-bottom:40px}.landing-venue-image{min-height:260px}.venue-food-art svg{max-width:85px}}
@media(max-width:380px){.landing-header .brand>span:last-child{display:none}}

.landing-nav{align-items:center}
.landing-location-picker{position:relative;color:inherit;min-width:0}
.landing-location-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600}
.landing-location-toggle:hover{color:#507427}
.landing-location-toggle svg{transition:transform .15s ease}
.landing-location-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.landing-location-menu{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-start:0;z-index:30;width:max-content;min-width:220px;max-width:min(300px,calc(100vw - 36px));padding:6px;background:#fffdf8;border:1px solid #e4e8df;border-radius:9px;box-shadow:0 10px 28px #15251e1a}
.landing-location-menu a{display:block;padding:12px 14px;border-radius:5px;font-size:14px;font-weight:500;line-height:1.4;text-align:start;overflow-wrap:anywhere;text-decoration:none!important}
.landing-location-menu a:hover,.landing-location-menu a:focus-visible{background:#edf2e7;color:#15251e}
.landing-location-menu a[aria-current="page"]{background:#e8efdd;font-weight:650}
.landing-location-menu a:focus-visible{outline:2px solid #75a727;outline-offset:-2px}
@media(max-width:900px){.landing-nav{gap:20px}}
@media(max-width:680px){.landing-header{flex-wrap:wrap}.landing-nav{display:flex;width:100%;order:3;justify-content:space-between}.landing-location-toggle{min-height:34px}.landing-nav>a{font-size:12px;padding-inline-start:14px}.landing-hero,.landing-locations{scroll-margin-top:125px}html:has(.landing-page){scroll-padding-top:125px}}
@media(prefers-reduced-motion:reduce){.landing-location-toggle svg{transition:none}}
.landing-venue-image img{object-fit:contain}

/* Reserve booking space from first paint and keep image frames blank until decoded. */
.landing-header-book{width:124px;flex-shrink:0;transform:none}
.landing-header-book:hover{transform:none}
.landing-button[aria-disabled="true"],.landing-button[aria-disabled="true"]:hover{background:#e3e5dd;color:#778071;cursor:wait;transform:none;box-shadow:none}
@media(max-width:680px){.landing-header-book{width:114px}}
