/* Hunico, versão noite (estilo da referência HotBite): fundo quase preto com textura, comida recortada que flutua,
   títulos condensados, laranja de brasa nos botões e pêssego do logo da casa nos detalhes. */
:root{
  --fundo:#0d0f15;
  --fundo-2:#12151e;
  --painel:#171b26;
  --painel-2:#1f2433;
  --linha:rgba(245,239,230,.1);
  --linha-2:rgba(245,239,230,.2);
  --claro:#f5efe6;
  --claro-2:#b4b7c4;
  --laranja:#f7882f;
  --laranja-hover:#ff9d4d;
  --laranja-fraco:rgba(247,136,47,.16);
  --pessego:#f6c48e;
  --tinta:#14161d;
  --borda-campo:#4a5068;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --display:'Antonio','Arial Narrow',sans-serif;
  --texto:'Figtree',system-ui,sans-serif;
  --mao:'Caveat','Segoe Print',cursive;
  --gutter:clamp(16px,5vw,72px);
  --nav-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--fundo);color:var(--claro);font:400 17px/1.6 var(--texto);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--laranja);color:var(--tinta);padding:10px 14px;border-radius:4px;font-weight:700;text-decoration:none;transition:top .2s var(--ease-out)}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--laranja);outline-offset:3px}
.chopp :focus-visible{outline-color:var(--tinta)}
main:focus{outline:none}

/* camada de ambiente: grão fino de lousa que deriva devagar sobre a página toda */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:grao 90s linear infinite alternate;animation-delay:-20s}
@keyframes grao{from{transform:translate3d(0,0,0)}to{transform:translate3d(-6%,4%,0)}}
body.pausado *,body.pausado *::before,body.pausado *::after,body.pausado::after,.fora *,.fora *::before,.fora *::after{animation-play-state:paused!important}

.logo text{font-family:var(--display);font-weight:300;font-size:33px;fill:currentColor;letter-spacing:.5px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:6px;border:1.5px solid transparent;font:600 16px/1.2 var(--texto);text-decoration:none;cursor:pointer;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),transform .25s var(--ease-out)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease-out)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn:active{transform:translateY(1px)}
.btn-acento{background:var(--laranja);color:var(--tinta)}
.btn-acento:hover{background:var(--laranja-hover)}
.btn-linha{border-color:var(--linha-2);color:var(--claro);background:transparent}
.btn-linha:hover{border-color:var(--claro);background:rgba(245,239,230,.06)}
.btn-largo{width:100%}
.btn-texto{background:none;border:0;padding:8px 4px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--claro-2);min-height:44px}
.btn-texto:hover{color:var(--claro)}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);display:flex;align-items:center;gap:28px;padding:0 var(--gutter);transition:background-color .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.nav.solida{background:rgba(13,15,21,.96);box-shadow:0 1px 0 var(--linha)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.nav-logo .logo{width:46px;height:46px;color:var(--pessego)}
.nav-nome{font:700 1.35rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;display:flex;flex-direction:column;gap:3px}
.nav-nome small{font:500 12px/1 var(--texto);text-transform:none;letter-spacing:0;color:var(--claro-2)}
.nav-links{display:flex;gap:28px}
.nav-links a{text-decoration:none;font-weight:500;font-size:15px;padding:8px 0;color:var(--claro-2);transition:color .25s var(--ease-out)}
.nav-links a:hover{color:var(--claro)}
.nav-cta{min-height:44px;padding:10px 18px;font-size:15px}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:420px){.nav-nome small{display:none}.nav-cta{padding:9px 13px;font-size:14px}}

