/* Ajustes visuais da campanha Kids 2027 */
.hero-cinematic{width:100%;max-width:none;margin:0;padding:0 0 42px}
.hero-cinematic .hero-visual{position:relative;width:100%;height:auto;aspect-ratio:2206/946;max-height:none;border-radius:0;background:#e7eef6}
.hero-cinematic .hero-intro-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.hero-cinematic .hero-title-art{position:absolute;z-index:1;top:4%;left:50%;transform:translateX(-50%);width:min(69%,943px);height:auto;aspect-ratio:auto;object-fit:contain;pointer-events:none}
.hero-cinematic .hero-label{margin:24px 8px 0}
@media(max-width:760px){
 .hero-cinematic{padding:0 0 20px}
 .hero-cinematic .hero-visual{height:auto;max-height:none;aspect-ratio:2206/946;border-radius:0}
 .hero-cinematic .hero-title-art{top:3.5%;width:74%;height:auto;aspect-ratio:auto}
 .hero-cinematic .hero-label{margin:20px 3px 0}
}
h1,h2,h3,.hours strong,.project-pills span,.space-visit>span{letter-spacing:-.027em}
h2{line-height:.89}
h3{line-height:1.02}
.hero-bottom>p,.footer-top p{line-height:1.03;letter-spacing:-.025em}
.form-card h3{line-height:.94}

/* Mascotes originais separados, em vetor */
.mascots-card{background:#d8eafa;min-height:0}
.mascots-row{align-items:center;margin-top:37px;gap:12px}
.mascots-row figure:nth-child(2){transform:translateY(-10px)}
.mascots-row img{height:auto;width:100%;aspect-ratio:1/1.06;object-fit:contain;border-radius:0;mix-blend-mode:normal;filter:drop-shadow(0 9px 10px #6b599329)}
.mascots-row figcaption{position:static;clip:auto;width:auto;height:auto;overflow:visible;white-space:normal;margin-top:12px}
.mascots-card>p{margin-top:25px}

/* O filme é o elemento central da seção */
.institutional{background:#d8e9fa;overflow:hidden}
.video-intro{position:relative;text-align:center;max-width:1000px;margin:0 auto 38px;padding:10px 155px 0}
.video-intro .eyebrow{margin-bottom:16px}
.video-intro h2{font-size:clamp(3rem,5vw,5rem);max-width:720px;margin:auto}
.video-intro p{font-size:1.06rem;line-height:1.6;max-width:600px;margin:22px auto 0;color:#5d5564}
.video-mascot{position:absolute;width:115px;height:120px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 12px #84709b22)}
.video-mascot-book{left:0;top:20px;transform:rotate(-11deg)}
.video-mascot-sun{right:0;top:0;transform:rotate(10deg)}
.video-stage{max-width:1100px;margin:auto;padding:12px;background:#fff;border-radius:38px;box-shadow:0 28px 70px #5b5e9438;transform:rotate(-.5deg)}
.video-frame{border-radius:28px;box-shadow:none;transform:rotate(.5deg)}
.video-after{max-width:1100px;margin:26px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.video-after>span{font:clamp(1.2rem,2vw,1.8rem)/1 CornerCafe,'Trebuchet MS',sans-serif;letter-spacing:-.025em}

/* Retratos associados individualmente às famílias */
.testimonials{background:#fff}
.testimonial-heading{margin-bottom:100px}
.testimonial-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.testimonial-column{display:flex;flex-direction:column;gap:95px;min-width:0}
.testimonial-column-left{padding-top:76px}
.testimonial-column-right{padding-top:28px}
.testimonial-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;margin:0;padding:92px 48px 55px;border-radius:32px;min-height:420px}
.testimonial-card .family-photo{position:absolute;top:-76px;left:50%;transform:translateX(-50%);width:150px;height:150px;object-fit:cover;border-radius:50%;background:#fff;box-shadow:0 12px 25px #3728421e}
.testimonial-card footer{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:27px}
.testimonial-card footer strong{font-size:1.3rem;line-height:1.2}
.testimonial-card footer span{font-size:.89rem;font-weight:800;color:#7555a0}
.testimonial-card p{font-size:1rem;line-height:1.75;max-width:520px}
.quote-murilo{background:#ffb924;min-height:590px}
.quote-leandro{background:#f5edd7;border:1px solid #e6dca6}
.quote-joao{background:#9298ee;color:#fff;min-height:510px}
.quote-joao footer span{color:#fff}
.testimonial-invite{position:relative;min-height:210px;padding:15px 155px 10px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.testimonial-invite p{font:clamp(1.6rem,2.7vw,2.5rem)/.91 CornerCafe,'Trebuchet MS',sans-serif;color:#7d54aa;letter-spacing:-.03em;max-width:390px}
.testimonial-invite .text-link{margin-top:22px}
.testimonial-invite img{position:absolute;right:8px;bottom:5px;width:125px;height:125px;object-fit:contain;transform:rotate(12deg)}

/* Informações com o ritmo e as cores da referência enviada */
.space{background:#fff}
.space-panel{position:relative;overflow:hidden;border-radius:44px;background:#c7dff8;text-align:center;padding:65px 70px 70px}
.space-panel .eyebrow{color:#66569c;margin-bottom:15px}
.space-panel h2{font-size:clamp(2.75rem,5vw,5.1rem);color:#8059ad;text-transform:uppercase;margin:auto}
.space-panel>p{max-width:770px;margin:18px auto 58px;color:#504c54;font-size:1.08rem;line-height:1.65}
.space-mascot{position:absolute;left:-76px;top:45%;width:200px;height:200px;object-fit:contain;pointer-events:none}
.space-highlights{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);gap:11px 10px;max-width:920px;margin:auto}
.space-highlights span{display:block;border-radius:100px;padding:13px 24px;font-size:clamp(.95rem,1.55vw,1.25rem);line-height:1.35;font-weight:750;text-align:center;background:#865fb0;color:#fff}
.space-highlights span:nth-child(1){grid-column:2/12}
.space-highlights span:nth-child(2){grid-column:5/12;background:#fbc325;color:#514143}
.space-highlights span:nth-child(3){grid-column:2/7;background:#fff;color:#7555a0}
.space-highlights span:nth-child(4){grid-column:7/12;background:#9299d0}
.space-highlights span:nth-child(5){grid-column:2/12;background:#fbc325;color:#514143}
.space-highlights span:nth-child(6){grid-column:6/12;background:#fff;color:#7555a0}
.space-highlights span:nth-child(7){grid-column:1/13;background:#858bf4}
.space-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:85px 0 29px}
.space-gallery-heading .eyebrow{margin-bottom:16px}
.space-gallery-heading h3{font:clamp(2rem,3.5vw,3.4rem)/.9 CornerCafe,'Trebuchet MS',sans-serif;letter-spacing:-.03em}
.space-gallery-heading h3 span{color:#9b58e2}
.space-gallery-heading p{max-width:320px;color:#69616b}
.space-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:14px;margin-top:0}
.space-gallery figure{height:auto;min-width:0;border-radius:23px}
.space-gallery .space-feature{grid-column:span 2;grid-row:span 2}
.space-gallery figure:last-child{grid-column:span 2}
.space-gallery figcaption{background:#fffef4f2;padding:10px 16px}
.space-visit{margin-top:28px}

.final-cta{position:relative;overflow:hidden}
.final-cta .cta-mascots{width:235px;height:auto;max-width:70%;margin:0 auto 20px;object-fit:contain}

@media(max-width:1000px){
  .testimonial-card{padding-inline:34px}
  .testimonial-invite{padding-right:120px}
  .testimonial-invite img{width:100px;height:100px}
  .space-panel{padding-inline:45px}
}
@media(max-width:760px){
  h2{line-height:.91}
  .video-intro{padding:0 65px;margin-bottom:30px}
  .video-intro h2{font-size:clamp(2.6rem,7vw,4rem)}
  .video-mascot{width:72px;height:82px}
  .video-mascot-book{left:-8px;top:15px}
  .video-mascot-sun{right:-8px;top:15px}
  .video-stage{padding:8px;border-radius:26px;transform:none}
  .video-frame{border-radius:20px;transform:none}
  .video-after{align-items:flex-start;flex-direction:column}
  .testimonial-columns{grid-template-columns:1fr;gap:10px}
  .testimonial-heading{margin-bottom:18px}
  .testimonial-column{display:contents}
  .testimonial-card{margin-top:75px;min-height:0;padding:88px 30px 40px}
  .quote-murilo{order:1}.quote-leandro{order:2}.quote-joao{order:3}.testimonial-invite{order:4}
  .testimonial-invite{min-height:160px;padding:15px 120px 0 5px}
  .space-panel{padding:55px 22px 45px;border-radius:30px}
  .space-panel>p{margin-bottom:35px}
  .space-mascot{width:135px;height:135px;left:-60px;top:53%}
  .space-gallery-heading{margin-top:65px;align-items:start;flex-direction:column;gap:15px}
  .space-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .space-gallery .space-feature{grid-column:span 2;grid-row:span 2}
  .space-gallery figure:last-child{grid-column:span 2}
}
@media(max-width:480px){
  .mascots-row{gap:3px}.mascots-row figcaption{font-size:.75rem}
  .video-intro{padding:0 43px}
  .video-intro h2{font-size:2.6rem}
  .video-intro p{font-size:.93rem}
  .video-mascot{width:55px;height:65px}
  .video-mascot-book{left:-16px;top:10px}
  .video-mascot-sun{right:-16px;top:10px}
  .testimonial-card{padding-inline:23px}.testimonial-card p{font-size:.95rem}
  .testimonial-invite{padding-right:95px}.testimonial-invite img{width:85px;height:85px}
  .space-panel h2{font-size:2.75rem}
  .space-panel>p{font-size:.94rem}
  .space-highlights{display:flex;flex-direction:column;align-items:center;gap:9px}
  .space-highlights span{width:100%;font-size:.91rem;padding:11px 14px}
  .space-highlights span:nth-child(even){width:88%;align-self:flex-end}
  .space-highlights span:nth-child(3),.space-highlights span:nth-child(5){width:92%;align-self:flex-start}
  .space-gallery{grid-template-columns:1fr;grid-auto-rows:220px}
  .space-gallery .space-feature{grid-column:auto;grid-row:span 1}
  .space-gallery figure:last-child{grid-column:auto}
}

/* Entrada e resposta ao cursor, sem esconder conteúdo quando JS estiver ausente. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .reveal-card{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .6s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;
    transition-delay:var(--reveal-delay,0ms);
  }
  .motion-ready .reveal-card.is-visible{opacity:1;transform:translateY(0)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .hover-card{position:relative;isolation:isolate}
  .hover-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:inherit;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(circle 170px at var(--cursor-x,50%) var(--cursor-y,50%),rgba(255,255,255,.28),rgba(156,88,236,.08) 48%,transparent 78%);
    transition:opacity .3s ease;
  }
  .hover-card:hover::after{opacity:1}
  .motion-ready .reveal-card.is-visible.hover-card:hover{
    transform:translateY(-6px) rotate(-.35deg);
    box-shadow:0 18px 34px #46406a1c;
    transition-delay:0ms;
  }
  .space-gallery .hover-card figcaption,.moments .hover-card figcaption{z-index:2}
  .mascots-row img{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .mascots-row figure:hover img{transform:translateY(-6px) rotate(2deg)}
}
