/* =========================================================
   SAVANA'S CHURRASCARIA — Design System
   Ver design-tokens.md para a especificação completa
   (paleta, tipografia, espaçamento, convenções de componente).
   ========================================================= */

:root{
  /* Paleta */
  --black:#1C1714;      /* carvão quente */
  --black-2:#2A2320;
  --gold:#C89A4B;       /* ocre */
  --gold-light:#E3B96A;
  --gold-dark:#9E7331;
  --wine:#B4512B;       /* terracota — acento */
  --cream:#F2E8D8;      /* areia */
  --white:#FFFFFF;

  --text:#1C1714;
  --text-2:#5E554C;

  --ease:cubic-bezier(.16,.84,.44,1);

  /* Tipografia */
  --font-heading:'Bodoni Moda', 'Didot', Georgia, serif;
  --font-sub:'Jost', system-ui, sans-serif;
  --font-body:'Jost', system-ui, sans-serif;
  --font-script:'Allura', cursive;

  /* Espaçamento */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:80px;
  --sp-6:clamp(96px,12vw,160px);

  --wrap:1200px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;scroll-padding-top:88px;}

body{
  margin:0;
  background:var(--cream);
  color:var(--text-2);
  font-family:var(--font-body);
  font-weight:400;
  font-size:16.5px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

h1,h2,h3{
  font-family:var(--font-heading);
  font-weight:500;
  line-height:1.15;
  margin:0;
  color:var(--text);
}

p{margin:0;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,40px);}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--gold);color:var(--black);padding:12px 20px;
}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

.anchor{display:block;position:relative;top:-88px;}

/* =========================================================
   KICKER (Montserrat — subtítulos/labels)
   ========================================================= */
.kicker{
  font-family:var(--font-sub);font-size:.76rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);
  display:inline-flex;align-items:center;gap:12px;margin-bottom:var(--sp-2);
}
.kicker::before{content:"";width:32px;height:1px;background:var(--gold-dark);}
.kicker-light{color:var(--gold-light);}
.kicker-light::before{background:var(--gold-light);}

/* =========================================================
   BOTÕES — contorno dourado, preenche no hover (sem gradiente/glow)
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-sub);font-weight:500;font-size:.84rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:15px 32px;border-radius:2px;
  border:1.5px solid var(--gold);
  cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.btn-primary{background:var(--wine);border-color:var(--wine);color:var(--white);}
.btn-primary:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}

.btn-ghost{border-color:rgba(29,26,22,.25);color:var(--text);}
.btn-ghost:hover{border-color:var(--gold-dark);color:var(--gold-dark);}

.btn-sm{padding:11px 24px;font-size:.78rem;}

/* Dentro do hero (fundo escuro), o botão ghost precisa de contraste claro */
.hero-actions .btn-ghost{border-color:rgba(242,232,216,.35);color:var(--cream);}
.hero-actions .btn-ghost:hover{border-color:var(--gold-light);color:var(--gold-light);}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  padding-block:18px;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.site-header.scrolled{
  background:rgba(28,23,20,.92);backdrop-filter:blur(14px) saturate(140%);
  padding-block:12px;box-shadow:0 12px 30px -20px rgba(0,0,0,.6);
}
.header-inner{display:flex;align-items:center;gap:24px;}

.brand{display:flex;align-items:center;gap:12px;}
.brand img{width:44px;height:44px;border-radius:50%;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text strong{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--cream);}
.brand-text em{
  font-style:normal;font-family:var(--font-sub);font-size:.62rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:2px;
}

.nav{display:flex;gap:28px;margin-left:auto;}
.nav a{
  font-family:var(--font-sub);font-size:.85rem;font-weight:500;color:var(--cream);
  position:relative;padding-block:4px;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);
  transition:width .35s var(--ease);
}
.nav a:hover::after,.nav a.active::after{width:100%;}

.header-cta{flex-shrink:0;margin-left:auto;}
.nav ~ .header-cta{margin-left:0;}

.burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:42px;background:none;border:1px solid rgba(242,232,216,.3);
  border-radius:2px;cursor:pointer;padding:0 10px;flex-shrink:0;
  margin-left:auto; /* nav vira position:fixed e some do fluxo no mobile — sem isso o burger cola no logo */
}
.burger span{height:1.5px;background:var(--cream);border-radius:2px;transition:.35s var(--ease);}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding-block:150px 100px;overflow:hidden;background:var(--black);
}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-video{width:100%;height:100%;object-fit:cover;opacity:.6;}

.hero-veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg, rgba(28,23,20,.92) 0%, rgba(28,23,20,.55) 55%, rgba(28,23,20,.35) 100%),
    linear-gradient(0deg, var(--black) 0%, transparent 30%);
}

.hero-inner{position:relative;z-index:2;max-width:760px;}

.hero h1{
  font-size:clamp(2.6rem,5.6vw,4.2rem);font-weight:500;color:var(--white);
  margin-bottom:6px;
}
.hero-script{
  font-family:var(--font-script);font-size:clamp(1.6rem,3.2vw,2.3rem);
  color:var(--gold-light);line-height:1;margin-bottom:28px;
}

.hero-desc{
  font-size:clamp(1rem,1.6vw,1.1rem);color:rgba(242,232,216,.82);font-weight:400;
  line-height:1.8;max-width:540px;margin-bottom:var(--sp-4);
}

.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:var(--sp-4);}

.hero-rating{display:flex;align-items:center;gap:12px;}
.hero-rating span{font-family:var(--font-sub);font-size:.85rem;color:rgba(242,232,216,.75);}
.hero-rating strong{color:var(--gold-light);font-weight:700;}

.stars{
  --size:16px;position:relative;display:inline-flex;font-size:0;line-height:1;
  color:rgba(242,232,216,.3);
}
.stars::before{content:"★★★★★";font-size:var(--size);letter-spacing:2px;}
.stars::after{
  content:"★★★★★";font-size:var(--size);letter-spacing:2px;color:var(--gold);
  position:absolute;inset:0;overflow:hidden;
  width:calc(var(--rating) / 5 * 100%);
}

.scroll-hint{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;
  width:22px;height:36px;border:1px solid rgba(242,232,216,.4);border-radius:999px;
  display:flex;justify-content:center;padding-top:7px;
}
.scroll-hint span{width:3px;height:6px;border-radius:2px;background:var(--gold);animation:scroll-dot 2s ease-in-out infinite;}
@keyframes scroll-dot{
  0%,100%{transform:translateY(0);opacity:1;}
  60%{transform:translateY(11px);opacity:0;}
}

/* =========================================================
   SEÇÕES (fundo claro — cream)
   ========================================================= */
.section{padding-block:var(--sp-6);}

.sec-head{max-width:640px;margin-bottom:var(--sp-5);}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);}

.sec-desc{color:var(--text-2);font-size:1.02rem;margin-top:12px;}

.section-alt{background:var(--white);}
.section-dark{background:var(--black);color:rgba(242,232,216,.78);}
.section-dark h2{color:var(--white);}

.grid{display:grid;gap:var(--sp-3);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}

/* =========================================================
   DEST-CARD — cards de destaque (cardápio/serviços)
   Canto orgânico: raio assimétrico em um único vértice, não uniforme.
   ========================================================= */
.dest-card{
  background:var(--white);
  border:1px solid rgba(180,81,43,.14);
  border-radius:4px 4px 56px 4px;
  overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}
.dest-card:hover{
  transform:translateY(-6px);
  border-color:rgba(200,154,75,.5);
  box-shadow:0 30px 60px -32px rgba(28,23,20,.35);
}

.dest-media{overflow:hidden;aspect-ratio:4/3;}
.dest-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.dest-card:hover .dest-media img{transform:scale(1.06);}

.dest-body{padding:var(--sp-4) var(--sp-3) var(--sp-3);}
.dest-body h3{font-size:1.5rem;margin-bottom:12px;}
.dest-body p{font-size:.94rem;color:var(--text-2);margin-bottom:20px;}

