
/* BENINI Static Website — Mobile-first refinement V4 */
:root{
  --bg:#fffdf8;
  --surface:#ffffff;
  --surface-alt:#f8efe2;
  --text:#202020;
  --muted:#666866;
  --primary:#006666;
  --primary-dark:#004f4f;
  --accent:#b98b4a;
  --border:rgba(0,102,102,.18);
  --white:#fff;
  --shadow-soft:0 14px 34px rgba(0,55,55,.08);
  --shadow-xl:0 24px 70px rgba(0,55,55,.16);
  --radius:22px;
  --radius-lg:34px;
  --container:min(1160px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Lato',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;font-size:16px;font-weight:300}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}.muted{color:var(--muted)!important}
.container{width:var(--container);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--primary);color:#fff;padding:.75rem 1rem;border-radius:1rem;z-index:1000}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid rgba(0,102,102,.35);outline-offset:4px}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.9);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.25s ease}.site-header.is-scrolled{border-color:var(--border);box-shadow:0 10px 30px rgba(0,102,102,.08)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;min-width:0}.brand img{height:auto;width:min(230px,42vw);max-height:64px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:.25rem}.nav-links>a:not(.btn){font-size:.95rem;font-weight:400;letter-spacing:.02em;color:#4e4e4e;padding:.65rem .9rem;border-radius:999px;transition:.2s ease}.nav-links>a:hover,.nav-links>a[aria-current="page"]{color:var(--primary);background:rgba(0,102,102,.07)}
.nav-toggle{display:none;align-items:center;gap:.5rem;background:var(--primary);color:white;border:0;border-radius:999px;padding:.72rem .95rem;font-family:inherit;font-weight:700;letter-spacing:.04em}.nav-toggle i,.nav-toggle i:before,.nav-toggle i:after{display:block;width:18px;height:2px;background:currentColor;border-radius:99px;content:""}.nav-toggle i{position:relative}.nav-toggle i:before{position:absolute;top:-6px}.nav-toggle i:after{position:absolute;top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:999px;padding:.9rem 1.18rem;font-family:inherit;font-weight:700;font-size:.88rem;line-height:1.1;letter-spacing:.02em;border:1px solid transparent;transition:.25s ease;cursor:pointer;min-height:48px}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:white;box-shadow:0 13px 26px rgba(0,102,102,.20)}.btn-outline{border-color:var(--border);color:var(--primary);background:rgba(255,255,255,.72)}.btn-light{background:#fff;color:var(--primary)}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.center-row{justify-content:center}.center{text-align:center;margin-inline:auto}
/* Typography */
.eyebrow{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.8rem}
.hero h1,.page-hero h1{font-family:'Lato',Arial,sans-serif;font-size:clamp(3.2rem,6.7vw,7rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 1.2rem;color:#222;font-weight:100!important}
.section-title{font-family:'Lato',Arial,sans-serif;font-size:clamp(2.1rem,4.6vw,4.9rem);line-height:1.08;letter-spacing:-.05em;margin:.2rem 0 1rem;color:#222;font-weight:100!important}
.section-copy{font-size:1.05rem;color:var(--muted);max-width:780px;font-weight:300}
h2,h3{font-weight:300}strong{font-weight:700}
/* Hero */
.hero{position:relative;overflow:hidden;padding:5rem 0 4rem;background:#fff}.decor-line{position:absolute;inset:8rem -8% auto auto;width:58%;height:150px;border-top:2px solid rgba(0,102,102,.45);border-radius:50%;opacity:.25;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:4rem;align-items:center}.hero p{font-size:1.08rem;max-width:720px}.hero-media{position:relative}.hero-media img,.media-card img{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);aspect-ratio:4/5;object-fit:cover}.hero-badge{position:absolute;left:-1.5rem;bottom:2rem;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:22px;padding:1rem 1.15rem;box-shadow:var(--shadow-soft);max-width:260px}.hero-badge strong{display:block;color:var(--primary);font-size:.92rem;text-transform:uppercase;letter-spacing:.09em}.hero-badge span{display:block;color:var(--muted);font-size:.85rem}
/* Layout */
.section{padding:5.2rem 0}.section-tight{padding:3.2rem 0}.intro-section{background:linear-gradient(180deg,#fff 0%,var(--surface-alt) 100%)}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.grid{display:grid;gap:1.2rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.78));border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-soft);transition:.25s ease}.card:hover{transform:translateY(-4px)}.card h2,.card h3{margin:.2rem 0 .6rem;line-height:1.12;color:var(--primary);letter-spacing:-.02em}.card p{color:var(--muted)}.dark{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff}.dark h2,.dark h3,.dark p,.dark .eyebrow{color:#fff}.dark p{opacity:.92}.icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:rgba(0,102,102,.09);color:var(--primary);font-weight:800;margin-bottom:1rem}.dark .icon{background:rgba(255,255,255,.14);color:#fff}.bento{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem}.media-card{border-radius:var(--radius-lg);position:relative;overflow:hidden}.cards-offset .card:nth-child(even){transform:translateY(1.15rem)}.cards-offset .card:nth-child(even):hover{transform:translateY(.8rem)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--primary);color:white;border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;right:-5rem;top:-5rem;width:16rem;height:16rem;border:2px solid rgba(255,255,255,.14);border-radius:50%}.cta-band h2{margin:.1rem 0 .7rem;font-size:clamp(1.9rem,4vw,4rem);font-weight:200;letter-spacing:-.05em}.cta-band p{max-width:690px;opacity:.93}.page-hero{text-align:center;padding:5.3rem 0 3.2rem;background:linear-gradient(180deg,rgba(0,102,102,.06),transparent)}.compact-hero{padding-bottom:2rem}
/* Menu */
.menu-layout{display:block}.menu-nav{position:sticky;top:86px;z-index:4;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:24px;padding:.75rem 1rem;margin-bottom:2rem;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem}.menu-nav__label{display:inline-flex;align-items:center;text-transform:uppercase;letter-spacing:.16em;color:var(--primary);font-size:.75rem;font-weight:700;white-space:nowrap}.category-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.category-list a{display:inline-flex;align-items:center;justify-content:center;padding:.54rem .78rem;border-radius:999px;color:#4e4e4e;background:rgba(0,102,102,.055);font-weight:400;font-size:.86rem;white-space:nowrap;border:1px solid rgba(0,102,102,.10);line-height:1}.category-list a:hover,.category-list a:focus{background:var(--primary);color:#fff;border-color:var(--primary)}.menu-content{min-width:0}.menu-section{padding:1.8rem 0 2.6rem;border-bottom:1px solid var(--border);scroll-margin-top:170px}.menu-heading h2{font-family:'Lato',Arial,sans-serif;font-size:clamp(2rem,4.2vw,4.1rem);line-height:1.06;margin:0 0 1.15rem;color:#222;font-weight:100!important;letter-spacing:-.045em;text-transform:none}.menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.menu-list.compact,.featured-list{grid-template-columns:1fr}.menu-item{display:grid;grid-template-columns:1fr auto;gap:1rem;background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:20px;padding:1rem 1.1rem;align-items:start}.menu-item h3{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.07em;font-size:.9rem;line-height:1.35;color:var(--primary);font-weight:700}.menu-item p{font-size:.92rem;color:var(--muted);margin:0;line-height:1.55}.price{white-space:nowrap;color:var(--primary);font-weight:700}.notice{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;color:var(--muted)}.notice h2{color:var(--primary);margin-top:0}
/* Contact / FAQ / Footer */
.hours{display:grid;gap:.4rem}.hours div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--border);padding:.55rem 0}.hours strong{color:var(--primary)}.contact-card .contact-row,.contact-row{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.contact-row strong{color:var(--primary)}.map-card{min-height:440px;border-radius:var(--radius-lg);padding:2rem;color:white;background:linear-gradient(0deg,rgba(0,77,77,.82),rgba(0,77,77,.36)),url('https://images.unsplash.com/photo-1526772662000-3f88f10405ff?auto=format&fit=crop&q=80&w=900') center/cover;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-xl)}.map-card .eyebrow,.map-card p{color:#fff}.faq-list{max-width:880px;margin-inline:auto;display:grid;gap:.8rem}.faq-item{background:rgba(255,255,255,.82);border:1px solid var(--border);border-radius:22px;overflow:hidden}.faq-question{width:100%;background:transparent;border:0;display:flex;justify-content:space-between;gap:1rem;text-align:left;padding:1.2rem 1.3rem;font:inherit;font-weight:700;color:var(--primary);cursor:pointer}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer p{overflow:hidden;margin:0;padding:0 1.3rem;color:var(--muted)}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-item.is-open .faq-answer p{padding-bottom:1.2rem}.site-footer{padding:4rem 0 1.5rem;background:#f8efe2;border-top:1px solid var(--border)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:2rem}.footer-brand p{font-size:.95rem;color:var(--muted);max-width:420px}.site-footer h3{text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:var(--primary);margin:0 0 1rem}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;color:var(--muted);font-size:.95rem}.footer-links a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}.whatsapp-float{position:fixed;right:1.3rem;bottom:1.3rem;z-index:90;width:62px;height:62px;border-radius:999px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px rgba(0,102,102,.35);animation:pulse 2.4s infinite}.whatsapp-float svg{width:32px;height:32px}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,102,102,.35)}70%{box-shadow:0 0 0 18px rgba(0,102,102,0)}100%{box-shadow:0 0 0 0 rgba(0,102,102,0)}}.reveal{opacity:0;transform:translateY(14px);transition:.55s ease}.reveal.is-visible{opacity:1;transform:none}
/* Mobile first refinements */
@media (max-width:980px){
  .nav-wrap{min-height:74px}.brand img{width:min(190px,46vw)}.nav-toggle{display:inline-flex}.nav-links{position:fixed;left:16px;right:16px;top:82px;background:rgba(255,253,248,.98);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-xl);padding:.75rem;display:grid;gap:.2rem;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.2s ease}.nav-links.is-open{opacity:1;transform:none;pointer-events:auto}.nav-links>a:not(.btn),.nav-links .btn{width:100%;justify-content:flex-start;padding:.85rem 1rem}.hero{padding:3.2rem 0 3rem}.hero-grid,.split,.bento{grid-template-columns:1fr;gap:2rem}.hero-media{order:-1}.hero-media img{aspect-ratio:16/11}.hero-badge{left:1rem;right:1rem;bottom:1rem;max-width:none}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.cards-offset .card:nth-child(even){transform:none}.cta-band{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.menu-list{grid-template-columns:1fr}.menu-section{scroll-margin-top:156px}.page-hero{text-align:left}.center{text-align:left}.center-row{justify-content:flex-start}
}
@media (max-width:640px){
  :root{--container:min(100% - 24px, 1160px)}body{font-size:15px}.nav-wrap{min-height:68px}.nav-links{top:76px;left:12px;right:12px}.hero h1,.page-hero h1{font-size:clamp(3.1rem,16vw,5rem);letter-spacing:-.065em}.section-title{font-size:clamp(2.25rem,11vw,3.7rem)}.section{padding:3.8rem 0}.section-tight{padding:2.4rem 0}.btn-row,.btn{width:100%}.btn{justify-content:center}.grid-4,.grid-3{grid-template-columns:1fr}.card{padding:1.2rem}.menu-nav{top:68px;border-radius:0;margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;box-shadow:0 10px 20px rgba(0,102,102,.08);padding:.65rem 12px}.menu-nav strong{display:none}.menu-item{grid-template-columns:1fr;gap:.5rem}.price{justify-self:start;background:rgba(0,102,102,.08);border-radius:999px;padding:.25rem .65rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.contact-row{grid-template-columns:1fr}.hours div{display:grid}.whatsapp-float{width:56px;height:56px;right:1rem;bottom:1rem}.page-hero{padding:3.2rem 0 2rem}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* V4 refinements requested: lighter BENINI-style typography and corrected menu categories */
.hero h1,.page-hero h1,.section-title,.menu-heading h2{font-family:'Lato',Arial,sans-serif;font-weight:100!important}
@media (max-width:780px){.hero h1,.page-hero h1{font-size:clamp(2.75rem,14vw,4.6rem);line-height:1.04}.menu-nav{overflow:hidden}.category-list{display:flex}.category-list li{flex:0 0 auto}}


/* V5 refinements: stronger thin headers, first-fold hero, warmer background, centered subtitles, fixed menu categories, mobile-first */
:root{
  --color-bg:#f8f4ee;
  --surface:#fbf8f2;
  --surface-alt:#efe7da;
}
body{
  background:linear-gradient(180deg,#f6f1e8 0%,#fbf8f3 28%,#ffffff 100%);
}
.hero,
.page-hero{
  background:
    radial-gradient(circle at top right, rgba(0,102,102,.05), transparent 28%),
    linear-gradient(180deg,#f5f1e8 0%, #faf7f1 58%, #ffffff 100%);
}
.hero{
  padding:3.8rem 0 3.6rem;
}
.hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.72fr);
  align-items:start;
  gap:2.6rem;
}
.hero-copy{
  padding-top:.35rem;
}
.hero h1,
.page-hero h1,
.section-title,
.menu-heading h2{
  font-weight:300 !important;
  letter-spacing:-.05em;
}
.hero h1{
  font-size:clamp(3.8rem,6.7vw,7.25rem);
  max-width:8.2ch;
  margin-bottom:1rem;
}
.hero p{
  max-width:700px;
}
.hero .btn-row{
  margin-top:1.6rem;
}
.hero-media{
  justify-self:end;
  width:min(100%,500px);
  margin-top:.6rem;
}
.hero-media img{
  aspect-ratio:4 / 4.6;
}
.decor-line{
  top:9rem;
  width:42%;
  opacity:.18;
}
.page-hero{
  text-align:center;
  padding:4.4rem 0 3rem;
}
.page-hero .container,
.page-hero .hero-copy,
.page-hero .section-kicker{
  text-align:center;
}
.page-hero .eyebrow,
.page-hero p,
.page-hero .btn-row,
.section-copy.center{
  margin-inline:auto;
}
.page-hero p,
.section-copy.center{
  max-width:860px;
}
.page-hero .btn-row,
.center-row{
  justify-content:center;
}
.center,
.section-title.center,
.menu-heading.center,
.menu-heading .eyebrow.center{
  text-align:center;
}
.menu-nav{
  display:block;
  padding:1rem 1rem .9rem;
}
.menu-nav__label{
  display:block;
  margin-bottom:.7rem;
}
.menu-nav .category-list{
  display:flex !important;
  flex-wrap:wrap;
  gap:.6rem;
  list-style:none !important;
}
.menu-nav .category-list li{
  display:block !important;
  flex:0 0 auto;
  margin:0 !important;
  padding:0 !important;
}
.menu-nav .category-list a{
  display:inline-flex !important;
  padding:.62rem .92rem;
  font-size:.9rem;
  font-weight:500;
}
.site-header{
  background:rgba(250,247,241,.92);
}
.btn-primary{
  box-shadow:0 14px 30px rgba(0,102,102,.18);
}
@media (max-width:980px){
  .hero{padding:2.4rem 0 2.6rem}
  .hero-grid,.split,.bento{grid-template-columns:1fr;gap:1.6rem}
  .hero-media{order:initial;justify-self:stretch;width:100%;max-width:560px;margin-inline:auto}
  .hero-media img{aspect-ratio:16/10}
  .hero-copy{padding-top:0}
  .page-hero{text-align:center}
  .center{text-align:center}
  .center-row{justify-content:center}
  .menu-nav{
    padding:.8rem .85rem;
  }
}
@media (max-width:640px){
  .hero h1,.page-hero h1{
    font-size:clamp(3rem,13vw,4.85rem);
    line-height:1.02;
    letter-spacing:-.055em;
  }
  .hero .eyebrow,
  .page-hero .eyebrow{
    font-size:.74rem;
    letter-spacing:.2em;
  }
  .hero .btn-row{gap:.8rem}
  .btn-row,
  .btn{width:100%}
  .btn{justify-content:center}
  .menu-nav{
    top:68px;
    border-radius:18px;
    margin-left:0;
    margin-right:0;
    border-left:1px solid var(--border);
    border-right:1px solid var(--border);
    overflow:hidden;
  }
  .menu-nav .category-list{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:.1rem;
    scrollbar-width:none;
  }
  .menu-nav .category-list::-webkit-scrollbar{display:none}
  .menu-nav .category-list a{
    padding:.64rem .86rem;
    font-size:.88rem;
  }
  .page-hero p,
  .section-copy.center{
    max-width:100%;
  }
}


/* V6: compact hero with soft background image, no oversized first-fold image */
.hero{
  position:relative;
  min-height:auto;
  padding:clamp(3.2rem,7vw,6.2rem) 0 clamp(3rem,6vw,5.2rem);
  background:
    linear-gradient(90deg, rgba(248,244,238,.98) 0%, rgba(248,244,238,.94) 42%, rgba(248,244,238,.74) 72%, rgba(248,244,238,.58) 100%),
    url("https://images.unsplash.com/photo-1551183053-bf91a1d81141?auto=format&fit=crop&q=80&w=1600") center right / cover no-repeat;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 18%, rgba(0,102,102,.11), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.68));
  pointer-events:none;
}

.hero .decor-line{
  display:none;
}

.hero-grid{
  position:relative;
  z-index:1;
  display:block;
}

.hero-copy{
  max-width:760px;
  padding-top:0;
}

.hero h1{
  max-width:9.7ch;
  font-size:clamp(3.5rem,6.2vw,6.7rem);
  line-height:.98;
  margin-bottom:1rem;
}

.hero p{
  max-width:650px;
  font-size:clamp(1rem,1.5vw,1.15rem);
}

.hero-media{
  display:none;
}

.hero .btn-row{
  margin-top:1.45rem;
}

@media (max-width:980px){
  .hero{
    padding:3.2rem 0 3.4rem;
    background:
      linear-gradient(180deg, rgba(248,244,238,.98) 0%, rgba(248,244,238,.94) 50%, rgba(248,244,238,.88) 100%),
      url("https://images.unsplash.com/photo-1551183053-bf91a1d81141?auto=format&fit=crop&q=80&w=1000") center right / cover no-repeat;
  }

  .hero::after{
    background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.64));
  }

  .hero-copy{
    max-width:680px;
  }

  .hero h1{
    max-width:10.5ch;
    font-size:clamp(3.1rem,11vw,5.2rem);
  }
}

@media (max-width:640px){
  .hero{
    padding:2.35rem 0 2.65rem;
    background:
      linear-gradient(180deg, rgba(248,244,238,.98) 0%, rgba(248,244,238,.96) 58%, rgba(248,244,238,.9) 100%),
      url("https://images.unsplash.com/photo-1551183053-bf91a1d81141?auto=format&fit=crop&q=80&w=800") center / cover no-repeat;
  }

  .hero::after{
    background:rgba(255,255,255,.52);
  }

  .hero h1{
    max-width:100%;
    font-size:clamp(2.75rem,12.5vw,4.25rem);
    line-height:1.01;
    margin-bottom:.85rem;
  }

  .hero p{
    font-size:1rem;
    line-height:1.65;
  }

  .hero .btn-row{
    margin-top:1.15rem;
  }
}
