/* ============================================================
   GIULÍ OSTERIA
   Cores: capa do passaporte de vinhos e destaques do Instagram.
   Composição: The Lighthouse (creme, tipo leve e grande, fotos
   deslocadas, palavra gigante sobre foto) e Union Boulangerie
   (campos inteiros de cor, caixa alta apertada, mosaico, fotos
   soltas e inclinadas, letra à mão).
   ============================================================ */

@font-face{font-family:"Bricolage";src:url(fontes/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(fontes/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(fontes/plexmono-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Reenie";src:url(fontes/reenie.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --creme:#FDFCF2;
  --papel:#FFFBCF;      /* o cartão "Horários" do Instagram */
  --tinta:#2B1F23;      /* berinjela da capa premium */
  --amarelo:#FFDB2C;
  --sol:#FFEB00;        /* o amarelo do logo nos reels */
  --vinho:#B81D40;      /* capa do passaporte */
  --rosa:#F4BFCD;
  --azulejo:#C98470;    /* a mesa */

  --sans:"Bricolage","Helvetica Neue",Arial,sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,monospace;
  --mao:"Reenie","Bradley Hand",cursive;

  --m:clamp(16px,2.4vw,36px);
  --bloco:clamp(96px,14vw,220px);
  --enorme:clamp(2.55rem,9.2vw,9.5rem);
  --grande:clamp(2.2rem,5.2vw,5.4rem);
  --frase:clamp(1.4rem,2.4vw,2.25rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:70px}
html.calma{scroll-behavior:auto}
body{margin:0;background:var(--creme);color:var(--tinta);font:400 clamp(1rem,.96rem + .2vw,1.15rem)/1.5 var(--sans);overflow-x:clip}
img,video,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--vinho);outline-offset:3px}
.f-vinho :focus-visible,.f-tinta :focus-visible,.hero :focus-visible{outline-color:var(--amarelo)}
::selection{background:var(--amarelo);color:var(--tinta)}
[hidden]{display:none!important}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pular{position:fixed;left:12px;top:-60px;z-index:100;background:var(--tinta);color:var(--creme);padding:.6em 1em}
.pular:focus{top:12px}

/* ---------- marca (traçada do logo real, pintada pela cor do texto) ---------- */
.marca{display:block;background:currentColor;-webkit-mask:var(--svg) center/contain no-repeat;mask:var(--svg) center/contain no-repeat}
.marca--giuli{--svg:url(marca/giuli.svg);aspect-ratio:2240/1024}
.marca--osteria{--svg:url(marca/osteria.svg);aspect-ratio:2240/496}
.marca--completa{--svg:url(marca/completo.svg);aspect-ratio:2240/1520}
.marca--g{--svg:url(marca/g.svg);aspect-ratio:1232/1740}

/* ---------- tipo ---------- */
.caps{font-weight:800;font-stretch:88%;text-transform:uppercase;letter-spacing:-.035em;line-height:.92}
.titulo{font-size:var(--enorme);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:.9;text-wrap:balance}
.titulo--m{font-size:var(--grande)}
.leve{font-size:var(--frase);font-weight:300;line-height:1.14;letter-spacing:-.022em;text-wrap:pretty}
.mao{font-family:var(--mao);font-weight:400;letter-spacing:.005em;line-height:.9;text-transform:none}
.mono{font-family:var(--mono);font-size:.82em;line-height:1.45;letter-spacing:-.01em}
.paren::before{content:"( "}.paren::after{content:" )"}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;text-decoration:none;font-weight:600;font-size:1rem;line-height:1;padding:1em 1.5em;border-radius:999px;border:1.5px solid currentColor;transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--cheio{background:var(--bg,var(--vinho));border-color:var(--bg,var(--vinho));color:var(--fg,var(--creme))}
.btn--cheio:hover{background:var(--tinta);border-color:var(--tinta);color:var(--creme)}
.btn--vazio:hover{background:var(--tinta);color:var(--creme);border-color:var(--tinta)}
.hero .btn--vazio:hover,.f-tinta .btn--vazio:hover,.f-vinho .btn--vazio:hover{background:var(--creme);color:var(--tinta);border-color:var(--creme)}

/* ---------- barra (blocos de cor, como na Union) ---------- */
.barra{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;color:var(--creme);transition:color .25s}
.barra>*{pointer-events:auto}
.barra-g{display:flex;align-items:center;justify-content:center;width:52px;height:46px;background:var(--tinta);color:var(--amarelo);transition:background .2s,color .2s}
.barra-g .marca{width:24px;transition:transform .3s var(--ease)}
.barra-g:hover{background:var(--amarelo);color:var(--tinta)}
.barra-g:hover .marca{transform:rotate(-8deg)}
.barra-links{display:flex;align-items:stretch;font-weight:600;font-size:.95rem}
.barra-links a{display:flex;align-items:center;height:46px;padding:0 1.15em;text-decoration:none;background:var(--tinta);color:var(--creme);transition:background .2s,color .2s}
.barra-links a:nth-child(2){background:var(--rosa);color:var(--tinta)}
.barra-links a:nth-child(3){background:var(--amarelo);color:var(--tinta)}
.barra-links a:nth-child(4){background:var(--creme);color:var(--tinta)}
.barra-links a:nth-child(5){background:var(--vinho);color:var(--creme)}
.barra-links a:hover{background:var(--azulejo);color:var(--tinta)}
.barra-menu{display:none;height:46px;padding:0 1.15em;font-weight:600;background:var(--amarelo);color:var(--tinta)}
.barra-reservar{display:none;align-items:center;height:46px;padding:0 1.15em;font-weight:600;text-decoration:none;background:var(--vinho);color:var(--creme)}
@media (max-width:760px){
  .barra-links{display:none;position:fixed;inset:46px 0 auto 0;flex-direction:column;font-size:1.4rem}
  .barra-links.aberto{display:flex}
  .barra-links a{height:66px}
  .barra-direita{display:flex}
  .barra-menu{display:block}
  .barra-reservar{display:flex}
}
.barra-direita{display:flex}

/* ---------- hero ---------- */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--tinta);color:var(--creme);display:flex;flex-direction:column;justify-content:flex-end}
.hero-videos{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.hero-videos video,.hero-videos img{width:100%;height:100%;object-fit:cover}
.hero-videos::after{content:"";position:absolute;inset:0;background:#1a0f1252}
.hero-celular{display:none}
.hero-linha{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin:clamp(84px,17vh,190px) 0 auto;font-weight:800;font-stretch:88%;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;font-size:clamp(1.3rem,2.5vw,2.7rem);text-align:center}
.hero-linha .mao{font-size:1.62em;color:var(--sol)}
.hero-pe{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--m) clamp(10px,1.6vh,20px)}
.hero-info{max-width:38ch}
.hero-info p+p{margin-top:.15em}
.hero-agora{display:inline-flex;align-items:center;gap:.5em;color:var(--sol)}
.hero-agora::before{content:"";width:.6em;height:.6em;border-radius:50%;background:currentColor}
.hero-agora[data-estado="fechado"]{color:var(--rosa)}
.hero-cta{display:flex;gap:10px}
.hero-cta .btn--cheio{--bg:var(--sol);--fg:var(--tinta)}
.hero-marca{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:1.2vw;padding:0 var(--m) clamp(14px,2.4vh,30px);color:var(--sol)}
.hero-marca .marca--giuli{flex:1;max-width:min(100%,118svh)}
.hero-marca .marca--osteria{width:clamp(110px,17vw,270px);margin-bottom:1vw}
@media (max-width:900px){
  .hero-videos{display:none}
  .hero-celular{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero::before{content:"";position:absolute;inset:0;background:#1a0f1252;z-index:1}
  .hero-linha{grid-template-columns:1fr;margin-top:84px;padding:0 var(--m);text-align:left;font-size:clamp(2.15rem,6.4vw,3.2rem)}
  .hero-pe{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:18px}
  .hero-cta{width:100%}
  .hero-cta .btn{flex:1;padding-inline:.8em}
  .hero-marca{flex-direction:column;align-items:flex-start;gap:6px}
  .hero-marca .marca--giuli{flex:none;width:100%}
  .hero-marca .marca--osteria{display:none}
}

/* ---------- faixa corrida ---------- */
.corrida{display:block;overflow:hidden;background:var(--amarelo);color:var(--tinta);text-decoration:none;padding:.5em 0;font-size:clamp(1.1rem,2vw,1.8rem);transition:background .25s}
.corrida:hover{background:var(--rosa)}
.corrida-trilho{display:flex;width:max-content;animation:corre 36s linear infinite}
.corrida:hover .corrida-trilho{animation-play-state:paused}
.corrida-trilho span{padding-right:1.6em;white-space:nowrap}
@keyframes corre{to{transform:translateX(-50%)}}
html.calma .corrida-trilho{animation:none}
.corrida--vinho{background:var(--vinho);color:var(--creme)}
.corrida--vinho:hover{background:var(--tinta)}

/* ---------- a casa (fotos deslocadas, como no Lighthouse) ---------- */
.casa{padding:var(--bloco) var(--m)}
.casa-topo{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--m);align-items:end}
.casa-topo .titulo{grid-column:1/-1;margin-bottom:clamp(36px,5vw,80px)}
.casa-grade{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--m);align-items:start}
.casa-f1{grid-column:1/5}
.casa-f1 img{aspect-ratio:3/4;object-fit:cover;width:100%}
.casa-texto{grid-column:6/13;padding-top:clamp(0px,3vw,48px)}
.casa-texto .leve+.leve{margin-top:.9em}
.casa-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(24px,3vw,44px)}
.casa-f2{grid-column:6/9;margin-top:clamp(36px,6vw,110px)}
.casa-f2 img{aspect-ratio:4/5;object-fit:cover;width:100%}
.casa-f3{grid-column:9/13;margin-top:clamp(-40px,-3vw,-10px)}
.casa-f3 img{aspect-ratio:9/13;object-fit:cover;width:100%}
.casa-chef{grid-column:1/5;margin-top:clamp(-260px,-18vw,-60px);align-self:end;justify-self:start;width:68%;background:#fff;padding:10px 10px 8px;transform:rotate(-3deg)}
.casa-chef img{aspect-ratio:3/4;object-fit:cover;width:100%}
.casa-chef figcaption{font-family:var(--mao);font-size:1.75rem;line-height:1;padding-top:8px;text-align:center}
figcaption.nota{font-family:var(--mono);font-size:.8rem;line-height:1.4;padding-top:8px}
@media (max-width:760px){
  .casa-f1{grid-column:1/9}
  .casa-texto{grid-column:1/-1}
  .casa-f2{grid-column:1/7;margin-top:16px}
  .casa-f3{grid-column:7/13;margin-top:48px}
  .casa-chef{grid-column:6/13;grid-row:1;justify-self:end;width:100%;margin:48% 0 0}
  .casa-f1{grid-row:1}
}

/* ---------- a semana (a coisa viva da página) ---------- */
.f-amarelo{background:var(--amarelo);color:var(--tinta)}
.semana{padding:clamp(70px,9vw,130px) var(--m) clamp(64px,8vw,110px)}
.semana-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:clamp(26px,3.6vw,50px)}
.semana-sub{max-width:30ch}
.dias{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:clamp(20px,3vw,40px)}
.dia-btn{position:relative;padding:.3em 0 .45em;font-size:clamp(1.15rem,3.9vw,3.8rem);text-align:left;color:var(--tinta);opacity:.42;transition:opacity .2s,transform .25s var(--ease)}
.dia-btn:hover{opacity:.8;transform:translateY(-3px)}
.dia-btn[aria-selected="true"]{opacity:1}
.dia-btn[aria-selected="true"]::after{content:"";position:absolute;left:0;right:12%;bottom:0;height:6px;background:var(--vinho)}
.dia-btn small{position:absolute;left:0;top:-1.1em;font:400 clamp(1.1rem,1.5vw,1.5rem)/1 var(--mao);letter-spacing:0;text-transform:none;color:var(--vinho);white-space:nowrap}
.semana-painel{display:grid;grid-template-columns:7fr 5fr;gap:clamp(20px,4vw,70px);align-items:stretch}
.semana-lista>h3{font-size:var(--grande);margin-bottom:.35em}
.semana-frase{font-size:clamp(1.15rem,1.9vw,1.75rem);font-weight:300;line-height:1.2;letter-spacing:-.015em;max-width:30ch;margin-bottom:1.2em}
.momentos li{display:grid;grid-template-columns:minmax(7.4em,auto) 1fr;gap:0 1.2em;padding:.95em 0;border-top:2px solid var(--tinta)}
.momentos .hora{font-family:var(--mono);font-weight:500;font-size:.9em;padding-top:.15em}
.momentos strong{display:block;font-size:1.25em;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.semana-acoes{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.semana-foto{position:relative;margin:0;min-height:clamp(320px,38vw,620px);overflow:hidden;background:var(--tinta)}
.semana-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s var(--ease),transform .9s var(--ease)}
.semana-foto img.saindo{opacity:0;transform:scale(1.04)}
@media (max-width:760px){
  .semana-painel{grid-template-columns:1fr}
  .semana-foto{order:-1;min-height:62vw}
  .dia-btn small{top:-.9em}
}

/* ---------- programas (painéis de cor inteira) ---------- */
.programas{display:grid}
.prog{display:grid;grid-template-columns:1fr 1fr;min-height:min(88vh,860px)}
.prog-texto{padding:clamp(40px,6vw,96px) var(--m);display:flex;flex-direction:column;justify-content:space-between;gap:36px}
.prog-texto .leve{max-width:24em;margin-top:.8em}
.prog-quando{display:block;font-size:clamp(1.9rem,3vw,3rem);margin-bottom:.35em}
.prog-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.prog-foto{position:relative;overflow:hidden;margin:0;contain:size;min-height:100%}
.prog-foto img{display:block;width:100%;height:100%;object-fit:cover}
.prog--espelho .prog-foto{order:-1}
.f-vinho{background:var(--vinho);color:var(--creme)}
.f-vinho .titulo{color:var(--sol)}
.f-vinho .btn--cheio{--bg:var(--sol);--fg:var(--tinta)}
.f-tinta{background:var(--tinta);color:var(--creme)}
.f-tinta .titulo{color:var(--amarelo)}
.f-tinta .btn--cheio{--bg:var(--amarelo);--fg:var(--tinta)}
.f-rosa{background:var(--rosa);color:var(--tinta)}
.f-rosa .titulo{color:#9C1234}
.prog-passaporte{display:grid;place-items:center;background:var(--tinta);padding:clamp(30px,5vw,70px);position:relative;contain:none}
.prog-passaporte img{height:auto;width:min(62%,400px);object-fit:contain;transform:rotate(-5deg);transition:transform .5s var(--ease)}
.prog-passaporte:hover img{transform:rotate(-1deg) scale(1.02)}
.carimbo{position:absolute;right:9%;top:12%;font:400 clamp(1.8rem,3.4vw,3.2rem)/.95 var(--mao);color:var(--amarelo);transform:rotate(8deg);text-align:center}
@media (max-width:760px){
  .prog{grid-template-columns:1fr;min-height:0}
  .prog--espelho .prog-foto{order:0}
  .prog-foto{height:112vw;min-height:0}
  .prog-passaporte{height:auto;min-height:96vw}
}

/* ---------- cardápio ---------- */
.menu{padding:var(--bloco) 0 0}
.menu-topo{padding:0 var(--m);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:clamp(30px,4vw,60px)}
.menu-sub{max-width:27em}
.mosaico{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.25fr;gap:8px;padding:0 var(--m);align-items:start}
.mosaico figure{overflow:hidden;background:var(--tinta);position:relative}
.mosaico img,.mosaico video{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.mosaico figure:hover img{transform:scale(1.05)}
.mosaico figure:nth-child(1){aspect-ratio:3/4.6}
.mosaico figure:nth-child(2){aspect-ratio:3/4;margin-top:9vw}
.mosaico figure:nth-child(3){aspect-ratio:3/5.4}
.mosaico figure:nth-child(4){aspect-ratio:3/4;margin-top:6vw}
.mosaico figure:nth-child(5){aspect-ratio:3/4.6;margin-top:2vw}
@media (max-width:760px){
  .mosaico{grid-template-columns:1fr 1fr;gap:6px}
  .mosaico figure:nth-child(n){margin-top:0;aspect-ratio:3/4}
  .mosaico figure:nth-child(3){grid-column:1/-1;grid-row:2;aspect-ratio:4/5}
  .mosaico figure:nth-child(4){margin-top:0}
}
.carta{padding:clamp(56px,8vw,120px) var(--m) clamp(60px,6vw,90px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,5vw,76px) clamp(24px,4vw,64px)}
.carta h3{font-size:clamp(1.7rem,2.8vw,2.8rem);margin-bottom:.45em;color:var(--vinho)}
.carta li{padding:.62em 0}
.carta li strong{display:block;font-weight:650;font-size:1.12em;letter-spacing:-.015em;line-height:1.2}
.carta li span{display:block;font-size:.92em;line-height:1.35;margin-top:.14em}
.carta-fim{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.carta-mm{grid-column:span 2;background:var(--tinta);color:var(--creme);padding:clamp(22px,3vw,42px);display:grid;grid-template-columns:1fr 1fr;gap:24px}
.carta-mm h3{color:var(--amarelo)}
.carta-mm img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.carta-mm .leve{font-size:clamp(1.05rem,1.45vw,1.4rem);line-height:1.22;margin-bottom:.8em}
@media (max-width:980px){.carta{grid-template-columns:1fr 1fr}.carta-mm{grid-column:1/-1}}
@media (max-width:620px){.carta{grid-template-columns:1fr}.carta-mm{grid-template-columns:1fr}}

/* ---------- bar ---------- */
.bar{padding:clamp(70px,7vw,110px) var(--m) clamp(70px,9vw,140px)}
.bar-grade{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--m);align-items:start}
.bar-grade>.titulo{grid-column:1/10}
.bar-sub{grid-column:1/6;margin-top:clamp(20px,3vw,44px)}
.bar-sub .mao{display:block;font-size:clamp(2.2rem,3.8vw,3.7rem);color:var(--amarelo);margin-bottom:.15em}
.bar-f1{grid-column:7/13;grid-row:2/4;margin-top:clamp(-140px,-8vw,0px)}
.bar-f1 img{width:100%;aspect-ratio:4/5;object-fit:cover}
.bar-lista{grid-column:1/6}
.bar-lista li{padding:.8em 0}
.bar-lista strong{display:block;font-size:1.45em;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--amarelo)}
.bar-f2{grid-column:1/4;margin-top:30px}
.bar-f3{grid-column:4/7;margin-top:80px}
.bar-f4{grid-column:7/10;margin-top:18px}
.bar-f5{grid-column:10/13;margin-top:60px}
.bar-grade figure img{width:100%;object-fit:cover}
.bar-f2 img,.bar-f3 img,.bar-f4 img,.bar-f5 img{aspect-ratio:3/4}
@media (max-width:760px){
  .bar-grade>.titulo,.bar-sub,.bar-lista{grid-column:1/-1}
  .bar-f1{grid-column:1/-1;grid-row:auto;margin-top:0}
  .bar-f2,.bar-f4{grid-column:1/7;margin-top:0}
  .bar-f3,.bar-f5{grid-column:7/13;margin-top:40px}
}

/* palavras soltas sobre a foto */
.soltas{position:relative;height:min(100vh,62vw);min-height:440px;overflow:hidden;background:var(--tinta);color:var(--creme)}
.soltas img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.soltas::after{content:"";position:absolute;inset:0;background:#1a0f1240}
.soltas ul{position:absolute;inset:0;z-index:1;padding:var(--m)}
.soltas li{position:absolute;font-size:clamp(2.6rem,8.4vw,9rem)}
.soltas li:nth-child(1){left:var(--m);top:9%}
.soltas li:nth-child(2){left:27%;top:32%}
.soltas li:nth-child(3){left:49%;top:55%}
.soltas li:nth-child(4){right:var(--m);top:76%;color:var(--sol)}

/* ---------- eventos (fotos soltas, como as da Union) ---------- */
.eventos{padding:var(--bloco) var(--m);overflow-x:clip}
.eventos-topo{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--m);margin-bottom:clamp(36px,5vw,76px)}
.eventos-topo .titulo{grid-column:1/-1}
.eventos-topo .leve{grid-column:6/13;margin-top:clamp(10px,2vw,30px)}
.soltas-fotos{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--m);align-items:start;margin-bottom:clamp(40px,6vw,90px)}
.cartao{background:#fff;padding:10px 10px 12px;transition:transform .5s var(--ease)}
.cartao:hover{transform:rotate(0) translateY(-6px)!important}
.cartao img{width:100%;aspect-ratio:4/5;object-fit:cover}
.cartao figcaption{font:400 clamp(1.5rem,2vw,2.1rem)/1 var(--mao);padding:10px 4px 0;text-align:center}
.cartao:nth-child(1){grid-column:1/5;transform:rotate(-3deg)}
.cartao:nth-child(2){grid-column:5/9;transform:rotate(2deg);margin-top:8vw}
.cartao:nth-child(3){grid-column:9/13;transform:rotate(-1.5deg);margin-top:1vw}
.ocasioes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--m);margin-bottom:clamp(34px,4vw,60px)}
.ocasioes h3{font-size:clamp(1.7rem,2.9vw,2.9rem);margin-bottom:.4em;color:var(--vinho)}
.ocasioes p{max-width:30em}
.eventos-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
@media (max-width:760px){
  .eventos-topo .leve{grid-column:1/-1}
  .cartao:nth-child(1){grid-column:1/9}
  .cartao:nth-child(2){grid-column:5/13;margin-top:-6vw}
  .cartao:nth-child(3){grid-column:1/9;margin-top:-6vw}
  .ocasioes{grid-template-columns:1fr}
}

