/* Requinte Buffet, demo da Pixel Lever (31/10/2026). Método /site-premium, plano em ../site-premium/plano-fases-0-a-5.md.
   Identidade: paleta de noite da referência Monarque (vinho quase preto, creme de papel de convite, dourado fosco só no CTA
   e nos filetes); títulos em Cormorant Garamond, corpo em Jost. Logo: wordmark real vetorizado (assets/marca/). */

:root{
  --noite:#1b0d10; --brasa:#2a1215; --vinho:#4c181a; --vinho-2:#3a1316;
  --creme:#f4ecdf; --creme-2:#ebdfcb; --papel:#faf6ee;
  --tinta:#2a1b1d; --tinta-2:#5e4c47;
  --luz:#f3e8d8; --luz-2:#c9b7a2;
  --ouro:#b8955a; --ouro-2:#d8be8c;
  --serifa:"Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --sans:"Jost", "Futura", "Century Gothic", "Segoe UI", sans-serif;
  --raio:18px;
  --lado:clamp(18px, 5vw, 72px);
  --ct-accent:#b8955a;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-width:none;background:var(--noite)}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
body{margin:0;background:var(--noite);color:var(--luz);font-family:var(--sans);font-size:clamp(16px, .96rem + .18vw, 18.5px);line-height:1.6;
  scrollbar-width:none;overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a,button,summary,label{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:2px solid var(--ouro-2);outline-offset:3px;border-radius:6px}
.claro :focus-visible{outline-color:var(--vinho)}
h1,h2,h3{font-family:var(--serifa);font-weight:500;line-height:1.05;margin:0;letter-spacing:.005em}
p{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:12px;top:-60px;z-index:100;background:var(--ouro);color:var(--noite);padding:10px 16px;border-radius:10px;text-decoration:none}
.pular:focus{top:12px}

.eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-2)}
.claro .eyebrow{color:var(--vinho)}
.conf{display:inline-block;font-family:var(--sans);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ouro-2);border:1px solid rgba(216,190,140,.45);border-radius:99px;padding:.3em .7em .25em;line-height:1.2;white-space:nowrap;vertical-align:middle}
.claro .conf{color:var(--vinho);border-color:rgba(76,24,26,.35)}

/* ---------- barra de progresso no lugar da barra nativa ---------- */
#scrollprog{position:fixed;top:0;left:0;height:2px;width:0;z-index:90;pointer-events:none;
  background:linear-gradient(90deg, var(--vinho), var(--ouro) 55%, var(--ouro-2));box-shadow:0 0 8px rgba(216,190,140,.45)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:.85em 1.6em;border-radius:12px;
  font-family:var(--sans);font-size:.92rem;font-weight:500;letter-spacing:.06em;text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background-color .35s, color .35s, border-color .35s, transform .35s;user-select:none;-webkit-user-select:none}
.btn-ouro{background:var(--ouro);color:var(--noite)}
.btn-ouro:hover{background:var(--ouro-2)}
.btn-contorno{border-color:rgba(243,232,216,.5);color:var(--luz)}
.btn-contorno:hover{background:var(--luz);color:var(--noite);border-color:var(--luz)}
.btn svg{width:20px;height:20px;flex:none}

