/* =========================================================
   PROPOSTA PEDAGÓGICA — page styles (identidade: branco /
   verde-claro / amarelo / verde alecrim / verde-escuro)
   Full-bleed, sem emojis, sem bullets.
   ========================================================= */

/* ---- FILOSOFIA — faixa amarela full-bleed, vídeo colado à direita ---- */
.filosofia{ background:var(--sol); color:var(--ink); }
.filosofia__grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; }
.filosofia__text{
  padding:clamp(48px,7vw,104px) clamp(40px,5vw,80px) clamp(48px,7vw,104px) var(--gutter);
  display:flex; flex-direction:column; justify-content:center;
}
.filosofia .eyebrow{ color:var(--ink-soft); }
.filosofia .eyebrow::before{ background:var(--alecrim); }
.filosofia h2{ font-size:clamp(2rem,4vw,3.2rem); }
.filosofia h2 em{ font-style:italic; color:var(--alecrim); }
.filosofia p{ color:var(--ink); font-size:1.08rem; max-width:48ch; }
.filosofia p + p{ margin-top:1rem; }
@media (max-width:900px){ .filosofia__grid{ grid-template-columns:1fr; } .filosofia__col{ order:-1; } }

/* vídeo full-height colado na lateral direita da filosofia */
.filosofia__col{ position:relative; min-height:clamp(360px,42vw,560px); }
.fil-video{
  position:absolute; inset:0;
  overflow:hidden; background:#15110d;
}
.fil-video iframe{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  aspect-ratio:16/9; min-width:100%; min-height:100%; width:auto; height:auto;
  border:0; pointer-events:none; z-index:1;
}
.fil-video__cover{ position:absolute; inset:0; z-index:0; transition:opacity .6s ease; }
.fil-video__cover image-slot{ width:100%; height:100%; }
@media (max-width:900px){ .fil-video{ min-height:300px; } }

/* ---- CICLOS — 4 cards full-bleed, foto→cor sólida no hover ---- */
.ciclos__head{ text-align:center; max-width:640px; margin:0 auto clamp(40px,6vw,64px); }
.ciclos__head .eyebrow{ justify-content:center; }
.ciclos h2{ font-size:clamp(2rem,4.4vw,3.4rem); margin-top:.55rem; }
.ciclos__head p{ color:var(--ink-soft); margin-top:1rem; }

