:root{
  --ameixa:#2E1A3F; --ameixa2:#43295A;
  --rosa:#E62E8B; --rosa-esc:#C21E75;
  --amarelo:#F9B62A; --azul:#2FC2DC; --azul-esc:#0F7F93;
  --fundo:#FBF8FD; --lilas:#F3ECF8; --linha:#E6DAEE;
  --tinta:#2E1A3F; --tinta2:#5B4A70; --tinta3:#7E6F92;
  --zap:#25D366; --zap-esc:#128C4A;
  --raio:22px;
  --f-display:'Bricolage Grotesque','Trebuchet MS',system-ui,sans-serif;
  --f-texto:'Figtree',system-ui,-apple-system,sans-serif;
  --sombra-adesivo:0 1px 0 rgba(46,26,63,.08),0 10px 24px -8px rgba(46,26,63,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;overflow-x:hidden;overflow-x:clip;max-width:100%;overscroll-behavior-x:none}
body{font-family:var(--f-texto);font-size:1.0625rem;line-height:1.6;color:var(--tinta);background:var(--fundo);
     -webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;position:relative;width:100%;max-width:100%}
img,video{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1140px,100% - 40px);margin-inline:auto}

h1,h2,h3{font-family:var(--f-display);line-height:1.04;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(2.5rem,8.6vw,5.1rem)}
h2{font-size:clamp(2rem,5.6vw,3.3rem);margin-bottom:.5em}
h3{font-size:1.4rem;line-height:1.15}
.olho{font-family:var(--f-texto);font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rosa-esc);margin-bottom:.9rem}
.lead{font-size:1.15rem;color:var(--tinta2);max-width:38em}

/* ---------- botoes ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.8em 1.6em;
     border-radius:99px;font-weight:800;font-size:1.02rem;text-decoration:none;border:0;cursor:pointer;
     transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:active{transform:scale(.97)}
.btn-zap{background:var(--zap);color:#0B2E1A;box-shadow:0 8px 20px -8px rgba(18,140,74,.7)}
.btn-zap:hover{background:#3BE07B;transform:translateY(-2px)}
.btn-linha{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.btn-linha:hover{background:var(--tinta);color:#fff}
.btn svg{width:1.25em;height:1.25em;flex:none}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:50;background:rgba(251,248,253,.9);backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.topo.rolou{border-color:var(--linha)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:12px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:1.08rem;line-height:1.05;letter-spacing:-.01em}
.marca img{width:40px;height:40px}
.menu{display:none;gap:26px;font-weight:700;font-size:.95rem}
.menu a{text-decoration:none;color:var(--tinta2)}
.menu a:hover{color:var(--rosa-esc)}
.topo .btn{min-height:44px;padding:.55em 1.15em;font-size:.94rem}
@media(min-width:900px){.menu{display:flex}}

/* ---------- hero ---------- */
.hero{padding:34px 0 70px;position:relative;overflow:hidden}
.hero .wrap{display:grid;gap:44px}
.hero h1 em{font-style:normal;color:var(--rosa);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.06em;height:.16em;background:var(--amarelo);
                   border-radius:99px;z-index:-1;transform:rotate(-1.2deg)}
.hero .lead{margin:1.3rem 0 1.9rem}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.provas{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:1.8rem;font-size:.92rem;font-weight:700;color:var(--tinta2);list-style:none}
.provas li{display:flex;align-items:center;gap:8px}
.provas li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--azul)}
.provas li:nth-child(2)::before{background:var(--rosa)}
.provas li:nth-child(3)::before{background:var(--amarelo)}

