@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url("../assets/fonts/big-shoulders-display-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url("../assets/fonts/hanken-grotesk-variable.woff2") format("woff2")}

/* Tema branco da casa (etapa 1): papel, tinta do logo e verde só como destaque. */
:root{
  --papel:#FFFFFF;--tinta:#1D1E1B;--grafite:#555A52;--mata:#2C5B3B;--mata-escura:#1F4029;--nevoa:#F1F3EE;--neblina:#C9CDC5;--linha:#C9CFC3;
  --display:"Big Shoulders Display",sans-serif;--corpo:"Hanken Grotesk",sans-serif;
  --suave:cubic-bezier(.22,1,.36,1);--estado:cubic-bezier(.2,0,0,1);
  --margem:clamp(20px,4.4vw,64px);--bloco:112px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 18px/1.55 var(--corpo);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;margin:0;text-wrap:balance}
h2{font-size:clamp(32px,4vw,56px);line-height:1.05;margin-bottom:20px}
h3,h4{font-size:clamp(24px,2.2vw,32px);line-height:1.15}
p{margin:0 0 16px;max-width:65ch}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mata);outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pular{position:absolute;left:16px;top:-80px;z-index:60;background:var(--tinta);color:var(--papel);padding:12px 16px;border-radius:4px}
.pular:focus{top:16px}
.nota{font-size:14px;line-height:1.5;color:var(--grafite)}

/* Botões retangulares; estado por forma e texto, não só cor. */
.botao{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid currentColor;border-radius:4px;font:600 16px/1.25 var(--corpo);text-decoration:none;cursor:pointer;background:transparent;transition:background-color 140ms var(--estado),color 140ms var(--estado),border-color 140ms var(--estado)}
.botao--mata{background:var(--mata);border-color:var(--mata);color:var(--papel)}
.botao--mata:hover{background:var(--mata-escura);border-color:var(--mata-escura)}
.botao--contorno{color:var(--tinta)}
.botao--contorno:hover{background:var(--tinta);color:var(--papel)}
.botao--noite{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.botao--noite:hover{background:var(--mata);border-color:var(--mata)}
.link-seta{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--mata)}
.link-seta[href^="https"]:not(:has(span))::after{content:"→";transition:transform 140ms var(--estado)}
.link-seta span{transition:transform 140ms var(--estado)}
.link-seta:hover span,.link-seta:hover::after{transform:translateX(3px)}

/* Cabeçalho */
.topo{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:24px;padding:18px max(var(--margem),calc((100% - 1280px) / 2))}
.marca{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;margin:0}
.marca svg{display:block;width:auto;height:40px}
.topo-fixo .topo{position:fixed;background:var(--papel);transition:opacity 200ms var(--estado),transform 200ms var(--estado)}
.topo-fixo.no-inicio .topo:not(:focus-within){opacity:0;transform:translateY(-100%);pointer-events:none}
.topo-fixo{scroll-padding-top:var(--topo)}
.menu{display:flex;gap:28px;margin-left:auto}
.menu a{text-decoration:none;font-weight:600;font-size:16px;min-height:44px;display:inline-flex;align-items:center}
.menu a:hover{text-decoration:underline}
.menu-botao{display:none}

.secao{padding:var(--bloco) max(var(--margem),calc((100% - 1280px) / 2))}
.foto{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px;background:var(--nevoa)}

