@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-moda-normal-latin.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-moda-italic-latin.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/jost-normal-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --noite:#120a0b;--noite2:#1b1012;--noite3:#27181a;
  --vinho:#7b1e2e;--vinho2:#5a1421;--rosa:#d9788a;
  --creme:#f3e9d6;--creme2:#e8dac0;--papel:#fbf5e8;
  --ambar:#e9a84c;--ambar2:#f3c47e;--ambar-esc:#8a5412;
  --tinta:#23140f;--tinta2:#5a4a40;--basilico:#93b27b;
  --linha:rgba(35,20,15,.14);--linha-e:rgba(243,233,214,.14);
  --zap:#0e6b45;--zap2:#0a5636;
  --mola:cubic-bezier(.2,.7,.2,1);--forte:cubic-bezier(.23,1,.32,1);
  --serif:"Bodoni Moda","Didot","Times New Roman",serif;--sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;--rp:10px;
  --ilha-h:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{background:var(--noite);color:var(--creme);font-family:var(--sans);font-size:17px;line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ambar);color:var(--noite);padding:10px 16px;border-radius:8px;font-weight:600;transition:top .2s var(--forte)}
.pular:focus{top:12px}
:focus-visible{outline:2px solid var(--ambar2);outline-offset:3px;border-radius:6px}
.secao :focus-visible,.aval :focus-visible{outline-color:var(--vinho)}
.cardapio :focus-visible,.aval :focus-visible,.cardapio .busca:focus-within{outline-color:var(--vinho)}

/* textura e luz */
.grao{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background:url(../img/grao.svg) 0 0/220px 220px}
.luz-cursor{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:0;background:radial-gradient(520px circle at var(--lx,50%) var(--ly,40%),rgba(233,168,76,.10),transparent 62%);transition:opacity .6s}
@media (hover:hover) and (pointer:fine){.luz-cursor{opacity:1}}

.caixa{width:min(100% - 32px,1180px);margin-inline:auto}
.secao{padding-block:clamp(88px,12vw,160px);position:relative}
.olho{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--vinho);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.olho::before{content:"";width:30px;height:1px;background:currentColor;opacity:.7}
.olho.claro{color:var(--ambar)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.02em}
h2{font-size:clamp(2.4rem,5.6vw,4.6rem);margin-bottom:24px}
h2 em,h1 em{font-style:italic;font-weight:500;color:var(--ambar)}
.corpo{max-width:60ch;color:rgba(243,233,214,.78);font-size:1.06rem}
.mini{font-size:.82rem;color:rgba(243,233,214,.66);line-height:1.5}
.fonte{margin-top:36px;font-size:.84rem;color:var(--tinta2)}
.fonte-escura{color:rgba(243,233,214,.7)}