/* adesivos: a assinatura visual */
.adesivo{background:#fff;padding:9px;border-radius:26px;box-shadow:var(--sombra-adesivo);position:relative}
.adesivo img{border-radius:18px;width:100%;height:100%;object-fit:cover}
.adesivo.gira-1{transform:rotate(-3.2deg)}
.adesivo.gira-2{transform:rotate(2.6deg)}
.adesivo.gira-3{transform:rotate(-1.6deg)}
.adesivo.gira-4{transform:rotate(3deg)}
.adesivo figcaption{position:absolute;left:14px;bottom:-12px;background:var(--amarelo);color:var(--ameixa);font-weight:800;
                    font-size:.78rem;padding:.35em .9em;border-radius:99px;transform:rotate(-2deg);box-shadow:0 4px 10px -4px rgba(0,0,0,.4)}
.colagem{position:relative;height:min(112vw,520px);max-width:520px;margin-inline:auto;width:100%}
.colagem .adesivo{position:absolute}
.colagem .c1{width:56%;height:64%;left:2%;top:2%;z-index:4}
.colagem .c2{width:62%;height:40%;right:0;top:0;z-index:1}
.colagem .c3{width:60%;height:50%;right:3%;bottom:0;z-index:3}
.colagem .estrela{position:absolute;left:0;bottom:6%;width:28%;z-index:5;color:var(--azul)}
@media(min-width:900px){
  .hero{padding:56px 0 100px}
  .hero .wrap{grid-template-columns:1.08fr 1fr;align-items:center;gap:60px}
  .colagem{height:560px;max-width:none}
}

/* ---------- secoes ---------- */
section{padding:84px 0}
.cab{max-width:46rem;margin-bottom:44px}
.fundo-lilas{background:var(--lilas)}
.escuro{background:var(--ameixa);color:#fff}
.escuro .lead{color:#D8C9E6}
.escuro .olho{color:var(--amarelo)}

/* borda ondulada entre secoes */
.onda-topo{position:relative}
.onda-topo::before{content:"";position:absolute;left:0;right:0;top:-1px;height:22px;
  background:var(--fundo);
  -webkit-mask:radial-gradient(circle 14px at 14px 0,#000 98%,#0000) 0 0/28px 22px repeat-x;
          mask:radial-gradient(circle 14px at 14px 0,#000 98%,#0000) 0 0/28px 22px repeat-x}

/* ---------- o que tem ---------- */
.o-que{display:grid;gap:22px}
.item{display:grid;gap:18px;align-items:center}
.item .adesivo{aspect-ratio:4/3}
.item h3{margin-bottom:.4rem}
.item p{color:var(--tinta2)}
@media(min-width:760px){
  .o-que{gap:56px}
  .item{grid-template-columns:1fr 1fr;gap:48px}
  .item:nth-child(even) .adesivo{order:2}
  .item .adesivo{aspect-ratio:5/4}
}

/* ---------- pacotes ---------- */
.horas{display:inline-flex;padding:5px;background:#fff;border-radius:99px;box-shadow:inset 0 0 0 2px var(--linha);margin-bottom:34px}
.horas button{font:inherit;font-weight:800;font-size:.98rem;padding:.6em 1.6em;border:0;border-radius:99px;background:transparent;
              color:var(--tinta2);cursor:pointer;min-height:44px;transition:background .18s,color .18s}
.horas button[aria-pressed="true"]{background:var(--ameixa);color:#fff}
.pacotes{display:grid;gap:18px}
.pacote{background:#fff;border-radius:var(--raio);padding:28px 26px;box-shadow:inset 0 0 0 2px var(--linha);
        display:flex;flex-direction:column;position:relative}
.pacote.destaque{background:var(--ameixa);color:#fff;box-shadow:none}
.pacote .selo{position:absolute;top:-13px;left:22px;background:var(--amarelo);color:var(--ameixa);font-weight:800;font-size:.74rem;
              letter-spacing:.1em;text-transform:uppercase;padding:.4em 1em;border-radius:99px}
.pacote h3{font-size:1.7rem}
.pacote .preco{font-family:var(--f-display);font-weight:800;font-size:2.6rem;letter-spacing:-.03em;line-height:1;margin:.6rem 0 .1rem}
.pacote .preco small{display:block;margin-top:.5rem;font-family:var(--f-texto);font-size:.9rem;font-weight:600;letter-spacing:0;color:var(--tinta3)}
.pacote .preco small.equipe{margin-top:.15rem;color:var(--rosa-esc);font-weight:700}
.pacote.destaque .preco small{color:#CDBBDD}
.pacote.destaque .preco small.equipe{color:var(--amarelo)}
.pacote ul{list-style:none;margin:1.1rem 0 1.6rem;display:grid;gap:.55rem;font-size:.98rem;color:var(--tinta2)}
.pacote.destaque ul{color:#E6DAF0}
.pacote li{padding-left:1.7rem;position:relative}
.pacote li::before{content:"";position:absolute;left:0;top:.42em;width:.85em;height:.85em;border-radius:50%;background:var(--azul)}
.pacote li:nth-child(3n+2)::before{background:var(--rosa)}
.pacote li:nth-child(3n)::before{background:var(--amarelo)}
.pacote .btn{margin-top:auto;width:100%}
.pacote:not(.destaque) .btn{background:var(--ameixa);color:#fff}
.pacote:not(.destaque) .btn:hover{background:var(--rosa-esc)}
.pacote.destaque .btn{background:var(--amarelo);color:var(--ameixa)}
.nota-pac{margin-top:26px;color:var(--tinta3);font-size:.95rem}
.avulso{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:22px;padding:20px 24px;border-radius:var(--raio);background:#fff;
        box-shadow:inset 0 0 0 2px var(--linha);font-weight:600}
.avulso b{font-family:var(--f-display);font-size:1.2rem}
@media(min-width:760px){.pacotes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.pacotes{grid-template-columns:repeat(3,1fr)}}

/* ---------- personagens ---------- */
.pers{display:grid;gap:34px;align-items:start}
.pers .fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pers .fotos .adesivo{aspect-ratio:3/4}
.tabelas{display:grid;gap:18px}
.tab{background:rgba(255,255,255,.07);border-radius:var(--raio);padding:22px 24px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.16)}
.tab h3{color:var(--amarelo);font-size:1.15rem;margin-bottom:.7rem}
.tab dl{display:grid;grid-template-columns:1fr auto;gap:0}
.tab dt,.tab dd{padding:.62rem 0;border-bottom:1px solid rgba(255,255,255,.13)}
.tab dt:nth-last-of-type(1),.tab dd:last-of-type{border-bottom:0}
.tab dd{font-family:var(--f-display);font-weight:800;font-size:1.25rem;text-align:right}
.tab p{font-size:.88rem;color:#CDBBDD;margin-top:.7rem}
@media(min-width:900px){
  .pers{grid-template-columns:1fr 1fr;gap:56px;align-items:center}
}
@media(min-width:760px){
  .tabelas{grid-template-columns:repeat(3,1fr);gap:18px}
}
#personagens .wrap + .wrap{margin-top:44px}

/* ---------- fotografia ---------- */
.foto-banda{display:grid;gap:36px;align-items:center}
.foto-banda .adesivo{aspect-ratio:3/2}
.combo{display:flex;flex-wrap:wrap;gap:12px;margin:1.6rem 0 1.8rem}
.combo div{background:#fff;border-radius:18px;padding:14px 22px;box-shadow:inset 0 0 0 2px var(--linha)}
.combo small{display:block;font-size:.82rem;font-weight:700;color:var(--tinta3);text-transform:uppercase;letter-spacing:.08em}
.combo b{font-family:var(--f-display);font-size:1.7rem;letter-spacing:-.02em}
@media(min-width:900px){.foto-banda{grid-template-columns:1fr 1fr;gap:64px}.foto-banda .adesivo{order:2}}

/* ---------- galeria ---------- */
.galeria{columns:2;column-gap:14px}
.galeria .adesivo{break-inside:avoid;margin-bottom:14px;padding:7px;border-radius:22px}
.galeria .adesivo img,.galeria .adesivo video{border-radius:16px;width:100%;height:auto}
.galeria .adesivo video{background:var(--ameixa)}
@media(min-width:760px){.galeria{columns:3;column-gap:20px}.galeria .adesivo{margin-bottom:20px}}

/* ---------- regioes ---------- */
.regioes{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.regioes li{padding:.5em 1.15em;border-radius:99px;background:#fff;font-weight:700;font-size:.96rem;box-shadow:inset 0 0 0 2px var(--linha)}
.regioes li.mais{background:var(--ameixa);color:#fff;box-shadow:none}

/* ---------- faq ---------- */
.faq{max-width:48rem}
.faq details{border-bottom:2px solid var(--linha);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;font-family:var(--f-display);font-weight:700;font-size:1.22rem;padding:1rem 2.4rem 1rem 0;
             position:relative;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:50%;translate:0 -50%;font-size:1.7rem;font-weight:400;color:var(--rosa);transition:rotate .2s}
.faq details[open] summary::after{rotate:45deg}
.faq p{padding:0 2.4rem 1.2rem 0;color:var(--tinta2)}

/* ---------- reserva ---------- */
#reserva.onda-topo::before{background:var(--lilas)}
.reserva .wrap{display:grid;gap:34px}
.form{background:#fff;color:var(--tinta);border-radius:28px;padding:28px 26px;display:grid;gap:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.form label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
.form input,.form select{font:inherit;font-size:1rem;padding:.8em 1em;border:2px solid var(--linha);border-radius:14px;background:var(--fundo);
                        color:var(--tinta);min-height:50px;width:100%}
.form input:focus,.form select:focus{border-color:var(--rosa);outline:0}
.form .duas{display:grid;gap:16px;min-width:0}
.form .btn{margin-top:6px;width:100%}
.form small{color:var(--tinta3);font-size:.85rem;text-align:center}
@media(min-width:560px){.form .duas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.reserva .wrap{grid-template-columns:1fr 1.05fr;align-items:center;gap:70px}}
.reserva h2{color:#fff}
.zap-direto{display:inline-flex;align-items:center;gap:12px;margin-top:1.4rem;font-family:var(--f-display);font-weight:800;font-size:1.7rem;
            color:var(--amarelo);text-decoration:none;letter-spacing:-.02em}
.zap-direto:hover{text-decoration:underline}

/* ---------- rodape ---------- */
footer{background:#1F1029;color:#B9A7CB;padding:44px 0 110px;font-size:.94rem}
footer .wrap{display:grid;gap:18px}
footer .marca{color:#fff}
footer a{color:#E8DAF3}

/* botao flutuante (so celular) */
.flutua{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:10px;padding:.85em 1.25em;
        border-radius:99px;background:var(--zap);color:#0B2E1A;font-weight:800;text-decoration:none;
        box-shadow:0 12px 28px -8px rgba(0,0,0,.55);transition:transform .18s}
.flutua:hover{transform:translateY(-2px)}
.flutua svg{width:28px;height:28px}
.flutua{width:58px;height:58px;padding:0;justify-content:center}
.flutua span{display:none}
@media(min-width:900px){.flutua{width:auto;height:auto;padding:.9em 1.4em}.flutua span{display:inline}.flutua svg{width:24px;height:24px}}

/* revelar ao rolar (discreto) */
.rev{opacity:0;translate:0 18px;transition:opacity .6s ease,translate .6s ease}
.rev.vis{opacity:1;translate:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rev{opacity:1;translate:none;transition:none}
  .btn,.flutua{transition:none}
}

.nota-pers{margin-top:22px;color:#D8C9E6;font-size:.95rem}

/* celular: fotos menos inclinadas e sempre dentro da tela */
@media(max-width:600px){
  .adesivo.gira-1{transform:rotate(-1.6deg)}
  .adesivo.gira-2{transform:rotate(1.4deg)}
  .adesivo.gira-3{transform:rotate(-1deg)}
  .adesivo.gira-4{transform:rotate(1.6deg)}
  .colagem .c2{right:2%}
  .pers .fotos{padding-inline:4px}
}

/* grades nunca passam da largura da tela */
.wrap>*,.pers>*,.item>*,.foto-banda>*,.reserva .wrap>*{min-width:0}

/* ---------- depoimentos ---------- */
.falas{columns:1;column-gap:18px}
.fala{break-inside:avoid;margin:0 0 18px;padding:24px 24px 20px;border-radius:24px 24px 24px 6px;background:#fff;color:var(--tinta);
      box-shadow:0 18px 40px -22px rgba(0,0,0,.65);position:relative}
.fala blockquote{font-size:1.05rem;line-height:1.55;color:var(--tinta)}
.fala.destaque{background:var(--amarelo)}
.fala.destaque blockquote{font-family:var(--f-display);font-weight:700;font-size:1.28rem;line-height:1.3;letter-spacing:-.01em;color:var(--ameixa)}
.fala figcaption{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.86rem;font-weight:700;color:var(--tinta3)}
.fala.destaque figcaption{color:#5A3C00}
.fala .ok{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--zap);color:#fff;font-size:.72rem;flex:none}
@media(min-width:760px){.falas{columns:2}}
@media(min-width:1020px){.falas{columns:3}}