/* Abertura: só o logo, em tela cheia. O texto vira leitura de tela quando o SVG entra. */
.abertura{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,4svh,40px);padding:96px var(--margem) 64px;overflow:hidden}
.logo{position:relative;z-index:1;width:min(84vw,1040px);margin:0;color:var(--tinta);text-align:center}
.logo svg{display:block;width:100%;height:auto}
.logo-texto{display:block;font:800 clamp(56px,11vw,168px)/.95 var(--display)}
.logo:has(svg) .logo-texto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Etapa 2: o sushi 3D ocupa esta camada sobre o logo. */
.sushi-3d{position:absolute;inset:0;z-index:2;pointer-events:none}
.sushi-3d canvas{display:block;width:100%;height:100%;opacity:0}
.sushi-palco{position:relative;z-index:3;width:min(44svh,460px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%}
/* A imagem é o próprio GLB na pose de repouso (palco + 25% de cada lado, pela sombra): bate com o 1º quadro 3D.
   O canvas entra opaco por baixo e a imagem some em 350 ms por cima: troca sem queda de opacidade. */
.sushi-estatico{width:150%;max-width:none;height:auto;transition:opacity 350ms var(--suave)}
.sushi-3d-pronto .sushi-estatico{opacity:0}
.sushi-3d-pronto .sushi-3d canvas{opacity:1}
.sushi-3d-pronto .sushi-palco{cursor:grab;touch-action:none}
.sushi-3d-pronto .sushi-palco:active{cursor:grabbing}
.sushi-palco:focus-visible{outline-offset:8px}
/* Véu da transição: a passagem de dentro do sushi para o slide 2. */
.zoom-veu{position:fixed;inset:0;z-index:50;background:var(--papel);opacity:0;pointer-events:none}

/* Chamada: a frase da casa em tamanho grande, à esquerda; ações à direita. */
.chamada{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px 64px;align-items:end;padding-top:56px}
.chamada-titulo{font-size:clamp(56px,9vw,144px);line-height:.92;margin:0;max-width:8ch}
.chamada-apoio{font-size:clamp(18px,1.6vw,22px)}
.chamada-acoes{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px}
/* Uma foto ilustrativa em tamanho médio; o aviso "imagens ilustrativas" fica no rodapé. */
.chamada{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"titulo fotos" "texto fotos"}
.chamada-titulo{grid-area:titulo}.chamada-texto{grid-area:texto}
.chamada-fotos{grid-area:fotos;align-self:center;justify-self:end;width:min(100%,640px)}
.chamada-foto{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:var(--nevoa)}

/* A casa */
.casa{background:var(--nevoa);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.casa-imagem{order:-1}
.casa-imagem .foto{width:min(100%,420px)}
.casa-texto p{font-size:clamp(18px,1.5vw,21px)}
.casa-info{font-weight:600}

/* Cardápio */
.cardapio-cabeca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 64px;align-items:end;margin-bottom:32px}
.cardapio-cabeca h2{margin:0}
.cardapio-apoio p{margin:0 0 4px}
.aviso{font-weight:600;color:var(--mata);margin:0}
.cardapio-indice{margin-bottom:48px}
.cardapio-indice ul{list-style:none;margin:0;padding:0;columns:4 200px;column-gap:32px}
.cardapio-indice li{break-inside:avoid}
.cardapio-indice a{display:flex;align-items:center;min-height:44px;padding:4px 0;font-weight:600;line-height:1.25;text-decoration:none;border-bottom:1px solid var(--linha)}
.cardapio-indice a:hover{color:var(--mata);text-decoration:underline}
.cardapio-cat+.cardapio-cat{margin-top:56px}
.cardapio-categoria{font:800 clamp(28px,3vw,40px)/1.05 var(--display);color:var(--mata);margin:0 0 8px}
.cardapio-itens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.prato{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center;padding:12px 0;border-top:1px solid var(--linha)}
.prato h4{font-size:clamp(19px,1.5vw,22px);margin:0}
.prato p{grid-column:1/-1;margin:2px 0 0;color:var(--grafite);font-size:15px;line-height:1.45}
.prato .link-seta{grid-column:2;grid-row:1;font-size:15px}
/* Abas e páginas: só existem no modo apresentação (site.js cria as abas). */
.cardapio-abas{display:flex;flex-wrap:wrap;gap:0 20px;margin-bottom:12px;border-bottom:1px solid var(--linha)}
.cardapio-abas [role=tab]{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:8px 0;min-height:44px;font:600 15px/1.2 var(--corpo);color:var(--grafite);white-space:nowrap;cursor:pointer}
.cardapio-abas [role=tab]:hover{color:var(--tinta)}
.cardapio-abas [aria-selected=true]{color:var(--tinta);border-bottom-color:var(--mata)}
.cardapio-abas [role=tab]:focus-visible{outline-offset:-3px}
.cardapio-paginas{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:12px}
.pagina-botao{min-height:44px;padding:8px 16px;border:1px solid var(--tinta);border-radius:4px;background:var(--papel);font-weight:600;cursor:pointer}
.pagina-botao:hover:not(:disabled){background:var(--tinta);color:var(--papel)}
.pagina-botao:disabled{opacity:.45;cursor:default}
.pagina-pontos{display:flex;align-items:center;gap:8px}
.pagina-ponto{width:8px;height:8px;border-radius:50%;border:1px solid var(--tinta);transition:width 140ms var(--estado)}
.pagina-ponto[aria-current]{width:20px;border-radius:4px;background:var(--tinta)}
.apresentacao #cardapio{height:100svh;display:flex;flex-direction:column}
.apresentacao .cardapio-cabeca{margin-bottom:16px}
.apresentacao .cardapio-indice{display:none}
.apresentacao .cardapio-categorias{flex:1 1 0;min-height:220px;overflow:hidden}
.apresentacao .cardapio-cat{height:100%;margin:0}
.apresentacao .cardapio-categoria{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.apresentacao .cardapio-itens{display:block;height:100%;columns:3;column-gap:48px;column-fill:auto;transition:transform 320ms var(--suave)}
.apresentacao .prato{break-inside:avoid}

/* Combos: superfície névoa, número grande à esquerda. */
.combos{background:var(--nevoa)}
.combos-cabeca{max-width:720px;margin-bottom:48px}
.combos-corpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.combos-numero{display:flex;flex-direction:column;align-items:flex-start}
.combo-titulo{font:800 clamp(24px,2.2vw,32px)/1.15 var(--display);margin-bottom:4px}
.combo-quantidade{font-size:20px;font-weight:600;display:flex;align-items:baseline;gap:12px;margin:0}
.combo-quantidade span{font:800 clamp(64px,9vw,120px)/1 var(--display);font-variant-numeric:tabular-nums;transition:opacity 180ms var(--estado)}
.combo-opcoes{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.combo-opcoes legend{font-weight:600;margin-bottom:12px;padding:0}
.combo-opcoes label{position:relative;cursor:pointer}
.combo-opcoes input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.combo-opcoes span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px;border:1px solid var(--tinta);border-radius:4px;background:var(--papel);font-weight:600;text-align:center}
.combo-opcoes input:checked+span{background:var(--tinta);color:var(--papel);box-shadow:inset 0 -4px 0 var(--mata)}
.combo-opcoes input:focus-visible+span{outline:3px solid var(--mata);outline-offset:3px}
.combo-opcoes label:hover span{border-width:2px}
.combo-composicoes{margin-bottom:8px}
/* Foto da quantidade escolhida, inteira (contain): nenhuma peça fica fora do quadro. */
.combos-corpo{grid-template-areas:"numero escolha" "imagens escolha";align-items:start;row-gap:16px}
.combos-numero{grid-area:numero}.combos-escolha{grid-area:escolha}.combo-imagens{grid-area:imagens}
.combo-imagem{margin:0 0 16px}
.combo-imagem img{width:100%;height:min(30svh,340px);object-fit:contain;object-position:left center}
.combo-imagem figcaption{font-size:14px;color:var(--grafite);margin-top:6px}
.combo-composicao ul{margin:0 0 8px;padding-left:20px;columns:2;column-gap:24px}
.combo-composicao li{break-inside:avoid;padding:2px 0}
.combo-composicao-titulo{font:600 16px/1.3 var(--corpo);margin:12px 0 6px}

/* Drinks e eventos */

/* Como pedir: dois cartões; o do cardápio em tinta, o da visita em papel. */
.pedir{background:var(--nevoa)}
.pedir-cabeca{margin-bottom:32px}
.pedir-cabeca h2{margin:0}
.pedir-cartoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.caminho{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(24px,3vw,40px);border:1px solid var(--linha);border-radius:4px;background:var(--papel)}
.caminho h3{font-size:clamp(28px,3vw,44px);line-height:1}
.caminho p{margin:0;color:var(--grafite)}
.caminho .botao{margin-top:auto}
.caminho--escuro{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.caminho--escuro p,.caminho--escuro .nota{color:var(--neblina)}
.caminho--escuro :focus-visible{outline-color:var(--papel)}
.botao--claro{background:var(--papel);border-color:var(--papel);color:var(--tinta)}
.botao--claro:hover{background:var(--nevoa);border-color:var(--nevoa)}
.pedir-ifood{margin:24px 0 0;font-weight:600}

/* Visite: endereço à esquerda, mapa do Google só depois do clique. */
.visite{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px 64px;align-items:center}
.endereco{font:800 clamp(30px,3.4vw,48px)/1.1 var(--display);margin:0 0 28px;max-width:16ch}
.mapa-quadro{position:relative;aspect-ratio:16/10;border:1px solid var(--linha);border-radius:4px;overflow:hidden;background:var(--nevoa)}
.mapa-quadro img{width:100%;height:100%;object-fit:cover}
.mapa-quadro iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapa-credito{font-size:14px;color:var(--grafite);margin:8px 0 16px}
.mapa-acao .nota{margin:10px 0 0}

/* Instagram: perfil numa moldura de celular, em modo claro. */
.instagram{background:var(--nevoa);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px 80px;align-items:center}
.instagram-texto .botao{margin-top:12px}
.celular{margin:0;width:340px}
.celular-tela{background:var(--papel);border:10px solid var(--tinta);border-radius:44px;padding:44px 18px 22px;position:relative;box-shadow:0 30px 60px -30px #1d1e1b66}
.celular-tela::before{content:"";position:absolute;top:12px;left:50%;width:84px;height:22px;margin-left:-42px;border-radius:12px;background:var(--tinta)}
.perfil-topo{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.perfil-avatar{flex:0 0 72px;width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--nevoa);box-shadow:0 0 0 2px var(--papel),0 0 0 3px var(--linha)}
.perfil-numeros{list-style:none;margin:0;padding:0;display:flex;gap:12px;font-size:12px;line-height:1.3;text-align:center}
.perfil-numeros strong{display:block;font-size:16px}
.celular-tela p{margin:0;font-size:14px;line-height:1.45}
.celular-tela .perfil-usuario{font-weight:600;color:var(--grafite)}
.celular-tela .perfil-nome{font-weight:700}
.celular-tela .perfil-categoria{color:var(--grafite)}
.celular-tela .perfil-bio{margin-top:2px}
.perfil-link{display:inline-flex;min-height:32px;align-items:center;font-size:14px;font-weight:600;color:var(--mata)}
.perfil-destaques{list-style:none;margin:12px 0 16px;padding:0;display:flex;justify-content:space-between;font-size:11px;text-align:center}
.perfil-destaques span{display:block;width:52px;height:52px;margin:0 auto 6px;border-radius:50%;border:2px solid var(--linha);background:var(--nevoa)}
.celular-tela .perfil-aba{border-top:1px solid var(--linha);padding-top:10px;font-weight:600;text-align:center}
.perfil-grade{list-style:none;margin:8px -8px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.perfil-grade a{display:block;overflow:hidden;position:relative}
.perfil-grade img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform 320ms var(--suave),opacity 140ms var(--estado)}
.perfil-grade a:hover img{transform:scale(1.06);opacity:.85}
.perfil-grade a:focus-visible{outline-offset:-3px}
.celular{position:relative}
.celular figcaption{font-size:14px;color:var(--grafite);margin-top:14px;text-align:center}
.celular figcaption span{color:var(--tinta);font-weight:600}

/* Rodapé */
.rodape{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr);gap:40px 64px;padding:72px max(var(--margem),calc((100% - 1280px) / 2)) 56px;border-top:1px solid var(--linha);font-size:16px}
.rodape p{margin:0 0 10px}
.rodape-marca{display:flex;flex-direction:column;align-items:flex-start}
.rodape-links{display:flex;flex-direction:column;align-items:flex-start}
.rodape-links a{min-height:44px;display:inline-flex;align-items:center}
.rodape-titulo{font:600 16px/1.3 var(--corpo);margin:16px 0 6px}
.rodape-acesso{display:flex;align-items:center;gap:10px}
.simbolo-acessibilidade{flex:0 0 34px;width:34px;height:34px;fill:currentColor}
.rodape-fornecedor:empty{display:none}
.barra-pedido{display:none}

/* Modo apresentação (site.js liga): um slide por tela, sem rolagem livre. */
:root{--topo:84px;--folga:clamp(24px,4svh,48px)}
.apresentacao{overflow:hidden}
[data-slide][tabindex="-1"]:focus,main:focus{outline:none}
.apresentacao [data-slide]{min-height:100svh;padding-top:calc(var(--topo) + 8px);padding-bottom:var(--folga);align-content:center}
.apresentacao :is(.combos,.pedir){display:grid}
.apresentacao .combos-cabeca{margin-bottom:24px}
.apresentacao .abertura{padding-top:var(--folga)}
.apresentacao .casa-imagem .foto{width:min(100%,420px,42svh)}
.apresentacao .celular{width:300px}
.apresentacao .celular-tela{padding:36px 12px 22px}
.apresentacao .perfil-topo{gap:10px}
.apresentacao .perfil-avatar{flex-basis:56px;width:56px;height:56px}
.apresentacao .perfil-numeros{flex:1;min-width:0;justify-content:space-between;gap:4px}
.apresentacao .perfil-destaques{margin:8px 0 10px}
.apresentacao .celular figcaption{margin-top:8px}
.apresentacao [data-slide=estreito]{min-height:0;padding:0}
.apresentacao .barra-pedido{display:none}
/* Parada final: o rodapé começa abaixo do cabeçalho fixo, como os slides; sem a barra de pedido, sem a folga dela. */
.apresentacao .rodape{padding-top:calc(var(--topo) + 8px);padding-bottom:var(--folga)}
/* Telas baixas no desktop: combos, visite e Instagram encolhem para caber; se algum slide estourar, site.js cai no modo leitura e perde slide e zoom. */
@media (min-width:801px) and (max-height:820px){
  .apresentacao .combos-cabeca{margin-bottom:8px;max-width:none}
  .apresentacao .combo-opcoes{margin-bottom:12px}
  .apresentacao .combo-opcoes span{min-height:40px}
  .apresentacao .combo-quantidade span{font-size:clamp(48px,10svh,96px)}
  .apresentacao .mapa-quadro{aspect-ratio:2/1}
  .apresentacao .celular{zoom:.88}
}
@media (min-width:801px) and (max-height:785px){.apresentacao .celular{zoom:.8}}
@media (min-width:801px) and (max-height:725px){.apresentacao .celular{zoom:.72}}
@media (min-width:801px) and (max-height:664px){.apresentacao .celular{zoom:.64}}
@media (min-width:801px) and (max-height:600px){.apresentacao .celular{zoom:.55}}

@media (max-width:1100px){
  .rodape{grid-template-columns:1fr 1fr}.rodape-avisos{grid-column:1/-1}
}
@media (max-width:800px){
  :root{--bloco:72px}
  body{font-size:16px}
  .topo{flex-wrap:wrap;gap:12px}
  .menu-botao{display:inline-flex;margin-left:auto;min-height:48px;padding:10px 16px;border:1px solid var(--tinta);border-radius:4px;background:var(--papel);font-weight:600;cursor:pointer}
  .menu{display:none;flex-basis:100%;flex-direction:column;gap:0;margin:0}
  .menu.aberto{display:flex}
  .topo:has(.menu.aberto){background:var(--papel);box-shadow:0 1px 0 var(--linha)}
  .menu a{min-height:48px;border-top:1px solid var(--linha)}
  .topo-pedido{display:none}
  .abertura{padding-top:88px}
  .logo{width:min(90vw,560px)}
  .sushi-palco{width:min(40svh,74vw,300px)} /* sushi ~58vw: o palco enquadra 2,6 u e o modelo ocupa ~80% */
  .chamada{grid-template-columns:1fr;grid-template-areas:"titulo" "texto" "fotos";padding-top:40px}
  .chamada-fotos{justify-self:stretch;width:100%}
  .casa,.visite,.instagram,.combos-corpo,.cardapio-cabeca,.cardapio-itens,.pedir-cartoes{grid-template-columns:1fr}
  .cardapio-abas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 16px}
  .cardapio-paginas{justify-content:space-between}
  .pedir-cartoes{gap:16px}
  .caminho{padding:20px;gap:12px}
  .casa-imagem{order:0}
  .combos-numero{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:0 20px}
  .combos-corpo{grid-template-areas:"numero" "imagens" "escolha";gap:16px}
  .combo-imagem img{height:24svh;object-position:center}
  .combos-numero .combo-titulo,.combos-numero .combo-quantidade{flex-basis:100%}
  .combo-opcoes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .instagram{justify-items:center}
  .instagram-texto{justify-self:stretch;display:flex;flex-direction:column;align-items:flex-start}
  .celular{width:min(340px,100%)}
  .rodape{grid-template-columns:1fr;gap:28px;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .barra-pedido{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px var(--margem) calc(10px + env(safe-area-inset-bottom));background:var(--papel);border-top:1px solid var(--linha);transform:translateY(110%);visibility:hidden;transition:transform 240ms var(--suave),visibility 240ms}
  .barra-pedido.visivel{transform:none;visibility:visible}
  .barra-pedido .botao{width:100%}
  /* Cabeçalho do celular: marca, contador e menu numa linha; o menu aberto desce para a linha de baixo. */
  :root{--topo:72px}
  .topo{padding-block:12px;gap:8px}
  .marca svg{height:32px}
  .menu{order:5}
  .menu-botao{padding-inline:14px}
  /* Instagram: no celular, texto e prévia são duas telas. */
  .apresentacao [data-slide=largo]{min-height:0;padding-block:0;display:block}
  .apresentacao [data-slide=estreito]{min-height:100svh;padding-top:calc(var(--topo) + 8px);padding-bottom:var(--folga);display:grid;align-content:center;justify-items:start}
  .apresentacao .celular{width:auto;margin-inline:auto;justify-items:center}
  .apresentacao .cardapio-itens{columns:1}
  .apresentacao .cardapio-cabeca{margin-bottom:8px}
  /* Combos numa tela: foto ao lado do número; o título repetido fica só para leitor de tela. */
  .apresentacao .combos-cabeca{margin-bottom:12px}
  .apresentacao .rodape{gap:16px}
  .apresentacao .combos-corpo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"numero imagens" "escolha escolha";gap:12px 16px;align-items:center}
  .apresentacao .combo-titulo{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .apresentacao .combo-imagem{margin:0}
  .apresentacao .combo-imagem img{height:min(19svh,150px)}
  .apresentacao .combo-opcoes{margin-bottom:12px}
  .apresentacao .combo-opcoes legend{margin-bottom:6px}
  .apresentacao .celular-tela{zoom:.88}
}
@media (max-width:360px){
  .celular-tela{padding-inline:12px}
  .perfil-numeros{gap:6px}
  .perfil-avatar{flex-basis:60px;height:60px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
