/* ═══════════════════════════════════════════════════════════════
   CEI Crescer e Aprender — design system
   Linguagem visual extraída das artes do Instagram (@crescer.eaprender):
   fundo creme, tipografia arredondada, coral e roxo, formas orgânicas,
   estrelinhas de 4 pontas e molduras de foto irregulares.
   Tipografia: Baloo 2 (títulos) + Nunito (texto).
   ═══════════════════════════════════════════════════════════════ */
:root{
  --creme:#FDF8F0;      --creme-2:#F7EFE2;    --branco:#FFFFFF;
  --coral:#E8604C;      --coral-esc:#C64632;  --coral-claro:#FDEAE5;
  --roxo:#7B5EA7;       --roxo-claro:#EFE9F7;
  --azul:#3E8FD0;       --azul-claro:#E6F1FA;
  --amarelo:#F5C842;    --amarelo-claro:#FDF3D6;
  --verde:#7FB069;      --verde-claro:#EBF4E6;
  --tinta:#2E2A3B;      --tinta-2:#5C566E;    --tinta-3:#8B8599;
  --linha:#EAE0D2;
  --raio:28px;          --raio-sm:16px;       --raio-pill:999px;
  --sombra:0 4px 16px rgba(46,42,59,.06);
  --sombra-alta:0 10px 30px rgba(46,42,59,.10);
  --sombra-coral:0 8px 22px rgba(232,96,76,.28);
  --transicao:220ms cubic-bezier(.34,1.16,.64,1);
  --largura:1160px;
  --display:'Baloo 2', system-ui, sans-serif;
  --corpo:'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--corpo);color:var(--tinta);background:var(--creme);
     font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--coral-esc)}
svg{flex-shrink:0}
.wrap{max-width:var(--largura);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(36px,5.4vw,60px)}
h2{font-size:clamp(29px,4vw,44px)}
h3{font-size:clamp(20px,2.3vw,25px);font-weight:700}
p{margin:0 0 1em}
.lead{font-size:clamp(17px,1.9vw,20px);color:var(--tinta-2);line-height:1.65}
.destaque{color:var(--coral)}
.destaque-roxo{color:var(--roxo)}

header.topo{position:sticky;top:0;z-index:60;background:rgba(253,248,240,.92);
  backdrop-filter:blur(12px);border-bottom:2px solid var(--linha)}
.topo-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tinta)}
.marca img{width:52px;height:52px;border-radius:16px}
.marca b{display:block;font-family:var(--display);font-size:19px;font-weight:800;line-height:1.1}
.marca span{display:block;font-size:10.5px;color:var(--tinta-3);letter-spacing:.12em;text-transform:uppercase;font-weight:700}
nav.menu{display:flex;align-items:center;gap:24px}
nav.menu a{color:var(--tinta-2);text-decoration:none;font-size:15.5px;font-weight:700;
  padding:6px 0;border-bottom:2.5px solid transparent;transition:var(--transicao)}
nav.menu a:hover{color:var(--coral)}
nav.menu a[aria-current="page"]{color:var(--coral);border-bottom-color:var(--coral)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;
  min-height:48px;padding:13px 26px;border-radius:var(--raio-pill);border:2.5px solid transparent;
  font-family:var(--display);font-weight:700;font-size:16.5px;text-decoration:none;
  transition:transform var(--transicao),box-shadow var(--transicao),background var(--transicao)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--roxo);outline-offset:3px}