.dest-link{
  font-family:var(--font-sub);font-size:.8rem;font-weight:600;
  letter-spacing:.04em;color:var(--gold-dark);
  display:inline-flex;align-items:center;gap:8px;
  transition:gap .3s var(--ease), color .3s;
}
.dest-link:hover{gap:12px;color:var(--wine);}

/* =========================================================
   LOCALIZADOR — unidades (mapa + lista)
   ========================================================= */
.unit-card{
  background:var(--cream);border:1px solid rgba(180,81,43,.14);
  border-radius:4px 56px 4px 4px;overflow:hidden;
  display:flex;flex-direction:column;
}
.unit-body{padding:var(--sp-4) var(--sp-3);}
.unit-body h3{font-size:1.6rem;margin-bottom:14px;}
.unit-addr{font-size:.95rem;color:var(--text-2);line-height:1.6;margin-bottom:8px;}
.unit-flag{
  font-family:var(--font-sub);font-size:.72rem;font-weight:600;color:var(--wine);
  margin-bottom:16px;
}
.unit-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;}

.unit-map{aspect-ratio:16/10;background:var(--black-2);}
.unit-map iframe{width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05);}

/* =========================================================
   SPLIT — institucional/sobre (imagem + texto lado a lado)
   ========================================================= */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;}

.split-media{
  position:relative;overflow:hidden;
  border-radius:4px 72px 4px 4px;
  border:1px solid rgba(200,154,75,.25);
}
.split-media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.1s var(--ease);}
.split-media:hover img{transform:scale(1.05);}

.split-body h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:22px;}
.split-body p{margin-bottom:18px;font-size:1rem;line-height:1.8;}
.split-body strong{color:var(--gold-light);font-weight:700;}

.split-script{
  font-family:var(--font-script);font-size:clamp(1.5rem,3vw,2rem);
  color:var(--gold-light);line-height:1;margin:28px 0 8px;
}

.stats{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-3);list-style:none;padding:0;}
.stats dt{
  font-family:var(--font-heading);font-size:2.3rem;font-weight:600;color:var(--gold);
  line-height:1.1;
}
.stats dd{
  margin:6px 0 0;font-family:var(--font-sub);font-size:.72rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);
}
.section-dark .stats dd{color:rgba(242,232,216,.65);}

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
.rating-stat{display:flex;align-items:center;gap:12px;margin-top:18px;}
.rating-stat span{font-family:var(--font-sub);font-size:.9rem;color:var(--text-2);}
.rating-stat strong{color:var(--gold-dark);font-weight:700;}

.t-card{
  margin:0;background:var(--cream);border:1px solid rgba(180,81,43,.14);
  border-radius:4px 4px 4px 44px;padding:var(--sp-4) var(--sp-3) var(--sp-3);
  display:flex;flex-direction:column;gap:20px;
}
.t-card blockquote{margin:0;}
.t-card blockquote p{font-family:var(--font-heading);font-size:1.25rem;font-style:italic;color:var(--text);line-height:1.5;}
.t-card figcaption{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(180,81,43,.14);padding-top:14px;}
.t-card cite{font-style:normal;font-family:var(--font-sub);font-weight:600;font-size:.9rem;color:var(--text);}
.t-card figcaption span{font-family:var(--font-sub);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);}

/* =========================================================
   OFERTAS EXCLUSIVAS — carrossel de "tickets"
   ========================================================= */
.offers-carousel{position:relative;display:flex;align-items:center;gap:12px;}

.offers-track{
  display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;
  list-style:none;margin:0;padding:12px 4px 20px;
  scrollbar-width:none;
}
.offers-track::-webkit-scrollbar{display:none;}

.offer-ticket{
  flex:0 0 clamp(220px,26vw,260px);scroll-snap-align:start;
  display:flex;flex-direction:column;gap:16px;
}

