/* Grifo Academy, página institucional. O CSS crítico (topo e hero) está inline no index.html. */

section{padding:clamp(64px,10vw,112px) 0}
section h2{font-size:clamp(1.85rem,4.6vw,2.9rem);max-width:20ch}
.intro{max-width:60ch;margin-top:18px;font-size:1.08rem}
.light{background:var(--cream);color:var(--ink)}
.light .intro{color:var(--mute)}

/* Números: faixa com régua, sem cartões */
.nums{background:var(--navy2);color:var(--cream);padding:0}
.nums-row{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line-d)}
.nums-row div{padding:26px 0;border-bottom:1px solid var(--line-d);display:flex;align-items:baseline;gap:18px}
.nums-row strong{font-size:clamp(2.2rem,6vw,3rem);line-height:1;color:var(--gold-l);min-width:3.6ch}
.nums-row span{color:rgba(224,217,207,.82);max-width:26ch}
@media (min-width:820px){
  .nums-row{grid-template-columns:repeat(3,1fr);border-top:0}
  .nums-row div{flex-direction:column;gap:10px;padding:40px 28px;border-bottom:0;border-left:1px solid var(--line-d)}
  .nums-row div:first-child{border-left:0;padding-left:0}
}

/* Origem + placas de obra */
.origem .texto p{max-width:62ch;margin-top:18px;font-size:1.08rem}
.origem .texto p:first-of-type{margin-top:24px}
.placas{display:grid;gap:18px;margin-top:48px}
@media (min-width:820px){.placas{grid-template-columns:repeat(3,1fr)}}
.placa{background:var(--navy);color:var(--cream);padding:22px 22px 24px;border-top:6px solid var(--gold);position:relative}
.placa::after{content:"";position:absolute;left:22px;right:22px;bottom:-14px;height:14px;background:
  linear-gradient(90deg,transparent 18%,var(--navy2) 18%,var(--navy2) 22%,transparent 22%,transparent 78%,var(--navy2) 78%,var(--navy2) 82%,transparent 82%)}
.placa h3{font-size:1.25rem;padding-bottom:14px;border-bottom:1px solid var(--line-d)}
.placa dl{margin:0}
.placa dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-d)}
.placa dt{color:rgba(224,217,207,.62);font-size:.9rem}
.placa dd{margin:0;font-weight:700;text-align:right}
.placa dl div:nth-child(3) dd{color:var(--gold-l);font-size:1.25rem;line-height:1.2}
.placa p{margin-top:14px;font-size:.95rem;color:rgba(224,217,207,.82)}

/* Pilares: sequência de verdade, por isso numerada */
.pilares{color:var(--cream)}
.pilares .intro{color:rgba(224,217,207,.8)}
.lista-pilares{list-style:none;margin:44px 0 0;padding:0;counter-reset:p;border-top:1px solid var(--line-d)}
.lista-pilares li{counter-increment:p;display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:24px 0;border-bottom:1px solid var(--line-d)}
.lista-pilares li::before{content:counter(p);grid-row:span 2;font:400 1rem/1.7 var(--mono);color:var(--gold-l)}
.lista-pilares h3{font-size:1.28rem}
.lista-pilares p{color:rgba(224,217,207,.82);max-width:58ch}
@media (min-width:820px){
  .lista-pilares li{grid-template-columns:60px minmax(200px,300px) 1fr;align-items:baseline}
  .lista-pilares li::before{grid-row:auto}
}

/* Quem conduz */
.pessoas{display:grid;gap:40px;margin-top:40px}
@media (min-width:700px){.pessoas{grid-template-columns:1fr 1fr;gap:32px}}
.foto{position:relative;aspect-ratio:4/5;background:var(--navy);overflow:hidden;max-width:420px}
.foto::before{content:attr(data-ini);position:absolute;inset:0;display:grid;place-items:center;font-size:3.4rem;font-weight:700;color:rgba(224,217,207,.22)}
.foto img{position:relative;width:100%;height:100%;object-fit:cover}
.pessoa h3{font-size:1.5rem;margin-top:20px}
.pessoa p{margin-top:10px;max-width:46ch;color:var(--mute)}
.pessoa a{display:inline-block;margin-top:12px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px}

/* Cases */
.cases{background:var(--navy2);color:var(--cream)}
.lista-cases{display:grid;gap:0;margin-top:40px}
@media (min-width:820px){.lista-cases{grid-template-columns:1fr 1fr;column-gap:48px}}
.lista-cases article{padding:26px 0 26px 20px;border-left:2px solid var(--gold);margin-bottom:20px}
.lista-cases h3{font-size:1.25rem}
.quem-case{font-size:.92rem;color:var(--gold-l);margin-top:4px}
.lista-cases p:last-child{margin-top:12px;color:rgba(224,217,207,.84);max-width:52ch}

/* Agenda */
.eventos{margin-top:40px;border-top:1px solid var(--line)}
.evento{display:grid;gap:14px;padding:28px 0;border-bottom:1px solid var(--line)}
.data{font:400 1rem/1.3 var(--mono);color:var(--gold)}
.ev-info h3{font-size:1.5rem}
.local{font-weight:700;margin-top:4px}
.ev-info p:last-child{margin-top:8px;color:var(--mute);max-width:52ch}
.evento .btn{justify-self:start}
@media (min-width:820px){
  .evento{grid-template-columns:150px 1fr auto;align-items:center;gap:28px}
  .data{font-size:1.05rem}
}
.vazio{margin-top:32px;font-size:1.08rem;max-width:56ch}
.vazio a{font-weight:700}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:48px}
.galeria:empty{display:none}
.galeria figure{margin:0;aspect-ratio:4/3;background:var(--navy);overflow:hidden}
.galeria img{width:100%;height:100%;object-fit:cover}
@media (min-width:820px){.galeria{grid-template-columns:repeat(4,1fr)}}

/* Programas */
.programas{color:var(--cream)}
.progs{display:grid;gap:20px;margin-top:40px}
@media (min-width:820px){.progs{grid-template-columns:1fr 1fr}}
.prog{border:1px solid var(--line-d);padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.prog h3{font-size:1.6rem}
.formato{color:var(--gold-l);font-weight:700}
.prog p:not(.formato){color:rgba(224,217,207,.84);flex:1}
.prog .btn{align-self:flex-start;margin-top:10px;text-align:center;line-height:1.25;padding-top:12px;padding-bottom:12px}
.nota-gbc{margin-top:10px;padding-top:14px;border-top:1px solid var(--line-d);color:var(--cream);font-weight:700}


/* Rodapé */
.rodape{background:var(--navy);color:rgba(224,217,207,.78);border-top:1px solid var(--line-d);padding:48px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:.95rem}
.rod-marca{font-weight:700;color:var(--cream);font-size:1.1rem}
.rod-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px}
.rod-links a{text-decoration:none;border-bottom:1px solid var(--line-d)}
.rod-links a:hover{border-color:var(--gold)}
.copy{margin-top:24px;font-size:.85rem;opacity:.7}

/* Páginas legais */
.legal{background:var(--cream);color:var(--ink);padding:56px 0 80px}
.legal .wrap{max-width:760px}
.legal h1{font-size:clamp(1.9rem,5vw,2.6rem)}
.legal h2{font-size:1.25rem;margin-top:36px}
.legal p,.legal li{margin-top:12px;max-width:68ch}
.legal ul{padding-left:20px}
.legal .atualizado{color:var(--mute);margin-top:10px;font-size:.95rem}
.pend{background:#f6e7c9;padding:0 4px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.legal .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 24px;font-weight:700;text-decoration:none;background:var(--gold);color:#fff;border-radius:2px}