/* ---------- topo ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(20px,3vw,48px);padding:calc(var(--nav-h) + 30px) var(--gutter) 70px;overflow:hidden;
  background:radial-gradient(ellipse 60% 70% at 72% 50%,rgba(247,136,47,.13),rgba(247,136,47,0) 70%),linear-gradient(180deg,#0b0d12 0%,#11141c 55%,#0d0f15 100%)}
.hero-txt{position:relative;z-index:3;max-width:600px}
.hero-onde{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--pessego);margin-bottom:22px}
.hero-onde svg{width:18px;height:18px}
.h-hero{font:700 clamp(3rem,6.2vw,5.6rem)/.98 var(--display);text-transform:uppercase;letter-spacing:.003em}
.h-hero em{font-style:normal;color:var(--laranja);white-space:nowrap}
.hero-sub{margin-top:22px;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--claro-2);max-width:44ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-fatos{display:flex;gap:clamp(18px,3vw,40px);margin-top:44px;padding-top:24px;border-top:1px solid var(--linha);flex-wrap:wrap}
.hero-fatos li{display:flex;flex-direction:column;gap:8px;min-width:110px}
.hero-fatos b{font:700 2rem/1 var(--display);color:var(--claro)}
.hero-fatos span{font-size:14px;color:var(--claro-2);max-width:18ch;line-height:1.35}

/* entrada do texto do topo, uma vez no carregamento */
html.js .hero-txt > *{animation:sobe .9s var(--ease-out) both}
html.js .hero-txt > :nth-child(2){animation-delay:.08s}
html.js .hero-txt > :nth-child(3){animation-delay:.18s}
html.js .hero-txt > :nth-child(4){animation-delay:.26s}
html.js .hero-txt > :nth-child(5){animation-delay:.34s}
@keyframes sobe{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.hero-palco{position:relative;width:100%;max-width:760px;aspect-ratio:1/1;justify-self:center;z-index:2}
.luz{position:absolute;left:12%;top:14%;width:76%;height:76%;border-radius:50%;background:radial-gradient(circle,rgba(247,160,80,.22) 0%,rgba(247,136,47,.08) 45%,rgba(247,136,47,0) 70%)}
.burger{position:absolute;left:13%;top:17%;width:74%;z-index:3;will-change:transform}
.burger-in{animation:chega 1.1s var(--ease-out) both,flutua 6s ease-in-out 1.1s infinite}
.burger img{width:100%;filter:drop-shadow(0 44px 38px rgba(0,0,0,.6))}
@keyframes chega{from{opacity:0;transform:translateY(-46px) scale(.92) rotate(-3deg)}to{opacity:1;transform:none}}
@keyframes flutua{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-1.2deg)}}
.pecas{position:absolute;inset:0;z-index:4;pointer-events:none}
.peca{position:absolute;left:var(--x);top:var(--y);width:var(--w);will-change:transform}
.peca img{width:100%;filter:drop-shadow(0 16px 14px rgba(0,0,0,.45));animation:boia 7s ease-in-out infinite}
.peca:nth-child(2n) img{animation-duration:8.5s;animation-delay:-3s}
.peca:nth-child(3n) img{animation-duration:6.2s;animation-delay:-1.5s}
.peca:nth-child(4n) img{animation-delay:-5s}
.peca.longe{z-index:-1}
.peca.longe img{filter:blur(2.5px) drop-shadow(0 10px 10px rgba(0,0,0,.4));opacity:.9}
@keyframes boia{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(8deg)}}
html.js .pecas .peca{animation:aparece .8s var(--ease-out) both}
html.js .pecas .peca:nth-child(2){animation-delay:.45s}
html.js .pecas .peca:nth-child(3){animation-delay:.55s}
html.js .pecas .peca:nth-child(4){animation-delay:.62s}
html.js .pecas .peca:nth-child(5){animation-delay:.7s}
html.js .pecas .peca:nth-child(6){animation-delay:.78s}
html.js .pecas .peca:nth-child(7){animation-delay:.85s}
html.js .pecas .peca:nth-child(8){animation-delay:.92s}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.vapor{position:absolute;left:34%;top:4%;width:32%;height:30%;z-index:2;pointer-events:none}
.vapor span{position:absolute;bottom:0;width:38%;height:100%;border-radius:50%;background:radial-gradient(ellipse 50% 50% at 50% 60%,rgba(255,255,255,.2),rgba(255,255,255,0) 70%);filter:blur(10px);opacity:0;animation:vapor 5.5s ease-out infinite}
.vapor span:nth-child(1){left:6%}
.vapor span:nth-child(2){left:34%;animation-delay:-1.8s}
.vapor span:nth-child(3){left:60%;animation-delay:-3.6s}
@keyframes vapor{0%{opacity:0;transform:translateY(40%) scaleX(.7)}30%{opacity:.75}100%{opacity:0;transform:translateY(-55%) scaleX(1.35) rotate(8deg)}}
.selo{position:absolute;right:1%;top:12%;width:24%;aspect-ratio:1;z-index:5;border-radius:50%;background:var(--laranja);color:var(--tinta);display:grid;place-items:center;box-shadow:0 18px 40px -12px rgba(0,0,0,.6);animation:aparece .8s var(--ease-out) 1s both}
.selo svg{position:absolute;inset:5%;width:90%;height:90%;animation:gira 18s linear infinite}
.selo text{font:700 17px var(--display);letter-spacing:3.2px;fill:var(--tinta)}
.selo-preco{font:700 clamp(1.7rem,2.6vw,2.5rem)/1 var(--display);display:flex;align-items:flex-start;gap:2px}
.selo-preco small{font-size:.45em;margin-top:.2em}
@keyframes gira{to{transform:rotate(360deg)}}
.nota{font:600 clamp(1.35rem,1.8vw,1.75rem)/1.05 var(--mao);color:var(--pessego);display:flex;align-items:flex-start;gap:4px}
.nota svg{width:84px;height:50px;flex:none;overflow:visible}
.nota path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.nota-hero{position:absolute;left:-2%;bottom:6%;z-index:5;max-width:44%;transform:rotate(-4deg);animation:aparece .6s var(--ease-out) 1.3s both}
.nota-hero span{max-width:9ch}
.nota-hero svg{transform:scaleY(-1) rotate(10deg);margin-top:-8px}
html.js .nota-hero path{animation:traca 1s var(--ease-io) 1.5s forwards}
@keyframes traca{to{stroke-dashoffset:0}}

