/* Taglia · Empório & Restaurante
   Cores medidas na fachada e na placa: preto-ameixa da parede, dourado da fita, creme da massa. */

@font-face { font-family: 'Fraunces'; src: url('../fonts/fraunces.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('../fonts/fraunces-italico.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree.woff2') format('woff2'); font-weight: 300 900; font-style: normal; font-display: swap; }

:root {
  --tinta: #0B0706;
  --tinta-2: #130D0A;
  --tinta-3: #1D1510;
  --borda-esc: rgba(244, 234, 219, .14);
  --farinha: #F4EADB;
  --papel: #FBF5EA;
  --areia: #E6D7BE;
  --borda-clara: rgba(27, 19, 14, .14);
  --texto: #F4EADB;
  --texto-2: #C7BAA6;
  --escuro: #1B130E;
  --escuro-2: #57483A;
  --ouro: #E8A020;
  --ouro-2: #FFD27A;
  --ouro-3: #8A5A10;
  --metal: linear-gradient(100deg, #FFE6AE 0%, #F7BE4B 24%, #D18E1C 48%, #FFD985 66%, #B87810 100%);
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sans: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mar: clamp(20px, 5vw, 76px);
  --bloco: clamp(76px, 11vw, 168px);
  --topo-h: 72px;
  --suave: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--tinta); scroll-padding-top: 80px; overflow-x: clip; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
body { margin: 0; background: var(--tinta); color: var(--texto); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; padding: 0; }
ul { list-style: none; }
img, svg, canvas, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; border-radius: 2px; }

.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: fixed; left: 16px; top: -60px; z-index: 200; background: var(--ouro); color: var(--escuro); padding: 10px 16px; font-weight: 600; transition: top .2s; }
.pular:focus { top: 12px; }

h2 { font: 300 clamp(40px, 5.6vw, 88px)/1.04 var(--serif); letter-spacing: -.022em; }
h2 em, .hero__titulo em { font-style: italic; }
.etiqueta { font: 600 12.5px/1.4 var(--sans); letter-spacing: .17em; text-transform: uppercase; color: var(--ouro); margin-bottom: 16px; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 1.02em 1.6em; font: 600 15.5px/1 var(--sans); letter-spacing: .012em; text-decoration: none; border-radius: 3px; white-space: nowrap; transition: transform .3s var(--suave), background-position .7s var(--suave), background-color .3s, color .3s, border-color .3s; }
.btn:active { transform: scale(.98); }
.btn--ouro { background: var(--metal); background-size: 230% 100%; color: #1C1105; }
.btn--ouro:hover { background-position: 100% 0; }
.btn--linha { border: 1px solid rgba(244, 234, 219, .42); color: var(--texto); }
.btn--linha:hover { background: var(--texto); color: var(--escuro); border-color: var(--texto); }
.btn--escuro { background: var(--escuro); color: var(--farinha); }
.btn--escuro:hover { background: var(--ouro-3); }
.link { color: inherit; text-decoration: underline; text-decoration-color: var(--ouro); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: text-decoration-thickness .2s, color .2s; }
.link:hover { text-decoration-thickness: 2px; }

/* Topo */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--topo-h); display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 var(--mar); color: var(--texto); transition: background-color .4s, backdrop-filter .4s; }
.topo.rolou { background: rgba(11, 7, 6, .84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.logo { display: inline-flex; align-items: center; gap: 12px; color: var(--ouro); text-decoration: none; }
.logo svg { fill: url(#ouro-metal); }
.logo__marca { height: 40px; width: auto; }
.logo__nome { height: 15px; width: auto; }
.topo__nav { display: flex; gap: clamp(20px, 2.6vw, 38px); margin-left: auto; }
.topo__nav a { position: relative; text-decoration: none; font-size: 15px; font-weight: 500; color: var(--texto); padding: 6px 0; }
.topo__nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--ouro); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--suave); }
.topo__nav a:hover::after { transform: scaleX(1); }
.btn--topo { padding: .85em 1.25em; font-size: 14.5px; }

/* Hero */
.hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; background: #000; color: var(--texto); overflow: hidden; isolation: isolate; }
.hero__foto { position: absolute; z-index: 0; left: 50%; bottom: -12vh; height: clamp(680px, 130vh, 1560px); aspect-ratio: 2 / 3; transform: translateX(-50%); -webkit-mask-image: radial-gradient(ellipse 46% 94% at 50% 76%, #000 48%, rgba(0, 0, 0, .8) 66%, rgba(0, 0, 0, .3) 84%, transparent 100%); mask-image: radial-gradient(ellipse 46% 94% at 50% 76%, #000 48%, rgba(0, 0, 0, .8) 66%, rgba(0, 0, 0, .3) 84%, transparent 100%); }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; }
.hero__texto { position: absolute; z-index: 1; top: clamp(92px, 13.5vh, 132px); left: var(--mar); right: var(--mar); text-align: center; }
.hero__rotulo { margin-bottom: clamp(10px, 2vh, 20px); }
.hero__titulo { font: 300 min(8.1vw, 15.5vh)/1.02 var(--serif); letter-spacing: -.028em; white-space: nowrap; }
.hero__titulo em { display: inline-block; padding-right: .06em; background: var(--metal); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.m { display: inline-block; overflow: hidden; vertical-align: top; padding: .12em .09em .36em; margin: -.12em -.09em -.36em; }
.m > * { display: inline-block; }
.hero__queijo { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.hero__esq, .hero__dir { position: absolute; z-index: 3; bottom: clamp(28px, 6.4vh, 62px); }
.hero__esq { left: var(--mar); width: min(25vw, 340px); }
.hero__dir { right: var(--mar); width: min(25vw, 340px); display: flex; flex-direction: column; align-items: flex-end; gap: 16px; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.hero__lide { font: 300 clamp(19px, 1.65vw, 25px)/1.32 var(--serif); }
.hero__nota { font-size: 14.5px; color: var(--texto-2); }
.hero__nota span { color: var(--ouro); }
.rw { display: inline-block; margin-bottom: 14px; padding: 8px 12px; border: 1px solid rgba(232, 160, 32, .5); border-radius: 3px; font-size: 13.5px; line-height: 1.35; color: var(--texto); text-decoration: none; background: rgba(11, 7, 6, .55); transition: background-color .3s, border-color .3s; }
.rw span { display: block; font-weight: 600; color: var(--ouro-2); }
.rw:hover { border-color: var(--ouro); background: rgba(232, 160, 32, .14); }
.rw[hidden] { display: none; }
.status { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 15px; color: var(--texto); }
.status__ponto { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--texto-2); }
.status.aberto .status__ponto { background: #74D083; box-shadow: 0 0 0 4px rgba(116, 208, 131, .2); }
.status--claro { color: var(--escuro); margin-top: 18px; font-weight: 500; }
.status--claro .status__ponto { background: var(--escuro-2); }
.status--claro.aberto .status__ponto { background: #2E9B45; box-shadow: 0 0 0 4px rgba(46, 155, 69, .16); }
.fitas { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; max-width: none; pointer-events: none; }

/* Entrada do hero: fica escondido até o GSAP assumir */
.js .hero__rotulo, .js .hero__titulo, .js .hero__esq, .js .hero__dir { visibility: hidden; }

/* Faixas de fita entre as seções */
.faixa { position: relative; height: clamp(110px, 24vh, 260px); overflow: hidden; margin-bottom: -1px; }
.faixa svg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.faixa--farinha { background: var(--farinha); }
.faixa--tinta { background: var(--tinta); }
.faixa--tinta2 { background: var(--tinta-2); }
.faixa--papel { background: var(--papel); }

/* Manifesto */
.manifesto { position: relative; z-index: 2; background: var(--farinha); color: var(--escuro); padding: clamp(92px, 13vw, 190px) var(--mar) clamp(60px, 8vw, 120px); }
.manifesto__grande { font: 300 clamp(37px, 5.9vw, 98px)/1.07 var(--serif); letter-spacing: -.024em; max-width: 16.5em; }
.manifesto__grande em { font-style: italic; color: var(--ouro-3); }
.manifesto__base { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: end; margin-top: clamp(48px, 7vw, 110px); }
.manifesto__resto p { font: 300 clamp(21px, 2.1vw, 30px)/1.32 var(--serif); max-width: 24em; }
.manifesto__resto p + p { margin-top: .7em; }
.assinatura { justify-self: end; display: flex; align-items: center; gap: clamp(16px, 2.4vw, 32px); }
.assinatura p { font: 300 italic clamp(19px, 1.8vw, 26px)/1.25 var(--serif); max-width: 11em; color: var(--escuro-2); }
.assinatura strong { display: block; font-style: normal; font-weight: 500; color: var(--escuro); }
.marca-viva { height: clamp(112px, 13vw, 190px); width: auto; flex: none; overflow: visible; }

/* Chef */
.chef { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(32px, 6vw, 100px); align-items: center; background: var(--farinha); color: var(--escuro); padding: clamp(24px, 4vw, 60px) var(--mar) var(--bloco); }
.chef__foto img { width: 100%; aspect-ratio: 1 / 1.02; object-fit: cover; }
.chef .etiqueta, .carta .etiqueta, .visite .etiqueta { color: var(--ouro-3); }
.chef h2 em { color: var(--ouro-3); }
.chef__lide { font: 300 clamp(21px, 2vw, 28px)/1.32 var(--serif); margin-top: 20px; }
.chef__citacao { margin-top: clamp(24px, 3vw, 40px); padding-top: clamp(20px, 2.4vw, 30px); border-top: 1px solid var(--borda-clara); }
.chef__citacao p { font-style: normal; color: var(--escuro-2); font-size: 17.5px; }
.chef__citacao cite { display: block; margin-top: 12px; font-style: normal; font-size: 14px; color: var(--escuro-2); opacity: .85; }

/* Cortes */
.cortes { position: relative; background: var(--tinta); color: var(--texto); overflow: hidden; }
.cortes__trilho { display: flex; align-items: stretch; width: max-content; height: 100vh; height: 100svh; min-height: 620px; will-change: transform; }
.cortes__intro { flex: none; width: min(48vw, 680px); padding: var(--topo-h) clamp(32px, 6vw, 96px) 0 var(--mar); display: flex; flex-direction: column; justify-content: center; }
.cortes__intro h2 em { color: var(--ouro); }
.cortes__intro > p:not(.etiqueta) { margin-top: 18px; color: var(--texto-2); max-width: 30em; }
.cortes__dica { font-size: 14.5px; color: var(--ouro) !important; }
.cortes__dica span { display: inline-block; margin-left: 4px; animation: dica 1.8s ease-in-out infinite; }
@keyframes dica { 50% { transform: translateX(6px); } }
.corte { flex: none; width: clamp(272px, 23vw, 340px); padding: var(--topo-h) clamp(22px, 2.4vw, 34px) 0; border-left: 1px solid var(--borda-esc); display: flex; flex-direction: column; justify-content: center; cursor: default; transition: background-color .5s; }
.corte:hover { background: rgba(232, 160, 32, .05); }
.corte__n { font: 500 13px/1 var(--sans); letter-spacing: .14em; color: var(--texto-2); }
.massa { width: min(100%, 25vh); max-width: 230px; height: auto; margin: clamp(14px, 3vh, 30px) 0; color: var(--ouro); overflow: visible; }
.corte h3 { font: 300 italic clamp(30px, 2.8vw, 42px)/1.08 var(--serif); letter-spacing: -.015em; }
.corte__prato { margin-top: 10px; color: var(--texto-2); font-size: 16px; line-height: 1.42; min-height: 4.26em; }
.corte__preco { margin-top: 8px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ouro-2); }
.cortes__fim { flex: none; width: min(46vw, 560px); padding: var(--topo-h) var(--mar) 0 clamp(32px, 4vw, 60px); border-left: 1px solid var(--borda-esc); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 24px; }
.cortes__fim p { font: 300 clamp(34px, 3.8vw, 58px)/1.08 var(--serif); letter-spacing: -.02em; }
.cortes__fim em { font-style: italic; color: var(--ouro); }
.cortes__progresso { position: absolute; left: var(--mar); right: var(--mar); bottom: clamp(20px, 4vh, 36px); height: 1px; background: var(--borda-esc); }
.cortes__progresso span { display: block; height: 100%; background: var(--ouro); transform: scaleX(0); transform-origin: left; }

/* Pratos */
.pratos { background: var(--tinta-2); color: var(--texto); padding: var(--bloco) var(--mar) clamp(40px, 6vw, 90px); }
.pratos__cab { max-width: 17em; font-size: clamp(40px, 5.6vw, 88px); margin-bottom: clamp(44px, 6vw, 92px); }
.pratos__cab .etiqueta { font-size: 12.5px; }
.pratos__cab em { color: var(--ouro); }
.pratos__grade { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(16px, 2.4vw, 36px); row-gap: clamp(36px, 5vw, 76px); align-items: start; }
.prato--a { grid-column: 1 / 8; }
.prato--b { grid-column: 9 / 13; margin-top: clamp(40px, 9vw, 140px); }
.prato--c { grid-column: 2 / 7; }
.prato--d { grid-column: 8 / 12; margin-top: clamp(-130px, -7vw, -30px); }
.prato__img { overflow: hidden; background: var(--tinta-3); }
.prato__img img { width: 100%; transition: transform 1.4s var(--suave); }
.prato:hover .prato__img img { transform: scale(1.035); }
.prato--a img { aspect-ratio: 1500 / 1031; object-fit: cover; }
.prato--b img { aspect-ratio: 4 / 5.3; object-fit: cover; }
.prato--c img { aspect-ratio: 1 / 1.04; object-fit: cover; }
.prato--d img { aspect-ratio: 1 / 1.1; object-fit: cover; }
.prato figcaption { display: flex; justify-content: space-between; gap: 22px; padding-top: 14px; font: 300 clamp(19px, 1.65vw, 24px)/1.25 var(--serif); }
.prato figcaption b { flex: none; font: 600 16px/1.5 var(--sans); font-variant-numeric: tabular-nums; color: var(--ouro-2); }

/* Carta */
.carta { background: var(--papel); color: var(--escuro); padding: clamp(36px, 5vw, 70px) var(--mar) var(--bloco); }
.carta__cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 60px; flex-wrap: wrap; margin-bottom: clamp(26px, 3.4vw, 48px); }
.carta__cab h2 em { color: var(--ouro-3); }
.carta__cab > p { max-width: 24em; color: var(--escuro-2); }
.carta__abas { position: sticky; top: var(--topo-h); z-index: 6; display: flex; gap: 4px; margin: 0 calc(var(--mar) * -1); padding: 10px var(--mar); background: var(--papel); border-bottom: 1px solid var(--borda-clara); overflow-x: auto; scrollbar-width: none; }
.carta__abas::-webkit-scrollbar { display: none; }
.aba { flex: none; padding: .62em 1.05em; font: 600 15px/1.1 var(--sans); color: var(--escuro-2); border-radius: 3px; transition: background-color .25s, color .25s; }
.aba:hover { color: var(--escuro); background: rgba(27, 19, 14, .06); }
.aba[aria-selected="true"] { background: var(--escuro); color: var(--papel); }
.carta__corpo { min-height: 60vh; padding-top: clamp(24px, 3vw, 44px); }
.carta__painel:focus-visible { outline-offset: 8px; }
.carta__nota { font: 300 italic clamp(19px, 1.7vw, 24px)/1.3 var(--serif); margin-bottom: 26px; color: var(--escuro); }
.carta__nota span { font: 400 14px var(--sans); color: var(--escuro-2); margin-left: 6px; }
.grupo + .grupo { margin-top: clamp(34px, 4vw, 56px); }
.grupo h3 { font: 600 12.5px/1.4 var(--sans); letter-spacing: .17em; text-transform: uppercase; color: var(--ouro-3); margin-bottom: 8px; }
.lista { columns: 2; column-gap: clamp(32px, 6vw, 90px); }
.item { display: grid; grid-template-columns: 1fr auto; gap: 2px 20px; padding: 13px 0; border-bottom: 1px solid var(--borda-clara); break-inside: avoid; }
.item__nome { font: 400 clamp(18px, 1.45vw, 21px)/1.28 var(--serif); }
.item__preco { font: 600 16px/1.6 var(--sans); font-variant-numeric: tabular-nums; }
.item__desc { grid-column: 1 / -1; font-size: 15px; line-height: 1.42; color: var(--escuro-2); }
.item--sub { display: block; padding: 14px 0 4px; border: 0; font-weight: 600; color: var(--escuro-2); }
.carta__cta { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; margin-top: clamp(32px, 4vw, 56px); }

/* Três palavras */
.palavras { background: var(--tinta); color: var(--texto); padding: clamp(40px, 6vw, 80px) var(--mar) clamp(30px, 4vw, 60px); overflow: hidden; }
.palavra { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px clamp(24px, 5vw, 80px); padding: clamp(12px, 1.4vw, 22px) 0 clamp(20px, 2.6vw, 38px); border-bottom: 1px solid var(--borda-esc); }
.palavra--dir { flex-direction: row-reverse; }
.palavra__g { flex: none; font: 300 clamp(76px, 17.5vw, 300px)/.98 var(--serif); letter-spacing: -.035em; color: transparent; -webkit-text-fill-color: transparent; -webkit-text-stroke: 1px rgba(232, 160, 32, .55); background: var(--metal) no-repeat 0 0 / 0% 100%; -webkit-background-clip: text; background-clip: text; padding: 0 .04em .08em 0; }
.palavra__t { max-width: 17em; padding-bottom: clamp(8px, 1.6vw, 24px); color: var(--texto-2); font-size: clamp(16.5px, 1.3vw, 19px); }
.palavra__t b { display: block; font-weight: 600; color: var(--texto); }

/* Mural */
.mural { background: var(--tinta); color: var(--texto); padding: clamp(60px, 8vw, 120px) var(--mar) var(--bloco); }
.mural__cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 60px; flex-wrap: wrap; margin-bottom: clamp(30px, 4vw, 60px); }
.mural__cab h2 em { color: var(--ouro); }
.nota { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; }
.nota strong { font: 300 clamp(56px, 6vw, 84px)/1 var(--serif); letter-spacing: -.02em; }
.nota span { display: block; font-size: 15px; color: var(--texto-2); }
.nota__estrelas { color: var(--ouro) !important; letter-spacing: .12em; font-size: 17px !important; }
.mural__grade { columns: 3; column-gap: 18px; }
.aval { break-inside: avoid; margin: 0 0 18px; padding: clamp(22px, 2.2vw, 30px); background: var(--tinta-3); border: 1px solid var(--borda-esc); border-radius: 4px; }
.aval__estrelas { display: block; color: var(--ouro); letter-spacing: .14em; font-size: 14px; margin-bottom: 10px; }
.aval p { font: 300 clamp(18px, 1.45vw, 21px)/1.36 var(--serif); }
.aval cite { display: block; margin-top: 14px; font-style: normal; font-weight: 600; font-size: 15px; }
.aval cite span { font-weight: 400; color: var(--texto-2); }

/* Empório */
.emporio { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(32px, 6vw, 100px); background: var(--tinta-2); color: var(--texto); padding: var(--bloco) var(--mar); }
.emporio__foto img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; object-position: 60% 60%; }
.emporio__texto h2 em { color: var(--ouro); }
.emporio__texto > p:not(.etiqueta) { margin-top: 18px; font: 300 clamp(21px, 2vw, 28px)/1.32 var(--serif); max-width: 22em; }
.fatos { margin: clamp(22px, 3vw, 34px) 0; border-top: 1px solid var(--borda-esc); }
.fatos div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--borda-esc); }
.fatos dt { color: var(--texto-2); font-size: 15px; }

/* A casa */
.casa { background: var(--tinta); color: var(--texto); padding: var(--bloco) var(--mar) clamp(40px, 6vw, 80px); }
.casa__cab { max-width: 780px; margin-bottom: clamp(36px, 5vw, 72px); }
.casa__cab h2 em { color: var(--ouro); }
.casa__cab > p:last-child { margin-top: 16px; color: var(--texto-2); font-size: clamp(17px, 1.3vw, 19px); }
.casa__grade { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(8px, 1.1vw, 16px); }
.casa__f { overflow: hidden; background: var(--tinta-3); height: clamp(220px, 27vw, 430px); }
.casa__f img { width: 100%; height: 118%; object-fit: cover; }
.casa__f--a { grid-column: 1 / 9; height: clamp(240px, 36vw, 580px); }
.casa__f--b { grid-column: 9 / 13; height: clamp(240px, 36vw, 580px); }
.casa__f--c { grid-column: 1 / 5; }
.casa__f--d { grid-column: 5 / 9; }
.casa__f--e { grid-column: 9 / 13; }
.casa__f--d img { object-position: 50% 45%; }
.selos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: clamp(28px, 3.4vw, 48px); }
.selos li { padding: 8px 14px; border: 1px solid var(--borda-esc); border-radius: 99px; font-size: 14.5px; color: var(--texto-2); }
.casa__evento { margin-top: 22px; color: var(--texto-2); }
.casa__evento .link { color: var(--texto); }