.offer-badge{
  align-self:flex-start;font-family:var(--font-sub);font-size:.68rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--cream);
  background:var(--wine);padding:6px 14px;border-radius:2px 2px 0 2px;
}

.offer-card{
  position:relative;background:var(--black-2);color:var(--cream);
  border-radius:4px 28px 4px 28px;padding:28px 24px 24px;
  box-shadow:0 30px 40px -28px rgba(28,23,20,.4);
}
.offer-card::before,.offer-card::after{
  content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;
  background:var(--cream);transform:translateY(-50%);
}
.offer-card::before{left:-11px;}
.offer-card::after{right:-11px;}
.offer-card-label{
  font-family:var(--font-sub);font-size:.7rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:6px;
}
.offer-card h3{color:var(--white);font-size:1.5rem;}
.offer-card-wine{background:var(--wine);}
.offer-card-wine .offer-card-label{color:var(--gold-light);}

.offer-info h4{font-size:1.05rem;margin-bottom:8px;}
.offer-info p{font-size:.9rem;color:var(--text-2);margin-bottom:14px;}

.carousel-arrow{
  flex-shrink:0;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:var(--white);
  border:1px solid rgba(180,81,43,.2);color:var(--gold-dark);cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.carousel-arrow svg{width:20px;height:20px;}
.carousel-arrow:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}

/* =========================================================
   BANNER DE CONVERSÃO
   ========================================================= */
.conv-banner{
  background:
    radial-gradient(120% 140% at 15% 0%, rgba(200,154,75,.10), transparent 55%),
    var(--black);
}
.conv-inner{max-width:640px;text-align:left;}
.conv-inner h2{color:var(--white);margin-bottom:18px;font-size:clamp(2rem,4vw,3rem);}
.conv-desc{font-size:1.05rem;line-height:1.8;margin-bottom:var(--sp-4);max-width:520px;}
.conv-actions{margin-bottom:0;}

/* =========================================================
   PÁGINA CARDÁPIO
   ========================================================= */
.menu-hero{
  position:relative;min-height:56svh;display:flex;align-items:flex-end;
  padding-block:150px 64px;overflow:hidden;background:var(--black);
}
.menu-hero-media{position:absolute;inset:0;z-index:0;}
.menu-hero-media img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.menu-hero-veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg, var(--black) 5%, transparent 70%);
}
.menu-hero-inner{position:relative;z-index:2;max-width:640px;}
.menu-hero-inner h1{font-size:clamp(2.2rem,4.8vw,3.4rem);color:var(--white);margin-bottom:14px;}
.menu-hero-inner p{color:rgba(242,232,216,.82);font-size:1.02rem;line-height:1.7;}

.menu-tile{
  position:relative;display:block;aspect-ratio:4/3;overflow:hidden;
  border-radius:4px 4px 56px 4px;border:1px solid rgba(180,81,43,.14);
}
.menu-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.menu-tile:hover img{transform:scale(1.06);}
.menu-tile::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(28,23,20,.75) 0%, rgba(28,23,20,.1) 55%);
}
.menu-tile span{
  position:absolute;left:20px;bottom:18px;z-index:2;
  font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--white);
}

.menu-list{list-style:none;margin:0;padding:0;}
.menu-list li{
  padding-block:24px;border-bottom:1px solid rgba(180,81,43,.14);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;
}
.menu-list li:first-child{padding-top:0;}
.menu-list h3{flex:0 0 200px;font-size:1.25rem;}
.menu-list p{flex:1 1 320px;font-size:.94rem;color:var(--text-2);}

.menu-story{padding-block:var(--sp-5);}
.story-block p{margin-top:10px;line-height:1.8;}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--black-2);color:rgba(242,232,216,.7);padding-top:var(--sp-5);position:relative;}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}

.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:var(--sp-4);}
.footer-brand img{width:56px;height:56px;border-radius:50%;margin-bottom:18px;}
.footer-brand p{font-size:.92rem;line-height:1.7;max-width:320px;margin-bottom:20px;}