.btn-1{background:var(--coral);color:#fff;box-shadow:var(--sombra-coral)}
.btn-1:hover{background:var(--coral-esc)}
.btn-2{background:var(--branco);color:var(--roxo);border-color:var(--roxo)}
.btn-2:hover{background:var(--roxo-claro)}
.btn-3{background:var(--roxo);color:#fff;box-shadow:0 8px 22px rgba(123,94,167,.3)}
.menu-toggle{display:none;background:none;border:0;padding:8px;color:var(--tinta);cursor:pointer;min-height:44px;min-width:44px}

.heroi{position:relative;padding:var(--s5) 0;overflow:hidden}
.heroi::before{content:"";position:absolute;left:-14%;top:-28%;width:52%;height:150%;
  background:var(--amarelo-claro);border-radius:50% 50% 44% 56%/58% 42% 58% 42%;opacity:.7}
.heroi::after{content:"";position:absolute;right:-16%;bottom:-34%;width:46%;height:130%;
  background:var(--azul-claro);border-radius:46% 54% 50% 50%/40% 60% 40% 60%;opacity:.6}
.heroi-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;
  gap:var(--s4);align-items:center}
.selo-linha{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:var(--s3)}
.pill{display:inline-flex;align-items:center;gap:7px;background:var(--branco);
  border:2px solid var(--linha);border-radius:var(--raio-pill);padding:7px 16px;
  font-size:13.5px;font-weight:800;color:var(--tinta-2);font-family:var(--display)}
.pill.on{background:var(--verde-claro);border-color:var(--verde);color:#4B7038}
.pill i{width:9px;height:9px;border-radius:50%;background:var(--verde);display:inline-block}
.heroi .acoes{display:flex;flex-wrap:wrap;gap:13px;margin-top:var(--s3)}

.moldura{position:relative;z-index:1}
.moldura img{width:100%;height:440px;object-fit:cover;
  border-radius:56% 44% 48% 52%/42% 46% 54% 58%;border:7px solid var(--branco);
  box-shadow:var(--sombra-alta)}
.moldura::before{content:"";position:absolute;inset:-16px -10px 10px -16px;z-index:-1;
  background:var(--coral-claro);border-radius:48% 52% 56% 44%/56% 44% 56% 44%}

section{padding:var(--s5) 0;position:relative}
.sec-topo{max-width:660px;margin-bottom:var(--s4)}
.sec-topo.centro{margin-left:auto;margin-right:auto;text-align:center}
.olho{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:13px;
  font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--roxo);
  background:var(--roxo-claro);padding:6px 15px;border-radius:var(--raio-pill);margin-bottom:14px}
.grade{display:grid;gap:var(--s3)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio);
  padding:30px;transition:transform var(--transicao),box-shadow var(--transicao),border-color var(--transicao)}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta);border-color:var(--amarelo)}
.card .icone{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;margin-bottom:18px;
  background:var(--amarelo-claro);color:var(--coral)}
.card .icone.roxo{background:var(--roxo-claro);color:var(--roxo)}
.card .icone.verde{background:var(--verde-claro);color:#4B7038}
.card .icone.azul{background:var(--azul-claro);color:var(--azul)}
.card h3{margin-bottom:9px}
.card p{color:var(--tinta-2);font-size:16px;margin:0}
.card.turma{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card.turma .foto{padding:16px 16px 0}
.card.turma img{width:100%;height:210px;object-fit:cover;object-position:center 62%;border-radius:20px}
.card.turma .corpo{padding:22px 26px 28px;display:flex;flex-direction:column;gap:9px;flex:1}
.card.turma .idade{display:inline-block;align-self:flex-start;font-family:var(--display);font-size:12.5px;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--roxo);
  padding:5px 13px;border-radius:var(--raio-pill)}
.card.turma .link{margin-top:auto;font-family:var(--display);font-weight:800;text-decoration:none;
  font-size:16px;color:var(--coral);display:inline-flex;align-items:center;gap:7px;min-height:44px;
  transition:gap var(--transicao)}
.card.turma:hover .link{gap:12px}
.faixa{background:var(--creme-2);border-top:3px solid var(--linha);border-bottom:3px solid var(--linha)}
.numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);text-align:center}
.numeros .n{font-family:var(--display);font-size:clamp(30px,3.8vw,42px);font-weight:800;color:var(--coral);line-height:1}
.numeros .k{font-size:14.5px;color:var(--tinta-2);margin-top:8px;font-weight:600}
.selos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.selo{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio);
  padding:30px 26px;text-align:center;transition:var(--transicao)}
