
:root{
  --olive:#68745c;--olive-dark:#4f5c47;--cream:#f4f0e8;--paper:#fbfaf6;--ink:#1f211d;
  --muted:#74776d;--line:rgba(31,33,29,.14);--terracotta:#a76448;--white:#fff;
  --serif:"Cormorant Garamond",Georgia,serif;--script:"Allura",cursive;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}
.page-transition{position:fixed;inset:0;background:var(--olive-dark);z-index:9999;pointer-events:none;transform:scaleY(1);transform-origin:bottom;animation:pageIn .75s cubic-bezier(.77,0,.18,1) forwards}
@keyframes pageIn{to{transform:scaleY(0)}}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;color:#fff}
.site-header.solid{position:sticky;color:var(--ink);background:rgba(251,250,246,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--olive)}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-text{display:flex;flex-direction:column;line-height:.9}.brand-text>span{font:42px/1 var(--script)}.brand-text small{font:10px/1.2 var(--sans);letter-spacing:.18em;text-transform:lowercase;margin-top:4px}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.desktop-nav a{opacity:.9;transition:.25s}.desktop-nav a:hover,.desktop-nav a.active{opacity:1;color:var(--terracotta)}.nav-cta{border:1px solid currentColor;padding:11px 18px;border-radius:999px}
.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:8px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.mobile-menu{display:none}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#1d201a}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.85)}.hero-overlay{background:linear-gradient(90deg,rgba(15,17,14,.76),rgba(15,17,14,.28) 55%,rgba(15,17,14,.12)),linear-gradient(0deg,rgba(15,17,14,.58),transparent 50%)}
.hero-content{position:relative;z-index:2;color:#fff;padding:0 5vw 9vw;max-width:850px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.eyebrow{color:var(--olive-dark)}.eyebrow.light,.section-kicker.light{color:rgba(255,255,255,.72)}
.hero h1,.page-hero h1,.booking-hero h1{font:clamp(64px,8vw,122px)/.82 var(--serif);font-weight:500;letter-spacing:-.045em;margin:22px 0 30px}.hero h1 em,.page-hero h1 em,.booking-hero h1 em,h1 em,h2 em{font-family:var(--script);font-weight:400;letter-spacing:0}.hero-lead{font-size:18px;max-width:520px;color:rgba(255,255,255,.85)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 24px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--olive-dark);color:#fff}.button-dark:hover{background:var(--ink)}.full{width:100%;border:0;cursor:pointer}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:10px}.light{color:#fff}.hero-note{position:absolute;z-index:2;right:5vw;bottom:9vw;color:rgba(255,255,255,.9);font:26px/1 var(--serif);text-align:right}.hero-note em{font-family:var(--script);font-size:38px}.scroll-cue{position:absolute;bottom:22px;left:5vw;color:#fff;z-index:2;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.scroll-cue span{margin-left:12px;font-size:16px}
.section-pad{padding:110px 5vw}.section-kicker{color:var(--muted);margin-bottom:40px}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}.intro-title h2,.season h2,.silvio h2,.gallery h2,.reviews h2,.visit h2{font:clamp(54px,6vw,88px)/.84 var(--serif);font-weight:500;letter-spacing:-.04em;margin:0}.intro-title h2 em,.season h2 em,.silvio h2 em,.gallery h2 em,.reviews h2 em,.visit h2 em{font-size:1.05em}.intro-copy{max-width:610px;padding-top:8px}.intro-copy p{font-size:18px;color:#45483f;margin:0 0 24px}.intro-copy .text-link{display:inline-block;margin-top:10px}
.image-break{display:grid;grid-template-columns:1.35fr .65fr;min-height:700px;background:var(--olive)}.image-break-main,.image-break-small{position:relative;overflow:hidden}.image-break img{height:100%;object-fit:cover}.image-break-small{border-left:1px solid rgba(255,255,255,.3)}.image-break-small span{position:absolute;left:34px;bottom:34px;color:#fff;font:28px/1 var(--serif)}.image-break-small em{font:40px var(--script)}
.experience{background:var(--olive);color:#fff;padding-top:40px}.experience .section-kicker{color:rgba(255,255,255,.6)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}.experience-card{padding:42px 36px 20px;border-right:1px solid rgba(255,255,255,.2);min-height:250px}.experience-card:last-child{border-right:0}.number{font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.55)}.experience-card h3{font:42px/1 var(--serif);font-weight:500;margin:35px 0 16px}.experience-card p{color:rgba(255,255,255,.72);max-width:320px}
.season{background:var(--cream)}.season-head{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;margin-bottom:48px}.season-head>p{max-width:480px;color:#55584f;margin:0}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dish-card{background:#fff}.dish-image{height:390px;position:relative;overflow:hidden}.dish-image img{height:100%;object-fit:cover;transition:transform .7s}.dish-card:hover .dish-image img{transform:scale(1.04)}.dish-image span{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.9);padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.dish-body{padding:26px}.dish-body h3{font:33px/1 var(--serif);font-weight:600;margin:0 0 10px}.dish-body p{color:#64675f;font-size:14px;min-height:74px}.dish-body b{font-size:13px}.center-link{text-align:center;margin-top:48px}
.silvio{background:var(--paper)}.silvio-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.silvio-photo{position:relative}.silvio-photo img{height:680px;object-fit:cover;object-position:center top;filter:saturate(.9)}.photo-caption{position:absolute;left:18px;bottom:18px;background:rgba(31,33,29,.85);color:#fff;padding:10px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.silvio-copy{max-width:580px}.silvio-copy h2{margin:20px 0 30px}.silvio-copy p{color:#565951;font-size:17px}.whatsapp-inline{display:inline-flex;gap:12px;margin-top:22px;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.12em;border-bottom:1px solid var(--olive);padding-bottom:8px;color:var(--olive-dark)}
.gallery{background:#ebe7dc}.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .8fr;grid-template-rows:260px 330px;gap:16px}.gallery-grid img{height:100%;object-fit:cover}.g1{grid-row:1 / 3}.g2{grid-column:2}.g3{grid-column:3}.g4{grid-column:2 / 4}.g5{display:none}
.reviews{background:var(--cream)}.reviews-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:40px}.rating{min-width:230px;border-left:1px solid var(--line);padding-left:25px;display:flex;flex-direction:column}.rating strong{font:64px/1 var(--serif)}.rating span{letter-spacing:.18em;font-size:13px;margin:8px 0;color:var(--terracotta)}.rating small{color:var(--muted);font-size:11px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;padding:34px;min-height:300px;border-top:2px solid var(--olive)}.review-card>span{font-size:11px;letter-spacing:.15em;color:var(--muted)}.review-card h3{font:40px/1 var(--serif);font-weight:500;margin:34px 0 15px}.review-card p{color:#5d6058}.review-card small{display:block;margin-top:35px;color:#9a9b94;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.review-source{margin-top:24px;color:#8a8b84;font-size:11px}
.visit{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr}.visit-content{display:flex;flex-direction:column;justify-content:center}.visit-content h2{margin:20px 0 24px}.visit-content>p{color:rgba(255,255,255,.65);max-width:470px}.visit-actions{display:flex;gap:24px;align-items:center;margin-top:20px}.map-wrap{position:relative;min-height:620px}.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.9) contrast(.95)}.map-link{position:absolute;right:24px;bottom:24px;background:#fff;color:var(--ink);padding:12px 16px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.site-footer{background:#161814;color:#fff;padding:55px 5vw 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-brand .brand-text>span{color:#fff}.footer-top p{margin:0;color:rgba(255,255,255,.55);font-size:13px}.footer-phone{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:rgba(255,255,255,.4);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.whatsapp-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#2dbb62;color:#fff;display:grid;place-items:center;z-index:50;box-shadow:0 14px 30px rgba(0,0,0,.2);transition:transform .2s}.whatsapp-float:hover{transform:translateY(-4px)}.whatsapp-float svg{width:28px;height:28px;fill:currentColor}.whatsapp-float span{font-size:28px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}

.page-hero,.booking-hero{min-height:70vh;background:var(--olive);color:#fff;display:flex;align-items:flex-end;padding:120px 5vw 80px;position:relative;overflow:hidden}.page-hero:after,.booking-hero:after{content:"";position:absolute;width:60vw;height:60vw;border-radius:50%;border:1px solid rgba(255,255,255,.16);right:-18vw;top:-30vw}.page-hero-inner,.booking-hero-inner{max-width:900px;position:relative;z-index:1}.page-hero h1,.booking-hero h1{margin-bottom:24px}.page-hero p,.booking-hero p{font-size:18px;max-width:570px;color:rgba(255,255,255,.75)}
.menu-intro{background:var(--cream)}.menu-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.menu-intro-grid h2{font:72px/.85 var(--serif);font-weight:500;margin:0}.menu-intro-grid h2 em{font:70px var(--script)}.menu-intro-grid p{color:#60635a;max-width:520px}
.menu-section{background:var(--paper)}.menu-section.tint{background:#ebe7dc}.menu-section-head{display:grid;grid-template-columns:60px 1fr 1fr;align-items:end;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:0}.menu-section-head>span{font-size:11px;letter-spacing:.15em;color:var(--muted)}.menu-section-head h2{font:68px/.8 var(--serif);font-weight:500;margin:0}.menu-section-head p{margin:0;color:var(--muted);font-size:13px}.menu-list{margin-bottom:45px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}.menu-item h3{font:31px/1.05 var(--serif);font-weight:600;margin:0 0 7px}.menu-item p{margin:0;color:#6b6d66;font-size:13px;max-width:720px}.menu-item b{font:22px var(--serif);white-space:nowrap}.menu-photo{max-width:540px;margin-left:auto}.menu-photo img{max-height:700px;object-fit:cover}.feature-image{max-width:820px;margin:20px auto 0}.feature-image img{max-height:660px;object-fit:cover}.cocktails{background:var(--olive);color:#fff}.cocktails .section-kicker{color:rgba(255,255,255,.6)}.cocktail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.cocktail-grid h2{font:82px/.82 var(--serif);font-weight:500;margin:0 0 35px}.cocktail-grid h2 em{font:80px var(--script)}.cocktail-grid img{max-width:440px;max-height:520px;object-fit:cover}.cocktail-list p{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);padding:12px 0;margin:0;font:22px var(--serif)}.cocktail-list b{font-size:13px;font-family:var(--sans)}.menu-cta{background:var(--ink);color:#fff;text-align:center}.menu-cta-inner h2{font:82px/.85 var(--serif);font-weight:500;margin:10px 0 35px}.menu-cta-inner h2+ .button{margin:auto}

.booking-hero{min-height:62vh;background:var(--ink)}.booking{background:var(--cream)}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.booking-info h2{font:72px/.82 var(--serif);font-weight:500;margin:20px 0 28px}.booking-info h2 em{font:70px var(--script)}.booking-info>p{color:#62655d;max-width:480px}.info-list{margin-top:40px;border-top:1px solid var(--line)}.info-list>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:20px}.info-list span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.info-list strong{font-size:13px;font-weight:500}.booking-card{background:#fff;padding:38px;box-shadow:0 20px 60px rgba(31,33,29,.08)}.booking-card form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#74776d;font-weight:700}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #d7d5cc;background:#fbfaf6;padding:13px 14px;border-radius:0;outline:none;color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none;font-weight:400}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus{border-color:var(--olive)}.check{display:flex;align-items:flex-start;gap:8px;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.check input{width:15px;height:15px;margin:2px 0 0}.form-note{font-size:10px!important;color:#999b94!important;margin:0}.form-status{font-size:12px;color:var(--olive-dark);min-height:18px}.hidden-frame{display:none}
.booking-map{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.booking-map-copy{display:flex;flex-direction:column;justify-content:center}.booking-map-copy h2{font:78px/.84 var(--serif);font-weight:500;margin:18px 0 35px}.booking-map-copy h2 em{font:72px var(--script)}
@media(max-width:900px){
  .site-header{padding:16px 5vw}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;top:0;right:0;z-index:19;width:min(82vw,360px);height:100vh;background:var(--cream);padding:100px 40px 40px;display:flex;flex-direction:column;gap:20px;transform:translateX(100%);transition:transform .35s}.mobile-menu.open{transform:none}.mobile-menu a{font:38px/1 var(--serif)}
  .brand-text>span{font-size:36px}.hero{min-height:820px}.hero-content{padding-bottom:120px}.hero h1{font-size:72px}.hero-note{display:none}.scroll-cue{bottom:22px}
  .section-pad{padding:80px 5vw}.intro-grid,.season-head,.silvio-grid,.menu-intro-grid,.booking-layout,.cocktail-grid{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.image-break{grid-template-columns:1fr;min-height:auto}.image-break-main{height:560px}.image-break-small{height:430px;border-left:0;border-top:1px solid rgba(255,255,255,.25)}.experience-grid{grid-template-columns:1fr}.experience-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.dish-grid{grid-template-columns:1fr}.dish-image{height:440px}.gallery-head,.reviews-head{display:block}.rating{margin-top:30px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 240px 260px}.g1{grid-row:auto;grid-column:1 / 3}.g2{grid-column:1}.g3{grid-column:2}.g4{grid-column:1 / 3}.visit,.booking-map{grid-template-columns:1fr}.visit-content{min-height:500px}.map-wrap{min-height:430px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-wrap:wrap}.page-hero,.booking-hero{min-height:600px}.menu-section-head{grid-template-columns:45px 1fr}.menu-section-head p{grid-column:2;margin-top:12px}.menu-item h3{font-size:28px}.menu-item{grid-template-columns:1fr auto}.cocktail-grid h2,.menu-cta-inner h2{font-size:68px}.booking-info h2{font-size:64px}.booking-card{padding:24px}.form-row{grid-template-columns:1fr}.booking-map-copy{min-height:450px}
}
@media(max-width:560px){
  .brand-mark{width:36px;height:36px}.brand-text>span{font-size:32px}.brand-text small{font-size:8px}.hero h1{font-size:61px}.hero-lead{font-size:16px}.hero-actions{gap:18px;flex-wrap:wrap}.intro-title h2,.season h2,.silvio h2,.gallery h2,.reviews h2{font-size:54px}.dish-image{height:380px}.silvio-photo img{height:520px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:350px 250px 250px 300px}.g1,.g4{grid-column:auto}.g3{grid-column:auto}.g2{grid-column:auto}.gallery-grid .g5{display:block}.menu-section-head h2{font-size:56px}.menu-item{grid-template-columns:1fr}.menu-item b{margin-top:-2px}.menu-photo{max-width:none}.cocktail-list p{font-size:19px}.booking-info h2{font-size:56px}.booking-map-copy h2{font-size:60px}
}

body.leaving .page-transition{animation:pageOut .45s cubic-bezier(.77,0,.18,1) forwards}@keyframes pageOut{from{transform:scaleY(0);transform-origin:top}to{transform:scaleY(1);transform-origin:top}}

/* ===== Responsive patch · Gardenia ===== */
html, body { width:100%; max-width:100%; }
body { min-width:0; }
*, *::before, *::after { min-width:0; }
img, svg, video, iframe { max-width:100%; }

/* Prevent long menu names, phone numbers and URLs from forcing horizontal overflow */
h1, h2, h3, h4, p, a, span, b, strong, label { overflow-wrap:anywhere; }

@media (max-width: 900px) {
  .site-header { padding:14px 20px; }
  .brand { gap:9px; }
  .brand-mark { flex:0 0 auto; }
  .brand-text { min-width:0; }
  .brand-text>span { white-space:nowrap; }
  .hero { min-height:100svh; }
  .hero-content { width:100%; max-width:760px; padding:0 20px 100px; }
  .hero-actions { align-items:stretch; }
  .hero-actions .button, .hero-actions .text-link { max-width:100%; }
  .section-pad { padding-left:20px; padding-right:20px; }
  .intro-grid, .season-head, .silvio-grid, .menu-intro-grid, .booking-layout, .cocktail-grid { gap:34px; }
  .menu-section-head { grid-template-columns:38px minmax(0,1fr); gap:12px; }
  .menu-section-head h2 { min-width:0; }
  .menu-section-head p { grid-column:2; }
  .menu-item { grid-template-columns:minmax(0,1fr) auto; gap:18px; }
  .menu-item > div { min-width:0; }
  .menu-item p { max-width:100%; }
  .cocktail-list { width:100%; }
  .cocktail-list p { gap:14px; }
  .cocktail-list p span { min-width:0; }
  .cocktail-list b { flex:0 0 auto; }
  .booking-card { width:100%; }
  .form-row { min-width:0; }
  .info-list>div { grid-template-columns:80px minmax(0,1fr); }
  .footer-top, .footer-bottom { min-width:0; }
  .footer-bottom a, .footer-bottom span { overflow-wrap:anywhere; }
}

@media (max-width: 560px) {
  .site-header { padding:12px 16px; }
  .brand-text>span { font-size:30px; }
  .brand-text small { font-size:7px; letter-spacing:.12em; }
  .menu-toggle { flex:0 0 42px; }
  .mobile-menu { width:min(88vw,360px); padding:92px 28px 30px; }
  .mobile-menu a { font-size:34px; }
  .hero { min-height:760px; }
  .hero-content { padding:0 16px 92px; }
  .hero h1, .page-hero h1, .booking-hero h1 { font-size:clamp(52px,16vw,70px); line-height:.88; }
  .hero-lead, .page-hero p, .booking-hero p { font-size:15px; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:14px; }
  .hero-actions .button { width:100%; max-width:320px; }
  .section-pad { padding:64px 16px; }
  .intro-title h2, .season h2, .silvio h2, .gallery h2, .reviews h2 { font-size:clamp(48px,14vw,60px); }
  .menu-intro-grid h2 { font-size:clamp(50px,15vw,64px); }
  .menu-section-head { grid-template-columns:1fr; gap:8px; padding-bottom:18px; }
  .menu-section-head>span { order:0; }
  .menu-section-head h2 { order:1; font-size:clamp(44px,13vw,58px); line-height:.9; }
  .menu-section-head p { grid-column:auto; order:2; margin-top:2px; font-size:12px; }
  .menu-item { grid-template-columns:1fr; gap:6px; padding:22px 0; }
  .menu-item h3 { font-size:26px; line-height:1.02; }
  .menu-item p { font-size:12px; line-height:1.5; }
  .menu-item b { justify-self:start; margin-top:3px; font-size:21px; }
  .feature-image, .menu-photo { width:100%; max-width:none; }
  .feature-image img, .menu-photo img { max-height:none; }
  .cocktail-grid { gap:30px; }
  .cocktail-grid h2 { font-size:clamp(52px,15vw,68px); }
  .cocktail-grid h2 em { font-size:1em; }
  .cocktail-grid img { width:100%; max-width:100%; max-height:none; }
  .cocktail-list p { font-size:18px; padding:11px 0; }
  .menu-cta-inner h2 { font-size:clamp(54px,15vw,68px); }
  .booking-info h2, .booking-map-copy h2 { font-size:clamp(50px,14vw,62px); }
  .booking-card { padding:20px 16px; }
  .info-list>div { grid-template-columns:1fr; gap:4px; }
  .visit-content { min-height:0; }
  .map-wrap { min-height:380px; }
  .site-footer { padding:44px 16px 22px; }
  .footer-top { gap:22px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }
  .whatsapp-float { right:16px; bottom:16px; width:54px; height:54px; }
}

@media (max-width: 380px) {
  .brand-text>span { font-size:27px; }
  .brand-text small { font-size:6px; }
  .menu-toggle { width:38px; }
  .hero h1, .page-hero h1, .booking-hero h1 { font-size:50px; }
  .menu-section-head h2 { font-size:42px; }
  .cocktail-list p { font-size:17px; }
}

/* Escritorio / Tablet (por si no lo tenías definido como grid/flex) */
.review-grid {
  display: flex;
  gap: 20px;
}

/* Ajuste para móviles (pantallas menores a 768px) */
@media (max-width: 768px) {
  .review-grid {
    flex-direction: column; /* Apila las tarjetas una encima de la otra */
    width: 100%;           /* Evita que desborde el ancho */
  }

  .review-card {
    width: 100%;           /* Ocupa todo el ancho disponible */
    box-sizing: border-box; /* Previene desbordamientos por padding o bordes */
  }
}

