:root {
  --ink: #191613;
  --ink-soft: #28221c;
  --text: #2d2924;
  --muted: #898078;
  --paper: #f7f4ed;
  --white: #fffdf8;
  --line: rgba(41, 34, 27, .13);
  --amber: #f3a82f;
  --orange: #e65f26;
  --serif: "Playfair Display", "Iowan Old Style", Georgia, serif;
  --sans: "DM Sans", "Aptos", "Segoe UI", Arial, sans-serif;
  --container: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; color: var(--text); background: var(--white); font-family: var(--sans); font-size: 15px; line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
.topbar { min-height: 38px; color: rgba(255,255,255,.68); background: #100f0d; font-size: 11px; letter-spacing: .025em; }
.topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 38px; }
.topbar-inner span, .topbar-inner a { display: inline-flex; align-items: center; gap: 8px; }
.topbar svg { width: 13px; height: 13px; color: var(--amber); }
.topbar a { color: white; }
.site-header { position: sticky; z-index: 50; top: 0; background: rgba(25,22,19,.97); border-bottom: 1px solid rgba(255,255,255,.09); backdrop-filter: blur(16px); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; min-height: 88px; gap: 28px; }
.brand { display: flex; flex: 0 0 150px; align-items: center; }
.brand img { width: 148px; height: auto; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(14px, 2.1vw, 31px); }
.site-nav > a:not(.nav-reservation) { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
.site-nav > a:hover, .site-nav > a.is-active { color: var(--amber); }
.site-nav > a.nav-qr-menu { padding: 9px 13px; border: 1px solid rgba(243,168,47,.42); border-radius: 999px; color: var(--amber); white-space: nowrap; transition: color .2s, background .2s, border-color .2s; }
.site-nav > a.nav-qr-menu:hover { border-color: var(--amber); color: var(--ink); background: var(--amber); }
.site-nav .nav-reservation { display: inline-flex; align-items: center; gap: 14px; padding: 12px 15px; color: var(--ink); background: var(--amber); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transition: background .2s, transform .2s; }
.site-nav .nav-reservation:hover { background: #ffc252; transform: translateY(-1px); }
.site-nav .nav-reservation-arrow { font-size: 15px; }
.nav-toggle { display: none; color: white; border: 1px solid rgba(255,255,255,.25); background: transparent; width: 44px; height: 44px; align-items: center; justify-content: center; }
.nav-toggle svg { width: 22px; height: 22px; }
.nav-reservation-copy { display: flex; flex-direction: column; gap: 3px; line-height: 1.1; }
.nav-reservation-copy strong { font: inherit; }
.nav-reservation-copy small { display: none; }
.nav-reservation-arrow { font-size: 15px; }
.nav-backdrop { display: none; }
.site-notice { padding: 13px 18px; margin: 16px 0 0; color: #144c2c; background: #e4f4e8; border: 1px solid #bfdfc7; }
.hero-slider { position: relative; isolation: isolate; height: min(740px, calc(100svh - 126px)); min-height: 610px; overflow: hidden; color: #fff; background: #191613; }
.hero-slider .hero-track { position: relative; inset: auto; display: flex; width: 100%; height: 100%; }
.hero-slider .hero-slide { position: relative; inset: auto; z-index: 0; flex: 0 0 100%; width: 100%; height: 100%; overflow: hidden; opacity: 0; background: #191613; pointer-events: none; transition-property: opacity; will-change: opacity; }
.hero-slider .hero-slide.is-current, .hero-slider .hero-slide.swiper-slide-active { z-index: 2; opacity: 1; pointer-events: auto; }
.hero-visual { position: absolute; z-index: 0; inset: 0 0 0 42%; overflow: hidden; background: #241e18; }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; transform: scale(1.09); filter: saturate(.88) brightness(.88); transition: transform 7.2s cubic-bezier(.18,.65,.25,1), filter .85s ease; }
.hero-slide-2 .hero-photo { object-position: center 46%; }
.hero-slide.is-current .hero-photo { transform: scale(1.015); filter: saturate(1) brightness(.95); }
.hero-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #191613 0%, rgba(25,22,19,.99) 31%, rgba(25,22,19,.9) 43%, rgba(25,22,19,.48) 61%, rgba(25,22,19,.12) 100%), linear-gradient(0deg, rgba(15,12,9,.48), transparent 38%); }
.hero-layout { position: relative; z-index: 2; display: flex; align-items: center; min-height: 100%; padding-top: 0; }
.hero-copy { width: min(610px, 55%); padding: 0 0 35px; }
.hero-eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 11px; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .19em; line-height: 1.3; text-transform: uppercase; }
.hero-eyebrow { color: var(--amber); }
.hero-eyebrow i { display: inline-block; width: 27px; height: 1px; background: currentColor; }
.hero-copy h1 { max-width: 630px; margin: 22px 0 18px; color: #fffaf1; font: 500 clamp(46px, 5.7vw, 76px)/1.04 var(--serif); letter-spacing: -.045em; text-wrap: balance; }
.hero-copy p { max-width: 440px; margin: 0; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.85; }
.hero-copy > .hero-eyebrow, .hero-copy > h1, .hero-copy > p, .hero-copy > .hero-actions, .hero-copy > .hero-signature { opacity: 0; transform: translateY(17px); transition: opacity .68s ease, transform .68s cubic-bezier(.2,.7,.2,1); }
.hero-slide.is-current .hero-copy > .hero-eyebrow, .hero-slide.is-current .hero-copy > h1, .hero-slide.is-current .hero-copy > p, .hero-slide.is-current .hero-copy > .hero-actions, .hero-slide.is-current .hero-copy > .hero-signature { opacity: 1; transform: translateY(0); }
.hero-slide.is-current .hero-copy > .hero-eyebrow { transition-delay: .08s; }
.hero-slide.is-current .hero-copy > h1 { transition-delay: .16s; }
.hero-slide.is-current .hero-copy > p { transition-delay: .25s; }
.hero-slide.is-current .hero-copy > .hero-actions { transition-delay: .34s; }
.hero-slide.is-current .hero-copy > .hero-signature { transition-delay: .41s; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 29px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 14px; padding: 0 20px; border: 1px solid transparent; cursor: pointer; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: transform .2s, background .2s, border-color .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 16px; height: 16px; }
.button-primary { color: var(--ink); background: var(--amber); }
.button-primary:hover { background: #ffc454; }
.button-ghost { color: white; border-color: rgba(255,255,255,.5); background: rgba(20,17,14,.14); }
.button-ghost:hover { border-color: var(--amber); color: var(--amber); }
.button-dark { color: white; background: var(--ink); }
.button-dark:hover { background: #382b1d; }
.button-light { color: var(--ink); background: var(--white); }
.button-full { width: 100%; }
.hero-signature { display: flex; align-items: center; gap: 12px; margin-top: 37px; }
.hero-signature > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(243,168,47,.45); border-radius: 50%; color: var(--amber); font-size: 17px; }
.hero-signature p { display: flex; flex-direction: column; gap: 2px; margin: 0; line-height: 1.3; }
.hero-signature b { color: rgba(255,255,255,.86); font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.hero-signature small { color: rgba(255,255,255,.54); font-size: 10px; }
.hero-controls { position: absolute; z-index: 3; right: 0; bottom: 27px; left: 0; display: flex; align-items: center; gap: 17px; }
.slider-progress { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; height: 3px; overflow: hidden; background: rgba(255,255,255,.16); }
.slider-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #d96e25, #f3a82f 56%, #ffd479); box-shadow: 0 0 15px rgba(243,168,47,.55); transform: scaleX(var(--slide-progress, 0)); transform-origin: left center; transition: transform .08s linear; }
.slider-progress.is-paused span { filter: saturate(.72); }
.slider-dots { display: flex; align-items: center; gap: 7px; }
.slider-dots button { width: 23px; height: 3px; padding: 0; border: 0; border-radius: 2px; background: rgba(255,255,255,.36); cursor: pointer; transition: width .25s, background .25s; }
.slider-dots button.is-current { width: 45px; background: var(--amber); }
.slider-count { display: inline-flex; align-items: center; gap: 9px; margin-left: 3px; color: rgba(255,255,255,.56); font-size: 10px; letter-spacing: .12em; }
.slider-count span:first-child { color: #fff; }
.slider-count i { width: 21px; height: 1px; background: rgba(255,255,255,.36); }
.slider-arrows { display: flex; gap: 8px; margin-left: auto; }
.slider-arrows button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; color: white; background: rgba(20,17,14,.25); cursor: pointer; font-size: 19px; transition: border-color .2s, color .2s, background .2s; }
.slider-arrows button:hover { color: var(--ink); border-color: var(--amber); background: var(--amber); }
.note-divider { width: 25px; height: 1px; background: rgba(255,255,255,.36); }
.intro-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.intro-strip-inner { display: flex; min-height: 72px; align-items: center; justify-content: center; gap: clamp(18px, 4vw, 56px); color: #71695f; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.intro-strip-inner i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--orange); }
.section { padding: 104px 0; }
.section-heading { margin-bottom: 46px; }
.section-heading-center { max-width: 650px; margin-inline: auto; text-align: center; }
.section-heading h2, .story-copy h2, .category-band h2, .reservation-cta h2, .corporate-copy h2, .reservation-note h2, .contact-details h2, .fixed-menu-empty h2 { margin: 13px 0 12px; color: var(--ink); font: 500 clamp(35px, 4vw, 52px)/1.12 var(--serif); letter-spacing: -.035em; }
.section-heading h2 em, .story-copy h2 em, .category-band h2 em, .reservation-cta h2 em, .reservation-note h2 em, .contact-details h2 em, .fixed-menu-empty h2 em { color: var(--orange); font-style: italic; }
.section-heading p { max-width: 520px; margin: 0 auto; color: var(--muted); font-size: 14px; }
.menu-preview { background: var(--white); }
.featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.featured-card { min-width: 0; }
.featured-photo { position: relative; display: block; height: 255px; overflow: hidden; background: #30261c; }
.featured-photo::after { position: absolute; inset: 35% 0 0; background: linear-gradient(0deg, rgba(15,12,9,.55), transparent); content: ""; }
.featured-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.featured-card:nth-child(2) .featured-photo img { object-position: 63% center; }
.featured-card:nth-child(3) .featured-photo img { object-position: center 42%; }
.featured-card:nth-child(4) .featured-photo img { object-position: 70% center; }
.featured-photo:hover img { transform: scale(1.05); }
.featured-index { position: absolute; z-index: 1; right: 14px; bottom: 10px; color: white; font: 22px var(--serif); }
.featured-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 17px; color: var(--orange); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.featured-meta strong { color: var(--ink); font-size: 13px; letter-spacing: 0; }
.featured-card h3 { margin: 7px 0 5px; color: var(--ink); font: 500 23px/1.22 var(--serif); }
.featured-card p { margin: 0; color: var(--muted); font-size: 12px; }
.center-action { display: flex; justify-content: center; margin-top: 40px; }
.empty-note { padding: 26px; color: var(--muted); background: var(--paper); text-align: center; }
.category-band { padding: 66px 0; color: #fff; background: var(--ink); }
.category-band-inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 54px; }
.category-band .section-kicker { color: var(--amber); }
.category-band h2 { margin-bottom: 0; color: white; font-size: 44px; }
.category-band h2 em { color: var(--amber); }
.category-pills { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 25px; }
.category-pills a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.86); font: 17px var(--serif); transition: color .2s; }
.category-pills a:hover { color: var(--amber); }
.category-pills a span { color: rgba(255,255,255,.4); font: 10px var(--sans); }
.story-section { background: var(--paper); }
.story-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(45px, 8vw, 105px); }
.story-image-wrap { position: relative; min-height: 500px; }
.story-image-wrap > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.story-image-wrap::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.35); content: ""; margin: 15px; pointer-events: none; }
.story-image-caption { position: absolute; z-index: 1; right: -24px; bottom: 34px; display: flex; align-items: center; gap: 15px; padding: 16px 21px; color: var(--ink); background: var(--amber); }
.story-image-caption span { font: 25px var(--serif); }
.story-image-caption p { margin: 0; font: 15px/1.3 var(--serif); }
.story-copy h2 { margin: 16px 0 19px; }
.story-copy > p { color: #746d64; line-height: 1.85; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.text-link svg { width: 16px; height: 16px; color: var(--orange); transition: transform .2s; }
.text-link:hover svg { transform: translateX(4px); }
.story-signature { display: flex; flex-direction: column; gap: 3px; margin-top: 46px; padding-top: 20px; border-top: 1px solid var(--line); }
.story-signature span { color: var(--ink); font: italic 20px var(--serif); }
.story-signature small { color: var(--muted); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.video-story { overflow: hidden; padding: 94px 0; color: white; background: radial-gradient(ellipse at 82% 48%, rgba(121,67,31,.3), transparent 42%), var(--ink); }
.video-story-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,340px); align-items: center; gap: clamp(48px,9vw,120px); }
.video-story-copy .section-kicker { color: var(--amber); }
.video-story-copy h2, .reviews-heading h2 { margin: 14px 0 18px; font: 500 clamp(37px,4.3vw,55px)/1.12 var(--serif); letter-spacing: -.035em; }
.video-story-copy h2 { color: white; }
.video-story-copy h2 em, .reviews-heading h2 em { color: var(--orange); font-style: italic; }
.video-story-copy h2 em { color: var(--amber); }
.video-story-copy > p { max-width: 620px; color: rgba(255,255,255,.7); line-height: 1.9; }
.video-story-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.video-story-link { display: inline-flex; align-items: center; gap: 9px; color: white; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.video-story-link span { color: var(--amber); font-size: 17px; transition: transform .2s; }
.video-story-link:hover span { transform: translate(2px,-2px); }
.video-story-media { width: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(243,168,47,.42); border-radius: 48% 48% 18px 18px / 27% 27% 18px 18px; background: #0d0c0b; box-shadow: 0 25px 65px rgba(0,0,0,.35); }
.video-story-media video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #0d0c0b; }
.video-story-media figcaption { display: flex; justify-content: space-between; gap: 8px; padding: 13px 16px; color: rgba(255,255,255,.62); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.award-feature { padding: 88px 0; border-block: 1px solid var(--line); background: var(--paper); }
.award-feature-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); align-items: center; gap: clamp(34px,6vw,76px); }
.award-feature-copy .section-kicker { color: var(--orange); }
.award-feature-copy h2 { margin: 14px 0 18px; color: var(--ink); font: 500 clamp(37px,4.1vw,53px)/1.12 var(--serif); letter-spacing: -.035em; }
.award-feature-copy h2 em { color: var(--orange); font-style: italic; }
.award-feature-copy > p { color: #71695f; line-height: 1.85; }
.award-feature-copy .button { margin-top: 10px; }
.award-feature-media { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(41,34,27,.15); border-radius: 5px; background: #100f0d; box-shadow: 0 20px 55px rgba(42,31,20,.16); }
.award-feature-media video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #100f0d; }
.award-feature-media figcaption { display: flex; justify-content: space-between; gap: 10px; padding: 13px 16px; color: rgba(255,255,255,.68); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.google-reviews { overflow: hidden; background: var(--paper); }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.reviews-heading h2 { margin-bottom: 9px; color: var(--ink); }
.reviews-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.reviews-controls { display: flex; flex: 0 0 auto; gap: 8px; padding-bottom: 7px; }
.reviews-controls button { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.7); cursor: pointer; font-size: 19px; transition: color .2s, border-color .2s, background .2s, opacity .2s; }
.reviews-controls button:hover:not(:disabled) { border-color: var(--ink); color: white; background: var(--ink); }
.reviews-controls button:disabled { opacity: .38; cursor: default; }
.review-rail { display: grid; grid-auto-columns: calc(33.333333% - 12px); grid-auto-flow: column; gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; padding: 4px 2px 17px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: rgba(41,34,27,.32) transparent; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.review-card { display: flex; min-width: 0; min-height: 292px; flex-direction: column; padding: 23px 22px; border: 1px solid rgba(41,34,27,.1); border-radius: 5px; background: var(--white); box-shadow: 0 11px 35px rgba(42,31,20,.045); scroll-snap-align: start; scroll-snap-stop: always; }
.review-card-top { display: flex; min-width: 0; align-items: center; gap: 12px; }
.review-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; color: white; background: linear-gradient(145deg,#d76a2a,#8f321c); font: 500 18px var(--serif); }
.review-author { min-width: 0; flex: 1; }
.review-author h3 { overflow: hidden; margin: 0 0 2px; color: var(--ink); font: 600 14px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.review-author > span { color: var(--muted); font-size: 10px; }
.review-google-mark { color: #4285f4; font: 800 21px Arial, sans-serif; }
.review-rating { display: flex; align-items: center; gap: 10px; margin: 20px 0 11px; }
.review-rating > span { color: #e6a300; font-size: 16px; letter-spacing: .04em; line-height: 1; }
.review-rating time { color: var(--muted); font-size: 10px; }
.review-card blockquote { margin: 0; }
.review-card blockquote p { margin: 0; color: #544c44; font-size: 13px; line-height: 1.8; }
.reviews-hint { display: flex; justify-content: flex-end; align-items: center; gap: 7px; margin: 11px 2px 0; color: var(--muted); font-size: 10px; }
.reviews-hint span { color: var(--orange); font-size: 15px; }
.gallery-preview { padding: 93px 0 105px; background: var(--white); }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.section-heading-row h2 { margin-bottom: 0; }
.section-heading-row .text-link { margin-bottom: 9px; }
.gallery-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 215px 215px; gap: 14px; }
.gallery-tile { position: relative; overflow: hidden; background: #33291f; }
.gallery-tile:nth-child(1) { grid-row: span 2; }
.gallery-tile:nth-child(4) { grid-column: span 2; }
.gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.gallery-tile:hover img { transform: scale(1.06); }
.gallery-tile::after { position: absolute; inset: 35% 0 0; background: linear-gradient(0deg, rgba(14,11,8,.7), transparent); content: ""; }
.gallery-tile span { position: absolute; z-index: 1; right: 18px; bottom: 15px; left: 18px; color: white; font: 17px var(--serif); }
.local-search-section { background: var(--paper); }
.local-search-section .section-heading { margin-bottom: 36px; }
.local-faq-list { display: grid; max-width: 920px; gap: 12px; margin: 0 auto; }
.local-faq-item { overflow: hidden; border: 1px solid rgba(41,34,27,.11); border-radius: 5px; background: var(--white); box-shadow: 0 8px 24px rgba(42,31,20,.045); transition: border-color .2s, box-shadow .2s; }
.local-faq-item:hover, .local-faq-item[open] { border-color: rgba(230,95,38,.38); box-shadow: 0 11px 30px rgba(42,31,20,.075); }
.local-faq-item summary { display: flex; min-height: 74px; align-items: center; gap: 18px; padding: 15px 20px; color: var(--ink); cursor: pointer; font: 500 20px/1.35 var(--serif); list-style: none; transition: color .2s; }
.local-faq-item summary:hover { color: var(--orange); }
.local-faq-item summary::-webkit-details-marker { display: none; }
.local-faq-item summary::after { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; margin-left: auto; border: 1px solid rgba(230,95,38,.2); border-radius: 50%; color: var(--orange); background: #fff7eb; content: "+"; font: 20px/1 var(--sans); transition: color .2s, background .2s; }
.local-faq-item[open] summary::after { color: white; background: var(--orange); content: "−"; }
.local-faq-item summary:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.local-faq-number { flex: 0 0 27px; color: var(--orange); font: 800 10px var(--sans); letter-spacing: .08em; }
.local-faq-answer { padding: 0 70px 23px 65px; color: #746d64; font-size: 13px; line-height: 1.85; }
.local-faq-answer p { margin: 0; }
.local-faq-answer a { color: var(--orange); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.reservation-cta { position: relative; overflow: hidden; padding: 76px 0; color: white; background: var(--ink); }
.reservation-cta-image { position: absolute; inset: 0 0 0 55%; background: linear-gradient(90deg, var(--ink), rgba(25,22,19,.25)), url("../img/restaurant-terrace.jpg") center 47%/cover; opacity: .58; }
.reservation-cta-content { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.reservation-cta .section-kicker { color: var(--amber); }
.reservation-cta h2 { margin-bottom: 0; color: white; font-size: 47px; }
.reservation-cta h2 em { color: var(--amber); }
.site-footer { color: rgba(255,255,255,.7); background: #191613; }
.footer-grid { display: grid; grid-template-columns: 1.15fr 1.25fr .7fr 1.1fr; gap: 40px; padding-top: 65px; padding-bottom: 58px; }
.footer-brand img { width: 162px; margin-bottom: 17px; }
.footer-brand p, .footer-visit p { max-width: 275px; margin: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.8; }
.site-footer h2 { margin: 5px 0 22px; color: white; font: 20px var(--serif); }
.footer-contact { display: flex; gap: 11px; margin: 0 0 14px; color: rgba(255,255,255,.66); font-size: 12px; }
.footer-contact svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--amber); }
.footer-mail { color: var(--amber); }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin: 0 0 9px; font-size: 12px; }
.footer-links a:hover, .footer-contact a:hover { color: var(--amber); }
.social-links { display: flex; gap: 8px; margin-top: 20px; }
.social-links a { display: flex; width: 34px; height: 34px; justify-content: center; align-items: center; border: 1px solid rgba(255,255,255,.22); color: white; transition: border-color .2s, color .2s; }
.social-links a:hover { color: var(--amber); border-color: var(--amber); }
.social-links svg { width: 15px; height: 15px; }
.footer-visit .text-link { margin-top: 19px; color: var(--amber); font-size: 9px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom .container { display: flex; min-height: 48px; justify-content: space-between; align-items: center; gap: 10px; color: rgba(255,255,255,.45); font-size: 10px; }
.footer-bottom a:hover { color: white; }
.floating-actions { position: fixed; z-index: 60; top: 50%; right: max(18px, env(safe-area-inset-right)); display: flex; flex-direction: column; gap: 11px; transform: translateY(-50%); }
.floating-action { position: relative; display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(255,255,255,.76); border-radius: 50%; color: #fff; box-shadow: 0 6px 20px rgba(18,15,12,.24); transition: transform .2s ease, box-shadow .2s ease; }
.floating-action:hover, .floating-action:focus-visible { transform: translateX(-4px) scale(1.04); box-shadow: 0 9px 24px rgba(18,15,12,.3); }
.floating-action svg { width: 21px; height: 21px; }
.floating-action--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.floating-action--youtube { background: #f00020; }
.floating-action--maps { background: #806344; }
.floating-action--phone { background: #d94536; }
.floating-action--whatsapp { background: #1ca96a; }
.floating-action--whatsapp svg { fill: currentColor; }
.floating-action::after { position: absolute; top: 50%; right: calc(100% + 10px); padding: 6px 10px; border-radius: 6px; color: white; background: rgba(25,22,19,.94); content: attr(data-label); font-size: 11px; font-weight: 700; line-height: 1.2; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(4px,-50%); transition: opacity .18s ease, transform .18s ease; }
.floating-action:hover::after, .floating-action:focus-visible::after { opacity: 1; transform: translate(0,-50%); }

/* İç sayfalar */
.page-hero { position: relative; display: flex; min-height: 320px; align-items: center; overflow: hidden; color: white; background: #221b15; }
.page-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,15,12,.9), rgba(18,15,12,.42)), url("../img/restaurant-interior.jpg") center 55%/cover; content: ""; }
.page-hero-content { position: relative; z-index: 1; padding: 48px 0; }
.page-hero .section-kicker { color: var(--amber); }
.page-hero h1 { margin: 12px 0 9px; color: white; font: 500 clamp(42px, 6vw, 68px)/1.05 var(--serif); letter-spacing: -.04em; }
.page-hero p { margin: 0; color: rgba(255,255,255,.7); font-size: 14px; }
.page-hero-mark { position: absolute; right: 4%; bottom: -23px; color: rgba(255,255,255,.05); font: 900 clamp(75px, 14vw, 190px)/1 var(--sans); letter-spacing: -.07em; pointer-events: none; }
.page-hero-menu::before { background-image: linear-gradient(90deg, rgba(18,15,12,.91), rgba(18,15,12,.42)), url("../img/restaurant-interior-main.jpg"); }
.page-hero-fixed::before { background-image: linear-gradient(90deg, rgba(18,15,12,.91), rgba(18,15,12,.42)), url("../img/restaurant-facade.jpg"); }
.menu-page { background: var(--paper); }
.menu-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); align-items: start; gap: 75px; }
.menu-sidebar { position: sticky; top: 124px; }
.menu-sidebar > .section-kicker { margin-bottom: 20px; }
.menu-category-nav { display: flex; flex-direction: column; }
.menu-category-nav a { display: grid; grid-template-columns: 26px 1fr 16px; align-items: center; gap: 9px; padding: 12px 0; border-bottom: 1px solid var(--line); color: #4c443c; transition: color .2s; }
.menu-category-number { color: var(--orange); font: 9px var(--sans); }
.menu-category-label { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.menu-category-label strong { font: 16px var(--serif); font-weight: 500; }
.menu-category-label small { color: #958b80; font-size: 9px; letter-spacing: .04em; }
.menu-category-nav a svg { width: 14px; height: 14px; color: var(--orange); opacity: 0; transition: opacity .2s, transform .2s; }
.menu-category-nav a:hover { color: var(--orange); }
.menu-category-nav a:hover .menu-category-label small { color: var(--orange); }
.menu-category-nav a:hover svg { opacity: 1; transform: translateX(3px); }
.menu-callout { display: flex; flex-direction: column; gap: 7px; margin-top: 25px; padding: 18px; color: white; background: var(--ink); }
.menu-callout small { color: var(--amber); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.menu-callout a { font: 20px var(--serif); }
.menu-intro { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.menu-intro h2 { margin: 12px 0 10px; color: var(--ink); font: 500 51px/1.02 var(--serif); }
.menu-intro h2 em { color: var(--orange); }
.menu-intro p { max-width: 530px; margin: 0; color: var(--muted); }
.menu-tools { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 25px 0 18px; }
.menu-search { display: flex; width: min(360px, 100%); min-height: 48px; align-items: center; gap: 11px; padding: 0 14px; border: 1px solid #ded8cd; background: rgba(255,255,255,.74); transition: border-color .2s, box-shadow .2s; }
.menu-search:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(190,88,35,.08); }
.menu-search > span { color: var(--orange); font: 24px/1 var(--serif); }
.menu-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font: 13px var(--sans); }
.menu-search input::placeholder { color: #9a9186; }
.qr-menu-link { display: inline-flex; align-items: center; gap: 9px; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.qr-menu-link svg { width: 15px; height: 15px; transition: transform .2s; }
.qr-menu-link:hover svg { transform: translateX(3px); }
.menu-category { padding: 32px 0 24px; border-bottom: 1px solid var(--line); scroll-margin-top: 120px; }
.menu-category-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 10px; }
.menu-category-heading > span { color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.menu-category-heading h2 { margin: 0; color: var(--ink); font: 500 28px var(--serif); }
.menu-category-heading small { color: var(--muted); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.menu-category-heading i { height: 1px; flex: 1; margin-left: 8px; background: var(--line); }
.menu-items { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 34px; }
.menu-item { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px dotted rgba(41,34,27,.19); }
.menu-item h3 { margin: 0; color: #312920; font: 500 16px var(--serif); }
.menu-item p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.menu-item strong { color: var(--orange); font-size: 13px; white-space: nowrap; }
.menu-no-results { padding: 22px 0; color: var(--muted); font-size: 13px; }
.menu-no-results a, .menu-footnote a { color: var(--orange); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.menu-footnote { padding: 18px 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.menu-category[hidden], .menu-category-nav a[hidden], .menu-item[hidden], .menu-no-results[hidden] { display: none !important; }
.corporate-section { background: var(--white); }
.corporate-grid { display: grid; grid-template-columns: 1.1fr .9fr 225px; align-items: start; gap: 36px; }
.corporate-photo { position: relative; height: 460px; background: #33291f; }
.corporate-photo img { width: 100%; height: 100%; object-fit: cover; }
.corporate-photo span { position: absolute; right: 0; bottom: 0; padding: 11px 15px; color: var(--ink); background: var(--amber); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.corporate-copy h2 { margin: 14px 0 20px; font-size: 42px; }
.rich-copy { color: #746d64; line-height: 1.9; }
.corporate-menu { padding-top: 5px; }
.corporate-menu h2 { margin: 0 0 16px; color: var(--ink); font: 19px var(--serif); }
.corporate-menu a { display: flex; justify-content: space-between; gap: 9px; align-items: center; margin-bottom: 8px; padding: 13px 14px; border: 1px solid var(--line); color: #645b50; font-size: 12px; transition: color .2s, border-color .2s, background .2s; }
.corporate-menu a svg { width: 14px; height: 14px; color: var(--orange); opacity: 0; }
.corporate-menu a:hover, .corporate-menu a.is-current { color: var(--ink); border-color: var(--amber); background: #fff9ed; }
.corporate-menu a:hover svg, .corporate-menu a.is-current svg { opacity: 1; }
.fixed-menu-section { background: var(--paper); }
.fixed-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 25px; }
.fixed-menu-card { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 310px; background: var(--white); box-shadow: 0 12px 36px rgba(40,29,17,.06); }
.fixed-menu-photo { min-height: 100%; overflow: hidden; background: var(--ink); }
.fixed-menu-photo img { width: 100%; height: 100%; object-fit: cover; }
.fixed-menu-number { position: absolute; z-index: 1; top: 12px; left: 12px; color: white; font: 25px var(--serif); text-shadow: 0 2px 9px #000; }
.fixed-menu-body { display: flex; flex-direction: column; align-items: flex-start; padding: 28px 24px; }
.fixed-menu-body h2 { margin: 10px 0; color: var(--ink); font: 26px var(--serif); }
.fixed-menu-body p { margin: 0 0 13px; color: var(--muted); font-size: 12px; white-space: pre-line; }
.fixed-menu-body > strong { margin-bottom: 15px; color: var(--orange); }
.fixed-menu-body .text-link { margin-top: auto; font-size: 9px; }
.fixed-menu-empty { max-width: 760px; margin: 0 auto; padding: 65px 30px; background: var(--white); text-align: center; box-shadow: 0 16px 50px rgba(40,29,17,.06); }
.fixed-menu-empty > p { max-width: 480px; margin: 0 auto 28px; color: var(--muted); }
.fixed-menu-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; }
.gallery-page { background: var(--paper); }
.gallery-page-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gallery-page-item { position: relative; height: 310px; margin: 0; overflow: hidden; background: #392c20; }
.gallery-page-link { position: absolute; inset: 0; display: block; }
.gallery-page-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gallery-page-item:hover img { transform: scale(1.05); }
.gallery-page-item::after { position: absolute; inset: 55% 0 0; background: linear-gradient(0deg, rgba(12,10,8,.74), transparent); content: ""; pointer-events: none; }
.gallery-page-item figcaption { position: absolute; z-index: 1; right: 17px; bottom: 15px; left: 17px; display: flex; gap: 12px; align-items: center; color: white; font: 16px var(--serif); pointer-events: none; }
.gallery-page-item figcaption span { color: var(--amber); font: 10px var(--sans); }
.gallery-page-item:nth-child(5n+2) { grid-row: span 1; }

.photo-lightbox { position: fixed; inset: 0; width: min(1120px, calc(100vw - 36px)); max-width: 1120px; max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); margin: auto; padding: 18px 22px 15px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; color: #fff; background: linear-gradient(145deg, #28221c, #171512); box-shadow: 0 28px 90px rgba(0,0,0,.48); }
.photo-lightbox[open] { animation: lightbox-enter .2s ease both; }
.photo-lightbox::backdrop { background: rgba(10,8,6,.84); backdrop-filter: blur(8px); }
@keyframes lightbox-enter { from { opacity: 0; transform: scale(.975); } to { opacity: 1; transform: scale(1); } }
body.lightbox-open { overflow: hidden; }
.lightbox-topline, .lightbox-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lightbox-topline { margin-bottom: 12px; color: var(--amber); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.lightbox-close { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; font-size: 25px; line-height: 1; transition: background .2s, color .2s; }
.lightbox-close:hover { color: var(--ink); background: var(--amber); }
.lightbox-stage { display: grid; grid-template-columns: 46px minmax(0,1fr) 46px; align-items: center; gap: 20px; }
.lightbox-stage figure { display: grid; min-width: 0; justify-items: center; margin: 0; }
.lightbox-stage img { display: block; width: auto; height: auto; max-width: 100%; max-height: min(78vh,780px); max-height: min(78dvh,780px); border-radius: 8px; object-fit: contain; opacity: 0; transform: scale(.985); transition: opacity .22s ease, transform .22s ease; }
.lightbox-stage img.is-visible { opacity: 1; transform: scale(1); }
.lightbox-stage figcaption { max-width: 100%; margin-top: 12px; overflow: hidden; color: rgba(255,255,255,.76); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.lightbox-arrow { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; font-size: 20px; transition: border-color .2s, color .2s, background .2s; }
.lightbox-arrow:hover { color: var(--ink); border-color: var(--amber); background: var(--amber); }
.lightbox-footer { margin-top: 12px; color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .08em; }
.lightbox-footer span:first-child { color: var(--amber); font-weight: 800; }

.reservation-page, .contact-page { background: var(--paper); }
.reservation-layout { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: clamp(38px, 8vw, 100px); }
.reservation-note { position: sticky; top: 130px; padding: 25px 0; }
.reservation-note h2, .contact-details h2 { margin: 15px 0; font-size: 48px; }
.reservation-note > p { max-width: 350px; margin: 0 0 24px; color: var(--muted); }
.reservation-note .text-link svg { color: var(--orange); }
.reservation-form, .contact-form { padding: 39px; background: var(--white); box-shadow: 0 15px 42px rgba(42,31,20,.06); }
.reservation-form h2, .contact-form h2 { margin: 12px 0 25px; color: var(--ink); font: 31px var(--serif); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.form-grid label, .install-grid label { display: flex; flex-direction: column; gap: 7px; color: #51483f; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.form-grid input, .form-grid select, .form-grid textarea, .install-grid input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #ded9d0; border-radius: 0; outline: 0; color: var(--ink); background: #fffefa; font-size: 13px; font-weight: 400; letter-spacing: 0; transition: border .2s, box-shadow .2s; }
.form-grid textarea { min-height: 105px; resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .install-grid input:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(230,95,38,.1); }
.form-wide { grid-column: 1 / -1; }
.form-disclaimer { display: block; margin-top: 14px; color: var(--muted); font-size: 10px; text-align: center; }
.form-alert { margin: 12px 0 18px; padding: 12px 15px; color: #8a301d; background: #fff0eb; border: 1px solid #f4c5b6; font-size: 12px; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 100px); }
.contact-details { padding-top: 12px; }
.contact-detail { display: flex; gap: 14px; margin: 25px 0; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.contact-detail > svg { width: 19px; height: 19px; flex: 0 0 19px; color: var(--orange); }
.contact-detail small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.contact-detail p { margin: 4px 0 0; color: var(--text); font-size: 13px; line-height: 1.8; }
.contact-detail a:hover { color: var(--orange); }
.contact-email-icon { color: var(--orange); }
.contact-details > .button { margin-top: 7px; }
.install-body { min-height: 100vh; color: var(--text); background: linear-gradient(135deg,#191613 0%,#33271d 100%); }
.install-shell { width: min(650px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0; }
.install-brand { display: block; width: 145px; margin: 0 auto 25px; }
.install-card { padding: 34px; border: 1px solid rgba(255,255,255,.15); background: var(--white); box-shadow: 0 25px 80px rgba(0,0,0,.24); }
.install-card h1 { margin: 10px 0 8px; color: var(--ink); font: 38px var(--serif); }
.install-card > p { margin: 0 0 23px; color: var(--muted); font-size: 13px; }
.install-card h2 { margin: 20px 0 14px; color: var(--ink); font: 22px var(--serif); }
.install-card hr { margin: 24px 0; border: 0; border-top: 1px solid var(--line); }
.install-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.install-grid small { color: var(--muted); font-size: 10px; font-weight: 400; }
.install-wide { grid-column: 1 / -1; }
.install-card .button { margin-top: 23px; }
.install-foot { color: rgba(255,255,255,.55); font-size: 11px; text-align: center; }

@media (max-width: 1020px) {
  .container { width: min(var(--container), calc(100% - 44px)); }
  .nav-inner { min-height: 78px; }
  .brand { flex-basis: 122px; }
  .brand img { width: 122px; }
  .site-nav { gap: 13px; }
  .site-nav > a:not(.nav-reservation) { font-size: 9px; letter-spacing: .07em; }
  .site-nav .nav-reservation { padding: 11px; font-size: 9px; }
  .menu-layout { grid-template-columns: 210px minmax(0,1fr); gap: 42px; }
  .corporate-grid { grid-template-columns: 1fr 1fr; }
  .corporate-menu { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
  .corporate-menu h2 { grid-column: 1 / -1; }
  .corporate-menu a { margin: 0; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .video-story-grid { grid-template-columns: minmax(0,1fr) minmax(260px,310px); gap: 48px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 82px; }
  .container { width: min(var(--container), calc(100% - 36px)); }
  .topbar { display: none; }
  .site-header { position: sticky; }
  .nav-inner { position: relative; min-height: 72px; }
  .brand { flex-basis: 120px; }
  .brand img { width: 120px; }
  .nav-toggle { position: relative; z-index: 3; display: flex; width: 48px; height: 48px; border-color: rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.045); transition: color .2s, background .2s, border-color .2s, transform .2s; }
  .nav-toggle.is-open { color: var(--ink); border-color: var(--amber); background: var(--amber); transform: rotate(90deg); }
  .site-header.menu-is-open { background: #191613; backdrop-filter: none; }
  .site-header.menu-is-open .nav-backdrop { position: fixed; z-index: 0; inset: 72px 0 0; display: block; width: 100%; height: calc(100vh - 72px); height: calc(100svh - 72px); padding: 0; border: 0; background: rgba(8,7,6,.58); backdrop-filter: blur(7px); }
  body.menu-open { overflow: hidden; }
  .site-nav { position: absolute; z-index: 2; top: calc(100% + 11px); right: 0; left: 0; display: flex; max-height: calc(100vh - 101px); max-height: calc(100svh - 101px); flex-direction: column; align-items: stretch; gap: 5px; overflow-y: auto; overscroll-behavior: contain; padding: 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 19px; background: linear-gradient(145deg, rgba(43,36,29,.99), rgba(23,21,18,.99)); box-shadow: 0 24px 60px rgba(0,0,0,.4), inset 0 1px rgba(255,255,255,.045); counter-reset: mobile-nav; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-9px) scale(.985); transform-origin: top center; transition: opacity .22s ease, transform .28s cubic-bezier(.2,.75,.2,1), visibility .22s; }
  .site-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
  .site-nav > a:not(.nav-reservation) { display: grid; min-height: 54px; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid transparent; border-bottom-color: rgba(255,255,255,.085); border-radius: 12px; color: rgba(255,255,255,.83); font-size: 14px; font-weight: 650; letter-spacing: .01em; text-transform: none; transition: color .2s, background .2s, border-color .2s; }
  .site-nav > a:not(.nav-reservation)::before { counter-increment: mobile-nav; content: "0" counter(mobile-nav); color: var(--amber); font-size: 9px; font-weight: 700; letter-spacing: .08em; }
  .site-nav > a:not(.nav-reservation)::after { content: "↗"; color: rgba(255,255,255,.36); font-size: 14px; transition: color .2s, transform .2s; }
  .site-nav > a:not(.nav-reservation):hover, .site-nav > a:not(.nav-reservation).is-active { color: white; border-color: rgba(243,168,47,.15); background: rgba(243,168,47,.08); }
  .site-nav > a:not(.nav-reservation):hover::after, .site-nav > a:not(.nav-reservation).is-active::after { color: var(--amber); transform: translate(2px,-2px); }
  .site-nav > a.nav-qr-menu { border-color: rgba(243,168,47,.28); border-bottom-color: rgba(243,168,47,.28); color: white; background: rgba(243,168,47,.07); }
  .site-nav > a.nav-qr-menu::before, .site-nav > a.nav-qr-menu::after { color: var(--amber); }
  .site-nav .nav-reservation { display: grid; min-height: 61px; grid-template-columns: 1fr auto; align-items: center; justify-content: space-between; gap: 12px; margin-top: 7px; padding: 12px 16px; border-radius: 13px; color: #21170d; background: linear-gradient(115deg, #f0a52c, #ffd16d); font-size: 13px; letter-spacing: .01em; text-transform: none; }
  .nav-reservation-copy { gap: 4px; }
  .nav-reservation-copy strong { font-size: 14px; font-weight: 800; }
  .nav-reservation-copy small { display: block; color: rgba(33,23,13,.7); font-size: 10px; font-weight: 500; letter-spacing: .01em; text-transform: none; }
  .nav-reservation-arrow { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(33,23,13,.2); border-radius: 50%; font-size: 17px; }
  .hero-slider { height: clamp(650px, calc(100svh - 72px), 790px); min-height: 650px; }
  .hero-visual { inset: 0; }
  .hero-photo { object-position: center 52%; }
  .hero-slide-1 .hero-photo { object-position: center 60%; }
  .hero-slide-2 .hero-photo { object-position: center 48%; }
  .hero-shade { background: linear-gradient(90deg, rgba(19,16,13,.45), rgba(19,16,13,.12)), linear-gradient(180deg, rgba(19,16,13,.68) 0%, rgba(19,16,13,.45) 43%, rgba(19,16,13,.1) 72%, rgba(19,16,13,.52) 100%); }
  .hero-layout { align-items: flex-start; padding: clamp(30px, 6vh, 52px) 0 98px; }
  .hero-copy { width: 100%; max-width: 600px; padding: 0; }
  .hero-copy h1 { max-width: 500px; margin: 17px 0 12px; font-size: clamp(43px, 9vw, 64px); text-shadow: 0 3px 24px rgba(0,0,0,.52); }
  .hero-copy p { max-width: 460px; font-size: 13px; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
  .hero-actions { gap: 9px; margin-top: 22px; }
  .button { min-height: 47px; padding: 0 15px; font-size: 9px; }
  .hero-signature { display: none; }
  .hero-controls { bottom: 19px; }
  .slider-arrows button { width: 37px; height: 37px; }
  .intro-strip-inner { min-height: 62px; gap: 12px; font-size: 8px; letter-spacing: .08em; }
  .intro-strip-inner span:nth-of-type(2) { display: none; }
  .intro-strip-inner i:nth-of-type(2) { display: none; }
  .section { padding: 72px 0; }
  .section-heading { margin-bottom: 32px; }
  .section-heading h2, .story-copy h2 { font-size: 39px; }
  .section-heading p { font-size: 13px; }
  .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 14px; }
  .featured-photo { height: clamp(145px, 43vw, 230px); }
  .featured-card-mobile-lead { grid-column: 1 / -1; }
  .featured-card-mobile-lead .featured-photo { height: clamp(235px, 68vw, 345px); }
  .featured-card-mobile-lead h3 { font-size: clamp(22px, 5vw, 28px); }
  .featured-card-mobile-lead .featured-meta { font-size: 9px; }
  .featured-card h3 { font-size: 19px; }
  .featured-meta { font-size: 8px; }
  .category-band { padding: 50px 0; }
  .category-band-inner { grid-template-columns: 1fr; gap: 22px; }
  .category-band h2 { font-size: 38px; }
  .category-pills { gap: 0 17px; }
  .category-pills a { font-size: 14px; }
  .story-grid { grid-template-columns: 1fr; gap: 38px; }
  .story-image-wrap { min-height: min(108vw, 450px); margin-right: 14px; }
  .story-image-caption { right: -14px; bottom: 18px; padding: 13px 16px; }
  .story-copy h2 { margin-top: 13px; }
  .story-signature { margin-top: 30px; }
  .video-story { padding: 72px 0; }
  .video-story-grid { grid-template-columns: 1fr; gap: 34px; }
  .video-story-copy h2, .reviews-heading h2 { font-size: 39px; }
  .video-story-copy > p { font-size: 13px; }
  .video-story-media { width: min(100%, 335px); justify-self: center; }
  .video-story-actions { gap: 17px; margin-top: 22px; }
  .award-feature { padding: 68px 0; }
  .award-feature-grid { grid-template-columns: 1fr; gap: 26px; }
  .award-feature-copy h2 { font-size: 39px; }
  .award-feature-copy > p { font-size: 13px; }
  .award-feature-media figcaption { padding: 11px 12px; font-size: 7px; letter-spacing: .08em; }
  .reviews-heading { align-items: stretch; flex-direction: column; gap: 14px; margin-bottom: 24px; }
  .reviews-heading .section-kicker { max-width: 330px; line-height: 1.7; }
  .reviews-heading p { font-size: 12px; }
  .reviews-controls { align-self: flex-end; gap: 6px; padding: 0; }
  .reviews-controls button { width: 37px; height: 37px; font-size: 17px; }
  .review-rail { grid-auto-columns: 100%; gap: 12px; padding-bottom: 14px; }
  .review-card { min-height: 270px; padding: 20px 18px; }
  .reviews-hint { justify-content: flex-start; }
  .gallery-preview { padding: 70px 0; }
  .section-heading-row { align-items: flex-start; flex-direction: column; gap: 16px; }
  .section-heading-row h2 { font-size: 34px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 140px 140px; gap: 9px; }
  .gallery-tile:nth-child(1) { grid-row: span 2; }
  .gallery-tile:nth-child(4) { grid-column: auto; }
  .gallery-tile span { right: 10px; bottom: 9px; left: 10px; font-size: 13px; }
  .reservation-cta { padding: 58px 0; }
  .reservation-cta-image { inset: 0; opacity: .31; background-position: 60% center; }
  .reservation-cta-content { align-items: flex-start; flex-direction: column; gap: 21px; }
  .reservation-cta h2 { font-size: 39px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-top: 48px; padding-bottom: 42px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand img { width: 145px; }
  .site-footer h2 { margin-bottom: 14px; font-size: 18px; }
  .footer-bottom .container { min-height: 52px; font-size: 9px; }
  .floating-actions { right: max(10px, env(safe-area-inset-right)); gap: 8px; }
  .floating-action { width: 43px; height: 43px; }
  .floating-action svg { width: 19px; height: 19px; }
  .page-hero { min-height: 262px; }
  .page-hero-content { padding: 35px 0; }
  .page-hero h1 { font-size: 48px; }
  .page-hero p { max-width: 350px; font-size: 12px; }
  .page-hero-mark { right: 1%; bottom: -9px; font-size: 78px; }
  .menu-layout { grid-template-columns: 1fr; gap: 29px; }
  .menu-sidebar { position: static; }
  .menu-sidebar > .section-kicker { margin-bottom: 12px; }
  .menu-category-nav { flex-direction: row; gap: 8px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
  .menu-category-nav a { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid var(--line); background: rgba(255,255,255,.55); white-space: nowrap; }
  .menu-category-label { gap: 0; }
  .menu-category-label strong { font-size: 13px; }
  .menu-category-label small { font-size: 8px; }
  .menu-category-nav a svg { display: none; }
  .menu-tools { align-items: stretch; flex-direction: column; gap: 13px; margin-top: 19px; }
  .menu-search { width: 100%; }
  .qr-menu-link { align-self: flex-start; }
  .menu-callout { flex-direction: row; justify-content: space-between; align-items: center; margin-top: 8px; padding: 12px 15px; }
  .menu-callout a { font-size: 17px; }
  .menu-intro h2 { font-size: 42px; }
  .menu-intro p { font-size: 12px; }
  .menu-category { padding-top: 25px; }
  .menu-category-heading { gap: 9px; }
  .menu-category-heading h2 { font-size: 25px; }
  .menu-category-heading small { font-size: 8px; }
  .menu-items { grid-template-columns: 1fr; }
  .menu-item { padding: 11px 0; }
  .corporate-grid { grid-template-columns: 1fr; gap: 28px; }
  .corporate-photo { height: 350px; }
  .corporate-copy h2 { font-size: 36px; }
  .corporate-menu { grid-column: auto; display: flex; flex-direction: column; gap: 0; }
  .corporate-menu h2 { margin-bottom: 10px; }
  .corporate-menu a { margin-bottom: 7px; }
  .fixed-menu-grid { grid-template-columns: 1fr; }
  .fixed-menu-card { min-height: 250px; }
  .fixed-menu-body { padding: 22px 18px; }
  .fixed-menu-body h2 { font-size: 22px; }
  .fixed-menu-empty { padding: 44px 20px; }
  .fixed-menu-empty h2 { font-size: 38px; }
  .gallery-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .gallery-page-item { height: clamp(160px, 48vw, 245px); }
  .gallery-page-item figcaption { right: 10px; bottom: 10px; left: 10px; font-size: 13px; }
  .reservation-layout, .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .reservation-note { position: static; padding: 0; }
  .reservation-note h2, .contact-details h2 { font-size: 40px; }
  .reservation-form, .contact-form { padding: 25px 20px; }
  .reservation-form h2, .contact-form h2 { font-size: 27px; }
}
@media (max-width: 680px) {
  .local-faq-item summary { min-height: 66px; gap: 10px; font-size: 16px; }
  .local-faq-number { flex-basis: 20px; }
  .local-faq-answer { padding: 0 18px 19px 48px; font-size: 12px; }
  .photo-lightbox { width: calc(100vw - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 11px 10px 12px; border-radius: 14px; }
  .lightbox-topline { margin-bottom: 6px; }
  .lightbox-close { width: 36px; height: 36px; }
  .lightbox-stage { grid-template-columns: 34px minmax(0,1fr) 34px; gap: 4px; }
  .lightbox-arrow { width: 33px; height: 33px; font-size: 17px; }
  .lightbox-stage img { max-height: calc(100vh - 145px); max-height: calc(100dvh - 145px); }
  .lightbox-stage figcaption { margin-top: 8px; font-size: 11px; }
  .lightbox-footer { margin-top: 8px; font-size: 8px; }
  .lightbox-footer span:last-child { text-align: right; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 28px); }
  .hero-copy h1 { font-size: 42px; }
  .hero-actions .button { min-height: 44px; padding: 0 12px; }
  .intro-strip-inner { gap: 8px; font-size: 7px; }
  .featured-grid { gap: 24px 11px; }
  .featured-photo { height: 150px; }
  .featured-card-mobile-lead .featured-photo { height: clamp(225px, 70vw, 285px); }
  .featured-card h3 { font-size: 17px; }
  .featured-meta { gap: 5px; font-size: 7px; letter-spacing: .08em; }
  .featured-index { right: 10px; font-size: 19px; }
  .category-pills { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-rows: 155px 120px 120px; }
  .form-grid { grid-template-columns: 1fr; gap: 13px; }
  .form-wide { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom .container { align-items: flex-start; flex-direction: column; justify-content: center; padding-top: 10px; padding-bottom: 10px; }
  .install-card { padding: 25px 19px; }
  .install-grid { grid-template-columns: 1fr; }
  .install-wide { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .review-rail { scroll-behavior: auto; }
  .slider-progress { display: none; }
}
