/* Moratta Gastronomia — site institucional
   Ícones: Phosphor Icons — MIT License, Copyright (c) 2023 Phosphor Icons
   Animação: Anime.js — MIT License, Copyright (c) 2025 Julian Garnier
   Fontes: Playfair Display, Montserrat e Parisienne — SIL Open Font License 1.1, com a
   licença e o copyright de cada uma dentro do próprio arquivo (tabela name).

   Desde 13/10/2026 o site fala a língua do cardápio aprovado (cardapio/estilo.css na pasta de
   trabalho): papel bege, título em duas linhas com a segunda em dourado e itálico, a hora do
   dia em itálico dourado, o losango, o ramo como marca d'água e a foto do prato com a
   descrição, o nome e a assinatura do chef. O que muda do PDF para a tela está comentado. */

/* ---------- Fontes self-hosted, subset para os glifos do português ---------- */
/* Um arquivo por família e estilo, com a faixa de peso inteira (as duas Playfair e a
   Montserrat são variáveis). Subset refeito em 13/10/2026 com o ponto médio "·", que os
   subtítulos do cardápio usam e faltava nos arquivos de setembro. */
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/PlayfairDisplay-latin.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/PlayfairDisplay-Italic-latin.woff2') format('woff2');font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/assets/fonts/Montserrat-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Parisienne';src:url('/assets/fonts/Parisienne-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* Fontes de reserva calibradas, medidas em 13/09/2026 no Edge:
   size-adjust = largura do mesmo texto na fonte real ÷ largura na reserva, a 100px.
   O site usa line-height numérico, então é a largura que decide se o texto reflui.
   Os overrides verticais são as métricas OS/2 da fonte real divididas pelo size-adjust,
   para a linha de base não pular na troca. Arial e Georgia existem no Windows e no Mac. */
@font-face{font-family:'Playfair fallback';src:local('Georgia');size-adjust:101.3%;ascent-override:106.8%;descent-override:24.8%;line-gap-override:0%}
/* Itálico medido em 13/10/2026, no Edge: Playfair itálica sobre Georgia itálica, o mesmo texto
   a 100px, dá 94,2% (3020 contra 3204 px). Os overrides verticais são as mesmas métricas
   OS/2 da reta (108,2% e 25,1%) divididas por esse size-adjust. */
@font-face{font-family:'Playfair fallback';src:local('Georgia Italic'),local('Georgia-Italic');font-style:italic;size-adjust:94.2%;ascent-override:114.9%;descent-override:26.7%;line-gap-override:0%}
@font-face{font-family:'Montserrat fallback';src:local('Arial');size-adjust:111.9%;ascent-override:86.5%;descent-override:22.4%;line-gap-override:0%}

/* ---------- Tokens, nomeados por função e em pares superfície/conteúdo ---------- */
:root{
  /* papel bege e verde do cardápio */
  --background:#F3EADC;      --foreground:#22372B;
  --primary:#22372B;         --primary-foreground:#F2F2F2;
  --muted:#EADDC8;           --muted-foreground:#6F6858;
  --accent:#C2A15E;          --accent-foreground:#22372B;
  /* Dourado de marca reprova sobre o bege (2,06:1). Duas variantes de MESMO matiz, medidas
     em 13/10/2026: uma para título grande (3,02:1, o mínimo de texto grande) e outra para
     texto pequeno (4,63:1). O dourado puro fica para fio, losango e fundo escuro (5,19:1). */
  --ouro-titulo:#A4823E;
  --accent-on-light:#7F6530;
  --border:#DCCFB6;          /* o fio claro do cardápio */
  --verde-ativo:#3F4F36;
  --sage:#87A96B; --azul:#5DADE2; --marrom:#6F4E37;
  --radius:2px;
  --display:'Playfair Display','Playfair fallback',Georgia,serif;
  --corpo:'Montserrat','Montserrat fallback',Arial,sans-serif;
  --script:'Parisienne','Playfair fallback',cursive;
  --topo-h:96px;
  --barra-h:64px;
  --faixa:1240px;
  --gutter:clamp(20px,5vw,64px);
  /* Altura de uma tela. svh ignora a barra do navegador do celular, que sobe e desce */
  --tela:100vh;
}
@supports (height:100svh){:root{--tela:100svh}}

*,*::before,*::after{box-sizing:border-box}
/* display:flex nas regras abaixo ganha do [hidden] da folha do navegador, então o
   atributo precisa ser reforçado aqui. Sem isto o menu do celular cobre a página. */
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--background);color:var(--foreground);
  font-family:var(--corpo);font-weight:400;font-size:clamp(15px,1.05vw,17px);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Âncora do sumário e das abas: a seção para logo abaixo da barra que acompanha a rolagem */
section[id],.sub-bloco[id]{scroll-margin-top:var(--barra-h)}
/* na página do cardápio quem fica no topo é a barra de abas, de 56px */
.abas ~ section[id],.abas ~ .abertura-bloco[id]{scroll-margin-top:56px}

/* Sprite de ícones escondido por classe e não por style="": a CSP do .htaccess
   bloqueia atributo style, e um <svg> sem tamanho ocuparia 300×150 no topo */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
/* Texto só para leitor de tela: o nome da unidade, que já está desenhado no logo dela */
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.pular{position:absolute;left:-9999px;top:0;z-index:200;background:var(--primary);color:var(--primary-foreground);padding:12px 20px}
.pular:focus{left:8px;top:8px}

.faixa{width:100%;max-width:var(--faixa);margin-inline:auto;padding-inline:var(--gutter)}
.faixa.estreita{max-width:1020px}
.ico{fill:currentColor;vertical-align:-3px}

/* ---------- Topo: rola junto e vai embora, como Apple e Ryo ---------- */
.topo{
  position:absolute;top:0;left:0;right:0;z-index:50;height:var(--topo-h);
  display:flex;align-items:center;justify-content:space-between;
  padding-inline:var(--gutter);color:var(--primary-foreground);
}
/* O logo completo é o padrão da marca (Gabriel, 13/10/2026): ramo em cima e campo de linhas
   embaixo. A 168px de largura o campo ainda se lê como linhas, e não como mancha. */
.topo-marca{display:flex;align-items:center;text-decoration:none}
.topo-logo{width:168px;height:auto}
/* Na capa da home o logo grande está no centro da tela: o do topo sairia repetido */
.capa .topo-marca{visibility:hidden}
.topo-nav{display:flex;gap:clamp(18px,2.4vw,34px)}
.topo-nav a{
  text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  opacity:.82;padding-block:6px;border-bottom:1px solid transparent;transition:opacity .3s,border-color .3s;
}
.topo-nav a:hover,.topo-nav a[aria-current="page"]{opacity:1;border-bottom-color:var(--accent)}
.topo-menu{display:none;background:none;border:0;cursor:pointer;padding:10px;width:44px;height:44px;color:inherit}
.topo-menu span{display:block;height:1px;background:currentColor;margin:5px 0;transition:transform .3s,opacity .3s}
.topo-menu[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.topo-menu[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}

.menu-movel{
  position:fixed;inset:0;z-index:60;background:var(--primary);color:var(--primary-foreground);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
}
.menu-movel a{font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,7vw,2.4rem);text-decoration:none;padding:10px}

