/* Requinte Festas Kids · prévia Bandit Studio
   Buffet: cores da fachada (placa laranja, muro turquesa, círculos azul/amarelo/laranja, tapete vermelho).
   Chácara: preto e rosé do logo do Espaço RD. */
:root{
  --creme:#f3fbfb; --creme-2:#e2f4f4; --tinta:#1d1838; --tinta-2:#4a4566;
  --laranja:#f2552c; --laranja-forte:#cf3d17; --laranja-esc:#c9361a; --tur:#4fc1c6; --tur-esc:#11777c; --amarelo:#ffd23f; --azul:#2f6fd6; --rosa:#e8318a; --roxo:#8b3fd1; --vermelho:#d8262f;
  --rd-fundo:#141012; --rd-fundo-2:#1f191b; --rose:#e2ad99; --rose-claro:#f3d3c6; --rd-texto:#efe4df;
  --zap:#157f3f;
  --r:22px; --r-p:14px;
  --f-tit:"Baloo 2", system-ui, sans-serif; --f-txt:"Nunito Sans", system-ui, sans-serif; --f-script:"Pinyon Script", cursive; --f-rd:"Cormorant Garamond", Georgia, serif;
  --pad:clamp(16px, 5vw, 56px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--creme);color:var(--tinta);font:400 17px/1.6 var(--f-txt);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;caret-color:var(--laranja)}
