/* Footer credit shares the restaurant's restrained typography. */
.header-location,.mobile-dock{display:none}
.developer-credit{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding-top:22px;margin-top:22px;border-top:1px solid #d5b99c30;font-size:10px;color:#b49d8f}
.developer-credit a{display:inline-flex;align-items:center;gap:12px;color:var(--cream);font-size:12px;letter-spacing:.7px}
.developer-credit a span{font-size:17px;line-height:1}
.footer-towns a{padding:4px 0;border-bottom:1px solid transparent}
.footer-towns a:hover{border-bottom-color:var(--gold)}

@media(max-width:600px){
  :root{--mobile-header:72px;--mobile-dock:78px}
  html{scroll-padding-top:148px}
  body{padding-bottom:calc(var(--mobile-dock) + env(safe-area-inset-bottom,0px))}
  .section{padding:56px 20px}
  .site-header{position:sticky;top:0;height:var(--mobile-header);padding:0 20px;background:#482126f5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #d5b99c20}
  .brand img{width:101px}
  .header-actions{gap:16px}
  .header-actions>.book-button{display:none}
  .header-location{display:flex;align-items:center;gap:6px;color:#dfcab5;font-size:11px;white-space:nowrap}
  .header-location span{font-size:21px}
  .menu-toggle{display:grid;align-content:center;justify-items:center;gap:6px;width:44px;height:44px;padding:0;border:1px solid #d5b99c40;border-radius:50%}
  .menu-toggle span{width:18px;margin:0}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav{position:fixed;inset:var(--mobile-header) 0 calc(var(--mobile-dock) + env(safe-area-inset-bottom,0px));padding:18px 24px 30px;background:var(--cream);color:var(--wine);overflow:auto;overscroll-behavior:contain;box-shadow:none;counter-reset:mobile-menu}
  .mobile-nav a{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font:500 31px/1.1 var(--serif);counter-increment:mobile-menu;min-height:62px}
  .mobile-nav a:before{content:counter(mobile-menu,decimal-leading-zero);font:500 9px var(--sans);letter-spacing:1px;color:var(--muted)}
  .mobile-nav a:last-child{font:500 20px/1.5 var(--sans);margin-top:10px;border-bottom:0}
  body.nav-open{overflow:hidden}
  body.nav-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero{position:relative;display:flex;min-height:560px;height:calc(100svh - var(--mobile-header) - var(--mobile-dock));max-height:780px;overflow:hidden}
  .hero-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0}
  .hero-visual>img{object-position:57% 48%;height:100%;width:100%}
  .hero-visual:after{background:linear-gradient(180deg,#28131730 0%,#2a17193b 25%,#351a1ee8 67%,#351a1e 100%)}
  .hero-copy{display:flex;flex:1;flex-direction:column;justify-content:flex-end;width:100%;padding:110px 24px 38px;z-index:2}
  .hero-copy .eyebrow{font-size:8px;letter-spacing:1.7px;max-width:none;color:#f1dfcb;margin-bottom:18px}
  .hero-title{font-size:clamp(58px,18.5vw,94px);line-height:.91;letter-spacing:-1.9px;margin-bottom:23px;text-shadow:0 2px 20px #1c08082a}
  .hero-description{font-size:14px;line-height:1.7;max-width:335px;color:#e9dacf;margin-bottom:24px}
  .hero-buttons .button.cream{display:none}
  .hero-buttons .button.ghost{min-height:48px;padding:12px 20px;border-color:#d5b99c80;background:#f4efe50a;border-radius:28px;font-size:12px;gap:50px;backdrop-filter:blur(8px)}
  .hero-seal{display:none}
  .hero-image-caption{top:24px;bottom:auto;left:24px;right:24px;color:#f4efe5}
  .hero-image-caption span:first-child{display:none}
  .hero-image-caption span:last-child{padding:6px 11px;border:1px solid #ffffff55;border-radius:20px;background:#2a17193b;backdrop-filter:blur(6px);font-size:9px;letter-spacing:1px}
  .intro-strip{padding:19px 20px;font-size:8px;letter-spacing:1px}
  h2{font-size:clamp(39px,11vw,54px);line-height:1.07}
  .eyebrow{font-size:9px;letter-spacing:1.6px}
  .about-columns p,.history-copy>p,.fire-copy p,.delivery-callout p,.page-hero-copy>p,.contacts p{font-size:14px;line-height:1.8}
  .about-columns .lead{font:400 25px/1.4 var(--serif)}
  .button,.text-link{font-size:12px;min-height:48px}
  .button{border-radius:5px}
  .section-heading>p,.section-heading>div:last-child>p{font-size:13px}
  .menu-preview .dish-grid{display:flex;overflow-x:auto;gap:16px;margin:0 -20px;padding:0 20px 14px;scroll-snap-type:x mandatory;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .menu-preview .dish-card{flex:0 0 83%;scroll-snap-align:start}
  .dish-image{border-radius:12px;aspect-ratio:1.08}
  .image-expand{border-radius:50%;width:36px;height:36px;right:12px;bottom:12px}
  .dish-title h3,.catalog-category .dish-title h3{font-size:27px;max-width:72%;line-height:1.12}
  .dish-price{font-size:13px;line-height:1.4}
  .dish-description{font-size:13px;line-height:1.75}
  .dish-meta{font-size:11px;align-items:center;min-height:48px}
  .dish-meta>a{min-height:44px;display:flex;align-items:center}
  .menu-categories{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px;padding-top:22px}
  .menu-categories a{padding:10px 13px;border:1px solid #c7baaa;border-radius:25px;font-size:11px;min-height:44px;gap:16px}
  .fire-photo{height:355px}
  .fire-copy{padding:45px 24px}
  .fire-copy h2{font-size:52px}
  .gallery{display:flex;gap:14px;overflow-x:auto;margin:0 -20px;padding:0 20px 15px;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:thin}
  .gallery-image{flex:0 0 86%;margin:0;scroll-snap-align:start}
  .gallery-image img,.gallery-0 img,.gallery-1 img,.gallery-2 img{height:370px;border-radius:12px;object-position:center 52%}
  .gallery-image span{font-size:11px;padding:15px 0}
  .lunch{gap:26px}
  .lunch-time strong{font-size:44px}
  .lunch-time p{font-size:13px}
  .history-photo img{height:410px;border-radius:12px}
  .history-details summary{min-height:54px;font-size:13px;align-items:center}
  .history-details p{font-size:13px}
  .contacts{gap:25px}
  .contacts h2{font-size:66px}
  .big-phone{font-size:clamp(30px,9.4vw,42px)}
  .hours p{font-size:12px;flex-wrap:wrap}
  .contacts .button{width:100%;justify-content:space-between;margin-top:14px}
  .socials{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
  .socials a{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:6px;font-size:12px}
  .site-footer{padding:38px 24px 28px}
  .footer-top{padding-bottom:26px;gap:24px}
  .footer-top p{font-size:23px}
  .footer-top nav{gap:0 18px}
  .footer-top nav a{min-height:44px;display:flex;align-items:center;font-size:12px}
  .footer-towns{gap:9px;align-items:center;padding:22px 0}
  .footer-towns>span{flex-basis:100%;font-size:10px;margin-bottom:4px}
  .footer-towns a{padding:8px 12px;border:1px solid #d5b99c40;border-radius:22px;min-height:40px;font-size:11px;display:flex;align-items:center}
  .footer-bottom{font-size:10px;gap:9px}
  .developer-credit{justify-content:flex-start;margin-top:24px;padding-top:24px;font-size:11px}
  .developer-credit a{font-size:13px}
  .page-hero{position:relative;min-height:405px;overflow:hidden;display:flex;justify-content:flex-end}
  .page-hero-image{position:absolute;inset:0;height:100%;z-index:0}
  .page-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#351a1e75,#351a1ef0 80%)}
  .page-hero-copy{position:relative;z-index:1;padding:26px 24px 32px}
  .breadcrumbs{font-size:10px;margin-bottom:32px;flex-wrap:wrap;color:#ead6c3}
  .page-hero .eyebrow{font-size:9px}
  .page-hero h1{font-size:clamp(44px,13vw,60px);line-height:1.03;max-width:430px}
  .page-hero-copy>p{color:#eadbd0;font-size:13px;margin-bottom:15px}
  .page-hero .button{margin-top:7px}
  .hero-town{font-size:13px;line-height:1.4}
  .catalog{padding-top:0}
  .category-nav{position:sticky;top:var(--mobile-header);z-index:40;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;padding:13px 20px;margin:0 -20px 22px;background:#f4efe5f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);scrollbar-width:none;scroll-padding-left:20px}
  .category-nav::-webkit-scrollbar{display:none}
  .category-nav a{white-space:nowrap;font-size:11px;padding:10px 14px;line-height:1.4;border:1px solid var(--line);border-radius:24px;min-height:40px;display:flex;align-items:center}
  .category-nav a.active{color:var(--cream);background:var(--wine);border-color:var(--wine)}
  .category-nav:focus{outline-offset:-3px}
  .catalog-note{font-size:11px;line-height:1.75;padding:0 2px;margin-bottom:28px}
  .catalog-category{scroll-margin-top:0}
  .category-heading h2{font-size:41px}
  .category-heading>span{font-size:10px}
  .catalog-category .dish-grid{gap:28px}
  .catalog-category .dish-card{padding:12px 12px 0;background:#fffcf7;border:1px solid #ddd3c6;border-radius:17px;box-shadow:0 6px 24px #362d2905}
  .catalog-category .dish-image{border-radius:9px}
  .catalog-category .dish-title{margin:17px 3px 12px}
  .catalog-category .dish-description{margin:0 3px 15px}
  .catalog-category .dish-meta{padding:9px 3px 10px}
  .back-to-menu{right:18px;bottom:calc(var(--mobile-dock) + 16px + env(safe-area-inset-bottom,0px));border-radius:25px;min-height:44px;padding:10px 16px;background:#482126ef;backdrop-filter:blur(12px);font-size:11px}
  .mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:55;display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:12px;align-items:center;min-height:var(--mobile-dock);padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:#f4efe5f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #d8cfc1;box-shadow:0 -6px 30px #362d2908}
  .mobile-dock>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;font-size:9px;line-height:1.3;color:var(--wine)}
  .mobile-dock svg{width:21px;height:21px}
  .mobile-dock>button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 10px;border-radius:26px;background:var(--wine);color:var(--cream);font-size:11px;font-weight:600}
  .mobile-dock>button span:last-child{font-size:19px;font-weight:400}
  .modal-open .mobile-dock{visibility:hidden}
  .booking-dialog{border-radius:18px;padding:45px 24px 26px;width:calc(100vw - 28px);max-width:440px}
  .booking-dialog h2{font-size:46px}
  .booking-dialog>p{font-size:13px}
  .booking-socials .button{font-size:12px}
  .dialog-close{width:44px;height:44px;top:6px;right:8px}
  #lightbox{border-radius:10px}
  .print-menu-grid img{border-radius:7px}
  .print-menu-grid span{font-size:11px;min-height:44px;align-items:center}
}
@media(max-width:360px){
  .site-header{padding:0 16px}.brand img{width:88px}.header-actions{gap:12px}.header-location{font-size:10px}
  .hero{min-height:550px}.hero-copy{padding-left:20px;padding-right:20px}.hero-title{font-size:59px}.hero-description{font-size:13px}
  .hero-copy .eyebrow{font-size:7px}.mobile-dock{gap:7px;padding-left:12px;padding-right:12px}.mobile-dock>button{font-size:10px;gap:9px}
  .dish-title h3,.catalog-category .dish-title h3{font-size:24px}.dish-price{font-size:12px}.category-heading h2{font-size:36px}
  .developer-credit{gap:7px;font-size:10px}.developer-credit a{font-size:12px}
}
@media print{.mobile-dock,.header-location{display:none!important}body{padding-bottom:0}.developer-credit{color:black}.developer-credit a{color:black}}
