:root{--forest:#4a2c20;--forest-deep:#2c1a13;--gold:#c68a4b;--ink:#38251c;--muted:#78665c;--paper:#f5eee5;--line:#e6d7c8;--white:#fffefa;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(5.5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--white);border-bottom:1px solid rgba(56,37,28,.08);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:var(--forest);font-size:13px;font-weight:700;letter-spacing:.09em;line-height:1.12}.brand img{width:51px;height:51px;object-fit:contain}.brand small{font-size:8px;letter-spacing:.14em}.desktop-nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.desktop-nav a:not(.nav-call):hover{color:#9b6c24}.nav-call,.mobile-call{padding:11px 18px;background:var(--forest);color:white;border-radius:2px}.mobile-call{display:none}.hero{min-height:550px;background:var(--forest);color:white;position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:65px max(9vw,32px);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 5% 90%,rgba(198,138,75,.13),transparent 40%),linear-gradient(125deg,transparent 50%,rgba(27,14,9,.3));pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:480px;padding-bottom:22px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.2em;margin:0 0 17px}.eyebrow span{height:1px;width:28px;background:currentColor}.hero h1,.visit h2{font:600 clamp(56px,7vw,88px)/.98 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.visit h2 em{color:var(--gold);font-weight:600}.hero-intro{max-width:390px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.8;margin:24px 0 28px}.button{height:49px;padding:0 20px;display:inline-flex;align-items:center;gap:30px;background:var(--gold);color:#24160f;font-size:12px;font-weight:700;letter-spacing:.025em;border-radius:2px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#d59d60}.button span{font-size:18px}.hero-note{display:flex;align-items:center;gap:11px;margin-top:39px;color:rgba(255,255,255,.53);font-size:10px;letter-spacing:.09em;text-transform:uppercase}.note-line{width:36px;height:1px;background:rgba(255,255,255,.35)}.hero-visual{height:420px;position:relative;z-index:1;margin-left:26px}.visual-badge{position:absolute;right:-12px;bottom:23px;z-index:3;background:var(--gold);color:var(--forest-deep);width:135px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;box-shadow:0 10px 25px #1b0f0a70}.visual-badge span{font-size:9px;font-weight:700;letter-spacing:.18em}.visual-badge b{font-size:16px;margin-top:9px}.hero-stamp{position:absolute;right:50%;bottom:22px;transform:translateX(50%);text-align:center;font-size:9px;letter-spacing:.24em;color:rgba(255,255,255,.25);line-height:1.5}.hero-stamp span{color:var(--gold);font-size:7px}.menu-section{max-width:1260px;margin:auto;padding:91px 30px 88px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading h2{font:600 clamp(38px,5vw,55px)/1.05 var(--serif);letter-spacing:-.035em;margin:0;color:var(--forest)}.section-heading .eyebrow{color:#9b6c24;margin-bottom:10px}.section-heading>p{max-width:300px;color:var(--muted);font-size:13px;margin:0 0 7px}.category-nav{display:flex;align-items:center;gap:8px;overflow:auto;padding:0 0 18px;margin-bottom:25px;scrollbar-width:thin}.category-nav a{white-space:nowrap;border:1px solid var(--line);background:var(--white);padding:9px 14px;border-radius:2px;color:#665044;font-size:11px;font-weight:600;transition:all .18s}.category-nav a:hover,.category-nav a:focus{background:var(--forest);border-color:var(--forest);color:white}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.menu-card{background:var(--white);padding:25px 27px 20px;border:1px solid #eeeadf;scroll-margin-top:100px}.card-heading{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;margin-bottom:6px;border-bottom:1px solid var(--line)}.category-number{font:600 13px var(--serif);color:#b67c2c;border-right:1px solid var(--line);padding:4px 13px 4px 0}.card-heading h3{font:600 23px/1.15 var(--serif);color:var(--forest);margin:0}.card-heading p{font-size:11px;color:var(--muted);margin:4px 0 0}.menu-list{list-style:none;padding:0;margin:0}.menu-list li{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f0ede7;font-size:11px;font-weight:600;letter-spacing:.025em}.menu-list li:last-child{border-bottom:0}.menu-list li span{color:#4b362b}.menu-list li b{white-space:nowrap;color:#a16f27;font-size:11px;letter-spacing:.015em}.menu-dark{background:var(--forest);border-color:var(--forest);color:white}.menu-dark .category-number{border-color:#ffffff30;color:var(--gold)}.menu-dark .card-heading{border-color:#ffffff30}.menu-dark .card-heading h3,.menu-dark .menu-list li span{color:white}.menu-dark .card-heading p{color:#ead9c8}.menu-dark .menu-list li{border-color:#ffffff17}.menu-dark .menu-list li b{color:var(--gold)}.menu-sweets{background:#f0eadb}.menu-footnote{text-align:right;color:#7a6559;font-size:10px;margin:16px 2px 0}.visit{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--forest-deep);color:white;min-height:400px}.visit-copy{padding:65px max(7vw,32px);align-self:center}.visit h2{font-size:clamp(48px,6vw,68px)}.visit-copy>p:not(.eyebrow){color:#e0d2c5;line-height:1.8;font-size:13px;margin:22px 0}.button-light{background:transparent;border:1px solid #ffffff4d;color:white;gap:18px}.button-light span{color:var(--gold);font-size:13px}.button-light:hover{background:#ffffff12}.visit-image{min-height:400px;position:relative}.visit-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--forest-deep),transparent 30%),linear-gradient(0deg,#2c1a1340,transparent)}.visit-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 58%}footer{min-height:96px;background:#21140f;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:13px;padding:20px max(5.5vw,24px);font-size:10px;letter-spacing:.08em}footer img{width:43px;height:43px;object-fit:contain;background:white;border-radius:50%}footer span{font-weight:700;color:white}footer a{margin-left:auto;color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.02em}footer small{padding-left:18px;border-left:1px solid #ffffff35;font-size:9px;letter-spacing:.14em}
@media(max-width:900px){.hero{padding:55px 6vw;min-height:510px}.hero-visual{height:365px;margin-left:8px}.visual-badge{right:-4px;bottom:15px}.menu-grid{gap:12px}.menu-card{padding:22px 20px 17px}.menu-list li{font-size:10px;gap:10px}.menu-list li b{font-size:10px}.visit-copy{padding:55px 6vw}}
@media(max-width:640px){html{scroll-padding-top:72px}.site-header{height:68px;padding:0 19px}.brand{font-size:11px;gap:8px}.brand img{width:42px;height:42px}.brand small{font-size:7px}.desktop-nav{display:none}.mobile-call{display:inline-flex;padding:9px 16px;font-size:11px;font-weight:700}.hero{display:flex;flex-direction:column;align-items:stretch;padding:52px 24px 38px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:62px}.hero-intro{font-size:14px;max-width:340px;margin:18px 0 22px}.hero-note{margin-top:25px}.hero-visual{height:275px;margin:36px 5px 0 0}.visual-badge{height:80px;width:112px;right:-5px;bottom:9px}.visual-badge b{font-size:13px;margin-top:6px}.hero-stamp{display:none}.menu-section{padding:60px 17px 57px}.section-heading{display:block;margin-bottom:22px}.section-heading>p{margin-top:11px}.category-nav{margin-right:-17px;margin-bottom:18px}.menu-grid{grid-template-columns:1fr;gap:12px}.menu-card{padding:20px 19px 15px}.card-heading h3{font-size:22px}.menu-list li{font-size:11px;padding:10px 0}.menu-list li b{font-size:11px}.menu-footnote{text-align:left;line-height:1.5}.visit{grid-template-columns:1fr}.visit-copy{padding:46px 25px 38px}.visit-image{min-height:255px;order:-1}.visit-image:after{background:linear-gradient(0deg,var(--forest-deep),transparent 55%)}.visit-image img{object-position:center 55%}footer{gap:9px;min-height:82px;padding:16px 18px;flex-wrap:wrap}footer img{width:36px;height:36px}footer span{font-size:8px;letter-spacing:.06em}footer a{font-size:12px}footer small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Coffee-brown palette and culturally grounded menu imagery */
:root{--forest:#4a2c20;--forest-deep:#2c1a13;--gold:#c68a4b;--ink:#38251c;--muted:#78665c;--paper:#f5eee5;--line:#e6d7c8;--white:#fffaf4}
.hero:before{background:repeating-linear-gradient(45deg,transparent 0 28px,rgba(255,230,202,.035) 28px 29px),repeating-linear-gradient(-45deg,transparent 0 28px,rgba(255,230,202,.035) 28px 29px),radial-gradient(ellipse at 5% 90%,rgba(198,138,75,.14),transparent 40%),linear-gradient(125deg,transparent 50%,rgba(27,14,9,.3))}
.button{color:#24160f}
.button:hover{background:#d59d60}
.section-heading .eyebrow{color:#93613a}
.category-nav a{color:#665044}
.menu-card{border-color:#eadccf}
.category-number{color:#9d6b3c}
.menu-list li span{color:#4b362b}
.menu-list li b{color:#8d5a2d}
.menu-dark .card-heading p{color:#ead9c8}
.menu-dark .menu-list li b{color:#f0bd80}
.menu-sweets{background:#eee1d1}
.menu-footnote{color:#7a6559}
.visit-copy>p:not(.eyebrow){color:#e0d2c5}
.button-light span,footer a{color:#e3ab72}
.visit-image:after{background:linear-gradient(90deg,var(--forest-deep),transparent 30%),linear-gradient(0deg,rgba(44,26,19,.3),transparent)}
footer{background:#21140f}
.menu-list li{align-items:center;gap:12px;padding:8px 0}
.menu-list li span{flex:1}
.menu-thumb{flex:none;width:54px;height:48px;object-fit:cover;border-radius:3px;background:#4a2c20;box-shadow:0 2px 7px rgba(44,26,19,.14)}
@media(max-width:640px){.menu-thumb{width:48px;height:44px}}

/* Larger editorial menu cards */
.menu-grid{grid-template-columns:minmax(0,1fr);gap:16px}

.menu-card{padding:28px 30px 24px}
.menu-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:22px 16px;margin-top:12px}
.menu-list li{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;gap:9px;padding:0;border:0}
.menu-list li:last-child{border-bottom:0}
.menu-list li span{display:block;flex:1;font-size:12px;line-height:1.35;font-weight:700;letter-spacing:0;color:#4b362b}
.menu-list li b{align-self:flex-start;font-size:12px;margin-top:-3px}
.menu-list .menu-thumb{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:4px;background:#38251c;box-shadow:0 3px 10px rgba(44,26,19,.16);border:1px solid rgba(74,44,32,.14)}
.menu-dark .menu-list li span{color:#fffaf4}
.menu-dark .menu-list li b{color:#f0bd80}
.menu-list li.menu-no-photo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-content:center;min-height:60px;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line)}
.menu-dark .menu-list li.menu-no-photo{border-color:#ffffff28}
.menu-list li.menu-no-photo span{grid-column:1;grid-row:1}
.menu-list li.menu-no-photo b{grid-column:2;grid-row:1;margin:0}
.menu-footnote{text-align:left;margin-top:22px;padding-top:12px;border-top:1px solid var(--line);line-height:1.6}
@media(max-width:900px){.menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px}}
@media(max-width:640px){.menu-card{padding:21px 18px 18px}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.menu-list li span,.menu-list li b{font-size:11px}.menu-list li.menu-no-photo{min-height:55px}}

/* Header logo size; the animation is opt-in with the logo-animated class. */
.site-header .brand img{width:68px;height:68px}
@media(max-width:640px){.site-header .brand img{width:56px;height:56px}}
.site-header .brand img.logo-animated{animation:logo-arrive .65s ease-out both}
@keyframes logo-arrive{from{opacity:0;transform:translateY(4px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.site-header .brand img.logo-animated{animation:none}}

/* One-time hero entrance; without the intro-animation class the content stays static. */
.intro-animation .hero-copy{animation:hero-copy-enter .7s cubic-bezier(.2,.7,.2,1) both}
.intro-animation .hero-visual{animation:hero-visual-enter .85s cubic-bezier(.2,.7,.2,1) .12s both}
.intro-animation .hero-stamp{animation:hero-stamp-enter .6s ease-out .3s both}
@keyframes hero-copy-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-visual-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-stamp-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.intro-animation .hero-copy,.intro-animation .hero-visual,.intro-animation .hero-stamp{animation:none}}

/* Landscape frames keep square source photos from rendering as square cards. */
.menu-list .menu-photo-frame{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(74,44,32,.14);border-radius:4px;background:#38251c;box-shadow:0 3px 10px rgba(44,26,19,.16)}
.menu-list .menu-photo-frame .menu-thumb{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0;background:transparent;box-shadow:none}

/* Two larger menu items per row at every viewport width. */
.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px}
.menu-list li span{font-size:14px;line-height:1.4}
.menu-list li b{font-size:13px}
@media(max-width:640px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.menu-list li span{font-size:12px}.menu-list li b{font-size:12px}}

.map-link span{display:inline-block;margin-top:8px;color:#e3ab72;font-size:12px;font-weight:700;letter-spacing:.02em}
.map-link:hover span,.map-link:focus-visible span{text-decoration:underline;text-underline-offset:3px}

.map-button{display:flex;width:max-content;margin:0 0 12px}
.visit:focus{outline:3px solid var(--gold);outline-offset:-3px}

/* Keep location actions legible over the espresso panel. */
.visit .button.button-light{color:#fffaf4;border-color:rgba(255,250,244,.62)}
.visit .button.button-light:hover,.visit .button.button-light:focus-visible{color:#fffaf4;background:rgba(255,250,244,.1)}

/* Site-wide espresso and coffee palette, carried through from the barbecue card. */
:root{
  --forest:#4a2c20;
  --forest-deep:#2c1a13;
  --gold:#d6b992;
  --ink:#f5eee5;
  --muted:#e6d5c2;
  --paper:#2c1a13;
  --line:#6b4a34;
  --white:#3a2419;
}
body{background:var(--paper);color:var(--ink)}
.site-header{background:#3a2419;border-bottom-color:rgba(230,213,194,.18)}
.brand{color:#f5eee5}
.desktop-nav a:not(.nav-call):hover{color:#d6b992}
.nav-call,.mobile-call{background:#21140f;color:#f5eee5;border:1px solid #d6b992}
.hero{background:#4a2c20}
.hero:before{background:repeating-linear-gradient(45deg,transparent 0 28px,rgba(245,238,229,.035) 28px 29px),repeating-linear-gradient(-45deg,transparent 0 28px,rgba(245,238,229,.035) 28px 29px),radial-gradient(ellipse at 5% 90%,rgba(198,138,75,.14),transparent 40%),linear-gradient(125deg,transparent 50%,rgba(27,14,9,.3))}
.button{background:#d6b992;color:#24160f}
.button:hover{background:#e6d5c2;color:#24160f}
.section-heading h2,.card-heading h3{color:#f5eee5}
.section-heading .eyebrow,.eyebrow{color:#d6b992}
.section-heading>p,.card-heading p{color:#e6d5c2}
.category-nav a{background:#3a2419;border-color:#6b4a34;color:#f5eee5}
.category-nav a:hover,.category-nav a:focus{background:#654630;border-color:#d6b992;color:#fffaf4}
.menu-card{background:#3a2419;border-color:#6b4a34}
.card-heading{border-color:#6b4a34}
.category-number{color:#d6b992;border-color:#6b4a34}
.menu-list li{border-color:rgba(230,213,194,.16)}
.menu-list li span{color:#f5eee5}
.menu-list li b{color:#d6b992}
.menu-dark{background:#21140f;border-color:#6b4a34}
.menu-dark .card-heading,.menu-dark .menu-list li{border-color:rgba(230,213,194,.18)}
.menu-dark .card-heading h3,.menu-dark .menu-list li span{color:#f5eee5}
.menu-dark .card-heading p{color:#e6d5c2}
.menu-dark .menu-list li b{color:#d6b992}
.menu-sweets{background:#4a3022}
.menu-footnote{color:#e6d5c2}
.menu-photo-frame{background:#21140f}
.visit{background:#21140f}
.visit-copy>p:not(.eyebrow){color:#e6d5c2}
.visit .button.button-light{background:var(--gold);border-color:var(--gold);color:#24160f;border-radius:2px}
.visit .button.button-light:hover,.visit .button.button-light:focus-visible{color:#24160f;background:#d59d60;border-color:#d59d60}
.visit .button.button-light span{color:#24160f}
.visual-badge{border-radius:2px;box-shadow:none}
.button-light span,.map-link span,footer a{color:#d6b992}
footer{background:#180e09;color:#e6d5c2}
footer span{color:#f5eee5}
footer small{border-color:rgba(230,213,194,.25)}
.map-link:hover span,.map-link:focus-visible span{text-decoration:underline;text-underline-offset:3px}

/* Larger header logo; the PNG keeps its original aspect ratio. */
.site-header{height:108px}
.site-header .brand img{width:92px;height:95px}
html{scroll-padding-top:118px}
@media(max-width:640px){.site-header{height:84px}.site-header .brand img{width:72px;height:74px}html{scroll-padding-top:94px}}

/* Four featured dishes replace the hero storefront photo. */
.hero-visual{height:auto;min-height:0;display:flex;flex-direction:column;gap:12px}

.dish-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;height:340px}
.dish-tile{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border:1px solid rgba(214,185,146,.45);border-radius:4px;background:#21140f}
.dish-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}

.hero-visual .visual-badge{position:relative;right:auto;bottom:auto;width:100%;height:58px;flex-direction:row;gap:10px;padding:0 18px;box-shadow:0 8px 20px rgba(24,14,9,.2)}
.hero-visual .visual-badge b{margin:0 0 0 auto}
.intro-animation .hero-visual{animation:none}
.intro-animation .dish-tile{animation:dish-tile-enter .76s cubic-bezier(.2,.7,.2,1) both}
.intro-animation .dish-tile:nth-child(2){animation-delay:.08s}
.intro-animation .dish-tile:nth-child(3){animation-delay:.16s}
.intro-animation .dish-tile:nth-child(4){animation-delay:.24s}
@keyframes dish-tile-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.hero-visual{margin-left:8px}.dish-gallery{height:300px;gap:10px}}
@media(max-width:640px){.hero-visual{margin:36px 5px 0 0}.dish-gallery{height:270px;gap:10px}.hero-visual .visual-badge{height:54px;padding:0 12px}.hero-visual .visual-badge span{font-size:8px}.hero-visual .visual-badge b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.intro-animation .dish-tile{animation:none}.dish-tile img{transition:none}}

/* Compact menu entries while retaining two items per row. */
.menu-list{width:min(100%,760px);margin:12px auto 0;gap:20px 18px}
.menu-list li span{font-size:13px;line-height:1.35}
.menu-list li b{font-size:12px}
@media(max-width:640px){.menu-list{width:100%;gap:16px 12px}.menu-list li span,.menu-list li b{font-size:11px}}

/* Featured dish tiles use landscape shapes and replay their entrance on each load. */
.dish-gallery{height:auto;grid-template-rows:auto;grid-auto-rows:auto}
.dish-tile{width:100%;height:auto;aspect-ratio:3/2;border-radius:24px 6px 24px 6px}
.intro-animation .dish-tile{animation:dish-tile-enter 3.6s cubic-bezier(.2,.7,.2,1) both}
.intro-animation .dish-tile:nth-child(2){animation-delay:.18s}
.intro-animation .dish-tile:nth-child(3){animation-delay:.36s}
.intro-animation .dish-tile:nth-child(4){animation-delay:.54s}
@media(max-width:900px){.dish-gallery{height:auto}}
@media(max-width:640px){.dish-gallery{height:auto}}

/* Let visitors choose a menu category before showing its items. */
.menu-category-mode .menu-grid{grid-template-columns:minmax(0,1fr)}
.menu-category-mode .menu-grid .menu-card{display:none}
.menu-category-mode .menu-grid .menu-card.is-active{display:block}
.menu-category-mode .menu-grid .menu-card[hidden]{display:none!important}
.category-nav[hidden],.menu-category-back[hidden]{display:none!important}
.menu-category-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:9px 14px;border:1px solid #6b4a34;border-radius:2px;background:#3a2419;color:#f5eee5;font:600 11px/1.3 var(--sans);cursor:pointer}
.menu-category-back:hover,.menu-category-back:focus-visible{background:#654630;border-color:#d6b992;color:#fffaf4}
.menu-category-back:focus-visible,.category-nav a:focus-visible{outline:2px solid #d6b992;outline-offset:3px}
.category-nav a.is-selected{background:#654630;border-color:#d6b992;color:#fffaf4;box-shadow:inset 0 -2px 0 #d6b992}

/* Four category cards per row, with a larger image above each label. */
.menu-category-mode .category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;overflow:visible;padding:0;margin:0 0 20px;scroll-margin-top:100px}
.menu-category-mode .category-nav a.category-option{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;white-space:normal;overflow:hidden;text-align:center;border:1px solid #6b4a34;border-radius:4px;background:#3a2419;color:#f5eee5}
.category-option img{display:block;flex:none;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.category-option span{display:flex;min-height:42px;align-items:center;justify-content:center;padding:8px 10px;font-size:12px;line-height:1.3;font-weight:700}
.menu-category-mode .category-nav a.category-option:hover{background:#654630;border-color:#d6b992;color:#fffaf4}
@media(max-width:900px){.menu-category-mode .category-nav{gap:11px}}
@media(max-width:640px){.menu-category-mode .category-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-option img{aspect-ratio:4/3}.category-option span{min-height:40px;padding:7px 6px;font-size:11px}}

/* Slower category transitions with a soft coffee-toned editorial entrance. */
.category-nav.category-list-enter a{animation:category-choice-enter .82s cubic-bezier(.18,1,.3,1) backwards}
.category-nav.category-list-enter a:nth-child(2){animation-delay:.07s}
.category-nav.category-list-enter a:nth-child(3){animation-delay:.14s}
.category-nav.category-list-enter a:nth-child(4){animation-delay:.21s}
.category-nav.category-list-enter a:nth-child(5){animation-delay:.28s}
.category-nav.category-list-enter a:nth-child(6){animation-delay:.35s}
.category-nav.category-list-enter a:nth-child(7){animation-delay:.42s}
.category-nav.category-list-enter a:nth-child(8){animation-delay:.49s}
.category-nav.category-list-enter a:nth-child(n+9){animation-delay:.56s}
.menu-card.category-content-enter{animation:category-content-enter .95s cubic-bezier(.18,1,.3,1) backwards}
.menu-card.category-content-enter .menu-list li{animation:menu-item-enter .68s cubic-bezier(.18,1,.3,1) backwards}
.menu-card.category-content-enter .menu-list li:nth-child(2){animation-delay:.06s}
.menu-card.category-content-enter .menu-list li:nth-child(3){animation-delay:.12s}
.menu-card.category-content-enter .menu-list li:nth-child(4){animation-delay:.18s}
.menu-card.category-content-enter .menu-list li:nth-child(5){animation-delay:.24s}
.menu-card.category-content-enter .menu-list li:nth-child(6){animation-delay:.3s}
.menu-card.category-content-enter .menu-list li:nth-child(7){animation-delay:.36s}
.menu-card.category-content-enter .menu-list li:nth-child(8){animation-delay:.42s}
.menu-card.category-content-enter .menu-list li:nth-child(n+9){animation-delay:.48s}
@keyframes category-choice-enter{from{opacity:0;transform:translateY(14px) scale(.98);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes category-content-enter{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes menu-item-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.category-nav.category-list-enter a,.menu-card.category-content-enter,.menu-card.category-content-enter .menu-list li{animation:none}}

/* Three menu items per row inside the selected category. */
.menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
.menu-list li span{font-size:12px;line-height:1.35}
.menu-list li b{font-size:12px}
@media(max-width:640px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.menu-list li{gap:7px}.menu-list li span,.menu-list li b{font-size:11px;line-height:1.35}}
/* Give the phone hero a calmer, more balanced vertical composition. */
@media(max-width:640px){
  .hero{padding:38px 22px 30px;gap:0}
  .hero-copy{max-width:none;padding:0}
  .hero-copy>.eyebrow{margin-bottom:13px;font-size:9px}
  .hero h1{font-size:clamp(50px,14vw,60px);line-height:.96}
  .hero-intro{max-width:36ch;font-size:13px;line-height:1.65;margin:16px 0 20px}
  .hero-copy>.button{width:100%;height:50px;justify-content:space-between;padding:0 16px}
  .hero-note{margin-top:20px;font-size:9px}
  .hero-visual{margin:26px 0 0;gap:9px}
  .dish-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .dish-tile{aspect-ratio:4/3;border-radius:14px 4px 14px 4px}
  .hero-visual .visual-badge{height:50px;padding:0 13px}
}
@media(max-width:360px){.hero{padding-inline:18px}.hero h1{font-size:49px}.hero-intro{font-size:12px}}

/* Keep the key navigation visible in the compact phone header. */
@media(max-width:640px){
  .site-header{height:72px;padding:0 14px;gap:8px}
  .brand{gap:6px;min-width:0;font-size:9px;letter-spacing:.06em}
  .brand img{width:46px;height:48px;flex:none}
  .brand small{font-size:6px;letter-spacing:.1em}
  .desktop-nav{display:flex;gap:10px;font-size:10px;white-space:nowrap}
  .desktop-nav .nav-call{display:none}
  .mobile-call{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:8px 10px;font-size:10px;white-space:nowrap}
}
@media(max-width:360px){
  .site-header{padding-inline:10px;gap:6px}
  .brand{font-size:8px;gap:4px}
  .brand img{width:40px;height:42px}
  .brand small{font-size:5px}
  .desktop-nav{gap:7px;font-size:9px}
  .mobile-call{padding:7px 8px;font-size:9px}
}
@media(max-width:640px){.hero h1{font-size:clamp(42px,11.5vw,48px);line-height:1;letter-spacing:-.04em}}
@media(max-width:360px){.hero h1{font-size:40px}}

/* Stack the phone hero and keep its four dish photos in landscape frames. */
@media(max-width:640px){
  .hero{display:flex;flex-direction:column;align-items:stretch;justify-content:space-evenly;min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);padding:8px 18px 40px}
  .hero-copy{width:100%;padding:0}
  .hero h1{font-size:clamp(40px,10.8vw,45px);line-height:1;letter-spacing:-.04em}
  .hero-intro{font-size:12.5px;line-height:1.6;margin:14px 0 17px}
  .hero-copy>.button{height:47px;padding-inline:14px}
  .hero-note{font-size:8.5px;margin-top:17px}
  .hero-visual{width:100%;height:auto;min-height:0;margin:18px 0 0;gap:8px}
  .dish-gallery{display:grid;flex:none;width:100%;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto;gap:8px}
  .dish-tile{width:100%;height:auto;aspect-ratio:7/5;border-radius:12px 4px 12px 4px}
  .hero-visual .visual-badge{height:44px;padding:0 11px}
  .hero-stamp{display:none}
  .hero-copy,.hero-visual{position:relative;top:clamp(-20px,-2.5svh,-12px)}
}

/* Subtle movement gives links and buttons a clear pointer-hover response. */
a,button{transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.map-link{display:inline-block}
@media(hover:hover){a:hover,button:not(:disabled):hover{transform:translateY(-2px)}}
a:active,button:not(:disabled):active{transform:translateY(0) scale(.985)}
@media(prefers-reduced-motion:reduce){a,button{transition:none!important}a:hover,button:hover,a:active,button:active{transform:none!important}}


/* Match the Find Us actions to the gold Explore the menu button. */
.visit a.button.button-light,
.visit a.button.button-light:visited {
  min-height: 49px;
  padding: 0 20px;
  gap: 30px;
  background: var(--gold);
  border: 1px solid var(--gold);
  border-radius: 2px;
  color: #24160f;
  box-shadow: none;
}
.visit a.button.button-light span {
  color: #24160f;
}
.visit a.button.button-light:hover,
.visit a.button.button-light:focus-visible {
  background: #d59d60;
  border-color: #d59d60;
  color: #24160f;
}
.visit a.button.button-light:focus-visible {
  outline: 2px solid #fffaf4;
  outline-offset: 3px;
}

/* Give both location actions a deliberate, consistent button silhouette. */
.visit-copy > a.button.button-light {
  display: flex;
  width: min(100%, 360px);
  min-height: 54px;
  height: 54px;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 12px;
  padding: 0 18px;
  gap: 16px;
  border-radius: 5px;
  box-shadow: 0 5px 14px rgba(17, 9, 5, .16);
  letter-spacing: .02em;
}
.visit-copy > a.button.button-light:last-child { margin-bottom: 0; }
.visit-copy > a.button.button-light span { font-weight: 700; }
@media(max-width:640px){
  .visit-copy > a.button.button-light { width: 100%; min-height: 52px; height: 52px; }
}

/* Slow category selection transitions for a gentler reveal. */
.category-nav.category-list-enter a {
  animation-duration: 1.2s;
}
.menu-card.category-content-enter {
  animation-duration: 1.5s;
}
.menu-card.category-content-enter .menu-list li {
  animation-duration: 1.05s;
}
.menu-card.category-content-enter .menu-list li:nth-child(2){animation-delay:.1s}
.menu-card.category-content-enter .menu-list li:nth-child(3){animation-delay:.2s}
.menu-card.category-content-enter .menu-list li:nth-child(4){animation-delay:.3s}
.menu-card.category-content-enter .menu-list li:nth-child(5){animation-delay:.4s}
.menu-card.category-content-enter .menu-list li:nth-child(6){animation-delay:.5s}
.menu-card.category-content-enter .menu-list li:nth-child(7){animation-delay:.6s}
.menu-card.category-content-enter .menu-list li:nth-child(8){animation-delay:.7s}
.menu-card.category-content-enter .menu-list li:nth-child(n+9){animation-delay:.8s}

/* Slightly slower category reveal. */
.category-nav.category-list-enter a { animation-duration: 1.4s; }
.menu-card.category-content-enter { animation-duration: 1.85s; }
.menu-card.category-content-enter .menu-list li { animation-duration: 1.25s; }
.menu-card.category-content-enter .menu-list li:nth-child(2){animation-delay:.13s}
.menu-card.category-content-enter .menu-list li:nth-child(3){animation-delay:.26s}
.menu-card.category-content-enter .menu-list li:nth-child(4){animation-delay:.39s}
.menu-card.category-content-enter .menu-list li:nth-child(5){animation-delay:.52s}
.menu-card.category-content-enter .menu-list li:nth-child(6){animation-delay:.65s}
.menu-card.category-content-enter .menu-list li:nth-child(7){animation-delay:.78s}
.menu-card.category-content-enter .menu-list li:nth-child(8){animation-delay:.91s}
.menu-card.category-content-enter .menu-list li:nth-child(n+9){animation-delay:1.04s}

/* Reveal menu and lower-page content gently as it enters the viewport. */
.scroll-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.25s cubic-bezier(.2,.7,.2,1), transform 1.25s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.scroll-reveal.is-scroll-visible {
  opacity: 1;
  transform: translateY(0);
  will-change: auto;
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,.scroll-reveal.is-scroll-visible{opacity:1;transform:none;transition:none;will-change:auto}
}

/* Menu polish: consistent dish cards with clearer name and price hierarchy. */
.menu-list li:not(.menu-no-photo) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(230, 213, 194, .14);
  border-radius: 7px;
  background: rgba(255, 250, 244, .035);
  transition: background-color .25s ease, border-color .25s ease;
}
.menu-list li:not(.menu-no-photo):hover {
  background: rgba(255, 250, 244, .075);
  border-color: rgba(214, 185, 146, .48);
}
.menu-list li:not(.menu-no-photo) .menu-photo-frame {
  grid-column: 1 / -1;
  border-radius: 5px;
  box-shadow: none;
}
.menu-list li:not(.menu-no-photo) span {
  grid-column: 1;
  align-self: center;
  color: #fffaf4;
  font-size: 12px;
  line-height: 1.4;
}
.menu-list li:not(.menu-no-photo) b {
  grid-column: 2;
  align-self: center;
  margin: 0;
  padding: 5px 8px;
  border: 1px solid rgba(214, 185, 146, .28);
  border-radius: 999px;
  background: rgba(198, 138, 75, .16);
  color: #f0bd80;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
.menu-category-mode .category-nav a.category-option {
  border-radius: 7px;
  box-shadow: 0 5px 16px rgba(17, 9, 5, .12);
  transition: transform .28s ease, border-color .28s ease, background-color .28s ease, box-shadow .28s ease;
}
.menu-category-mode .category-nav a.category-option.is-selected {
  border-color: #d6b992;
  box-shadow: 0 0 0 2px rgba(214, 185, 146, .2), 0 8px 20px rgba(17, 9, 5, .2);
}
@media(max-width:640px){
  .menu-list li:not(.menu-no-photo){gap:8px 6px;padding:8px;border-radius:6px}
  .menu-list li:not(.menu-no-photo) span{font-size:11px}
  .menu-list li:not(.menu-no-photo) b{padding:4px 6px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .menu-list li:not(.menu-no-photo),.menu-category-mode .category-nav a.category-option{transition:none}
}

/* Bring the full category picker higher into view after the hero menu link. */
@media(max-width:640px){
  html{scroll-padding-top:84px}
  #menu.menu-section{padding-top:38px}
  #menu .section-heading{margin-bottom:16px}
}
@media(max-width:640px){#menu.menu-section{padding-top:22px}}
@media(min-width:641px){#menu.menu-section{padding-top:66px}}
@media(min-width:641px){#menu.menu-section{padding-top:46px}}

/* Separate the full-screen espresso hero from the warm, readable menu canvas. */
.hero{
  min-height:calc(100vh - 108px);
  min-height:calc(100svh - 108px);
}
#menu.menu-section{
  background:#f2e5d4;
  color:#38251c;
}
#menu .section-heading h2{color:#38251c}
#menu .section-heading .eyebrow{color:#93613a}
#menu .section-heading>p{color:#665044}
#menu .category-nav a.category-option{
  background:#fffaf4;
  border-color:#ddc7ac;
  color:#38251c;
  box-shadow:0 5px 16px rgba(56,37,28,.09);
}
#menu .category-nav a.category-option:hover{
  background:#ead8c2;
  border-color:#b9875a;
  color:#38251c;
}
#menu .category-nav a.category-option.is-selected{
  background:#e8d1b5;
  border-color:#9b6c42;
  color:#38251c;
  box-shadow:0 0 0 2px rgba(155,108,66,.16),0 8px 20px rgba(56,37,28,.12);
}
#menu .menu-grid .menu-card{
  background:#fffaf4;
  border-color:#dfc9ae;
  color:#38251c;
}
#menu .card-heading{border-color:#e4d3bd}
#menu .card-heading h3{color:#38251c}
#menu .card-heading p{color:#78665c}
#menu .category-number{color:#93613a;border-color:#dfc9ae}
#menu .menu-list li:not(.menu-no-photo){
  background:#fffdf9;
  border-color:#eadcc9;
}
#menu .menu-list li:not(.menu-no-photo):hover{
  background:#fffaf4;
  border-color:#c49a70;
}
#menu .menu-list li:not(.menu-no-photo) span{color:#38251c}
#menu .menu-list li:not(.menu-no-photo) b{
  background:#f1e2cf;
  border-color:#e0c4a2;
  color:#704b2d;
}
#menu .menu-list li.menu-no-photo{border-color:#e4d3bd}
#menu .menu-list li.menu-no-photo span{color:#38251c}
#menu .menu-list li.menu-no-photo b{color:#704b2d}
@media(max-width:640px){
  .hero{min-height:calc(100vh - 84px);min-height:calc(100svh - 84px)}
}


/* Keep repeat scroll reveals light and responsive. */
.scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity .58s cubic-bezier(.2,.7,.2,1), transform .58s cubic-bezier(.2,.7,.2,1);
}
.scroll-reveal.is-scroll-visible { opacity: 1; transform: translate3d(0,0,0); }
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,.scroll-reveal.is-scroll-visible{opacity:1;transform:none;transition:none}
}

/* Keep category changes animated without a long stagger that feels delayed. */
.category-nav.category-list-enter a { animation-duration: .95s; }
.menu-card.category-content-enter { animation-duration: 1.25s; }
.menu-card.category-content-enter .menu-list li { animation-duration: .72s; }
.menu-card.category-content-enter .menu-list li:nth-child(2){animation-delay:.06s}
.menu-card.category-content-enter .menu-list li:nth-child(3){animation-delay:.12s}
.menu-card.category-content-enter .menu-list li:nth-child(4){animation-delay:.18s}
.menu-card.category-content-enter .menu-list li:nth-child(5){animation-delay:.24s}
.menu-card.category-content-enter .menu-list li:nth-child(6){animation-delay:.3s}
.menu-card.category-content-enter .menu-list li:nth-child(7){animation-delay:.36s}
.menu-card.category-content-enter .menu-list li:nth-child(8){animation-delay:.42s}
.menu-card.category-content-enter .menu-list li:nth-child(n+9){animation-delay:.48s}

/* Align the menu section flush under the sticky header on anchor navigation. */
#menu.menu-section{scroll-margin-top:-10px}

/* Let the menu's own background span the browser width on large displays. */
#menu.menu-section{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:clamp(24px,5vw,88px);
}
#menu > .section-heading,
#menu > .category-nav,
#menu > .menu-category-back,
#menu > .menu-grid,
#menu > .menu-footnote{
  width:100%;
  max-width:1260px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:640px){
  #menu.menu-section{padding-inline:17px}
}

/* Compact the desktop header only while the menu is in view. */
@media(min-width:641px){
  html:has(#menu:target){scroll-padding-top:96px}
  body:has(#menu:target) .site-header{height:86px;transition:height .24s ease}
  body:has(#menu:target) .site-header .brand img{width:70px;height:72px;transition:width .24s ease,height .24s ease}
  #menu:target.menu-section{padding-top:32px;scroll-margin-top:-10px}
  #menu:target .section-heading{margin-bottom:24px}
}
@media(prefers-reduced-motion:reduce){
  body:has(#menu:target) .site-header,
  body:has(#menu:target) .site-header .brand img{transition:none}
}

/* On-site feedback form in the location section. */
.visit-copy .feedback-panel{width:min(100%,360px);margin-top:16px;color:#f5eee5}
.visit-copy .feedback-panel summary{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid rgba(214,185,146,.55);border-radius:4px;color:#d6b992;font-size:11px;font-weight:700;cursor:pointer;list-style:none;transition:background-color .2s ease,color .2s ease}
.visit-copy .feedback-panel summary::-webkit-details-marker{display:none}
.visit-copy .feedback-panel summary::after{content:"+";margin-left:14px;font-size:16px;font-weight:400;line-height:1}
.visit-copy .feedback-panel[open] summary::after{content:"−"}
.visit-copy .feedback-panel summary:hover,.visit-copy .feedback-panel summary:focus-visible{background:#3a2419;color:#fffaf4}
.feedback-form{display:grid;gap:11px;margin-top:14px;padding:16px;border:1px solid #6b4a34;border-radius:5px;background:#2c1a13}
.feedback-form .feedback-intro{margin:0;color:#e6d5c2;font-size:11px;line-height:1.5}
.feedback-form label{display:grid;gap:5px;color:#f5eee5;font-size:11px;font-weight:600}
.feedback-form label span{display:inline;color:#d6b992;font-weight:400}
.feedback-form input,.feedback-form select,.feedback-form textarea{width:100%;min-height:40px;padding:9px 10px;border:1px solid #70533e;border-radius:3px;background:#3a2419;color:#fffaf4;font:400 12px/1.4 var(--sans)}
.feedback-form textarea{resize:vertical;min-height:90px}
.feedback-form input::placeholder,.feedback-form textarea::placeholder{color:#bda994}
.feedback-form input:focus-visible,.feedback-form select:focus-visible,.feedback-form textarea:focus-visible{outline:2px solid #d6b992;outline-offset:2px}
.feedback-form .feedback-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.feedback-form .button{justify-content:center;width:100%;min-height:44px}
.feedback-form .button:disabled{opacity:.65;cursor:wait}
.feedback-status{min-height:1.4em;margin:0;color:#d6b992;font-size:11px;line-height:1.4}
@media(max-width:640px){.visit-copy .feedback-panel{width:100%}.feedback-form{padding:13px}}
@media(prefers-reduced-motion:reduce){.visit-copy .feedback-panel summary{transition:none}}

/* Keep mobile scroll reveals subtle and avoid promoting every menu row to a layer. */
.scroll-reveal { will-change: auto; }
@media(max-width:640px){
  .scroll-reveal {
    transform: translate3d(0, 8px, 0);
    transition-duration: .42s;
  }
  .intro-animation .dish-tile { animation-duration: .62s; }
  .intro-animation .dish-tile:nth-child(2) { animation-delay: .06s; }
  .intro-animation .dish-tile:nth-child(3) { animation-delay: .12s; }
  .intro-animation .dish-tile:nth-child(4) { animation-delay: .18s; }
}
@media(prefers-reduced-motion:reduce){
  html { scroll-behavior: auto !important; }
}

footer .footer-social {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 0;
  color: #d6b992;
  font-size: 11px;
  letter-spacing: .02em;
  white-space: nowrap;
}
footer .footer-social span {
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}
footer .footer-social svg {
  display: block;
  flex: none;
  width: 18px;
  height: 18px;
}
footer .footer-phone { margin-left: auto; }

.whatsapp-fab {
  position: fixed;
  z-index: 30;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 999px;
  background: #25d366;
  color: #082b17;
  box-shadow: 0 5px 16px rgba(0,0,0,.28);
  font: 700 13px/1 var(--sans);
  letter-spacing: .01em;
  text-decoration: none;
  animation: whatsapp-pulse 2.2s ease-in-out infinite;
}
.whatsapp-fab svg {
  display: block;
  flex: none;
  width: 24px;
  height: 24px;
  color: #fff;
}
.whatsapp-fab:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.whatsapp-fab:active {
  animation: none;
  transform: scale(.98);
}
@media (hover:hover) {
  .whatsapp-fab:hover {
    animation: none;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,0,0,.32);
  }
}
@keyframes whatsapp-pulse {
  0%,100% {
    box-shadow: 0 5px 16px rgba(0,0,0,.28), 0 0 0 0 rgba(37,211,102,0);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 8px 22px rgba(0,0,0,.3), 0 0 0 7px rgba(37,211,102,.22);
    transform: scale(1.025);
  }
}
@media (min-width:641px) {
  footer { padding-right: max(220px, calc(5.5vw + 200px)); }
}
@media (max-width:640px) {
  footer { padding-bottom: 82px; }
  footer .footer-social { gap: 5px; font-size: 10px; }
}
@media (prefers-reduced-motion:reduce) {
  .whatsapp-fab { animation: none; }
}