/* ---------- títulos ---------- */
.h-sec{font:700 clamp(2.2rem,4.4vw,3.8rem)/1 var(--display);text-transform:uppercase;letter-spacing:.005em}
.h-mini{font:600 1.4rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.sec-lede{margin-top:14px;font-size:1.08rem;max-width:56ch;color:var(--claro-2)}
.sec-lede b{color:var(--claro)}

/* ---------- entradas ao rolar ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform 1s var(--ease-out)}
html.js [data-reveal].in{opacity:1;transform:none}

/* ---------- mais pedidos ---------- */
.pedidos{padding:clamp(100px,12vw,160px) var(--gutter) clamp(70px,9vw,120px);background:var(--fundo)}
.sec-cab{max-width:1240px;margin:0 auto clamp(70px,8vw,110px)}
.cards{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--painel-2),var(--painel));border:1px solid var(--linha);border-radius:10px;padding:0 22px 22px;margin-top:70px}
html.js .card[data-reveal]:nth-child(2){transition-delay:.08s}
html.js .card[data-reveal]:nth-child(3){transition-delay:.16s}
html.js .card[data-reveal]:nth-child(4){transition-delay:.24s}
.card-foto{height:190px;margin:-80px -6px 8px;display:flex;align-items:flex-end;justify-content:center}
.card-foto-in{width:100%;animation:flutua 6s ease-in-out infinite}
.card:nth-child(2) .card-foto-in{animation-delay:-1.5s;animation-duration:7s}
.card:nth-child(3) .card-foto-in{animation-delay:-3s}
.card:nth-child(4) .card-foto-in{animation-delay:-4.5s;animation-duration:6.5s}
.card-foto img{width:100%;max-height:250px;object-fit:contain;filter:drop-shadow(0 26px 22px rgba(0,0,0,.55));transition:transform .6s var(--ease-out)}
.card:hover .card-foto img{transform:scale(1.07) rotate(-3deg)}
html.js .card[data-reveal] .card-foto img{transform:translateY(-40px) rotate(-8deg) scale(.9);opacity:0;transition:transform 1.1s var(--ease-out) .15s,opacity .7s var(--ease-out) .15s}
html.js .card[data-reveal].in .card-foto img{transform:none;opacity:1}
html.js .card[data-reveal].in:hover .card-foto img{transform:scale(1.07) rotate(-3deg)}
.card-nome{font:600 1.45rem/1.08 var(--display);text-transform:uppercase;margin-top:6px}
.card-desc{color:var(--claro-2);font-size:.95rem;margin-top:8px;flex:1}
.card-pe{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--linha-2)}
.card-pe b{font:700 1.8rem/1 var(--display);color:var(--laranja)}
.btn-card{min-height:44px;padding:9px 14px;border-radius:6px;border:1.5px solid var(--laranja);background:transparent;color:var(--laranja);font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}
.btn-card:hover,.btn-card.na-mesa-on{background:var(--laranja);color:var(--tinta)}