.selo:hover{border-color:var(--amarelo);transform:translateY(-4px)}
.selo img{height:132px;width:auto;margin:0 auto 16px;object-fit:contain}
.selo h3{font-size:18.5px;margin-bottom:7px}
.selo p{font-size:15px;color:var(--tinta-2);margin:0}
.cta{position:relative;overflow:hidden;background:var(--roxo);color:#fff;
  border-radius:40px;padding:var(--s5) var(--s4);text-align:center}
.cta::before{content:"";position:absolute;left:-8%;top:-40%;width:44%;height:180%;
  background:rgba(255,255,255,.09);border-radius:50%}
.cta::after{content:"";position:absolute;right:-6%;bottom:-52%;width:36%;height:170%;
  background:rgba(245,200,66,.16);border-radius:50%}
.cta>*{position:relative;z-index:2}
.cta h2{color:#fff;margin-bottom:14px}
.cta p{color:rgba(255,255,255,.92);max-width:560px;margin:0 auto var(--s3);font-size:18px}
.cta .acoes{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.cta .btn-2{background:#fff;border-color:#fff;color:var(--roxo)}
.cta .btn-2:hover{background:var(--amarelo);border-color:var(--amarelo);color:var(--tinta)}
ul.marcada{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
ul.marcada li{position:relative;padding-left:34px;font-size:16.5px;color:var(--tinta-2)}
ul.marcada li::before{content:"";position:absolute;left:0;top:.4em;width:18px;height:18px;background:var(--coral);
  clip-path:polygon(50% 0%,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0% 50%,42% 42%)}
footer.rodape{background:var(--tinta);color:#D8D3E4;padding:var(--s5) 0 var(--s3);margin-top:var(--s5)}
footer.rodape a{color:#fff;text-decoration:none}
footer.rodape a:hover{color:var(--amarelo)}
.rodape-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--s4);margin-bottom:var(--s4)}
.rodape-grid h4{font-family:var(--display);font-size:14px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--amarelo);margin:0 0 14px}
.rodape-grid p,.rodape-grid li{font-size:15.5px;color:#D8D3E4}
.rodape-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.rodape-fim{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;font-size:13.5px;color:#9E98AE;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.zap{position:fixed;right:22px;bottom:22px;z-index:80;width:60px;height:60px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;box-shadow:0 10px 26px rgba(37,211,102,.42);
  text-decoration:none;transition:transform var(--transicao)}
.zap:hover{transform:scale(1.07)}
.zap:focus-visible{outline:3px solid var(--roxo);outline-offset:3px}
.zap svg{width:32px;height:32px;fill:#fff}
#form-visita{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio);padding:30px}
#form-visita label{display:block;margin-bottom:18px;font-size:14.5px;font-weight:800;
  color:var(--tinta);font-family:var(--display)}
#form-visita input,#form-visita select{width:100%;margin-top:7px;padding:14px 16px;font-family:var(--corpo);
  font-weight:400;font-size:16px;min-height:48px;color:var(--tinta);
  border:2.5px solid var(--linha);border-radius:var(--raio-sm);background:var(--creme)}
#form-visita input:focus,#form-visita select:focus{outline:none;border-color:var(--roxo);background:#fff}
#form-visita .dica{display:block;font-weight:600;font-family:var(--corpo);font-size:13px;color:var(--tinta-3);margin-top:4px}
@media (max-width:960px){
  .heroi-grid{grid-template-columns:1fr;gap:var(--s4)}
  .g3,.g4,.selos,.numeros,.rodape-grid{grid-template-columns:repeat(2,1fr)}
  .moldura img{height:340px}
  nav.menu{display:none}
  nav.menu.aberto{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--creme);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;border-bottom:3px solid var(--linha)}
  nav.menu.aberto a{padding:14px 0;border-bottom:1.5px solid var(--linha);min-height:48px}
  .menu-toggle{display:grid;place-items:center}
  header.topo{position:relative}
}
@media (max-width:600px){
  .g2,.g3,.g4,.selos,.numeros,.rodape-grid{grid-template-columns:1fr}
  section{padding:var(--s4) 0}
  .cta{padding:var(--s4) 22px;border-radius:30px}
  .moldura img{height:290px;border-radius:50% 50% 46% 54%/44% 44% 56% 56%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .btn:hover,.card:hover,.selo:hover,.zap:hover{transform:none}
}

/* ═══ prêmios (medalhão) ═══ */
.premios{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.premio{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio);
  padding:34px 26px 30px;text-align:center;transition:var(--transicao);position:relative}
.premio:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta)}
.premio .medalha{width:146px;height:146px;margin:0 auto 18px;border-radius:50%;position:relative;
  display:grid;place-items:center;padding:7px}
.premio .medalha::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--amarelo),var(--coral),var(--roxo),var(--azul),var(--amarelo))}
.premio .medalha img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;
  border:4px solid var(--branco)}
