:root{--azul:#0a6fd6;--azul-esc:#063f86;--turq:#19c3e6;--sol:#ffc93c;--sol-esc:#d9a21b;--verm:#e0393e;--verm-esc:#a61f24;--tinta:#0b2b55;--suave:#3b5a80}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{font-family:Nunito,system-ui,sans-serif;color:var(--tinta);background:linear-gradient(180deg,#5fd0ff 0%,#1a9be8 30%,#0a6fd6 65%,#063f86 100%);background-attachment:fixed;min-height:100svh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
main{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:10px 12px 90px}

/* água no fundo que sobe com o scroll */
.agua{position:fixed;left:0;right:0;bottom:0;height:var(--nivel,5vh);z-index:0;pointer-events:none;will-change:height}
.agua svg{position:absolute;left:0;top:-22px;width:200%;height:24px;fill:rgba(25,195,230,.75);animation:mar 7s linear infinite}
.agua .corpo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,195,230,.6),rgba(6,63,134,.8))}
@keyframes mar{to{transform:translateX(-50%)}}
#gotas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:40}

/* botão de música */
.som{position:fixed;right:14px;top:calc(14px + env(safe-area-inset-top));z-index:45;display:flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.92);color:var(--azul-esc);font:900 13px Nunito;box-shadow:0 6px 18px rgba(3,30,70,.3)}
.som .nota{display:inline-block;font-size:18px}
.som[aria-pressed=true]{background:var(--sol);color:#5a3b00}
.som[aria-pressed=true] .nota{animation:nota .6s ease-in-out infinite alternate}
@keyframes nota{to{transform:translateY(-3px) rotate(12deg)}}

/* ---------- abertura ---------- */
.abertura{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:9/16;max-height:calc(100svh - 22px);width:100%;margin:0 auto;box-shadow:0 14px 34px rgba(3,30,70,.35);background:#0a6fd6 url(/video/poster.jpg) center/cover}
.abertura video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.abertura::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,63,134,.55) 0%,rgba(6,63,134,0) 28%,rgba(6,63,134,0) 48%,rgba(6,63,134,.7) 100%);opacity:0;transition:opacity .8s;pointer-events:none}
.abertura.mostra::after{opacity:1}
.letreiro{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;flex-direction:column;align-items:center;padding:6% 5% 0;text-align:center;pointer-events:none}
.logo{width:44px;height:44px;border-radius:12px;border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);margin-bottom:8px;opacity:0}
h1{display:flex;flex-direction:column;align-items:center;font-family:"Baloo 2",sans-serif;font-weight:800;color:#fff;line-height:.88;-webkit-text-stroke:1.6px var(--azul-esc);paint-order:stroke fill;text-shadow:0 3px 0 var(--azul-esc),0 6px 0 #04306a,0 8px 16px rgba(0,0,0,.35)}
.t1{font-size:clamp(30px,9.4vw,46px);opacity:0}
.t2{font-size:clamp(40px,12.4vw,62px);white-space:nowrap;opacity:0}
.selo{margin-top:10px;background:var(--sol);color:var(--azul-esc);font:800 clamp(18px,5.6vw,26px)/1 "Baloo 2";padding:7px 18px 4px;border-radius:999px;border:3px solid var(--azul-esc);box-shadow:0 4px 0 var(--azul-esc);opacity:0}
.abertura.mostra .logo{animation:pop .5s .5s cubic-bezier(.2,1.6,.4,1) forwards}
.abertura.mostra .t1{animation:cai .6s .2s cubic-bezier(.2,1.5,.4,1) forwards}
.abertura.mostra .t2{animation:splash .7s 0s cubic-bezier(.2,1.6,.4,1) forwards}
.abertura.mostra .selo{animation:pop .5s .6s cubic-bezier(.2,1.8,.4,1) forwards}
.abertura.ativo .t2{opacity:1;animation:balanca 3s ease-in-out infinite}
.splash-grande{position:absolute;left:50%;top:56%;z-index:3;font:800 clamp(48px,15vw,80px) "Baloo 2";color:#fff;-webkit-text-stroke:2px var(--azul-esc);paint-order:stroke fill;text-shadow:0 5px 0 var(--azul-esc);transform:translate(-50%,-50%) scale(0);pointer-events:none}
.linhas{position:absolute;left:4.5%;right:4.5%;bottom:3.2%;z-index:2;display:flex;flex-direction:column;gap:clamp(5px,1.4vh,8px)}
.linha{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.96);border-radius:14px;padding:clamp(7px,1.25vh,11px) 12px;font:900 clamp(13.5px,3.9vw,17px)/1.2 Nunito;color:var(--azul-esc);text-decoration:none;box-shadow:0 4px 0 rgba(4,48,106,.5);opacity:0;transform:translateX(-36px)}
.linha i{font-style:normal;font-size:1.2em;width:24px;text-align:center;flex:none}
.linha.alerta{background:var(--sol);color:#5a3b00}
.linha.conf{background:#fff}
.linha .vai{margin-left:auto;font:900 22px/1 Nunito;color:var(--azul);animation:seta 1.2s ease-in-out infinite}
.abertura.mostra .linha{animation:desliza .45s cubic-bezier(.2,1.4,.4,1) forwards}
.abertura.mostra .linha:nth-child(1){animation-delay:.7s}.abertura.mostra .linha:nth-child(2){animation-delay:.85s}.abertura.mostra .linha:nth-child(3){animation-delay:1s}.abertura.mostra .linha:nth-child(4){animation-delay:1.15s}.abertura.mostra .linha:nth-child(5){animation-delay:1.3s}
@keyframes desliza{to{opacity:1;transform:none}}
.abertura.molha .splash-grande{animation:estoura 1s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes cai{from{opacity:0;transform:translateY(-40px) scale(.85)}to{opacity:1;transform:none}}
@keyframes splash{0%{opacity:0;transform:scale(.3) rotate(-8deg)}60%{opacity:1;transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes balanca{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}
@keyframes estoura{0%{transform:translate(-50%,-50%) scale(0) rotate(-12deg);opacity:1}45%{transform:translate(-50%,-50%) scale(1.1) rotate(4deg);opacity:1}100%{transform:translate(-50%,-75%) scale(1.3);opacity:0}}
@keyframes quica{50%{transform:translateX(-50%) translateY(6px)}}

/* ---------- cards ---------- */
.card{position:relative;background:#fff;border-radius:22px;padding:22px 18px;margin-top:16px;box-shadow:0 8px 22px rgba(3,30,70,.22)}
.card::before{content:"";position:absolute;left:18px;right:18px;top:0;height:5px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--turq),var(--azul))}
.revela{opacity:0;transform:translateY(48px) scale(.96);transition:opacity .6s ease,transform .7s cubic-bezier(.2,1.4,.35,1)}
.revela.visivel{opacity:1;transform:none}
.chapeu{font:900 12px Nunito;letter-spacing:.14em;text-transform:uppercase;color:var(--turq)}
h2{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:27px;line-height:1.05;color:var(--azul-esc);margin-top:2px}
.sub{margin-top:6px;font-size:16px;color:var(--suave)}
.presente{margin-top:10px;font-size:16.5px;line-height:1.45;color:var(--tinta);background:#f0f9ff;border-left:4px solid var(--turq);border-radius:10px;padding:12px 14px}
.info{list-style:none;margin-top:14px}
.info li{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #e6f2fb;font-size:17px}
.info li:last-child{border-bottom:0}
.info i{font-style:normal;font-size:22px;width:28px;text-align:center}
.info small{display:block;color:var(--suave);font-weight:600;font-size:14px}
.info .alerta{background:#fff6d9;border-radius:12px;padding:11px 10px;margin-top:6px;border:0;color:#6b4700}
.contagem{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.contagem div{background:linear-gradient(180deg,#eaf8ff,#d3efff);border-radius:14px;padding:10px 2px;text-align:center}
.contagem b{display:block;font-family:"Baloo 2";font-size:28px;line-height:1;color:var(--azul)}
.contagem span{font-size:11px;font-weight:800;color:var(--suave);text-transform:uppercase;letter-spacing:.05em}

/* botão de agenda em destaque */
.btn-agenda{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;border-radius:18px;background:var(--azul);color:#fff;text-decoration:none;box-shadow:0 5px 0 var(--azul-esc),0 10px 20px rgba(10,111,214,.3);transition:transform .12s}
.btn-agenda:active{transform:translateY(3px);box-shadow:0 2px 0 var(--azul-esc)}
.btn-agenda .ico{font-size:26px;background:#fff;border-radius:12px;width:44px;height:44px;display:grid;place-items:center}
.btn-agenda .tx{flex:1}
.btn-agenda b{display:block;font:900 18px Nunito}
.btn-agenda small{font-weight:700;font-size:13px;opacity:.85}
.btn-agenda .seta{font:900 30px/1 Nunito;animation:seta 1.2s ease-in-out infinite}
@keyframes seta{50%{transform:translateX(4px)}}

/* dúvidas: WhatsApp da Ângela */
.btn-duvida{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 12px;border-radius:18px;background:#e7faf0;color:#0b5a35;text-decoration:none;border:2px solid #9be3bd;transition:transform .12s}
.btn-duvida:active{transform:scale(.98)}
.btn-duvida .ico{font-size:22px;background:#25d366;border-radius:12px;width:40px;height:40px;display:grid;place-items:center}
.btn-duvida .tx{flex:1}
.btn-duvida b{display:block;font:900 15.5px/1.2 Nunito;white-space:nowrap}
.btn-duvida small{display:block;font-weight:700;font-size:12.5px;opacity:.8;white-space:nowrap}
.btn-duvida .seta{font:900 26px/1 Nunito}

/* o que levar: cada item aparece quando chega na tela */
.levar{list-style:none;margin-top:12px}
.levar li{display:flex;align-items:center;gap:12px;padding:12px 10px;margin-top:8px;border-radius:14px;background:#f3fbff;font-weight:800;font-size:17px;opacity:0;transform:translateX(-36px);transition:opacity .45s ease,transform .6s cubic-bezier(.2,1.6,.4,1)}
.levar li:nth-child(even){transform:translateX(36px)}
.levar li.visivel{opacity:1;transform:none}
.levar i{font-style:normal;font-size:26px;width:34px;text-align:center;display:inline-block}
.levar li.visivel i{animation:pula-ico .6s .2s ease}
@keyframes pula-ico{40%{transform:translateY(-8px) rotate(-10deg)}70%{transform:translateY(0) rotate(6deg)}}

/* parque */
.foto-parque{position:relative;margin-top:14px;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#cfeaff}
.foto-parque img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;transform:translate3d(0,var(--px,0px),0)}
.mapa{margin-top:10px;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:#dbefff}
.mapa iframe{width:100%;height:100%;border:0;display:block}
.botoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn{appearance:none;border:0;cursor:pointer;font:800 16px Nunito,sans-serif;border-radius:999px;padding:13px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s}
.btn:active{transform:scale(.97)}
.btn-claro{background:#e9f8ff;color:var(--azul-esc)}
.btn-azul{background:var(--azul);color:#fff;box-shadow:0 4px 0 var(--azul-esc)}

/* confirmação */
.escolha{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.escolha button{border:0;border-radius:16px;padding:18px 8px;font:900 20px Nunito,sans-serif;color:#fff;cursor:pointer;transition:transform .12s,opacity .2s}
.escolha button:active{transform:scale(.96)}
.b-vou{background:var(--azul);box-shadow:0 6px 0 var(--azul-esc)}
.b-nao{background:var(--verm);box-shadow:0 6px 0 var(--verm-esc)}
.escolha.feita button{opacity:.4}
.escolha.feita button[aria-pressed=true]{opacity:1;outline:4px solid #ffd95c;outline-offset:3px}
#form{max-height:0;overflow:hidden;opacity:0;transition:max-height .6s ease,opacity .4s ease}
#form.aberto{max-height:3200px;opacity:1}
#bloco-vou[hidden]{display:none}
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
label{display:block;font-weight:800;font-size:15px;margin:14px 0 6px}
input{width:100%;font:700 16px Nunito,sans-serif;padding:14px;border-radius:14px;border:2px solid #cfe6f7;background:#f8fcff;color:var(--tinta);outline:none;-webkit-appearance:none;appearance:none;min-height:50px}
input[type=date]{display:block}
input:focus{border-color:var(--turq);background:#fff}
input.campo-erro{border-color:var(--verm);background:#fff3f3}
.crianca{background:#f3fbff;border-radius:18px;padding:4px 14px 14px;margin-top:14px;position:relative;animation:entra .35s ease}
@keyframes entra{from{opacity:0;transform:translateY(10px)}}
.crianca h3{font-family:"Baloo 2";font-size:20px;color:var(--azul);margin-top:10px}
.crianca .tirar{position:absolute;top:12px;right:10px;background:none;border:0;color:var(--suave);font:700 14px Nunito;padding:6px}
.mais{margin-top:12px;width:100%}
.erro{color:var(--verm-esc);font-weight:800;margin-top:12px;display:none}
.enviar{width:100%;font-size:19px;padding:17px;margin-top:18px;color:#fff}
.enviar.vou{background:var(--azul);box-shadow:0 5px 0 var(--azul-esc)}
.enviar.nao{background:var(--verm);box-shadow:0 5px 0 var(--verm-esc)}
.enviar:disabled{opacity:.7}

/* ingresso */
.ok{display:none;text-align:center}
.ingresso{position:relative;background:linear-gradient(180deg,#fffdf3,#fff);border:3px dashed var(--turq);border-radius:22px;padding:18px 16px 22px;overflow:hidden;animation:ingresso .8s cubic-bezier(.2,1.5,.4,1) both}
@keyframes ingresso{from{transform:scale(.5) rotate(-10deg);opacity:0}}
.ing-topo{font:900 12px Nunito;letter-spacing:.16em;color:var(--azul);background:#e3f4ff;border-radius:999px;padding:6px 10px;display:inline-block}
.ingresso .grande{font-size:56px;margin-top:6px;animation:pula 1s ease infinite alternate}
@keyframes pula{to{transform:translateY(-8px) rotate(-6deg)}}
.ingresso h3{font:800 27px "Baloo 2";color:var(--azul-esc)}
.ing-nomes{font:800 20px "Baloo 2";color:var(--azul);margin-top:4px;line-height:1.15}
.ing-assina{margin-top:14px;font:700 16px Nunito;color:var(--suave)}
.ing-assina b{font:800 24px "Baloo 2";color:var(--azul);display:inline-block;transform:rotate(-4deg)}
.carimbo{position:absolute;right:-4px;top:54px;font:900 14px Nunito;letter-spacing:.12em;color:var(--verm);border:3px solid var(--verm);border-radius:8px;padding:4px 8px;transform:rotate(18deg) scale(2.4);opacity:0;animation:carimba .45s .7s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes carimba{to{transform:rotate(18deg) scale(1);opacity:.9}}
.outra{width:100%;margin-top:10px}
.fechado{display:none;text-align:center}
.rodape{text-align:center;color:#d8efff;font-size:13px;margin-top:22px}

@media (min-width:600px){main{padding-top:22px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.revela,.levar li,.t1,.t2,.selo,.logo,.linha{opacity:1!important;transform:none!important}}
