.home-hero{position:relative;isolation:isolate;min-height:min(980px,100svh);overflow:hidden;padding-top:clamp(155px,20svh,220px);padding-bottom:225px;display:flex;align-items:center}.home-hero-image{position:absolute;inset:0 0 0 30%;z-index:-3;overflow:hidden}.home-hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% 52%;filter:brightness(.67);transform:scale(1.08)}.home-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111410 0%,#111410f5 24%,#11141094 49%,#11141010 80%),linear-gradient(0deg,#111410 0%,#11141000 35%,#11141000 70%,#11141055 100%)}.home-hero-copy{position:relative;z-index:2}.home-hero-copy .eyebrow{margin-bottom:24px}.home-hero h1{font-family:'Cinzel',Georgia,serif;font-size:clamp(66px,7.4vw,115px);font-weight:400;line-height:.99;letter-spacing:-.065em;max-width:720px;color:var(--gold)}.home-hero h1>span{display:block;font-variant:small-caps}.home-hero h1 b{font-size:1.12em;font-weight:400}.title-dot{color:var(--gold)}.home-hero-intro{font-size:14px;line-height:1.8;color:#d2d2c5;margin-top:28px}.home-menu-button{margin-top:28px;border-color:#d7c19860;min-width:205px;border-radius:6px;font-size:11px;background:#11141025}.hero-photo-note{position:absolute;right:6vw;bottom:260px;font:italic 29px/1.1 var(--serif);color:#f3eee3e0}.hero-photo-note span{display:block;font:500 8px/1.6 var(--sans);letter-spacing:.18em;margin-bottom:12px;color:var(--gold)}.hero-food-reel{position:absolute;bottom:56px;left:0;width:100%;z-index:3}.food-reel-window{overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.food-reel-window::-webkit-scrollbar{display:none}.food-reel-track{display:flex;gap:20px;width:max-content;padding-inline:20px}.hero-food-card{width:190px;flex-shrink:0;overflow:hidden;border-radius:10px}.hero-food-card img{width:100%;height:116px;object-fit:cover;opacity:.55;filter:brightness(.74) saturate(.72);transition:opacity .3s}.hero-food-card:hover img{opacity:.8}.home-hero-bottom{position:absolute;bottom:0;left:5vw;right:5vw;height:48px;border-top:1px solid #ceb07418;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.22em;color:#cbc5b6}.home-hero-bottom a{display:grid;place-items:center;height:44px;width:44px}.home-hero-bottom svg{width:16px;height:16px}
.home-menu{background:var(--surface);color:var(--cream);padding:95px 0 56px}.home-menu .eyebrow{color:var(--gold)}.home-section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.home-section-top .eyebrow{margin-bottom:18px}.home-menu .section-heading em{color:var(--gold)}.home-menu-caption{max-width:290px;font-size:12px;color:var(--muted)}.home-menu-caption .text-link{margin-top:11px;color:var(--cream);border-color:var(--line)}.meal-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:25px;scrollbar-width:none}.meal-carousel::-webkit-scrollbar{display:none}.meal-slide{flex:0 0 calc((100% - 50px)/3);min-width:0;scroll-snap-align:start}.meal-photo{display:block;position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/3;background:var(--bg)}.meal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s;filter:saturate(.86)}.meal-photo:hover img{transform:scale(1.045);filter:saturate(1)}.meal-photo-arrow{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;border-radius:50%;width:36px;height:36px;color:var(--cream);background:#141913b0;backdrop-filter:blur(10px);font-size:23px;transition:transform .4s}.meal-photo:hover .meal-photo-arrow{transform:rotate(45deg)}.meal-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:23px}.meal-title h3{font-size:30px;letter-spacing:-.025em}.meal-title>span{font-size:11px;color:var(--gold);white-space:nowrap}.meal-slide>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:12px;font-size:11px;line-height:1.7;color:var(--muted)}.meal-controls{display:flex;align-items:center;gap:26px;margin-top:28px}.meal-count{font-size:11px;letter-spacing:.05em;min-width:44px}.meal-count span{color:var(--muted)}.meal-progress{height:1px;background:var(--line);flex:1}.meal-progress span{display:block;width:100%;height:1px;background:var(--gold);transform-origin:left;transform:scaleX(.5)}.meal-arrows{display:flex;gap:10px}.home-menu .icon-button{border-color:var(--line);color:var(--cream)}.home-menu .icon-button:hover{background:#ceb07412}
.home-booking{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:110px;padding-bottom:110px;align-items:center}.booking-photo{height:640px;position:relative;overflow:hidden;border-radius:160px 160px 14px 14px}.booking-photo>img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.booking-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0c110adb)}.booking-photo figcaption{position:absolute;z-index:1;bottom:45px;left:40px}.booking-photo figcaption>span:last-child{display:block;font:42px/1.05 var(--serif);margin-top:14px}.booking-photo figcaption em{color:var(--gold)}.booking-copy>.eyebrow{margin-bottom:20px}.booking-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:350px;margin-top:24px}.reservation-start{margin-top:35px}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reservation-fields label:last-child{grid-column:1/-1}.reservation-fields label{font-size:10px;color:var(--muted)}.reservation-fields input,.reservation-fields select{margin-top:8px;font-size:12px}.reservation-start>.button{width:100%;margin-top:22px;justify-content:space-between}.reservation-start .form-note{font-size:10px;margin-top:13px;max-width:350px}.booking-event-link{display:block;font-size:10px;color:#8f9688;margin-top:35px;padding-top:22px;border-top:1px solid var(--line)}.booking-event-link span{color:var(--gold);margin-left:8px;white-space:nowrap}.home-story{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;padding-top:65px;padding-bottom:150px;border-top:1px solid var(--line);align-items:center}.story-copy>.eyebrow{margin-bottom:22px}.story-copy>.section-heading{font-size:clamp(40px,4.6vw,66px)}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);max-width:410px;margin-top:26px}.story-copy>p+p:not(.eyebrow){margin-top:15px}.story-copy .text-link{margin-top:24px;color:var(--gold)}.story-photos{position:relative;height:570px;padding-left:20%}.story-culture{height:470px;border-radius:12px 130px 12px 12px;overflow:hidden}.story-culture img{width:100%;height:100%;object-fit:cover}.story-kitchen{position:absolute;bottom:0;left:0;width:45%;padding:9px;background:var(--bg);border-radius:90px 90px 4px 4px}.story-kitchen img{border-radius:80px 80px 4px 4px;aspect-ratio:3/4;object-fit:cover}.story-kitchen figcaption{font-size:7px;color:var(--gold);letter-spacing:.13em;margin-top:12px;text-align:center}.story-photo-line{position:absolute;inset:25px 25px 70px 30%;border:1px solid #ceb07435;border-radius:12px 120px 12px 12px;z-index:-1}
#reservation-dialog{width:510px}.reservation-sheet{padding:32px}.reservation-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.reservation-sheet h2{font-size:48px;margin-top:15px}.reservation-sheet h2 em{color:var(--gold)}.reservation-summary{padding:14px 17px;background:#ceb0740c;border-radius:10px;margin:20px 0;font-size:12px;color:var(--gold)}.reservation-sheet form{display:grid;gap:17px}.reservation-sheet label{font-size:11px;color:var(--muted)}.reservation-sheet label span{font-size:10px}.reservation-sheet input,.reservation-sheet textarea{margin-top:7px}.reservation-sheet .form-note{font-size:10px}
@media(min-width:1600px){.home-hero-copy{width:100%}.home-hero-image{left:35%}.hero-food-card{width:235px}.hero-food-card img{height:123px}}
@media(max-width:1100px){.home-booking{gap:6%}.booking-photo{height:570px}.story-photos{height:480px}.story-culture{height:400px}.hero-photo-note{right:5vw;font-size:24px}.home-hero h1{font-size:clamp(64px,8.5vw,100px)}.home-menu-caption{max-width:255px}.meal-title h3{font-size:26px}}
@media(max-width:760px){.home-hero{min-height:100svh;padding-top:135px;padding-bottom:190px;align-items:center}.home-hero-image{inset:0 0 0 0}.home-hero-image img{object-position:65% center;filter:brightness(.65);transform:scale(1.08)}.home-hero-shade{background:linear-gradient(90deg,#111410dd,#11141088 52%,#11141033),linear-gradient(0deg,#111410 2%,#111410aa 24%,#11141000 60%,#11141044)}.home-hero-copy .eyebrow{font-size:8px;letter-spacing:.2em;margin-bottom:23px}.home-hero h1{font-size:clamp(59px,16.8vw,97px);line-height:1.07;letter-spacing:-.06em}.home-hero-intro{font-size:13px;line-height:1.8;margin-top:25px;color:#deded1}.home-menu-button{margin-top:25px;min-width:188px;font-size:10px;min-height:44px}.hero-photo-note{display:none}.hero-food-reel{bottom:53px}.food-reel-track{gap:12px;padding-inline:12px}.hero-food-card{width:137px;border-radius:9px}.hero-food-card img{height:88px;opacity:.5;filter:brightness(.72) saturate(.7)}.home-hero-bottom{left:22px;right:22px;font-size:7px;letter-spacing:.14em;height:42px}.home-menu{padding:58px 0 35px}.home-section-top{display:block;margin-bottom:28px}.home-section-top .eyebrow{margin-bottom:12px}.home-menu .section-heading{font-size:45px;white-space:normal}.home-menu-caption{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.home-menu-caption>p{font-size:10px;max-width:180px}.home-menu-caption .text-link{font-size:10px;margin-top:0;gap:12px;flex-shrink:0}.home-menu-caption .text-link svg{width:15px;height:15px}.home-menu-caption>p{display:none}.meal-carousel{margin-right:-22px;padding-right:22px;gap:16px}.meal-slide{flex-basis:84%}.meal-photo{border-radius:14px}.meal-title{margin-top:18px}.meal-title h3{font-size:28px}.meal-title>span{font-size:11px}.meal-slide>p{font-size:11px;line-height:1.65;margin-top:9px}.meal-controls{gap:20px;margin-top:25px}.meal-arrows .icon-button{width:38px;height:38px}.home-booking{grid-template-columns:1fr;gap:34px;padding-top:60px;padding-bottom:60px}.booking-photo{height:360px;border-radius:130px 130px 12px 12px}.booking-photo figcaption{left:27px;bottom:27px}.booking-photo figcaption>span:last-child{font-size:33px}.booking-photo figcaption .eyebrow{font-size:8px}.booking-copy>.eyebrow{margin-bottom:14px}.booking-copy .section-heading{font-size:52px}.booking-copy .section-heading br{display:none}.booking-copy>p:not(.eyebrow){font-size:12px;margin-top:18px;max-width:none}.reservation-start{margin-top:24px}.reservation-fields{grid-template-columns:1fr;gap:12px}.reservation-fields input,.reservation-fields select{font-size:16px;min-width:0;padding-inline:12px}.reservation-fields label{font-size:10px}.reservation-start .button{margin-top:20px;font-size:11px}.booking-event-link{margin-top:27px;font-size:10px;line-height:1.9}.booking-event-link span{margin-left:0;display:block}.home-story{grid-template-columns:1fr;gap:35px;padding-top:48px;padding-bottom:70px}.story-copy>.section-heading{font-size:43px}.story-copy>p:not(.eyebrow){font-size:12px;max-width:none;margin-top:22px}.story-copy>.eyebrow{margin-bottom:14px}.story-copy .text-link{margin-top:18px;font-size:11px}.story-photos{height:415px;max-width:430px;width:100%;margin:auto}.story-culture{height:345px}.story-kitchen{width:44%}.story-kitchen figcaption{font-size:6px}.reservation-sheet{padding:23px}.reservation-sheet h2{font-size:40px}.reservation-sheet-top .eyebrow{font-size:8px}.reservation-sheet-top .icon-button{width:36px;height:36px}#reservation-dialog{max-width:100%;width:100%;max-height:88svh;position:fixed;margin:auto 0 0;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom);border-bottom:0}.reservation-sheet .button{font-size:12px}}
@media(max-height:740px) and (min-width:761px){.home-hero{padding-top:120px;padding-bottom:195px;min-height:740px}.home-hero h1{font-size:80px}.home-hero-intro{margin-top:22px}.home-menu-button{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.home-hero-image img{transform:none}}
/* Comfortable reading sizes on large screens. */
@media(min-width:761px){.home-hero-intro{font-size:15px}.home-menu-button{font-size:12px}.home-menu-caption{font-size:13px}.meal-slide>p{font-size:13px}.meal-title>span{font-size:12px}.booking-copy>p:not(.eyebrow),.story-copy>p:not(.eyebrow){font-size:14px}.reservation-fields label{font-size:12px}.reservation-fields input,.reservation-fields select{font-size:14px}.reservation-start .form-note,.booking-event-link{font-size:11px}}
@media(max-width:760px){.home-hero{padding-bottom:270px}.hero-food-reel{bottom:135px}.home-hero-bottom{bottom:89px}}