.ciclos__row{
  width:100vw; margin-left:calc(50% - 50vw);
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
}
.cyc{
  position:relative; overflow:hidden;
  min-height:clamp(420px,46vw,560px);
  color:#fff; cursor:default; isolation:isolate;
}
.cyc__media{ position:absolute; inset:0; z-index:0; }
.cyc__media image-slot{ width:100%; height:100%; display:block; }
/* scrim para o nome ler sobre a foto */
.cyc::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(20,15,10,.12) 0%, rgba(20,15,10,.10) 45%, rgba(20,15,10,.78) 100%);
  transition:opacity .4s ease;
}
/* cor sólida que cobre a foto no hover */
.cyc__solid{
  position:absolute; inset:0; z-index:2; background:var(--cyc,var(--alecrim));
  opacity:0; transition:opacity .45s ease;
}
/* nome visível (estado padrão) */
.cyc__face{
  position:absolute; inset:auto 0 0 0; z-index:3; padding:clamp(20px,2vw,30px);
  transition:opacity .35s ease, transform .45s ease;
}
.cyc__face .cyc__age{
  display:inline-block; font-family:var(--font-display); font-weight:600;
  font-size:.76rem; letter-spacing:.02em; margin-bottom:.5rem;
  background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  padding:.3em .7em; color:#fff;
}
.cyc__face h3{ font-size:clamp(1.3rem,1.7vw,1.7rem); line-height:1.05; color:#fff; }
/* texto completo (estado hover) */
.cyc__hover{
  position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(22px,2.2vw,34px);
  opacity:0; transform:translateY(14px); transition:opacity .4s ease, transform .45s ease;
  color:#fff;
}
.cyc__hover .cyc__tag{ font-family:var(--font-display); font-weight:600; font-size:.74rem; text-transform:uppercase; letter-spacing:.14em; opacity:.85; }
.cyc__hover h3{ font-size:clamp(1.4rem,1.9vw,1.9rem); line-height:1.04; margin:.5rem 0 .8rem; color:#fff; }
.cyc__hover p{ font-size:1rem; line-height:1.5; color:rgba(255,255,255,.92); }
/* cards com fundo claro (sol amarelo / laranja verde-claro) → texto escuro para contraste */
.cyc[style*="--sol"] .cyc__hover, .cyc[style*="--laranja"] .cyc__hover{ color:var(--ink); }
.cyc[style*="--sol"] .cyc__hover h3, .cyc[style*="--laranja"] .cyc__hover h3{ color:var(--ink); }
.cyc[style*="--sol"] .cyc__hover p, .cyc[style*="--laranja"] .cyc__hover p{ color:rgba(42,58,48,.85); }

/* hover / focus → revela */
.cyc:hover .cyc__solid, .cyc:focus-within .cyc__solid{ opacity:1; }
.cyc:hover::after, .cyc:focus-within::after{ opacity:0; }
.cyc:hover .cyc__face, .cyc:focus-within .cyc__face{ opacity:0; transform:translateY(-10px); }
.cyc:hover .cyc__hover, .cyc:focus-within .cyc__hover{ opacity:1; transform:none; }

@media (max-width:900px){ .ciclos__row{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ciclos__row{ grid-template-columns:1fr; } .cyc{ min-height:clamp(320px,80vw,400px); } }

/* ---- BRASILIDADE & afrocentralidade — faixa verde-escura full-bleed ---- */
.brasil{ width:100vw; margin-left:calc(50% - 50vw); background:var(--ink); color:#fff; }
.brasil__in{ --pady:clamp(56px,7vw,104px); display:grid; grid-template-columns:1.1fr .9fr; align-items:stretch; }
.brasil__text{ padding:var(--pady) clamp(40px,5vw,80px) var(--pady) var(--gutter); display:flex; flex-direction:column; justify-content:center; }
.brasil .eyebrow{ color:rgba(255,255,255,.72); }
.brasil .eyebrow::before{ background:var(--sol); }
.brasil h2{ font-size:clamp(2rem,4.4vw,3.4rem); margin:.7rem 0 1.2rem; color:#fff; }
.brasil h2 em{ font-style:italic; color:var(--sol); }
.brasil p{ color:rgba(255,255,255,.82); font-size:1.08rem; max-width:50ch; }
.brasil p + p{ margin-top:1rem; }
.brasil__media{ position:relative; align-self:stretch; min-height:clamp(360px,40vw,520px); }
.brasil__media image-slot{ position:absolute; inset:0; width:100%; height:100%; }
.brasil__quote{ position:relative; margin-top:2rem; padding-top:2rem; font-family:var(--font-display); font-size:1.3rem; font-weight:500; font-style:italic; line-height:1.34; color:#fff; max-width:36ch; border-top:2px solid var(--sol); }
@media (max-width:900px){ .brasil__in{ grid-template-columns:1fr; } .brasil__text{ padding-bottom:0; } .brasil__media{ min-height:clamp(300px,70vw,440px); } }

/* ---- AULAS EXTRAS — cards hover-revela-texto ---- */
.extras__head{ text-align:center; max-width:640px; margin:0 auto clamp(36px,5vw,58px); }
.extras__head .eyebrow{ justify-content:center; }
.extras h2{ font-size:clamp(2rem,4.2vw,3.2rem); margin-top:.55rem; }
.extras__head p{ color:var(--ink-soft); margin-top:1rem; }
.extras__grid{ width:100vw; margin-left:calc(50% - 50vw); display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.xcard{
  position:relative; overflow:hidden;
  min-height:clamp(380px,40vw,460px);
  color:#fff; cursor:pointer; isolation:isolate;
}
.xcard image-slot{ position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.xcard__scrim{ position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(20,15,10,.1) 0%, rgba(20,15,10,.32) 50%, rgba(20,15,10,.86) 100%);
  transition:background .4s ease; }
.xcard:hover .xcard__scrim{ background:linear-gradient(180deg, rgba(20,15,10,.5), rgba(20,15,10,.82)); }
.xcard__in{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(22px,1.9vw,30px); }
.xcard h3{ font-size:clamp(1.45rem,1.9vw,1.85rem); line-height:1.04; color:#fff; }
.xcard__num{ position:absolute; top:clamp(20px,1.8vw,28px); left:clamp(22px,1.9vw,30px); font-family:var(--font-display); font-weight:600; font-size:.82rem; letter-spacing:.14em; color:rgba(255,255,255,.78); }
.xcard__reveal{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .45s cubic-bezier(.2,.8,.2,1), opacity .35s, margin-top .45s;
  margin-top:0;
}
.xcard__reveal p{ color:rgba(255,255,255,.92); font-size:.98rem; line-height:1.5; margin:0; }
.xcard:hover .xcard__reveal,
.xcard:focus-within .xcard__reveal{ max-height:200px; opacity:1; margin-top:.8rem; }
.xcard__line{ width:34px; height:3px; background:var(--sol); margin-top:1rem; transition:width .4s ease; }
.xcard:hover .xcard__line{ width:64px; }
@media (max-width:980px){ .extras__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .extras__grid{ grid-template-columns:1fr; } .xcard{ min-height:300px; } .xcard__reveal{ max-height:200px; opacity:1; margin-top:.8rem; } }

/* ---- CONTRATURNO (após especialistas) ---- */
.contraturno{ margin-top:clamp(40px,5vw,68px); padding-top:clamp(32px,4vw,48px); border-top:2px solid var(--ink); }
.contraturno .eyebrow{ margin-bottom:1.4rem; }
.contraturno__items{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); }
.contraturno__it h3{ font-size:clamp(1.3rem,2vw,1.7rem); margin-bottom:.5rem; }
.contraturno__it p{ color:var(--ink-soft); font-size:1.05rem; max-width:46ch; }
@media (max-width:680px){ .contraturno__items{ grid-template-columns:1fr; gap:28px; } }

/* ---- INGLÊS — faixa verde alecrim full-bleed, galeria colada à direita ---- */
.ingles{ width:100vw; margin-left:calc(50% - 50vw); background:var(--alecrim); color:#fff; }
.ingles__grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; }
.ingles__text{
  padding:clamp(48px,7vw,104px) clamp(40px,5vw,80px) clamp(48px,7vw,104px) var(--gutter);
  display:flex; flex-direction:column; justify-content:center;
}
.ingles .eyebrow{ color:rgba(255,255,255,.85); }
.ingles .eyebrow::before{ background:var(--sol); }
.ingles h2{ font-size:clamp(2rem,4.4vw,3.3rem); margin:.7rem 0 1.1rem; color:#fff; }
.ingles h2 em{ font-style:italic; color:var(--sol); }
.ingles p{ color:rgba(255,255,255,.92); font-size:1.08rem; max-width:48ch; }
.ingles__pdf{
  display:flex; align-items:center; gap:1rem; background:rgba(255,255,255,.14);
  padding:1.1rem 1.3rem; margin:1.8rem 0 0; transition:background .25s;
}
.ingles__pdf:hover{ background:rgba(255,255,255,.22); }
.ingles__pdf .pdfico{ width:48px; height:48px; flex:none; background:#fff; color:var(--alecrim); display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:.8rem; }
.ingles__pdf b{ font-family:var(--font-display); display:block; color:#fff; }
.ingles__pdf span{ font-size:.9rem; color:rgba(255,255,255,.85); }
.ingles__gallery{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:0; min-height:clamp(380px,44vw,600px); }
.ingles__gallery image-slot{ width:100%; height:100%; }
.ingles__gallery .span2{ grid-column:span 2; }
.ingles__gallery--single{ grid-template-columns:1fr; grid-template-rows:1fr; }
@media (max-width:900px){ .ingles__grid{ grid-template-columns:1fr; } .ingles__gallery{ min-height:clamp(300px,70vw,440px); } }
