:root{color-scheme:light;--forest:#142d27;--forest-light:#1d3b32;--gold:#d9bd87;--paper:#fffdf9;--ink:#203b32;--muted:#637068;--line:#deded3;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--forest);color:var(--paper)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #a97531;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}p{line-height:1.65}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400}h2{font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.12;letter-spacing:-.035em}h2 em{color:#76603d}.wrap{padding-left:clamp(1.25rem,6vw,7rem);padding-right:clamp(1.25rem,6vw,7rem);max-width:1800px;margin-inline:auto}.header{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #ffffff1c}.brand{display:flex;align-items:center;flex-direction:column;flex-shrink:0}.brand span{font-size:.75rem;letter-spacing:.33em;padding-left:.33em}.brand strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:2.45rem;letter-spacing:-.05em;line-height:1.05}.header nav{display:flex;gap:2.1rem;font-size:.875rem;color:#e2e7df}.header nav a{padding:1rem 0}.header nav a:hover,.footer>a:last-child:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;min-height:54px;padding:1rem 1.4rem;font-size:.875rem;font-weight:600;line-height:1.35;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:1.25rem;font-weight:400}.button-outline{border:1px solid #ffffff65}.button-outline:hover{background:#ffffff0e}.button-gold{background:var(--gold);color:var(--forest)}.button-gold:hover{background:#e8cf9f}.hero{display:grid;grid-template-columns:1fr 1fr;padding-top:3.5rem;padding-bottom:3.5rem;gap:4rem;min-height:730px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding-block:1.5rem}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:600;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--gold);margin-bottom:2rem}.small-rule{width:1.65rem;height:1px;background:var(--gold)}h1{font-size:clamp(3.8rem,6.8vw,7rem);line-height:1.03;letter-spacing:-.05em;margin:0 0 1.5rem}h1 em{color:var(--gold)}.hero-description{max-width:22rem;color:#d5dfd7;font-size:1.0625rem;margin-bottom:2rem}.text-link{display:inline-flex;gap:1.8rem;align-items:center;padding-block:.55rem;border-bottom:1px solid currentColor;font-size:.875rem;font-weight:500;line-height:1.5}.text-link:hover{opacity:.8}.hero-link{margin-top:1rem;color:#d5dfd7}.hero-photo{position:relative;overflow:hidden;min-height:590px}.hero-photo img{position:absolute;inset:0;object-position:center}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#081a14bd);pointer-events:none}.hero-photo figcaption{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem}.hero-photo figcaption span:first-child{font-size:.75rem;letter-spacing:.16em}.welcome-strip{display:flex;justify-content:center;align-items:center;gap:3rem;padding:1.5rem 1.25rem;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;color:#d9bd87}.welcome-strip p{font-size:.875rem}.welcome-strip>span{font-size:.85rem}.cuisine,.visit{background:var(--paper);color:var(--ink)}.cuisine{padding-top:6.5rem;padding-bottom:6rem}.section-heading{display:grid;grid-template-columns:.65fr 1.6fr 1fr;align-items:start;gap:3rem;margin-bottom:3.5rem}.section-heading>.eyebrow{padding-top:.7rem;color:var(--muted)}.section-heading>p:last-child{padding-top:.7rem;color:var(--muted);max-width:24rem}.cuisine-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.food-photo{padding-right:1rem}.food-photo img{height:560px;object-position:center}.food-photo figcaption{font-size:.8125rem;color:var(--muted);padding-top:1rem}.course{display:flex;gap:1.5rem;padding:1.8rem 0;border-top:1px solid var(--line)}.course-number{font-size:.75rem;color:#76603d;padding-top:.5rem}.course h3{font-size:1.9rem;letter-spacing:-.03em;margin-bottom:.55rem}.course p{color:var(--muted);max-width:25rem}.dark-link{color:var(--ink);margin-top:.6rem}.small-note{font-size:.875rem;color:var(--muted);margin-top:.9rem;max-width:24rem}.occasion{background:var(--forest-light)}.occasion-grid{padding-top:5rem;padding-bottom:5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:center}.occasion .eyebrow{color:var(--gold);margin-bottom:1.5rem}.occasion h2 em{color:var(--gold)}.occasion p:not(.eyebrow){color:#d5dfd7;max-width:25rem;margin-top:1.5rem;margin-bottom:2rem}.occasion figure{height:430px}.visit{display:grid;grid-template-columns:.9fr .9fr 1.2fr;gap:3rem;padding-top:5.5rem;padding-bottom:5.5rem;align-items:start}.visit-intro .eyebrow{color:var(--muted);margin-bottom:1.5rem}.visit-intro p:last-child{color:var(--muted);margin-top:1.4rem}.visit-details{padding-top:2.6rem}.detail+.detail{margin-top:2rem}.detail h3{font-family:Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.detail p{color:var(--muted)}.detail .text-link{margin-top:.5rem}.reserve-panel{background:var(--forest);color:var(--paper);padding:2.25rem}.reserve-panel .eyebrow{color:var(--gold);margin-bottom:1.4rem}.reserve-panel h3{font-size:2.4rem;line-height:1.16;letter-spacing:-.04em;margin-bottom:1rem}.reserve-panel p:not(.eyebrow){color:#d5dfd7;margin-bottom:1.5rem}.reserve-panel .button{width:100%;gap:.6rem}.phone{display:block;font-size:.875rem;text-align:center;margin-top:1.2rem;line-height:1.6}.phone:hover{text-decoration:underline}.footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:2.3rem;padding-bottom:2.3rem}.footer .brand strong{font-size:2rem}.footer .brand span{font-size:.75rem}.footer p{font-size:.875rem;color:#c6d2c8}.footer>a:last-child{font-size:.875rem}.skip{position:fixed;left:1rem;top:-100px;background:var(--paper);color:var(--forest);padding:1rem;z-index:20}.skip:focus{top:1rem}
@media(min-width:1800px){.cuisine,.visit{max-width:none;padding-inline:max(7rem,calc((100vw - 1576px)/2))}}
@media(max-width:1100px){.header{gap:1.25rem}.header nav{gap:1.2rem}.hero{gap:2.3rem;min-height:auto}.hero-photo{min-height:570px}.section-heading{grid-template-columns:1fr 2fr;gap:2rem}.section-heading>p:last-child{grid-column:2;max-width:30rem;padding:0}.food-photo{padding:0}.food-photo img{height:510px}.cuisine-layout{gap:3rem}.occasion-grid{gap:3rem}.visit{grid-template-columns:1fr 1fr;gap:2.5rem}.reserve-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem}.reserve-panel .eyebrow{grid-column:1;margin:0}.reserve-panel h3{grid-column:1;grid-row:2/4;margin:0}.reserve-panel p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}.reserve-panel .button{grid-column:2}.phone{grid-column:2;margin:0}.visit-details{padding-top:2.6rem}}
@media(max-width:760px){.header{min-height:95px;flex-wrap:wrap;gap:1rem;padding-top:1.2rem;padding-bottom:1rem}.brand strong{font-size:2.1rem}.header nav{order:3;width:100%;justify-content:center;gap:2rem;border-top:1px solid #ffffff1c;padding-top:.55rem}.header nav a{padding:.4rem 0}.header-reserve{padding:.7rem .85rem;min-height:46px;gap:.6rem}.hero{grid-template-columns:1fr;gap:2.5rem;padding-top:2rem;padding-bottom:2rem}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:1.5rem;font-size:.75rem;letter-spacing:.12em}h1{font-size:clamp(2.5rem,13vw,5.6rem)}.hero-description{max-width:23rem}.hero-photo{min-height:0;height:460px}.hero-photo img{object-position:center}.welcome-strip{gap:1rem;flex-wrap:wrap;padding:1.15rem 1rem}.welcome-strip p{font-size:.8125rem}.welcome-strip>span:last-of-type,.welcome-strip>p:last-child{display:none}.cuisine{padding-top:3.8rem;padding-bottom:3.5rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>.eyebrow{padding:0;margin-bottom:1rem}.section-heading h2{margin-bottom:1.2rem}.section-heading>p:last-child{max-width:32rem}.cuisine-layout{grid-template-columns:1fr;gap:2.2rem}.food-photo img{height:390px}.course{gap:1.2rem;padding:1.5rem 0}.course h3{font-size:1.7rem}.occasion-grid{grid-template-columns:1fr;gap:2.5rem;padding-top:3.5rem;padding-bottom:3.5rem}.occasion figure{height:360px}.occasion h2{font-size:clamp(2.4rem,8vw,3.7rem)}.visit{grid-template-columns:1fr;gap:2rem;padding-top:3.5rem;padding-bottom:3.5rem}.visit-intro h2 br{display:none}.visit-intro p:last-child{margin-top:1rem}.visit-details{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail+.detail{margin:0}.reserve-panel{display:block;padding:1.8rem;grid-column:auto}.reserve-panel .eyebrow{margin-bottom:1.2rem}.reserve-panel h3{margin-bottom:1rem}.reserve-panel p:not(.eyebrow){margin-bottom:1.5rem}.reserve-panel .phone{margin-top:1rem}.footer{flex-wrap:wrap;justify-content:space-between;padding-block:2rem}.footer p{order:3;width:100%;text-align:left}.footer .brand strong{font-size:2rem}}
@media(max-width:380px){.header .brand strong{font-size:1.85rem}.header-reserve{font-size:.8125rem}.header-reserve span{display:none}.visit-details{grid-template-columns:1fr}.detail+.detail{margin-top:.75rem}.hero-photo{height:390px}.hero .eyebrow{font-size:.75rem;letter-spacing:.05em}.hero-photo figcaption{left:1rem;right:1rem;gap:.6rem}.welcome-strip{gap:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.brand .brand-image{width:214px;height:auto;object-fit:contain}.footer .brand .brand-image{width:190px}.header nav{flex-wrap:wrap;justify-content:center;column-gap:1.5rem}.menu-section{background:var(--paper);color:var(--ink);padding-top:4rem;padding-bottom:5rem;border-top:1px solid var(--line)}.menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.menu-heading .eyebrow{color:var(--muted);margin-bottom:1rem}.menu-heading h2{font-size:clamp(2.3rem,4vw,3.6rem);max-width:40rem}.menu-heading>a{flex-shrink:0}.menu-categories{max-width:1000px;margin-inline:auto}.menu-category{border-top:1px solid var(--line)}.menu-category:last-child{border-bottom:1px solid var(--line)}.menu-category summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:Georgia,serif;font-size:1.7rem;padding:1.3rem 0;gap:1rem}.menu-category summary::-webkit-details-marker{display:none}.menu-category summary:focus-visible{outline:3px solid #a97531;outline-offset:4px}.menu-toggle:after{content:'+';font-family:Arial,sans-serif;font-size:1.4rem}.menu-category[open] .menu-toggle:after{content:'−'}.menu-category dl{margin:0 0 1.5rem}.menu-item{display:flex;justify-content:space-between;gap:1.5rem;padding:.85rem 0;border-top:1px solid #e9ebe3;font-size:1rem;line-height:1.5}.menu-item dt{max-width:75%}.menu-item dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.menu-note{max-width:1000px;margin:1.5rem auto 0;color:var(--muted);font-size:.875rem}.menu-note a{text-decoration:underline;color:var(--ink)}
@media(max-width:760px){.header .brand .brand-image{width:160px}.header nav{column-gap:1.1rem}.menu-section{padding-top:3rem;padding-bottom:3rem}.menu-heading{display:block}.menu-heading>a{margin-top:1rem}.menu-heading h2{font-size:2.5rem}.menu-category summary{font-size:1.5rem}.menu-item{gap:.85rem}.menu-item dt{max-width:none}.menu-item dd{flex-shrink:0}}
@media(max-width:380px){.header .brand .brand-image{width:135px}.header nav{column-gap:.8rem}.menu-heading h2{font-size:2.1rem}}

/* User-supplied photographs paired with the priced menu. */
.menu-category dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem}
.menu-item.has-photo{display:flex;flex-direction:column;justify-content:space-between;gap:0;padding:0 0 1rem;overflow:hidden;border:1px solid var(--line);background:#fff}
.menu-item.has-photo dt{max-width:none;width:100%}
.menu-item .menu-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 62%;background:#e9ebe3}
.menu-dish-name{display:block;padding:1rem 1rem .5rem}
.menu-item.has-photo dd{padding:0 1rem;color:var(--ink)}
.menu-item:not(.has-photo){grid-column:1/-1}
@media(max-width:900px){.menu-category dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.menu-category dl{grid-template-columns:minmax(0,1fr);gap:1rem}.menu-dish-name{font-size:1.0625rem}}

.promotion-banner{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1.25rem;background:var(--gold);color:var(--forest);text-align:center}
.promotion-banner>span:first-child{font-size:.875rem;letter-spacing:.1em;font-weight:600}
.promotion-banner strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}
.promotion-banner-link{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.promotion-banner:hover{background:#e8cf9f}
.occasion .promotion-day{display:inline-block;color:var(--gold);border:1px solid #d9bd8760;padding:.55rem .9rem;font-size:.875rem;letter-spacing:.04em;margin:0 0 1.5rem}
.promotion-copy h2{font-size:clamp(2.6rem,4.6vw,4.8rem)}
.occasion figure{border:1px solid #d9bd8733;padding:.7rem;height:460px}
@media(max-width:760px){.promotion-banner{flex-wrap:wrap;gap:.5rem 1.5rem}.promotion-banner>span:first-child{width:100%}.promotion-banner strong{font-size:1.35rem}.occasion figure{height:350px}}

.occasion .promotion-photo{height:auto;width:100%;max-width:430px;justify-self:center}.occasion .promotion-photo img{height:auto;object-fit:contain}

.contact-actions{display:flex;flex-direction:column;gap:.8rem;min-width:0}.contact-actions .phone{margin-top:.3rem}.visit-intro h2{max-width:8ch}
@media(min-width:761px) and (max-width:1100px){.reserve-panel .contact-actions{grid-column:2;grid-row:3/5}}

/* Carousels only in the two editorial photo positions. */
.feature-carousel{position:relative;min-width:0;overflow:hidden;background:var(--forest);color:var(--paper);isolation:isolate}
.hero-photo.feature-carousel:after{display:none}
.food-photo.feature-carousel{padding:0;height:560px}
.feature-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.feature-track::-webkit-scrollbar{display:none}
.feature-slide{position:relative;flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start}
.feature-carousel .feature-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.feature-slide:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#081a14ee);pointer-events:none}
.feature-caption{position:absolute;z-index:1;left:1.5rem;right:1.5rem;bottom:5rem;font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.25}
.feature-controls{position:absolute;z-index:2;bottom:1rem;left:1.5rem;right:1.5rem;display:flex;align-items:center;gap:1rem}
.feature-controls[hidden]{display:none}
.feature-controls button{width:46px;height:46px;border:1px solid #ffffff90;border-radius:50%;background:#142d2799;color:white;font-size:1.4rem;cursor:pointer}
.feature-controls button:hover{background:var(--gold);color:var(--forest)}
.feature-counter{font-size:.875rem;font-variant-numeric:tabular-nums}
.feature-controls button:focus-visible,.feature-track:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
@media(max-width:1100px){.food-photo.feature-carousel{height:510px}}
@media(max-width:760px){.food-photo.feature-carousel{height:390px}}