/* ---------- raio-x do wagyu ---------- */
.raiox{position:relative;background:radial-gradient(ellipse 50% 60% at 50% 55%,rgba(247,136,47,.1),rgba(247,136,47,0) 70%),var(--fundo-2)}
html.js .raiox{height:240vh}
.raiox-pin{height:100vh;height:100svh;min-height:620px;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:calc(var(--nav-h) + 10px) var(--gutter) 34px;gap:10px}
html.js .raiox-pin{position:sticky;top:0}
.raiox-cab{text-align:center;max-width:760px}
.raiox-cab .sec-lede{margin-left:auto;margin-right:auto}
.raiox-palco{position:relative;width:min(1100px,100%,calc((100svh - 330px) * 2.27));aspect-ratio:2.27/1}
.raiox-burger{position:absolute;left:24%;top:0;width:52%;transform:scale(var(--z,1)) rotate(var(--rr,0deg));transform-origin:50% 60%;filter:drop-shadow(0 40px 34px rgba(0,0,0,.55))}
.raiox-linhas{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.raiox-linhas path{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.raiox-linhas .traco{stroke-dasharray:1;stroke-dashoffset:1}
.raiox-linhas .ponta{opacity:0}
.rx-rot{position:absolute;font:700 clamp(1.05rem,1.7vw,1.6rem)/1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:#fff;white-space:nowrap;opacity:0;transform:translateY(10px)}
.rx-rot.esq{right:79%}
.rx-rot.dir{left:79%}
.rx-rot small{display:block;font:600 1.1rem/1 var(--mao);text-transform:none;letter-spacing:0;color:var(--pessego);margin-top:4px}
.raiox-add{margin-top:6px}

/* ---------- chopp ---------- */
.chopp{position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 80% at 50% 50%,#ffa24f 0%,#f7882f 55%,#e8731d 100%);color:var(--tinta);padding:clamp(90px,11vw,140px) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center}
.chopp-pre,.chopp-pos{font:600 clamp(1.4rem,2.2vw,1.9rem)/1.1 var(--display);text-transform:uppercase}
.chopp-valor{display:flex;align-items:flex-start;font:700 clamp(6.5rem,13vw,11.5rem)/1 var(--display);letter-spacing:-.01em;margin:8px 0 38px}
.chopp-valor .rs{font-size:.3em;line-height:1;margin:.14em .1em 0 0}
.nota-chopp{color:var(--tinta);margin-top:22px;transform:rotate(-3deg)}
.chopp .nota path{stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease-io) .6s}
.chopp-txt.in .nota path{stroke-dashoffset:0}
.chopp-palco{position:relative;aspect-ratio:3/4;width:100%;max-width:420px;justify-self:center}
.copo{position:absolute;left:28%;top:0;width:44%;z-index:2;will-change:transform}
.copo-in{animation:flutua 5.5s ease-in-out infinite}
.copo img{width:100%;filter:drop-shadow(0 34px 26px rgba(80,30,0,.45))}
.chopp-palco .peca img{filter:drop-shadow(0 14px 12px rgba(80,30,0,.35))}
.chopp-palco .peca.longe img{filter:blur(2px) drop-shadow(0 10px 10px rgba(80,30,0,.3))}
.chopp-quadro{background:var(--tinta);color:var(--claro);padding:clamp(22px,3vw,34px);border-radius:10px;box-shadow:0 30px 60px -30px rgba(60,20,0,.7)}
.lousa{margin:16px 0 18px}
.lousa div{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px dashed var(--linha-2)}
.lousa dt{flex:1}
.lousa dd{font-weight:700;color:var(--laranja);white-space:nowrap}
.link-seta{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-underline-offset:4px;min-height:44px}
.link-seta::after{content:"→";transition:transform .25s var(--ease-out)}
.link-seta:hover::after{transform:translateX(4px)}
html.js .chopp-quadro[data-reveal]{transition-delay:.18s}

/* ---------- cardápio ---------- */
.cardapio{background:var(--fundo-2);padding:clamp(90px,11vw,140px) var(--gutter)}
.card-cab{max-width:1180px;margin:0 auto 34px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.card-links{display:flex;gap:20px;flex-wrap:wrap}
.card-links a{font-weight:600;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;color:var(--pessego)}
.abas{max-width:1180px;margin:0 auto;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;border-bottom:1.5px solid var(--linha)}
.abas::-webkit-scrollbar{display:none}
.aba{flex:none;background:none;border:0;padding:12px 16px 13px;font:600 16px/1.2 var(--texto);color:var(--claro-2);cursor:pointer;position:relative;min-height:46px}
.aba::after{content:"";position:absolute;left:12px;right:12px;bottom:-1.5px;height:3px;background:var(--laranja);transform:scaleX(0);transition:transform .35s var(--ease-out)}
.aba[aria-selected="true"]{color:var(--claro)}
.aba[aria-selected="true"]::after{transform:scaleX(1)}
.aba:hover{color:var(--claro)}
.abas-paineis{max-width:1180px;margin:0 auto}
.painel{padding-top:30px}
.painel[hidden]{display:none}
.painel-nota{color:var(--claro-2);margin-bottom:24px;max-width:60ch}
.grupos{columns:2 420px;column-gap:clamp(32px,5vw,72px)}
.grupo{break-inside:avoid;margin-bottom:34px}
.grupo h3{font:600 1.35rem/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;color:var(--pessego)}
.it{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linha)}
.it-corpo{flex:1;min-width:0}
.it-linha{display:flex;align-items:baseline;gap:8px}
.it-nome{font-weight:600}
.it-pontos{flex:1;border-bottom:2px dotted var(--linha-2);transform:translateY(-4px);min-width:16px}
.it-preco{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.it-desc{font-size:.93rem;color:var(--claro-2);margin-top:2px}
.it-add{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:6px;border:1.5px solid var(--laranja);background:transparent;color:var(--laranja);font:600 20px/1 var(--texto);cursor:pointer;position:relative;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}
.it-add:hover{background:var(--laranja);color:var(--tinta)}
.it-add:active{transform:scale(.92)}
.it-add[data-qtd]:not([data-qtd="0"]){background:var(--laranja);color:var(--tinta)}
.it-add[data-qtd]:not([data-qtd="0"])::after{content:attr(data-qtd);position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--claro);color:var(--tinta);font:700 12px/20px var(--texto);text-align:center}
@media (pointer:coarse){.it-add{width:44px;height:44px}}
.card-nota{max-width:1180px;margin:10px auto 0;font-size:.9rem;color:var(--claro-2)}

/* ---------- do mercadão para a praça ---------- */
.origem{background:var(--painel);padding:clamp(80px,10vw,130px) var(--gutter);display:grid;gap:clamp(30px,5vw,56px);justify-items:center;text-align:center;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.origem-rota{position:relative;width:min(860px,100%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.o-ponto{font:700 clamp(1.4rem,2.6vw,2.1rem)/1.05 var(--display);text-transform:uppercase}
.o-ponto small{font:500 .95rem/1.3 var(--texto);text-transform:none;color:var(--claro-2)}
.o-morro{color:var(--laranja)}
.o-linha{width:100%;height:clamp(60px,9vw,110px);overflow:visible}
.o-linha path{fill:none;stroke:var(--laranja);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p,1));vector-effect:non-scaling-stroke}
.origem-txt{max-width:640px}
.origem-txt p{margin-top:16px;color:var(--claro-2);font-size:1.08rem}

/* ---------- ambientes ---------- */
.ambientes{background:var(--fundo);padding:clamp(90px,11vw,140px) var(--gutter);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);align-items:center}
.amb-txt p{margin-top:16px;color:var(--claro-2);max-width:44ch}
.selo-oleo{display:flex;gap:12px;align-items:flex-start;margin-top:26px!important;padding:14px 16px;border-left:3px solid #6aa84f;background:rgba(106,168,79,.1);font-size:.95rem}
.selo-oleo svg{flex:none;width:22px;height:22px;color:#8cc26e;margin-top:1px}
.amb-fotos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px}
.af{position:relative;border-radius:8px;overflow:hidden;background:var(--painel)}
.af img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out);transform:scale(1.08)}
.af.in img{transform:scale(1)}
.af figcaption{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:4px;background:rgba(13,15,21,.82);color:#fff;font:600 13px/1.3 var(--texto)}
.af-1{grid-row:span 2;aspect-ratio:9/16}
.af-2{aspect-ratio:4/5}
.af-3{aspect-ratio:3/2}
html.js .af-2[data-reveal]{transition-delay:.1s}
html.js .af-3[data-reveal]{transition-delay:.2s}

/* ---------- onde fica ---------- */
.onde{background:var(--fundo-2);padding:clamp(90px,11vw,140px) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);align-items:center}
.passos{counter-reset:p;margin:26px 0 28px;display:grid;gap:12px}
.passos li{counter-increment:p;display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:baseline}
.passos li::before{content:counter(p);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--laranja);color:var(--tinta);font:700 15px/1 var(--texto);transform:translateY(-2px)}
.passos b{color:var(--claro)}
.passos span{color:var(--claro-2)}
.mapa-real{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--linha-2);aspect-ratio:4/3;background:var(--painel)}
.mapa-real iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- perguntas ---------- */
.faq{background:var(--fundo-2);padding:0 max(var(--gutter),calc((100% - 1180px)/2)) clamp(90px,11vw,140px);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px);align-items:start}
.faq-lista details{border-bottom:1px solid var(--linha)}
.faq-lista details:first-child{border-top:1px solid var(--linha)}
.faq-lista summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:600;font-size:1.06rem;position:relative;min-height:44px}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 26px/1 var(--texto);color:var(--laranja);transition:transform .3s var(--ease-out)}
.faq-lista details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-lista details p{padding:0 0 20px;color:var(--claro-2);max-width:62ch}
.faq-lista a{color:var(--pessego)}

