/* WHITEFIELD UNION — Signature Edition
   A restrained black / bronze / warm-ivory hospitality design system.
   Intentionally layered over the original stylesheet to preserve all pages. */
:root{
 --gold:#cb9652;
 --gold-2:#edc58d;
 --cream:#f4eee4;
 --muted:#b9afa0;
 --line:rgba(219,170,104,.27);
 --radius:2px;
}
html{scroll-padding-top:86px}
body{background:#0a0908}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #f1c78d;outline-offset:5px}
::selection{background:#c5945b;color:#090806}
.noise{opacity:.025}
.site-header{height:92px;padding-inline:clamp(20px,4.2vw,84px);border-bottom:1px solid rgba(255,255,255,.12)}
.site-header.scrolled{background:rgba(10,9,8,.91);border-color:rgba(209,164,102,.22);backdrop-filter:blur(26px)}
.brand{gap:12px;min-width:220px}
.brand-mark{width:38px;height:38px;border-color:rgba(233,203,155,.4)}
.brand-type small{font-family:var(--serif-soft);font-size:15px;letter-spacing:.035em}
.brand-type strong{font-size:29px;line-height:.85;letter-spacing:-.055em}
.main-nav{gap:clamp(22px,2.7vw,48px)}
.main-nav a{font-size:10px;letter-spacing:.2em}
.header-actions .btn{font-size:9px;min-height:45px;padding-inline:19px}
.btn{border-radius:0;position:relative;overflow:hidden;font-size:10px;letter-spacing:.18em;min-height:56px}
.btn-fill{background:#d3a468;border-color:#d3a468;color:#0a0805}
.btn-fill:hover{background:#f2cca1;border-color:#f2cca1}
.line-link{transition:color .25s ease,border-color .25s ease}
.line-link:hover{color:#fff;border-color:#fff}
.page-progress{height:2px}
.preloader{background:#080705}
.preloader-mark{width:72px;height:72px;border-color:#d3a46855}
.preloader-inner p{letter-spacing:.075em}

/* A distinctive photographic, editorial landing composition. */
.luxe-hero{min-height:100svh;isolation:isolate;align-items:stretch;background:#080807}
.luxe-hero .hero-media{inset:-4%;background-position:center 46%;filter:saturate(.65) contrast(1.12) brightness(.7)}
.luxe-hero .hero-media::before{background:linear-gradient(90deg,rgba(7,7,6,.96) 0%,rgba(9,8,7,.89) 40%,rgba(9,8,7,.43) 80%,rgba(8,7,6,.78)),linear-gradient(0deg,rgba(7,7,6,.98),transparent 45%,rgba(7,7,6,.3))}
.luxe-hero .hero-media::after{background:radial-gradient(circle at 75% 35%,rgba(206,141,75,.2),transparent 38%)}
.luxe-hero-grain{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(130deg,transparent 30%,rgba(221,163,99,.045) 60%,transparent 80%)}
.luxe-sideword{position:absolute;z-index:2;left:clamp(16px,2.1vw,42px);top:50%;color:rgba(233,192,136,.72);font-size:8px;letter-spacing:.32em;white-space:nowrap;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.luxe-hero .hero-grid{width:100%;max-width:1660px;min-height:100svh;padding:clamp(145px,14vh,205px) clamp(64px,8vw,140px) clamp(108px,11vh,140px);grid-template-columns:minmax(0,1.3fr) minmax(310px,.55fr);gap:clamp(25px,5vw,85px);align-items:center}
.luxe-hero .hero-title-wrap{position:relative;z-index:2;max-width:none}
.luxe-hero .hero-overline{font-size:10px;letter-spacing:.21em;gap:16px;margin-bottom:clamp(26px,4vw,58px);color:#e0d0bc}
.luxe-hero .hero-overline i{width:31px}
.gold-bullet{display:inline-block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#e7b475;box-shadow:0 0 0 5px rgba(226,175,104,.1)}
.luxe-hero h1{font-size:clamp(78px,9.5vw,165px);line-height:.87;letter-spacing:-.072em;max-width:100%;text-wrap:normal}
.luxe-hero h1 .line{overflow:visible;padding-bottom:.06em;white-space:nowrap}
.luxe-hero h1 .hero-second{margin-left:clamp(0px,3.3vw,55px)}
.luxe-hero h1 em{font-family:var(--serif-soft);font-weight:500;font-size:.92em;letter-spacing:-.075em;color:#f0c790;line-height:.75}
.hero-tagline{max-width:460px;font-family:var(--serif-soft);font-size:clamp(23px,2.3vw,34px);line-height:1.2;color:#d1c5b5;margin:clamp(22px,3.3vw,48px) 0 28px}
.hero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(18px,3vw,42px)}
.hero-text-link{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#f1d3ad;border-bottom:1px solid rgba(225,177,105,.48);padding:10px 0;white-space:nowrap}
.hero-text-link span{margin-left:8px}
.hero-text-link:hover{color:#fff}
.hero-bottom-line{display:flex;gap:18px;align-items:center;margin-top:clamp(42px,7vw,110px);max-width:440px;font-size:8px;letter-spacing:.24em;color:#9e8b75}
.hero-bottom-line::before{content:"";display:block;width:48px;height:1px;background:#b58851}
.hero-bottom-line span:last-child{margin-left:auto;color:#d2a167}
.luxe-hero .hero-side{position:relative;border:0;padding:0;max-width:390px;width:100%;justify-self:end;align-self:center;margin-top:16px}
.hero-side-visual{position:relative;width:100%;aspect-ratio:3/4.05;max-height:610px;isolation:isolate;border:1px solid rgba(219,170,104,.55);padding:11px;box-shadow:0 40px 80px rgba(0,0,0,.3)}
.hero-side-visual::before{content:"";position:absolute;inset:11px;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.32),transparent 22%,transparent 62%,rgba(0,0,0,.75));pointer-events:none}
.hero-side-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05) brightness(.85);transition:transform 1s ease,filter 1s ease}
.hero-side-visual:hover img{transform:scale(1.015);filter:saturate(.95) brightness(1)}
.hero-side-visual .visual-arc{position:absolute;left:-25px;top:-25px;width:100px;height:100px;border-left:1px solid #c99d68;border-top:1px solid #c99d68;z-index:3;pointer-events:none}
.visual-image-tag{position:absolute;z-index:3;bottom:28px;left:28px;color:#fff;font-size:9px;letter-spacing:.24em}
.hero-side-note{display:grid;grid-template-columns:1fr 36px;gap:6px 14px;padding:20px 2px 0}
.hero-side-note>span{grid-column:1/-1;font-size:9px;letter-spacing:.2em;color:#d9af7e}
.hero-side-note p{margin:0;font-family:var(--serif-soft);font-size:clamp(21px,2vw,27px);line-height:1.12;color:#e2d7c6;max-width:290px}
.hero-side-note a{border:1px solid rgba(225,177,105,.45);display:grid;place-items:center;align-self:end;width:36px;height:36px;color:#f4d5ab;transition:background .2s}
.hero-side-note a:hover{background:rgba(225,177,105,.16)}
.hero-footrail{position:absolute;z-index:2;bottom:0;left:0;right:0;min-height:56px;border-top:1px solid rgba(235,210,175,.13);padding:0 clamp(48px,6vw,100px);display:flex;align-items:center;justify-content:space-between;color:#b5a18c;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.hero-footrail a{color:#f0cfaa}
.hero-footrail a span{font-size:17px;margin-left:11px}
.hero-footrail span:last-child{white-space:nowrap}
.luxe-hero>.hero-scroll,.luxe-hero>.hero-rail{display:none}

/* Section rhythm and warmer texture, across every page. */
.section-kicker{letter-spacing:.24em;font-size:9px}
.display,.display-md,.display-sm{letter-spacing:-.062em}
.experience-card{transition:background .4s,border-color .4s,transform .5s;transform-style:preserve-3d}
.experience-card:hover{background:rgba(220,171,107,.07)}
.experience-icon{color:#dfb57b}
.story{background:#0a0908}
.story-media{isolation:isolate}
.story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,4,3,.38),transparent 40%);pointer-events:none}
.story-copy{background:linear-gradient(135deg,#100f0d,#0b0a09)}
.story-copy .story-pills span{border-color:rgba(221,173,109,.25)}

/* A dramatic pause in warm paper, to break up the all-dark page. */
.editorial-overture{background:#d8c6a9;color:#241a13;padding:clamp(42px,5vw,85px) 0;position:relative;overflow:hidden}
.editorial-overture::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 105px,rgba(80,53,32,.042) 106px,transparent 107px)}
.editorial-overture .shell{position:relative;z-index:1}
.overture-top,.overture-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:9px;letter-spacing:.22em;font-weight:600;text-transform:uppercase}
.overture-top{padding-bottom:24px;border-bottom:1px solid rgba(65,42,28,.28)}
.overture-bottom{padding-top:24px;border-top:1px solid rgba(65,42,28,.28)}
.overture-bottom a{color:#503218;border-bottom:1px solid #70502f;padding-bottom:4px}
.overture-message{padding:clamp(60px,8vw,130px) 0 clamp(60px,8vw,120px);text-align:center;position:relative}
.overture-star{font-size:38px;color:#825b37;line-height:1}
.overture-message h2{font-family:var(--serif);font-weight:500;font-size:clamp(43px,7.3vw,112px);letter-spacing:-.075em;line-height:.96;margin:22px 0 24px}
.overture-message h2 em{font-weight:500;font-family:var(--serif-soft);color:#76502e}
.overture-message p{font-family:var(--serif-soft);font-size:clamp(22px,2.2vw,34px);font-style:italic;line-height:1.1;margin:0;color:#694b34}

/* Three interactive chapters replace weak numeric counters. */
.ritual-section{background:linear-gradient(155deg,#0d0b09 0%,#15110e 75%,#0b0a08);padding:clamp(94px,10vw,156px) 0;overflow:hidden}
.ritual-heading{display:grid;grid-template-columns:1fr .5fr;gap:8vw;align-items:end;margin-bottom:clamp(42px,5vw,78px)}
.ritual-heading p{color:#a99b8a;max-width:320px;line-height:1.9;margin:0 0 12px;justify-self:end}
.ritual-layout{display:grid;grid-template-columns:1.04fr .96fr;min-height:620px;border:1px solid rgba(221,171,110,.24)}
.ritual-choices{display:flex;flex-direction:column;padding:clamp(22px,4vw,62px);min-width:0}
.ritual-choice{appearance:none;border:0;border-bottom:1px solid rgba(219,169,105,.2);background:transparent;padding:clamp(21px,2.5vw,36px) 0;display:grid;grid-template-columns:38px 1fr 25px;text-align:left;gap:12px;align-items:start;cursor:pointer;color:#8d8275;transition:color .32s,background .32s}
.ritual-choice:first-child{padding-top:8px}
.ritual-number{font-size:9px;letter-spacing:.17em;margin-top:12px;color:#ae8660}
.ritual-choice-main{display:flex;flex-direction:column;gap:11px}
.ritual-choice-main strong{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.3vw,52px);letter-spacing:-.065em;line-height:1.05}
.ritual-choice-main small{font-size:11px;color:#8c8072;letter-spacing:.035em;line-height:1.6}
.ritual-arrow{font-size:23px;line-height:1.3;opacity:.3;transition:opacity .3s,transform .3s}
.ritual-choice.is-active,.ritual-choice:hover{color:#f3e9da}
.ritual-choice.is-active .ritual-number{color:#ebbc7b}
.ritual-choice.is-active .ritual-choice-main small{color:#c6b7a5}
.ritual-choice.is-active .ritual-arrow{color:#edc58d;opacity:1;transform:rotate(0)}
.ritual-choice:hover .ritual-arrow{opacity:1;transform:translate(3px,-3px)}
.ritual-aside{margin-top:auto;padding-top:35px;display:flex;flex-wrap:wrap;gap:18px;align-items:end;justify-content:space-between}
.ritual-aside>span{font-size:8px;letter-spacing:.22em;color:#887461}
.ritual-aside .line-link{font-size:8px}
.ritual-visual{position:relative;min-width:0;min-height:620px;overflow:hidden;background:#19130e}
.ritual-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.085);filter:saturate(.72);transition:opacity .65s ease,transform 1.3s cubic-bezier(.2,.7,.2,1)}
.ritual-photo.is-active{opacity:1;transform:scale(1)}
.ritual-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 42%)}
.ritual-photo-caption{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:26px 30px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.21em;color:#f5e9d8;border-top:1px solid rgba(255,255,255,.17)}

/* Modern image-led menu teasers. */
.taste-section{padding:clamp(90px,10vw,150px) 0 0;background:#0d0b09}
.taste-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:clamp(38px,5vw,75px)}
.taste-heading .line-link{margin-bottom:6px}
.taste-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#1f1710;padding:2px}
.taste-card{position:relative;display:block;overflow:hidden;aspect-ratio:3/3.6;background:#1f1811}
.taste-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.83);transition:transform 1.15s cubic-bezier(.2,.7,.2,1),filter .7s}
.taste-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.83),transparent 46%,rgba(0,0,0,.07))}
.taste-card:hover img{transform:scale(1.065);filter:saturate(.95) brightness(.95)}
.taste-caption{position:absolute;z-index:1;inset:auto 0 0 0;padding:clamp(21px,3vw,50px);display:flex;align-items:end;gap:12px;flex-direction:column}
.taste-caption>span:first-child{align-self:start;color:#e5bb83;font-size:9px;letter-spacing:.23em}
.taste-caption strong{font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.8vw,61px);letter-spacing:-.07em;line-height:.92;align-self:start;max-width:285px}
.taste-circle{position:absolute;right:clamp(21px,3vw,50px);bottom:clamp(21px,3vw,50px);border:1px solid rgba(240,219,189,.5);width:40px;height:40px;display:grid;place-items:center;font-size:18px;color:#f4dfc4;transition:background .3s}
.taste-card:hover .taste-circle{background:#b98750;color:#080706}

/* Across inner pages: less flat, more like a luxury magazine. */
.page-hero{min-height:clamp(600px,78svh,850px);background:#090808}
.page-hero .hero-media{filter:saturate(.65) brightness(.7) contrast(1.12)}
.page-hero .hero-grid{max-width:1600px;padding-inline:clamp(28px,6vw,95px);padding-bottom:clamp(75px,9vw,130px)}
.page-hero h1{font-size:clamp(76px,10vw,160px);line-height:.8}
.page-hero .hero-overline{color:#e6be89}
.page-hero .hero-side{background:rgba(6,5,5,.25);border-color:rgba(225,186,127,.5)}
.page-hero::after{content:"";position:absolute;z-index:1;left:var(--pad);right:var(--pad);bottom:34px;height:1px;background:rgba(232,199,148,.18)}

/* A curated, interactive gallery rather than flyer cards alone. */
.gallery-filters{display:flex;flex-wrap:wrap;gap:6px;margin:clamp(35px,5vw,70px) 0 25px}
.gallery-filter{appearance:none;border:1px solid rgba(231,197,153,.24);background:transparent;padding:12px 18px;color:#baad9c;text-transform:uppercase;letter-spacing:.16em;font-size:9px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.gallery-filter span{font-size:8px;opacity:.6;margin-left:5px}
.gallery-filter:hover,.gallery-filter.is-active{color:#100c08;background:#d2a367;border-color:#d2a367}
.gallery-luxe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:14px;grid-auto-rows:auto;margin-top:0!important}
.gallery-luxe-grid .gallery-item,.gallery-luxe-grid .gallery-item:nth-child(n){grid-column:auto;grid-row:auto;width:auto;height:auto;min-height:0;aspect-ratio:3/3.65;overflow:hidden;background:#21190f;display:block}
.gallery-luxe-grid .gallery-item:first-child{grid-column:span 2;aspect-ratio:6/3.6}
.gallery-luxe-grid .gallery-item:nth-child(6){grid-column:span 2;aspect-ratio:6/3.5}
.gallery-luxe-grid .gallery-item.poster{aspect-ratio:3/3.65}
.gallery-luxe-grid .gallery-item img{object-fit:cover;width:100%;height:100%;filter:saturate(.75);transition:transform .8s ease,filter .8s}
.gallery-luxe-grid .gallery-item:hover img{transform:scale(1.055);filter:saturate(1)}
.gallery-luxe-grid .gallery-item.is-hidden{display:none!important}
.gallery-luxe-grid .gallery-item .caption{bottom:18px;left:18px;max-width:calc(100% - 36px)}
.gallery-luxe-grid .gallery-item::after{pointer-events:none}

/* User-friendly form controls: date is recognizably a date, not plain text. */
.reservation-card input,.reservation-card textarea,.reservation-card select{border-radius:0;min-height:52px}
.reservation-card input[type="date"]{color-scheme:light;cursor:pointer}
.reservation-card input[type="date"]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer}
.form-status a{display:inline-flex;margin-top:11px;text-decoration:underline;font-weight:700}
.form-status.success{color:#473016}
.form-status.error{color:#9c342a}
.site-footer{background:#090806}
.footer-bottom{color:#aa9a88}

/* Tablet: preserve impact without overlap. */
@media(max-width:1250px){
 .luxe-hero .hero-grid{padding-inline:clamp(38px,6vw,90px);grid-template-columns:minmax(0,1.2fr) minmax(260px,.67fr);gap:3vw}
 .luxe-hero h1{font-size:clamp(69px,8.3vw,117px)}
 .luxe-sideword{display:none}
 .hero-side-visual{max-height:480px}
 .ritual-choices{padding:34px}
 .ritual-choice-main strong{font-size:38px}
}
@media(max-width:900px){
 .site-header{height:76px;padding-inline:22px}
 .luxe-hero{min-height:0}
 .luxe-hero .hero-grid{min-height:100svh;grid-template-columns:minmax(0,1fr) minmax(225px,.74fr);align-items:center;padding:160px 32px 100px;gap:28px}
 .luxe-hero h1{font-size:clamp(57px,8.6vw,78px)}
 .hero-tagline{font-size:27px}
 .luxe-hero .hero-title-wrap{min-width:0}
 .hero-bottom-line{margin-top:44px}
 .hero-side-visual{max-height:430px}
 .hero-side-note p{font-size:21px}
 .hero-footrail{padding:0 26px}
 .ritual-layout{min-height:540px}
 .ritual-visual{min-height:540px}
 .ritual-heading{grid-template-columns:1fr .7fr}
 .ritual-choices{padding:25px}
 .ritual-choice{grid-template-columns:28px 1fr 19px;gap:7px}
 .ritual-choice-main strong{font-size:30px}
 .taste-caption strong{font-size:34px;max-width:200px}
 .gallery-luxe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-luxe-grid .gallery-item:first-child,.gallery-luxe-grid .gallery-item:nth-child(6){grid-column:span 2}
 .page-hero .hero-grid{padding-inline:28px}
 .page-hero h1{font-size:clamp(65px,9vw,95px)}
}
@media(max-width:640px){
 html{scroll-padding-top:68px}
 .site-header{height:70px;padding-inline:17px}
 .brand{min-width:0;gap:10px}
 .brand-mark{height:33px;width:33px}
 .brand-type small{font-size:12px}
 .brand-type strong{font-size:23px}
 .luxe-hero .hero-grid{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:125px 18px 82px;gap:42px;align-items:stretch}
 .luxe-hero .hero-overline{font-size:8px;letter-spacing:.12em;margin-bottom:32px;gap:10px;flex-wrap:wrap}
 .luxe-hero .hero-overline i{width:18px}
 .luxe-hero h1{font-size:clamp(55px,13.5vw,87px);line-height:.94;letter-spacing:-.074em}
 .luxe-hero h1 .line{white-space:normal;overflow:visible}
 .luxe-hero h1 .hero-second{margin-left:0}
 .luxe-hero h1 em{display:inline-block}
 .hero-tagline{font-size:clamp(24px,6.3vw,31px);margin:28px 0 21px;line-height:1.2;max-width:320px}
 .hero-ctas{gap:14px 22px}
 .hero-ctas .btn{min-height:53px;padding:0 16px;font-size:9px;gap:14px}
 .hero-text-link{font-size:9px;letter-spacing:.1em}
 .hero-bottom-line{margin-top:34px;font-size:8px;max-width:290px}
 .luxe-hero .hero-side{margin-top:0;width:min(100%,460px);max-width:none;align-self:center}
 .hero-side-visual{width:100%;aspect-ratio:1.1/1;max-height:340px;padding:8px}
 .hero-side-visual img{object-position:center 48%}
 .hero-side-visual .visual-arc{top:-13px;left:-13px;width:55px;height:55px}
 .visual-image-tag{bottom:20px;left:20px;font-size:8px}
 .hero-side-note{padding-top:16px}
 .hero-side-note p{font-size:24px}
 .hero-footrail{min-height:56px;padding-inline:18px;font-size:8px;letter-spacing:.12em}
 .hero-footrail>span:last-child{display:none}
 .luxe-hero .hero-media{inset:0;background-position:center;background-size:cover}
 .editorial-overture{padding:33px 0}
 .overture-top,.overture-bottom{font-size:7px;letter-spacing:.09em}
 .overture-top{align-items:flex-start}
 .overture-top span{max-width:48%}
 .overture-bottom a{max-width:58%;text-align:right}
 .overture-message{padding:65px 0 68px}
 .overture-message h2{font-size:clamp(41px,10.7vw,67px);line-height:.97}
 .overture-message p{font-size:23px}
 .overture-star{font-size:28px}
 .ritual-section{padding:81px 0 88px}
 .ritual-heading{grid-template-columns:1fr;gap:22px;margin-bottom:34px}
 .ritual-heading p{justify-self:start;line-height:1.6}
 .ritual-layout{display:flex;flex-direction:column;min-height:0}
 .ritual-choices{padding:22px 20px 18px}
 .ritual-choice{padding:17px 0;grid-template-columns:25px 1fr 17px}
 .ritual-choice-main{gap:5px}
 .ritual-choice-main strong{font-size:clamp(29px,8vw,40px)}
 .ritual-choice-main small{font-size:10px}
 .ritual-number{font-size:8px}
 .ritual-aside{gap:13px;padding:20px 0 2px}
 .ritual-aside .line-link{font-size:8px}
 .ritual-visual{min-height:0;height:410px;order:-1}
 .ritual-photo-caption{padding:18px 20px;font-size:8px}
 .taste-section{padding:82px 0 0}
 .taste-heading{display:block;margin-bottom:27px}
 .taste-heading .line-link{margin-top:26px}
 .taste-grid{grid-template-columns:1fr;gap:2px}
 .taste-card{aspect-ratio:1.17/1;max-height:440px}
 .taste-caption{padding:27px}
 .taste-caption strong{font-size:clamp(37px,10vw,54px);max-width:235px}
 .taste-circle{bottom:27px;right:27px}
 .page-hero{min-height:72svh}
 .page-hero .hero-grid{padding:120px 18px 72px}
 .page-hero h1{font-size:clamp(55px,13.5vw,77px);line-height:.85}
 .page-hero::after{bottom:18px}
 .gallery-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:none;margin-top:36px;gap:7px}
 .gallery-filters::-webkit-scrollbar{display:none}
 .gallery-filter{flex:0 0 auto;padding:12px 14px;font-size:8px}
 .gallery-luxe-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .gallery-luxe-grid .gallery-item,.gallery-luxe-grid .gallery-item:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:3/4;min-height:0;height:auto}
 .gallery-luxe-grid .gallery-item:first-child,.gallery-luxe-grid .gallery-item:nth-child(6){grid-column:span 2;aspect-ratio:6/3.5}
 .gallery-luxe-grid .gallery-item.poster{aspect-ratio:3/4}
 .gallery-luxe-grid .gallery-item .caption{font-size:8px;left:12px;bottom:12px}
 .reservation-card{max-width:100%}
 .mobile-reserve{background:#d8a466;font-weight:600;left:10px;right:10px;bottom:10px;min-height:54px;box-shadow:0 12px 35px rgba(0,0,0,.45)}
 .site-footer{padding-bottom:70px}
}
@media(max-width:360px){
 .luxe-hero h1{font-size:52px}
 .hero-ctas{align-items:flex-start;flex-direction:column}
 .ritual-visual{height:330px}
 .hero-footrail{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
 .luxe-hero .hero-media,.ritual-photo,.taste-card img,.gallery-luxe-grid .gallery-item img{transition:none!important;animation:none!important}
 .ritual-photo:not(.is-active){visibility:hidden}
}
/* Lightbox controls live inside the existing accessible dialog. */
.luxe-lightbox-controls{position:absolute;bottom:clamp(18px,5vw,40px);left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:8px;opacity:0;pointer-events:none;transition:opacity .3s}
.lightbox.open .luxe-lightbox-controls{opacity:1;pointer-events:auto}
.luxe-lightbox-controls button{cursor:pointer;display:grid;place-items:center;width:47px;height:47px;background:#15110e;border:1px solid rgba(242,208,162,.6);color:#f2d2a6;font-size:23px;transition:background .25s}
.luxe-lightbox-controls button:hover{background:#6f4c2d}
@media(max-width:640px){.luxe-lightbox-controls{bottom:95px}.luxe-lightbox-controls button{width:42px;height:42px}}