/* ---------- Barra contextual: entra quando o topo sai (padrão #ac-localnav) ---------- */
.barra{
  position:fixed;top:0;left:0;right:0;z-index:55;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  /* a área segura do celular (entalhe, barra de status) vale zero no navegador comum */
  height:calc(var(--barra-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-inline:var(--gutter);
  background:rgba(34,55,43,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  color:var(--primary-foreground);border-bottom:1px solid rgba(242,242,242,.12);
  transform:translateY(-100%);transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.barra.vis{transform:translateY(0)}
.barra-marca{display:flex;align-items:center}
/* logo completo também aqui: 118px é o menor tamanho em que o campo de linhas não empasta */
.barra-logo{width:118px;height:auto}
.barra-acoes{display:flex;align-items:center;gap:clamp(12px,2vw,24px)}
.barra-acoes a{font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;opacity:.85}
.barra-acoes a:hover{opacity:1}
.barra-cta{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--accent);color:var(--primary-foreground);opacity:1 !important;
  padding:9px 18px;border-radius:var(--radius);white-space:nowrap;transition:background .3s,color .3s;
}
.barra-cta:hover{background:var(--accent);color:var(--accent-foreground)}

/* ---------- Telas: cada bloco ocupa uma tela inteira, conteúdo no centro ---------- */
.tela{
  position:relative;min-height:var(--tela);
  display:flex;align-items:center;
  padding-block:clamp(88px,12vh,140px);
}

/* Linhas de título quebradas onde o texto pede. balance evita palavra sozinha
   na última linha quando a tela é estreita demais para a quebra desenhada */
.l{display:block;text-wrap:balance}

/* ================= KIT DO CARDÁPIO =================
   As peças do cardápio, na mesma relação de tamanho e peso do PDF (estilo.css do cardápio). */

/* subtítulo em caixa-alta espaçada, no alto da página */
.eyebrow{
  margin:0;color:var(--verde-ativo);
  font-size:.66rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;line-height:1.6;
}
/* a hora do dia, em itálico dourado: é o que transforma o cardápio num dia inteiro */
.hora{
  margin:0;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(1.5rem,2vw,1.9rem);line-height:1;color:var(--ouro-titulo);white-space:nowrap;
}
.topo-linha{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:clamp(14px,2vh,22px)}
/* título em duas linhas: a primeira em verde, a segunda em dourado */
.titulo{
  margin:0 0 clamp(18px,2.6vh,26px);font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(2.5rem,4.4vw,4.3rem);line-height:.95;letter-spacing:-.02em;color:var(--foreground);
}
.titulo .t1,.titulo em{display:block}
.titulo em{font-style:italic;color:var(--ouro-titulo)}
.fio-ouro{height:1px;background:var(--accent);opacity:.85;margin-bottom:clamp(18px,2.6vh,26px)}

/* destaque de seção: uma linha em serifada itálica entre dois ornamentos. O fio nasce do
   losango e se dissolve para fora. Nunca pílula nem fundo chapado (decisão do cardápio). */
.destaque-linha{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.6vw,22px);margin:0 0 clamp(26px,4vh,40px)}
.orn{flex:1 1 auto;max-width:120px;height:10px;position:relative}
.orn::before{content:'';position:absolute;top:50%;height:1px;width:calc(100% - 14px);transform:translateY(-50%)}
.orn::after{content:'';position:absolute;top:50%;width:6px;height:6px;background:var(--accent);transform:translateY(-50%) rotate(45deg)}
.orn.e::before{left:0;background:linear-gradient(to right,rgba(194,161,94,0),rgba(194,161,94,.8))}
.orn.d::before{right:0;background:linear-gradient(to left,rgba(194,161,94,0),rgba(194,161,94,.8))}
.orn.e::after{right:0}
.orn.d::after{left:0}
.destaque-txt{
  flex:0 1 auto;text-align:center;font-family:var(--display);font-style:italic;font-weight:500;
  font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.35;color:var(--foreground);
}
/* a frase do pé da página, com o mesmo losango em cima */
.pe-chamada{
  margin:clamp(36px,5vh,56px) auto 0;max-width:34em;text-align:center;
  font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.4;
}
.pe-chamada::before{content:'';display:block;width:7px;height:7px;background:var(--accent);transform:rotate(45deg);margin:0 auto 14px}

/* colunas do cardápio: alinhadas ao topo, a coluna mais curta não estica (decisão travada) */
.colunas-menu{display:grid;grid-template-columns:1fr;gap:clamp(22px,3vh,34px) clamp(28px,3.4vw,48px);align-items:start}
@media (min-width:640px){.colunas-menu{grid-template-columns:1fr 1fr}}
.grupo{margin:0 0 10px;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.2rem,1.5vw,1.4rem);color:var(--verde-ativo)}
/* na home, só o nome do prato: caixa-alta pesada como no PDF, sem o preço */
.nomes{list-style:none;margin:0;padding:0}
.nomes li{
  padding:.62em 0;border-bottom:1px solid var(--border);
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;
}
.nomes li.destaque-item{color:var(--accent-on-light)}
.nomes-linha{display:flex;flex-wrap:wrap;gap:0 22px}
.nomes-linha li{border-bottom:0;padding:.3em 0}
/* lista numerada dos eventos: numeral em serifada dourada, não círculo (decisão travada) */
.lista-simples{list-style:none;margin:0;padding:0;counter-reset:li}
.lista-simples li{
  counter-increment:li;position:relative;padding:.7em 0 .7em 2.4em;border-bottom:1px solid var(--border);
  font-size:.86rem;font-weight:500;line-height:1.35;
}
.lista-simples li::before{
  content:counter(li);position:absolute;left:0;top:.42em;
  font-family:var(--display);font-style:italic;font-size:1.25rem;line-height:1;color:var(--ouro-titulo);
}
/* a lista já fecha com o fio do último item: a nota não leva um segundo fio (decisão travada) */
.grupo-nota{margin:18px 0 0;font-size:.84rem;line-height:1.6;color:var(--muted-foreground)}

/* itens com preço, na página de cada unidade */
.grupo-itens{display:grid;gap:2px}
.item{padding:.75em 0;border-bottom:1px solid var(--border)}
.item h4{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;line-height:1.3}
.item-desc{margin:.35em 0 0;font-size:.84rem;line-height:1.55;color:var(--muted-foreground)}
.item.destaque-item h4{color:var(--accent-on-light)}
/* nome e preço na mesma linha, sem pontilhado entre eles: o espaço fica vazio */
.linha-nome{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.valor{flex:0 0 auto;font-size:.86rem;font-weight:600;white-space:nowrap}
.itens-soltos .item{border-bottom:0;border-top:1px solid var(--border);padding-block:1em}
.precos{display:flex;flex-wrap:wrap;gap:4px 18px;margin:.7em 0 0;padding-top:.6em;border-top:1px solid var(--border)}
.precos span{font-size:.9rem;font-weight:600;white-space:nowrap}
.precos i{font-style:normal;font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin-right:6px}
.preco-unico{margin:.6em 0 0;padding-top:.5em;border-top:1px solid var(--border);font-family:var(--display);font-style:italic;font-size:1.45rem;line-height:1}
/* menu executivo: duas opções fechadas, entrada, principal e sobremesa */
.opcoes{display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,56px)}
@media (min-width:640px){.opcoes{grid-template-columns:1fr 1fr}}
.op-cabeca{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--foreground);padding-bottom:12px;margin-bottom:26px}
.op-cabeca h3{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.op-preco{margin:0;font-family:var(--display);font-style:italic;font-size:1.9rem;line-height:1;color:var(--ouro-titulo)}
.tempo{margin-bottom:24px}
.tempo p{margin:0;font-size:.92rem;line-height:1.65;color:var(--muted-foreground)}
.tempo .t-nome{margin-bottom:6px;font-size:.66rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--verde-ativo)}

/* o ramo como marca d'água, cortado pela borda, no branco que sobra da página */
.marca-dagua{position:absolute;right:-8vw;bottom:-6vh;width:clamp(320px,40vw,620px);height:auto;opacity:.055;pointer-events:none;z-index:0}

