/* ============================================================
   UNILIFE EDUCAÇÃO — site estático
   Cores: azul #032364 · rosa #FF0964 · creme #FBF9F6
   Fontes: Fredoka (títulos) + Montserrat (texto)
   ============================================================ */

:root{
  --navy:#032364;
  --pink:#FF0964;
  --pink-dark:#D40757;
  --pink-soft:#F5F6F8;
  --pink-mid:#FF0964;
  --cream:#FBF9F6;
  --ice:#F5F6F8;
  --slate:#4B5268;
  --muted:#8891AA;
  --lav:rgba(255,255,255,.8);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);font-family:'Montserrat',sans-serif;color:var(--slate);overflow-x:hidden}
img{max-width:100%}
a{color:var(--pink)}
a:hover{color:var(--pink-dark)}
h1,h2,h3,h4{font-family:'Fredoka',sans-serif;color:var(--navy);font-weight:600;margin:0}
p{margin:0}

/* ---------- Tipografia fluida ---------- */
.h-hero{font-size:clamp(46px,6.8vw,86px);line-height:1.04}
.h-page,.h-sec,.h-sec-sm,.h-card,.ncard-body h3,.icard h3,.mat-card h3,.step h3,.cta h2{text-transform:uppercase;letter-spacing:.01em}
.h-hero{text-transform:uppercase;letter-spacing:.005em}
.h-page{font-size:clamp(38px,5.4vw,64px);line-height:1.12}
.h-sec{font-size:clamp(30px,4.2vw,48px);line-height:1.12}
.h-sec-sm{font-size:clamp(26px,3.6vw,40px);line-height:1.15}
.h-card{font-size:clamp(28px,3.6vw,40px)}
.label{display:block;font-weight:800;font-size:13px;letter-spacing:.08em;color:var(--pink);margin-bottom:14px}
.label-light{color:var(--pink-mid)}
.lead{font-size:17px;line-height:1.7}