.socials{display:flex;gap:10px;}
.socials a{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(200,154,75,.3);color:var(--gold-light);
  transition:background .3s,color .3s,transform .3s var(--ease);
}
.socials a svg{width:17px;height:17px;}
.socials a:hover{background:var(--gold);color:var(--black);transform:translateY(-3px);}

.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col h4{
  font-family:var(--font-sub);font-size:.76rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);margin-bottom:4px;
}
.footer-col a,.footer-col span{font-size:.88rem;color:rgba(242,232,216,.68);}
.footer-col a:hover{color:var(--gold-light);}

.footer-bottom{
  border-top:1px solid rgba(242,232,216,.1);padding-block:24px;
  display:flex;align-items:center;flex-wrap:wrap;gap:20px;
}
.footer-bottom span{font-size:.82rem;color:rgba(242,232,216,.55);}
.footer-reserve{
  font-family:var(--font-sub);font-size:.82rem;font-weight:600;color:var(--gold-light);
  margin-left:auto;
}
.footer-reserve:hover{color:var(--white);}
.footer-bottom p{font-size:.78rem;color:rgba(242,232,216,.4);width:100%;order:3;}

/* =========================================================
   SCROLL REVEAL
   ========================================================= */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.08s;}
.reveal[data-delay="2"]{transition-delay:.16s;}
.reveal[data-delay="3"]{transition-delay:.24s;}
.reveal[data-delay="4"]{transition-delay:.32s;}
.reveal[data-delay="5"]{transition-delay:.4s;}

/* =========================================================
   RESPONSIVO — Hero (demais seções chegam nas próximas etapas)
   ========================================================= */
@media (max-width:900px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-2{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .split-media img{aspect-ratio:16/11;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}

@media (max-width:680px){
  h1,h2,h3,p,blockquote,cite{overflow-wrap:break-word;}

  .hero{padding-block:120px 80px;min-height:auto;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .scroll-hint{display:none;}

  .nav{
    position:fixed;inset:78px 0 auto 0;z-index:99;
    flex-direction:column;gap:0;margin:0;
    background:rgba(28,23,20,.98);backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(242,232,216,.12);
    padding:8px 0 20px;
    clip-path:inset(0 0 100% 0);
    transition:clip-path .45s var(--ease);
  }
  .nav.open{clip-path:inset(0 0 0 0);}
  .nav a{padding:14px clamp(20px,5vw,40px);font-size:1rem;border-bottom:1px solid rgba(242,232,216,.08);}
  .nav a::after{display:none;}
  .burger{display:flex;}
  .header-cta{display:none;}

  .section{padding-block:72px;}
  .sec-head{margin-bottom:48px;}
  .grid-3{grid-template-columns:1fr;}
  .stats{gap:28px;}
  .stats dt{font-size:1.9rem;}

  .footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:32px;}
  .footer-reserve{margin-left:0;}
  .footer-bottom{padding-block:20px;}

  .carousel-arrow{display:none;}
  .offers-track{margin-inline:0;padding-inline:0;scroll-padding-inline:20px;}
  .offer-ticket{flex-basis:76vw;}

  .menu-hero{padding-block:100px 48px;min-height:44svh;align-items:flex-end;}
  .menu-list li{padding-block:18px;}
  .menu-list h3{flex-basis:100%;}
}

@media (max-width:400px){
  .wrap{padding-inline:16px;}
  .brand-text strong{font-size:1rem;}
  .brand-text em{font-size:.58rem;}
  .dest-body,.t-card,.unit-body{padding-left:20px;padding-right:20px;}
  .stats{gap:20px;}
  .stats dt{font-size:1.7rem;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none;}
}


/* =========================================================
   SAVANA'S — adições sobre o design system base
   ========================================================= */

/* Logo em wordmark (branca sobre fundo escuro) no lugar do círculo */
.brand-wordmark img{width:auto;height:40px;border-radius:0;}
.footer-brand .footer-logo{width:180px;height:auto;border-radius:0;margin-bottom:18px;}

/* Badges do hero (substituem a nota/avaliação enquanto não há dados do Google) */
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;}
.hero-badges li{
  font-family:var(--font-sub);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-light);padding:8px 14px;border:1px solid rgba(200,154,75,.35);border-radius:2px 14px 2px 14px;
}

