:root{--black:#080706;--charcoal:#11100f;--brown:#24180f;--red:#a20f13;--red-dark:#76080b;--cream:#f3ebdc;--paper:#eadfce;--gold:#b58a50;--gold-soft:#d0ac75;--white:#fffaf3;--muted:#b9afa1;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--serif);line-height:1.55}img{display:block;width:100%;height:auto}button,input,select{font:inherit}a{color:inherit}.skip{position:fixed;z-index:1000;left:1rem;top:-4rem;background:var(--cream);color:#111;padding:.7rem 1rem}.skip:focus{top:1rem}.site-header{position:fixed;z-index:100;width:100%;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(8,7,6,.93);backdrop-filter:blur(10px);border-color:rgba(181,138,80,.25)}.brand{display:inline-grid;grid-template-columns:auto auto auto;align-items:end;text-decoration:none;line-height:.75;transform:rotate(-2deg)}.brand span,.brand em{font-size:1.9rem;font-weight:700;font-style:italic}.brand em{color:#d31318}.brand b{font-size:1.1rem;padding:0 .15rem}.brand small{grid-column:1/4;font:letter-spacing .28em .48rem var(--sans);text-align:center;margin-top:.6rem}.nav{display:flex;align-items:center;gap:1.7rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.nav>a{text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent}.nav>a:hover,.nav>a.active{color:#e3262d;border-color:var(--red)}.languages{display:flex;gap:.2rem}.languages button{border:0;background:transparent;color:#ccc;font-size:.68rem;padding:.35rem;cursor:pointer}.languages button.active{color:#fff;border-bottom:1px solid var(--red)}.nav-toggle{display:none;background:none;border:0;width:42px}.nav-toggle span{display:block;height:1px;background:#fff;margin:7px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1.55rem;border:1px solid transparent;text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;text-decoration:none;cursor:pointer;transition:.2s}.btn-red{background:linear-gradient(#b01217,#870b0f);color:#fff}.btn-red:hover{background:#c3171d;transform:translateY(-1px)}.btn-outline{border-color:#b9afa1;color:#fff;background:rgba(0,0,0,.15)}.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.hero{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,3,2,.98) 0%,rgba(8,5,3,.86) 32%,rgba(30,12,2,.18) 66%,rgba(8,3,1,.18)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%),url(images/hero-interior.webp);background-size:cover;background-position:center;filter:saturate(1.15) contrast(1.12) sepia(.12);transform:scale(1.01)}.hero-brush{position:absolute;inset:0 42% 0 0;background:radial-gradient(ellipse at 65% 50%,rgba(0,0,0,.18),#050403 67%),repeating-linear-gradient(166deg,transparent 0 17px,rgba(255,255,255,.018) 18px 19px);clip-path:polygon(0 0,94% 0,83% 12%,96% 27%,84% 42%,97% 55%,82% 72%,92% 87%,80% 100%,0 100%)}.hero-content{position:relative;z-index:2;width:min(620px,44vw);margin-left:5vw;padding-top:62px}.brand-large{margin-bottom:3rem}.brand-large span,.brand-large em{font-size:3rem}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font:600 .72rem var(--sans);color:var(--gold-soft)}.red{color:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3.4rem,6.3vw,7.2rem);line-height:.82;margin:.3rem 0 1.2rem;white-space:nowrap}.hero h1 span,.hero h1 em{font-style:italic}.hero h1 em{color:#d2161c}.hero h1 b{font-size:.65em}.ornament{width:70px;height:10px;border-top:1px solid var(--red);position:relative;margin:1rem 0 1.4rem}.ornament:after{content:"◆";position:absolute;color:var(--red);font-size:.5rem;left:32px;top:-7px}.hero-copy{max-width:480px;color:#ddd;font-size:1.04rem}.hero-actions{display:flex;gap:1rem;margin-top:1.6rem}.paper{color:#211915;background-color:var(--cream);background-image:radial-gradient(rgba(100,65,25,.07) .5px,transparent .5px);background-size:5px 5px}.intro{display:grid;grid-template-columns:.75fr 1.6fr;gap:4vw;padding:90px 5vw}.intro-copy h2,.section-title h2{font-size:clamp(2rem,3.3vw,4rem);line-height:1;text-transform:uppercase}.intro-copy p{max-width:430px}.red-ornament{border-color:var(--red)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-grid article{background:#f8f0e4;border:1px solid rgba(96,55,22,.25);text-align:center;padding-bottom:1.2rem}.feature-grid img{height:260px;object-fit:cover;filter:sepia(.18) contrast(1.08)}.feature-grid span{display:block;color:var(--red);font:600 .65rem var(--sans);letter-spacing:.18em;margin-top:1rem}.feature-grid h3{margin:.35rem 0;font-size:1.08rem;text-transform:uppercase}.promo{display:grid;grid-template-columns:1fr 1fr;min-height:660px;background:linear-gradient(115deg,#0b0908,#21150f);align-items:center}.promo-art{height:660px;overflow:hidden}.promo-art img{height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.8) contrast(1.05)}.promo-copy{padding:6vw;max-width:670px}.promo-copy h2{font-size:clamp(3rem,6vw,6rem);line-height:.9;text-transform:uppercase}.promo-copy h2 span{display:block;font-size:.45em;color:var(--gold-soft);letter-spacing:.15em}.promo-copy h2 strong{color:#fff}.promo-copy p,.promo-copy li{color:#ddd}.promo-copy ul{padding-left:1.2rem;margin-bottom:2rem}.menu-section{padding:100px 5vw}.section-title{text-align:center;max-width:750px;margin:0 auto 3rem}.section-title p{color:#665b50}.section-title .eyebrow{color:var(--red)}.menu-tools{position:sticky;z-index:20;top:78px;background:rgba(243,235,220,.96);backdrop-filter:blur(7px);padding:1rem 0;border-bottom:1px solid rgba(133,91,38,.2)}.search{display:flex;align-items:center;max-width:500px;margin:0 auto 1rem;border-bottom:1px solid #9a8063}.search span{font-size:1.5rem}.search input{border:0;background:transparent;padding:.7rem;width:100%;outline:0}.category-tabs{display:flex;gap:.5rem;overflow:auto;padding:.2rem 0;scrollbar-width:thin}.category-tabs button{white-space:nowrap;border:1px solid #b79b77;background:transparent;padding:.55rem 1rem;cursor:pointer;color:#4b3a2e}.category-tabs button.active{background:var(--brown);color:#fff}.menu-list{max-width:1050px;margin:3rem auto}.menu-category{margin:3.3rem 0}.menu-category h3{text-align:center;background:var(--brown);color:#fff;padding:.75rem;text-transform:uppercase;letter-spacing:.1em;font-size:1.25rem;border:1px solid var(--gold)}.menu-item{display:grid;grid-template-columns:1fr auto;gap:.25rem 2rem;padding:.7rem .25rem;border-bottom:1px dotted rgba(120,88,54,.35)}.menu-item strong{font-size:1.08rem}.menu-item .price{grid-row:1/3;grid-column:2;color:#8b5f1c;font-weight:700}.menu-item p{font:italic .83rem var(--sans);color:#776c62;margin:0}.empty{text-align:center;padding:4rem;color:#6d6258}.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:660px}.story-image img{height:100%;object-fit:cover;filter:saturate(.75) contrast(1.1)}.story-copy{padding:8vw 7vw;background:linear-gradient(145deg,#24170f,#080706)}.story-copy h2{font-size:clamp(3rem,5vw,5rem);line-height:.95}.story-copy p{color:#d1c9c0}.gallery{padding:100px 5vw}.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:260px 260px;gap:1rem}.gallery-grid img{height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}.gallery-grid img:first-child{grid-row:1/3}.gallery-grid img:last-child{grid-column:2/4}.contact{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px}.contact-copy{padding:7vw}.contact-copy h2{font-size:clamp(3rem,6vw,6rem);line-height:.9}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0}.contact-grid small{color:var(--gold-soft);text-transform:uppercase;letter-spacing:.12em}.contact-grid p,.contact-grid a{color:#ddd;text-decoration:none}.contact>img{height:100%;object-fit:cover;filter:saturate(.75)}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem 5vw;border-top:1px solid #35281f;color:#aaa;font-size:.75rem}dialog{border:0;padding:0;background:transparent;max-width:min(680px,94vw);color:#241b15}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}.reservation-card{position:relative;background:var(--cream);padding:3rem;border:1px solid var(--gold)}.reservation-card h2{font-size:2.2rem}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:2rem;cursor:pointer}.demo-notice{background:#ead8b8;border-left:3px solid var(--red);padding:.8rem;margin-bottom:1.5rem;font:.8rem var(--sans)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid label{font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.08em}.form-grid label span{display:block;margin-bottom:.35rem}.form-grid input,.form-grid select{width:100%;min-height:45px;border:1px solid #bea98a;background:#fffaf3;padding:.7rem}.wide{grid-column:1/3}.wide-btn{width:100%;margin-top:1.5rem}.reservation-success{text-align:center;background:#e4d2b3;margin-top:1rem;padding:1rem}.reveal{opacity:0;transform:translateY(20px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav{position:fixed;inset:0;background:#0a0807;display:flex;flex-direction:column;justify-content:center;gap:1.4rem;transform:translateX(100%);transition:.3s}.nav.open{transform:none}.nav-toggle{display:block;position:relative;z-index:2}.hero{min-height:680px}.hero-brush{right:20%}.hero-content{width:min(620px,84vw)}.intro{grid-template-columns:1fr}.promo{grid-template-columns:.8fr 1.2fr}.contact-grid{grid-template-columns:1fr}.feature-grid img{height:210px}}
@media(max-width:700px){.site-header{height:68px;padding:0 1.2rem}.brand span,.brand em{font-size:1.5rem}.hero{min-height:720px;align-items:flex-end}.hero-photo{background-position:62% center;background-image:linear-gradient(0deg,#050403 4%,rgba(5,4,3,.93) 30%,rgba(5,3,2,.25) 72%),url(images/hero-interior.webp)}.hero-brush{display:none}.hero-content{width:auto;margin:0;padding:7rem 1.3rem 3.5rem}.brand-large{display:none}.hero h1{font-size:clamp(3.2rem,15vw,5.3rem);white-space:normal}.hero-copy{font-size:.95rem}.hero-actions{flex-direction:column}.intro,.menu-section,.gallery{padding:70px 1.25rem}.feature-grid{grid-template-columns:1fr;overflow:hidden}.feature-grid article:not(:first-child){display:none}.feature-grid img{height:290px}.promo{grid-template-columns:1fr}.promo-art{height:430px}.promo-copy{padding:4rem 1.3rem}.menu-tools{top:68px}.menu-item{gap:.25rem 1rem}.story{grid-template-columns:1fr}.story-image{height:430px}.story-copy{padding:4rem 1.3rem}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:240px 200px}.gallery-grid img:first-child{grid-row:auto;grid-column:1/3}.gallery-grid img:last-child{grid-column:auto}.contact{grid-template-columns:1fr}.contact-copy{padding:4rem 1.3rem}.contact>img{height:430px}footer{flex-direction:column;gap:1rem;text-align:center}.reservation-card{padding:2.5rem 1.2rem}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.brand small{font-family:var(--sans);font-size:.48rem;letter-spacing:.28em}

/* Atmospheric three-course menu */
.promo{position:relative;display:block;min-height:0;padding:clamp(5rem,8vw,8rem) 5vw;overflow:hidden;background:#0b0806 url(images/special-menu-restaurant.webp) center/cover no-repeat}
.promo:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,3,2,.98) 0%,rgba(12,7,4,.94) 48%,rgba(31,14,6,.72) 100%),radial-gradient(circle at 88% 28%,rgba(178,86,17,.3),transparent 33%)}
.promo:after{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(171deg,transparent 0 22px,rgba(255,255,255,.035) 23px 24px);clip-path:polygon(56% 0,100% 0,100% 100%,48% 100%,57% 84%,50% 69%,59% 53%,51% 36%,60% 18%)}
.promo-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:clamp(3rem,7vw,8rem);max-width:1300px;margin:auto;padding:clamp(2rem,4vw,4.5rem);border:1px solid rgba(208,172,117,.38);background:linear-gradient(120deg,rgba(5,4,3,.91),rgba(26,14,8,.66));box-shadow:0 30px 80px rgba(0,0,0,.45)}
.promo-heading{align-self:center}.promo-heading h2{margin:.6rem 0 1.5rem;line-height:.78;text-transform:uppercase}.promo-heading h2 span{display:block;color:var(--gold-soft);font:600 clamp(1.2rem,2vw,1.8rem) var(--sans);letter-spacing:.22em}.promo-heading h2 strong{display:block;color:#fff;font-size:clamp(5rem,9vw,9rem);font-weight:400;text-shadow:0 5px 28px rgba(0,0,0,.65)}
.promo-heading>p:not(.eyebrow){max-width:440px;color:#d9cec1}.promo-choice-toggle{display:none;min-height:44px;border:0;border-bottom:1px solid var(--gold);padding:.65rem 0;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.15em;font:600 .7rem var(--sans);cursor:pointer}
.promo-choices{align-self:center}.course-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;padding:1.8rem 0}.course-number{color:rgba(208,172,117,.38);font-size:3.8rem;line-height:1}.course-card small{display:block;margin-bottom:.45rem;color:#d31c22;text-transform:uppercase;letter-spacing:.22em;font:700 .68rem var(--sans)}.course-card h3{max-width:620px;margin:0;color:#fff;font-size:clamp(1.35rem,2.5vw,2.4rem);font-weight:400;line-height:1.2}.course-divider{display:flex;align-items:center;gap:1rem;color:var(--gold-soft)}.course-divider:before,.course-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(208,172,117,.65),transparent)}
.promo-actions{grid-column:1/3;display:flex;align-items:center;gap:2rem;padding-top:1rem;border-top:1px solid rgba(208,172,117,.25)}.promo-actions>span{color:#a99d90;font:italic .9rem var(--serif)}

@media(max-width:700px){
  .hero{min-height:760px;align-items:flex-end;border-bottom:1px solid rgba(208,172,117,.3)}
  .hero-photo{background-position:58% center;background-image:linear-gradient(0deg,#050403 3%,rgba(5,4,3,.96) 25%,rgba(5,3,2,.28) 64%,rgba(5,3,2,.3)),linear-gradient(90deg,rgba(5,3,2,.7),transparent 75%),url(images/hero-interior.webp)}
  .hero-brush{display:block;inset:0 8% 0 0;opacity:.86;clip-path:polygon(0 0,62% 0,72% 11%,63% 24%,75% 38%,65% 52%,76% 67%,63% 80%,72% 92%,58% 100%,0 100%)}
  .hero-content{padding:7.5rem 1.35rem 3.2rem}.brand-large{display:inline-grid;margin-bottom:3.2rem}.brand-large span,.brand-large em{font-size:2.05rem}.brand-large b{font-size:1.25rem}.hero h1{font-size:clamp(3.25rem,16vw,5rem);line-height:.84}.hero-copy{max-width:340px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.hero-actions .btn{padding:.75rem .7rem;font-size:.68rem}
  .intro{padding-right:0}.intro-copy{padding-right:1.25rem}.feature-grid{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;gap:.85rem;overflow-x:auto;padding:0 1.25rem .9rem 0;scroll-snap-type:x mandatory;scrollbar-width:none}.feature-grid::-webkit-scrollbar{display:none}.feature-grid article,.feature-grid article:not(:first-child){display:block;scroll-snap-align:start}.feature-grid img{height:250px}
  .promo{padding:4.5rem 1.2rem;background-position:62% center}.promo:before{background:linear-gradient(0deg,rgba(5,3,2,.98),rgba(10,5,3,.82)),radial-gradient(circle at 70% 15%,rgba(178,86,17,.35),transparent 36%)}.promo:after{clip-path:polygon(0 0,100% 0,100% 35%,88% 31%,100% 26%,88% 20%,100% 14%,88% 8%);opacity:.35}
  .promo-stage{display:block;padding:2.2rem 1.3rem;background:linear-gradient(155deg,rgba(5,4,3,.88),rgba(35,17,8,.72));box-shadow:0 24px 50px rgba(0,0,0,.5)}.promo-heading h2{margin-top:.8rem}.promo-heading h2 strong{font-size:clamp(5.5rem,26vw,7.5rem)}.promo-heading>p:not(.eyebrow){font-size:.92rem}.promo-choice-toggle{display:inline-flex;align-items:center;margin:1rem 0}
  .promo-choices{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .3s ease}.promo-choices>*{overflow:hidden}.promo-choices.open{grid-template-rows:auto;opacity:1}.promo-choices.open>*{overflow:visible}.course-card{padding:1.15rem 0;gap:1rem}.course-number{font-size:2.6rem}.course-card h3{font-size:1.15rem}.course-divider{display:none}.promo-actions{display:grid;grid-column:auto;gap:1rem;margin-top:1.5rem;padding-top:1.4rem}.promo-actions .btn{width:100%}.promo-actions>span{text-align:center}
}
.promo-choice-toggle:after{content:"＋";margin-left:.75rem;color:var(--red);font-size:1rem}.promo-choice-toggle[aria-expanded="true"]:after{content:"−"}
@media(max-width:700px){.promo-choices{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease}.promo-choices>*{overflow:visible}.promo-choices.open{max-height:420px;opacity:1}}
@media(max-width:1000px){.nav{position:fixed;inset:auto;top:0;left:0;width:100vw;height:100dvh;min-height:100vh;background:#0a0807;overflow-y:auto;overscroll-behavior:contain;z-index:1}.nav.open{box-shadow:0 0 0 100vmax #0a0807}}

/* Approved hero composition */
.site-header{height:104px;padding:0 5.2vw;background:linear-gradient(180deg,rgba(3,2,1,.78),transparent)}
.brand{display:block;transform:none;line-height:normal}.official-logo{width:220px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}.site-header .nav{margin-left:auto}
.hero{min-height:735px;align-items:center;background:#050302}.hero-photo{background-image:url(images/hero-restaurant-final.webp);background-position:center;background-size:cover;filter:none;transform:none}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,1,1,.5) 0%,transparent 55%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}
.hero-brush{inset:0 auto 0 0;width:61%;height:100%;clip-path:none;background-image:linear-gradient(90deg,#030201 0%,rgba(3,2,1,.98) 52%,rgba(3,2,1,.45) 88%,transparent 100%),url(images/hero-brush.png);background-repeat:no-repeat;background-size:100% 100%,115% 92%;background-position:left center,left center;opacity:.98}
.hero-content{width:min(760px,47vw);margin-left:5.2vw;padding-top:110px}.hero .eyebrow{font-size:.88rem;letter-spacing:.34em}.hero h1{font-size:clamp(4.8rem,6.6vw,7.2rem);margin:.55rem 0 1rem}.hero-copy{font-size:1.13rem;line-height:1.75;max-width:500px}.hero-actions{gap:1.4rem;margin-top:1.7rem}.hero-actions .btn{min-width:220px}
.hero-info{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#0b0b0a;padding:34px 5.2vw 38px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -18px 45px rgba(0,0,0,.22)}.hero-info-item{display:grid;grid-template-columns:54px 1fr;gap:1rem;min-height:92px;padding:8px clamp(1rem,2.2vw,2.6rem);border-right:1px solid rgba(255,255,255,.18)}.hero-info-item:first-child{padding-left:0}.hero-info-item:last-child{border-right:0}.hero-info-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--red);border-radius:50%;color:#e01b22;font:1.45rem var(--sans)}.hero-info-item strong{display:block;margin-bottom:.35rem;color:#fff;text-transform:uppercase;font-size:.92rem;font-weight:400}.hero-info-item p,.hero-info-item a{margin:0;color:#c9c0b7;text-decoration:none;font-size:.9rem;line-height:1.65}
@media(max-width:1000px){.site-header{height:76px}.official-logo{width:165px}.hero{min-height:730px}.hero-content{width:min(620px,78vw);padding-top:100px}.hero-brush{width:78%}.hero-info{grid-template-columns:repeat(2,1fr)}.hero-info-item:nth-child(2){border-right:0}.hero-info-item{border-bottom:1px solid rgba(255,255,255,.14)}}
@media(max-width:700px){.site-header{height:72px}.official-logo{width:150px}.hero{min-height:760px}.hero-photo{background-position:61% center}.hero-photo:after{background:linear-gradient(0deg,#030201 2%,rgba(3,2,1,.88) 34%,rgba(3,2,1,.12) 72%),linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.hero-brush{display:block;width:100%;height:58%;top:auto;bottom:0;background-image:linear-gradient(0deg,#030201 0%,rgba(3,2,1,.9) 66%,transparent 100%),url(images/hero-brush.png);background-size:100% 100%,145% 78%;background-position:center bottom,42% bottom;transform:rotate(180deg);opacity:.94}.hero-content{width:auto;margin:0;padding:21rem 1.3rem 3.2rem}.hero-content>*{position:relative;z-index:1}.hero .eyebrow{font-size:.7rem}.hero h1{font-size:clamp(3.5rem,17vw,5.1rem)}.hero-copy{font-size:.95rem;line-height:1.65}.hero-info{grid-template-columns:1fr;padding:1.25rem}.hero-info-item,.hero-info-item:first-child{grid-template-columns:44px 1fr;min-height:0;padding:1.15rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.hero-info-item:last-child{border-bottom:0}.hero-info-icon{width:40px;height:40px;font-size:1.15rem}.hero-info-item strong{font-size:.78rem}.hero-info-item p,.hero-info-item a{font-size:.82rem}}

/* Restaurant introduction */
.restaurant-intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.72fr);gap:3.2vw;padding:100px 4vw 110px;overflow:hidden;background-color:#f4ecdd;background-image:linear-gradient(145deg,rgba(178,139,89,.12),transparent 24%),radial-gradient(rgba(91,56,24,.09) .55px,transparent .7px);background-size:auto,5px 5px}
.restaurant-intro:before,.restaurant-intro:after{content:"";position:absolute;z-index:-1;width:32vw;height:180px;opacity:.3;background:repeating-linear-gradient(168deg,rgba(173,137,91,.65) 0 3px,transparent 4px 11px)}
.restaurant-intro:before{left:-9vw;top:-75px;transform:rotate(-8deg)}.restaurant-intro:after{right:-8vw;bottom:-80px;transform:rotate(164deg)}
.restaurant-copy{align-self:center;padding:1rem 0}.restaurant-copy .eyebrow{display:flex;align-items:center;gap:1rem;font-family:var(--serif);font-size:.8rem;letter-spacing:.04em}.restaurant-copy .eyebrow:after{content:"—  ◆";font-size:.6rem;letter-spacing:-.05em}
.restaurant-copy h2{margin:1.35rem 0 1.6rem;font-size:clamp(2.65rem,4.2vw,5.2rem);line-height:.9;text-transform:uppercase;letter-spacing:-.025em}.restaurant-copy h2 span,.restaurant-copy h2 em{display:block;font-style:normal}.restaurant-copy h2 em{color:#a51919}.restaurant-copy>p:not(.eyebrow){max-width:470px;font-size:1.05rem;line-height:1.75}.restaurant-actions{display:flex;gap:1.4rem;margin-top:2rem}.restaurant-actions .btn{min-width:180px}.btn-paper{border-color:#9b846b;background:rgba(255,255,255,.2);color:#2b211b}.btn-paper i{color:var(--red);font-style:normal;margin-left:1rem;font-size:.65rem}
.restaurant-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:center}.restaurant-card{min-width:0;min-height:560px;border:1px solid rgba(115,78,44,.28);border-right:0;background:rgba(249,243,232,.42);text-align:center}.restaurant-card:last-child{border-right:1px solid rgba(115,78,44,.28)}
.restaurant-card-photo{height:330px;overflow:hidden}.restaurant-card-photo img{height:100%;object-fit:contain;filter:saturate(.96) contrast(1.04)}
.restaurant-card>svg{width:42px;height:42px;margin:.45rem auto .5rem;fill:none;stroke:#ae1c20;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.restaurant-card>span{display:block;font-size:.72rem;text-transform:uppercase}.card-ornament{color:#a7191d;font-size:.45rem;margin:.55rem auto}.card-ornament:before,.card-ornament:after{content:"—";margin:0 .35rem}.restaurant-card h3{max-width:210px;margin:.5rem auto 1.5rem;font-size:1.65rem;line-height:1.05;text-transform:uppercase;font-weight:500}
@media(max-width:1100px){.restaurant-intro{grid-template-columns:1fr;padding:85px 5vw}.restaurant-copy{max-width:700px}.restaurant-cards{width:100%}}
@media(max-width:700px){.restaurant-intro{padding:72px 1.25rem 78px}.restaurant-copy h2{font-size:clamp(2.8rem,14vw,4.5rem)}.restaurant-copy>p:not(.eyebrow){font-size:1rem}.restaurant-actions{flex-direction:column;gap:.8rem}.restaurant-actions .btn{width:100%}.restaurant-cards{grid-template-columns:1fr;gap:1rem;margin-top:1.3rem}.restaurant-card,.restaurant-card:last-child{min-height:0;border:1px solid rgba(115,78,44,.28);padding-bottom:1rem}.restaurant-card-photo{height:285px}.restaurant-card h3{font-size:1.8rem}.restaurant-intro:before,.restaurant-intro:after{width:80vw}}

/* Inner page foundation */
.inner-page .site-header{background:rgba(5,4,3,.96)}.page-masthead{min-height:520px;padding:190px 6vw 90px;display:flex;flex-direction:column;justify-content:flex-end;background-position:center;background-size:cover;position:relative}.page-masthead:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,3,2,.94),rgba(4,3,2,.2)),linear-gradient(0deg,rgba(4,3,2,.55),transparent)}.page-masthead>*{position:relative}.page-masthead h1{font-size:clamp(4rem,8vw,8rem);line-height:.85;text-transform:uppercase;margin:0}.menu-mast{background-image:url(images/hero-restaurant-final.webp)}.about-mast{background-image:url(images/interior-wide.webp)}.gallery-mast{background-image:url(images/bar.webp)}.contact-mast{background-image:url(images/exterior-wide.webp)}
.page-preview{padding:100px max(6vw,1.25rem);min-height:430px}.page-preview h2,.story-panel h2,.contact-page h2{font-size:clamp(2.6rem,5vw,5.4rem);line-height:.95;text-transform:uppercase}.page-preview>p:not(.eyebrow){max-width:720px;font-size:1.12rem}.story-panel,.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:100px 6vw;scroll-margin-top:100px}.story-panel.reverse div{order:2}.story-panel img,.contact-page img{height:460px;object-fit:cover;clip-path:polygon(0 3%,12% 1%,25% 3%,38% 0,55% 2%,69% 0,84% 3%,100% 1%,100% 97%,87% 99%,74% 96%,59% 100%,42% 97%,27% 99%,13% 96%,0 99%)}.story-panel p:not(.eyebrow),.contact-page p{max-width:620px;font-size:1.07rem}.contact-page a{color:#7f1114}.gallery-page{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;padding:80px 5vw}.gallery-page div{height:380px;overflow:hidden}.gallery-page img{height:100%;object-fit:cover}.gallery-page div:first-child,.gallery-page div:last-child{grid-row:span 2;height:776px}.inner-page footer a{text-decoration:none}
@media(max-width:700px){.page-masthead{min-height:430px;padding:150px 1.25rem 65px}.page-masthead h1{font-size:clamp(3.4rem,17vw,5rem)}.page-preview{padding:70px 1.25rem}.story-panel,.story-panel.reverse,.contact-page{grid-template-columns:1fr;padding:70px 1.25rem}.story-panel.reverse div{order:0}.story-panel img,.contact-page img{height:330px}.gallery-page{grid-template-columns:1fr;padding:60px 1.25rem}.gallery-page div,.gallery-page div:first-child,.gallery-page div:last-child{grid-row:auto;height:300px}}

/* Compact storefront story */
.story{height:500px;min-height:0;max-height:none;grid-template-rows:minmax(0,1fr);overflow:hidden}.story-image{min-height:0;overflow:hidden}.story-image img{object-position:center 82%}.story-copy{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:2.75rem 6vw}.story-copy h2{font-size:clamp(2.7rem,4vw,4.3rem);margin-bottom:1rem}.story-copy p{margin-bottom:1.1rem}.story-copy .ornament{margin:.45rem 0 1rem}.story-copy .btn{align-self:flex-start}
@media(max-width:700px){.story{height:auto;min-height:0;max-height:none;overflow:visible}.story-image{height:280px}.story-image img{object-position:center 80%}.story-copy{padding:3.2rem 1.3rem}}

/* Shared photographic footer */
.site-footer{position:relative;isolation:isolate;display:block;padding:0;color:#f7efe4;background:#080604 url(images/footer-storefront.webp) center 68%/cover no-repeat;border-top:1px solid rgba(208,172,117,.35)}
.site-footer:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,2,1,.97) 0%,rgba(7,4,2,.91) 48%,rgba(8,4,2,.78) 100%),linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.22))}
.footer-inner{display:grid;grid-template-columns:1.25fr .65fr .8fr 1fr;gap:clamp(2rem,4vw,5rem);padding:72px 5.2vw 58px;text-align:left}
.footer-brand{max-width:310px}.footer-logo{width:220px;height:auto;margin-bottom:1.2rem;filter:drop-shadow(0 5px 18px rgba(0,0,0,.7))}
.footer-brand>p,.footer-column p,.footer-column a{margin:0;color:#cfc4b7;font-size:.9rem;line-height:1.75}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;border-left:1px solid rgba(208,172,117,.32);padding-left:2rem}
.footer-column h2{margin:0 0 .8rem;color:#fff;text-transform:uppercase;letter-spacing:.16em;font:600 .78rem var(--sans)}
.footer-column a{text-decoration:none;transition:color .2s}.footer-column a:hover{color:#fff}
.footer-reserve{margin-top:1.2rem}
.footer-bottom{display:flex;justify-content:space-between;padding:1.2rem 5.2vw;border-top:1px solid rgba(208,172,117,.22);background:rgba(0,0,0,.45);color:#a99d90;font:.68rem var(--sans);letter-spacing:.08em;text-transform:uppercase}
.footer-bottom p{margin:0}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-column:nth-child(2){border-left:0;padding-left:0}}
@media(max-width:600px){.site-footer{background-position:48% center}.site-footer:before{background:linear-gradient(rgba(3,2,1,.94),rgba(3,2,1,.97))}.footer-inner{grid-template-columns:1fr;padding:55px 1.3rem 42px;gap:2rem}.footer-brand{grid-column:auto}.footer-logo{width:190px}.footer-column,.footer-column:nth-child(2){border-left:0;border-top:1px solid rgba(208,172,117,.28);padding:1.5rem 0 0}.footer-bottom{flex-direction:column;gap:.4rem;padding:1rem 1.3rem;text-align:left}}

/* Dedicated reservation journey */
.reservation-page{min-height:100vh;overflow-x:hidden;background:#080604}.reservation-app{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(620px,1.2fr);min-height:100vh;background:#080604}
.reservation-brand-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,5vw,5.5rem);overflow:hidden;background:#080604 url(images/hero-restaurant-final.webp) 62% center/cover no-repeat}
.reservation-brand-panel:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,2,1,.97),rgba(4,2,1,.72)),linear-gradient(0deg,rgba(0,0,0,.86),transparent 55%)}
.reservation-brand-panel>a{align-self:flex-start}.reservation-brand-panel>a img{width:min(260px,72vw);filter:drop-shadow(0 6px 20px #000)}.reservation-brand-copy{max-width:560px}.reservation-brand-copy h1{margin:.7rem 0 1.4rem;font-size:clamp(3.7rem,6vw,7rem);line-height:.84}.reservation-brand-copy h1 em{color:#cf171d;font-weight:400}.reservation-brand-copy>p:last-child{max-width:440px;color:#d5cbc0;font-size:1.02rem}.reservation-meta{display:flex;gap:2rem;color:#c3b8aa;font:.72rem var(--sans);letter-spacing:.07em;text-transform:uppercase}
.booking-panel{position:relative;overflow:auto;padding:clamp(2.5rem,5vw,6rem) clamp(1.5rem,7vw,8rem);color:#231a15;background-color:#f3ebdc;background-image:linear-gradient(145deg,rgba(181,138,80,.12),transparent 28%),radial-gradient(rgba(100,65,25,.08) .55px,transparent .65px);background-size:auto,5px 5px}
.booking-exit{position:absolute;top:1.5rem;right:1.8rem;width:48px;height:48px;border:1px solid #b69c7a;border-radius:50%;background:rgba(255,250,243,.65);color:#2c211a;font-size:1.8rem;line-height:1;cursor:pointer}.booking-header,.booking-progress,#booking-form{width:min(720px,100%);margin-left:auto;margin-right:auto}.booking-header h2{margin:.35rem 0 1rem;font-size:clamp(2.7rem,5vw,5rem);line-height:.9}.demo-disclosure{padding:.9rem 1rem;border-left:3px solid var(--red);background:#ead8b8;font:.78rem var(--sans);line-height:1.5}
.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.2rem;margin-bottom:3rem;padding:0;counter-reset:step;list-style:none}.booking-progress li{position:relative;padding-top:1.75rem;border-top:1px solid #c5ad8d;color:#897967;text-align:center;font:.65rem var(--sans);letter-spacing:.08em;text-transform:uppercase}.booking-progress li:before{counter-increment:step;content:counter(step);position:absolute;top:-14px;left:calc(50% - 14px);display:grid;place-items:center;width:28px;height:28px;border:1px solid #b69c7a;border-radius:50%;background:#f3ebdc}.booking-progress li.active{border-color:var(--red);color:#641013}.booking-progress li.active:before{border-color:var(--red);background:var(--red);color:#fff}
.booking-step h3{margin:.3rem 0 1.8rem;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}.booking-grid label>span{display:block;margin-bottom:.45rem;font:700 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase}.booking-grid label small{color:#8b7d70;font-weight:400}.booking-grid input,.booking-grid select,.booking-grid textarea{width:100%;min-height:52px;border:1px solid #bea98a;border-radius:0;background:rgba(255,250,243,.82);padding:.8rem;color:#251c16}.booking-grid textarea{resize:vertical}.booking-wide{grid-column:1/3}.booking-error{margin:0 0 1.2rem;padding:.75rem 1rem;border-left:3px solid var(--red);background:#ead8b8;color:#631014;font:700 .78rem var(--sans)}
.booking-summary{margin:0 0 1.6rem;padding:1rem 1.2rem;border:1px solid rgba(143,103,64,.32);background:rgba(255,250,243,.48);font-size:1.02rem}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.time-grid button{min-height:52px;border:1px solid #ad9474;background:rgba(255,250,243,.72);color:#2a2019;cursor:pointer}.time-grid button:hover,.time-grid button[aria-pressed="true"]{border-color:var(--red);background:var(--red);color:#fff}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(143,103,64,.3)}.booking-text-link{border:0;background:transparent;color:#5f4d3e;text-decoration:underline;text-underline-offset:.25rem;cursor:pointer}.booking-confirmation{text-align:center}.confirmation-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.5rem;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:2.2rem}.booking-confirmation .booking-summary{margin-top:1.7rem}.booking-confirmation .booking-actions{justify-content:center}
@media(max-width:1050px){.reservation-app{grid-template-columns:330px 1fr}.reservation-brand-panel{padding:2.5rem}.reservation-meta{flex-direction:column;gap:.5rem}.booking-panel{padding-left:3.5rem;padding-right:3.5rem}}
@media(max-width:760px){.reservation-app{display:block}.reservation-brand-panel{min-height:230px;height:230px;padding:1.3rem;background-position:58% 58%}.reservation-brand-panel:before{background:linear-gradient(0deg,rgba(3,2,1,.92),rgba(3,2,1,.4))}.reservation-brand-panel>a img{width:170px}.reservation-brand-copy{margin-top:auto}.reservation-brand-copy h1{margin:0;font-size:2.6rem}.reservation-brand-copy>p,.reservation-brand-copy .eyebrow,.reservation-meta{display:none}.booking-panel{min-height:calc(100vh - 230px);padding:3.3rem 1.2rem 3rem;overflow:visible}.booking-exit{position:fixed;z-index:20;top:1rem;right:1rem;width:44px;height:44px;background:rgba(8,6,4,.88);border-color:rgba(255,255,255,.55);color:#fff}.booking-header h2{font-size:2.8rem}.booking-progress{margin:2rem 0 2.5rem}.booking-progress li{font-size:.55rem;letter-spacing:0}.booking-grid{grid-template-columns:1fr}.booking-wide{grid-column:auto}.time-grid{grid-template-columns:repeat(3,1fr)}.booking-actions{align-items:stretch;flex-direction:column-reverse}.booking-actions .btn,.booking-actions .booking-text-link{width:100%;min-height:48px;text-align:center}.booking-confirmation .booking-actions{flex-direction:column-reverse}}

/* Compact homepage contact close */
@media(min-width:701px){.contact{height:340px;min-height:0}.contact-copy{display:flex;flex-direction:column;justify-content:center;padding:1.8rem 5vw}.contact-copy .eyebrow{margin-bottom:.4rem}.contact-copy h2{margin-bottom:.7rem;font-size:clamp(2.35rem,3.2vw,3.65rem)}.contact-grid{margin:.75rem 0 1rem;gap:1.5rem}.contact-grid p{margin-bottom:0}.contact-copy>.btn{align-self:flex-start}.contact>img{height:340px;object-position:center 66%}}

/* Reservation language handoff */
.booking-languages{display:flex;justify-content:flex-end;gap:.2rem;width:min(720px,100%);margin:0 auto 1.35rem;padding-right:3.8rem}.booking-languages button{min-width:34px;border:0;border-bottom:1px solid transparent;padding:.35rem;background:transparent;color:#766655;font:700 .65rem var(--sans);cursor:pointer}.booking-languages button.active{border-color:var(--red);color:var(--red)}
@media(max-width:760px){.booking-languages{justify-content:flex-start;margin-bottom:1.15rem;padding-right:3.2rem}.booking-languages button{min-height:38px}}