/* ---------- navbar ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding:calc(14px + env(safe-area-inset-top)) var(--lado) 14px;color:var(--luz);will-change:transform;
  background:linear-gradient(180deg, rgba(27,13,16,.72), rgba(27,13,16,0));transition:background-color .4s}
.nav.solida{background:rgba(27,13,16,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.marca{display:block;width:118px;aspect-ratio:229.5/83.8;background:currentColor;
  -webkit-mask:url(../assets/marca/requinte-buffet.svg) no-repeat center/contain;mask:url(../assets/marca/requinte-buffet.svg) no-repeat center/contain}
.nav-marca{justify-self:start;display:block;padding:4px 0;text-decoration:none}
.nav-links{display:flex;gap:clamp(16px, 2.2vw, 34px)}
.nav-links a{position:relative;font-size:.86rem;letter-spacing:.08em;text-decoration:none;color:var(--luz);opacity:.86;padding:8px 0;transition:opacity .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after,.nav-links a.ativo::after{transform:scaleX(1)}
.nav-dir{justify-self:end;display:flex;align-items:center;gap:10px}
.nav-cta{min-height:42px;padding:.55em 1.1em;font-size:.82rem}
.nav-menu{display:none;min-height:44px;min-width:44px;padding:0 14px;border:1px solid rgba(243,232,216,.35);background:transparent;border-radius:12px;cursor:pointer;
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.menu-cel{position:fixed;inset:0;z-index:58;background:var(--noite);display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:90px var(--lado) calc(40px + env(safe-area-inset-bottom))}
.menu-cel a{font-family:var(--serifa);font-size:2.3rem;line-height:1.25;text-decoration:none;color:var(--luz);padding:6px 0;border-bottom:1px solid rgba(243,232,216,.1)}

/* aba vertical "Consultar data" na borda direita (referência Stazione Leopolda) */
.aba{position:fixed;right:0;top:50%;z-index:55;transform:translateY(-50%);writing-mode:vertical-rl;rotate:180deg;
  background:var(--ouro);color:var(--noite);text-decoration:none;font-size:.74rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:18px 11px;border-radius:0 10px 10px 0;transition:padding .35s, background-color .35s, opacity .4s}
.aba:hover{background:var(--ouro-2);padding-left:15px}
.aba.escondida{opacity:0;pointer-events:none}

/* ---------- 1. A noite (hero) ---------- */
.abre{position:relative}
.noite{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;overflow:hidden;z-index:0;background:var(--noite)}
.noite-palco{position:absolute;inset:0;will-change:transform}
.noite-foto,.noite-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.noite-foto img{transform-origin:55% 60%;will-change:transform}
.noite-veu{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(27,13,16,.88) 0%, rgba(27,13,16,.66) 45%, rgba(27,13,16,.12) 78%, rgba(27,13,16,0) 90%),
  radial-gradient(120% 90% at 10% 100%, rgba(58,19,22,.95) 0%, rgba(58,19,22,.68) 40%, rgba(27,13,16,0) 74%),
  linear-gradient(180deg, rgba(27,13,16,.4) 0%, rgba(27,13,16,.05) 30%, rgba(27,13,16,.35) 65%, rgba(27,13,16,.8) 100%)}
/* 31/10 (Tony): legibilidade do hero. Véu mais forte à esquerda e embaixo, título em 600 e sombra suave atrás do texto. */
.noite-texto{text-shadow:0 2px 18px rgba(27,13,16,.55)}
.noite-texto{position:absolute;left:var(--lado);right:var(--lado);bottom:clamp(64px, 12vh, 120px);max-width:min(860px, 78vw)}
.noite h1{font-size:clamp(2.7rem, 1.2rem + 5.4vw, 6.3rem);text-transform:uppercase;letter-spacing:.01em;line-height:.98;margin:.32em 0 .3em;color:var(--luz);font-weight:600}
.noite-sub{max-width:36em;color:var(--luz-2);font-size:clamp(1rem, .95rem + .3vw, 1.2rem)}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px, 3.6vh, 34px)}
.role{position:absolute;right:var(--lado);bottom:clamp(64px, 12vh, 120px);display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--luz-2)}
.role span{writing-mode:vertical-rl;rotate:180deg}
.role i{display:block;width:1px;height:56px;background:linear-gradient(var(--ouro-2), rgba(216,190,140,0));animation:pulso 2.6s ease-in-out infinite}
@keyframes pulso{0%,100%{opacity:.35}50%{opacity:1}}

/* ---------- 2. Começou numa cozinha ---------- */
.cozinha{position:relative;z-index:2;background:var(--vinho-2);border-radius:32px 32px 0 0;box-shadow:0 -24px 60px rgba(0,0,0,.35)}
.cozinha-cena{height:210vh}
.cozinha-palco{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:0 var(--lado)}
.cozinha-palco .eyebrow{margin-bottom:clamp(20px, 4vh, 40px)}
.manifesto{position:relative;width:100%;max-width:1400px;font-size:clamp(2.3rem, .8rem + 5.6vw, 6.4rem);text-transform:uppercase;line-height:1.04;color:var(--luz);text-align:center}
.m-linha{display:grid;grid-template-columns:1fr 1fr;column-gap:.28em}
.m-linha .e{text-align:right;will-change:transform}
.m-linha .d{text-align:left;will-change:transform}
.retrato{position:absolute;left:50%;top:50%;width:clamp(120px, 13vw, 210px);height:min(36vh, 330px);margin:0;translate:-50% -50%;
  border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.4);will-change:transform}
