:root{
  --marrom:#824C42; --marrom-escuro:#5a322b; --laranja:#EB6619; --laranja-claro:#fbe3d3;
  --areia:#E5C795; --papel:#FBF6EE; --papel-2:#F4EADB; --tinta:#3b2420; --suave:#6f5a52;
  --linha:rgba(130,76,66,.18);
  --raio:18px; --sombra:0 18px 40px -22px rgba(90,50,43,.45);
  --display:"Fraunces",Georgia,serif; --texto:"Nunito",system-ui,sans-serif; --mao:"Caveat",cursive;
  --largura:1180px;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--texto);color:var(--tinta);background:var(--papel);font-size:17px;line-height:1.65;
  background-image:radial-gradient(rgba(130,76,66,.06) 1px,transparent 1px);background-size:22px 22px}
img{max-width:100%;height:auto;display:block}
a{color:var(--marrom)}
h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0 0 .5em;color:var(--marrom-escuro);font-weight:700}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem);letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.015em}
h3{font-size:1.25rem}
em{font-style:italic;color:var(--laranja)}
p{margin:0 0 1em}
.pular{position:absolute;left:-999px;top:0;background:var(--marrom);color:#fff;padding:8px 14px;z-index:99}
.pular:focus{left:8px}
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px;border-radius:6px}

/* botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--laranja);color:#fff;font-weight:800;
  text-decoration:none;border:0;border-radius:999px;padding:14px 26px;font-size:1rem;font-family:var(--texto);cursor:pointer;
  box-shadow:0 6px 0 var(--marrom);transition:transform .15s,box-shadow .15s}
.botao:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--marrom)}
.botao:active{transform:translateY(4px);box-shadow:0 2px 0 var(--marrom)}
.botao-linha{background:transparent;color:var(--marrom);border:2px solid var(--marrom);box-shadow:none}
.botao-linha:hover{background:var(--marrom);color:#fff;box-shadow:none}
.botao-pequeno{padding:9px 18px;font-size:.92rem;box-shadow:0 4px 0 var(--marrom)}

/* topo */
.topo{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px max(20px,calc((100vw - var(--largura))/2));background:rgba(251,246,238,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:border-color .2s}
.topo.rolou{border-bottom-color:var(--linha)}
.marca img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:22px}
.menu a:not(.botao){text-decoration:none;font-weight:700;font-size:.95rem;color:var(--tinta);position:relative}
.menu a:not(.botao)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--laranja);transition:right .2s}
.menu a:not(.botao):hover::after,.menu a.ativo::after{right:0}
.menu-botao{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-botao span{position:absolute;left:10px;right:10px;height:3px;background:var(--marrom);border-radius:3px;transition:.2s}
.menu-botao span:first-child{top:16px}.menu-botao span:last-child{top:26px}
.menu-botao[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu-botao[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* hero */
.hero{max-width:var(--largura);margin:0 auto;padding:56px 20px 40px;display:grid;grid-template-columns:1.15fr .85fr;gap:24px 40px;align-items:center}
.selo{display:inline-flex;align-items:center;gap:8px;background:var(--laranja-claro);color:var(--marrom-escuro);font-weight:800;
  padding:6px 14px;border-radius:999px;font-size:.88rem;margin-bottom:18px}
.ponto{width:9px;height:9px;border-radius:50%;background:var(--laranja);animation:pulsa 1.6s infinite}
@keyframes pulsa{0%{box-shadow:0 0 0 0 rgba(235,102,25,.5)}100%{box-shadow:0 0 0 10px rgba(235,102,25,0)}}
.hero-sub{font-size:1.15rem;color:var(--suave);max-width:560px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 10px}
.contagem{margin-top:18px;display:inline-flex;flex-direction:column;gap:2px;background:#fff;border:2px dashed var(--areia);padding:10px 16px;border-radius:14px}
.contagem-rotulo{font-size:.85rem;font-weight:700;color:var(--suave)}
.contagem-numeros b{font-family:var(--display);font-size:1.5rem;color:var(--laranja)}
.hero-coruja{position:relative;justify-self:center;width:min(100%,380px)}
.coruja{width:100%;overflow:visible}
.c-pupila{fill:none;stroke:var(--laranja);stroke-width:22.6;transition:cx .08s linear,cy .08s linear}
.camada{opacity:0;transform:translateY(14px);animation:surge .7s ease forwards}
.camada-1{animation-delay:.1s}.camada-2{animation-delay:.35s}.camada-3{animation-delay:.6s}
@keyframes surge{to{opacity:1;transform:none}}
.coruja.pisca .c-pupila{transform-box:fill-box;transform-origin:center;animation:pisca .25s}
@keyframes pisca{50%{transform:scaleY(.1)}}
.nota-mao{font-family:var(--mao);font-size:1.6rem;color:var(--laranja);line-height:1.1}
.hero-coruja .nota-mao{position:absolute;right:-30px;bottom:-56px;transform:rotate(-5deg);text-align:right}
.hero-fotos{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:200px 200px;gap:16px;margin-top:24px}
.hf{margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--sombra)}
.hf img{width:100%;height:100% !important;object-fit:cover}
.hf-1{grid-row:span 2}.hf-4{grid-column:span 2}
.hf-1 img{object-position:center 40%}
.hf-4 img{object-position:center 12%}
.hero-foto{grid-column:1/-1;margin:24px 0 0;border-radius:28px;overflow:hidden;box-shadow:var(--sombra);aspect-ratio:21/8;position:relative}
.hero-foto img{width:100%;height:100% !important;object-fit:cover;object-position:center 30%}

/* números */
.numeros{max-width:var(--largura);margin:0 auto;padding:10px 20px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.numeros div{background:#fff;border-radius:var(--raio);padding:22px 20px;border:1px solid var(--linha)}
.numeros b{font-family:var(--display);font-size:1.9rem;color:var(--marrom);line-height:1.1;display:block}
.numeros b.sufixo{font-size:1.6rem}
.numeros div > span{display:block;color:var(--suave);font-weight:600;font-size:.95rem;margin-top:6px}

/* seções */
.secao{max-width:var(--largura);margin:0 auto;padding:80px 20px}
.secao-topo{max-width:720px;margin-bottom:40px}
.secao-topo-centro{margin-left:auto;margin-right:auto;text-align:center}
.sobretitulo{font-family:var(--mao);font-size:1.7rem;color:var(--laranja);margin:0 0 4px;line-height:1}
.lead{font-size:1.15rem;color:var(--suave)}
.miudo{font-size:.85rem;color:var(--suave)}

/* pilares */
.pilares{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px}
.pilar:last-child{grid-column:span 2}
.pilar{background:#fff;border-radius:var(--raio);padding:26px;border:1px solid var(--linha);position:relative;transition:transform .2s,box-shadow .2s}
.pilar:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.pilar::before{content:"";display:block;width:38px;height:6px;border-radius:6px;background:var(--laranja);margin-bottom:16px}
.pilar:nth-child(3n)::before{background:var(--areia)}.pilar:nth-child(3n+2)::before{background:var(--marrom)}
.pilar p{color:var(--suave);margin:0}
.pilar-destaque{grid-row:span 3;display:flex;flex-direction:column;background:var(--marrom);color:#fff;border:0}
.pilar-destaque h3{color:#fff}.pilar-destaque p{color:#f3e4dc}.pilar-destaque::before{background:var(--areia)}
.pilar-destaque img{border-radius:12px;object-fit:cover;margin-top:20px;flex:1;min-height:200px;width:100%}

/* mural */
.mural{background:var(--papel-2);padding:80px 20px}
.mural-grade{max-width:var(--largura);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;gap:16px}
.mural-grade figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--sombra)}
.mural-grade img{width:100%;height:100% !important;object-fit:cover;transition:transform .5s}
.mural-grade figure:hover img{transform:scale(1.05)}
.mural-grade figcaption{position:absolute;left:10px;bottom:10px;background:rgba(251,246,238,.94);font-weight:700;font-size:.82rem;padding:4px 10px;border-radius:999px}
.m1{grid-column:span 2;grid-row:span 4}.m2,.m3,.m4,.m5{grid-column:span 2;grid-row:span 2}

/* história */
.historia-fotos{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;margin-bottom:60px}
.polaroid{background:#fff;padding:14px 14px 10px;margin:0;box-shadow:var(--sombra);border-radius:4px}
.polaroid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.polaroid figcaption{font-family:var(--mao);font-size:1.45rem;color:var(--marrom);padding-top:8px;text-align:center}
.p-esq{transform:rotate(-2.5deg)}.p-dir{transform:rotate(2deg);max-width:360px}
.p-dir img{aspect-ratio:4/5}
.tempo-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.tempo-nav .nota-mao{font-size:1.4rem}
.seta{width:46px;height:46px;border-radius:50%;border:2px solid var(--marrom);background:#fff;color:var(--marrom);font-size:1.2rem;font-weight:800;cursor:pointer;margin-left:8px}
.seta:hover{background:var(--marrom);color:#fff}
.linha-tempo{list-style:none;margin:0 0 60px;padding:10px 0 20px;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;position:relative}
.linha-tempo::-webkit-scrollbar{height:8px}.linha-tempo::-webkit-scrollbar-thumb{background:var(--areia);border-radius:8px}
.linha-tempo li{flex:0 0 250px;scroll-snap-align:start;background:#fff;border-radius:var(--raio);padding:22px;border:1px solid var(--linha);position:relative;
  opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s}
.linha-tempo li.visivel{opacity:1;transform:none}
.linha-tempo li.agora{background:var(--laranja);color:#fff;border:0}
.linha-tempo li.agora h3,.linha-tempo li.agora .ano{color:#fff}
.linha-tempo .ano{font-family:var(--display);font-size:2.1rem;color:var(--laranja);font-weight:700;display:block;line-height:1;margin-bottom:10px}
.linha-tempo h3{font-size:1.08rem}.linha-tempo p{font-size:.95rem;margin:0}
.fundadores{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;margin:0 0 50px}
.fundadores img{border-radius:24px;box-shadow:var(--sombra)}
.fundadores figcaption{font-size:1.1rem;color:var(--suave)}
.fundadores .nota-mao{display:block;font-size:2.2rem}
.ex-alunos{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--areia);border-radius:24px;padding:30px 34px}
.ex-alunos h3{font-size:1.5rem}.ex-alunos p{margin:0;max-width:620px}

/* dia */
.dia-trilha{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;position:relative}
.dia-trilha button{font-family:var(--texto);font-weight:800;font-size:.95rem;border:2px solid var(--linha);background:#fff;color:var(--tinta);
  padding:10px 18px;border-radius:999px;cursor:pointer;transition:.2s}
.dia-trilha button[aria-selected="true"]{background:var(--marrom);color:#fff;border-color:var(--marrom)}
.dia-painel{background:#fff;border-radius:24px;border:1px solid var(--linha);padding:34px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;min-height:190px}
.dia-painel .dia-num{font-family:var(--display);font-size:5rem;color:var(--areia);line-height:1}
.dia-painel h3{font-size:1.6rem}.dia-painel p{margin:0;color:var(--suave);font-size:1.08rem;max-width:640px}
.dia-painel.entra{animation:entra .35s ease}
@keyframes entra{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}

/* turma */
.turma-caixa{display:grid;grid-template-columns:1fr 1fr;border-radius:30px;overflow:hidden;box-shadow:var(--sombra);background:#fff}
.turma-pergunta{padding:44px}
.turma-pergunta label{font-weight:800;display:block;margin-bottom:8px}
.linha-campo{display:flex;gap:10px;flex-wrap:wrap}
input,select{font-family:var(--texto);font-size:1rem;padding:13px 14px;border:2px solid var(--linha);border-radius:12px;background:var(--papel);color:var(--tinta);min-height:50px}
input:focus,select:focus{border-color:var(--laranja);outline:none;box-shadow:0 0 0 4px rgba(235,102,25,.15)}
.linha-campo input{flex:1;min-width:190px}
.erro{color:#b3261e;font-weight:700;font-size:.92rem;min-height:1.2em;margin:8px 0 0}
.turma-resposta{background:var(--marrom);color:#fff;padding:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;min-height:340px}
.turma-coruja{width:110px;height:auto;filter:brightness(0) invert(1);opacity:.9;margin-bottom:16px}
.turma-espera{font-family:var(--mao);font-size:1.8rem;color:var(--areia)}
.turma-resposta .rotulo{font-weight:700;color:var(--areia);margin:0}
.turma-resposta .nome-turma{font-family:var(--display);font-size:3rem;color:#fff;line-height:1.05;margin:4px 0 10px}
.turma-resposta p{color:#f3e4dc}
.turma-resposta .botao{margin-top:10px}
.turma-resposta.mostra{animation:entra .4s ease}

/* matrículas */
.passos{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
.passos li{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:24px;position:relative}
.passos b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--laranja);color:#fff;font-family:var(--display);font-size:1.3rem;margin-bottom:14px}
.passos p{color:var(--suave);margin:0;font-size:.97rem}
.matriculas-grade{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}
.valores,.checklist{background:#fff;border:1px solid var(--linha);border-radius:24px;padding:30px}
.tabela{width:100%;border-collapse:collapse;font-size:.98rem}
.tabela th,.tabela td{padding:12px 8px;border-bottom:1px solid var(--linha);text-align:left}
.tabela td:not(:first-child),.tabela th:not(:first-child){text-align:right}
.tabela tfoot td{font-size:.85rem;color:var(--suave);border:0}
.valores-em-breve{background:var(--papel-2);border-radius:16px;padding:22px}
.valores-em-breve b{font-family:var(--display);font-size:1.3rem;color:var(--marrom);display:block;margin-bottom:6px}
#checklist{list-style:none;padding:0;margin:14px 0}
#checklist li{border-bottom:1px dashed var(--linha)}
#checklist label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer}
#checklist input{width:22px;height:22px;min-height:0;padding:0;accent-color:var(--laranja);margin-top:3px;flex:0 0 auto}
#checklist input:checked + *{text-decoration:line-through}
.barra{height:10px;background:var(--papel-2);border-radius:10px;overflow:hidden}
.barra span{display:block;height:100%;width:0;background:var(--laranja);transition:width .3s}

/* quiz */
.quiz-caixa{max-width:760px;margin:0 auto;background:#fff;border-radius:28px;padding:38px;box-shadow:var(--sombra);min-height:320px}
.quiz-progresso{display:flex;gap:6px;margin-bottom:22px}
.quiz-progresso span{flex:1;height:6px;border-radius:6px;background:var(--papel-2)}
.quiz-progresso span.feito{background:var(--laranja)}
.quiz-caixa h3{font-size:1.5rem}
.quiz-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.quiz-opcoes button{font-family:var(--texto);font-size:1rem;font-weight:700;text-align:left;padding:16px 18px;border-radius:16px;border:2px solid var(--linha);background:var(--papel);cursor:pointer;transition:.15s;color:var(--tinta)}
.quiz-opcoes button:hover{border-color:var(--laranja);background:var(--laranja-claro);transform:translateY(-2px)}
.quiz-resultado .tipo{font-family:var(--display);font-size:2.2rem;color:var(--laranja);margin:0 0 8px}
.quiz-resultado ul{padding-left:20px;color:var(--suave)}
.quiz-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

/* visita */
.visita-caixa{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;background:var(--areia);border-radius:32px;padding:48px}
.contatos{list-style:none;padding:0;margin:24px 0 0}
.contatos li{display:flex;flex-direction:column;padding:10px 0;border-top:1px solid rgba(90,50,43,.18)}
.contatos span{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--marrom)}
.contatos a,.contatos b{font-weight:700;color:var(--tinta);text-decoration:none}
.visita-form{background:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-weight:800;font-size:.92rem}
.campo-largo{grid-column:1/-1}

/* dúvidas */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:0 22px}
.faq summary{cursor:pointer;font-weight:800;font-size:1.05rem;padding:18px 30px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-family:var(--display);font-size:1.7rem;color:var(--laranja);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--suave);margin:0 0 18px}

/* mapa e rodapé */
.mapa iframe{width:100%;height:340px;border:0;display:block;filter:sepia(.25) saturate(.9)}
.rodape{background:var(--marrom-escuro);color:#f0e1d8;text-align:center;padding:50px 20px 90px}
.rodape img{height:46px;width:auto;margin:0 auto 16px;filter:brightness(0) invert(1)}
.rodape .miudo{color:#cdb3a8}
.whats-flutuante{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.4);z-index:60;transition:transform .2s}
.whats-flutuante:hover{transform:scale(1.08)}
.whats-flutuante svg{width:32px;height:32px;fill:#fff}

/* revelar ao rolar */
.revela{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.revela.visivel{opacity:1;transform:none}

@media (max-width:980px){
  .menu-botao{display:block}
  .menu{position:fixed;inset:70px 0 auto 0;background:var(--papel);flex-direction:column;align-items:flex-start;padding:20px;gap:16px;
    border-bottom:1px solid var(--linha);transform:translateY(-120%);transition:transform .25s;box-shadow:var(--sombra)}
  .menu.aberto{transform:none}
  .hero{grid-template-columns:1fr;padding-top:30px}
  .hero-coruja{order:-1;justify-self:start}
  .hero-coruja{display:flex;align-items:center;gap:14px;width:auto}
  .hero-coruja .coruja{width:150px;flex:0 0 150px}
  .hero-coruja .nota-mao{position:static;transform:rotate(-4deg);text-align:left;font-size:1.35rem}
  .hero-fotos{grid-template-columns:1fr 1fr;grid-template-rows:180px 130px 130px}.hf-1{grid-column:span 2;grid-row:auto}.hf-4{grid-column:span 2}
  .numeros{grid-template-columns:1fr}
  .pilares{grid-template-columns:1fr 1fr}.pilar-destaque{grid-column:1/-1;grid-row:auto}.pilar-destaque img{max-height:280px}.pilar:last-child{grid-column:auto}
  .mural-grade{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .mural-grade figure{grid-column:span 1 !important;grid-row:span 1 !important}.mural-grade .m1{grid-row:span 2 !important}
  .historia-fotos,.fundadores,.turma-caixa,.matriculas-grade,.visita-caixa{grid-template-columns:1fr}
  .p-dir{justify-self:center}
  .passos{grid-template-columns:1fr 1fr}
  .ex-alunos{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  body{font-size:16px}
  .secao{padding:56px 16px}
  .pilares,.passos,.quiz-opcoes,.visita-form{grid-template-columns:1fr}
  .pilar:last-child{grid-column:auto}
  .dia-painel{grid-template-columns:1fr;padding:24px}.dia-painel .dia-num{font-size:3rem}
  .turma-pergunta,.turma-resposta,.visita-caixa,.quiz-caixa{padding:26px}
  .visita-caixa{border-radius:24px}
  .hero-acoes .botao{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  .revela,.linha-tempo li,.camada{opacity:1;transform:none}
}