/* Visite */
.visite { background: var(--farinha); color: var(--escuro); padding: clamp(36px, 5vw, 70px) var(--mar) clamp(40px, 6vw, 90px); }
.visite__cab { margin-bottom: clamp(30px, 4vw, 60px); }
.visite__cab h2 em { color: var(--ouro-3); }
.visite__grade { display: grid; grid-template-columns: 1.14fr .86fr; gap: clamp(32px, 5vw, 80px); align-items: stretch; }
.bloco h3 { font: 600 12.5px/1.4 var(--sans); letter-spacing: .17em; text-transform: uppercase; color: var(--ouro-3); margin-bottom: 10px; }
.bloco p + p { margin-top: 6px; }
.horarios { width: 100%; border-collapse: collapse; font-size: 16px; }
.horarios th, .horarios td { padding: 10px 10px 10px 0; border-bottom: 1px solid var(--borda-clara); text-align: left; font-weight: 400; font-variant-numeric: tabular-nums; }
.horarios thead th { font-size: 14px; color: var(--escuro-2); padding-top: 0; }
.horarios tbody th { font-weight: 600; }
.horarios tr.hoje th, .horarios tr.hoje td { background: rgba(232, 160, 32, .17); }
.horarios tr.hoje th { box-shadow: -10px 0 0 rgba(232, 160, 32, .17); }
.visite__duas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 3vw, 40px); margin: clamp(26px, 3.4vw, 44px) 0; }
.visite__mapa { position: relative; min-height: 440px; background: var(--areia); overflow: hidden; }
.visite__mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(.98); }
.visite__mapa-ver { position: absolute; left: 16px; bottom: 16px; }