.retrato img{width:100%;height:100%;object-fit:cover;scale:1.15}
.cozinha-texto{position:relative;max-width:46em;margin:0 auto;padding:0 var(--lado) clamp(40px, 6vh, 60px);text-align:center;color:var(--luz-2);
  font-size:clamp(1.05rem, .98rem + .35vw, 1.3rem);margin-top:-6vh}
.numeros{list-style:none;margin:0 auto;padding:clamp(20px, 4vh, 40px) var(--lado) clamp(90px, 14vh, 150px);display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));
  max-width:1100px;gap:clamp(12px, 3vw, 48px)}
.numeros li{border-top:1px solid rgba(216,190,140,.35);padding-top:18px;text-align:center}
.numeros strong{display:block;font-family:var(--serifa);font-weight:500;font-size:clamp(2.4rem, 1.4rem + 3.4vw, 4.4rem);line-height:1;color:var(--luz);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.numeros span{display:block;margin-top:8px;font-size:.84rem;letter-spacing:.06em;color:var(--luz-2)}

/* ---------- 3. Os salões ---------- */
.saloes{position:relative;z-index:2;background:var(--noite)}
.saloes-cena{height:270vh}
.saloes-palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.saloes-cab{position:absolute;top:clamp(84px, 13vh, 120px);left:var(--lado);z-index:3}
.salao{position:absolute;inset:0;display:grid;grid-template-columns:60fr 40fr;align-items:center;gap:clamp(28px, 4vw, 72px);
  padding:clamp(150px, 20vh, 190px) var(--lado) clamp(48px, 9vh, 90px)}
.salao-b{grid-template-columns:40fr 60fr}
.salao-b .salao-foto{order:2}
.salao-foto{position:relative;height:100%;max-height:68vh;border-radius:var(--raio);overflow:hidden;margin:0}
.salao-foto img{width:100%;height:100%;object-fit:cover}
.salao-a .salao-foto img{filter:saturate(.8) sepia(.12)}
.salao-foto figcaption{position:absolute;left:14px;bottom:12px;font-size:.7rem;letter-spacing:.08em;color:rgba(243,232,216,.8);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.salao-txt h2{font-size:clamp(3rem, 1.6rem + 4.6vw, 6rem);text-transform:uppercase;color:var(--luz)}
.salao-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:.5em 0 .9em;color:var(--luz-2)}
.salao-cap strong{font-family:var(--serifa);font-weight:500;font-size:clamp(2.4rem, 1.6rem + 2.4vw, 3.8rem);line-height:1;color:var(--ouro-2);white-space:nowrap;font-variant-numeric:lining-nums}
.salao-txt p.desc{color:var(--luz-2);max-width:28em}
.saloes-fecho{position:relative;padding:clamp(70px, 12vh, 130px) var(--lado) clamp(30px, 5vh, 50px);max-width:1200px;margin:0 auto;text-align:center}
.saloes-fecho p{font-family:var(--serifa);font-size:clamp(1.6rem, 1.1rem + 1.6vw, 2.7rem);line-height:1.2;color:var(--luz)}
.saloes-fecho .conf{margin-top:14px}
.menores{padding:clamp(40px, 8vh, 80px) var(--lado) clamp(90px, 14vh, 150px);max-width:1360px;margin:0 auto}
.menores-cab{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px;margin-bottom:clamp(24px, 4vh, 40px)}
.menores-cab h3{font-size:clamp(2rem, 1.3rem + 2vw, 3.2rem);color:var(--luz)}
.menores-cab p{max-width:30em;color:var(--luz-2)}
.cartoes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(14px, 2vw, 28px)}
.cartao{display:flex;flex-direction:column;gap:14px}
.cartao figure{margin:0;border-radius:var(--raio);overflow:hidden;aspect-ratio:4/5;background:var(--brasa)}
.cartao figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.cartao:hover figure img{transform:scale(1.08)}
.cartao h4{margin:0;font-family:var(--serifa);font-weight:500;font-size:1.8rem;line-height:1.1;color:var(--luz)}
.cartao p{color:var(--luz-2);font-size:.96rem}
.cartao .conf{align-self:flex-start}