/* ---------- reservar ---------- */
.reservar{position:relative;overflow:hidden;background:radial-gradient(ellipse 50% 70% at 20% 70%,rgba(247,136,47,.14),rgba(247,136,47,0) 70%),var(--painel);padding:clamp(90px,11vw,140px) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,6vw,90px);align-items:center}
.res-txt p{margin-top:16px;color:var(--claro-2);max-width:44ch;font-size:1.08rem}
.res-foto{width:min(420px,80%);margin-top:30px;filter:drop-shadow(0 30px 26px rgba(0,0,0,.5));animation:flutua 6.5s ease-in-out infinite}
.res-form{background:var(--fundo);border:1px solid var(--linha);padding:clamp(22px,3vw,32px);border-radius:10px;display:grid;gap:16px}
.res-form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.res-form input{min-height:48px;padding:10px 12px;border:1.5px solid var(--borda-campo);border-radius:6px;background:var(--painel);color:var(--claro);font-weight:400;color-scheme:dark}
.res-form input::placeholder{color:#858a9c}
.res-form input:focus-visible{outline:2px solid var(--laranja);outline-offset:1px;border-color:var(--laranja)}
.res-linha{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--borda-campo);border-radius:6px;width:max-content;background:var(--painel)}
.stepper button{width:46px;height:46px;border:0;background:none;font:600 20px/1 var(--texto);cursor:pointer;color:var(--laranja)}
.stepper button:hover{background:rgba(247,136,47,.12)}
.stepper output{min-width:42px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.res-mesa{font-size:.93rem;color:var(--claro-2);padding:12px 14px;background:var(--painel);border-radius:6px}
.res-saida{font-size:.93rem}
.res-saida:empty{display:none}
.res-saida textarea{width:100%;min-height:150px;margin-top:8px;padding:10px;border:1.5px solid var(--borda-campo);border-radius:6px;font:400 14px/1.5 var(--texto);background:var(--painel);color:var(--claro)}

/* ---------- rodapé ---------- */
.rodape{background:var(--fundo);padding:clamp(56px,7vw,90px) var(--gutter) 120px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px 60px;color:var(--claro-2);border-top:1px solid var(--linha)}
.rod-marca{display:flex;gap:20px;align-items:flex-start}
.rod-marca .logo{width:76px;height:76px;flex:none;color:var(--pessego)}
.rod-links{display:grid;gap:4px;align-content:start}
.rod-links a{display:inline-flex;min-height:40px;align-items:center;text-underline-offset:4px;color:var(--claro)}
.rod-creditos{grid-column:1/-1;font-size:.82rem;max-width:90ch;border-top:1px solid var(--linha);padding-top:20px}

/* ---------- a mesa (barra e gaveta) ---------- */
.mesa-barra{position:fixed;z-index:60;left:50%;bottom:16px;transform:translateX(-50%);width:min(560px,calc(100% - 24px));transition:transform .45s var(--ease-out),opacity .45s var(--ease-out)}
.mesa-barra[hidden]{display:block;opacity:0;pointer-events:none;transform:translate(-50%,24px)}
.mesa-abrir{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--linha-2);border-radius:8px;background:var(--painel-2);color:var(--claro);cursor:pointer;box-shadow:0 18px 40px -12px rgba(0,0,0,.7);text-align:left}
.mb-qtd{font-weight:600}
.mb-total{display:inline-block;font-weight:700;color:var(--laranja);font-variant-numeric:tabular-nums}
.mb-por{color:var(--claro-2);font-size:.92rem}
.mb-ver{margin-left:auto;font-weight:600;padding:7px 12px;border-radius:6px;background:var(--laranja);color:var(--tinta);white-space:nowrap}
.mesa-barra.pulso .mb-total{animation:pulso .5s var(--ease-out)}
@keyframes pulso{50%{transform:scale(1.14)}}
@media (max-width:480px){.mb-por{display:none}}
.mesa-fundo{position:fixed;inset:0;z-index:70;background:rgba(4,5,9,.6);opacity:1;transition:opacity .3s var(--ease-out)}
.mesa-fundo[hidden]{display:block;opacity:0;pointer-events:none}
.mesa{position:fixed;z-index:80;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--painel);color:var(--claro);display:flex;flex-direction:column;transform:none;transition:transform .45s var(--ease-out),visibility 0s;box-shadow:-20px 0 60px -20px rgba(0,0,0,.7);border-left:1px solid var(--linha)}
.mesa[hidden]{display:flex;transform:translateX(104%);visibility:hidden;transition:transform .45s var(--ease-out),visibility 0s .45s}
.mesa-cab{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--linha)}
.mesa-cab h2{font:700 1.8rem/1 var(--display);text-transform:uppercase}
.mesa-fechar{width:44px;height:44px;border:0;background:none;font:400 30px/1 var(--texto);cursor:pointer;color:var(--claro)}
.mesa-itens{flex:1;overflow-y:auto;padding:6px 20px}
.mesa-itens li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--linha)}
.mi-nome{flex:1;min-width:0}
.mi-nome small{display:block;color:var(--claro-2)}
.mi-sub{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.mesa-itens .stepper button{width:38px;height:38px}
.mesa-itens .stepper output{min-width:28px}
@media (pointer:coarse){.mesa-itens .stepper button{width:44px;height:44px}}
.mesa-vazia{padding:30px 0;color:var(--claro-2)}
.mesa-conta{padding:16px 20px;border-top:1px solid var(--linha-2);display:grid;gap:8px;background:var(--painel-2)}
.mc-pessoas{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mc-total,.mc-por{display:flex;justify-content:space-between;align-items:baseline}
.mc-total b{font:700 1.7rem/1 var(--display)}
.mc-por b{font:700 1.4rem/1 var(--display);color:var(--laranja)}
.mc-nota{font-size:.82rem;color:var(--claro-2)}
.mesa-acoes{padding:14px 20px 20px;display:grid;gap:6px;justify-items:center}
@media (max-width:640px){
  .mesa{top:auto;width:100%;max-height:88vh;border-radius:12px 12px 0 0;border-left:0;border-top:1px solid var(--linha)}
  .mesa[hidden]{transform:translateY(104%)}
}

/* ---------- telas menores ---------- */
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}
  .chopp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .chopp-quadro{grid-column:1/-1}
}
@media (max-width:980px){
  .hero{grid-template-columns:1fr;padding-top:calc(var(--nav-h) + 10px);gap:0}
  .hero-palco{order:-1;max-width:560px;margin-bottom:-4%}
  .hero-txt{max-width:640px}
  .ambientes,.onde,.reservar{grid-template-columns:1fr}
  .faq{grid-template-columns:1fr}
}
@media (max-width:760px){
  html.js .raiox{height:auto}
  html.js .raiox-pin{position:relative;height:auto;min-height:0;padding-top:90px;padding-bottom:80px}
  .raiox-palco{width:100%;aspect-ratio:1.5/1}
  .raiox-burger{left:17%;width:66%}
  .rx-rot{font-size:.95rem}
  .rx-rot.esq{right:auto;left:0}
  .rx-rot.dir{left:auto;right:0}
  .rx-rot small{display:none}
  .chopp{grid-template-columns:1fr}
  .chopp-palco{max-width:300px}
  .rodape{grid-template-columns:1fr}
  .origem-rota{grid-template-columns:1fr;gap:6px}
  .o-linha{height:70px;transform:rotate(90deg) scale(.6);width:120px;justify-self:center}
  .hero-fatos li{min-width:0;flex:1 1 30%}
  .hero-fatos b{font-size:1.6rem}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr;row-gap:20px}
  .selo{width:27%}
  .nota-hero{display:none}
  .peca.longe{display:none}
  .res-linha{grid-template-columns:1fr}
  .amb-fotos{gap:10px}
}

/* ---------- movimento reduzido: tudo parado no lugar final ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  body::after{animation:none!important}
  html.js [data-reveal],html.js .card[data-reveal] .card-foto img{opacity:1!important;transform:none!important}
  .af img{transform:none!important}
  .vapor{display:none}
  .rx-rot{opacity:1!important;transform:none!important}
  .raiox-linhas .traco,.nota path{stroke-dashoffset:0!important}
  .raiox-linhas .ponta{opacity:1!important}
  .o-linha path{stroke-dashoffset:0!important}
  html.js .raiox{height:auto}
  html.js .raiox-pin{position:relative}
}
