:root { --red:#e21c25; --ink:#101010; --paper:#f2efe9; --white:#fff; --muted:#a7a39d; --line:#302f2d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:82px; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
.eyebrow { margin:0 0 12px; color:var(--red); font-size:11px; font-weight:900; letter-spacing:2px; text-transform:uppercase; }
.section { padding:110px clamp(20px,6vw,100px); }
.header { position:fixed; z-index:30; top:0; left:0; display:flex; width:100%; min-height:82px; padding:11px clamp(18px,5vw,80px); align-items:center; justify-content:space-between; color:white; border-bottom:1px solid rgba(255,255,255,.14); transition:.25s; }
.header.is-scrolled { min-height:70px; color:var(--ink); background:rgba(255,255,255,.96); border-color:#ddd; backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:11px; font-weight:950; }
.brand-logo { display:block!important; width:58px; height:58px; overflow:hidden; flex:0 0 58px; border-radius:50%; background:#050505; }
.brand-logo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.brand span { display:grid; font-size:19px; line-height:.85; }
.brand b { display:inline; color:var(--red); }
.brand small { margin-top:6px; font-family:serif; font-size:12px; font-style:italic; font-weight:500; }
.nav { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:900; text-transform:uppercase; }
.nav a { padding:11px 13px; transition:color .25s,background .25s,transform .25s; }
.nav a:hover { color:var(--red); }
.nav-order { color:#ff777c; }
.nav-cta { margin-left:8px; color:white!important; background:var(--red); box-shadow:0 8px 22px rgba(226,28,37,.2); }
.nav-cta:hover { background:#f22b34; transform:scale(1.04); }
.nav-toggle { display:none; width:44px; height:44px; padding:12px; border:1px solid currentColor; color:inherit; background:none; }
.nav-toggle span { display:block; height:2px; margin:5px 0; background:currentColor; }
.hero { position:relative; display:flex; width:100%; max-width:100vw; min-height:100vh; overflow:hidden; align-items:center; color:white; background:#080808; }
.hero>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.52) 48%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%); }
.hero-copy { position:relative; z-index:1; padding:120px clamp(20px,8vw,130px) 100px; }
.hero-copy .eyebrow { color:#f66; }
.hero h1 { margin:0; font-family:Anton,Impact,sans-serif; font-size:clamp(78px,13vw,200px); font-weight:400; line-height:.82; letter-spacing:0; }
.hero h1 em { color:var(--red); font-style:normal; }
.hero-tagline { margin:24px 0 30px; font-size:clamp(18px,2vw,27px); font-weight:800; line-height:1.3; text-transform:uppercase; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.btn { display:inline-flex; min-height:50px; padding:0 21px; align-items:center; justify-content:center; font-size:11px; font-weight:900; text-transform:uppercase; transition:transform .25s ease,background .25s ease,box-shadow .25s ease,color .25s ease; }
.btn:hover { transform:scale(1.04); }
.btn-red { color:white; background:var(--red); }
.btn-red:hover { background:#f32c35; box-shadow:0 12px 30px rgba(226,28,37,.28); }
.btn-menu-main { min-height:58px; padding:0 30px; box-shadow:0 10px 35px rgba(226,28,37,.32); }
.btn-ghost { color:white; border:1px solid rgba(255,255,255,.5); }
.hero-stamp { position:absolute; z-index:2; right:5vw; bottom:7vh; display:grid; width:150px; height:150px; padding:20px; place-content:center; text-align:center; background:var(--red); border-radius:50%; transform:rotate(8deg); }
.hero-stamp span { font-size:8px; font-weight:900; letter-spacing:2px; text-transform:uppercase; }
.hero-stamp strong { margin:6px 0; font-family:Anton,Impact,sans-serif; font-size:24px; font-weight:400; line-height:.9; }
.scroll-cue { position:absolute; z-index:2; bottom:28px; left:50%; display:grid; gap:7px; justify-items:center; font-size:8px; font-weight:900; letter-spacing:2px; text-transform:uppercase; transform:translateX(-50%); }
.scroll-cue span { width:1px; height:28px; background:var(--red); }
.ticker { overflow:hidden; padding:18px 0; color:white; background:var(--red); }
.ticker div { display:flex; width:max-content; align-items:center; animation:marquee 24s linear infinite; }
.ticker span { padding:0 28px; font-family:Anton,Impact,sans-serif; font-size:21px; }
.ticker i { width:7px; height:7px; background:white; border-radius:50%; }
@keyframes marquee { to { transform:translateX(-50%); } }
.section-head { display:flex; max-width:1300px; margin:0 auto 45px; align-items:end; justify-content:space-between; gap:35px; }
h2 { margin:0; font-family:Anton,Impact,sans-serif; font-size:clamp(55px,8vw,108px); font-weight:400; line-height:.88; text-transform:uppercase; }
.section-head>p { max-width:430px; margin:0; color:#68635d; font-size:13px; line-height:1.7; }
.signature-grid { display:grid; max-width:1300px; margin:auto; grid-template-columns:repeat(3,1fr); gap:13px; align-items:start; }


.signature { position:relative; overflow:hidden; color:white; background:#111; transition:opacity .76s ease,transform .76s ease,box-shadow .35s ease; transition-delay:var(--delay,0s); }
.signature.is-visible { opacity:1; transform:none; }


.signature:hover { box-shadow:0 22px 45px rgba(16,16,16,.18); }
.signature-visual { position:relative; aspect-ratio:2/3; overflow:hidden; background:#171717; }
.menu-badge { position:absolute; z-index:2; top:-14px; right:-14px; display:grid; width:96px; height:96px; padding:14px; place-content:center; color:white; text-align:center; background:var(--red); border:2px solid white; border-radius:50%; box-shadow:0 8px 25px rgba(0,0,0,.35); transform:rotate(7deg); transition:transform .35s ease; }
.signature:hover .menu-badge { transform:rotate(2deg) scale(1.04); }
.menu-badge i { color:#ffd5d6; font-size:8px; font-style:normal; line-height:1; }
.menu-badge b { font-family:Anton,Impact,sans-serif; font-size:22px; font-weight:400; line-height:1; text-transform:uppercase; }
.menu-badge small { margin-top:5px; font-size:7px; font-weight:900; line-height:1.3; letter-spacing:.6px; text-transform:uppercase; }
.menu-badge-price b { font-size:18px; }
.menu-badge-price small { font-size:14px; letter-spacing:0; }
.signature img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease,filter .5s ease; }
.signature:hover img { transform:scale(1.03); filter:brightness(1.05); }
.signature-info { display:grid; min-height:178px; padding:24px; grid-template-columns:1fr auto; gap:18px; align-items:start; }
.signature-info span { color:#ff777c; font-size:8px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; }
.signature-info h3 { margin:7px 0 8px; font-family:Anton,Impact,sans-serif; font-size:35px; font-weight:400; line-height:1; text-transform:uppercase; }
.signature-info p { margin:0; color:#aaa; font-size:10px; line-height:1.55; }
.signature-info>strong { display:flex; padding:10px 12px; align-items:flex-start; color:white; background:var(--red); font-family:Anton,Impact,sans-serif; font-size:26px; font-weight:400; line-height:1; }
.signature-info>strong small { margin:2px 2px 0; font-family:Inter,Arial,sans-serif; font-size:9px; font-weight:900; text-transform:uppercase; }
.signature-summary { display:flex; max-width:1300px; margin:20px auto 0; justify-content:center; gap:10px; flex-wrap:wrap; }
.section-head-secondary { margin-top:70px; }
.signature-grid-secondary { margin-top:0; }
.signature-summary span { padding:10px 15px; color:#6c6761; border:1px solid #d4d0c9; font-size:8px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; }
.signature-swipe-hint { display:none; }
.menu-section { color:white; background:#101010; }
.menu-inner { max-width:1400px; margin:auto; padding:clamp(18px,3vw,45px); }
.menu-intro { display:grid; min-height:460px; padding:clamp(55px,8vw,110px); place-content:center; justify-items:center; text-align:center; background:var(--red); }
.menu-intro .eyebrow { color:white; }
.menu-intro p:not(.eyebrow) { max-width:540px; margin:28px 0; color:#ffd5d6; font-size:13px; line-height:1.8; }
.menu-intro .btn-red { color:var(--ink); background:white; }
.story { display:grid; max-width:1500px; margin:auto; align-items:center; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,110px); }
.story-copy,.story-image { transition:opacity .8s ease,transform .8s ease; }
.story-copy.is-visible,.story-image.is-visible { opacity:1; transform:none; }
.story-image { transition-delay:.2s; }
.story h2 em { color:var(--red); font-style:normal; }
.story-copy>p:not(.eyebrow) { max-width:580px; margin:30px 0; color:#69645e; font-size:13px; line-height:1.8; }
.values { display:grid; gap:0; }
.values span { display:flex; padding:15px 0; align-items:center; gap:15px; border-top:1px solid #d4d0c9; font-size:11px; font-weight:900; text-transform:uppercase; }
.values b { color:var(--red); font-family:Anton,Impact,sans-serif; font-size:18px; }
.story-image { position:relative; }
.story-image img { width:100%; min-height:620px; object-fit:cover; }
.story-image span { position:absolute; right:-18px; bottom:35px; padding:18px 24px; color:white; background:var(--red); font-size:10px; font-weight:900; text-transform:uppercase; transform:rotate(-90deg); transform-origin:right bottom; }
.food-showcase { display:grid; min-height:860px; padding:clamp(18px,3vw,45px); color:white; background:#0b0b0b; grid-template-columns:.72fr 1.25fr; grid-template-rows:1fr 1fr; gap:12px; }
.showcase-heading { display:flex; padding:clamp(32px,5vw,75px); flex-direction:column; align-items:flex-start; justify-content:center; grid-row:span 2; background:#151515; }
.showcase-heading h2 em,.contact h2 em { color:var(--red); font-style:normal; }
.showcase-heading>p:not(.eyebrow) { max-width:430px; margin:28px 0; color:#aaa; font-size:12px; line-height:1.8; }
.showcase-link { display:flex; width:100%; max-width:430px; padding:18px 0; align-items:center; justify-content:space-between; border-top:1px solid #393939; border-bottom:1px solid #393939; font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; transition:color .25s,padding .25s; }
.showcase-link:hover { padding-left:8px; color:#ff777c; }
.showcase-link span { color:var(--red); font-size:22px; }
.showcase-photo { position:relative; min-height:390px; margin:0; overflow:hidden; background:#181818; }
.showcase-photo img { width:100%; height:100%; object-fit:cover; transition:.55s; }
.showcase-photo:hover img { transform:scale(1.025); }
.showcase-photo::after { position:absolute; content:""; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 55%); }
.showcase-photo figcaption { position:absolute; z-index:1; right:0; bottom:0; left:0; display:grid; padding:25px 28px; grid-template-columns:auto 1fr; gap:4px 14px; }
.showcase-photo figcaption span { color:var(--red); font-family:Anton,Impact,sans-serif; font-size:22px; grid-row:span 2; }
.showcase-photo figcaption strong { font-family:Anton,Impact,sans-serif; font-size:31px; font-weight:400; line-height:1; text-transform:uppercase; }
.showcase-photo figcaption small { color:#bbb; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.order-section { color:white; background:#0d0d0d; }
.order-heading { display:grid; max-width:1300px; margin:0 auto 45px; justify-items:center; gap:24px; text-align:center; }
.order-heading h2 em,.reviews h2 em { color:var(--red); font-style:normal; }
.order-heading>p { max-width:560px; margin:0; color:#aaa; font-size:13px; line-height:1.8; }
.order-grid { display:grid; max-width:1300px; margin:auto; grid-template-columns:repeat(3,1fr); gap:13px; }
.order-card { position:relative; display:flex; min-height:315px; padding:42px; overflow:hidden; flex-direction:column; align-items:flex-start; justify-content:flex-end; transition:opacity .76s ease,transform .76s ease,filter .3s ease; transition-delay:var(--delay,0s); }
.order-card.is-visible { opacity:1; transform:none; }
.order-card::before { position:absolute; content:""; width:320px; height:320px; top:-170px; right:-80px; border:45px solid rgba(255,255,255,.12); border-radius:50%; }
.order-onsite::before { inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.18) 60%),url("assets/facade-commerce.jpg") center/cover; }
.order-card.is-visible:hover { transform:translateY(-5px); filter:brightness(1.06); }
.order-card span,.order-card small { position:relative; z-index:1; font-size:9px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.order-card span { display:block; max-width:100%; margin-bottom:20px; line-height:1.35; }
.order-card strong { position:relative; z-index:1; display:block; max-width:100%; margin:0 0 26px; font-family:Anton,Impact,sans-serif; font-size:clamp(40px,4.4vw,66px); font-weight:400; line-height:.92; text-transform:uppercase; }
.order-takeaway strong { font-size:clamp(38px,4vw,60px); }
.order-card small { padding-top:15px; border-top:1px solid rgba(255,255,255,.35); }
.order-onsite { background:#111; }
.order-takeaway { background:#292929; }
.order-delivery { background:linear-gradient(145deg,#222,#101010); border:1px solid #383838; }
.delivery-links { position:relative; display:grid; width:100%; grid-template-columns:1fr 1fr; gap:8px; }
.delivery-links a { display:flex; padding:15px 12px; gap:8px; align-items:center; justify-content:center; color:#111; background:white; font-size:9px; font-weight:900; text-align:center; text-transform:uppercase; transition:transform .25s,background .25s; }
.delivery-links a:hover { transform:scale(1.03); background:#f4f4f4; }
.delivery-links img { width:20px; height:20px; object-fit:contain; }
.reviews { display:grid; color:white; background:var(--red); grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,130px); align-items:center; }
.reviews .eyebrow { color:white; }
.reviews-title { font-size:clamp(48px,6vw,92px); }
.google-rating { display:grid; width:max-content; margin:14px 0 30px; padding:25px 30px; color:#111; background:white; grid-template-columns:auto auto; gap:3px 18px; align-items:center; box-shadow:0 14px 40px rgba(0,0,0,.15); }
.google-rating strong { font-family:Anton,Impact,sans-serif; font-size:49px; font-weight:400; line-height:1; }
.google-rating span { color:#fbbc04; font-size:23px; letter-spacing:2px; }
.google-rating small { color:#666; font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; grid-column:1/-1; }
.reviews-copy { position:relative; max-width:560px; padding:35px 0; transition:opacity .76s ease,transform .76s ease; transition-delay:var(--delay,0s); }
.reviews-copy.is-visible { opacity:1; transform:none; }
.quote-mark { position:absolute; top:-55px; left:-12px; color:rgba(255,255,255,.18); font-family:serif; font-size:180px; line-height:1; }
.reviews-copy p { position:relative; margin:0 0 28px; font-size:clamp(18px,2.2vw,30px); font-weight:800; line-height:1.45; }
.reviews .btn-red { color:var(--ink); background:white; }
.contact { position:relative; overflow:hidden; color:white; background:#111; }
.contact::before { position:absolute; content:"B"; right:-4vw; bottom:-13vw; color:#171717; font-family:Anton,Impact,sans-serif; font-size:50vw; line-height:1; }
.contact-shell,.contact-info { position:relative; z-index:1; }
.contact-shell { display:grid; max-width:1400px; margin:0 auto 70px; grid-template-columns:.85fr 1.15fr; gap:clamp(25px,5vw,80px); align-items:center; }
.contact-lead { padding:25px 0; }
.contact-intro { max-width:470px; margin:27px 0; color:#aaa; font-size:13px; line-height:1.8; }
.contact-actions { display:flex; gap:10px; flex-wrap:wrap; }
.contact-map { position:relative; min-height:480px; overflow:hidden; border:1px solid #303030; }
.contact-map::after { position:absolute; content:""; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.92),transparent 65%); }
.contact-map img { width:100%; height:100%; min-height:480px; object-fit:cover; transition:.5s; }
.contact-map:hover img { transform:scale(1.025); }
.map-pin { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:58px; height:58px; place-items:center; color:white; background:var(--red); border:5px solid white; border-radius:50%; font-family:Anton,Impact,sans-serif; font-size:25px; transform:translate(-50%,-50%); box-shadow:0 10px 30px #000; }
.map-caption { position:absolute; z-index:2; right:25px; bottom:25px; left:25px; display:flex; padding:22px; flex-direction:column; background:rgba(10,10,10,.9); backdrop-filter:blur(12px); }
.map-caption small,.map-caption b { color:var(--red); font-size:8px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.map-caption strong { margin:5px 0 8px; font-size:16px; }
.map-caption b { color:#bbb; }
.contact-info { display:grid; max-width:1400px; margin:auto; border-top:1px solid var(--line); border-left:1px solid var(--line); grid-template-columns:repeat(4,1fr); }
.contact-info>div { display:flex; min-height:210px; padding:30px 25px; gap:10px; flex-direction:column; align-items:flex-start; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.45s; }
.contact-info>div.is-visible { opacity:1; }
.contact-info>div:first-child { padding-left:0; }
.contact-info span { color:var(--red); font-size:9px; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; }
.contact-info strong { font-size:15px; }
.contact-info p,.contact-info a { margin:0; color:#aaa; font-size:11px; }
.contact-info a { color:white; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:5px; }
footer { padding:0; color:#aaa; background:#080808; border-top:1px solid #292929; font-size:10px; }
html.js .reveal { opacity:0; transform:translateY(28px); transition:opacity .76s ease,transform .76s ease; transition-delay:var(--delay,0s); }
html.js .reveal.is-visible { opacity:1; transform:none; }
footer .brand { color:white; }
.footer-top { display:grid; padding:65px clamp(20px,6vw,100px); grid-template-columns:.65fr 1.35fr; gap:clamp(35px,7vw,110px); align-items:center; }
.footer-brand>p { margin:20px 0 0; color:#777; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.footer-contacts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #292929; border-left:1px solid #292929; }
.footer-contacts a { display:grid; min-height:180px; padding:25px; align-content:center; border-right:1px solid #292929; border-bottom:1px solid #292929; transition:background .25s,transform .25s; }
.footer-contacts a:hover { background:#171717; transform:translateY(-3px); }
.footer-icon,.footer-logo { width:28px; height:28px; margin-bottom:22px; color:var(--red); font-size:28px; line-height:1; object-fit:contain; }
.pin-icon { position:relative; display:block; width:23px; height:29px; border:3px solid var(--red); border-radius:50% 50% 50% 0; transform:rotate(-45deg); }
.pin-icon::after { position:absolute; content:""; width:7px; height:7px; top:5px; left:5px; background:var(--red); border-radius:50%; }
.footer-contacts small { color:#777; font-size:8px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.footer-contacts strong { margin-top:8px; color:white; font-size:12px; line-height:1.5; }
.footer-bottom { display:grid; padding:25px clamp(20px,6vw,100px); align-items:center; grid-template-columns:1fr auto; gap:22px; border-top:1px solid #222; }
.footer-bottom p { margin:0; }
.footer-bottom nav { display:flex; gap:18px; color:white; font-weight:800; text-transform:uppercase; }
.footer-bottom nav>a:not(.back-to-top) { display:flex; align-items:center; transition:color .25s; }
.footer-bottom nav>a:not(.back-to-top):hover { color:var(--red); }
.back-to-top { display:flex; width:48px; height:48px; margin-left:8px; align-items:center; justify-content:center; color:white; background:var(--red); border-radius:50%; font-size:18px; transition:transform .25s,background .25s; }
.back-to-top span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.back-to-top:hover { background:#f32c35; transform:translateY(-4px); }
.back-to-top:active { transform:translateY(-7px) scale(.94); }
.footer-bottom small { grid-column:1/-1; padding-top:20px; border-top:1px solid #222; }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signature,.menu-list article,.story-copy,.story-image,.order-card,.reviews-copy{opacity:1;transform:none;transition:none}.ticker div{animation:none}.btn,.nav a,.signature img,.showcase-photo img,.order-card,.footer-contacts a,.back-to-top{transition:none}}
@media(max-width:900px){.nav-toggle{display:block}.nav{position:absolute;top:72px;right:14px;left:14px;display:none;padding:12px;flex-direction:column;align-items:stretch;color:white;background:#151515}.nav.is-open{display:flex}.nav-cta{margin:0}.hero-stamp{width:115px;height:115px}.signature-grid,.menu-inner,.story{grid-template-columns:1fr}.signature-large{min-height:500px;grid-row:auto}.menu-intro{position:static;min-height:0}.contact-info{grid-template-columns:1fr}.contact-info>div{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.gallery{height:auto;grid-template-columns:1fr 1fr}.gallery img{height:320px}.gallery img:first-child{grid-column:span 2}footer{grid-template-columns:1fr}.story-image img{min-height:450px}}
@media(max-width:600px){.header{min-height:68px;padding:8px 13px}.brand img{width:44px;height:44px}.brand span{font-size:15px}.hero{min-height:760px}.hero>img{object-position:64% center}.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.18) 80%),linear-gradient(90deg,rgba(0,0,0,.8),transparent)}.hero-copy{width:100%;align-self:end;padding:100px 18px 190px;overflow:hidden}.hero h1{max-width:100%;font-size:76px;line-height:.86;overflow-wrap:anywhere}.hero-stamp{right:18px;bottom:70px}.scroll-cue{display:none}.section{padding:75px 16px}.section-head{align-items:start;flex-direction:column}.signature-grid{grid-template-columns:1fr}.signature,.signature-large{min-height:420px}.menu-intro,.menu-list{padding:65px 18px}.menu-list article{grid-template-columns:30px 1fr auto}.story{padding-right:16px;padding-left:16px}.story-image span{right:0}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:290px;grid-column:auto}.contact-title{align-items:start;flex-direction:column}footer nav{flex-wrap:wrap}}
@media(max-width:900px){
  .signature-grid { grid-template-columns:repeat(2,1fr); }
  .signature-large { grid-column:span 2; width:calc(50% - 7px); justify-self:center; }
  .signature,.signature-large { min-height:0; }
  .food-showcase { min-height:0; grid-template-columns:1fr; grid-template-rows:auto; }
  .showcase-heading { grid-row:auto; }
  .contact-shell { grid-template-columns:1fr; }
  .contact-info { grid-template-columns:1fr 1fr; }
  .contact-info>div { min-height:190px; padding:25px; }
  .order-heading { align-items:start; flex-direction:column; }
  .reviews { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-contacts { grid-template-columns:1fr; }
  .footer-contacts a { min-height:130px; }
}
@media(max-width:600px){
  .signatures { overflow:hidden; }
  .signature-grid { display:flex; width:calc(100% + 16px); padding:0 34px 12px 0; overflow-x:auto; gap:10px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .signature-grid::-webkit-scrollbar { display:none; }
  .signature,.signature-large { width:auto; flex:0 0 82vw; scroll-snap-align:start; }
  .signature-large { grid-column:auto; }
  .signature,.signature-large { min-height:0; }
  .signature-info { min-height:165px; padding:20px; }
  .menu-badge { top:-10px; right:-10px; width:82px; height:82px; }
  .menu-badge b { font-size:19px; }
  .signature-summary { justify-content:flex-start; }
  .signature-swipe-hint { display:block; margin:14px 0 0; color:#777; font-size:8px; font-weight:900; letter-spacing:1px; text-align:right; text-transform:uppercase; }
  .brand-logo { width:48px; height:48px; flex-basis:48px; }
  .food-showcase { padding:8px; }
  .showcase-heading { padding:55px 22px; }
  .showcase-photo { min-height:330px; }
  .showcase-photo figcaption { padding:20px; }
  .contact-map,.contact-map img { min-height:350px; }
  .contact-info { grid-template-columns:1fr; }
  .contact-info>div { min-height:0; padding:24px; }
  .contact-actions .btn { width:100%; }
  .order-grid { grid-template-columns:1fr; }
  .order-card { min-height:260px; padding:28px; }
  .order-card span { margin-bottom:14px; }
  .order-card strong { margin-bottom:22px; font-size:clamp(38px,15vw,58px); }
  .footer-bottom { grid-template-columns:1fr; }
  .footer-bottom nav { flex-wrap:wrap; }
}