/* botões */
.pilula{display:inline-flex;align-items:center;gap:12px;background:var(--vinho);color:#fff;text-decoration:none;border:0;border-radius:999px;min-height:46px;padding:5px 6px 5px 22px;font-weight:500;font-size:.95rem;cursor:pointer;box-shadow:0 14px 30px -16px rgba(123,30,46,.9),inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .22s var(--forte),background .2s,box-shadow .2s}
.pilula .seta{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ambar);color:var(--noite);transition:transform .25s var(--forte)}
.pilula-pequena{min-height:40px;padding:4px 16px;font-size:.88rem}
.pilula-grande{min-height:58px;font-size:1.02rem;padding:5px 6px 5px 26px}
.pilula-grande .seta{width:46px;height:46px}
.pilula-zap{background:var(--zap)}
@media (hover:hover){.pilula:hover{background:#932539}.pilula-zap:hover{background:var(--zap2)}.pilula:hover .seta{transform:translate(2px,-1px) scale(1.06)}}
.pilula:active{transform:scale(.97)}
.link-sob{color:var(--creme);text-decoration:underline;text-decoration-color:var(--ambar);text-underline-offset:6px;text-decoration-thickness:1px;font-weight:500;background:none;border:0;cursor:pointer;transition:text-decoration-color .2s,color .2s}
@media (hover:hover){.link-sob:hover{color:var(--ambar2)}}

/* topo ilha */
.ilha{position:fixed;z-index:100;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(100% - 24px,1120px);height:var(--ilha-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 16px;border-radius:999px;background:rgba(18,10,11,.7);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 0 0 1px rgba(243,233,214,.1),0 24px 40px -24px rgba(0,0,0,.8);transition:background .3s}
.ilha.rolou{background:rgba(18,10,11,.9)}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.m-anel{fill:var(--vinho);stroke:var(--ambar);stroke-width:1}
.m-traco{fill:none;stroke:var(--creme);stroke-width:1.4;stroke-linecap:round}
.marca-nome{font-family:var(--serif);font-style:italic;font-size:1.32rem;letter-spacing:-.01em}
.menu-links{display:flex;gap:2px}
.menu-links a{text-decoration:none;font-size:.92rem;padding:8px 14px;border-radius:999px;color:rgba(243,233,214,.78);transition:background .2s,color .2s}
@media (hover:hover){.menu-links a:hover{background:rgba(243,233,214,.09);color:var(--creme)}}
.ilha-dir{display:flex;align-items:center;gap:10px}
.idiomas{display:flex;background:rgba(243,233,214,.08);border-radius:999px;padding:3px}
.idiomas button{background:none;border:0;padding:5px 10px;border-radius:999px;font-size:.76rem;letter-spacing:.08em;font-weight:500;color:rgba(243,233,214,.75);cursor:pointer;transition:background .2s,color .2s}
.idiomas button[aria-pressed=true]{background:var(--creme);color:var(--noite)}
.hamb{display:none;width:42px;height:42px;border:0;border-radius:50%;background:rgba(243,233,214,.1);cursor:pointer;position:relative}
.hamb i{position:absolute;left:12px;right:12px;height:1.5px;background:var(--creme);transition:transform .3s var(--forte)}
.hamb i:first-child{top:17px}.hamb i:last-child{top:24px}
.hamb[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.hamb[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* capa */
.cena{height:230svh;background:var(--noite);position:relative}
.palco{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:center;padding-inline:max(24px,calc((100vw - 1180px)/2));padding-top:90px}
.fundo-capa{position:absolute;inset:0;background:
  radial-gradient(60% 70% at 78% 52%,rgba(233,138,50,.2),transparent 62%),
  radial-gradient(50% 50% at 90% 100%,rgba(123,30,46,.5),transparent 70%),
  radial-gradient(90% 90% at 0% 0%,#1f1012,transparent 60%),var(--noite)}
.fundo-capa::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(0,0,0,.55))}
.capa-texto{position:relative;z-index:3;max-width:620px}
.capa-texto .olho{color:var(--ambar)}
.cena h1{font-size:clamp(3rem,min(7.2vw,12.5svh),6.6rem);line-height:.94;letter-spacing:-.035em;margin-bottom:26px}
.cena h1 .l{display:block}
.lead{max-width:46ch;color:rgba(243,233,214,.82);font-size:1.12rem;margin-bottom:20px}
.status{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;padding:7px 14px 7px 12px;border-radius:999px;background:rgba(243,233,214,.07);box-shadow:inset 0 0 0 1px var(--linha-e);margin-bottom:26px}
.ponto{width:8px;height:8px;border-radius:50%;background:#8e7f74;display:inline-block}
.status.aberto .ponto{background:#6fcf8e;box-shadow:0 0 0 4px rgba(111,207,142,.2);animation:pulsa 2.4s ease-in-out infinite}
@keyframes pulsa{50%{box-shadow:0 0 0 8px rgba(111,207,142,0)}}
.acoes{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:34px}
.notas{display:grid;grid-template-columns:repeat(3,auto);gap:0;justify-content:start}
.notas div{padding:0 26px;border-left:1px solid var(--linha-e)}
.notas div:first-child{padding-left:0;border-left:0}
.notas dt{font-family:var(--serif);font-size:2rem;color:var(--ambar2);line-height:1.1;font-variant-numeric:lining-nums tabular-nums}
.notas dd{font-size:.78rem;color:rgba(243,233,214,.72);line-height:1.35;max-width:15ch}
.lado-3d{position:relative;z-index:2;height:min(78svh,720px);min-height:420px}
#c3d{position:absolute;inset:-6% -14% -4% -4%;width:118%;height:110%;display:block;touch-action:pan-y;opacity:0;transition:opacity 1.2s ease;-webkit-mask-image:radial-gradient(ellipse 50% 58% at 54% 54%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 50% 58% at 54% 54%,#000 48%,transparent 100%)}
.pronto #c3d{opacity:1}
.capa-foto{display:block;transition:opacity .9s ease;position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(64%,360px);height:auto;border-radius:200px 200px 16px 16px;box-shadow:0 0 0 1px var(--linha-e),0 50px 70px -40px #000;filter:saturate(1.05) contrast(1.04) sepia(.06)}
.pronto .capa-foto{opacity:0;pointer-events:none}.sem3d .capa-foto{opacity:1}.sem3d #c3d,.sem3d .legenda-3d{display:none}
.legenda-3d{position:absolute;left:0;right:0;bottom:-6px;text-align:center;font-size:.76rem;letter-spacing:.06em;color:rgba(243,233,214,.55)}
.dica{position:absolute;right:max(24px,calc((100vw - 1180px)/2));bottom:26px;display:flex;align-items:center;gap:12px;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,233,214,.6);z-index:4;transition:opacity .3s}
.dica i{width:1px;height:38px;background:linear-gradient(var(--ambar),transparent);animation:desce 1.8s var(--mola) infinite}
@keyframes desce{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cena.fim .dica,.cena.fim .legenda-3d{opacity:0}

/* cardápio */
.cardapio{background:var(--creme);color:var(--tinta)}
.cardapio::before{content:"";position:absolute;inset:0;background:url(../img/papel.svg) 0 0/380px 380px;opacity:.5;pointer-events:none}
.cardapio .caixa{position:relative}
.cardapio .olho.claro{color:var(--vinho)}
.cardapio h2{color:var(--tinta)}.cardapio h2 em{color:var(--vinho)}
.cardapio .corpo{color:var(--tinta2)}
.cab{margin-bottom:44px}
.cab-duplo{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.ferramentas{display:grid;gap:16px;margin-bottom:34px;position:sticky;top:84px;z-index:20;background:linear-gradient(var(--creme) 78%,rgba(243,233,214,0));padding:14px 0 18px}
.busca{display:flex;align-items:center;gap:12px;background:var(--papel);border-radius:999px;padding:0 20px;height:54px;box-shadow:inset 0 0 0 1px var(--linha),0 18px 30px -24px rgba(35,20,15,.5);color:var(--tinta2)}
.busca input{flex:1;min-width:0;border:0;background:none;outline:0;color:var(--tinta);height:100%;font-size:1rem}
.busca input::placeholder{color:#7a6a5f}
.busca:focus-within{box-shadow:inset 0 0 0 2px var(--vinho)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.chips::-webkit-scrollbar{display:none}
.chips[hidden]{display:none}
.chip{flex:none;border:0;background:var(--papel);color:var(--tinta);padding:10px 18px;border-radius:999px;font-size:.92rem;font-weight:500;cursor:pointer;box-shadow:inset 0 0 0 1px var(--linha);transition:background .2s,color .2s,transform .2s var(--forte);min-height:44px}
.chip[aria-pressed=true]{background:var(--vinho);color:#fff;box-shadow:none}
.chips-vinho .chip{background:transparent;min-height:40px;padding:8px 16px}
.chips-vinho .chip[aria-pressed=true]{background:var(--tinta);color:var(--creme)}
@media (hover:hover){.chip:hover{background:#fff}.chip[aria-pressed=true]:hover{background:#932539}.chips-vinho .chip[aria-pressed=true]:hover{background:#3a2218}}
.chip:active{transform:scale(.96)}
.grade-itens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.item{display:grid;grid-template-columns:auto 1fr;gap:18px;background:var(--papel);border-radius:var(--r);padding:16px;box-shadow:0 0 0 1px var(--linha),0 30px 40px -34px rgba(35,20,15,.55);align-content:start;opacity:0;transform:translateY(14px);transition:opacity .5s var(--mola),transform .5s var(--mola)}
.item.v{opacity:1;transform:none}
.item.sem-foto{grid-template-columns:1fr}
.item-foto{width:112px;height:112px;border-radius:12px;overflow:hidden;background:var(--creme2)}
.item-foto img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.03) sepia(.05);transition:transform .8s var(--forte)}
@media (hover:hover){.item:hover .item-foto img{transform:scale(1.07)}}
.item-corpo{min-width:0;display:flex;flex-direction:column;gap:6px}
.item h3{font-size:1.32rem;line-height:1.12;letter-spacing:-.01em;color:var(--tinta)}
.item p.d{font-size:.9rem;color:var(--tinta2);line-height:1.5}
.item-rod{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;flex-wrap:wrap}
.preco{font-family:var(--serif);font-size:1.5rem;color:var(--vinho);font-variant-numeric:lining-nums tabular-nums;font-weight:500}
.preco small{font-family:var(--sans);font-size:.74rem;color:var(--tinta2);letter-spacing:.04em;margin-left:4px;font-weight:400}
.add{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--tinta);color:var(--creme);min-height:44px;padding:0 16px;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s var(--forte)}
.add svg{flex:none}
@media (hover:hover){.add:hover{background:var(--vinho)}}
.add:active{transform:scale(.95)}
.add.ok{background:var(--zap)}
.tams{display:flex;gap:8px;flex-wrap:wrap}
.tams .add{padding:0 14px}
.tams .add b{font-weight:600}
.tipo-tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar-esc);font-weight:500}
.vazio{grid-column:1/-1;text-align:center;padding:50px 10px;color:var(--tinta2)}
.nota-card{margin-top:20px;font-size:.9rem;color:var(--tinta2)}
.adicionais{margin-top:22px;background:var(--papel);border-radius:var(--r);padding:20px 24px;box-shadow:inset 0 0 0 1px var(--linha)}
.adicionais p{font-family:var(--serif);font-style:italic;font-size:1.2rem;margin-bottom:10px}
.adicionais ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;font-size:.94rem;color:var(--tinta2)}
.adicionais b{color:var(--vinho);font-weight:600;margin-left:4px;font-variant-numeric:tabular-nums}

/* casa */
.casa{background:var(--noite2)}
.casa::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 15% 40%,rgba(123,30,46,.28),transparent 70%);pointer-events:none}
.casa-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center;position:relative}
.casa-foto{position:relative;margin:0;padding-bottom:18%}
.casa-foto img{border-radius:var(--r);filter:saturate(1.06) contrast(1.04) sepia(.06);box-shadow:0 0 0 1px var(--linha-e),0 50px 70px -40px #000}
.casa-foto img:first-child{width:78%;aspect-ratio:4/5;object-fit:cover}
.casa-foto .sobre{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1;object-fit:cover;border:6px solid var(--noite2)}
.casa-foto figcaption{position:absolute;left:0;bottom:2%;max-width:34%;font-size:.78rem;color:rgba(243,233,214,.6);font-style:italic;font-family:var(--serif);line-height:1.35}
.casa-texto .corpo+.corpo{margin-top:16px}
.selos{list-style:none;margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linha-e)}
.selos li{padding:18px 16px 0 0;display:flex;flex-direction:column;gap:2px}
.selos li+li{padding-left:16px;border-left:1px solid var(--linha-e)}
.selos b{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--ambar2);line-height:1.2}
.selos span{font-size:.82rem;color:rgba(243,233,214,.7);line-height:1.35}

/* reserva */
.reserva{background:var(--vinho2);overflow:hidden}
.reserva::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 25% 55%,rgba(233,168,76,.18),transparent 70%),radial-gradient(70% 60% at 100% 0%,#8a2538,transparent 70%);pointer-events:none}
.res-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(36px,6vw,100px);align-items:center;position:relative}
.reserva .olho.claro{color:var(--ambar2)}
.reserva .corpo{color:rgba(243,233,214,.84)}
.mesa-svg-caixa{margin-top:34px;max-width:340px}
#mesa-svg{width:100%;height:auto;display:block;overflow:visible}
.mesa-leg{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ambar2);margin-top:6px}
.t-tampo{fill:#2a1710;stroke:rgba(243,233,214,.2);stroke-width:1}
.t-toalha{fill:#f3e9d6;opacity:.1}
.t-cad{fill:#3a1f16;stroke:rgba(243,233,214,.28);stroke-width:1;transition:opacity .35s,transform .45s var(--forte)}
.t-prato{fill:#f3e9d6;opacity:.9}
.t-chama{fill:#ffd9a0}
.t-halo{fill:url(#g-halo)}
.res-form{background:rgba(18,10,11,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:20px;padding:clamp(22px,3.4vw,38px);box-shadow:0 0 0 1px var(--linha-e),0 50px 80px -50px #000;display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.campo{display:flex;flex-direction:column;gap:7px;min-width:0}
.campo label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,233,214,.82);font-weight:500}
.campo input,.campo select{height:52px;border-radius:var(--rp);border:0;background:rgba(243,233,214,.1);padding:0 14px;box-shadow:inset 0 0 0 1px var(--linha-e);color:var(--creme);width:100%;transition:box-shadow .2s,background .2s;color-scheme:dark}
.campo select option{background:var(--noite2);color:var(--creme)}
.campo input:focus,.campo select:focus{outline:0;box-shadow:inset 0 0 0 2px var(--ambar);background:rgba(243,233,214,.14)}
.passo{display:grid;grid-template-columns:52px 1fr 52px;gap:6px}
.passo button{height:52px;border-radius:var(--rp);border:0;background:rgba(243,233,214,.14);font-size:1.4rem;cursor:pointer;transition:background .2s,transform .2s var(--forte)}
.passo button:active{transform:scale(.94)}
@media (hover:hover){.passo button:hover{background:rgba(243,233,214,.24)}}
.passo input{text-align:center;padding:0;-moz-appearance:textfield}
.passo input::-webkit-outer-spin-button,.passo input::-webkit-inner-spin-button{-webkit-appearance:none}
.aviso-hora{grid-column:1/-1;font-size:.86rem;color:var(--ambar2);min-height:1.2em}
.res-prato{grid-column:1/-1;font-size:.88rem;background:rgba(243,233,214,.08);border-radius:var(--rp);padding:12px 14px;color:rgba(243,233,214,.88)}
.res-prato b{color:var(--ambar2);font-weight:500}
.res-form .pilula,.res-form .mini{grid-column:1/-1}
.res-form .pilula{justify-content:space-between}

/* avaliações */
.aval{background:var(--creme);color:var(--tinta)}
.aval h2{color:var(--tinta)}.aval h2 em{color:var(--vinho)}
.placar{display:flex;gap:0;background:var(--papel);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--linha)}
.placar div{padding:18px 26px;display:flex;align-items:center;gap:14px}
.placar div+div{border-left:1px solid var(--linha)}
.placar b{font-family:var(--serif);font-size:2.6rem;font-weight:500;color:var(--vinho);line-height:1;font-variant-numeric:lining-nums}
.placar span{font-size:.8rem;line-height:1.35;color:var(--tinta2)}
.citacoes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:10px}
.cit{background:var(--papel);border-radius:var(--r);padding:26px 24px 22px;box-shadow:0 0 0 1px var(--linha),0 34px 46px -38px rgba(35,20,15,.55);display:flex;flex-direction:column;gap:18px;justify-content:space-between;transition:transform .5s var(--forte)}
@media (hover:hover){.cit:hover{transform:translateY(-6px)}}
.cit blockquote{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.28;color:var(--tinta)}
.cit blockquote::before{font-family:Georgia,serif;content:"“";display:block;font-size:3.4rem;line-height:.6;color:var(--vinho);margin-bottom:6px}
.cit figcaption{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta2)}
.cit:nth-child(2){margin-top:34px}.cit:nth-child(4){margin-top:34px}

/* galeria */
.galeria{background:var(--noite);padding-bottom:clamp(70px,9vw,120px)}
.trilho{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:max(16px,calc((100vw - 1180px)/2));padding:20px max(16px,calc((100vw - 1180px)/2)) 28px;scrollbar-width:thin;scrollbar-color:var(--vinho) transparent;cursor:grab}
.trilho.arrasta{cursor:grabbing;scroll-snap-type:none}
.trilho figure{flex:none;width:clamp(240px,26vw,330px);scroll-snap-align:start}
.trilho img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);filter:saturate(1.06) contrast(1.04) sepia(.06);box-shadow:0 0 0 1px var(--linha-e),0 40px 50px -34px #000;user-select:none;-webkit-user-drag:none}
.trilho figcaption{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:rgba(243,233,214,.82)}

/* chegar */
.chegar{background:var(--noite3);background-image:radial-gradient(60% 80% at 100% 100%,rgba(123,30,46,.4),transparent 70%)}
.cheg-grade{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,100px);align-items:start}
.cheg-grade .acoes{margin:34px 0 0}
.horarios{background:rgba(18,10,11,.5);border-radius:var(--r);padding:26px 28px;box-shadow:inset 0 0 0 1px var(--linha-e)}
.horarios h3{font-size:1.4rem;margin-bottom:14px}
.horarios table{width:100%;border-collapse:collapse;margin-bottom:12px}
.horarios td{padding:9px 0;border-bottom:1px solid var(--linha-e);font-size:.95rem;font-variant-numeric:tabular-nums}
.horarios td:last-child{text-align:right;color:rgba(243,233,214,.82)}
.horarios tr.hoje td{color:var(--ambar2);font-weight:500}
.horarios .fechado td:last-child{color:rgba(243,233,214,.6)}
.rodape{background:var(--noite);border-top:1px solid var(--linha-e);padding:34px 0 120px}
.rodape-in{display:flex;gap:10px 28px;align-items:center;flex-wrap:wrap;font-size:.86rem;color:rgba(243,233,214,.7)}
.rod-sync{margin-left:auto}

/* barra fixa */
.barra{position:fixed;z-index:95;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .35s var(--mola),transform .45s var(--forte)}
.barra.mostrar{opacity:1;transform:none;pointer-events:auto}
.barra.esconde{opacity:0;transform:translateY(20px);pointer-events:none}
.barra a,.barra button{text-decoration:none;border:0;cursor:pointer}
.barra-res,.barra-pedido{height:54px;padding:0 22px;border-radius:999px;background:var(--noite);color:var(--creme);font-weight:500;font-size:.95rem;box-shadow:0 0 0 1px var(--linha-e),0 20px 34px -16px #000;display:inline-flex;align-items:center;transition:transform .2s var(--forte),background .2s}
.barra-pedido{background:var(--vinho);color:#fff}
.barra-pedido[hidden]{display:none}
.barra.tem-pedido .barra-res{display:none}
.barra-zap{width:54px;height:54px;border-radius:50%;background:var(--zap);color:#fff;display:grid;place-items:center;box-shadow:0 20px 34px -14px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .2s var(--forte),background .2s}
@media (hover:hover){.barra-zap:hover{background:var(--zap2)}.barra-res:hover{background:var(--noite3)}}
.barra a:active,.barra button:active{transform:scale(.95)}

/* gaveta do pedido */
.gaveta{margin:auto;width:min(100% - 24px,520px);max-height:min(88svh,760px);overflow:auto;border:0;border-radius:20px;background:var(--papel);color:var(--tinta);padding:26px 24px 22px;box-shadow:0 0 0 1px var(--linha),0 60px 100px -30px #000}
.gaveta::backdrop{background:rgba(10,5,6,.72);backdrop-filter:blur(3px)}
.gaveta[open]{animation:entra .4s var(--forte)}
@keyframes entra{from{opacity:0;transform:translateY(18px) scale(.97)}}
.g-fecha{position:absolute;right:14px;top:12px}
.g-fecha button{width:44px;height:44px;border-radius:50%;border:0;background:var(--creme);font-size:1.5rem;cursor:pointer;color:var(--tinta)}
.gaveta h3{font-size:1.9rem;margin-bottom:14px}
.g-lista{list-style:none;display:grid;gap:0;margin-bottom:12px}
.g-lista li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--linha);align-items:center}
.g-lista .gn{font-weight:500;line-height:1.3}
.g-lista .gn small{display:block;color:var(--tinta2);font-weight:400;font-size:.8rem}
.g-lista .gp{font-family:var(--serif);color:var(--vinho);font-size:1.1rem;font-variant-numeric:tabular-nums}
.g-qtd{display:inline-flex;align-items:center;gap:4px}
.g-qtd button{width:40px;height:40px;border-radius:50%;border:0;background:var(--creme);font-size:1.2rem;cursor:pointer;color:var(--tinta)}
.g-qtd span{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}
.g-vazio{color:var(--tinta2);padding:16px 0}
.g-modo{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.g-modo label{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--linha);cursor:pointer;min-height:44px}
.g-modo label:has(input:checked){background:var(--tinta);color:var(--creme)}
.g-modo input{accent-color:var(--ambar)}
.g-total{display:flex;justify-content:space-between;align-items:baseline;font-size:.95rem;margin:14px 0 4px}
.g-total b{font-family:var(--serif);font-size:2rem;color:var(--vinho);font-weight:500}
.gaveta .mini{color:var(--tinta2);margin-bottom:16px}
.gaveta .pilula{width:100%;justify-content:space-between}
.g-limpar{display:block;margin:16px auto 0;color:var(--tinta2);text-decoration-color:var(--tinta2)}

/* revelar */
.rev{opacity:0;transform:translateY(24px);transition:opacity .9s var(--mola),transform .9s var(--mola)}
.rev.v{opacity:1;transform:none}
.mascara .l{display:block;overflow:hidden}
h1 .l{clip-path:inset(0 0 100% 0);transform:translateY(40%);transition:clip-path 1s var(--mola),transform 1s var(--mola)}
.carregado h1 .l{clip-path:inset(-10% 0 -10% 0);transform:none}
h1 .l:nth-child(2){transition-delay:.12s}h1 .l:nth-child(3){transition-delay:.24s}

/* mobile */
@media (max-width:1000px){
  .menu-links{position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;background:rgba(18,10,11,.96);border-radius:20px;padding:10px;box-shadow:0 0 0 1px var(--linha-e),0 40px 60px -30px #000;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .25s,transform .3s var(--forte)}
  .menu-links.aberto{opacity:1;pointer-events:auto;transform:none}
  .menu-links a{padding:14px 16px;font-size:1.02rem}
  .hamb{display:block}
  .ilha-dir .pilula{display:none}
  .grade-itens{grid-template-columns:1fr}
  .casa-grade,.res-grade,.cheg-grade{grid-template-columns:1fr}
  .citacoes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cit:nth-child(n){margin-top:0}
  .mesa-svg-caixa{margin-inline:auto;max-width:300px}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .cena{height:auto}
  .palco{position:relative;height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:stretch;padding:96px 20px 22px;gap:0;overflow:hidden}
  .cena h1{font-size:clamp(2.6rem,12.4vw,3.6rem);margin-bottom:0}
  .lead{font-size:1.02rem}
  .acoes{gap:18px;margin-bottom:26px}
  .pilula-grande{min-height:54px}
  .notas{grid-template-columns:repeat(3,1fr);width:100%}
  .notas div{padding:0 12px}
  .notas dt{font-size:1.6rem}
  .capa-texto{display:contents}
  .capa-texto>*,.lado-3d{position:relative;z-index:3}
  .capa-texto .olho{order:1;margin-bottom:16px}.cena h1{order:2}.lado-3d{order:3}.lead{order:4}.status{order:5;align-self:flex-start}.acoes{order:6}.notas{order:7}
  .lado-3d{height:min(44svh,380px);min-height:290px;margin:0 -20px 10px}
  #c3d{inset:-2% -4% 0 -4%;width:108%;height:104%;-webkit-mask-image:radial-gradient(ellipse 72% 50% at 50% 54%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 72% 50% at 50% 54%,#000 55%,transparent 100%)}
  .legenda-3d{bottom:4px;font-size:.72rem}
  .capa-foto{position:relative;top:0;transform:none;margin:0 auto;height:100%;width:auto;max-width:78%;object-fit:cover}
  .dica{display:none}
  .ilha{padding-left:12px}
  .idiomas button{padding:6px 8px}
  .marca-nome{font-size:1.2rem}
  .caixa{width:min(100% - 36px,1180px)}
  .item{grid-template-columns:96px 1fr;padding:14px;gap:14px}
  .item-foto{width:96px;height:96px}
  .item.sem-foto{grid-template-columns:1fr}
  .res-form{grid-template-columns:1fr}
  .selos{grid-template-columns:1fr}.selos li+li{padding-left:0;border-left:0;border-top:1px solid var(--linha-e);margin-top:14px}.selos li{padding-top:14px}
  .citacoes{grid-template-columns:1fr}
  .placar div{padding:14px 16px}.placar b{font-size:2.1rem}
  .casa-foto{padding-bottom:22%}
  .rod-sync{margin-left:0}
  .barra{left:12px;right:12px;justify-content:space-between}
  .barra-res,.barra-pedido{flex:1;justify-content:center}
  .rodape{padding-bottom:110px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rev,.item{opacity:1;transform:none}
  h1 .l{clip-path:none;transform:none}
}