main,footer{overflow-x:clip}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-tit);line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
::selection{background:var(--amarelo);color:var(--tinta)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
html{scrollbar-color:var(--laranja) var(--creme-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none}
.pular:focus{top:12px}

/* botões */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;font:700 16px/1.1 var(--f-txt);text-decoration:none;border:2px solid transparent;cursor:pointer;touch-action:manipulation;transition:background-color .2s,color .2s,border-color .2s}
.bt svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bt-buffet{background:var(--laranja-forte);color:#fff}
.bt-buffet:hover{background:#b33212}
.bt-chacara{background:var(--rd-fundo);color:var(--rose-claro);border-color:var(--rose)}
.bt-chacara:hover{background:#2a2124}
.bt-zap{background:var(--zap);color:#fff}
.bt-zap:hover{background:#0f6a33}
.bt-linha{background:transparent;border-color:currentColor;font-size:15px;min-height:44px;padding:10px 18px}
.bt-grande{min-height:56px;padding:14px 28px;font-size:17px}

/* topo */
.topo{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:16px;padding:8px var(--pad);padding-top:max(8px, env(safe-area-inset-top));transition:background-color .3s, box-shadow .3s}
.topo.solido{background:rgba(243,251,251,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(29,24,56,.08)}
.marca{display:block;margin-right:auto}
.marca-logo{width:108px;height:74px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.topo.solido .marca-logo{filter:none}
.topo-links{display:none;gap:26px;font-weight:700}
.topo-links a{text-decoration:none;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.topo.solido .topo-links a{color:var(--tinta);text-shadow:none}
.topo-links a:hover{text-decoration:underline;text-underline-offset:5px}
.bt-topo{background:var(--amarelo);color:var(--tinta);min-height:44px;padding:10px 16px;font-size:15px}
.bt-topo:hover{background:#ffc400}
@media (min-width:900px){.topo-links{display:flex}}

/* capa */
.capa{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:clip}
.capa-midia{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#2b2450}
.capa-video{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform-origin:50% 40%}
.capa-veu{position:absolute;inset:0;background:linear-gradient(180deg, rgba(29,24,56,.55) 0%, rgba(29,24,56,0) 22%, rgba(29,24,56,0) 38%, rgba(29,24,56,.78) 64%, rgba(29,24,56,.96) 100%)}
.aneis{position:absolute;pointer-events:none}
.aneis-capa{width:118px;right:-40px;top:46%;z-index:-1;opacity:.95}
.capa-txt{width:100%;padding:0 var(--pad) max(28px, env(safe-area-inset-bottom));padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.capa h1{font-size:clamp(42px, 11.6vw, 104px);font-weight:800;line-height:.92;margin-bottom:.32em}
.capa h1 .l{display:block}
.capa h1 em{font-style:normal;color:var(--amarelo);position:relative;white-space:nowrap}
.capa h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.1em;height:.18em;background:var(--vermelho);border-radius:4px;z-index:-1;transform-origin:left}
.capa-sub{font-size:17px;max-width:34ch;color:#f4f0ff;margin-bottom:14px}
.nota-google{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:#fff;text-decoration:none;margin-bottom:18px;font-variant-numeric:tabular-nums}
.nota-google b{font-size:17px}
.estrelas{display:inline-flex;gap:2px}
.estrelas svg{width:16px;height:16px;fill:var(--amarelo);stroke:none}
.capa-bts{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px}
.capa-bts .bt{padding:12px 10px;font-size:15.5px}
@media (min-width:900px){
  .capa{align-items:center;background:var(--tinta)}
  .capa-txt{max-width:1240px;margin:0 auto;padding:110px var(--pad) 70px}
  .capa-txt > *{max-width:600px}
  .capa h1{font-size:clamp(56px, 5.6vw, 88px);max-width:none}
  .capa-midia{inset:96px max(var(--pad), calc((100vw - 1240px)/2 + 40px)) 48px auto;width:min(36vw, 470px);border-radius:240px 240px 26px 26px;border:10px solid var(--amarelo);outline:10px solid var(--laranja);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
  .capa-veu{background:linear-gradient(180deg, rgba(29,24,56,0) 60%, rgba(29,24,56,.45))}
  .capa-video{object-position:50% 30%}
  .aneis-capa{width:300px;left:-120px;right:auto;top:auto;bottom:-120px}
  .capa-sub{font-size:19px}
}

/* portas */
.portas{padding:72px var(--pad) 56px;max-width:1240px;margin:0 auto}
.portas h2{font-size:clamp(34px, 9vw, 64px);font-weight:800;margin-bottom:28px;max-width:16ch}
h2 em,h3 em{font-style:normal;color:var(--laranja-esc)}
.portas-grade{display:grid;gap:18px;perspective:1200px}
.porta{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:var(--r);overflow:hidden;text-decoration:none;transform-style:preserve-3d}
.porta-buffet{background:var(--laranja-forte);color:#fff}
.porta-chacara{background:var(--rd-fundo);color:var(--rd-texto);box-shadow:inset 0 0 0 1px rgba(226,173,153,.35)}
.porta-midia{aspect-ratio:4/3.2;overflow:hidden;position:relative}
.porta-midia video{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.porta-txt{position:relative;padding:22px 22px 24px}
.porta-logo{position:absolute;right:16px;top:-46px;width:96px;height:66px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}
.porta-logo-rd{width:78px;height:78px;top:-50px;color:var(--rose);background:var(--rd-fundo);border-radius:50%;filter:none}
.porta h3{font-size:34px;font-weight:800;margin-bottom:8px}
.porta-chacara h3{font-family:var(--f-rd);font-weight:600;font-size:38px;color:var(--rose-claro)}
.porta p{font-size:16px;max-width:42ch}
.porta-ir{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700}
.porta-ir svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .25s}
.porta:hover .porta-ir svg{transform:translateX(4px)}
@media (min-width:860px){.portas-grade{grid-template-columns:1fr 1fr;gap:24px}.porta-midia{aspect-ratio:4/3.4}}

/* faixas */
.faixas{padding:14px 0 30px;overflow:hidden}
.faixa{display:flex;white-space:nowrap;font:800 clamp(26px, 7vw, 54px)/1.25 var(--f-tit);width:max-content}
.faixa span{padding-right:.3em}
.faixa-a{color:var(--laranja)}
.faixa-b{color:transparent;-webkit-text-stroke:1.5px var(--tinta)}

/* buffet */
.buffet{position:relative;padding:40px 0 80px;background:linear-gradient(180deg, var(--creme) 0%, var(--creme-2) 100%)}
.aneis-buffet{width:150px;right:-56px;top:-40px;opacity:.95}
.bloco-in{max-width:1240px;margin:0 auto;padding:0 var(--pad);position:relative}
.buffet-topo{position:relative;padding-top:40px}
.buffet h2,.chacara h2,.datas h2,.onde h2{font-size:clamp(44px, 12vw, 92px);font-weight:800;margin-bottom:14px}
.lead{font-size:18px;max-width:46ch;color:var(--tinta-2)}
.trilho-wrap{margin:40px 0 20px}
.trilho-tit{max-width:1240px;margin:0 auto 14px;padding:0 var(--pad);font:700 22px/1.2 var(--f-tit)}
.trilho{list-style:none;margin:0;padding:6px var(--pad) 18px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);overscroll-behavior-x:contain;scrollbar-width:thin}
.cartao{flex:0 0 min(68vw, 300px);scroll-snap-align:start}
.cartao-foto{aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--tur)}
.cartao-foto img{width:100%;height:100%;object-fit:cover}
.cartao p{margin-top:10px;font:700 18px/1.25 var(--f-tit)}
.cartao:nth-child(4n+1) .cartao-foto{box-shadow:0 0 0 4px var(--amarelo)}
.cartao:nth-child(4n+2) .cartao-foto{box-shadow:0 0 0 4px var(--tur)}
.cartao:nth-child(4n+3) .cartao-foto{box-shadow:0 0 0 4px var(--rosa)}
.cartao:nth-child(4n+4) .cartao-foto{box-shadow:0 0 0 4px var(--azul)}
.sub-t{font-size:clamp(34px, 9vw, 62px);font-weight:800;margin:44px 0 22px}
.temas{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-auto-flow:dense}
.tema{margin:0;position:relative;border-radius:var(--r-p);overflow:hidden;aspect-ratio:3/4;background:var(--creme-2)}
.tema.t-alto{grid-row:span 2;aspect-ratio:auto}
.tema img{width:100%;height:100%;object-fit:cover}
.tema figcaption{position:absolute;left:10px;bottom:10px;background:rgba(29,24,56,.82);color:#fff;font:700 14px/1.2 var(--f-txt);padding:6px 12px;border-radius:999px}
@media (min-width:900px){.temas{grid-template-columns:repeat(4,1fr);gap:16px}.tema figcaption{font-size:15px}}

.avaliacoes{display:grid;gap:14px;margin-top:56px}
.av-nota{background:var(--tinta);color:#fff;border-radius:var(--r);padding:24px;display:grid;gap:6px;justify-items:start}
.av-num b{font:800 76px/1 var(--f-tit);color:var(--amarelo);font-variant-numeric:tabular-nums}
.estrelas-g svg{width:22px;height:22px}
.av{margin:0;background:#fff;border-radius:var(--r);padding:22px;box-shadow:0 1px 0 rgba(29,24,56,.06), 0 10px 30px -18px rgba(29,24,56,.35)}
.av p{font-size:17px}
.av cite{display:block;margin-top:10px;font-style:normal;font-weight:700;color:var(--tinta-2);font-size:14px}
@media (min-width:900px){.avaliacoes{grid-template-columns:1fr 1fr 1fr 1fr}}
.secao-cta{display:flex;justify-content:center;margin-top:36px}

/* chácara */
.chacara{background:var(--rd-fundo);color:var(--rd-texto);padding:84px 0 90px;position:relative}
.chacara h2,.chacara .sub-t{font-family:var(--f-rd);font-weight:600;letter-spacing:0;color:#fff}
.chacara h2{font-size:clamp(50px, 14vw, 110px);line-height:.95}
.chacara h2 em,.chacara h3 em{font-style:italic;color:var(--rose)}
.chacara .lead{color:#d9cdc8}
.ch-logo{width:84px;height:84px;color:var(--rose);margin-bottom:18px}
.ch-janela{margin:36px auto 0;max-width:1240px;padding:0 var(--pad)}
.ch-video{width:100%;aspect-ratio:9/12;object-fit:cover;border-radius:var(--r);clip-path:inset(0 0 0 0 round 22px)}
@media (min-width:900px){.ch-video{aspect-ratio:16/8;object-position:50% 60%}}
.ch-lista{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:0}
.ch-lista li{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid rgba(226,173,153,.25)}
.ch-lista b{font:600 26px/1.15 var(--f-rd);color:var(--rose-claro)}
.ch-lista span{font-size:15px;color:#bfb2ad}
@media (min-width:900px){.ch-lista{grid-template-columns:1fr 1fr 1fr;column-gap:32px}}
.chacara .sub-t{font-size:clamp(40px, 10vw, 76px)}
.ch-galeria{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.ch-galeria .col{display:grid;gap:12px}
.ch-galeria .col:nth-child(2){margin-top:48px}
.ch-galeria figure{margin:0;position:relative;border-radius:var(--r-p);overflow:hidden;aspect-ratio:3/4.4}
.ch-galeria img{width:100%;height:100%;object-fit:cover}
.ch-galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(transparent, rgba(20,16,18,.9));font:italic 600 19px/1.15 var(--f-rd);color:var(--rose-claro)}
.ch-galeria{margin-bottom:56px}
@media (min-width:900px){.ch-galeria{grid-template-columns:1fr 1fr;max-width:720px;margin:0 auto 80px}}
.chacara .bt-chacara{background:var(--rose);color:var(--rd-fundo);border-color:var(--rose)}
.chacara .bt-chacara:hover{background:var(--rose-claro)}

/* datas */
.datas{padding:84px 0 70px;background:var(--creme)}
.consulta{margin-top:26px;display:grid;gap:18px;max-width:640px}
.espacos{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.esp{position:relative;cursor:pointer}
.esp input{position:absolute;opacity:0;inset:0;cursor:pointer}
.esp span{display:grid;gap:2px;min-height:76px;padding:14px;border-radius:var(--r-p);border:2px solid rgba(29,24,56,.18);background:#fff;font:700 17px/1.15 var(--f-tit);transition:background-color .2s,border-color .2s,color .2s}
.esp small{font:600 13px/1.2 var(--f-txt);color:var(--tinta-2)}
.esp-buffet input:checked+span{background:var(--laranja-forte);border-color:var(--laranja-forte);color:#fff}
.esp-chacara input:checked+span{background:var(--rd-fundo);border-color:var(--rose);color:var(--rose-claro)}
.esp input:checked+span small{color:inherit;opacity:.9}
.esp input:focus-visible+span{outline:3px solid var(--azul);outline-offset:3px}
.cal{background:#fff;border-radius:var(--r);padding:16px;box-shadow:0 1px 0 rgba(29,24,56,.06), 0 14px 34px -22px rgba(29,24,56,.45)}
.cal-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-mes{font:700 20px/1.2 var(--f-tit)}
.cal-nav{width:44px;height:44px;border-radius:50%;border:2px solid rgba(29,24,56,.15);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--tinta)}
.cal-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-sem,.cal-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-sem span{font:700 13px/2 var(--f-txt);color:var(--tinta-2)}
.cal-dias button{aspect-ratio:1;min-height:40px;border:0;border-radius:12px;background:transparent;font:700 16px/1 var(--f-txt);color:var(--tinta);cursor:pointer;font-variant-numeric:tabular-nums;touch-action:manipulation}
.cal-dias button.fds{background:#fff1d6}
.cal-dias button:hover:not(:disabled){background:var(--amarelo)}
.cal-dias button:disabled{color:#b9b5c8;cursor:default;background:transparent}
.cal-dias button[aria-pressed="true"]{background:var(--laranja-forte);color:#fff}
.consulta.e-chacara .cal-dias button[aria-pressed="true"]{background:var(--rd-fundo);color:var(--rose-claro)}
.cal-escolha{margin-top:10px;font-weight:700;font-size:15px;color:var(--tinta-2)}
.campos{display:grid;gap:14px}
@media (min-width:560px){.campos{grid-template-columns:1fr 1fr}}
.campo{display:grid;gap:6px}
.campo label{font-weight:700;font-size:15px}
.campo small{font-weight:400;color:var(--tinta-2)}
.campo input,.campo select{min-height:50px;border-radius:12px;border:2px solid rgba(29,24,56,.18);background:#fff;padding:10px 14px;font:400 16px var(--f-txt);color:var(--tinta);width:100%}
.campo input:focus-visible,.campo select:focus-visible{outline:3px solid var(--azul);outline-offset:1px;border-color:var(--azul)}
.previa-msg{display:grid;gap:6px}
.previa-rot{font-size:14px;font-weight:700;color:var(--tinta-2)}
.bolha{background:#dcf8c6;color:#1c2b1c;border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:15.5px;max-width:52ch;white-space:pre-line}
.form-ok{background:#e6f6ec;border-radius:12px;padding:12px 14px;font-weight:600}
.form-ok a{color:var(--zap);font-weight:700}
.aviso-dados{font-size:14px;color:var(--tinta-2)}
.aviso-dados a{font-weight:700}

/* onde */
.onde{padding:70px 0 80px;background:var(--creme-2)}
.onde-grade{display:grid;gap:18px;margin-top:20px}
.lugar{display:grid;gap:14px;background:#fff;border-radius:var(--r);padding:14px;overflow:hidden}
.lugar-foto{border-radius:var(--r-p);overflow:hidden;aspect-ratio:16/9}
.lugar img{width:100%;height:100%;object-fit:cover}
.lugar h3{font-size:24px;font-weight:800;margin-bottom:6px}
.lugar-chacara h3{font-family:var(--f-rd);font-weight:600;font-size:27px}
.lugar p{display:flex;gap:8px;margin-top:4px;font-size:15px;color:var(--tinta-2)}
.lugar p svg{width:18px;height:18px;flex:none;margin-top:3px;fill:none;stroke:currentColor;stroke-width:2}
.lugar-bts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media (min-width:900px){.onde-grade{grid-template-columns:1fr 1fr}}
.duvidas{margin-top:40px;display:grid;gap:10px;max-width:760px}
.duvidas details{background:#fff;border-radius:var(--r-p);padding:4px 18px}
.duvidas summary{cursor:pointer;font:700 18px/1.3 var(--f-tit);padding:14px 30px 14px 0;list-style:none;position:relative}
.duvidas summary::-webkit-details-marker{display:none}
.duvidas summary::after{content:"";position:absolute;right:2px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2.5px solid var(--laranja);border-bottom:2.5px solid var(--laranja);transform:rotate(45deg);transition:transform .25s}
.duvidas details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.duvidas details p{padding:0 0 16px;color:var(--tinta-2)}

/* rodapé */
.rodape{background:var(--tinta);color:#e9e6f5;text-align:center;padding:48px var(--pad) calc(96px + env(safe-area-inset-bottom));display:grid;justify-items:center;gap:8px}
.rodape-logo{width:150px;height:102px;margin-bottom:6px}
.rodape-nome{font:800 24px/1.1 var(--f-tit);color:#fff}
.rodape-ig{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:6px}
.rodape-ig a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700}
.rodape-ig a:hover{text-decoration:underline}
.rodape-ig svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.rodape .nota{font-size:13px;color:#b9b4d1;max-width:52ch;margin-top:10px}
.rodape .nota a{color:#fff}

/* barra fixa (celular) */
.barra-fixa{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:8px 8px 8px 18px;border-radius:999px;background:var(--tinta);color:#fff;text-decoration:none;box-shadow:0 12px 30px -12px rgba(0,0,0,.35);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.barra-fixa.ver{transform:none}
.barra-fixa span{font-size:14px;color:#cfcbe6}
.barra-fixa b{display:inline-flex;align-items:center;gap:8px;background:var(--amarelo);color:var(--tinta);padding:12px 18px;border-radius:999px;font-size:15.5px}
.barra-fixa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
@media (min-width:900px){.barra-fixa{left:auto;right:24px;width:340px}}

/* estado inicial das animações (só com JS e sem "reduzir movimento") */
.anim .capa h1 .l{opacity:0}