.premio .fonte{display:inline-block;font-family:var(--display);font-size:11.5px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;color:var(--roxo);background:var(--roxo-claro);
  padding:5px 13px;border-radius:var(--raio-pill);margin-bottom:10px}
.premio h3{font-size:19px;margin-bottom:8px}
.premio p{font-size:15px;color:var(--tinta-2);margin:0}

/* ═══ rotina do dia (linha do tempo) ═══ */
.rotina{position:relative;display:flex;flex-direction:column;gap:0;
  border-left:3px dashed var(--linha);margin-left:12px;padding-left:0}
.rotina .item{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;
  padding:16px 0 16px 26px;position:relative}
.rotina .item::before{content:"";position:absolute;left:-11px;top:24px;width:19px;height:19px;
  border-radius:50%;background:var(--coral);border:4px solid var(--creme)}
.rotina .item.destaque::before{background:var(--roxo)}
.rotina .hora{font-family:var(--display);font-weight:800;font-size:17px;color:var(--coral);
  background:var(--coral-claro);border-radius:var(--raio-pill);padding:5px 0;text-align:center}
.rotina .item.destaque .hora{color:var(--roxo);background:var(--roxo-claro)}
.rotina h3{font-size:19px;margin-bottom:5px}
.rotina p{margin:0;font-size:15.5px;color:var(--tinta-2)}

/* ═══ projetos ═══ */
.projeto{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio);
  padding:28px;transition:var(--transicao);display:flex;flex-direction:column;gap:10px}
.projeto:hover{transform:translateY(-4px);border-color:var(--roxo)}
.projeto .turma{font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:#fff;background:var(--coral);align-self:flex-start;
  padding:5px 13px;border-radius:var(--raio-pill)}
.projeto .turma.roxa{background:var(--roxo)}
.projeto .turma.verde{background:var(--verde)}
.projeto .turma.azul{background:var(--azul)}
.projeto h3{font-size:20px}
.projeto p{margin:0;font-size:15.5px;color:var(--tinta-2)}

@media (max-width:960px){ .premios{grid-template-columns:1fr} }
@media (max-width:600px){
  .rotina .item{grid-template-columns:1fr;gap:8px;padding-left:22px}
  .rotina .hora{justify-self:start;padding:5px 16px}
}

/* ═══ landing de matrículas ═══ */
.lp-topo{background:var(--branco);border-bottom:2px solid var(--linha);position:sticky;top:0;z-index:60}
.lp-heroi{position:relative;overflow:hidden;padding:var(--s4) 0 var(--s5)}
.lp-heroi::before{content:"";position:absolute;left:-18%;top:-30%;width:56%;height:150%;
  background:var(--amarelo-claro);border-radius:52% 48% 44% 56%/56% 42% 58% 44%;opacity:.75}
.lp-heroi::after{content:"";position:absolute;right:-20%;bottom:-40%;width:50%;height:140%;
  background:var(--roxo-claro);border-radius:44% 56% 52% 48%/42% 58% 42% 58%;opacity:.7}
.lp-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:var(--s4);align-items:center}
.lp-heroi h1{font-size:clamp(33px,4.6vw,52px)}
.lp-provas{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s3)}
.lp-provas span{display:inline-flex;align-items:center;gap:7px;background:var(--branco);
  border:2px solid var(--linha);border-radius:var(--raio-pill);padding:8px 15px;
  font-family:var(--display);font-weight:700;font-size:14px;color:var(--tinta-2)}