/* ---------- 4. A mesa (claro) ---------- */
.claro{background:var(--creme);color:var(--tinta)}
.mesa{position:relative;z-index:2;padding:clamp(90px, 15vh, 160px) var(--lado);display:grid;grid-template-columns:56fr 44fr;gap:clamp(36px, 6vw, 110px);align-items:center;
  max-width:1500px;margin:0 auto}
.mesa-fundo{position:relative;z-index:2;background:var(--creme)}
.colagem{position:relative;aspect-ratio:1/1.02}
.colagem figure{position:absolute;margin:0;border-radius:var(--raio);overflow:hidden;box-shadow:0 22px 50px rgba(42,27,29,.18)}
.colagem img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.colagem figure:hover img{transform:scale(1.12)}
.col-1{left:0;top:0;width:72%;aspect-ratio:1401/951}
.col-2{right:0;top:30%;width:44%;aspect-ratio:4/5;z-index:2}
.col-3{left:8%;bottom:0;width:40%;aspect-ratio:1/1}
.mesa-txt h2{font-size:clamp(2.6rem, 1.4rem + 3.8vw, 5rem);color:var(--vinho);margin:.35em 0 .45em}
.mesa-txt p{color:var(--tinta-2);max-width:30em}
.mesa-txt .apoio{margin-top:1.4em;padding-top:1em;border-top:1px solid rgba(76,24,26,.2);font-size:.95rem;color:var(--tinta)}

/* ---------- 5. Qual é a sua festa (claro) ---------- */
.festas{position:relative;z-index:2;background:var(--creme);padding:clamp(60px, 10vh, 120px) var(--lado) clamp(100px, 16vh, 170px);text-align:center;overflow:hidden}
.festas h2{font-size:clamp(1.9rem, 1.3rem + 1.8vw, 3rem);color:var(--vinho);margin:.4em 0 .2em}
.festas-dica{color:var(--tinta-2)!important;font-size:.74rem}
.so-toque{display:none}
.festas-lista{list-style:none;margin:clamp(24px, 4vh, 44px) auto 0;padding:0;max-width:1100px}
.festa{display:block;width:100%;background:none;border:0;padding:.06em 0;cursor:pointer;color:var(--vinho);
  font-family:var(--serifa);font-size:clamp(2.3rem, 1rem + 4.8vw, 6rem);line-height:1.04;transition:opacity .45s, color .45s;user-select:none;-webkit-user-select:none}
.festa .f-a{font-weight:400}
.festa .f-b{font-style:italic;font-weight:600}
.festas-lista.focando .festa{opacity:.28}
.festas-lista.focando li.ativa .festa{opacity:1}
.festa-cel{overflow:hidden}
.festa-cel-dentro{display:grid;gap:12px;justify-items:center;padding:6px 0 22px}
.festa-cel img{width:min(78vw, 320px);aspect-ratio:4/5;object-fit:cover;border-radius:14px}
.festa-cel p{color:var(--tinta-2);max-width:24em}
.festa-cel a{color:var(--vinho);font-weight:500;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.festa-flutua{position:fixed;left:0;top:0;z-index:40;width:clamp(220px, 19vw, 300px);margin:0;pointer-events:none;opacity:0;
  border-radius:16px;overflow:hidden;box-shadow:0 26px 60px rgba(42,27,29,.35);transition:opacity .35s;background:var(--brasa)}
.festa-flutua.vis{opacity:1}
.festa-flutua img{width:100%;aspect-ratio:4/5;object-fit:cover}
.festa-flutua figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;font-size:.9rem;line-height:1.35;color:var(--luz);text-align:left;
  background:linear-gradient(180deg, rgba(27,13,16,0), rgba(27,13,16,.86))}

