/* Clube de Aventureiros Aurorinha — estilos */
:root{
  --royal:#2E358F;
  --royal-deep:#1F2566;
  --sol:#FFE100;
  --sol-claro:#FFF6B3;
  --vinho:#7B1E2C;
  --papel:#F5F6FD;
  --tinta:#1C2050;
  --tinta-suave:#4A4F7A;
  --branco:#FFFFFF;
  --raio:18px;
  --f-display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;
  --f-texto:"Nunito", "Segoe UI", system-ui, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-texto);font-size:1.0625rem;line-height:1.65;color:var(--tinta);background:var(--branco)}
img{max-width:100%;height:auto;display:block}
a{color:var(--royal)}
a:focus-visible,button:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);line-height:1.15;margin:0 0 .5em;color:var(--royal-deep)}
h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800}
h3{font-size:1.35rem;font-weight:700}
p{margin:0 0 1em}
.pular{position:absolute;left:-999px}
.pular:focus{left:1rem;top:1rem;z-index:99;background:var(--sol);padding:.5rem 1rem}

/* ---------- Topo ---------- */
.topo{position:sticky;top:0;z-index:50;background:var(--royal);border-bottom:4px solid var(--sol)}
.topo-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.25rem}
.topo-marca{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.topo-marca img.em{width:44px}
.topo-marca img.nome{height:30px;width:auto}
.menu{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.menu a{display:block;color:var(--branco);text-decoration:none;font-weight:700;padding:.45rem .7rem;border-radius:999px;font-size:.98rem}
.menu a:hover{background:rgba(255,255,255,.12)}
.menu a[aria-current="page"]{background:var(--sol);color:var(--royal-deep)}
.menu-btn{display:none;background:none;border:2px solid rgba(255,255,255,.5);color:#fff;border-radius:10px;padding:.35rem .7rem;font:700 1rem var(--f-texto);cursor:pointer}
@media (max-width:900px){
  .menu-btn{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--royal-deep);padding:.75rem 1rem 1rem;border-bottom:4px solid var(--sol)}
  .menu.aberto{display:flex}
  .menu a{padding:.7rem 1rem;font-size:1.05rem}
}

/* ---------- Sol (elemento-assinatura: raios da camiseta de campo) ---------- */
.sol{position:absolute;pointer-events:none;display:block}

/* ---------- Hero (início) ---------- */
.hero{position:relative;overflow:hidden;background:var(--royal);color:#fff;padding:3.5rem 1.25rem 4rem}
.hero .sol{width:2600px;height:2600px;left:50%;top:210px;transform:translate(-50%,-50%);opacity:1;animation:abrir 1.6s ease-out both}
@keyframes abrir{from{transform:translate(-50%,-50%) rotate(-25deg) scale(.4);opacity:0}to{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}}
.hero-in{position:relative;max-width:760px;margin:0 auto;text-align:center}
.hero-emblema{width:min(240px,55vw);margin:0 auto 1.4rem;filter:drop-shadow(0 6px 0 var(--royal-deep))}
.hero-nome{width:min(460px,82vw);margin:0 auto .6rem;filter:drop-shadow(0 0 2px var(--royal-deep)) drop-shadow(0 0 2px var(--royal-deep)) drop-shadow(0 4px 0 var(--royal-deep))}
.hero-cartao{background:var(--royal);border:3px solid var(--sol);border-radius:var(--raio);padding:1.4rem 1.5rem;margin-top:1.4rem}
.hero-cartao p{font-size:1.15rem;margin:0}
.hero h1{position:absolute;left:-9999px}

/* ---------- Cabeçalho das páginas internas ---------- */
.cab{position:relative;overflow:hidden;background:var(--royal);color:#fff;padding:3rem 1.25rem 2.6rem}
.cab .sol{width:760px;height:760px;right:-380px;top:-380px}
.cab-in{position:relative;max-width:1120px;margin:0 auto}
.cab h1{color:#fff;max-width:14ch}
.cab p{max-width:52ch;font-size:1.15rem;margin:0;color:#E3E6FF}

/* ---------- Seções ---------- */
.secao{padding:3.2rem 1.25rem}
.secao.clara{background:var(--papel)}
.secao-in{max-width:1120px;margin:0 auto}
.texto{max-width:68ch}
.grade{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.duas{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:820px){.duas{grid-template-columns:1.1fr .9fr;align-items:start}}

/* Atalhos da home: cada um com borda na cor do seu tema */
.atalho{display:block;text-decoration:none;color:var(--tinta);background:#fff;border:2px solid #DADDF3;border-left:8px solid var(--royal);border-radius:14px;padding:1.1rem 1.2rem}
.atalho:hover{border-color:var(--royal)}
.atalho h3{margin-bottom:.25em}
.atalho p{margin:0;color:var(--tinta-suave);font-size:.98rem}
.atalho.v{border-left-color:var(--vinho)}
.atalho.s{border-left-color:#E0B800}

/* Bloco "quando e onde" */
.quando{background:var(--sol-claro);border-radius:var(--raio);padding:1.5rem 1.6rem}
.quando dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem}
.quando dt{font-weight:800}
.quando dd{margin:0}

/* Ideais: voto e lei */
.ideais{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ideal{background:var(--royal);color:#fff;border-radius:var(--raio);padding:1.6rem}
.ideal h3{color:var(--sol);margin-bottom:.3em}
.ideal p{font-family:var(--f-display);font-size:1.45rem;line-height:1.3;margin:0}

/* Classes (sequência real por idade) */
.classes{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.classes li{background:#fff;border-radius:var(--raio);padding:1.2rem 1.3rem;border:2px solid #DADDF3}
.classes .idade{display:inline-block;font-family:var(--f-display);font-weight:800;font-size:1.9rem;color:var(--royal);line-height:1}
.classes .idade small{font-size:1rem;margin-left:.2rem}
.classes h3{margin:.3rem 0 .2rem}
.classes p{margin:0;color:var(--tinta-suave);font-size:.98rem}

/* Linha do tempo (sequência real) */
.tempo{list-style:none;margin:0;padding:0 0 0 1.4rem;border-left:4px solid var(--sol)}
.tempo li{position:relative;padding:0 0 1.5rem .6rem}
.tempo li::before{content:"";position:absolute;left:-1.95rem;top:.35rem;width:16px;height:16px;border-radius:50%;background:var(--royal);border:3px solid var(--sol)}
.tempo .ano{font-family:var(--f-display);font-weight:800;color:var(--royal);font-size:1.25rem;display:block}

/* Listas simples */
.lista{padding-left:1.2rem}
.lista li{margin-bottom:.4rem}
.pode,.nao{border-radius:var(--raio);padding:1.3rem 1.4rem}
.pode{background:#E8F6EC}
.nao{background:#FBE9EC}
.pode h3{color:#1D6B3A}.nao h3{color:var(--vinho)}

/* Tabela */
.tabela-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid #DADDF3;vertical-align:top}
th{font-family:var(--f-display);color:var(--royal-deep);font-size:1.05rem}

/* Figuras */
figure{margin:0}
figure img{border-radius:14px;border:1px solid #DADDF3}
figcaption{font-size:.92rem;color:var(--tinta-suave);margin-top:.5rem}

/* Unidades */
.unidade{background:#fff;border-radius:var(--raio);border:2px solid #DADDF3;padding:1.3rem;display:flex;flex-direction:column;gap:.8rem}
.unidade img{width:110px;height:110px;object-fit:contain;margin:0 auto}
.unidade .sem-logo{width:110px;height:110px;margin:0 auto;border-radius:50%;background:var(--papel);display:grid;place-items:center;color:var(--tinta-suave);font-size:.85rem;text-align:center}
.unidade h3{text-align:center;margin:0}
.unidade .tipo{text-align:center;color:var(--tinta-suave);font-size:.92rem;margin:-.5rem 0 0}
.grito{white-space:pre-line;background:var(--sol-claro);border-radius:12px;padding:.9rem 1rem;font-weight:700;margin:0}
.grito.vazio{background:var(--papel);font-weight:400;color:var(--tinta-suave)}

/* Destaques / avisos */
.aviso{border-left:6px solid var(--vinho);background:#FFF;padding:1rem 1.2rem;border-radius:0 12px 12px 0}
.botao{display:inline-block;background:var(--sol);color:var(--royal-deep);font-weight:800;text-decoration:none;padding:.75rem 1.3rem;border-radius:999px;border:0;font-family:var(--f-texto);font-size:1rem;cursor:pointer}
.botao:hover{background:#FFEB4D}
.botao.azul{background:var(--royal);color:#fff}

/* Galeria */
.ano-bloco{margin-bottom:2.2rem}
.albuns{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.albuns a{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;background:#fff;border:2px solid #DADDF3;border-radius:14px;padding:.9rem 1.1rem;color:var(--tinta)}
.albuns a:hover{border-color:var(--royal)}
.albuns .data{font-size:.9rem;color:var(--tinta-suave)}
.albuns .titulo{font-weight:800;color:var(--royal-deep)}
.busca{width:100%;max-width:420px;padding:.75rem 1rem;border:2px solid #DADDF3;border-radius:12px;font:inherit;margin-bottom:1.8rem}
.busca:focus{outline:none;border-color:var(--royal)}

/* Vídeo */
.video{position:relative;aspect-ratio:16/9;background:var(--royal-deep);border-radius:var(--raio);overflow:hidden;display:grid;place-items:center;color:#C9CDF5;text-align:center;padding:1rem}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Rodapé ---------- */
.rodape{background:var(--royal-deep);color:#D5D8FA;padding:2.6rem 1.25rem 2rem;border-top:6px solid var(--sol)}
.rodape-in{max-width:1120px;margin:0 auto;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.rodape h3{color:#fff;font-size:1.1rem}
.rodape a{color:#fff}
.rodape p{margin:0 0 .4rem;font-size:.97rem}
.rodape .fim{max-width:1120px;margin:1.8rem auto 0;font-size:.88rem;color:#9EA3D6}

@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media (max-width:700px){
  .cab{padding-top:2.4rem}
  .cab .sol{width:360px;height:360px;right:-220px;top:-220px}
  .cab h1,.cab p{position:relative;text-shadow:0 2px 0 var(--royal)}
}

/* ---- v04 ---- */
.topo-marca img.em{width:56px}
.topo-marca img.nome{height:40px}
.grade.tres{grid-template-columns:1fr}
@media (min-width:640px){.grade.tres{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grade.tres{grid-template-columns:repeat(3,1fr)}}

.passos{list-style:none;counter-reset:p;margin:1.4rem 0 1.8rem;padding:0;display:grid;gap:1rem}
.passos li{counter-increment:p;position:relative;padding:0 0 0 3.4rem;min-height:2.6rem}
.passos li::before{content:counter(p);position:absolute;left:0;top:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--sol);color:var(--royal-deep);font:800 1.3rem/2.5rem var(--f-display);text-align:center}
.passos h3{margin:0 0 .15rem;font-size:1.2rem}
.passos p{margin:0;color:var(--tinta-suave)}
.botao.grande{padding:.95rem 1.8rem;font-size:1.1rem}
.quando .info{padding:.85rem 0;border-top:1px solid rgba(31,37,102,.15)}
.quando .info:first-of-type{border-top:0;padding-top:.3rem}
.quando .info span{display:block;font-weight:800;font-size:.9rem;color:var(--vinho);margin-bottom:.1rem}
.quando .info p{margin:0}

.rodape{padding:3rem 1.25rem 0}
.rodape-in{grid-template-columns:1fr;gap:2rem}
@media (min-width:900px){.rodape-in{grid-template-columns:1.4fr 1fr 1.1fr 1.1fr}}
.rodape-marca{display:flex;gap:1rem;align-items:flex-start}
.rodape-marca>img{width:80px;flex:none}
.rodape-marca .nome{height:38px;width:auto;margin-bottom:.5rem}
.rodape-marca p{color:#B9BDEB;max-width:30ch}
.rodape-col h3{color:var(--sol);font-size:1.05rem;margin-bottom:.6rem}
.rodape-col p{margin:0 0 .35rem}
.rodape-col a{text-decoration:none}
.rodape-col a:hover{text-decoration:underline}
.rodape-base{max-width:1120px;margin:2.4rem auto 0;padding:1.2rem 0 1.4rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.88rem;color:#9EA3D6}
.rodape-base p{margin:0}
.rodape-base a{color:#D5D8FA}

/* ---- v05 ---- */
.justificado .texto p,.justificado .tempo li{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.aprende{background:var(--royal);color:#fff;border-radius:var(--raio);padding:1.6rem 1.6rem 1.2rem;position:relative;overflow:hidden}
.aprende h3{color:var(--sol);margin-bottom:1rem}
.aprende ul{list-style:none;margin:0;padding:0}
.aprende li{position:relative;padding:.7rem 0 .7rem 2.4rem;border-top:1px solid rgba(255,255,255,.15);font-weight:700}
.aprende li:first-child{border-top:0}
.aprende li::before{content:"";position:absolute;left:0;top:.72rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--sol);
  -webkit-mask:none}
.aprende li::after{content:"";position:absolute;left:.45rem;top:1.02rem;width:.55rem;height:.3rem;border-left:3px solid var(--royal-deep);border-bottom:3px solid var(--royal-deep);transform:rotate(-45deg)}
.cab .sol{width:1600px;height:1600px;right:-800px;top:-800px}
@media (max-width:700px){.cab .sol{width:700px;height:700px;right:-350px;top:-350px}}
.sol{overflow:visible}
.cab .sol{width:560px;height:560px;right:-280px;top:-280px}
@media (max-width:1000px){.cab .sol{width:380px;height:380px;right:-190px;top:-190px}}
@media (max-width:700px){.cab .sol{width:300px;height:300px;right:-150px;top:-150px}}
@media (max-width:700px){.cab .sol{width:170px;height:170px;right:-85px;top:-85px}}
@media (max-width:700px){.cab .sol{display:none}}
/* ---- v06 ---- */
.fonte{font-size:.9rem;color:var(--tinta-suave);margin-top:.6rem}
.acoes-hino{display:flex;flex-wrap:wrap;gap:.7rem}
.letra-hino:empty{display:none}
.letra-hino{background:var(--papel);border-radius:var(--raio);padding:1.2rem 1.4rem;margin-bottom:1.5rem}
.video-hino{width:100%;border-radius:var(--raio);background:var(--royal-deep);display:block}
/* ---- v08 ---- */
.ideais-detalhe{margin-top:2rem}
.termos{margin:0}
.termos dt{font-family:var(--f-display);font-weight:800;color:var(--royal);font-size:1.1rem;margin-top:.9rem}
.termos dd{margin:.1rem 0 0}
/* ---- v09 ---- */
.justificado .texto p,.justificado .tempo li{hyphens:manual;-webkit-hyphens:manual}
.hino{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:900px){.hino{grid-template-columns:1.15fr 1fr;align-items:start}}
.hino-midia .acoes-hino{margin-top:1rem}
.bandeiras{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:760px){.bandeiras{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.bandeiras{grid-template-columns:.8fr 1fr 1fr;align-items:stretch}}
.emblema-grande{display:grid;place-items:center;background:var(--royal);border-radius:var(--raio);padding:1.5rem}
.emblema-grande img{width:min(260px,70%);border:0}
.cartao-info{background:var(--papel);border-radius:var(--raio);padding:1.4rem}
.cartao-info h3{margin-top:.2rem}
.cartao-info figure img{border-radius:12px;margin-bottom:1rem}
@media (max-width:700px){.justificado .texto p,.justificado .tempo li{text-align:left}}
/* ---- v11 ---- */
.cab h1{max-width:none}
.cab p{max-width:62ch}
.faixa-aprende{background:var(--royal);color:#fff}
.faixa-aprende h2{color:#fff}
.aprende-cards{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:640px){.aprende-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.aprende-cards{grid-template-columns:repeat(5,1fr)}}
.aprende-cards li{background:#fff;color:var(--tinta);border-radius:14px;border-top:6px solid var(--sol);padding:1.1rem 1.1rem 1.2rem;font-size:1.02rem;line-height:1.45}
.passos a{word-break:break-word}
.cab .sol{width:420px;height:420px;right:-210px;top:-210px}
.cab p{max-width:none}
@media (max-width:1000px){.cab .sol{width:300px;height:300px;right:-150px;top:-150px}}
@media (max-width:700px){.cab .sol{display:none}}
@media (min-width:701px){.cab-in{padding-right:150px}}
.cab h1{font-size:clamp(2rem,5vw,3.2rem)}
/* ---- v12 ---- */
.aprende-cards{align-items:stretch}
.aprende-cards li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;padding:1.4rem 1rem 1.3rem;height:100%}
.ic-circ{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--sol);color:var(--royal-deep);display:grid;place-items:center;flex:none}
.ic-circ .ic{width:1.8rem;height:1.8rem}
.ficha{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:0 0 1.2rem}
.ficha div{background:#fff;border-radius:12px;padding:.8rem .9rem;border:2px solid #DADDF3}
.ficha dt{font-size:.82rem;font-weight:800;color:var(--vinho)}
.ficha dd{margin:.15rem 0 0;font-family:var(--f-display);font-weight:700;color:var(--royal-deep);font-size:1.05rem;line-height:1.25}
@media (max-width:560px){.ficha{grid-template-columns:1fr}}
.hino p{text-align:left}
.destaque{background:var(--sol-claro);border-left:6px solid var(--sol);border-radius:0 12px 12px 0;padding:.9rem 1.1rem;font-weight:700}
.rodape .li{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 .55rem}
.rodape .li .ic{width:1.15rem;height:1.15rem;flex:none;color:var(--sol);margin-top:.2rem}
.rodape .li a{text-decoration:none}.rodape .li a:hover{text-decoration:underline}
.unidade img{width:170px;height:150px}
.unidade h3{font-size:1.2rem}
#lista-unidades{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.aprende-cards li{border-top:0}
/* ---- v13 ---- */
/* eixo central */
.secao-in>h2{text-align:center}
.secao-in>.texto,.secao-in>p.texto,.secao-in>.tempo,.secao-in>.fonte{max-width:760px;margin-left:auto;margin-right:auto}
.secao-in>.fonte{text-align:center}
.secao-in>.texto{max-width:760px}
.secao-in>.texto h2{text-align:left}
/* cards com ícone (home) */
.cards-ic{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:640px){.cards-ic{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.cards-ic{grid-template-columns:repeat(3,1fr)}}
.card-ic{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;background:#fff;border-radius:14px;padding:1.5rem 1.2rem;text-decoration:none;color:var(--tinta);transition:transform .15s}
.card-ic:hover{transform:translateY(-3px)}
.card-ic h3{margin:.3rem 0 0}
.card-ic p{margin:0;color:var(--tinta-suave);font-size:.98rem}
.aprende-cards{max-width:1120px;margin:0 auto}
/* ideais */
.ideais-cols{display:grid;gap:1.5rem;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media (min-width:820px){.ideais-cols{grid-template-columns:1fr 1fr}}
.ideal-col{display:flex;flex-direction:column;gap:.9rem}
.ideal-col .ideal{text-align:center}
.partes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.partes li{background:var(--papel);border-left:5px solid var(--sol);border-radius:0 12px 12px 0;padding:.75rem 1rem}
.partes strong{display:block;font-family:var(--f-display);color:var(--royal);font-size:1.08rem}
.partes span{display:block;text-align:justify}
/* hino ficha */
.ficha{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--royal);border-radius:14px;overflow:hidden;margin:0 0 1.2rem}
.ficha div{background:none;border:0;border-left:1px solid rgba(255,255,255,.18);border-radius:0;padding:.9rem .8rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem}
.ficha div:first-child{border-left:0}
.ficha .ic{width:1.5rem;height:1.5rem;color:var(--sol);margin-bottom:.2rem}
.ficha dt{color:#C9CDF5;font-size:.8rem;font-weight:700}
.ficha dd{margin:0;color:#fff;font-family:var(--f-display);font-weight:700;font-size:1.02rem;line-height:1.25}
@media (max-width:560px){.ficha{grid-template-columns:1fr}.ficha div{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.ficha div:first-child{border-top:0}}
.just p{text-align:justify}
.just .destaque{text-align:left}
@media (max-width:700px){.just p,.partes span{text-align:left}}
.ideal-col .ideal{min-height:9.5rem;display:flex;flex-direction:column;justify-content:center}
.partes span{text-align:left}
.hero+.faixa-aprende{border-top:6px solid var(--sol)}
/* ---- v14 ---- */
.centro{text-align:center}
.secao-in>p.centro{max-width:760px;margin-left:auto;margin-right:auto}
.claro{color:#E3E6FF}
h2.esq{text-align:left}
.cards-classe{list-style:none;margin:0 auto;padding:0;display:grid;gap:1rem;grid-template-columns:1fr;max-width:1120px}
@media (min-width:640px){.cards-classe{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cards-classe{grid-template-columns:repeat(4,1fr)}}
.cards-classe li{background:#fff;border:2px solid #DADDF3;border-radius:14px;padding:1.5rem 1.1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}
.idade-circ{width:4.4rem;height:4.4rem;border-radius:50%;color:#fff;display:grid;place-items:center;font:800 1.9rem/1 var(--f-display);text-shadow:0 1px 2px rgba(0,0,0,.25);padding-top:.2rem}
.idade-circ small{display:block;font-size:.72rem;font-weight:700;margin-top:-.35rem}
.cards-classe h3{margin:.3rem 0 0}
.cards-classe p{margin:0;color:var(--tinta-suave);font-size:.97rem}
.areas li h3{margin:0;font-size:1.1rem}
.areas li p{margin:0;color:var(--tinta-suave);font-size:.9rem;font-weight:700}
.rede{display:grid;gap:2rem;grid-template-columns:1fr;align-items:center;max-width:1000px;margin:0 auto}
@media (min-width:820px){.rede{grid-template-columns:280px 1fr}}
.rede-img{width:min(280px,70vw);margin:0 auto;filter:drop-shadow(0 6px 0 rgba(31,37,102,.15))}
.rede .fonte{text-align:left}
.esp-ferramentas{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.6rem}
.esp-ferramentas .busca{margin:0}
.filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.filtro{border:2px solid var(--royal);background:#fff;color:var(--royal);font:700 .95rem var(--f-texto);padding:.45rem .9rem;border-radius:999px;cursor:pointer}
.filtro.ativo,.filtro:hover{background:var(--royal);color:#fff}
.esp-lista{list-style:none;margin:0 auto;padding:0;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-width:1120px}
.esp-lista li{background:#fff;border:2px solid #DADDF3;border-radius:12px;padding:.8rem 1rem;display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:center}
.esp-lista li[hidden]{display:none}
.esp-lista .cod{grid-row:span 2;background:var(--sol);color:var(--royal-deep);font:800 .85rem var(--f-display);padding:.35rem .5rem;border-radius:8px}
.esp-lista .nome{font-weight:800;color:var(--royal-deep)}
.esp-lista .area{font-size:.85rem;color:var(--tinta-suave)}
/* ---- v15 ---- */
.classe-logo{width:80px;height:80px}
.idade-txt{font-family:var(--f-display);font-weight:800;color:var(--royal);font-size:1.15rem;background:var(--papel);padding:.15rem .8rem;border-radius:999px}
.areas{margin-bottom:0}
.areas li{height:100%;justify-content:flex-start}
.faixa-aprende .secao-in>p.centro{margin-top:2rem;margin-bottom:0}
.secao-in>p.texto.centro{margin-bottom:1.6rem}
/* ---- v16 ---- */
.construcao{max-width:560px;margin:1rem auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.construcao .ic-circ{width:4.4rem;height:4.4rem}.construcao .ic-circ .ic{width:2.2rem;height:2.2rem}
.construcao h2{text-align:center;margin:.4rem 0 0}
/* ---- v18 ---- */
@media (min-width:1000px){.aprende-cards.cards-3{grid-template-columns:repeat(3,1fr)}}
.aprende-cards.contorno li{border:2px solid #DADDF3}
.aprende-cards li h3{margin:0;font-size:1.15rem}
.aprende-cards li p{margin:0;color:var(--tinta-suave);font-size:.97rem}
/* justificado em todas as telas, inclusive celular */
.texto p,.just p,.duas p,.tempo li,.rede p,.secao-in>p:not(.centro):not(.fonte),.lista li,.passos p{text-align:justify;hyphens:none}
@media (max-width:700px){
  .justificado .texto p,.justificado .tempo li,.just p,.partes span{text-align:justify}
  .texto p,.duas p,.tempo li,.rede p,.lista li,.passos p{text-align:justify}
}
.centro,.fonte,.card-ic p,.aprende-cards p,.cards-classe p,.construcao p,.hero-cartao p{text-align:center}
.rede .fonte{text-align:left}
/* ---- v19 ---- */
.u-grade{display:grid;gap:1.2rem;grid-template-columns:1fr;max-width:1120px;margin:0 auto}
@media (min-width:700px){.u-grade{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1050px){.u-grade{grid-template-columns:repeat(3,1fr)}}
.u-card{background:#fff;border:2px solid #DADDF3;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.u-fig{margin:0;background:#fff;border-bottom:1px solid #EEF0FA}
.u-fig img{width:100%;height:auto;border:0;border-radius:0}
.u-txt{padding:1rem 1.2rem 1.1rem}
.u-txt h3{margin:0 0 .4rem}
.u-txt .lista{margin:0;padding-left:1.1rem}
.u-txt p{margin:0}
.dois-unif{display:grid;gap:1.2rem;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media (min-width:760px){.dois-unif{grid-template-columns:1fr 1fr}}
.dois-unif figure img{border-radius:14px;border:1px solid #DADDF3}
.destaque-azul{margin-top:1.4rem;font-weight:800;color:var(--royal)}
.compra{max-width:1000px;margin:0 auto}
.compra td{text-align:left}
.dois-unif .u-fig img{height:340px;object-fit:contain;background:#fff}
.u-txt li,.u-txt p{text-align:left}
/* ---- v20 ---- */
.u-grade{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}
.u-grade>.u-card{flex:0 1 100%}
@media (min-width:640px){.u-grade>.u-card{flex-basis:calc(50% - .6rem)}}
@media (min-width:1050px){
  .u-grade.q3>.u-card{flex-basis:calc(33.333% - .8rem)}
  .u-grade.q4>.u-card{flex-basis:calc(25% - .9rem)}
}
.u-grade .u-card,.ampliavel figure{cursor:zoom-in;transition:transform .15s,box-shadow .15s}
.u-grade .u-card:hover,.ampliavel figure:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(31,37,102,.12)}
.u-card .u-fig{position:relative}
.u-card .u-fig::after{content:"Toque para ampliar";position:absolute;right:.5rem;bottom:.5rem;background:rgba(31,37,102,.85);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px}
.dois-unif:not(.ampliavel) .u-card{cursor:default}
.dois-unif:not(.ampliavel) .u-fig::after{display:none}
.compra td{text-align:justify}
dialog.modal{border:0;border-radius:18px;padding:0;max-width:min(960px,94vw);width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.modal::backdrop{background:rgba(20,24,70,.75)}
.modal-corpo img{width:100%;height:auto;display:block}
.modal-corpo .u-txt{padding:1.2rem 1.4rem 1.4rem}
.modal-corpo .u-txt h3{font-size:1.4rem}
.modal-fechar{position:sticky;top:.6rem;float:right;margin:.6rem .6rem -3rem 0;z-index:2;background:var(--sol);color:var(--royal-deep);border:0;border-radius:999px;font:800 1rem var(--f-texto);padding:.5rem 1rem;cursor:pointer}
.modal-corpo .u-card,.modal-corpo figure{transform:none!important;box-shadow:none!important;border-radius:0}
.modal-corpo .u-fig::after{display:none}
.modal-corpo figure img{border:0;border-radius:0}
/* ---- v21 ---- */
.para-todos{background:var(--sol);padding:1.8rem 1.25rem}
.para-todos-in{max-width:900px;margin:0 auto;display:flex;gap:1.2rem;align-items:center}
.para-todos h2{margin:0 0 .3rem;text-align:left;color:var(--royal-deep)}
.para-todos p{margin:0;font-size:1.1rem;color:var(--royal-deep);text-align:left}
.ic-circ.azul{background:var(--royal);color:var(--sol);width:4.2rem;height:4.2rem}
.ic-circ.azul .ic{width:2.1rem;height:2.1rem}
@media (max-width:600px){.para-todos-in{flex-direction:column;text-align:center}.para-todos h2,.para-todos p{text-align:center}}
.hero+.para-todos{border-top:6px solid var(--royal-deep)}
@media (min-width:1000px){.aprende-cards.cards-4{grid-template-columns:repeat(4,1fr)}}
.voluntario{border-top:6px solid var(--sol)}
.vol-acao{color:#E3E6FF;margin-top:1.6rem!important}
.rede-img{filter:none}
/* ---- v22 ---- */
.hero-in{max-width:1000px}
.hero-cartao{max-width:940px;margin-left:auto;margin-right:auto}
.secao-in>p.texto.largo{max-width:1040px}
.so-pc{display:none}@media (min-width:1000px){.so-pc{display:inline}}
/* ---- v23 ---- */
.hero-cartao .hero-todos{margin-top:.8rem;display:inline-block;background:var(--sol);color:var(--royal-deep);font-weight:800;padding:.4rem 1rem;border-radius:999px;font-size:1.02rem}
.hero+.faixa-aprende{border-top:6px solid var(--sol)}
/* ---- v24 história ---- */
.marcos{list-style:none;margin:0 auto;padding:0;max-width:980px;position:relative}
.marcos::before{content:"";position:absolute;left:1.1rem;top:.5rem;bottom:.5rem;width:4px;background:var(--sol);border-radius:4px}
.marco{position:relative;padding:0 0 1.8rem 3.4rem}
.marco::before{content:"";position:absolute;left:.55rem;top:.35rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--royal);border:4px solid var(--sol)}
.m-ano{display:inline-block;font:800 1.15rem var(--f-display);color:#fff;background:var(--royal);padding:.2rem .9rem;border-radius:999px;margin-bottom:.6rem}
.m-corpo{background:#fff;border:2px solid #DADDF3;border-radius:14px;overflow:hidden}
.marco.com-foto .m-corpo{display:grid;grid-template-columns:1fr}
@media (min-width:760px){.marco.com-foto .m-corpo{grid-template-columns:320px 1fr}}
.m-fig{margin:0;background:var(--royal-deep)}
.m-fig img{width:100%;height:100%;max-height:260px;object-fit:cover;border:0;border-radius:0}
.m-txt{padding:1rem 1.2rem}
.m-txt h3{margin:0 0 .3rem}
.m-txt p{margin:0;text-align:justify}
.aprende-cards .c-ano{font-weight:800;color:var(--vinho);font-size:.92rem}
.ranking{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem}
.barra{display:grid;grid-template-columns:3.2rem 1fr auto;gap:.8rem;align-items:center}
.b-ano{font:800 1rem var(--f-display);color:var(--royal)}
.b-trilho{background:var(--papel);border:1px solid #DADDF3;border-radius:999px;height:1.1rem;overflow:hidden}
.b-valor{height:100%;background:linear-gradient(90deg,var(--royal),#4B55C7);border-radius:999px}
.b-num{font-size:.88rem;color:var(--tinta-suave);white-space:nowrap}
@media (max-width:560px){.barra{grid-template-columns:2.8rem 1fr}.b-num{grid-column:2;margin-top:-.4rem}}
.diretores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.diretores li{display:grid;grid-template-columns:7.2rem 1fr;gap:.6rem;background:#fff;border:2px solid #DADDF3;border-radius:10px;padding:.55rem .8rem}
.d-ano{font:800 .95rem var(--f-display);color:var(--royal)}
.frase-final{max-width:820px;margin:0 auto;text-align:center;font-family:var(--f-display);font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.35;color:#fff}
.frase-final strong{color:var(--sol)}
.m-fig.logo img{object-fit:contain;background:var(--royal-deep);height:260px}
.barra{grid-template-columns:3.2rem 1fr 8.5rem}
.b-num{text-align:right}
@media (max-width:560px){.barra{grid-template-columns:2.8rem 1fr}.b-num{text-align:left}}
.secao-in>p.frase-final{text-align:center}
/* ---- v25 ---- */
.marco.foto-larga .m-fig img{max-height:none;height:clamp(240px,38vw,420px);width:100%;object-fit:cover}
.marco.hoje .m-corpo{background:var(--royal);border-color:var(--royal)}
.marco.hoje h3{color:var(--sol);font-size:1.4rem}
.marco.hoje .m-txt p{color:#E3E6FF;text-align:left}
.grito-anim{margin-top:.8rem;background:var(--royal-deep);border-radius:12px;padding:1rem 1.2rem;min-height:4rem}
.grito-anim .ga-fala{font-family:var(--f-display);font-size:1.3rem;color:#fff;margin:.2rem 0;text-align:left}
.grito-anim .ga-grito{font-family:var(--f-display);font-weight:800;font-size:clamp(1.8rem,5vw,2.8rem);color:var(--sol);margin:.3rem 0;text-align:center;letter-spacing:.06em}
.ga-grito.pop{animation:pop .5s ease-out}
@keyframes pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.tremer{animation:tremer .55s ease-in-out}
@keyframes tremer{0%,100%{transform:translate(0,0) rotate(0)}15%{transform:translate(-6px,2px) rotate(-1deg)}30%{transform:translate(6px,-2px) rotate(1deg)}45%{transform:translate(-5px,1px)}60%{transform:translate(5px,-1px)}75%{transform:translate(-3px,0)}90%{transform:translate(3px,0)}}
.ga-repetir{margin-top:.8rem;background:var(--sol);color:var(--royal-deep);border:0;border-radius:999px;font:800 .95rem var(--f-texto);padding:.5rem 1rem;cursor:pointer}
/* ---- v26 ---- */
.musicas{display:grid;gap:1.2rem;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media (min-width:760px){.musicas{grid-template-columns:1fr 1fr}}
.musica{background:#fff;border:2px solid #DADDF3;border-radius:14px;padding:1.3rem 1.4rem}
.musica .m-tag{display:inline-block;background:var(--sol);color:var(--royal-deep);font:800 .9rem var(--f-display);padding:.15rem .7rem;border-radius:999px}
.musica h3{margin:.5rem 0 .3rem}
.musica p{margin:0;text-align:justify}
.grade-dir{display:grid;grid-template-columns:1fr;gap:.6rem;max-width:1120px;margin:0 auto}
@media (min-width:640px){.grade-dir{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.grade-dir{grid-template-columns:repeat(5,1fr)}}
.grade-dir li{grid-template-columns:1fr;text-align:center;padding:.8rem .7rem}
.grade-dir li{align-content:start;gap:.3rem}
.marco.hoje .grito-anim .ga-grito{color:var(--sol);text-align:center}
.marco.hoje .grito-anim .ga-fala{color:#fff}
/* ---- v28 área de fotos ---- */
.login-box{max-width:460px;margin:1rem auto;background:#fff;border:2px solid #DADDF3;border-radius:16px;padding:1.6rem}
.login-box h2{text-align:left;margin-bottom:.4rem}
.login-box p{text-align:left}
.form-l{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem}
.form-l label,.form-admin label{font-weight:800;color:var(--royal-deep);font-size:.95rem;display:flex;flex-direction:column;gap:.3rem}
.form-l input,.form-admin input[type=text],.form-admin input:not([type]),.form-admin input[type=email],.form-admin input[type=url],.form-admin input[type=date]{padding:.7rem .9rem;border:2px solid #DADDF3;border-radius:10px;font:inherit}
.form-l input:focus,.form-admin input:focus{outline:none;border-color:var(--royal)}
#codigo{font-size:1.6rem;letter-spacing:.4em;text-align:center}
.link-btn{background:none;border:0;color:var(--royal);font:700 .95rem var(--f-texto);text-decoration:underline;cursor:pointer;padding:0}
.link-btn.perigo{color:var(--vinho)}
.msg{border-radius:10px;padding:.7rem 1rem;font-weight:700}
.msg.ok{background:#E8F6EC;color:#1D6B3A}.msg.erro{background:#FBE9EC;color:var(--vinho)}
.fotos-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.4rem}
.fotos-topo p{margin:0}
.fotos-acoes{display:flex;gap:.6rem;align-items:center}
.fotos-acoes form{margin:0}
.albuns li[hidden],.ano-bloco[hidden]{display:none}
.abas{display:flex;gap:.4rem;margin-bottom:1.2rem;border-bottom:2px solid #DADDF3}
.abas a{padding:.6rem 1rem;text-decoration:none;font-weight:800;color:var(--tinta-suave);border-bottom:3px solid transparent;margin-bottom:-2px}
.abas a.ativa{color:var(--royal);border-color:var(--sol)}
.form-admin{background:var(--papel);border-radius:14px;padding:1.2rem 1.3rem;margin-bottom:1.4rem}
.form-admin h3{margin-top:0}
.form-admin .campos{display:grid;gap:.8rem;grid-template-columns:1fr;margin-bottom:1rem}
@media (min-width:760px){.form-admin .campos{grid-template-columns:2fr 1fr}.form-admin .largo{grid-column:1/-1}}
.form-admin .check{flex-direction:row;align-items:center;gap:.5rem;font-weight:700}
.tab-admin td.acoes{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.tab-admin td.acoes form{margin:0}
.tab-admin td{text-align:left}
/* ---- v29 tipo de álbum ---- */
.alb-ferramentas{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin-bottom:1.6rem}
.alb-ferramentas .busca{margin:0}
.alb-ferramentas .filtros{justify-content:flex-start}
.albuns li.alb-evento a{border-color:var(--sol);background:var(--sol-claro)}
.tag-ev{font-weight:800;color:var(--vinho)}
.tipo-album{border:0;padding:0;margin:0;display:flex;gap:1.4rem;flex-wrap:wrap}
.tipo-album legend{font-weight:800;color:var(--royal-deep);font-size:.95rem;margin-bottom:.3rem;padding:0}
