.landing-page{--gold:#e8c16c;--bg:#101310;--text:#f8f5ed;--home-caption-gutter:max(var(--page-gutter),var(--safe-left),var(--safe-right))}
.landing-page .site-header{background:var(--bg);border-bottom-color:transparent}

/* The same rhythm and type hierarchy run through the three photographic sections. */
.home-hero{position:relative;min-height:390px;height:56svh;max-height:520px;overflow:hidden;background:#161918;display:flex;align-items:center}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 52%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080c0bca,#080c0b73 42%,#080c0b10 80%),linear-gradient(0deg,#080c0b35,transparent 45%)}
.home-hero::before{content:"";position:absolute;inset:0 0 auto;height:clamp(84px,13vw,160px);background:linear-gradient(180deg,var(--bg),transparent);z-index:1;pointer-events:none}
.home-hero::after{content:"";position:absolute;inset:auto 0 0;height:clamp(110px,16vw,180px);background:linear-gradient(0deg,var(--bg),transparent);pointer-events:none}
.hero-content{position:relative;max-width:1440px;width:100%;margin:auto;padding:44px 7%;z-index:1}
.hero-content .eyebrow{font-size:1.05rem;font-weight:700;letter-spacing:.14rem;line-height:1.5;text-shadow:0 1px 3px #000,0 0 10px #0008}
.hero-content h1{font-family:Manrope,sans-serif;font-size:clamp(3.8rem,4.6vw,6rem);font-weight:750;letter-spacing:-.22rem;line-height:1.04;margin:18px 0}
.hero-content h1 em,.home-heading h2 em,.experience-copy h2 em,.reservation-invite h2 em{font-family:inherit;font-weight:inherit;font-style:normal;color:var(--gold)}
.hero-content p{font-size:1rem;line-height:1.7;color:#e0e0d5;max-width:430px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-actions .gold-button{margin:0;border-radius:8px;font-size:1rem;padding:13px 24px;min-height:48px}
.outline-button{min-height:48px;padding:13px 24px;border:1px solid #e6e4d880;background:#10131050;border-radius:100px;font-size:1rem}
.hero-actions .outline-button{border-radius:8px}
.outline-button:hover{border-color:var(--gold)}
.hero-caption{position:absolute;bottom:18px;right:4%;color:#ddddcd;font-size:.65rem;z-index:1}

.home-section{padding-top:42px;padding-bottom:36px}
.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.home-heading h2,.experience-copy h2{font-family:Manrope,sans-serif;font-size:clamp(2.8rem,3vw,4rem);line-height:1.1;letter-spacing:-.1rem;font-weight:650;margin:12px 0 0}
.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:6px;font-size:1rem;color:var(--gold)}
.home-heading>.text-link{min-height:32px;display:inline-flex;align-items:center}
.home-dishes{display:grid;grid-template-columns:repeat(var(--featured-columns,3),minmax(0,1fr));gap:18px}
.home-dish{border:1px solid var(--line);overflow:hidden;border-radius:12px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.home-dish:hover{transform:translateY(-3px);border-color:var(--gold)}
.home-dish-image{aspect-ratio:1.45;background:var(--surface)}
.home-dish-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.home-dish:hover img{transform:scale(1.03)}
.home-dish-copy{padding:20px;flex:1;display:flex;flex-direction:column;background:#1a1e19}
.home-dish-copy .eyebrow{font-size:.75rem;letter-spacing:.1rem}
.home-dish-copy h3{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.035rem;margin:12px 0 18px}
.dish-category{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--gold);font-size:1rem;line-height:1.6;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.dish-category>span{width:28px;height:28px;flex-shrink:0;border:1px solid #a5915f;border-radius:50%;display:grid;place-items:center;font-size:1.25rem}
.home-dish:focus-visible{outline-offset:5px}
.home-section .photo-note{margin-top:10px}

.experience-section{position:relative;isolation:isolate;overflow:hidden;background:#111612}
.experience-section::before{content:"";position:absolute;inset:0 0 auto;height:clamp(90px,13vw,150px);background:linear-gradient(180deg,var(--bg),transparent);z-index:1;pointer-events:none}
.experience-photo::before{content:"";position:absolute;inset:auto 0 0;height:clamp(64px,9vw,116px);background:linear-gradient(0deg,var(--bg),#10131000);z-index:1;pointer-events:none}
.experience-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:430px;padding-top:40px;padding-bottom:40px}
.experience-copy{position:relative;z-index:2;width:51%;max-width:560px}
.experience-copy h2{font-size:clamp(2.8rem,3.2vw,4.2rem);margin-top:14px}
.experience-copy p{font-size:1rem;line-height:1.75;color:#c5cec0;max-width:460px;margin-top:17px}
.experience-copy .text-link{display:inline-flex;align-items:center;border:1px solid #84714d;border-radius:8px;min-height:44px;padding:10px 18px;margin-top:22px;background:#182019b3}
.experience-photo{position:absolute;inset:0;width:100%;overflow:hidden;background:#111612;z-index:0}
.experience-photo img{display:block;height:100%;width:100%;object-fit:cover;object-position:center 22%}
.experience-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111612,#111612d6 20%,#11161230 57%,#11161212),linear-gradient(0deg,#111612,transparent 34%)}
.experience-photo>span{position:absolute;z-index:2;right:42px;bottom:18px;max-width:55%;font-size:.75rem;letter-spacing:.1rem;padding:10px 16px;border:1px solid #ffffff30;border-radius:100px;background:#11161299;color:var(--text)}

/* Reservation is a full-width hero, with one clear customer action. */
.reservation-section{position:relative;isolation:isolate;overflow:hidden;background:#111612;border-bottom:1px solid var(--line)}
.reservation-section::before{content:"";position:absolute;inset:0 0 auto;height:clamp(80px,11vw,150px);background:linear-gradient(180deg,var(--bg),#10131000);z-index:0;pointer-events:none}
.reservation-photo,.reservation-shade{position:absolute;inset:0;width:100%;height:100%}
.reservation-photo{object-fit:cover;object-position:center 52%;z-index:-2}
.reservation-shade{background:linear-gradient(180deg,#111612,transparent 32%),linear-gradient(0deg,var(--bg),transparent 34%),linear-gradient(90deg,#0b100fd9,#0b100f94 50%,#0b100fbf);z-index:-1}
.reservation-invite{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:390px;padding-top:36px;padding-bottom:32px;text-align:center}
.reservation-invite h2{font-family:Manrope,sans-serif;font-size:clamp(3.6rem,4.2vw,5.4rem);font-weight:650;line-height:1.06;letter-spacing:-.14rem;margin:15px 0 0}
.reservation-invite p{font-size:1rem;color:#d7dbcf;line-height:1.75;margin-top:17px;max-width:350px}
.reservation-invite .gold-button{font-size:1rem;border-radius:8px;padding:13px 25px;min-height:48px;margin-top:22px}
.service-hours{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--gold);font-size:.9375rem;line-height:1.5;margin-top:18px}
.service-hours svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none;flex-shrink:0}
.reservation-caption{position:absolute;bottom:15px;right:4%;color:#c5c9bd;font-size:.625rem}
.hero-caption,.experience-photo>span,.reservation-caption{right:max(var(--home-caption-gutter),calc((100% - var(--shell-width))/2 + var(--home-caption-gutter)));max-width:calc(100% - 2 * var(--home-caption-gutter))}
.landing-page .brand-footer{padding-top:20px;margin-top:16px}

@media(max-width:1000px){
 .hero-content{padding-left:5%;padding-right:5%}
 .home-section{padding-top:34px;padding-bottom:30px}
 .home-dishes{gap:14px}
 .home-dish-copy{padding:18px}
 .experience-inner{min-height:410px;padding-top:34px;padding-bottom:34px}
 .experience-copy{width:55%}
}
@media(max-width:760px){
 .home-hero{height:auto;min-height:344px;max-height:none;align-items:flex-end}
 .hero-photo{object-position:67% 50%}
 .hero-shade{background:linear-gradient(0deg,#080c0b8c,#080c0b6b 42%,#080c0b16 85%)}
 .hero-content{padding:96px 24px 20px}
 .hero-content h1{font-size:clamp(3.4rem,6.5vw,4.6rem);letter-spacing:-.12rem;margin:15px 0}
 .hero-content .eyebrow{font-size:1rem;letter-spacing:.12rem}
 .hero-actions{margin-top:20px;gap:10px}
 .hero-actions .gold-button,.outline-button{font-size:.9375rem;padding:13px 19px}
 .hero-caption{display:none}
 .home-section{padding-top:28px;padding-bottom:26px}
 .home-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}
 .home-heading h2{font-size:2.8rem;letter-spacing:-.08rem}
 .home-heading>.text-link{min-height:44px}
 .home-dishes{grid-template-columns:1fr;gap:16px}
 .home-dish-image{aspect-ratio:1.65}
 .home-dish-copy{padding:18px 20px}
 .home-dish-copy h3{font-size:1.65rem;margin:10px 0 16px}
 .home-dish-copy h3 br{display:none}
 .experience-copy h2{font-size:3rem}
 .reservation-invite{min-height:348px;padding-top:22px;padding-bottom:28px}
 .reservation-invite h2{font-size:4rem}
 .reservation-caption{display:none}
 .landing-page .brand-footer{padding-top:18px;margin-top:12px}
}
@media(max-width:640px){
 .home-hero{min-height:334px}
 .hero-content{padding-top:78px;padding-bottom:18px}
 .experience-inner{min-height:480px;padding:210px 24px 30px;align-items:flex-end}
 .experience-copy{width:100%;max-width:none}
 .experience-copy h2{font-size:3rem}
 .experience-copy p{max-width:none;margin-top:14px}
 .experience-copy .text-link{margin-top:18px}
 .experience-photo{inset:0;width:100%}
 .experience-photo img{object-position:64% top}
 .experience-photo::after{background:linear-gradient(0deg,#111612,#111612f5 37%,#111612b8 65%,#11161215 96%)}
 .experience-photo>span{display:none}
 .reservation-invite{min-height:348px;padding:20px 24px 28px}
 .reservation-invite h2{font-size:3.8rem}
 .reservation-invite .gold-button{max-width:100%;padding-inline:22px}
 .reservation-photo{object-position:42% center}
}
@media(max-width:360px){
 .hero-content{padding-inline:20px}
 .hero-content h1{font-size:3.4rem}
 .hero-actions{gap:8px}
 .hero-actions .gold-button,.hero-actions .outline-button{padding-inline:15px;font-size:.875rem}
 .experience-inner{padding-inline:20px}
 .experience-copy h2,.home-heading h2{font-size:2.7rem}
 .reservation-invite h2{font-size:3.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-dish,.home-dish img{transition:none}}

/* The menu uses a plain dark surface and compact rectangular links. */
.menu-preview{color:var(--text);background:var(--bg)}
.menu-preview-inner{position:relative;display:grid;gap:18px;padding-top:28px;padding-bottom:24px}
.menu-preview .home-heading{display:flex;align-items:center;flex-direction:row;justify-content:space-between;gap:20px;margin:0}
.menu-preview .home-heading .eyebrow{color:var(--gold)}
.menu-preview .home-heading h2{font-size:3rem;line-height:1.1;letter-spacing:-.08rem;margin-top:8px}
.menu-preview .home-heading h2 em{color:var(--gold)}
.menu-preview .home-heading .text-link{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;padding:6px 0;font-size:1rem;color:var(--gold);border-color:var(--gold)}
.menu-preview .home-dishes{display:grid;grid-template-columns:repeat(var(--featured-columns,3),minmax(0,1fr));gap:12px;width:100%;overflow:visible}
.menu-preview .home-dish{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:12px;min-height:90px;border:1px solid var(--line);border-radius:6px;background:#10131050;color:var(--text);overflow:visible}
.menu-preview .home-dish>img{width:64px;height:64px;object-fit:cover;border-radius:5px}
.menu-preview .home-dish-copy{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0;background:none}
.menu-preview .home-dish-copy .eyebrow{font-size:.75rem;color:var(--gold);letter-spacing:.08rem;line-height:1.4;overflow-wrap:anywhere}
.menu-preview .home-dish-copy strong{font-size:1.2rem;font-weight:550;line-height:1.4;overflow-wrap:anywhere}
.menu-preview .home-dish:hover{border-color:var(--gold);transform:none}
.menu-preview a:focus-visible{outline-color:var(--gold)}
.menu-preview .photo-note{margin:0;font-size:.7rem;color:#c1c6b8}
.hero-content h1{text-shadow:0 2px 15px #0004}
.landing-page .reservation-section{border-bottom:0}
@media(max-width:900px){.menu-preview .home-dish{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:10px;min-height:78px}.menu-preview .home-dish>img{width:56px;height:56px}.menu-preview .home-dish-copy strong{font-size:1.15rem}}
@media(max-width:760px){.menu-preview-inner{padding-top:12px;padding-bottom:22px;gap:14px}.menu-preview .home-heading h2{font-size:2.8rem}.menu-preview .home-dishes{grid-template-columns:1fr;gap:8px}.menu-preview .home-dish{grid-template-columns:48px minmax(0,1fr);min-height:72px;padding:10px 12px;gap:14px}.menu-preview .home-dish>img{width:48px;height:48px}.menu-preview .home-dish-copy strong{font-size:1.2rem}}
@media(max-width:480px){.menu-preview .home-heading{gap:16px}.menu-preview .home-heading h2{font-size:2.4rem}.menu-preview .home-heading .text-link{font-size:.875rem}}

.hero-actions .gold-button,.hero-actions .outline-button{min-height:40px;padding-block:9px}
@media(max-width:600px){.landing-page .brand-footer .footer-bottom>span:first-child{text-align:center}}

.home-restaurants{background:var(--bg)}
.home-restaurants-inner{padding-top:36px;padding-bottom:40px}
.home-restaurants .home-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}
:is(.home-restaurants .home-heading,.menu-preview .home-heading,.experience-copy)>.eyebrow,.home-restaurants .home-heading .eyebrow,.menu-preview .home-heading .eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.14rem}
:is(.home-restaurants .home-heading,.menu-preview .home-heading,.experience-copy) .eyebrow::before{content:"";width:22px;height:1px;flex:none;background:var(--gold)}
.home-restaurants .home-heading h2{font-size:clamp(2.7rem,3vw,3.8rem);letter-spacing:-.09rem;margin-top:12px}
.home-restaurants .home-heading em{font-style:normal;color:var(--gold)}
.home-restaurants .home-heading>p{max-width:none;color:var(--muted);font-size:1rem;line-height:1.7}
/* The widest natural card sets a shared width; long content wraps at the screen limit. */
.home-restaurants-grid{--restaurant-card-limit:min(210px,calc(100vw - 2 * max(var(--page-gutter),var(--safe-left),var(--safe-right))));display:flex;gap:8px;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:3px 0 4px;scrollbar-width:none}
.home-restaurants-grid::-webkit-scrollbar{display:none;width:0;height:0}
.home-restaurants-grid:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.home-restaurant{--restaurant-card-font:10px;position:relative;isolation:isolate;display:flex;flex:0 0 auto;flex-direction:column;width:var(--restaurant-card-width,max-content);min-width:min(140px,var(--restaurant-card-limit));max-width:var(--restaurant-card-limit);min-height:0;padding:8px;border:1px solid #dec48b40;border-radius:10px;background:transparent;gap:6px;text-align:center;overflow:hidden;overflow-wrap:anywhere;scroll-snap-align:start;font:500 var(--restaurant-card-font)/1.4 Manrope,sans-serif;transition:border-color .2s}
.home-restaurant-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.home-restaurant.has-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#080d0bd9,#080d0b9c 35%,#080d0beb);pointer-events:none}
.home-restaurant>:not(.home-restaurant-photo){position:relative;z-index:2}
.home-restaurant-logo{contain:inline-size}
.home-restaurant h3{display:flex;align-items:center;justify-content:center;min-width:0;margin:0;padding-bottom:4px;border-bottom:1px solid #dec48b35;font:750 var(--restaurant-card-font)/1.5 Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.home-restaurant-details{display:flex;flex-direction:column;gap:4px;width:100%;margin:0}
.restaurant-detail{min-width:0;font-size:var(--restaurant-card-font);line-height:1.4}
.restaurant-detail dt,.restaurant-detail dd{min-width:0;margin:0;overflow-wrap:anywhere}
.home-restaurant-hours dt,.home-restaurant-location dt,.home-restaurant-info dt{padding:1px 6px;background:var(--gold);color:var(--bg);border-radius:8px 3px 0 0;font-weight:700;letter-spacing:.12em}
.home-restaurant-hours dd,.home-restaurant-info dd{padding:4px 6px;border-radius:0 0 8px 3px;background:#f8f5edf2;color:var(--bg);font:650 var(--restaurant-card-font)/1.4 Manrope,sans-serif;white-space:pre-line}
.home-restaurant-info dd{font-weight:500}
.home-restaurant-phone dt,.restaurants-carousel-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-restaurant-phone dd{border-radius:8px 3px;background:var(--gold);color:var(--bg)}
.home-restaurant-call{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:22px;max-width:100%;padding:3px 6px;color:var(--bg)}
.home-restaurant-call svg,.home-restaurant-map svg{flex:none;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.home-restaurant-location{padding:0;border-radius:8px 3px;background:#f8f5edf2;color:var(--bg);overflow:hidden}
.home-restaurant-location dt{margin-bottom:0;font-size:var(--restaurant-card-font);text-transform:uppercase}
.home-restaurant-location dd{padding:4px 6px}
.home-restaurant-location address{font-style:normal;white-space:pre-line}
.home-restaurant-map{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:32px;white-space:normal}
.home-restaurant-map>span{white-space:pre-line}
.home-restaurant-map small{display:flex;align-items:center;gap:5px;font-size:var(--restaurant-card-font);font-weight:600}
.home-restaurant-map:focus-visible{outline-color:var(--bg)}
.home-restaurant-info{padding:0;border-radius:8px 3px;background:#f8f5edf2;color:var(--bg);overflow:hidden}
.home-restaurant-logo{margin:0 0 -4px;padding:0;font:800 14px/1.1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--text)}
.home-restaurant-logo span{color:var(--gold)}
@media(hover:hover){.home-restaurant:hover{border-color:#dec48b70}.home-restaurant-call:hover,.home-restaurant-map:hover small{text-decoration:underline;text-underline-offset:4px}}
.restaurants-status{font-size:1rem;line-height:1.7;color:var(--muted)}
.restaurants-status .outline-button{display:block;margin-top:12px;border-radius:8px}
/* The mobile scroll viewport fits two adjacent cards; its ends keep the last pair together. */
@media(max-width:760px){.home-restaurants-inner{padding-top:16px;padding-bottom:18px}.home-restaurants .home-heading{margin-bottom:20px}.home-restaurants-grid{--restaurant-card-limit:min(210px,calc((100% - 8px)/2));width:min(100%,calc(2 * var(--restaurant-card-width,210px) + 8px));margin-inline:auto;scroll-snap-type:x proximity}.home-restaurants-grid.is-single{--restaurant-card-limit:min(210px,100%);width:100%}}
@media(prefers-reduced-motion:reduce){.home-restaurant{transition:none}}

.home-restaurant-amenities{--restaurant-amenity-size:22px;--restaurant-amenity-gap:2px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--restaurant-amenity-gap);list-style:none;margin:0;padding:4px 0 0;border-top:1px solid #dec48b35}
.home-restaurant-amenities li{flex:0 0 var(--restaurant-amenity-size);margin:0;padding:0}
.home-restaurant-amenities span{display:grid;place-items:center;width:var(--restaurant-amenity-size);height:var(--restaurant-amenity-size);color:var(--gold)}
.home-restaurant-amenities svg{display:block;width:18px;height:18px}
.home-restaurant-amenities span.restaurant-amenity-wallet svg{width:22px}

/* Match the short rule beside La carte without underlining the link. */
.menu-preview .home-heading>.text-link{border:0;text-decoration:none;gap:9px;white-space:nowrap}
.menu-preview .home-heading>.text-link::before{content:"";width:22px;height:1px;flex:none;background:var(--gold)}
.menu-preview .home-heading>div{min-width:0}

/* Centre the background photo and blend both sides into the page. */
.home-hero,.reservation-section{background:var(--bg)}
.hero-photo,.reservation-photo{inset:0 auto 0 50%;width:min(94%,1100px);object-position:center;transform:translateX(-50%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
@media(min-width:761px){.hero-photo,.reservation-photo{width:min(96%,1320px)}}