/* aba do índice de polegar: a escada colorida da margem do cardápio, uma cor por bloco */
.aba-marcador{
  display:none;position:absolute;right:0;width:40px;height:calc(var(--tela) * .14);margin:0;
  align-items:center;justify-content:center;
}
.aba-marcador span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.62rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
@media (min-width:900px){.aba-marcador{display:flex}.foto-direita .aba-marcador{right:auto;left:0}}
.aba-cafe{background:#3F4F36;color:#F2F2F2;top:calc(var(--tela) * .06)}
.aba-restaurante{background:#22372B;color:#F2F2F2;top:calc(var(--tela) * .21)}
.aba-verao{background:var(--azul);color:#22372B;top:calc(var(--tela) * .36)}
.aba-bar{background:var(--marrom);color:#F2F2F2;top:calc(var(--tela) * .51)}
.aba-levar{background:var(--accent);color:#22372B;top:calc(var(--tela) * .66)}
/* no PDF o texto da aba de eventos é off-white; na tela ele vira verde (2,37:1 contra 4,8:1) */
.aba-eventos{background:var(--sage);color:#22372B;top:calc(var(--tela) * .81)}

/* ---------- Capa da home: a capa do cardápio, sobre a mesa vista de cima ---------- */
.hero{align-items:flex-end;padding:0;overflow:hidden;background:#14201a}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Termina em verde sólido: é o que faz a foto emendar na próxima seção sem deixar
   aquela faixa de foto clara na costura. Mesmo princípio do véu das telas com foto. */
.hero-veu{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(20,32,26,.66) 0%, rgba(20,32,26,.24) 36%,
    rgba(20,32,26,.72) 86%, var(--primary) 100%);
}
.capa-home{align-items:center;justify-content:center}
.capa-home .hero-veu{
  background:
    radial-gradient(ellipse 50% 46% at 50% 48%, rgba(12,20,15,.62), rgba(12,20,15,0) 72%),
    linear-gradient(180deg, rgba(20,32,26,.55) 0%, rgba(20,32,26,.38) 40%, rgba(20,32,26,.7) 84%, var(--primary) 100%);
}
.capa-miolo{position:relative;z-index:1;text-align:center;padding:0 var(--gutter);color:var(--primary-foreground)}
.capa-titulo{margin:0}
.capa-logo{width:clamp(250px,36vw,540px);height:auto;margin:0 auto}
.capa-chamada{
  margin:clamp(22px,3.4vh,34px) auto 0;max-width:30em;opacity:.86;
  font-family:var(--display);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.5;
}
.botao-linha{
  display:inline-flex;align-items:center;gap:12px;margin-top:clamp(28px,4.4vh,44px);padding:14px 28px;
  border:1px solid var(--accent);border-radius:var(--radius);color:var(--primary-foreground);text-decoration:none;
  font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:background .35s,color .35s;
}
.botao-linha:hover{background:var(--accent);color:var(--accent-foreground)}
.botao-linha .ico{transition:transform .3s}
.botao-linha:hover .ico{transform:translateX(4px)}
/* ícone de canal (WhatsApp) vem antes do texto e fica parado: só a seta anda no hover */
.botao-linha:hover .ico-canal{transform:none}
.hero-texto{
  position:relative;width:100%;max-width:var(--faixa);margin-inline:auto;
  padding:0 var(--gutter) clamp(72px,12vh,140px);color:var(--primary-foreground);
}
.hero-titulo{
  font-family:var(--display);font-style:italic;font-weight:400;margin:0 0 28px;
  font-size:clamp(2rem,5.2vw,4.3rem);line-height:1.1;letter-spacing:-.015em;
}
.hero-sub{margin:0;max-width:56ch;font-weight:300;font-size:clamp(.95rem,1.35vw,1.15rem);opacity:.9}
.hero-rolar{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:1px;height:52px;background:rgba(242,242,242,.25);overflow:hidden;z-index:1}
.hero-rolar span{display:block;width:100%;height:18px;background:var(--accent);animation:rolar 2.4s cubic-bezier(.7,0,.3,1) infinite}
@keyframes rolar{0%{transform:translateY(-20px)}100%{transform:translateY(52px)}}

/* ---------- Um restaurante dentro de casa: a página institucional do cardápio ---------- */
.inst{background:var(--primary);color:var(--primary-foreground);overflow:hidden}
.inst .marca-dagua{opacity:.05}
.inst-grade{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:clamp(48px,6vw,110px);align-items:center}
/* minmax(0,…): sem ele o 1fr tem piso no min-content, e a frase do chef, que não quebra,
   alargava a própria coluna e espremia o título em quatro linhas */
@media (min-width:1000px){.inst-grade{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.inst .eyebrow{color:var(--accent);margin-bottom:clamp(14px,2vh,22px)}
.inst .titulo{color:var(--primary-foreground)}
.inst .titulo em{color:var(--accent)}
.inst-texto p:not(.eyebrow){margin:0 0 1.2em;max-width:56ch;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.85;opacity:.9}
.inst-chef{margin:0;text-align:center}
/* a frase do chef em duas linhas fechadas, como no PDF: a quebra vem do JSON */
.cit-chef{margin:0 0 clamp(18px,2.6vh,28px);font-family:var(--script);font-size:clamp(1.35rem,2.1vw,2.05rem);line-height:1.55;color:var(--accent)}
.cit-chef .l{text-wrap:nowrap}
.cit-assinatura{width:clamp(170px,16vw,230px);height:auto;margin:0 auto;opacity:.95}
.inst .premios{margin-top:clamp(36px,5vh,56px);padding-top:0;border-top:0}
.inst .premios-rotulo{color:rgba(242,242,242,.6);text-align:center}
.inst .premios-lista{justify-content:center}
.inst .p-ano{color:var(--accent)}
.inst .p-quem{color:rgba(242,242,242,.65)}
.inst .premios-lista a:hover{background:rgba(242,242,242,.08)}
.inst .link-seta{color:var(--accent)}
/* o chef na home: o retrato de um lado, a frase, a assinatura e o prêmio do outro */
/* os dois anos lado a lado não cabem na coluna da frase: empilhados e centralizados */
.chef-home .premios-lista{grid-template-columns:max-content;justify-content:center;gap:12px}
.chef-home-foto{margin:0}
.chef-home-foto img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:40% 30%;border-radius:clamp(12px,1.4vw,18px)}

/* ---------- Um lugar o dia inteiro: o sumário, que é a linha do tempo do cardápio ---------- */
.sumario-tela{overflow:hidden}
.sumario-pagina{position:relative;z-index:1;max-width:980px}
.sumario{list-style:none;margin:0;padding:0}
.sumario a{
  display:grid;grid-template-columns:clamp(5.6rem,9vw,7.6rem) 1fr auto;align-items:baseline;gap:12px;
  padding:clamp(11px,1.6vh,16px) 6px;border-bottom:1px solid var(--border);text-decoration:none;transition:background .3s;
}
.sumario a:hover{background:rgba(194,161,94,.1)}
.s-hora{font-family:var(--display);font-style:italic;font-size:clamp(1.05rem,1.35vw,1.25rem);color:var(--ouro-titulo)}
.s-nome{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.2}
.s-aba{font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-foreground);text-align:right}

/* ---------- Página dupla do dia: a foto do cardápio de um lado, o conteúdo do outro ----------
   No desktop a foto fica parada enquanto o conteúdo rola ao lado, como virar a página do
   cardápio sem tirar o prato da vista. No celular a foto vem antes, e o conteúdo embaixo. */
.dia{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:var(--background)}
.dia-foto{margin:0;position:relative;overflow:hidden;background:#0b0f0c;height:calc(var(--tela) * .64)}
/* só a foto: a assinatura do chef também é <img>, dentro da legenda, e não pode esticar */
.dia-foto > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.veu-foto{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 54%,rgba(0,0,0,.72) 100%)}
/* legenda como no PDF: descrição em serifada, nome do prato em caixa-alta dourada e,
   ao lado, a assinatura do chef sobre a foto (regra do cardápio: nunca sai da foto) */
.f-legenda-bloco{
  position:absolute;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);bottom:clamp(22px,4vh,48px);z-index:1;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:var(--primary-foreground);
}
.f-prato{min-width:0;max-width:34em}
.f-desc{margin:0 0 .75rem;font-family:var(--display);font-style:italic;font-size:clamp(1.05rem,1.45vw,1.32rem);line-height:1.3;opacity:.92}
.f-nome{margin:0;color:var(--accent);font-size:.76rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;line-height:1.3}
.f-legenda{margin:0;font-size:.66rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;opacity:.75}
.f-firma{flex:0 0 auto;width:clamp(96px,9vw,132px);height:auto;opacity:.85}
.dia-texto{
  position:relative;
  padding:clamp(56px,9vh,104px) clamp(28px,5.4vw,96px) clamp(56px,8vh,96px) clamp(24px,4.4vw,76px);
}
.dia-texto > :not(.aba-marcador){position:relative;z-index:1}
@media (min-width:900px){
  .dia{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .dia-foto{position:sticky;top:env(safe-area-inset-top,0px);height:var(--tela)}
  .dia.foto-direita .dia-foto,.dia.foto-direita .dia-fotos{order:2}
  .dia-texto{min-height:var(--tela);display:flex;flex-direction:column;justify-content:center}
}
/* seção com duas fotos (o PDF abre e fecha com prato): as fotos passam, o conteúdo segura */
.dia-fotos{display:grid}
@media (min-width:900px){.dia.duas-fotos .dia-foto{position:relative}.dia.duas-fotos .dia-texto{position:sticky;top:0}}
/* seção sem foto: uma página de conteúdo inteira, no centro */
.dia.sem-foto{grid-template-columns:minmax(0,1fr)}
.dia.sem-foto .dia-texto{max-width:1080px;margin-inline:auto;width:100%;padding-inline:var(--gutter)}
/* sub-bloco: o menu executivo, o leve e gelado e os três do para levar */
.sub-bloco{margin-top:clamp(34px,5vh,52px);padding-top:clamp(24px,3.4vh,34px);border-top:1px solid var(--border)}
.sub-titulo{margin:0 0 14px;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.05}
.sub-texto{margin:0 0 14px;font-family:var(--display);font-style:italic;font-size:1.05rem;color:var(--muted-foreground)}
.sub-bloco .topo-linha{margin-bottom:6px}
.sub-bloco .destaque-linha{justify-content:flex-start;margin-bottom:22px}
.sub-bloco .destaque-linha .orn.e{display:none}
/* para levar: a abertura de bloco do PDF, em dourado, no alto da página de conteúdo */
.levar-abertura{background:var(--accent);color:var(--accent-foreground);padding:clamp(26px,3.6vh,40px) clamp(24px,2.6vw,40px);margin-bottom:6px}
.levar-abertura .titulo{margin-bottom:12px;color:var(--accent-foreground)}
.levar-abertura p{margin:0;max-width:44ch;line-height:1.7}
.para-levar .sub-bloco:first-of-type{border-top:0;margin-top:clamp(24px,3vh,34px)}
/* eventos: a abertura tipográfica do PDF, em verde sage, ao lado da página de conteúdo */
.eventos-abertura{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:var(--sage);color:var(--foreground);text-align:center;min-height:calc(var(--tela) * .6);padding:48px var(--gutter);
}
@media (min-width:900px){.eventos-abertura{position:sticky;top:0;height:var(--tela)}}
.eventos-abertura .hora{color:var(--foreground);font-size:clamp(1.4rem,1.8vw,1.7rem)}
.abertura-h{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(3rem,6vw,5.4rem);line-height:1}
.eventos-abertura .destaque-linha{margin:14px 0 0}
.eventos-abertura .orn::after{background:var(--foreground)}
.eventos-abertura .orn.e::before{background:linear-gradient(to right,rgba(34,55,43,0),rgba(34,55,43,.6))}
.eventos-abertura .orn.d::before{background:linear-gradient(to left,rgba(34,55,43,0),rgba(34,55,43,.6))}

/* ---------- Pratos do chef: a galeria no padrão "Get the highlights" da Apple ----------
   Cartão central inteiro, vizinhos aparecendo nas bordas. Sem JS a galeria é uma faixa
   que rola de lado; com JS ela anda sozinha e o ponto ativo vira uma barra de progresso.
   A barra é o relógio: quando ela enche, o JS passa para o próximo cartão. Pausar a
   animação dela pausa a galeria inteira, sem timer paralelo para dessincronizar.
   Cada cartão é uma página dupla em miniatura: foto do prato e, ao lado, o texto. */
.dq{
  --dq-w:min(1120px,84vw); --dq-h:min(calc(var(--tela) * .62),640px); --dq-tempo:6.5s;
  flex-direction:column;justify-content:center;align-items:stretch;gap:clamp(26px,3.6vh,40px);
  background:#121c16;color:var(--primary-foreground);padding-block:clamp(56px,8vh,96px);
}
@media (max-width:760px){.dq{--dq-w:88vw;--dq-h:calc(var(--tela) * .74)}}
.dq > .faixa{max-width:var(--dq-w);padding-inline:0}
.pratos-cabeca .titulo{color:var(--primary-foreground)}
.pratos-cabeca .titulo em{color:var(--accent)}
.pratos-cabeca .eyebrow{color:rgba(242,242,242,.7)}
.pratos-cabeca .hora{color:var(--accent)}
.pratos-cabeca .destaque-txt{color:var(--primary-foreground)}
.pratos-cabeca .destaque-linha{justify-content:flex-start;margin:0}
.pratos-cabeca .destaque-linha .orn.e{display:none}
.dq-trilho{
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  scrollbar-width:none;outline-offset:-3px;
}
.dq-trilho::-webkit-scrollbar{display:none}
.dq-lista{
  list-style:none;margin:0;display:flex;gap:clamp(12px,1.4vw,22px);
  padding:0 calc((100vw - var(--dq-w)) / 2);width:max-content;
}
.dq-cartao{
  position:relative;flex:0 0 var(--dq-w);height:var(--dq-h);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  border-radius:clamp(14px,1.6vw,22px);overflow:hidden;scroll-snap-align:center;background:#0b120e;
}
.dq-foto{position:relative;overflow:hidden}
.dq-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 7s cubic-bezier(.2,.6,.3,1)}
/* O cartão ativo assenta devagar: a foto se move enquanto o texto entra */
.dq-cartao.ativo .dq-foto img{transform:scale(1)}
.dq-texto{
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;
  padding:clamp(26px,4vw,64px);background:linear-gradient(160deg,#16231b,#0b120e);transition:opacity .5s;
}
.dq-texto .f-desc{font-size:clamp(1.15rem,1.9vw,1.75rem);line-height:1.3;max-width:24ch;margin-bottom:1rem}
.dq-texto .f-firma{margin-top:clamp(18px,3vh,30px);width:clamp(110px,10vw,150px)}
@media (max-width:760px){
  .dq-cartao{grid-template-columns:1fr;grid-template-rows:minmax(0,1.25fr) auto}
  .dq-texto{padding:22px 22px 26px;justify-content:flex-start}
  .dq-texto .f-desc{font-size:1.05rem}
  .dq-texto .f-firma{margin-top:12px}
}
/* Só o cartão ativo mostra o texto, e só depois que o JS assumiu a galeria */
.dq-pronta .dq-cartao:not(.ativo) .dq-texto{opacity:.25}

.dq-controles{display:none;justify-content:center;align-items:center;gap:14px}
.dq-pronta .dq-controles{display:flex}
.dq-pontos{
  display:flex;align-items:center;height:56px;padding-inline:14px;border-radius:999px;
  background:rgba(242,242,242,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
/* Alvo de toque de 24px em volta de uma marca de 8px (WCAG 2.5.8) */
.dq-ponto{display:grid;place-items:center;height:24px;min-width:24px;padding:0 4px;background:none;border:0;cursor:pointer;color:inherit}
.dq-marca{position:relative;display:block;width:8px;height:8px;border-radius:999px;overflow:hidden;background:rgba(242,242,242,.42);transition:width .4s cubic-bezier(.4,0,.2,1)}
.dq-ponto[aria-current="true"] .dq-marca{width:48px;background:rgba(242,242,242,.28)}
.dq-marca i{position:absolute;inset:0;background:var(--primary-foreground);transform-origin:left;transform:scaleX(0)}
.dq-ponto[aria-current="true"] .dq-marca i{animation:dq-progresso var(--dq-tempo) linear forwards;animation-play-state:paused}
.dq.rodando .dq-ponto[aria-current="true"] .dq-marca i{animation-play-state:running}
@keyframes dq-progresso{to{transform:scaleX(1)}}
.dq-pausa{
  display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(242,242,242,.1);color:var(--primary-foreground);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.dq-pausa .ico{vertical-align:0}
.dq-pausa .ico-tocar,.dq-pausa[aria-pressed="true"] .ico-pausa{display:none}
.dq-pausa[aria-pressed="true"] .ico-tocar{display:block}
.dq-ponto:hover .dq-marca{background:rgba(242,242,242,.7)}
.dq-pausa:hover{background:rgba(242,242,242,.18)}

/* Galeria de benefícios (Para condomínios): o cartão de foto inteira, com a frase em cima */
.dq-beneficios .dq-cartao{display:block}
.dq-beneficios .dq-cartao > img{width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 7s cubic-bezier(.2,.6,.3,1)}
.dq-beneficios .dq-cartao.ativo > img{transform:scale(1)}
.dq-beneficios .dq-cartao::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,14,10,.82) 0%,rgba(8,14,10,.38) 30%,rgba(8,14,10,0) 58%);
}
.dq-beneficios .dq-texto{
  position:absolute;z-index:1;top:clamp(26px,6%,64px);left:0;right:0;display:block;
  padding:0 clamp(20px,6%,80px);text-align:center;background:none;
}
.dq-beneficios .dq-texto p{
  margin:0 auto;max-width:19ch;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(1.4rem,2.8vw,2.5rem);line-height:1.15;letter-spacing:-.01em;text-wrap:balance;
}
.dq-beneficios.dq-pronta .dq-cartao:not(.ativo) .dq-texto{opacity:0}
.dq-cartao img.dq-foco-alto{object-position:50% 16%}

/* ---------- Onde estamos: as três unidades, cada uma abre o próprio cardápio ---------- */
.onde-estamos{overflow:hidden}
.onde-estamos > .faixa{position:relative;z-index:1}
.unidades-grade{list-style:none;margin:clamp(40px,6vh,64px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:clamp(18px,2.4vw,36px)}
@media (min-width:820px){.unidades-grade{grid-template-columns:repeat(3,1fr)}}
/* o cardápio é um só, no botão abaixo; desde 14/10/2026 cada unidade leva à página Unidades */
.unidade{
  display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  padding:clamp(28px,3.4vw,44px) clamp(18px,2vw,28px) 0;border-top:1px solid var(--accent);
}
/* o campo de linhas tem a mesma largura nos três logos: largura igual e base alinhada */
.unidade-logo-caixa{display:flex;align-items:flex-end;justify-content:center;width:100%;height:clamp(120px,11vw,150px)}
.unidade-logo{width:min(100%,250px);height:auto;max-height:100%}
.unidade-cidade{font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-foreground)}
.onde-acao{margin:clamp(40px,6vh,64px) 0 0;text-align:center}
/* Na home o cartão inteiro é o link para a página Unidades (14/10/2026) */
.unidade-link{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;text-decoration:none;color:inherit}
.unidade-link .unidade-logo{transition:transform .5s cubic-bezier(.2,.6,.3,1)}
.unidade-link:hover .unidade-logo{transform:translateY(-4px)}
.unidade-link:hover .unidade-cidade{color:var(--foreground)}

/* ---------- Página Unidades: a mesma grade, sobre o verde ---------- */
.unidades-pagina{overflow:hidden}
.unidades-pagina > .faixa{position:relative;z-index:1}
.escura .unidade-cidade{color:rgba(242,242,242,.7)}
/* só a unidade com subdomínio tem botão; as outras terminam na cidade */
.unidade-acao{margin-top:6px}

/* ---------- Página da unidade, no subdomínio dela ---------- */
.unidade-capa{justify-content:center;text-align:center}
.unidade-capa-titulo{margin:0}
/* o lockup do The Garden é largo (1150 x 361): pouco mais da metade da tela no desktop,
   quase a largura toda no celular */
.unidade-capa-logo{width:min(100%,clamp(280px,56vw,820px));height:auto;margin:0 auto}
/* As entradas fecham a página: altura do conteúdo, colada no rodapé. Pouco espaço em cima,
   porque a metade de baixo da capa, com o lockup centrado, já é o respiro */
.unidade-acessos{text-align:center;padding-block:clamp(16px,3vh,32px) clamp(24px,4vh,48px)}
.acesso-morador{
  display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(16px,2.4vw,28px);
  width:min(100%,460px);padding:22px clamp(20px,2.4vw,28px);text-align:left;text-decoration:none;
  color:var(--primary-foreground);border:1px solid var(--accent);border-radius:var(--radius);transition:background .35s,color .35s;
}
/* flex 1 1 auto: no WebKit o texto do item flex nascia com a largura mínima e quebrava palavra por palavra */
.acesso-texto{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0}
.acesso-nome{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1}
.acesso-linha{font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.acesso-morador .ico{flex:none;transition:transform .3s}
a.acesso-morador:hover{background:var(--accent);color:var(--accent-foreground)}
a.acesso-morador:hover .ico{transform:translateX(4px)}
.acesso-equipe{margin:clamp(24px,3.4vh,34px) 0 0;font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(242,242,242,.66)}
.acesso-equipe-link{color:var(--primary-foreground);text-decoration:none;border-bottom:1px solid rgba(194,161,94,.6);padding-bottom:2px}
a.acesso-equipe-link:hover{border-bottom-color:var(--accent)}
/* sem endereço da plataforma (produção, hoje) a entrada aparece, mas não é link */
.sem-link{cursor:default}
/* Rodapé curto da página da unidade: a marca do Moratta, que leva ao site, e a linha do fim */
.rodape-curto{padding-top:clamp(32px,5vh,56px)}
.rodape-curto-marca{display:flex;justify-content:center}
.rodape-curto .rodape-logo{width:168px}
.rodape-curto .rodape-fim{margin-top:clamp(24px,4vh,40px)}
/* o botão de contorno sobre o papel bege: texto verde, e o dourado vira fundo no hover */
.botao-linha.claro{color:var(--foreground);margin-top:0}
.cardapio-escolha{padding-top:calc(var(--topo-h) + clamp(32px,5vh,64px))}

/* ---------- Faixa de condomínio e franquia, no fim da home ---------- */
.faixa-b2b{
  background:linear-gradient(to bottom,var(--background) 0,var(--primary) clamp(70px,9vh,140px));
  color:var(--primary-foreground);padding-block:clamp(110px,15vh,170px) clamp(40px,6vh,64px);
}
.faixa-b2b-grade{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:20px 48px}
.faixa-b2b-titulo{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15}
.faixa-b2b-links{display:flex;flex-wrap:wrap;gap:14px 34px;margin:0}
.faixa-b2b-links a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid rgba(194,161,94,.5);padding-bottom:4px}
.faixa-b2b-links a:hover{border-bottom-color:var(--accent)}
.faixa-b2b-links .ico{transition:transform .3s}
.faixa-b2b-links a:hover .ico{transform:translateX(4px)}

/* ---------- Página do cardápio de uma unidade ---------- */
.cardapio-capa{background:var(--primary);color:var(--primary-foreground);min-height:calc(var(--tela) * .8);align-items:center;text-align:center}
.cardapio-titulo{margin:0}
.cardapio-logo{width:clamp(240px,32vw,440px);height:auto;margin:0 auto}
.cardapio-chamada{margin:clamp(22px,3.4vh,32px) auto 0;max-width:30em;opacity:.82;font-family:var(--display);font-style:italic;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.5}
/* as abas do índice de polegar viram a barra que acompanha a rolagem */
.abas{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:45;display:flex;align-items:center;gap:16px;height:56px;padding-inline:var(--gutter);
  background:rgba(34,55,43,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--primary-foreground);
  border-bottom:1px solid rgba(242,242,242,.12);
}
.abas-marca{flex:0 0 auto;display:flex}
.abas-marca img{width:22px;height:auto;opacity:.9}
.abas-trilho{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto}
.abas-trilho::-webkit-scrollbar{display:none}
.aba-link{
  flex:0 0 auto;display:flex;align-items:center;height:56px;padding:0 14px;text-decoration:none;white-space:nowrap;
  font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.78;
  background:none;color:inherit;position:relative;top:auto;
}
.aba-link::after{content:'';position:absolute;left:14px;right:14px;bottom:0;height:3px;background:transparent;transition:background .3s}
.aba-link:hover,.aba-link[aria-current="true"]{opacity:1}
.aba-link.aba-cafe::after{--c:#87A96B}
.aba-link.aba-restaurante::after{--c:var(--accent)}
.aba-link.aba-verao::after{--c:var(--azul)}
.aba-link.aba-bar::after{--c:#C08B62}
.aba-link.aba-levar::after{--c:var(--accent)}
.aba-link.aba-eventos::after{--c:var(--sage)}
.aba-link:hover::after,.aba-link[aria-current="true"]::after{background:var(--c)}
/* as cores de fundo das abas não valem dentro da barra: lá a aba é texto sobre o verde */
.abas .aba-link{background:none;color:var(--primary-foreground)}
/* abertura de bloco do PDF (verão, para levar, eventos): uma faixa na cor da aba */
.abertura-bloco{padding:clamp(56px,9vh,96px) var(--gutter);text-align:center;color:var(--foreground)}
.abertura-bloco .abertura-p{margin:14px auto 0;max-width:44ch;line-height:1.7}
.aba-fundo-verao{background:var(--azul)}
.aba-fundo-levar{background:var(--accent)}
.aba-fundo-eventos{background:var(--sage)}
.aba-fundo-cafe,.aba-fundo-restaurante,.aba-fundo-bar{background:var(--primary);color:var(--primary-foreground)}
.abas ~ .dia + .dia,.abas ~ .abertura-bloco + .dia{border-top:1px solid var(--border)}
/* Fecho do cardápio: logo e contatos descem colados no rodapé, sem altura de tela (Gabriel,
   14/10/2026: não precisa ser uma página à parte). O vão até o rodapé é o padding de baixo
   daqui mais o padding de cima do .rodape. */
.cardapio-contra{background:var(--primary);color:var(--primary-foreground);text-align:center;min-height:0;padding-block:clamp(72px,10vh,112px) clamp(8px,2vh,24px)}
.contra-logo{width:clamp(200px,24vw,320px);height:auto;margin:0 auto}
.contra-fio{width:120px;height:1px;background:var(--accent);margin:clamp(28px,4vh,44px) auto}
.horarios{max-width:440px;margin:0 auto 32px;text-align:left}
.hora-linha{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(242,242,242,.2)}
.hora-linha dt{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.hora-linha dd{margin:0;font-size:.86rem;opacity:.86}
.contra-contato{display:flex;justify-content:center;gap:32px;margin:0;font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.contra-contato a{text-decoration:none;border-bottom:1px solid rgba(194,161,94,.6);padding-bottom:3px;white-space:nowrap}
/* No celular os dois lado a lado não cabem e o telefone partia no hífen, em três linhas: um embaixo do outro */
@media (max-width:560px){.contra-contato{flex-direction:column;align-items:center;gap:18px}}

/* ---------- Tipografia comum das páginas internas ---------- */
.rotulo{
  font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;
  color:var(--verde-ativo);margin:0 0 28px;
}
.rotulo.dourado{color:var(--accent-on-light)}
.rotulo::before{content:'';display:inline-block;width:26px;height:1px;background:var(--accent);vertical-align:.32em;margin-right:12px}
.grande,.medio{font-family:var(--display);font-style:italic;font-weight:400;letter-spacing:-.015em;margin:0}
.grande{font-size:clamp(2rem,5.4vw,4.5rem);line-height:1.1}
.medio{font-size:clamp(1.65rem,3.4vw,2.9rem);line-height:1.16}
.centrado{text-align:center;margin-inline:auto;max-width:30em}
.nota{color:var(--muted-foreground);max-width:62ch;font-size:.95rem}

/* ---------- Problema e proposta (Para condomínios, desde 13/10/2026) ---------- */
.problema{background:var(--primary);color:var(--primary-foreground)}
.problema .rotulo{color:rgba(242,242,242,.66)}
.problema-corpo{margin-top:clamp(40px,6vh,64px);max-width:64ch;display:grid;gap:28px}
.problema-corpo p{margin:0;font-weight:300;font-size:clamp(1rem,1.5vw,1.22rem);opacity:.88}
.problema-corpo .lista-seca{display:flex;flex-wrap:wrap;gap:10px 0;opacity:1}
.lista-seca span{
  font-size:.82rem;letter-spacing:.04em;padding:7px 16px;margin-right:10px;
  border:1px solid rgba(242,242,242,.22);border-radius:999px;white-space:nowrap;
}
.solucao{display:grid;grid-template-columns:1fr;padding:0;align-items:stretch}
@media (min-width:900px){.solucao{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.solucao-texto{display:flex;flex-direction:column;justify-content:center;padding:clamp(72px,10vh,120px) var(--gutter)}
@media (min-width:900px){
  .solucao-texto{
    padding-inline-start:max(var(--gutter),calc((100vw - var(--faixa)) / 2 + var(--gutter)));
    padding-inline-end:clamp(40px,4vw,64px);
  }
}
.solucao .medio{font-size:clamp(1.45rem,2.05vw,2.1rem)}
.destaque{color:var(--accent-on-light);font-style:italic}
.itens{list-style:none;margin:40px 0 0;padding:0;max-width:34em}
.itens li{padding:15px 0 15px 30px;border-top:1px solid var(--border);position:relative;font-size:.96rem}
.itens li:last-child{border-bottom:1px solid var(--border)}
.itens li::before{content:'';position:absolute;left:4px;top:24px;width:9px;height:1px;background:var(--accent-on-light)}
.solucao .nota{margin:28px 0 0;max-width:34em}
.solucao-foto{margin:0;position:relative;min-height:calc(var(--tela) * .56);overflow:hidden}
@media (min-width:900px){.solucao-foto{min-height:0}}
.solucao-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media (max-width:899px){.solucao-foto{order:-1}}
.solucao-foto::after{content:'';position:absolute;inset:0 0 auto;height:clamp(70px,9vh,140px);z-index:1;pointer-events:none}
.problema + .solucao .solucao-foto::after{background:linear-gradient(to bottom,var(--primary),transparent)}
@media (max-width:899px){.solucao-foto::after{display:none}}

/* ---------- Manifesto e prêmios ---------- */
.manifesto{
  font-family:var(--display);font-style:italic;font-weight:400;color:var(--primary);margin:0;
  font-size:clamp(1.55rem,3.2vw,2.7rem);line-height:1.22;letter-spacing:-.012em;
}
.manifesto-sub{margin:28px 0 0;font-weight:300;font-size:clamp(1rem,1.5vw,1.25rem)}
.manifesto-sub strong{font-weight:500}
.premios{margin-top:clamp(48px,7vh,84px);padding-top:28px;border-top:1px solid var(--border)}
.premios-rotulo{
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;
  color:var(--muted-foreground);margin:0 0 22px;
}
.premios-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:22px clamp(24px,5vw,72px)}
@media (min-width:720px){.premios-lista{grid-template-columns:repeat(2,max-content)}}
.premios-lista li{display:grid}
.premios-lista a{
  display:grid;grid-template-columns:auto auto;column-gap:18px;align-items:center;justify-content:start;
  text-decoration:none;padding:6px 10px;margin-inline:-10px;border-radius:var(--radius);transition:background .3s;text-align:left;
}
.premios-lista a:hover{background:rgba(127,101,48,.09)}
.premios-lista a:hover .p-cat{text-decoration:underline;text-underline-offset:3px}
.escura .premios-lista a:hover{background:rgba(242,242,242,.08)}
.p-ano{grid-row:span 2;font-family:var(--display);font-style:normal;font-size:clamp(2.3rem,4vw,3.3rem);line-height:1;color:var(--accent-on-light)}
.p-cat{font-weight:500;font-size:.95rem}
.p-quem{color:var(--muted-foreground);font-size:.86rem}

/* Citação longa em itálico, reservada para as páginas internas */
.citacao{
  font-family:var(--display);font-weight:400;font-style:italic;margin:0;
  font-size:clamp(1.3rem,2.7vw,2.15rem);line-height:1.36;letter-spacing:-.01em;
}
.link-seta{
  display:inline-flex;align-items:center;gap:9px;margin-top:32px;
  text-decoration:none;font-weight:500;font-size:.9rem;color:var(--accent-on-light);
  border-bottom:1px solid currentColor;padding-bottom:3px;
}
.link-seta .ico{transition:transform .3s}
.link-seta:hover .ico{transform:translateX(4px)}

/* ---------- Páginas internas ----------
   Mesmo vocabulário da home: telas inteiras, um bloco animado por tela, verde e papel bege
   alternando. As frases do site atual são longas, então o título do topo das internas é
   menor que o da home. */
.hero-interno .hero-titulo{font-size:clamp(1.75rem,3.5vw,3rem);max-width:27ch;text-wrap:balance}
.hero .rotulo{color:rgba(242,242,242,.72)}
.suave{background:var(--muted)}
.escura{background:var(--primary);color:var(--primary-foreground)}
.escura .rotulo{color:rgba(242,242,242,.66)}
.escura .manifesto{color:var(--primary-foreground)}
.escura .manifesto-sub{opacity:.88}
.texto-corrido{margin:28px 0 0;max-width:62ch;font-weight:300;font-size:clamp(1rem,1.5vw,1.2rem)}
.frase-forte{margin:32px 0 0;font-family:var(--display);font-size:clamp(1.3rem,2.3vw,1.9rem);line-height:1.3;color:var(--accent-on-light);font-style:italic;max-width:46ch;text-wrap:balance}
.escura .frase-forte{color:var(--accent)}

/* Lista numerada: o que a marca faz, etapas de suporte */
.lista-num{list-style:none;margin:clamp(28px,4vh,44px) 0 0;padding:0;counter-reset:n;max-width:56em}
.lista-num li{
  counter-increment:n;display:grid;grid-template-columns:3.4rem 1fr;align-items:baseline;
  padding:clamp(14px,2.2vh,22px) 0;border-top:1px solid var(--border);
  font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.25;
}
.lista-num li:last-child{border-bottom:1px solid var(--border)}
.lista-num li::before{content:counter(n);font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--ouro-titulo)}
.lista-num-rotulo{margin:36px 0 12px;color:var(--muted-foreground)}

/* Tela dividida: ideia à esquerda, lista à direita. Cabe numa tela o que empilhado passaria */
.dividida{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,100px);align-items:center}
@media (min-width:980px){.dividida{grid-template-columns:1.05fr .95fr}.dividida .lista-num-rotulo{margin-top:0}}

/* Duas colunas: benefícios, diferenciais e suporte */
.colunas{display:grid;grid-template-columns:1fr;gap:clamp(44px,6vw,110px)}
@media (min-width:880px){.colunas{grid-template-columns:1fr 1fr}}
.coluna-titulo{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.2;margin:0}
.coluna-lede{margin:12px 0 0;color:var(--muted-foreground)}
.coluna .itens{margin-top:26px;max-width:none}

/* Retratos do chef: o segundo entra deslocado, como foto sobre foto na mesa.
   Fotos do site do Prêmio Revista Sabores do Sul; ver a ressalva de origem no LEIA-ME. */
.chef{margin:0;position:relative;padding-bottom:clamp(52px,7vw,86px)}
.chef img{border-radius:clamp(10px,1.2vw,16px);display:block}
.chef-a{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:50% 32%}
.chef-b{
  position:absolute;right:0;bottom:0;width:clamp(120px,26%,190px);
  aspect-ratio:2/3;object-fit:cover;object-position:50% 28%;
  border:5px solid var(--background);box-shadow:0 10px 30px rgba(26,26,26,.14);
}
.chef figcaption{margin-top:16px;max-width:30ch;font-size:.82rem;color:var(--muted-foreground)}
@media (max-width:979px){
  .chef{padding-bottom:clamp(40px,12vw,70px)}
  .chef-b{width:clamp(110px,30%,160px)}
}

/* Frase de impacto centrada, uma ideia por tela */
.declaracao{text-align:center}
.declaracao .grande{margin-inline:auto;font-size:clamp(1.9rem,4.4vw,3.6rem)}
.declaracao .grande .l{text-wrap:balance}

/* Chamada final, com o único botão cheio do site */
.chamada{text-align:center}
.chamada .grande{margin-inline:auto;max-width:22ch;text-wrap:balance}
.chamada .texto-corrido{margin-inline:auto;max-width:46ch}
.botao{
  display:inline-flex;align-items:center;gap:10px;margin-top:40px;padding:16px 30px;border:0;cursor:pointer;
  border-radius:var(--radius);background:var(--accent);color:var(--accent-foreground);
  font:inherit;font-weight:500;text-decoration:none;transition:filter .3s;
}
.botao:hover{filter:brightness(1.08)}
.botao .ico{transition:transform .3s}
.botao:hover .ico{transform:translateX(4px)}

/* ---------- Contato ---------- */
.contato{background:var(--primary);color:var(--primary-foreground);padding-top:calc(var(--topo-h) + clamp(32px,5vh,64px))}
.contato-grade{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,100px);align-items:center}
@media (min-width:960px){.contato-grade{grid-template-columns:.85fr 1.15fr}}
.contato-canais{display:grid;gap:14px;margin-top:36px}
.contato-canais a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;opacity:.88;width:max-content}
.contato-canais a:hover{opacity:1}
.form{
  display:grid;gap:18px;background:var(--background);color:var(--foreground);
  border-radius:clamp(14px,1.6vw,22px);padding:clamp(24px,3.4vw,44px);
}
.form-linha{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:560px){.form-linha{grid-template-columns:1fr 1fr}}
.campo{display:grid;gap:7px}
.campo label{font-size:.82rem;font-weight:500}
.campo input,.campo textarea{
  width:100%;font:inherit;color:inherit;background:#fff;
  border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;
}
.campo textarea{min-height:132px;resize:vertical}
.campo input:focus-visible,.campo textarea:focus-visible{outline:2px solid var(--accent-on-light);outline-offset:1px}
.form-nota{margin:0;font-size:.8rem;color:var(--muted-foreground)}
.form-nota a{color:var(--accent-on-light)}
.form .botao{margin-top:4px;justify-self:center}
.form-erro{margin:0;background:#FBEDEA;color:#8A2C1B;border-radius:var(--radius);padding:12px 14px;font-size:.9rem}
/* Isca para robô: fora da tela para gente, preenchível para script */
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Documento legal ----------
   Página para ler, não para rolar por telas: coluna estreita, hierarquia clara e o
   resto do site continuando em volta. O cabeçalho não ocupa tela inteira. */
.cabecalho-doc{min-height:0;padding-block:calc(var(--topo-h) + clamp(44px,7vh,86px)) clamp(44px,7vh,86px)}
/* Documento longo, sem barra contextual: o menu acompanha a rolagem em vez de sumir. A
   política tem 4,7 telas, e com o .topo absolute quem lia o fim ficava sem navegação
   nenhuma até o rodapé. Ganha o mesmo fundo da .barra porque o menu é claro e, passado o
   cabeçalho escuro, ele cairia sobre o fundo claro do documento. */
body.topo-fixo .topo{
  position:fixed;height:calc(var(--barra-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);
  background:rgba(34,55,43,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(242,242,242,.12);
}
body.topo-fixo .topo-logo{width:118px}
.documento{padding-block:clamp(56px,8vh,96px)}
.documento h2{
  font-family:var(--display);font-style:italic;font-weight:400;letter-spacing:-.01em;
  font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.25;
  margin:clamp(40px,5vh,60px) 0 14px;padding-top:clamp(24px,3vh,34px);
  border-top:1px solid var(--border);
}
.documento h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.documento p,.documento li{max-width:68ch;font-size:clamp(.95rem,1.2vw,1.05rem)}
.documento p{margin:0 0 14px}
.documento ul{margin:0 0 18px;padding-left:0;list-style:none;display:grid;gap:9px}
.documento li{position:relative;padding-left:26px}
.documento li::before{content:'';position:absolute;left:2px;top:.72em;width:10px;height:1px;background:var(--accent-on-light)}
.documento a{color:var(--accent-on-light);text-underline-offset:3px}
.documento strong{font-weight:600}
.doc-fecho{margin-top:clamp(40px,5vh,60px);padding-top:26px;border-top:1px solid var(--border);color:var(--muted-foreground)}
/* Dado que ainda depende do Moratta: aparece marcado, para ninguém publicar sem ver */
.pendente{
  background:#FBE9C8;color:#6B4A12;border-radius:3px;padding:1px 7px;
  font-size:.86em;font-weight:600;white-space:nowrap;
}

/* ---------- Páginas de aviso (obrigado, 404) ---------- */
.aviso .medio{max-width:22ch}
.aviso-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:36px}
.aviso-links a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;opacity:.88}
.aviso-links a:hover{opacity:1}

/* ---------- Tela com foto no fundo ----------
   Texto sobre foto, no lugar de texto sobre cor chapada. O véu escurece o bastante para
   o texto ficar legível e TERMINA em verde sólido: assim a tela emenda sem costura na
   próxima, e a última de cada página emenda no rodapé, que é do mesmo verde. */
.com-foto{
  color:var(--primary-foreground);background:var(--primary);overflow:hidden;
  /* Os tokens claros são remapeados aqui, e não classe por classe: qualquer elemento
     que entrar nesta tela depois já nasce legível sobre foto escura. */
  --accent-on-light:var(--accent);
  --ouro-titulo:var(--accent);
  --muted-foreground:rgba(242,242,242,.76);
  --border:rgba(242,242,242,.24);
  --background:var(--primary);
}
.fundo{position:absolute;inset:0;z-index:0;pointer-events:none}
.fundo picture,.fundo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fundo-veu{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    var(--primary) 0%, rgba(34,55,43,.72) 14%, rgba(34,55,43,.52) 46%,
    rgba(34,55,43,.74) 86%, var(--primary) 100%);
}
/* Tela de frase centrada: o texto miúdo cai sobre qualquer parte da foto, então uma
   sombra suave no meio garante a leitura sem escurecer a foto inteira. */
.com-foto.chamada .fundo-veu,.com-foto.declaracao .fundo-veu{
  background:
    radial-gradient(ellipse 58% 40% at 50% 50%, rgba(10,17,13,.6), transparent 72%),
    linear-gradient(180deg,
      var(--primary) 0%, rgba(34,55,43,.72) 14%, rgba(34,55,43,.52) 46%,
      rgba(34,55,43,.74) 86%, var(--primary) 100%);
}
/* Tela de texto longo sobre foto: a foto vira textura, não assunto. Sem isto o texto
   disputa com o prato e o dourado desaparece (apontado pelo Gabriel em 14/09/2026). */
.com-foto.densa .fundo-veu{
  background:linear-gradient(180deg,
    var(--primary) 0%, rgba(28,46,36,.93) 16%, rgba(28,46,36,.88) 50%,
    rgba(28,46,36,.93) 84%, var(--primary) 100%);
}
.com-foto .rotulo{color:rgba(242,242,242,.72)}
.com-foto .rotulo.dourado{color:var(--accent)}
.com-foto .frase-forte,.com-foto .destaque{color:var(--accent)}
.com-foto .texto-corrido,.com-foto .nota{color:rgba(242,242,242,.85)}
.com-foto .manifesto{color:var(--primary-foreground)}
.com-foto .premios-lista a:hover{background:rgba(242,242,242,.08)}

/* ---------- Passagem de cor entre telas ----------
   Corte seco entre verde e claro ficava duro em todas as páginas (13/09/2026). A cor da
   tela anterior escorre alguns centímetros para dentro da seguinte, e o encontro some.
   Cada tela é pintada pela cor de quem vem ANTES dela, por isso o seletor irmão `+`. */
.tela + .tela::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:clamp(70px,9vh,140px);pointer-events:none;z-index:0;
}
/* O conteúdo fica acima da faixa de passagem. A foto de fundo fica de fora: ela é
   absoluta por definição, e virar relative a jogaria para dentro do fluxo. */
.tela + .tela > :not(.fundo):not(.marca-dagua){position:relative;z-index:1}
.problema + .tela::before,.portas + .tela::before,.escura + .tela::before,.inst + .tela::before,
.contato + .tela::before,.com-foto + .tela::before,.cardapio-capa + .tela::before{
  background:linear-gradient(to bottom,var(--primary),transparent)
}
.dq + .tela::before{background:linear-gradient(to bottom,#121c16,transparent)}
.hero + .tela::before{background:linear-gradient(to bottom,var(--primary),transparent)}
.suave + .tela::before{background:linear-gradient(to bottom,var(--muted),transparent)}
/* Telas claras: tudo o que não está nomeado acima, nem o hero, que é foto e não cor chapada */
.tela:not(.problema):not(.portas):not(.escura):not(.contato):not(.dq):not(.suave):not(.hero):not(.com-foto):not(.inst):not(.cardapio-capa) + .tela::before{
  background:linear-gradient(to bottom,var(--background),transparent)
}
/* A galeria escura dos pratos do chef desce para o papel bege da página seguinte */
.dq + .dia .dia-texto::before{
  content:'';position:absolute;top:0;left:0;right:0;height:clamp(70px,9vh,140px);
  background:linear-gradient(to bottom,#121c16,transparent);pointer-events:none;z-index:0;
}

/* ---------- Rodapé ---------- */
/* Mesmo verde da última tela de toda página: antes eram dois verdes quase iguais, e a
   linha entre eles aparecia. Toda página fecha numa tela verde, então não há emenda. */
.rodape{background:var(--primary);color:var(--primary-foreground);padding-block:clamp(56px,7vw,88px) 0}
.rodape-grade{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:760px){.rodape-grade{grid-template-columns:1.6fr 1fr 1fr}}
.rodape-grade a{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:.9rem;opacity:.8;padding-block:5px}
.rodape-grade a:hover{opacity:1}
.rodape-logo{width:220px;height:auto}
.rodape-tag{margin:22px 0 0;max-width:34ch;font-family:var(--display);font-style:italic;font-size:1rem;opacity:.75}
.rodape-titulo{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;opacity:.55;margin:0 0 14px}
.rodape-fim{
  display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;
  margin-top:clamp(44px,6vw,72px);padding-block:24px;border-top:1px solid rgba(242,242,242,.12);
}
.rodape-fim p{margin:0;font-size:.8rem;opacity:.6}
.rodape-fim a{text-decoration:none}

/* Paralaxe: o JS escreve translate3d + scale no transform. A folga do scale é o que
   permite a foto andar sem descobrir a borda da tela. */
.js [data-paralaxe] img{will-change:transform}

/* ---------- Movimento: estado inicial só quando o JS assume ----------
   O bloco inteiro é uma peça só. Nada dentro dele anima sozinho. */
.js [data-bloco],.js [data-foto]{opacity:0}

/* ---------- Responsivo ---------- */
@media (max-width:640px){
  .grande .l,.medio .l,.citacao .l,.manifesto .l{display:inline}
  .grande,.medio,.manifesto{text-wrap:balance}
  .citacao{text-wrap:pretty}
  /* a frase do chef tem duas linhas fechadas no PDF; no celular ela não cabe inteira, e a
     quebra natural entra dentro de cada linha */
  .cit-chef .l{text-wrap:balance}
  .f-legenda-bloco{flex-direction:column;align-items:flex-start;gap:12px}
}

@media (max-width:860px){
  :root{--topo-h:76px}
  .topo-logo{width:132px}
  .topo-nav{display:none}
  .topo-menu{display:block}
  .barra-acoes a:not(.barra-cta){display:none}
  .sumario a{grid-template-columns:5.2rem 1fr}
  .s-aba{display:none}
}

/* ---------- Movimento reduzido: não negociável ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .js [data-bloco],.js [data-foto]{opacity:1}
  .js [data-paralaxe] img{will-change:auto;transform:none !important}
  .dq-foto img,.dq-cartao.ativo .dq-foto img,.dq-beneficios .dq-cartao > img{transform:none}
  .dq-pausa{display:none}
  .dq-ponto[aria-current="true"] .dq-marca i{animation:none;transform:scaleX(1)}
  .hero-rolar{display:none}
}