/* Rodapé */
.rodape { background: var(--tinta); color: var(--texto); padding: clamp(36px, 5vw, 70px) var(--mar) 34px; text-align: center; }
.rodape__marca { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.rodape .marca-viva { height: clamp(130px, 15vw, 210px); }
.rodape__nome { height: clamp(26px, 3vw, 42px); width: auto; fill: url(#ouro-metal); }
.rodape__marca > p { font: 300 italic clamp(22px, 2.4vw, 34px)/1.2 var(--serif); }
.rodape__colunas { display: flex; justify-content: space-between; gap: 30px 60px; flex-wrap: wrap; margin-top: clamp(44px, 6vw, 86px); padding-top: 28px; border-top: 1px solid var(--borda-esc); text-align: left; color: var(--texto-2); }
.rodape__colunas nav { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.rodape__colunas a { text-decoration: none; color: var(--texto); }
.rodape__colunas a:hover { color: var(--ouro-2); }
.rodape__colunas div { text-align: right; }
.rodape__fim { margin-top: 28px; text-align: left; font-size: 13.5px; color: var(--texto-2); opacity: .8; }
.rodape__fim .pl-rodape { justify-content: flex-start; padding: 0; font-size: inherit; opacity: 1; }

/* Barra do celular */
.barra { display: none; }

/* Reserva */
.reserva { position: fixed; inset: 0; z-index: 100; }
.reserva[hidden] { display: none; }
.reserva__fundo { position: absolute; inset: 0; background: rgba(11, 7, 6, .68); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.reserva__painel { position: absolute; top: 0; right: 0; bottom: 0; width: min(500px, 100%); display: flex; flex-direction: column; background: var(--papel); color: var(--escuro); }
.reserva__cab { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid var(--borda-clara); }
.reserva__cab h2 { font-size: 30px; }
.reserva__cab em { color: var(--ouro-3); }
.reserva__fechar { width: 44px; height: 44px; font-size: 30px; line-height: 1; border-radius: 3px; }
.reserva__fechar:hover { background: rgba(27, 19, 14, .07); }
.reserva iframe { flex: 1; width: 100%; border: 0; background: #fff; }
.reserva__pe { padding: 12px 22px calc(12px + env(safe-area-inset-bottom)); font-size: 14.5px; color: var(--escuro-2); border-top: 1px solid var(--borda-clara); }
.reserva__pe a { color: var(--escuro); font-weight: 600; }

/* Revelação em dentes de pente: a foto é "cortada" em tiras */
.js .pente { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }

/* Telas médias */
@media (max-width: 1180px) {
  .topo__nav { gap: 18px; }
  .hero__foto { height: clamp(620px, 112vh, 1200px); bottom: -9vh; }
  .hero__dir .btn { padding: .9em 1.2em; font-size: 14.5px; }
}

/* Celular e tablet */
@media (max-width: 900px) {
  :root { --topo-h: 62px; --barra-h: 62px; }
  html { scroll-padding-top: 70px; }
  body { font-size: 16.5px; padding-bottom: calc(var(--barra-h) + env(safe-area-inset-bottom)); }
  .topo__nav { display: none; }
  .logo__marca { height: 34px; }
  .logo__nome { height: 13px; }
  .btn--topo { padding: .72em 1em; font-size: 14px; }

  .hero { display: flex; flex-direction: column; min-height: 560px; height: calc(100svh - var(--barra-h) - env(safe-area-inset-bottom)); padding-top: calc(var(--topo-h) + 16px); }
  .hero__foto { left: 50%; bottom: -5vw; width: 128vw; max-width: 760px; height: auto; -webkit-mask-image: none; mask-image: none; }
  .hero__texto { position: relative; top: auto; left: auto; right: auto; padding: 0 var(--mar); text-align: left; }
  .hero__rotulo { font-size: 11.5px; letter-spacing: .13em; margin-bottom: 10px; }
  .hero__titulo { font-size: clamp(54px, 17.4vw, 124px); line-height: .98; white-space: normal; }
  .hero__esq { position: relative; left: auto; bottom: auto; width: auto; padding: 0 var(--mar); margin-top: 12px; }
  .hero__lide { font-size: 18.5px; max-width: 21em; text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
  .status { font-size: 14.5px; margin-top: 8px; text-shadow: 0 1px 10px #000; }
  .rw { position: absolute; right: var(--mar); left: var(--mar); bottom: auto; margin: 0; display: none; }
  .hero__dir { display: none; }

  .manifesto__base { grid-template-columns: 1fr; }
  .assinatura { justify-self: start; }

  .chef { grid-template-columns: 1fr; }
  .chef__foto { margin: 0 calc(var(--mar) * -1); }

  .cortes__trilho { width: auto; height: auto; min-height: 0; padding: var(--bloco) 0 56px; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .cortes__trilho::-webkit-scrollbar { display: none; }
  .cortes__intro { width: 84vw; padding: 0 28px 0 var(--mar); scroll-snap-align: start; }
  .corte { width: 72vw; max-width: 320px; padding: 0 22px; scroll-snap-align: start; }
  .massa { width: 62%; }
  .cortes__fim { width: 78vw; padding: 0 var(--mar) 0 24px; }
  .cortes__progresso { display: none; }

  .pratos__grade { display: block; }
  .prato + .prato { margin-top: 34px; }
  .prato--b, .prato--d { margin-top: 34px; }
  .pratos { padding-left: var(--mar); padding-right: var(--mar); }
  .prato__img { margin: 0 calc(var(--mar) * -1); }
  .prato--b img { aspect-ratio: 4 / 4.6; }

  .lista { columns: 1; }
  .aba { font-size: 14.5px; }

  .palavra, .palavra--dir { flex-direction: column; align-items: flex-start; }
  .palavra__t { padding-bottom: 0; }

  .mural__grade { columns: 1; }

  .emporio { grid-template-columns: 1fr; }
  .emporio__foto { margin: 0 calc(var(--mar) * -1); }
  .emporio__foto img { aspect-ratio: 4 / 3.9; }

  .casa__f, .casa__f--a, .casa__f--b { height: 62vw; }
  .casa__f--a { grid-column: 1 / -1; }
  .casa__f--b { grid-column: 1 / 7; height: 84vw; }
  .casa__f--c { grid-column: 7 / 13; height: 84vw; }
  .casa__f--d { grid-column: 1 / 7; height: 84vw; }
  .casa__f--e { grid-column: 7 / 13; height: 84vw; }

  .visite__grade { grid-template-columns: 1fr; }
  .visite__mapa { min-height: 340px; margin: 0 calc(var(--mar) * -1); }
  .horarios { font-size: 14.5px; }

  .rodape__colunas div { text-align: left; }

  .barra { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; padding-bottom: env(safe-area-inset-bottom); background: rgba(11, 7, 6, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--borda-esc); }
  .barra a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: var(--barra-h); font-size: 12.5px; font-weight: 500; color: var(--texto); text-decoration: none; }
  .barra svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .barra__principal { background: var(--metal); background-size: 180% 100%; color: #1C1105 !important; font-weight: 700 !important; }
}

@media (max-width: 900px) and (max-height: 700px) {
  .hero__lide { display: none; }
  .hero__titulo { font-size: clamp(50px, 15.5vw, 100px); }
}

@media (max-width: 480px) {
  .selos li { font-size: 13.5px; padding: 7px 12px; }
  .horarios th, .horarios td { padding-right: 6px; }
}

/* Telas baixas de notebook */
@media (min-width: 901px) and (max-height: 720px) {
  .hero__lide { font-size: 18px; }
  .rw { margin-bottom: 8px; }
  .massa { width: min(100%, 22vh); }
}

@media (prefers-reduced-motion: reduce) {
  .js .hero__rotulo, .js .hero__titulo, .js .hero__esq, .js .hero__dir { visibility: visible; }
  .js .pente { clip-path: none; }
  .palavra__g { background-size: 100% 100%; }
  .cortes__dica span { animation: none; }
  .cortes__trilho { width: auto; overflow-x: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