.lp-foto{border-radius:30px;overflow:hidden;border:7px solid var(--branco);box-shadow:var(--sombra-alta)}
.lp-foto img{width:100%;height:430px;object-fit:cover;object-position:center 30%}

.lp-form{background:var(--branco);border:3px solid var(--roxo);border-radius:var(--raio);
  padding:28px;box-shadow:var(--sombra-alta)}
.lp-form h2{font-size:23px;margin-bottom:4px}
.lp-form .sub{font-size:14.5px;color:var(--tinta-2);margin-bottom:18px}
.lp-form label{display:block;margin-bottom:14px;font-size:14px;font-weight:800;
  color:var(--tinta);font-family:var(--display)}
.lp-form input,.lp-form select{width:100%;margin-top:6px;padding:13px 15px;font-family:var(--corpo);
  font-weight:400;font-size:16px;min-height:48px;color:var(--tinta);
  border:2.5px solid var(--linha);border-radius:var(--raio-sm);background:var(--creme)}
.lp-form input:focus,.lp-form select:focus{outline:none;border-color:var(--roxo);background:#fff}
.lp-form .zap-btn{width:100%;background:#25D366;color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.32);border:none}
.lp-form .zap-btn:hover{background:#1fb457}
.lp-form .aviso{font-size:12.5px;color:var(--tinta-3);text-align:center;margin:12px 0 0;line-height:1.5}
.lp-sucesso{text-align:center;padding:12px 4px}
.lp-sucesso .ok{width:64px;height:64px;border-radius:50%;background:var(--verde-claro);color:#4B7038;
  display:grid;place-items:center;margin:0 auto 16px}

.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.galeria figure{margin:0;border-radius:20px;overflow:hidden;border:5px solid var(--branco);
  box-shadow:var(--sombra);position:relative}
.galeria img{width:100%;height:230px;object-fit:cover;display:block}
.galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 12px;color:#fff;
  font-family:var(--display);font-weight:700;font-size:14.5px;
  background:linear-gradient(transparent,rgba(46,42,59,.82))}

.faq{display:flex;flex-direction:column;gap:12px;max-width:820px}
.faq details{background:var(--branco);border:2.5px solid var(--linha);border-radius:var(--raio-sm);
  padding:18px 22px;transition:var(--transicao)}
.faq details[open]{border-color:var(--roxo)}
.faq summary{font-family:var(--display);font-weight:700;font-size:17.5px;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--coral);font-weight:800;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin:12px 0 0;color:var(--tinta-2);font-size:16px}

@media (max-width:960px){
  .lp-grid{grid-template-columns:1fr}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .lp-foto img{height:300px}
}
@media (max-width:600px){ .galeria{grid-template-columns:1fr} }

/* ═══ seção de agendamento da LP ═══ */
.lp-agendar{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--s4);align-items:start;
  max-width:980px;margin:0 auto}
.lp-apoio h3{font-size:20px;margin-bottom:18px}
.passos{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:18px}
.passos li{display:flex;gap:15px;align-items:flex-start}
.passos li span{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--coral);color:#fff;font-family:var(--display);font-weight:800;font-size:17px}
.passos li b{display:block;font-family:var(--display);font-size:17px;margin-bottom:2px}
.passos li p{margin:0;font-size:15.5px;color:var(--tinta-2)}
.lp-endereco{background:var(--roxo-claro);border-radius:var(--raio-sm);padding:20px 22px}
.lp-endereco b{display:block;font-family:var(--display);font-size:15px;color:var(--roxo);margin-bottom:6px}
.lp-endereco p{margin:0;font-size:15.5px;color:var(--tinta-2)}
.lp-heroi .lp-foto img{height:520px}
@media (max-width:960px){
  .lp-agendar{grid-template-columns:1fr}
  .lp-heroi .lp-foto img{height:360px}
}