/* ---------- como chegar: o cartão "Horários" ---------- */
.chegar{display:grid;grid-template-columns:1fr 1fr}
.chegar-foto{position:relative;overflow:hidden;min-height:90vw}
@media (min-width:761px){.chegar-foto{min-height:0}}
.chegar-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chegar-cartao{position:relative;z-index:1;background:var(--papel);padding:clamp(40px,6vw,96px) var(--m);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4em}
.chegar-cartao h2{font:400 clamp(4.2rem,9vw,8.6rem)/.85 var(--mao);letter-spacing:0}
.horas{font-family:var(--mono);font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.55}
.horas div+div{margin-top:1.05em}
.horas dt{font-weight:500}
.horas dd{margin:0}
.chegar-end{font-family:var(--mono);font-size:.95rem;line-height:1.5}
.chegar-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@media (max-width:760px){.chegar{grid-template-columns:1fr}}

/* ---------- reserva ---------- */
.reserva{padding:clamp(80px,10vw,150px) var(--m)}
.reserva-grade{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,6vw,110px);align-items:start}
.reserva-lado .titulo{font-size:clamp(2.55rem,6vw,6.2rem)}
.reserva-lado .leve{margin-top:.7em;max-width:18em}
.reserva-lado .mao{display:block;font-size:clamp(2.6rem,5vw,4.8rem);color:var(--sol);margin-top:.4em}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo.largo{grid-column:1/-1}
.campo label{font-weight:600;font-size:.95rem}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:1.05rem;color:var(--tinta);background:var(--creme);border:0;border-radius:0;padding:.85em .9em;min-height:52px;appearance:none;-webkit-appearance:none}
.campo select{background-image:linear-gradient(45deg,transparent 50%,var(--tinta) 50%),linear-gradient(135deg,var(--tinta) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4em}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--sol);outline-offset:0}
.campo textarea{resize:vertical;min-height:84px}
.consenti{grid-column:1/-1;display:flex;gap:.7em;align-items:flex-start;font-size:.95rem;line-height:1.35}
.consenti input{width:22px;height:22px;flex:none;margin:.05em 0 0;accent-color:var(--amarelo)}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enviar{grid-column:1/-1;background:var(--sol);color:var(--tinta);font-weight:700;font-size:1.2rem;padding:1em;border-radius:999px;transition:background .2s,transform .2s}
.enviar:hover{background:var(--creme);transform:translateY(-2px)}
.enviar:disabled{opacity:.6;cursor:wait}
.recado{grid-column:1/-1;min-height:1.4em;margin:0;font-weight:600}
.recado[data-erro]{background:var(--sol);color:var(--tinta);padding:.5em .7em}
.aviso{grid-column:1/-1;font-size:.86rem;line-height:1.35}
.pronto h3{font-size:var(--grande);color:var(--sol);margin-bottom:.3em}
.pronto p{max-width:28em;margin-bottom:1.3em}
.pronto .btn--cheio{--bg:var(--sol);--fg:var(--tinta)}
@media (max-width:980px){.reserva-grade{grid-template-columns:1fr}}
@media (max-width:420px){.form{gap:16px 10px}}