/* ---------- 6. Quem produz mora aqui (claro) ---------- */
.master{position:relative;z-index:2;background:var(--creme-2);color:var(--tinta);padding:clamp(90px, 15vh, 160px) var(--lado)}
.master-grade{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:42fr 58fr;gap:clamp(36px, 6vw, 110px);align-items:start}
.master-cab{position:sticky;top:clamp(100px, 16vh, 150px)}
.master-cab h2{font-size:clamp(2.4rem, 1.4rem + 3vw, 4.4rem);color:var(--vinho);margin:.35em 0 .5em}
.master-cab p{color:var(--tinta-2);max-width:30em}
.passos-caixa{position:relative;padding-left:clamp(28px, 4vw, 56px)}
.passos{list-style:none;margin:0;padding:0}
.passos-caixa::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:rgba(76,24,26,.18)}
.fio{position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--vinho);transform-origin:top;transform:scaleY(0)}
.passo{position:relative;padding:clamp(26px, 5vh, 46px) 0;border-bottom:1px solid rgba(76,24,26,.12);opacity:.38;transition:opacity .6s}
.passo:last-child{border-bottom:0}
.passo.aceso,html:not(.gsap-ok) .passo{opacity:1}
.passo::before{content:"";position:absolute;left:calc(-1 * clamp(28px, 4vw, 56px) - 4px);top:calc(clamp(26px, 5vh, 46px) + 14px);width:9px;height:9px;border-radius:50%;
  background:var(--creme-2);border:1px solid var(--vinho);transition:background-color .6s}
.passo.aceso::before{background:var(--vinho)}
.passo .idx{font-size:.8rem;letter-spacing:.18em;color:var(--vinho)}
.passo h3{font-size:clamp(1.9rem, 1.3rem + 1.6vw, 2.9rem);color:var(--tinta);margin:.2em 0 .3em}
.passo p{color:var(--tinta-2);max-width:32em}

/* ---------- 7. Contado por quem fez a festa ---------- */
.depo{position:relative;z-index:2;background:var(--brasa);padding:clamp(90px, 15vh, 150px) var(--lado) clamp(120px, 18vh, 190px);overflow:hidden}
.depo-cab{max-width:1360px;margin:0 auto clamp(30px, 6vh, 56px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px 40px}
.depo-cab h2{font-size:clamp(2.4rem, 1.4rem + 3vw, 4.4rem);color:var(--luz);max-width:12em}
.depo-cab .apoio{color:var(--luz-2)}
.depo-cab .apoio a{color:var(--ouro-2);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.colunas{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(14px, 2vw, 26px);height:min(76vh, 720px);overflow:hidden;
  -webkit-mask:linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);mask:linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent)}
.coluna{display:flex;flex-direction:column;gap:clamp(14px, 2vw, 26px);will-change:transform}
.coluna.sobe{animation:sobe 48s linear infinite}
.coluna.desce{animation:desce 54s linear infinite}
@keyframes sobe{from{transform:translateY(0)}to{transform:translateY(calc(-50% - clamp(7px, 1vw, 13px)))}}
@keyframes desce{from{transform:translateY(calc(-50% - clamp(7px, 1vw, 13px)))}to{transform:translateY(0)}}
.coluna.estatica{animation:none}
.depo-lista{list-style:none;margin:0;padding:0;display:contents}
.cartao-depo{margin:0;background:rgba(243,232,216,.05);border:1px solid rgba(216,190,140,.16);border-radius:var(--raio);padding:clamp(22px, 2.4vw, 32px)}
.cartao-depo blockquote{margin:0;font-family:var(--serifa);font-size:clamp(1.25rem, 1.1rem + .45vw, 1.55rem);line-height:1.32;color:var(--luz)}
.cartao-depo figcaption{margin-top:16px;font-size:.84rem;letter-spacing:.06em;color:var(--ouro-2)}

/* ---------- 8. Venha ver o salão ---------- */
.visita{position:relative;z-index:3;background:var(--noite);border-radius:32px 32px 0 0;margin-top:-32px;box-shadow:0 -24px 60px rgba(0,0,0,.35);
  padding:clamp(90px, 14vh, 150px) var(--lado) 0}