/* ---------- Animações ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(4deg)}}
@keyframes floatSlow2{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes blobMorph{0%,100%{border-radius:42% 58% 56% 44%/46% 44% 56% 54%}50%{border-radius:56% 44% 42% 58%/52% 56% 44% 48%}}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(18deg)}}
@keyframes sheen{0%{transform:translateX(-160%) skewX(-18deg)}60%,100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

.fu1{opacity:0;animation:fadeUp .7s ease .1s both}
.fu2{opacity:0;animation:fadeUp .7s ease .22s both}
.fu3{opacity:0;animation:fadeUp .7s ease .34s both}
.fu4{opacity:0;animation:fadeUp .7s ease .46s both}

html.js .reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
html.js .reveal.in,.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.12s}
.d2{transition-delay:.24s}
.d3{transition-delay:.36s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html.js .reveal,.reveal{opacity:1;transform:none}
  .fu1,.fu2,.fu3,.fu4{opacity:1;animation:none}
}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:17px 30px;border-radius:100px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14.5px;letter-spacing:.02em;text-decoration:none;border:0;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;white-space:nowrap}
.btn:hover{transform:translateY(-3px) scale(1.03)}
.btn-pink{background:var(--pink);color:#fff}
.btn-pink:hover{box-shadow:0 14px 30px rgba(255,9,100,.4);color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{color:#fff}
.btn-oline-navy{border:2px solid var(--navy);color:var(--navy);font-weight:700;background:transparent}
.btn-oline-navy:hover{background:var(--ice);color:var(--navy)}
.btn-oline-white{border:2px solid #fff;color:#fff;font-weight:700;background:transparent}
.btn-oline-white:hover{background:rgba(255,255,255,.15);color:#fff}
.btn-sm{padding:12px 22px;font-size:13.5px}
.btn-shine::before{content:'';position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%);animation:sheen 3.4s ease-in-out infinite}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn-row.center{justify-content:center}

.link-cta{display:inline-flex;align-items:center;gap:6px;color:var(--pink);font-weight:800;font-size:13px;text-decoration:none;letter-spacing:.02em}
.link-cta svg{transition:transform .25s ease}
.link-cta:hover svg{transform:translateX(4px)}

/* ---------- Barra topo + Header ---------- */
.topbar{display:block;background:var(--navy);color:#fff;text-align:center;padding:10px 16px;font-weight:800;font-size:13px;letter-spacing:.03em;text-decoration:none}
.topbar:hover{color:#fff;background:#04307f}

.hdr{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:12px 32px;box-shadow:0 2px 16px rgba(3,35,100,.08);transition:box-shadow .3s ease}
.hdr.scrolled{box-shadow:0 8px 28px rgba(3,35,100,.16)}
.logo-img{height:84px;width:auto;display:block;mix-blend-mode:multiply;transition:height .3s ease}
.hdr.scrolled .logo-img{height:68px}
.nav-desktop{display:flex;align-items:center;gap:18px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-link{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 12px;font-weight:700;font-size:13.5px;letter-spacing:.02em;color:var(--navy);text-decoration:none;white-space:nowrap}
.nav-link:hover{color:var(--pink)}
.nav-link .bar{width:16px;height:3px;border-radius:2px;background:transparent;display:block}
.nav-link.active .bar{background:var(--pink)}
.nav-links .btn{margin-left:10px}
.burger{width:46px;height:46px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--navy);cursor:pointer;display:none;flex-shrink:0}

@media (max-width:1179px){
  .nav-desktop{display:none}
  .burger{display:block}
  .logo-img{height:62px}
}

.mobile-menu{position:fixed;inset:0;z-index:1100;background:var(--cream);display:none;flex-direction:column;padding:18px 24px 28px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mm-top{display:flex;align-items:center;justify-content:space-between}
.mm-top img{height:42px;width:auto;mix-blend-mode:multiply}
.mm-close{width:46px;height:46px;border:0;background:transparent;font-size:26px;color:var(--navy);cursor:pointer}
.mm-nav{display:flex;flex-direction:column;gap:2px;margin-top:20px}
.mm-nav a{padding:18px 6px;border-bottom:1px solid #E7E2D9;font-weight:700;font-size:19px;color:var(--navy);text-decoration:none}
.mm-nav a:last-child{border-bottom:0}
.mm-cta{margin-top:24px}
.mm-wa{margin-top:40px}

/* ---------- WhatsApp flutuante ---------- */
.wa-fab{position:fixed;right:24px;bottom:24px;z-index:900;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(3,35,100,.3);text-decoration:none;animation:pulseRing 2.6s ease-out infinite;transition:transform .25s ease}
.wa-fab:hover{transform:scale(1.1)}

/* ---------- Seções ---------- */
.sec{padding:100px 5vw}
.sec-tight{padding:90px 5vw}
.container{max-width:1180px;margin:0 auto}
.container-md{max-width:1100px;margin:0 auto}
.container-lg{max-width:1220px;margin:0 auto}
.container-sm{max-width:820px;margin:0 auto}
.sec-head{text-align:center;max-width:680px;margin:0 auto 56px}
.bg-white{background:#fff}
.bg-ice{background:var(--ice)}
.bg-navy{background:var(--navy)}
.bg-pink{background:var(--pink)}
.rel{position:relative;overflow:hidden}
.z2{position:relative;z-index:2}
.bg-circ{position:absolute;border-radius:50%;pointer-events:none}

/* ---------- Hero (home) ---------- */
.hero-inner{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:80px 5vw 96px;display:flex;align-items:center;gap:52px;flex-wrap:wrap}
.hero-copy{flex:1 1 430px;min-width:290px}
.hero-chip{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;font-weight:800;font-size:12.5px;letter-spacing:.06em;color:var(--pink);background:var(--pink-soft);padding:9px 16px;border-radius:100px;margin-bottom:22px}
.hero-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--pink);display:inline-block}
.hero-copy p{font-weight:500;color:var(--slate);font-size:clamp(16px,2vw,19px);line-height:1.6;margin:20px 0 34px;max-width:480px}
.hero-visual{flex:1 1 380px;min-width:290px;position:relative;padding:26px 10px 30px}
.blob{position:relative;overflow:hidden;aspect-ratio:5/4.4;border-radius:42% 58% 56% 44%/46% 44% 56% 54%;box-shadow:0 30px 70px rgba(3,35,100,.22);animation:blobMorph 11s ease-in-out infinite}
.blob img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-mini{position:absolute;bottom:-4px;left:-6px;width:132px;height:132px;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 14px 34px rgba(3,35,100,.25);animation:floatSlow2 6s ease-in-out infinite}
.hero-mini img{width:100%;height:100%;object-fit:cover}
.hero-chipfloat{position:absolute;top:6px;left:-2%;background:#fff;border-radius:100px;padding:10px 18px;box-shadow:0 12px 30px rgba(3,35,100,.16);display:flex;align-items:center;gap:8px;animation:floatSlow 7s ease-in-out infinite}
.hero-chipfloat .dot{width:9px;height:9px;border-radius:50%;background:#25D366;display:inline-block}
.hero-chipfloat b{font-weight:800;color:var(--navy);font-size:12px;letter-spacing:.03em}
.tw1{position:absolute;top:-2px;right:8%;animation:twinkle 2.4s ease-in-out .5s infinite}
.tw2{position:absolute;bottom:6%;right:-2px;animation:twinkle 2.8s ease-in-out 1.2s infinite}

/* ---------- Heros internos ---------- */
.page-hero{position:relative;background:var(--navy);padding:80px 5vw 70px;overflow:hidden}
.page-hero h1{color:#fff}
.page-hero .lead{color:var(--lav);margin-top:18px}
.photo-hero{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden}
.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-hero .shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,35,100,.92) 20%,rgba(3,35,100,.55) 60%,rgba(3,35,100,.25) 100%)}
.photo-hero .inner{position:relative;z-index:2;max-width:1220px;margin:0 auto;width:100%;padding:80px 5vw}
.photo-hero h1{color:#fff;max-width:660px}
.photo-hero .lead{color:#fff;opacity:.92;margin-top:18px;max-width:540px}

/* ---------- Stats ---------- */
.stats{background:var(--navy);padding:44px 5vw}
.stats-row{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-around;gap:32px;text-align:center}
.stat-num{font-family:'Fredoka',sans-serif;font-weight:700;color:#fff;font-size:clamp(34px,4.4vw,50px)}
.stat-lbl{font-weight:600;color:var(--lav);font-size:14px;margin-top:6px}

/* ---------- Cards ---------- */
.card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(3,35,100,.08);transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(3,35,100,.16)}
.card-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .5s ease;display:block}
.card:hover .card-img img{transform:scale(1.07)}
.card-icon{position:absolute;bottom:-24px;left:20px;width:48px;height:48px;background:#fff;border-radius:50%;padding:8px;box-shadow:0 6px 16px rgba(3,35,100,.18);z-index:2}
.card-body{padding:34px 20px 26px}
.card-body h3{font-size:18px;margin-bottom:14px}
.badge{display:inline-block;font-weight:700;font-size:11.5px;letter-spacing:.04em;color:var(--pink);background:var(--pink-soft);padding:4px 10px;border-radius:100px}

.icard{background:#fff;border-radius:24px;padding:42px 34px;transition:transform .3s ease,box-shadow .3s ease}
.icard:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(3,35,100,.12)}
.icard img{width:52px;height:52px;margin-bottom:22px}
.icard h3{font-size:21px;margin-bottom:12px}
.icard p{font-size:15.5px;line-height:1.65}

.quote{background:#fff;border-radius:22px;padding:36px 30px;transition:transform .3s ease,box-shadow .3s ease}
.quote:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(3,35,100,.1)}
.qmark{font-family:Georgia,serif;color:var(--pink);font-size:42px;line-height:1;margin-bottom:8px}
.quote p{font-size:15.5px;line-height:1.65;font-style:italic;margin-bottom:22px}
.quote b{display:block;font-weight:800;color:var(--navy);font-size:14.5px}
.quote span{color:var(--muted);font-size:13.5px}

.chip{background:var(--ice);color:var(--navy);font-weight:700;font-size:13px;padding:7px 13px;border-radius:100px;display:inline-block}
.chips{display:flex;flex-wrap:wrap;gap:8px}

.step-num{font-family:'Fredoka',sans-serif;font-weight:700;color:var(--pink-soft);font-size:52px;line-height:1}
.step h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;margin:10px 0 8px}
.step p{font-size:14.5px;line-height:1.6}

/* ---------- Grids ---------- */
.grid{display:grid;gap:24px}
.g-min146{grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:16px}
.g-min230{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px}
.g-min240{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.g-min260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.g-min280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g-min300{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.g-min320{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.split{display:flex;gap:50px;align-items:center;flex-wrap:wrap}
.split>*{flex:1 1 380px;min-width:280px}
.split-rev{flex-wrap:wrap-reverse}

/* ---------- Vídeo ---------- */
.video-wrap{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 30px 60px rgba(3,35,100,.2);background:var(--navy)}
#video-thumb{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:var(--navy)}
#video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .25s ease}
#video-thumb:hover .play-btn{transform:translate(-50%,-50%) scale(1.1)}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Marquee (rotina) ---------- */
.marquee{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y}
.marquee.dragging{cursor:grabbing}
.marquee img{user-select:none;-webkit-user-drag:none}
.marquee-track{display:flex;width:max-content;animation:marqueeX 46s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;gap:18px;padding-right:18px}
.marquee-set > img{width:300px;height:210px;object-fit:cover;border-radius:18px;flex-shrink:0}
.marquee-fade-l,.marquee-fade-r{position:absolute;top:0;bottom:0;width:70px;pointer-events:none;z-index:2}
.marquee-fade-l{left:0;background:linear-gradient(90deg,var(--cream),rgba(251,249,246,0))}
.marquee-fade-r{right:0;background:linear-gradient(270deg,var(--cream),rgba(251,249,246,0))}
.marquee-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}

/* ---------- Direção ---------- */
.dir-photo{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 34px 70px rgba(3,35,100,.2);aspect-ratio:4/4.5;background:var(--ice)}
.dir-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ph-fill{position:absolute;inset:14px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-weight:600;font-size:14px;border:1.5px dashed var(--lav);border-radius:20px;padding:20px}
.dir-overlay{position:absolute;left:0;right:0;bottom:0;padding:90px 26px 24px;background:linear-gradient(180deg,rgba(3,35,100,0) 0%,rgba(3,35,100,.88) 88%);z-index:2;pointer-events:none}
.dir-overlay .nome{font-family:'Fredoka',sans-serif;font-weight:600;color:#fff;font-size:clamp(22px,2.6vw,30px);line-height:1.1}
.dir-overlay .cargo{display:inline-block;margin-top:10px;background:var(--pink);color:#fff;font-weight:800;font-size:12px;letter-spacing:.06em;padding:7px 14px;border-radius:100px}
.dir-ring{position:absolute;top:-26px;left:-26px;width:110px;height:110px;border-radius:50%;border:10px solid var(--pink-soft);animation:floatSlow 7s ease-in-out infinite}

/* ---------- Projetos placeholder ---------- */
.ph-visual{position:relative;width:100%;aspect-ratio:5/4;border-radius:24px;background:linear-gradient(135deg,var(--ice),#fff);overflow:hidden;box-shadow:0 16px 40px rgba(3,35,100,.08)}
.ph-visual>img.real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ph-inner{position:absolute;inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1.5px dashed var(--lav);border-radius:18px;text-align:center;padding:20px}
.ph-inner img{width:72px;height:72px}
.ph-inner span{font-size:13px;color:var(--muted);font-weight:600}

/* ---------- Tabela ---------- */
.tbl-wrap{border-radius:20px;overflow:hidden;box-shadow:0 16px 40px rgba(3,35,100,.1);background:#fff}
.tbl-scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;min-width:560px}
.tbl th{background:var(--navy);color:#fff;font-weight:800;font-size:13px;letter-spacing:.03em;padding:16px 22px;text-align:left}
.tbl td{padding:15px 22px;font-size:14.5px;color:var(--navy)}
.tbl tbody tr:nth-child(odd) td{background:#F6F8FC}
.tbl-note{color:var(--muted);font-size:13.5px;line-height:1.6;margin:18px 4px 0}
.price-strong{font-weight:700}
.price-pink{color:var(--pink);font-weight:700;font-size:13.5px}

.mini-tbl{display:flex;flex-direction:column;gap:8px}
.mini-row{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-radius:10px}
.mini-row:nth-child(odd){background:#F6F8FC}
.mini-row span{color:var(--navy);font-size:13.5px}
.mini-row b{color:var(--navy);font-weight:700;font-size:13.5px;white-space:nowrap}
.panel{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 30px rgba(3,35,100,.06)}
.panel h3{font-size:19px;margin-bottom:16px}

.action-bar{margin-top:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:var(--ice);border-radius:16px;padding:22px 26px}
.action-bar b{display:block;font-weight:800;color:var(--navy);font-size:15px;margin-bottom:4px}
.action-bar p{font-size:13.5px}

/* ---------- Documentos ---------- */
.doc-item{display:flex;align-items:center;gap:14px;background:#fff;border-radius:14px;padding:18px 20px}
.doc-check{width:30px;height:30px;border-radius:50%;background:var(--pink-soft);color:var(--pink);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-item span{color:var(--navy);font-size:14.5px;line-height:1.4}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(3,35,100,.06)}
.faq-q{width:100%;text-align:left;padding:20px 24px;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:15.5px}
.faq-icon{font-size:20px;color:var(--pink);font-weight:700;transition:transform .25s ease;flex-shrink:0}
.faq-a{display:none;padding:0 24px 22px}
.faq-a p{font-size:14.5px;line-height:1.7}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* ---------- Formulários ---------- */
.form-card{background:#fff;border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:22px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.form-card input,.form-card select,.form-card textarea{padding:14px 16px;border:1.5px solid #E2E6F0;border-radius:12px;font-family:'Montserrat',sans-serif;font-size:14.5px;color:var(--navy);outline:none;background:#fff;width:100%}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--pink)}
.form-card textarea{resize:vertical}
.span-all{grid-column:1/-1}
.fsec-title{font-weight:800;color:var(--navy);font-size:13px;letter-spacing:.04em;margin-bottom:14px}
.form-note{text-align:center;color:var(--muted);font-size:12.5px}
.form-ok{display:none;background:#fff;border-radius:24px;padding:56px 40px;text-align:center}
.form-ok .ok-circle{width:64px;height:64px;border-radius:50%;background:var(--pink-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.form-ok h3{font-size:24px;margin-bottom:10px}
.form-ok p{font-size:15.5px;line-height:1.6}
.form-ok.show{display:block}
form.hide{display:none}

.file-drop{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px dashed var(--lav);border-radius:12px;cursor:pointer;background:#F6F8FC}
.file-drop input{display:none}
.file-drop .file-name{font-size:14px;color:var(--slate)}
.file-hint{font-size:12px;color:var(--muted)}
.file-label{font-weight:700;color:var(--navy);font-size:13.5px}

/* ---------- Contato ---------- */
.sector{display:block;background:#fff;border-radius:16px;padding:22px 24px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.sector:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(3,35,100,.1)}
.sector b{display:block;color:var(--navy);font-size:14.5px;margin-bottom:6px;font-weight:800}
.sector span{color:var(--pink);font-weight:700;font-size:15px}
.sector.dark{background:var(--navy)}
.sector.dark b{color:#fff}
.sector.dark span{color:var(--pink-mid)}
.map-box{border-radius:24px;overflow:hidden;min-height:380px;box-shadow:0 16px 40px rgba(3,35,100,.1)}
.map-box iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.info-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 30px rgba(3,35,100,.06);text-align:center}
.info-card .ic{width:52px;height:52px;border-radius:50%;background:var(--pink-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.info-card h3{font-size:17px;margin-bottom:8px}
.info-card p{font-size:14.5px;line-height:1.6}

/* ---------- CTA ---------- */
.cta h2{color:#fff}
.cta p{color:#fff;opacity:.96;font-size:17px;line-height:1.6;margin:16px 0 36px}

/* ---------- Footer ---------- */
footer{background:var(--navy);padding:70px 5vw 28px}
.foot-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
@media (max-width:940px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-logo{height:42px;width:auto;margin-bottom:18px}
.foot-desc{color:var(--lav);font-size:14px;line-height:1.6;max-width:280px}
.foot h4{color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.06em;margin:0 0 18px}
.foot-links{display:flex;flex-direction:column;gap:12px}
.foot a{color:var(--lav);text-decoration:none;font-size:14.5px;transition:color .2s ease}
.foot a:hover{color:#fff}
.foot a.hi{color:var(--pink-mid);font-weight:700;font-size:14px}
.foot a.hi:hover{color:#fff}
.foot p{color:var(--lav);font-size:14.5px;line-height:1.6;margin-bottom:12px}
.foot-social{display:flex;gap:12px;margin-top:20px}
.foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:background .25s ease,transform .25s ease}
.foot-social a:hover{background:var(--pink);transform:translateY(-3px)}
.foot-bottom{max-width:1180px;margin:50px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:13px}

/* ===== Revisão 2027: cores unificadas, marquee de séries, ícones, textos ===== */
.label-light{color:var(--pink-soft)}
.page-hero .lead{color:rgba(255,255,255,.85)}
.photo-hero .lead{color:rgba(255,255,255,.9)}
.stat-lbl{color:rgba(255,255,255,.78)}
.foot a{color:rgba(255,255,255,.78)}
.foot p{color:rgba(255,255,255,.78)}
.foot-desc{color:rgba(255,255,255,.78)}
.foot a.hi{color:var(--pink-soft)}
.topbar:hover{background:var(--navy);text-decoration:underline}
h1,h2,h3,.sec-head h2{text-wrap:balance}
.lead,.quote p,.step p,.icard p{text-wrap:pretty}
.txt-j{text-align:justify;text-wrap:pretty;hyphens:auto;-webkit-hyphens:auto}
.txt-j p{font-size:16.5px;line-height:1.85;margin-bottom:18px}
.txt-j p:last-child{margin-bottom:0}

@keyframes iconBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.niveis-marquee .marquee-track{animation-duration:44s}
.niveis-marquee .marquee-set{gap:22px;padding-right:22px;align-items:stretch;padding-top:6px;padding-bottom:34px}
.ncard{width:330px;flex-shrink:0;background:#fff;border-radius:22px;box-shadow:0 10px 30px rgba(3,35,100,.08);transition:transform .3s ease,box-shadow .3s ease}
.ncard:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(3,35,100,.16)}
.ncard-imgwrap{position:relative}
.ncard-photo{aspect-ratio:4/3;overflow:hidden;border-radius:22px 22px 0 0;position:relative}
.ncard-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .5s ease;display:block}
.ncard:hover .ncard-photo img{transform:scale(1.08)}
.ncard-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,35,100,0) 52%,rgba(3,35,100,.46) 100%);pointer-events:none}
.ncard-icon,.ncard .ncard-icon{position:absolute;bottom:-28px;left:20px;width:64px;height:64px;background:#fff;border-radius:50%;padding:12px;box-sizing:border-box;box-shadow:0 10px 24px rgba(3,35,100,.22);z-index:3;animation:iconBob 4.5s ease-in-out infinite;transition:transform .3s ease,box-shadow .3s ease;object-fit:contain}
.ncard:hover .ncard-icon{transform:scale(1.12) rotate(8deg);box-shadow:0 0 0 6px rgba(255,9,100,.16),0 12px 26px rgba(3,35,100,.28);animation-play-state:paused}
.ncard-body{padding:42px 22px 26px}
.ncard-body h3{font-size:20px;margin:0 0 12px}
@media (max-width:640px){.ncard{width:270px}}

.invest-note{background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 30px rgba(3,35,100,.06)}
.invest-note h3{font-size:19px;margin-bottom:14px}
.invest-note p{font-size:14.5px;line-height:1.7;text-wrap:pretty}
.invest-note .tag{display:inline-block;margin-bottom:14px;font-weight:700;font-size:11.5px;letter-spacing:.04em;color:var(--pink);background:var(--pink-soft);padding:4px 10px;border-radius:100px}

/* ícones dos projetos sobrepostos às fotos (igual níveis de ensino) */
.proj-visual{position:relative}
.proj-visual .ncard-icon{bottom:-24px;left:24px}
/* ===== v3: faixa, níveis, materiais, brasão, treinadores, contato, formulários ===== */
@keyframes waShake{0%,55%,100%{transform:rotate(0)}5%,15%,25%{transform:rotate(-16deg)}10%,20%,30%{transform:rotate(16deg)}35%{transform:rotate(0)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes crestFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
.ticker{display:block;background:var(--navy);overflow:hidden;text-decoration:none;position:relative;z-index:1001}
.ticker-track{display:flex;width:max-content;animation:marqueeX 30s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{display:inline-flex;align-items:center;gap:18px;padding:11px 18px 11px 0;color:#fff;font-weight:800;font-size:13px;letter-spacing:.06em;white-space:nowrap}
.ticker-track i{color:var(--pink);font-style:normal}
.ncard{display:flex;flex-direction:column}
.ncard-body{flex:1;display:flex;flex-direction:column}
.ncard-body h3{letter-spacing:.02em;font-size:19px}
.ncard-body p{font-size:14px;line-height:1.6;margin:0 0 16px;text-wrap:pretty}
.ncard-body .link-cta{margin-top:auto}
.ncard-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ncard-tags span{font-size:10.5px;font-weight:800;letter-spacing:.05em;padding:4px 10px;border-radius:100px;background:var(--ice);color:var(--navy)}
.ncard-tags span.hot{background:var(--pink);color:#fff}
.ncard{transition:transform .5s cubic-bezier(.2,.8,.3,1),box-shadow .5s ease}
.ncard.spot{transform:translateY(-12px) scale(1.03);box-shadow:0 0 0 3px var(--pink),0 26px 46px rgba(255,9,100,.22)}
.ncard.spot .ncard-icon{transform:scale(1.18) rotate(-12deg);box-shadow:0 0 0 7px rgba(255,9,100,.2),0 12px 26px rgba(3,35,100,.28)}
.ncard.spot .ncard-photo img{transform:scale(1.08)}
.mat-card{background:#fff;border-radius:24px;padding:36px;box-shadow:0 10px 30px rgba(3,35,100,.06);display:flex;flex-direction:column;gap:12px;transition:transform .3s,box-shadow .3s}
.mat-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(3,35,100,.12)}
.mat-card img{height:58px;width:auto;align-self:flex-start;margin-bottom:6px;transition:transform .4s}
.mat-card:hover img{transform:scale(1.08) rotate(-2deg)}
.mat-card h3{font-size:23px}
.mat-card .tag{font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--pink)}
.mat-card p{font-size:15px;line-height:1.75;text-wrap:pretty}
.crest-wrap{display:flex;justify-content:center;align-items:center;min-width:220px}
.crest{position:relative;width:180px;height:212px;animation:crestFloat 5s ease-in-out infinite;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
.crest svg{position:relative;width:100%;height:100%;z-index:2}
.crest .ring{position:absolute;left:50%;top:50%;width:250px;height:250px;margin:-125px 0 0 -125px;border:2px dashed rgba(255,255,255,.35);border-radius:50%;animation:spinSlow 18s linear infinite}
.crest:hover{animation-duration:1.6s}
.coach{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:14px 20px 14px 14px;box-shadow:0 10px 26px rgba(3,35,100,.08);margin:0 0 24px;max-width:380px;transition:transform .3s,box-shadow .3s}
.coach:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(3,35,100,.14)}
.coach-photo{width:78px;height:78px;border-radius:16px;overflow:hidden;flex-shrink:0;background:var(--ice);position:relative;border:3px solid var(--pink-soft)}
.coach-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.coach-photo .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Fredoka',sans-serif;font-weight:600;font-size:30px;color:var(--navy)}
.coach small{display:block;font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--pink)}
.coach b{display:block;font-family:'Fredoka',sans-serif;font-weight:600;color:var(--navy);font-size:22px;line-height:1.2}
.coach span{font-size:13px;color:var(--muted)}
.sector2{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:18px 20px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.sector2:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(3,35,100,.1)}
.s-ic{width:52px;height:52px;border-radius:14px;background:var(--pink-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}
.sector2:hover .s-ic{transform:rotate(-8deg) scale(1.08)}
.s-tx{flex:1;min-width:0}
.s-tx b{display:block;color:var(--navy);font-size:14.5px;font-weight:800;margin-bottom:3px}
.s-tx span{color:var(--slate);font-weight:600;font-size:14.5px}
.s-wa{width:44px;height:44px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:waShake 2.8s ease-in-out infinite}
.s-wa.alt{background:var(--navy)}
.sector2:nth-child(2n) .s-wa{animation-delay:.5s}
.sector2:nth-child(3n) .s-wa{animation-delay:1s}
.sector2:hover .s-wa{animation-duration:.9s}
.soc-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.soc{display:flex;align-items:center;gap:10px;background:#fff;border-radius:100px;padding:10px 22px 10px 10px;text-decoration:none;color:var(--navy);font-weight:700;font-size:14.5px;box-shadow:0 6px 18px rgba(3,35,100,.08);transition:transform .25s,box-shadow .25s}
.soc:hover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(3,35,100,.14);color:var(--navy)}
.soc i{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s}
.soc:hover i{transform:rotate(-12deg) scale(1.1)}
.hours{display:flex;flex-direction:column;gap:10px}
.hour-row{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;padding:14px 18px;border-radius:14px;background:#F6F8FC;flex-wrap:wrap}
.hour-row b{color:var(--navy);font-size:14px;font-weight:700}
.hour-row span{color:var(--pink);font-weight:800;font-size:14px;white-space:nowrap}
.where-photo{border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(3,35,100,.12);min-height:380px}
.where-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.where-photo:hover img{transform:scale(1.05)}
.lgpd{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--slate);cursor:pointer}
.form-card .lgpd input{width:20px;height:20px;padding:0;flex-shrink:0;margin-top:1px;accent-color:var(--pink)}
.form-card label.fl{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:12.5px;color:var(--navy);letter-spacing:.02em}
.kid-block{border:1.5px solid #E2E6F0;border-radius:16px;padding:20px;animation:fadeUp .5s ease both}
.kid-block .fsec-title{color:var(--pink)}
.count-hint{font-size:12px;color:var(--muted);text-align:right}
/* materiais v2 */
@keyframes kidUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes sealSpin{0%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.06)}100%{transform:rotate(-8deg) scale(1)}}
@keyframes blobPulse{0%,100%{border-radius:46% 54% 50% 50%/52% 46% 54% 48%;transform:scale(1)}50%{border-radius:56% 44% 42% 58%/44% 56% 46% 54%;transform:scale(1.05)}}
.mat2{position:relative;background:var(--navy);padding:100px 5vw;overflow:hidden}
.mat2::before{content:'';position:absolute;top:-180px;left:50%;width:900px;height:900px;margin-left:-450px;border-radius:50%;border:2px dashed rgba(255,255,255,.08);animation:spinSlow 60s linear infinite}
.mat2-head{position:relative;text-align:center;max-width:720px;margin:0 auto 60px}
.mat2-head p{color:rgba(255,255,255,.85);font-size:17px;line-height:1.7;margin-top:18px;text-wrap:pretty}
.mat2-grid{position:relative;max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:30px}
.mat2-card{background:#fff;border-radius:32px;overflow:hidden;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.3,1),box-shadow .45s}
.mat2-card:hover{transform:translateY(-10px);box-shadow:0 34px 60px rgba(0,0,0,.35)}
.mat2-kids{position:relative;height:340px;background:linear-gradient(180deg,#F5F6F8 0%,#EEF1F8 100%);overflow:hidden}
.anglo .mat2-kids{background:linear-gradient(180deg,#EEF3FF 0%,#D9E3F7 100%)}
.mat2-blob{position:absolute;left:50%;bottom:-90px;width:380px;height:380px;margin-left:-190px;background:var(--pink);opacity:.14;animation:blobPulse 9s ease-in-out infinite}
.anglo .mat2-blob{background:var(--navy)}
.mat2-kids .kid{position:absolute;bottom:-14%;height:118%;width:auto;transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.mat2-kids .kid.a{left:12%}
.mat2-kids .kid.b{right:10%}
.reveal.in .mat2-kids .kid.a{animation:kidUp .9s cubic-bezier(.2,.8,.3,1) .2s both}
.reveal.in .mat2-kids .kid.b{animation:kidUp .9s cubic-bezier(.2,.8,.3,1) .4s both}
.mat2-card:hover .kid.a{transform:translateY(-10px) rotate(-2deg)}
.mat2-card:hover .kid.b{transform:translateY(-14px) rotate(2deg)}
.mat2-seal{position:absolute;top:22px;left:50%;margin-left:-62px;width:124px;height:124px;z-index:3;filter:drop-shadow(0 14px 22px rgba(3,35,100,.3));animation:sealSpin 6s ease-in-out infinite}
.mat2-card:hover .mat2-seal{animation-duration:1.4s}
.mat2-tx{padding:34px 38px 40px}
.mat2-tx .tag{display:block;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--pink);margin-bottom:10px}
.mat2-tx h3{font-size:clamp(26px,3vw,34px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px}
.mat2-tx p{font-size:15.5px;line-height:1.75;text-wrap:pretty;margin-bottom:18px}
.mat2-tx ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.mat2-tx li{position:relative;padding-left:30px;font-size:14.5px;line-height:1.5;color:var(--navy);font-weight:600}
.mat2-tx li::before{content:'✓';position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--pink-soft);color:var(--pink);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.mat2-chips{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 20px;margin-top:50px}
.mat2-chips span{color:#fff;font-weight:800;font-size:13px;letter-spacing:.08em}
.mat2-chips i{color:var(--pink);font-style:normal}
@media (max-width:560px){.mat2-kids{height:280px}.mat2-tx{padding:28px 24px 32px}}
/* reels */
.reels-sec{padding:100px 5vw;background:#F5F6F8;overflow:hidden}
.reels{position:relative;height:calc(clamp(220px,26vw,300px)*16/9 + 20px);max-width:960px;margin:0 auto}
.reel{position:absolute;left:50%;top:0;width:clamp(220px,26vw,300px);aspect-ratio:9/16;border-radius:28px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(3,35,100,.25);transition:transform .7s cubic-bezier(.2,.8,.3,1),opacity .7s,filter .7s;text-decoration:none}
.reel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,35,100,.35) 0%,rgba(3,35,100,0) 30%,rgba(3,35,100,0) 55%,rgba(3,35,100,.9) 100%)}
.reel-top{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:10px;z-index:2}
.reel-top img{width:34px;height:34px;border-radius:50%;background:#fff;object-fit:contain}
.reel-top b{color:#fff;font-size:13px}
.reel-top em{margin-left:auto;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--pink);padding:5px 9px;border-radius:100px}
.reel-bt{position:absolute;left:18px;right:18px;bottom:20px;z-index:2}
.reel-bt strong{display:block;font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px;line-height:1.25;color:#fff;margin-bottom:10px}
.reel-bt span{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em}
.reel-bt i{width:28px;height:28px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px}
.reel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}
.reel-dots span{height:8px;width:8px;border-radius:99px;background:rgba(3,35,100,.25);cursor:pointer;transition:width .3s,background .3s}
.reel-dots span.on{width:26px;background:var(--pink)}
/* hero2: crianças recortadas */
.hero2-kids{-webkit-mask-image:none;mask-image:none}

/* ===== v3: paleta vermelho/azul/branco/cinza, ícones vermelhos, LP matrículas ===== */
@keyframes ctaBlink{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.15)}}
@keyframes pulseRingPink{0%{box-shadow:0 0 0 0 rgba(255,9,100,.5)}70%{box-shadow:0 0 0 18px rgba(255,9,100,0)}100%{box-shadow:0 0 0 0 rgba(255,9,100,0)}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes reelIn{from{opacity:0;transform:translateY(70px) scale(.9)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.6) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes spinRev{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes growX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes softPulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes floatSlow2{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes shineX{0%{left:-60%}60%,100%{left:130%}}
@keyframes tagBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,3px)}}
@keyframes kid5Up{from{opacity:0;transform:translate(-50%,70px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes kid5Bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-9px)}}
@keyframes icBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.12)}}
/* ícones: bolinha vermelha + ícone branco */
.s-ic,.info-card .ic,.step-num,.doc-check,.badge,.form-ok .ok-circle,.stat-ic{background:var(--pink)!important;color:#fff!important}
.s-ic svg,.info-card .ic svg,.doc-check svg,.badge svg,.stat-ic svg{stroke:#fff!important}
.s-ic svg [fill]:not([fill=none]),.info-card .ic svg [fill]:not([fill=none]){fill:#fff}
.stat-ic{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 10px 24px rgba(255,9,100,.35);animation:icBounce 3.2s ease-in-out infinite}
.stats-row>div:nth-child(2) .stat-ic{animation-delay:.4s}.stats-row>div:nth-child(3) .stat-ic{animation-delay:.8s}
.hero2-bg{background:radial-gradient(circle at 50% 50%,#EEF1F8 0%,rgba(238,241,248,0) 62%)!important}
.hero2-ring{border-color:#EEF1F8!important;border-top-color:var(--pink)!important}
/* faixa topo vermelha */
.ticker{background:var(--pink)!important;color:#fff!important}
.ticker i{color:#fff!important;opacity:.8}
/* chip verde */
.hero-chip{background:#25D366!important;color:#fff!important;border-color:#25D366!important;box-shadow:0 10px 26px rgba(37,211,102,.35)}
.hero-chip.fu1{animation:fadeUp .8s ease both,pulseRing 2.2s 1s infinite}
#oferta,#localizacao,#beneficios,section[id]{overflow:hidden}
html,body{overflow-x:hidden}
.hero-chip .dot{background:#fff!important;animation:softPulse 1.2s infinite}
/* botões */
.btn{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:shineX 3.6s ease-in-out infinite;pointer-events:none}
.btn:hover{transform:translateY(-3px) scale(1.04)}
.btn-pink:hover{box-shadow:0 16px 36px rgba(255,9,100,.42)}
.btn-blink{animation:ctaBlink 2.4s ease-in-out infinite,pulseRingPink 2.4s infinite}
.btn-wa,a.btn[href*="wa.me"]{background:#25D366!important;border-color:#25D366!important;color:#fff!important;display:inline-flex;align-items:center;gap:10px}
.btn-wa:hover,a.btn[href*="wa.me"]:hover{box-shadow:0 16px 34px rgba(37,211,102,.45)}
a.btn[href*="wa.me"] svg *{fill:#fff!important;stroke:none!important}
[data-hov]{transition:transform .25s ease,box-shadow .25s ease}
[data-hov]:hover{transform:translateY(-3px) scale(1.03)}
.lp-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;animation:ctaBlink 2.4s ease-in-out infinite}
/* menu: matrículas 2027 piscando + tag */
.nav-mat{overflow:visible!important;animation:ctaBlink 2s ease-in-out infinite,pulseRingPink 2s infinite}
.nav-mat::after{display:none}
.nav-tag{position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);white-space:nowrap;background:var(--navy);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;padding:4px 9px;border-radius:99px;animation:tagBob 2s ease-in-out infinite;pointer-events:none}
.nav-tag::before{content:'';position:absolute;left:50%;top:-4px;margin-left:-4px;border:4px solid transparent;border-top:0;border-bottom-color:var(--navy)}
/* hero 5 crianças */
.kids5{height:clamp(380px,44vw,600px);position:relative}
.kid5{position:absolute;bottom:-4%;width:auto;max-width:none;filter:drop-shadow(0 18px 22px rgba(3,35,100,.18));animation:kid5Up 1s cubic-bezier(.2,.8,.3,1) both,kid5Bob 6s ease-in-out infinite}
.kid5.q4{height:104%;left:20%;z-index:1;animation-delay:.15s,1.4s}
.kid5.q3{height:97%;left:42%;z-index:2;animation-delay:.3s,1.9s}
.kid5.q1{height:86%;left:63%;z-index:3;animation-delay:.45s,2.3s}
.kid5.q2{height:78%;left:82%;z-index:4;animation-delay:.6s,1.6s}
.kid5.q5{height:66%;left:50%;z-index:5;bottom:-6%;animation-delay:.75s,2.1s}
.kids5 .hero2-badge{left:auto;right:-2%;bottom:auto;top:0;width:min(42%,220px);z-index:6}
.kids5 .hero2-pill{z-index:6;top:auto;bottom:12%;right:auto;left:-2%}
.kids5 .hero2-ring{width:70%;left:15%;right:auto;top:6%}
@media (max-width:700px){.kids5{height:420px}.kids5 .hero2-badge{width:44%}}
/* lista e uniformes */
.quick{padding:20px 5vw 90px;background:#fff}
.quick-in{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:22px}
.quick-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:26px;background:var(--navy);color:#fff;text-decoration:none;box-shadow:0 20px 44px rgba(3,35,100,.25);transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s}
.quick-card+.quick-card{background:var(--pink);box-shadow:0 20px 44px rgba(255,9,100,.3)}
.quick-card::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-20deg);animation:shineX 4s ease-in-out infinite}
.quick-card:hover{transform:translateY(-8px) scale(1.02);color:#fff}
.q-ic{width:64px;height:64px;flex-shrink:0;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;animation:icBounce 2.6s ease-in-out infinite}
.quick-card+.quick-card .q-ic{background:#fff}.quick-card+.quick-card .q-ic svg{stroke:var(--pink)}
.q-tx{display:flex;flex-direction:column;gap:4px;flex:1}
.q-tx b{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(19px,2vw,23px);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.q-tx span{font-size:14px;opacity:.9}
.q-go{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}
.q-go svg{width:20px;height:20px}
.quick-card:hover .q-go{transform:translateX(6px);background:rgba(255,255,255,.15)}
/* fachada */
.fach{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/9;margin-bottom:18px;box-shadow:0 26px 60px rgba(3,35,100,.2)}
.fach img{width:100%;height:100%;object-fit:cover;display:block;animation:kenBurns 14s ease-in-out infinite alternate}
.fach-tag{position:absolute;left:16px;bottom:16px;background:var(--pink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;padding:7px 12px;border-radius:99px}
.hour-note{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--navy);background:#F5F6F8;border-radius:14px;padding:12px 14px}
.sector2.store{background:var(--pink)!important}.sector2.store b,.sector2.store span{color:#fff!important}.sector2.store .s-ic{background:#fff!important}.sector2.store .s-ic svg{stroke:var(--pink)!important}
/* estrutura */
.est-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:16px}
.est-grid figure{margin:0;border-radius:22px;overflow:hidden;position:relative}
.est-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.est-grid figure:hover img{transform:scale(1.08)}
.est-main{grid-column:span 2;grid-row:span 2}
.est-main figcaption{position:absolute;left:16px;bottom:16px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;padding:8px 14px;border-radius:99px}
@media (max-width:760px){.est-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}}
/* sports */
.sports{background:var(--navy);padding:90px 5vw;overflow:hidden}
.sports-in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:center}
.sports-crest{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.crest-ring{position:absolute;inset:0;border-radius:50%;border:3px dashed rgba(255,255,255,.25);animation:spinSlow 30s linear infinite}
.sports-crest img{width:78%;height:auto;animation:floatSlow 6s ease-in-out infinite}
.crest-fb{display:none;width:78%;aspect-ratio:1;border-radius:50%;background:var(--pink);color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;font-size:30px;text-align:center;line-height:1.1;align-items:center;justify-content:center}
.sports-p{color:rgba(255,255,255,.9);font-size:17px;line-height:1.75;margin:18px 0 24px}
.sports-hl{background:var(--pink);border-radius:20px;padding:20px 24px;color:#fff;display:flex;flex-direction:column;gap:4px;box-shadow:0 18px 40px rgba(255,9,100,.35)}
.sports-hl b{font-family:'Fredoka',sans-serif;font-size:22px;text-transform:uppercase}
.sports-hl span{font-size:15px;line-height:1.6}
@media (max-width:760px){.sports-in{grid-template-columns:1fr;gap:30px}.sports-crest{max-width:240px;margin:0 auto}}

/* ===== v4 ===== */
html,body{overflow-x:hidden}
h1,h2,h3,p,li,a,span{overflow-wrap:break-word}
/* hero */
.hero2-inner{max-width:1360px;align-items:center}
.hero2-copy{flex:1 1 420px;padding-bottom:110px}
.hero-logo{display:block;width:min(340px,80%);height:auto;margin:0 0 22px;filter:drop-shadow(0 12px 22px rgba(3,35,100,.14));animation:fadeUp .8s ease both,floatSlow2 6s ease-in-out 1s infinite}
.hero-wel{font-size:clamp(58px,8.4vw,128px)!important;line-height:.98!important;margin:0}
.hero-wel .w1{display:block;color:var(--navy);animation:popIn .8s cubic-bezier(.2,.8,.3,1) .25s both}
.hero-wel .w2{display:block;color:var(--pink);white-space:nowrap}
.hero-wel .w2 i{font-style:normal;display:inline-block;animation:letterUp .7s cubic-bezier(.2,.8,.3,1.4) both,letterWave 4s ease-in-out 2.4s infinite}
.hero-wel .w2 i:nth-child(2){animation-delay:.61s,2.5s}.hero-wel .w2 i:nth-child(3){animation-delay:.67s,2.6s}.hero-wel .w2 i:nth-child(4){animation-delay:.73s,2.7s}.hero-wel .w2 i:nth-child(5){animation-delay:.79s,2.8s}.hero-wel .w2 i:nth-child(6){animation-delay:.85s,2.9s}.hero-wel .w2 i:nth-child(7){animation-delay:.91s,3s}.hero-wel .w2 i:nth-child(8){animation-delay:.97s,3.1s}.hero-wel .w2 i:nth-child(9){animation-delay:1.03s,3.2s}.hero-wel .w2 i:nth-child(10){animation-delay:1.09s,3.3s}.hero-wel .w2 i:nth-child(11){animation-delay:1.15s,3.4s}
@keyframes letterUp{from{opacity:0;transform:translateY(60%) rotate(8deg) scale(.6)}to{opacity:1;transform:none}}
@keyframes letterWave{0%,20%,100%{transform:none}8%{transform:translateY(-10px)}}
.hero2-visual.kids5{flex:1.25 1 560px;height:clamp(440px,52vw,760px)}
.kid5{bottom:0}
.kid5.q4{height:100%;left:16%}
.kid5.q3{height:94%;left:37%}
.kid5.q1{height:80%;left:58%}
.kid5.q2{height:72%;left:84%}
.kid5.q5{height:62%;left:71%;bottom:0}
.kids5 .hero2-ring{width:78%;left:12%;top:4%}
.kids5 .hero2-pill{left:0;bottom:14%}
.selos-corner{position:absolute;left:5vw;bottom:22px;margin:0;z-index:5;background:#fff;border-radius:99px;padding:10px 20px;box-shadow:0 10px 28px rgba(3,35,100,.12);gap:14px}
.selos-corner span{font-size:10px}
.selos-corner img{height:32px}
@media (max-width:900px){.hero2-copy{padding-bottom:30px}.hero2-visual.kids5{height:clamp(380px,100vw,560px)}.selos-corner{position:relative;left:auto;bottom:auto;margin:20px 5vw 24px;display:inline-flex;flex-wrap:wrap}.hero-wel .w2{white-space:normal}}
/* ícones: bola vermelha + desenho branco */
.ncard-icon,.ncard .ncard-icon{display:flex!important;align-items:center;justify-content:center;background:var(--pink)!important;padding:0!important;border:4px solid #fff;box-shadow:0 10px 24px rgba(255,9,100,.35)!important}
.ncard-icon img{width:56%;height:56%;filter:brightness(0) invert(1);margin:0}
/* cards missão/visão/valores e trabalhe conosco */
.icard{position:relative;overflow:visible;padding:64px 30px 34px!important;margin-top:40px;text-align:center;box-shadow:0 14px 36px rgba(3,35,100,.08);border:1px solid #EEF0F3}
.icard .ic-ball{position:absolute;top:-38px;left:50%;margin-left:-38px;width:76px;height:76px;border-radius:50%;background:var(--pink);border:5px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(255,9,100,.38);animation:icBounce 3.2s ease-in-out infinite;transition:transform .4s}
.icard .ic-ball img{width:44%;height:44%;margin:0!important;filter:brightness(0) invert(1)}
.icard .ic-title{display:inline-block;white-space:nowrap;line-height:1.2!important;background:var(--pink);color:#fff!important;font-size:18px!important;padding:9px 22px;border-radius:12px;margin:0 0 18px!important;box-shadow:0 10px 22px rgba(255,9,100,.28);transform:rotate(-2deg);transition:transform .35s}
.icard:hover .ic-ball{transform:scale(1.12) rotate(-10deg)}
.icard:hover .ic-title{transform:rotate(0) scale(1.05)}
.icard p{text-align:center}
.icard .chips{justify-content:center}
.grid:has(>.icard){row-gap:56px}
.icard .ic-title::before,.icard .ic-title::after{display:none!important}
.ncard-body h3{line-height:1.2!important;min-height:2.4em!important;height:auto!important;margin:0 0 12px!important}
/* níveis menores */
.ncard{width:270px}
.ncard-body{padding:40px 18px 22px}
.ncard-body h3{font-size:17px}
.ncard-body p{font-size:13.5px}
/* fachada quadrada sobre o mapa */
.fach{width:min(58%,300px);aspect-ratio:1!important;border:8px solid #fff;margin:0 18px -110px auto;z-index:3;transform:rotate(5deg);box-shadow:0 26px 50px rgba(3,35,100,.3);transition:transform .5s}
.fach:hover{transform:rotate(0) scale(1.03)}
.fach+div{position:relative;z-index:1}
.fach-tag{font-size:9.5px;left:10px;bottom:10px;padding:6px 10px}
/* rodapé = matrículas */
.ft{padding:clamp(40px,5vw,60px) 24px 28px;background:linear-gradient(180deg,#032364,#021B4D);color:rgba(255,255,255,.85)}
.ft-top{text-align:center;margin:0 0 clamp(28px,4vw,44px)}
.ft-logo{display:block;height:clamp(48px,5vw,64px);width:auto;margin:0 auto 14px;animation:floatSlow2 6s ease-in-out infinite}
.ft-slogan{font-family:'Fredoka',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.05rem,.8vw + .85rem,1.45rem);color:var(--pink)}
.ft-grid{max-width:1180px;margin:0 auto 18px;display:flex;flex-wrap:wrap;gap:32px 48px}
.ft-col{flex:1 1 200px;min-width:200px}
.ft-col h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);margin:0 0 16px}
.ft-col p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.8);margin:0 0 16px;max-width:240px}
.ft-social{display:flex;gap:12px}
.ft-social a{width:40px;height:40px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s}
.ft-social a.wa{background:#25D366}
.ft-social a:hover{transform:translateY(-3px) scale(1.08);box-shadow:0 10px 22px rgba(255,9,100,.45)}
.ft-social svg{width:18px;height:18px}
.ft-row{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.85)}
.ft-row a{color:rgba(255,255,255,.85);text-decoration:none}
.ft-row a:hover{color:#25D366}
.ft-ic{width:30px;height:30px;border-radius:50%;background:var(--pink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ft-ic.wa{background:#25D366}
.ft-links{display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:14px;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s,transform .2s}
.ft-links a:hover{color:#fff;transform:translateX(4px)}
.ft-hi{display:block;font-size:14px;color:var(--pink);margin-bottom:10px;text-decoration:none;font-weight:700}
.ft-sm{font-size:12.5px!important}
.ft-copy{text-align:center;font-size:12.5px;color:rgba(255,255,255,.55);margin:0}
/* v5 */
.icard .ic-ball{width:92px!important;height:92px!important;top:-46px!important;margin-left:-46px!important}
.icard .ic-ball svg{width:44px;height:44px}
.icard{padding-top:72px!important;margin-top:50px}
.bg-pink .h-sec,.cta-one{font-size:clamp(26px,3.4vw,46px)!important}
@media (min-width:900px){.bg-pink .h-sec,.cta-one{white-space:nowrap}.bg-pink .container-sm{max-width:1100px}}
.quick-in{max-width:900px;margin:0 auto;justify-content:center;justify-items:stretch;padding:28px;background:#F5F6F8;border-radius:30px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.quick{display:flex;justify-content:center}
.quick-in>*{justify-self:stretch}
.form-sec{position:relative;overflow:hidden;background:#fff}
.form-sec .container-sm{position:relative;z-index:2}
.fs-c1{position:absolute;top:40px;right:-70px;width:220px;height:220px;border-radius:50%;background:rgba(3,35,100,.06);animation:floatSlow 7s ease-in-out infinite}
.fs-c2{position:absolute;bottom:10%;left:6%;width:70px;height:70px;border-radius:50%;border:3px solid rgba(3,35,100,.15);animation:floatSlow2 6s ease-in-out infinite}
.form-sec .form-card{box-shadow:0 30px 70px rgba(3,35,100,.14);border:1px solid #EEF0F3}
.nav-mat{overflow:hidden!important}
/* v6 */
.reels{max-width:1240px!important}
.reels-sec{overflow:hidden}
.hero-wel{font-size:clamp(50px,7vw,104px)!important;font-weight:700!important}
.hero2-pill{max-width:290px;align-items:center}
.hero2-pill span{font-size:12.5px;line-height:1.35}
.logo-img{height:77px!important;width:auto!important;mix-blend-mode:multiply}
.hdr{background:#fff!important}
.ft-follow{margin-top:6px!important;margin-bottom:6px!important;color:#fff!important}
.ft-follow-p{margin-bottom:14px!important}
.quick-card{flex-direction:column;justify-content:center;text-align:center;gap:14px;padding:32px 26px}
.quick-card .q-tx{align-items:center;flex:0 0 auto}
.quick-card .q-go{display:none}
.quick-in{align-items:stretch}
.proj-visual .ncard-icon.proj-ic{width:96px!important;height:96px!important;bottom:-36px!important}
.proj-ic svg{width:54px;height:54px}
.icard .ic-ball svg{width:48px!important;height:48px!important}
.photo-hero img{object-position:center 20%}
/* v8 */
/* v9 */
.dir-photo:has(.lu-img){background:linear-gradient(180deg,#fff 55%,#EEF2FA 100%)!important}
.dir-photo .lu-img{object-fit:cover!important;object-position:center 15%!important;transform:scale(1.35);transform-origin:center 30%;background:transparent}
.dir-photo [class*="tag"],.dir-photo span{white-space:nowrap}
.dir-ring{display:none}
.sports-ig{margin:0 0 22px}
.dir-photo .lu-img{transform:scale(1.18)!important;transform-origin:center bottom;object-fit:contain!important;object-position:center bottom!important}
.sp-slides{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--navy)}
.sp-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform-origin:center top;opacity:0;animation:spFade 16s infinite}
.sp-slides img[src*="sp4"]{object-fit:contain;object-position:center center}
.sp-slides img:nth-child(2){animation-delay:4s}.sp-slides img:nth-child(3){animation-delay:8s}.sp-slides img:nth-child(4){animation-delay:12s}
@keyframes spFade{0%{opacity:0;transform:scale(1)}5%,25%{opacity:1}30%{opacity:0;transform:scale(1.06)}100%{opacity:0}}
.crest-img{width:100%!important;max-width:340px;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35));animation:crestIn 1s cubic-bezier(.2,.8,.3,1.4) both,crestFloat 5s ease-in-out 1s infinite}
@keyframes crestIn{from{opacity:0;transform:scale(.5) rotate(-15deg)}to{opacity:1;transform:none}}
@keyframes crestFloat{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-3deg)}75%{transform:translateY(-6px) rotate(3deg)}}
.sports-in{grid-template-columns:minmax(0,380px) minmax(0,1fr)!important}
.sports-crest:hover .crest-img{animation-play-state:paused;transform:scale(1.06)}
.coach-photo img{object-fit:cover;object-position:center 30%;transform:scale(1.5);transform-origin:center 32%}
.coach-photo{width:110px!important;height:110px!important;border-radius:22px!important;flex-shrink:0}
.coach-big .coach-photo{width:150px!important;height:170px!important;border-radius:24px!important;box-shadow:0 16px 34px rgba(3,35,100,.22);border:4px solid #fff}
.coach-big{align-items:center;gap:20px}
.coach-big small{display:inline-block;background:var(--pink);color:#fff!important;padding:4px 12px;border-radius:99px;font-weight:800;letter-spacing:.08em}
.coach-big b{font-family:'Fredoka',sans-serif;font-size:26px!important;text-transform:uppercase}
.proj-visual .ncard-icon{width:108px!important;height:108px!important;bottom:-38px!important;left:22px!important;border-width:5px!important}
.proj-visual .ncard-icon img{width:62%!important;height:62%!important;filter:brightness(0) invert(1) drop-shadow(0 0 .8px #fff) drop-shadow(0 0 .8px #fff) drop-shadow(0 0 .6px #fff)!important}
.est-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:18px;max-width:1100px;margin:0 auto 44px}
.est-f{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;background:#fff;border:1px solid #EEF0F3;border-radius:20px;padding:24px 14px;box-shadow:0 12px 28px rgba(3,35,100,.07);transition:transform .3s,box-shadow .3s}
.est-f:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(3,35,100,.14)}
.est-f b{font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;text-transform:uppercase;letter-spacing:.02em;color:var(--navy);line-height:1.2}
.est-ic{width:68px;height:68px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(255,9,100,.35);animation:icBounce 3s ease-in-out infinite}
.est-f:nth-child(2n) .est-ic{animation-delay:.5s}
/* posições das crianças (desktop) */
@media (min-width:1101px){
.kids5 .kid5.q4{top: -31px !important;left: 84.8611px !important}
.kids5 .kid5.q3{top: 32.6076px !important}
.kids5 .kid5.q1{left: 349px !important;width: 172px !important;height: 517px !important;top: 235px !important;position: absolute !important}
.kids5 .kid5.q2{width: 168px !important;height: 625px !important;top: 137px !important}
.kids5 .kid5.q5{left: 441px !important;top: 313px !important;position: absolute !important}
}
/* ===== responsivo: tablet e celular ===== */
@media (max-width:1100px){
  .hdr{padding:10px 20px}
  .logo-img{height:60px!important}
  .hero2-inner{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;padding-top:36px}
  .hero2-copy{text-align:center;padding-bottom:10px!important;flex:1 1 auto!important;min-width:0!important;align-self:auto!important}
  .hero2-visual.kids5{flex:0 0 auto!important;width:100%;min-width:0!important;max-width:640px;margin:0 auto!important;height:clamp(360px,70vw,560px)}
  .hero2-copy p{margin-left:auto;margin-right:auto}
  .hero2-copy .btn-row{justify-content:center}
  .kids5{transform:none!important}
  .est-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .est-main{grid-column:span 2}
  .sports-in{grid-template-columns:1fr!important;text-align:center}
  .sports-crest{max-width:280px;margin:0 auto}
  .sports-hl{text-align:left}
  .mhero-in{gap:36px}
  .mhero-copy{text-align:center}
  .mhero-logo{margin-left:auto;margin-right:auto}
  .mhero-p{margin-left:auto;margin-right:auto}
  .mhero-copy .btn-row{justify-content:center}
  .mhero-form{max-width:none}
}
@media (max-width:760px){
  .hero-wel{font-size:clamp(40px,11vw,64px)!important}
  .hero-wel .w2{white-space:normal}
  .hero2-visual.kids5{height:clamp(300px,92vw,440px)}
  .selos-top{top:0;right:50%;transform:translateX(50%);padding:8px 14px;animation:none}
  .selos-top img{height:26px!important}
  .kids5 .hero2-pill{left:50%;transform:translateX(-50%);bottom:4%;max-width:88%;padding:10px 14px;animation:none}
  .hero2-pill b{font-size:24px}
  .hero2-pill span{font-size:11px}
  .stats-row{gap:22px}
  .stats-row>div{flex:1 1 40%}
  .btn{padding:16px 22px;font-size:13px}
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn{width:100%;justify-content:center;text-align:center}
  .icard{padding:60px 22px 28px!important}
  .icard .ic-title{white-space:normal;font-size:16px!important}
  .quick-in{padding:16px;gap:14px}
  .quick-card{padding:24px 18px}
  .fach{width:min(52%,200px)!important;margin-bottom:-70px!important;border-width:6px}
  .loc-addr{font-size:15px}
  .est-feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .est-f{padding:18px 10px}
  .est-f b{font-size:13.5px}
  .est-ic{width:56px;height:56px}
  .est-grid{grid-auto-rows:140px;gap:10px}
  .ft-grid{gap:28px}
  .ft-col{flex:1 1 100%;text-align:center}
  .ft-col p{margin-left:auto;margin-right:auto}
  .ft-social,.ft-row{justify-content:center}
  .ft-links{align-items:center}
  .mhero{padding-top:40px}
  .mhero-form{padding:24px 18px}
  .mhero-form .fgrid,.fgrid{grid-template-columns:1fr!important}
  .form-card{padding:24px 18px}
  .form-card input,.form-card select,.form-card textarea{font-size:16px}
  .coach-big{flex-direction:column;text-align:center}
  .proj-visual .ncard-icon{width:80px!important;height:80px!important;bottom:-28px!important}
  .reels{height:calc(clamp(200px,58vw,260px)*16/9 + 20px)!important}
  .reel{width:clamp(200px,58vw,260px)!important}
  .bg-pink .h-sec,.cta-one{white-space:normal!important}
  #oferta [style*="linear-gradient(160deg"] h3{white-space:normal}
  .sector2{padding:16px}
  .soc-row{flex-wrap:wrap;justify-content:center}
}
@media (max-width:420px){
  .est-feats{grid-template-columns:1fr 1fr}
  .stats-row>div{flex:1 1 100%}
  .hero2-visual.kids5{height:300px}
}
h1,h2,h3,.lead,.sports-p,.ph-sub,p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
@media (hover:none){.btn:hover,.quick-card:hover,.icard:hover,.ncard:hover{transform:none}}
.nw{white-space:normal}
@media (min-width:1100px){.nw{white-space:nowrap}#oferta [style*="linear-gradient(160deg"] p{font-size:13.5px!important}}
#oferta [style*="linear-gradient(160deg"] h3{white-space:nowrap;font-size:clamp(17px,1.6vw,22px)!important}
#oferta{padding-top:clamp(48px,5vw,72px)!important}
.hero2-pill{background:var(--pink)!important;box-shadow:0 16px 34px rgba(255,9,100,.35)!important}
.hero2-pill b{color:#fff!important}
.hero2{padding-bottom:60px}
@media (min-width:1101px){.kids5{transform:scale(.84) translateY(-60px)!important}}
.ncard-body h3{overflow-wrap:normal!important;hyphens:none!important}
@media (min-width:1200px){.niveis-grid{flex-wrap:nowrap!important;max-width:1320px!important;gap:18px!important;padding-left:3vw!important;padding-right:3vw!important}.niveis-grid .ncard{flex:1 1 0!important;min-width:0!important}}
.q-tag{display:inline-block;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.08em;background:#fff;color:var(--pink);padding:5px 12px;border-radius:99px;animation:softPulse 2s ease-in-out infinite}
.quick{padding-top:40px!important}
.soc-tx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.soc-tx small{font-weight:600;font-size:12px;opacity:.75}
.photo-hero{min-height:clamp(420px,46vw,620px)}
.photo-hero img[src*="fachada"]{object-position:center 30%!important}
.reel-top em{white-space:nowrap;flex-shrink:0}
.reel-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#oferta [style*="linear-gradient(160deg"] [style*="space-between"]{transition:transform .3s,background .3s}
#oferta [style*="linear-gradient(160deg"] [style*="space-between"]:hover{transform:translateX(6px);background:rgba(255,9,100,.18)!important}
#oferta [style*="linear-gradient(160deg"] [style*="space-between"] span:last-child{animation:icBounce 2.8s ease-in-out infinite;display:inline-block}
@media (min-width:761px){.hero-wel{font-size:clamp(44px,6vw,90px)!important;line-height:1.08!important}}
.hero2-inner{align-items:center!important}
.hero2-visual.kids5{align-self:center!important;margin-top:-40px}
@media (min-width:1101px){.hdr{justify-content:center!important;gap:56px!important}}
.reel-av{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.reel-av img{width:40px;height:auto;mix-blend-mode:multiply;border-radius:0!important;background:none!important}
.mhero{position:relative;overflow:hidden;background:#fff;padding:clamp(60px,8vw,110px) 24px clamp(64px,8vw,96px);scroll-margin-top:80px}
.mh-c1{position:absolute;top:85px;right:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,9,100,.16);animation:floatSlow 7s ease-in-out infinite}
.mh-c2{position:absolute;bottom:10%;right:12%;width:70px;height:70px;border-radius:50%;border:3px solid rgba(3,35,100,.14);animation:floatSlow2 6s ease-in-out infinite}
.mhero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.mhero-copy{flex:1 1 440px;min-width:280px}
@media (min-width:1080px){.mhero-copy{position:sticky;top:120px}}
.mhero-form .form-card{gap:18px}
.mhero-copy .hero-chip{margin-bottom:26px}
.mhero-logo{display:block;width:100%;max-width:520px;height:auto;margin:0 0 22px;animation:popIn .9s ease both}
.mhero-h{font-family:'Fredoka',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.035em;font-size:clamp(1.4rem,1vw + 1.1rem,1.9rem);line-height:1.2;color:var(--pink);margin:0 0 18px}
.mhero-p{font-size:18px;line-height:1.65;color:var(--navy);max-width:520px;margin:0 0 32px}
.mhero-cta{font-size:clamp(15px,1.2vw,17px)!important;padding:20px 34px!important}
.mhero-note{font-size:13.5px;color:var(--navy);margin:18px 0 0}
.mhero-form{flex:1 1 460px;min-width:290px;max-width:560px;background:#fff;border-radius:20px;padding:34px 28px;box-shadow:0 30px 70px rgba(3,35,100,.18);border:1px solid rgba(3,35,100,.06);scroll-margin-top:90px}
.mform-h{font-family:'Fredoka',sans-serif;font-weight:600;font-size:23px;color:var(--navy);margin:0 0 6px;line-height:1.2;text-transform:uppercase}
.mform-h span{color:var(--pink)}
.mform-p{font-size:13.5px;color:var(--navy);margin:0 0 22px}
.mhero-form .form-card{padding:0!important;box-shadow:none!important;border:0!important;border-radius:0}
.mhero-form .fgrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media (max-width:900px){.mhero-copy{position:relative;top:auto}}
/* v7 */
@media (min-width:1101px){.kids5{transform:scale(.84);transform-origin:right bottom}}
.selos-top{position:absolute;top:-2%;right:0;z-index:7;display:flex;align-items:center;gap:12px;background:#fff;border-radius:99px;padding:10px 18px;box-shadow:0 12px 30px rgba(3,35,100,.14);animation:popIn .9s cubic-bezier(.2,.8,.3,1) 1s both,floatSlow2 6s ease-in-out 2s infinite}
.selos-top span{font-weight:800;font-size:10px;letter-spacing:.08em;color:var(--navy)}
.selos-top img{height:34px;width:auto}
.stat-txt{font-size:clamp(26px,3vw,38px)!important}
.niveis-grid{max-width:1240px;margin:0 auto;padding:6px 5vw 34px;display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.niveis-grid .ncard{width:auto!important;flex:0 1 220px}
@media (max-width:720px){.niveis-grid{gap:14px}.niveis-grid .ncard{flex:0 1 calc(50% - 7px)}}
@media (max-width:460px){.niveis-grid .ncard{flex:1 1 100%}}
#oferta span[style*="border-radius:999px"]{white-space:nowrap}
#oferta [style*="linear-gradient(160deg"] h3{color:#fff!important}
#oferta [style*="linear-gradient(160deg"] [style*="space-between"] span{white-space:nowrap}
.selos-top{flex-wrap:nowrap!important}
.selos-top img{width:auto!important;max-width:none!important;height:34px!important;flex-shrink:0}
.selos-top span{white-space:nowrap}
@media (max-width:1100px){
.kids5 .kid5{top:auto!important;bottom:0!important;width:auto!important;position:absolute!important}
.kids5 .kid5.q4{height:100%!important;left:16%!important}
.kids5 .kid5.q3{height:94%!important;left:37%!important}
.kids5 .kid5.q1{height:78%!important;left:58%!important}
.kids5 .kid5.q2{height:84%!important;left:83%!important}
.kids5 .kid5.q5{height:62%!important;left:71%!important}
}
.mat-kicker{font-family:'Fredoka',sans-serif;font-size:clamp(18px,1.6vw,24px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#FF0964;margin-bottom:12px}
.quick{padding-left:5vw!important;padding-right:5vw!important}
.quick-in{width:100%;max-width:900px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.quick-card{align-items:center!important;justify-content:center!important;text-align:center!important}
.quick-card .q-tx{align-items:center!important;text-align:center!important;width:100%}
.go-btn{white-space:nowrap;padding-left:10px!important}
.btn-pin{width:32px;height:32px;border-radius:50%;background:var(--pink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.loc-addr{display:flex;align-items:center;gap:14px;font-family:'Montserrat',sans-serif;font-size:17px;line-height:1.6;color:var(--navy);margin:0 0 24px}
.loc-pin{width:44px;height:44px;border-radius:50%;background:var(--pink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 10px 22px rgba(255,9,100,.35);animation:icBounce 3s ease-in-out infinite}
.fach{width:min(46%,240px)!important;margin-bottom:-88px!important}
.ncard{width:222px!important}
.ncard-photo{aspect-ratio:4/3}
.ncard-body{padding:36px 16px 20px!important}
.ncard-body h3{font-size:15.5px!important}
.ncard-body p{font-size:13px!important}
.ncard-tags span{font-size:9.5px}
.ncard-icon,.ncard .ncard-icon{width:54px!important;height:54px!important;bottom:-24px!important;left:16px!important}
.niveis-marquee .marquee-set{gap:18px!important;padding-right:18px!important}
.kid5.q1{height:68%!important}
.kid5.q2{height:82%!important;left:83%!important}

/* materiais v1 */
.count-hint.ok{color:#1F9D55}
/* hero estilo matrículas */
@keyframes kidsIn{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:none}}
@keyframes badgePop{0%{opacity:0;transform:scale(.4) rotate(-12deg)}70%{transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
@keyframes badgeFloat{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(1deg) translateY(-10px)}}
.hero2{position:relative;background:#fff;overflow:hidden}
.hero2-bg{position:absolute;right:-8%;top:-20%;width:62%;height:140%;background:radial-gradient(circle at 50% 50%,#EEF1F8 0%,rgba(255,225,235,0) 62%);pointer-events:none}
.hero2-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:56px 5vw 0;display:flex;align-items:flex-end;gap:40px;flex-wrap:wrap}
.hero2-copy{flex:1 1 440px;min-width:290px;padding-bottom:70px;align-self:center}
.hero2-copy p{font-weight:500;font-size:clamp(16px,1.8vw,18.5px);line-height:1.65;margin:20px 0 32px;max-width:520px;text-wrap:pretty}
.hero2-selos{display:flex;align-items:center;gap:18px;margin-top:34px;flex-wrap:wrap}
.hero2-selos span{font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--muted)}
.hero2-selos img{height:44px;width:auto;transition:transform .3s}
.hero2-selos img:hover{transform:scale(1.1)}
.hero2-visual{flex:1 1 480px;min-width:300px;position:relative;align-self:flex-end}
.hero2-kids{display:block;width:100%;max-width:640px;margin-left:auto;animation:kidsIn 1s cubic-bezier(.2,.8,.3,1) .2s both;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}
.hero2-ring{position:absolute;right:4%;top:4%;width:78%;aspect-ratio:1;border-radius:50%;border:14px solid var(--pink-soft);animation:spinSlow 40s linear infinite;border-top-color:var(--pink)}
.hero2-badge{position:absolute;left:-4%;bottom:12%;width:min(56%,300px);background:#fff;border-radius:22px;padding:16px 18px;box-shadow:0 22px 50px rgba(3,35,100,.22);animation:badgePop .9s cubic-bezier(.2,.8,.3,1) .9s both,badgeFloat 6s ease-in-out 1.8s infinite}
.hero2-badge img{display:block;width:100%}
.hero2-pill{position:absolute;right:2%;top:10%;background:var(--navy);color:#fff;border-radius:18px;padding:14px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 16px 34px rgba(3,35,100,.3);animation:floatSlow 7s ease-in-out infinite}
.hero2-pill b{font-family:'Fredoka',sans-serif;font-size:32px;line-height:1;color:var(--pink-soft)}
.hero2-pill span{font-size:12px;font-weight:700;line-height:1.3}
@media (max-width:700px){.hero2-copy{padding-bottom:20px}.hero2-badge{left:0;bottom:6%}}
/* rodapé estilo matrículas */
.foot-logo{height:62px}
.foot-slogan{font-family:'Fredoka',sans-serif;font-weight:600;color:#fff!important;font-size:19px!important;margin-bottom:8px!important}
.foot-ic{display:flex;gap:10px;align-items:flex-start}
.foot-ic svg{flex-shrink:0;margin-top:3px}
.foot-social{gap:10px}
.foot-social a{width:44px;height:44px}
.foot-social a.wa{background:#25D366}
.foot-social a:hover{transform:translateY(-4px) rotate(-8deg)}
.disc-row{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}
.disc{flex:1 1 200px;max-width:280px;background:#fff;border-radius:24px;padding:34px 20px;text-align:center;transition:transform .35s cubic-bezier(.2,.8,.3,1)}
.disc:hover{transform:translateY(-10px) rotate(-1.5deg)}
.disc b{display:block;font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(46px,6vw,64px);color:var(--pink);line-height:1}
.disc span{display:block;margin-top:10px;font-weight:800;letter-spacing:.08em;font-size:13px;color:var(--navy)}
.disc-row .disc:nth-child(2){animation:floatSlow2 5s ease-in-out infinite}
/* placeholders sem foto: visual de marca, sem texto de instrução */
.ph-visual{background:linear-gradient(135deg,#032364 0%,#0a3a8c 100%)}
.ph-inner{border:0;background:url(logo-branco.png) center 42%/46% no-repeat}
.ph-inner span{display:none}
.ph-fill{border:0;color:transparent;font-size:0;background:linear-gradient(135deg,#032364,#0a3a8c)}
.ph-fill::after{content:'';position:absolute;inset:0;background:url(logo-branco.png) center 40%/50% no-repeat}

.proj-visual:hover .ncard-icon{transform:scale(1.12) rotate(8deg);box-shadow:0 0 0 6px rgba(255,9,100,.16),0 12px 26px rgba(3,35,100,.28);animation-play-state:paused}

/* v14 mobile */
@media (max-width:760px){
  .hero-wel{font-size:clamp(54px,15vw,84px)!important;line-height:1.02!important}
  .hero-cta{font-size:12px!important;padding:13px 20px!important;letter-spacing:.06em}
  .hero2-copy .btn-row{flex-direction:row!important;justify-content:center}
  .hero2-copy .btn-row .btn{width:auto!important}
  .hero2-visual.kids5{margin-top:110px!important;transform:none!important}
  .selos-top{top:-96px!important;right:50%!important;transform:translateX(50%)!important}
  /* "Mais que uma escola": linha do tempo vertical */
  [style*="grid-template-columns:repeat(5,minmax(0,1fr))"]{grid-template-columns:1fr!important;gap:22px!important;max-width:420px;margin:0 auto}
  [style*="grid-template-columns:repeat(5,minmax(0,1fr))"]>div[style*="position:absolute;top:16px"]{top:10px!important;bottom:10px!important;left:16px!important;right:auto!important;width:3px!important;height:auto!important}
  [style*="grid-template-columns:repeat(5,minmax(0,1fr))"]>div[style*="z-index:1"]{display:grid!important;grid-template-columns:34px minmax(0,1fr);column-gap:16px;row-gap:6px;text-align:left!important;align-items:start!important}
  [style*="grid-template-columns:repeat(5,minmax(0,1fr))"]>div[style*="z-index:1"]>*:first-child{grid-row:span 3}
  [style*="grid-template-columns:repeat(5,minmax(0,1fr))"]>div[style*="z-index:1"]>*:not(:first-child){grid-column:2;justify-content:flex-start!important;max-width:none!important;min-height:0!important;justify-self:start}
  h3[style*="Mais que uma escola"],h3[style*="text-align:center;margin:0 0 44px"]{font-size:1.25rem!important;margin-bottom:30px!important}
  h3[style*="text-align:center;margin:0 0 44px"] br{display:none}
}

@media (max-width:760px){
  .hero-wel{font-size:clamp(40px,12.5vw,84px)!important}
  .hero-wel .w2{white-space:nowrap!important}
  .kids5 .hero2-pill{width:86%!important;max-width:none!important;bottom:2%!important;padding:10px 16px!important;gap:12px}
  .kids5 .hero2-pill span{font-size:11.5px!important;line-height:1.35}
}