/* ---------- rodapé ---------- */
.rodape{background:var(--tinta);color:var(--creme);padding:clamp(50px,7vw,100px) var(--m) 24px}
.rodape-frase{font-size:clamp(3rem,8vw,8.2rem);color:var(--amarelo);margin-bottom:clamp(30px,5vw,70px)}
.rodape-grade{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px 60px;margin-bottom:clamp(40px,7vw,100px)}
.rodape-grade ul a{display:inline-block;padding:.2em 0;text-decoration:none;font-weight:600;transition:color .2s,transform .2s}
.rodape-grade ul a:hover{color:var(--amarelo);transform:translateX(4px)}
.rodape-marca{width:100%;height:auto}
.rodape-fim{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:18px;font-size:.84rem}
.assinatura{display:inline-flex;align-items:center;gap:.7em;color:inherit;text-decoration:none;transition:opacity .2s}
.assinatura:hover{opacity:.72}
.assinatura img{height:38px;width:auto}

/* ---------- botão flutuante ---------- */
.zap{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:60;display:flex;align-items:center;gap:.5em;background:#25D366;color:var(--tinta);text-decoration:none;font-weight:700;font-size:.98rem;line-height:1;padding:.85em 1.15em .85em .95em;border-radius:999px;transition:opacity .25s,transform .25s}
.zap:hover{transform:translateY(-3px)}
.zap svg{width:22px;height:22px;flex:none}
.zap[data-oculto]{opacity:0;pointer-events:none;transform:translateY(10px)}