.visita-grade{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:52fr 48fr;gap:clamp(36px, 6vw, 100px);align-items:start}
.visita h2{font-size:clamp(2.6rem, 1.4rem + 3.8vw, 5rem);color:var(--luz);margin:.35em 0 .4em;text-transform:uppercase}
.visita-lead{color:var(--luz-2);max-width:30em}
.form{margin-top:clamp(26px, 4vh, 40px);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.campo{display:grid;gap:8px}
.campo-todo{grid-column:1 / -1}
.campo label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--luz-2)}
.campo select,.campo input{width:100%;min-height:52px;padding:.7em 1em;border-radius:12px;border:1px solid rgba(216,190,140,.35);background:rgba(243,232,216,.06);
  color:var(--luz);font-family:var(--sans);font-size:16px;line-height:1.3;transition:border-color .3s, background-color .3s}
.campo select:focus,.campo input:focus{border-color:var(--ouro-2);background:rgba(243,232,216,.1)}
.campo input::placeholder{color:rgba(201,183,162,.7)}
.enviar{grid-column:1 / -1;justify-self:start;min-width:270px;margin-top:6px;position:relative}
.enviar[aria-busy="true"]{cursor:progress}
.enviar .gira{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(27,13,16,.25);border-top-color:var(--noite);animation:gira .8s linear infinite}
.enviar[aria-busy="true"] .gira{display:block}
.enviar[aria-busy="true"] .ic-zap{display:none}
@keyframes gira{to{transform:rotate(360deg)}}
.form-aviso{grid-column:1 / -1;min-height:1.5em;font-size:.92rem;color:var(--luz-2)}
.form-aviso.ok{color:var(--ouro-2)}
.form-aviso.erro{color:#f0a49a}
.lugar{display:grid;gap:18px}
.lugar figure{margin:0;border-radius:var(--raio);overflow:hidden;aspect-ratio:16/10;position:relative}
.lugar figure img{width:100%;height:100%;object-fit:cover}
.lugar figure figcaption{position:absolute;left:14px;bottom:12px;font-size:.72rem;letter-spacing:.08em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.lugar address{font-style:normal;color:var(--luz)}
.lugar .horario{color:var(--luz-2);font-size:.95rem}
.rotas{display:flex;flex-wrap:wrap;gap:10px}
.rota{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:.55em 1.1em;border-radius:12px;border:1px solid rgba(243,232,216,.25);text-decoration:none;
  font-size:.9rem;transition:background-color .3s, border-color .3s}
.rota:hover{background:rgba(243,232,216,.08);border-color:rgba(243,232,216,.5)}
.rota svg{width:22px;height:22px;flex:none}

/* FAQ */
.faq{max-width:1000px;margin:clamp(80px, 12vh, 130px) auto 0;padding-bottom:clamp(70px, 10vh, 110px)}
.faq h2{font-size:clamp(2rem, 1.4rem + 1.8vw, 3.2rem);text-transform:none;margin:0 0 .6em}
.faq details{border-top:1px solid rgba(216,190,140,.22)}
.faq details:last-child{border-bottom:1px solid rgba(216,190,140,.22)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;cursor:pointer;
  font-family:var(--serifa);font-size:clamp(1.3rem, 1.1rem + .6vw, 1.7rem);line-height:1.25;color:var(--luz)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;color:var(--luz);
  background:linear-gradient(currentColor,currentColor) 50% 50%/14px 2px no-repeat,
             linear-gradient(currentColor,currentColor) 50% 50%/2px 14px no-repeat, rgba(243,232,216,.08);
  transition:transform .35s, background-color .35s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:rgba(184,149,90,.45)}
.faq .resp{padding:0 52px 22px 0;color:var(--luz-2)}
.faq .resp .conf{margin-left:4px}

/* rodapé */
.rodape{position:relative;z-index:3;background:var(--noite);border-top:1px solid rgba(216,190,140,.16);padding:clamp(50px, 8vh, 80px) var(--lado) calc(26px + env(safe-area-inset-bottom));color:var(--luz-2)}
.rod-grade{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px 40px}
.rod-marca .marca{width:170px;color:var(--luz)}
.rod-marca p{margin-top:16px;max-width:24em;font-size:.95rem}
.rodape h3{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-2);margin-bottom:12px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rodape ul a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:var(--luz);transition:opacity .3s}
.rodape ul a:hover{opacity:.75}
.rodape ul svg{width:20px;height:20px;flex:none}
.rod-base{max-width:1360px;margin:36px auto 0;padding-top:16px;border-top:1px solid rgba(243,232,216,.1);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;font-size:.86rem}

/* Crédito "Feito pela Pixel Lever" (regra da casa; mesmo componente da Lavaqui, 29/10/2026) */
.pl-credito{display:inline-block;line-height:44px;min-height:44px;padding:0 .25em;color:inherit;text-decoration:none;font-size:max(14px,.875rem);white-space:nowrap;transition:opacity .25s}
.pl-credito:hover{opacity:.78}
.pl-credito-nome{font-size:0}
.pl-credito .pl-credito-marca{display:inline-block;height:.82em;width:6.56em;max-width:none;margin-left:.42em;vertical-align:baseline;overflow:visible}

/* ---------- celular e tablet ---------- */
@media (max-width:980px){
  .nav{grid-template-columns:1fr auto}
  .nav-links{display:none}
  .nav-menu{display:inline-flex;align-items:center}
  .aba{display:none}
  .saloes-cena{height:auto}
  .saloes-palco{position:relative;height:auto;overflow:visible;padding:clamp(80px, 12vh, 120px) 0 0}
  .saloes-cab{position:relative;top:auto;left:auto;padding:0 var(--lado) 20px}
  .salao,.salao-b{position:relative;inset:auto;grid-template-columns:1fr;padding:0 var(--lado) clamp(48px, 8vh, 70px);gap:20px}
  .salao-b .salao-foto{order:0}
  .salao-foto{height:auto;aspect-ratio:4/3;max-height:none}
  .saloes-fecho{padding-top:30px}
  .cartoes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(-1 * var(--lado));padding:0 var(--lado) 8px;scrollbar-width:none}
  .cartoes::-webkit-scrollbar{display:none}
  .cartao{flex:0 0 min(78vw, 340px);scroll-snap-align:start}
  .mesa{grid-template-columns:1fr}
  .colagem{max-width:620px;width:100%;margin:0 auto}
  .master-grade{grid-template-columns:1fr}
  .master-cab{position:relative;top:auto}
  .colunas{grid-template-columns:1fr;height:min(70vh, 620px)}
  .visita-grade{grid-template-columns:1fr}
  .rod-grade{grid-template-columns:1fr 1fr}
  .rod-marca{grid-column:1 / -1}
}
@media (max-width:640px){
  .nav-cta{padding:.5em .9em;font-size:.78rem;min-height:44px}
  .marca{width:96px}
  .noite-texto{bottom:clamp(40px, 9vh, 80px);max-width:none}
  .noite h1{font-size:clamp(2.35rem, 10.2vw, 3.2rem)}
  .role{display:none}
  .acoes .btn{flex:1 1 auto}
  .manifesto{font-size:clamp(1.9rem, 9.4vw, 2.6rem)}
  .m-linha{display:block}
  .m-linha .e,.m-linha .d{display:inline-block;text-align:center}
  .retrato{width:clamp(96px, 30vw, 132px);height:min(24vh, 190px);top:66.6%}
  .numeros{grid-template-columns:1fr;gap:6px;max-width:420px}
  .numeros li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;text-align:left;padding:14px 0 10px}
  .numeros span{margin:0;text-align:right}
  .festa{font-size:clamp(2.1rem, 10vw, 2.8rem);padding:.12em 0}
  .so-toque{display:inline}.so-mouse{display:none}
  .form{grid-template-columns:1fr}
  .enviar{min-width:0;width:100%}
  .faq .resp{padding-right:0}
  .rod-grade{grid-template-columns:1fr}
}
@media (hover:none),(pointer:coarse){
  .so-toque{display:inline}.so-mouse{display:none}
  .btn,.rota,.nav-menu{min-height:48px}
}
@media (prefers-reduced-motion:reduce){
  .coluna.sobe,.coluna.desce,.role i{animation:none}
  .retrato img{scale:1}
}