/* Cards de cortes (seção escura) */
.cuts-grid{align-items:stretch;}
.cuts-card{
  position:relative;background:var(--black-2);border:1px solid rgba(200,154,75,.22);
  border-radius:32px 8px 32px 8px;padding:var(--sp-4);
}
.cuts-card h3{font-size:1.5rem;margin:6px 0 18px;color:var(--cream);}
.cuts-card .offer-badge{position:absolute;top:18px;right:18px;}
.cuts-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--sp-3);}
.cuts-list li{
  font-family:var(--font-heading);font-size:1.2rem;color:var(--cream);
  padding:10px 0;border-bottom:1px solid rgba(200,154,75,.15);
}
.cuts-list li::before{content:"";display:inline-block;width:14px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px;}
.cuts-list-special{grid-template-columns:1fr;}
.cuts-list-special li{font-size:1.55rem;font-style:italic;color:var(--gold-light);}
.cuts-card-special{border-color:rgba(200,154,75,.45);box-shadow:0 0 0 1px rgba(200,154,75,.08),0 24px 48px rgba(0,0,0,.35);}
.cuts-note{margin-top:18px;font-size:.9rem;color:rgba(242,232,216,.7);}
.section-alt .cuts-note,.unit-card .cuts-note{color:var(--text-2);}

/* Lista de cardápio sobre fundo escuro */
.menu-list-dark h3{color:var(--cream);}
.menu-list-dark p{color:rgba(242,232,216,.72);}
.menu-list-dark li{border-color:rgba(200,154,75,.18);}

/* Card de horários */
.unit-card-hours{grid-template-columns:1fr;}
.hours{margin:0;padding:0;}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(180,81,43,.15);}
.hours div:last-child{border-bottom:0;}
.hours dt{font-family:var(--font-sub);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);}
.hours dd{margin:0;font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--black);}

@media (max-width:680px){
  .brand-wordmark img{height:32px;}
  .cuts-list{grid-template-columns:1fr;}
  .cuts-card{padding:28px 22px;}
  .cuts-card .offer-badge{position:static;display:inline-block;margin-bottom:14px;}
}


/* Seção de vídeo (reels vertical) */
.video-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center;}
.video-body h2{font-size:clamp(1.9rem,3.6vw,2.8rem);}
.video-actions{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0 0;}
.reels{margin:0;justify-self:center;width:min(100%,360px);}
.reels-video{
  width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--black);
  border-radius:28px;border:1px solid rgba(200,154,75,.3);
  box-shadow:0 40px 70px -40px rgba(28,23,20,.6);
}

/* Foto da fachada no card de horários */
.unit-photo{aspect-ratio:16/10;overflow:hidden;margin-top:auto;}
.unit-photo img{width:100%;height:100%;object-fit:cover;}

@media (max-width:900px){
  .video-split{grid-template-columns:1fr;}
}


/* Perguntas frequentes (SEO) */
.faq-wrap{max-width:860px;}
.faq-list{border-top:1px solid rgba(180,81,43,.18);}
.faq-item{border-bottom:1px solid rgba(180,81,43,.18);}
.faq-item summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 0;font-family:var(--font-heading);font-size:1.3rem;font-weight:500;color:var(--text);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;
  border:1px solid rgba(180,81,43,.4);border-radius:50%;color:var(--wine);font-family:var(--font-sub);font-size:1.1rem;
  transition:transform .35s var(--ease),background .35s,color .35s;
}
.faq-item[open] summary::after{transform:rotate(45deg);background:var(--wine);color:var(--white);}
.faq-item p{padding:0 0 22px;max-width:70ch;line-height:1.8;}
.faq-item a{color:var(--gold-dark);font-weight:500;}
.faq-item a:hover{color:var(--wine);}
