/* BFP Campus · contrato visual unificado de heroes para vistas ya intervenidas.
   No altera rutas, datos, formularios, IDs, data-* ni JavaScript. */
.bfp-hero.bfp-hero{
  --bfp-hero-height:270px;
  --bfp-hero-padding:1.35rem 1.5rem;
  --bfp-hero-radius:1.35rem;
  --bfp-hero-title:clamp(2.2rem,3.2vw,3.35rem);
  --bfp-hero-subtitle:clamp(.92rem,1vw,1rem);
  --bfp-hero-eyebrow:.66rem;
  --bfp-hero-overlay:linear-gradient(105deg,rgba(3,22,42,.96) 0%,rgba(7,42,77,.85) 48%,rgba(6,46,70,.48) 100%);
  --bfp-hero-panel:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  --bfp-hero-asset:url('../img/learning-hero.svg');
  --bfp-hero-pattern:url('../img/course-pattern.svg');
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);
  grid-template-rows:1fr;
  align-items:center;
  gap:clamp(1rem,2.2vw,2.2rem);
  min-height:var(--bfp-hero-height);
  height:auto;
  margin:0;
  padding:var(--bfp-hero-padding);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--bfp-hero-radius);
  background-color:#071f3d;
  background-image:var(--bfp-hero-overlay),var(--bfp-hero-asset),var(--bfp-hero-pattern);
  background-position:center,center,center;
  background-size:cover,cover,520px auto;
  background-repeat:no-repeat,no-repeat,repeat;
  box-shadow:0 24px 58px rgba(5,35,68,.2);
  color:#fff;
}
.bfp-hero.bfp-hero::before{content:"";position:absolute;z-index:-1;inset:-25% 38% 38% -12%;background:radial-gradient(circle,rgba(46,136,255,.4),transparent 64%);filter:blur(8px);pointer-events:none}
.bfp-hero.bfp-hero::after{content:"";position:absolute;z-index:-1;width:28rem;aspect-ratio:1;right:-10rem;bottom:-18rem;border-radius:50%;background:radial-gradient(circle,rgba(35,201,216,.3),transparent 68%);pointer-events:none}
.bfp-hero.bfp-hero--academic{--bfp-hero-asset:url('../img/learning-hero.svg');background-position:center,58% center,center}
.bfp-hero.bfp-hero--course{--bfp-hero-asset:url('../img/learning-hero.svg');background-position:center,68% center,center}
.bfp-hero.bfp-hero--community{--bfp-hero-asset:url('../img/course-pattern.svg');background-position:center,center,center;background-size:cover,720px auto,420px auto}
.bfp-hero.bfp-hero--operations{--bfp-hero-asset:url('../img/course-pattern.svg');background-position:center,42% center,center;background-size:cover,760px auto,440px auto}
.bfp-hero.bfp-hero--inclusion{--bfp-hero-asset:url('../img/learning-hero.svg');background-position:center,78% center,center}
.bfp-hero.bfp-hero--teacher{--bfp-hero-asset:url('../img/learning-hero.svg');background-position:center,72% 42%,center}
.bfp-hero.bfp-hero--system{--bfp-hero-asset:url('../img/course-pattern.svg');background-position:center,center,center;background-size:cover,780px auto,460px auto}
.bfp-hero.bfp-hero--analytics{--bfp-hero-asset:url('../img/course-pattern.svg');background-position:center,64% center,center;background-size:cover,720px auto,420px auto}

.bfp-hero.bfp-hero .bfp-hero__copy{align-self:center;min-width:0;max-width:58rem}
.bfp-hero.bfp-hero .bfp-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:.38rem .58rem;
  border:1px solid rgba(188,232,255,.34);
  border-radius:999px;
  background:rgba(6,34,61,.3);
  backdrop-filter:blur(10px);
  color:#c8efff;
  font-size:var(--bfp-hero-eyebrow);
  font-weight:850;
  letter-spacing:.11em;
  line-height:1.2;
}
.bfp-hero.bfp-hero h1{max-width:18ch;margin:.52rem 0 .36rem;color:#fff;font-size:var(--bfp-hero-title);line-height:.98;letter-spacing:-.05em;text-wrap:balance;text-shadow:0 4px 18px rgba(2,18,34,.28)}
.bfp-hero.bfp-hero .bfp-hero__copy>p,
.bfp-hero.bfp-hero .bfp-hero__copy>small+p{max-width:62ch;margin:0;color:#e2f1f9;font-size:var(--bfp-hero-subtitle);line-height:1.5}
.bfp-hero.bfp-hero .bfp-hero__copy>small{display:block;margin-top:.45rem;color:#a9dfef;font-size:.74rem}
.bfp-hero.bfp-hero .bfp-hero__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}

.bfp-hero.bfp-hero .bfp-hero__summary,
.bfp-hero.bfp-hero .bfp-hero__metrics{
  align-self:stretch;
  min-width:0;
  padding:.9rem;
  border:1px solid rgba(255,255,255,.24);
  border-radius:1rem;
  background:var(--bfp-hero-panel);
  backdrop-filter:blur(16px);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
  color:#fff;
}
.bfp-hero.bfp-hero .bfp-hero__summary{display:grid;align-content:center;gap:.25rem;text-align:center}
.bfp-hero.bfp-hero .bfp-hero__summary>span{color:#9fe3f0;font-size:.62rem;font-weight:850;letter-spacing:.09em}
.bfp-hero.bfp-hero .bfp-hero__summary>b,
.bfp-hero.bfp-hero .bfp-hero__summary>strong{color:#fff;font-size:1.8rem;line-height:1}
.bfp-hero.bfp-hero .bfp-hero__summary>small,
.bfp-hero.bfp-hero .bfp-hero__summary>p,
.bfp-hero.bfp-hero .bfp-hero__summary>em{margin:0;color:#cae4ef;font-size:.72rem;font-style:normal;line-height:1.35}
.bfp-hero.bfp-hero .bfp-hero__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-content:center}
.bfp-hero.bfp-hero .bfp-hero__metrics>*{min-width:0;padding:.55rem .6rem;border:1px solid rgba(255,255,255,.14);border-radius:.72rem;background:rgba(5,30,54,.22)}
.bfp-hero.bfp-hero .bfp-hero__metrics b,
.bfp-hero.bfp-hero .bfp-hero__metrics strong{display:block;color:#fff;font-size:1.2rem;line-height:1.05}
.bfp-hero.bfp-hero .bfp-hero__metrics small,
.bfp-hero.bfp-hero .bfp-hero__metrics span{color:#cae4ef;font-size:.68rem}
.bfp-hero.bfp-hero .bfp-hero__metrics--strip{grid-column:1/-1;align-self:end;grid-template-columns:repeat(4,minmax(0,1fr));padding:.45rem;background:rgba(4,29,52,.38)}
.bfp-hero.bfp-hero .bfp-hero__metrics--strip>*{padding:.48rem .6rem}

@media(max-width:820px){
  .bfp-hero.bfp-hero{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    min-height:0;
    height:auto;
    padding:1.15rem;
    overflow:visible;
    background-position:center,66% center,center;
  }
  .bfp-hero.bfp-hero .bfp-hero__summary,
  .bfp-hero.bfp-hero .bfp-hero__metrics{align-self:auto;max-width:none}
  .bfp-hero.bfp-hero .bfp-hero__metrics--strip{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
  .bfp-hero.bfp-hero{--bfp-hero-padding:1rem;--bfp-hero-radius:1.1rem;--bfp-hero-title:2.35rem;--bfp-hero-subtitle:.9rem;gap:.8rem}
  .bfp-hero.bfp-hero .bfp-hero__metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:.65rem}
  .bfp-hero.bfp-hero .bfp-hero__metrics--strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.bfp-hero.bfp-hero *{scroll-behavior:auto}}

/* Normalización estricta del contrato desktop: una única altura útil para todas las variantes. */
@media(min-width:821px){
  .bfp-hero.bfp-hero{
    box-sizing:border-box;
    height:var(--bfp-hero-height)!important;
    min-height:var(--bfp-hero-height)!important;
    max-height:var(--bfp-hero-height)!important;
    padding:var(--bfp-hero-padding)!important;
  }
  .bfp-hero.bfp-hero h1{
    margin:.5rem 0 .34rem!important;
    font-size:var(--bfp-hero-title)!important;
    line-height:.98!important;
  }
  .bfp-hero.bfp-hero .bfp-hero__copy>p,
  .bfp-hero.bfp-hero .bfp-hero__copy>small+p{
    font-size:var(--bfp-hero-subtitle)!important;
    line-height:1.45!important;
  }
  .bfp-hero.bfp-hero .bfp-hero__eyebrow{font-size:var(--bfp-hero-eyebrow)!important}
  .bfp-hero.bfp-hero .bfp-hero__summary,
  .bfp-hero.bfp-hero .bfp-hero__metrics{padding:.72rem!important}
  .bfp-hero.bfp-hero .bfp-hero__metrics--strip{padding:.38rem!important}
}
@media(max-width:820px){
  .bfp-hero.bfp-hero{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* 4.4.21 · contenido real: los heroes crecen con títulos y descripciones extensos. */
@media(min-width:821px){
  .bfp-hero.bfp-hero{height:auto!important;min-height:var(--bfp-hero-height)!important;max-height:none!important}
  .bfp-hero.bfp-hero :is(h1,p,small,span,strong,b){overflow-wrap:anywhere;word-break:normal}
}
@media(max-width:1100px){
  .bfp-hero.bfp-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto!important;max-height:none!important}
  .bfp-hero.bfp-hero .bfp-hero__summary,.bfp-hero.bfp-hero .bfp-hero__metrics{align-self:auto}
}


/* 4.4.22 · hero desktop más horizontal: más ancho para texto, menos altura por wrapping. */
@media(min-width:1101px){
  .bfp-hero.bfp-hero{grid-template-columns:minmax(0,1.75fr) minmax(220px,.45fr);gap:clamp(.85rem,1.6vw,1.5rem)}
  .bfp-hero.bfp-hero .bfp-hero__copy{max-width:none}
  .bfp-hero.bfp-hero h1{max-width:24ch;text-wrap:pretty}
  .bfp-hero.bfp-hero .bfp-hero__copy>p,.bfp-hero.bfp-hero .bfp-hero__copy>small+p{max-width:78ch}
  .bfp-hero.bfp-hero .bfp-hero__summary,.bfp-hero.bfp-hero .bfp-hero__metrics{align-self:center;max-height:none}
}
@media(min-width:821px) and (max-width:1100px){
  .bfp-hero.bfp-hero h1{max-width:28ch}
  .bfp-hero.bfp-hero .bfp-hero__copy>p,.bfp-hero.bfp-hero .bfp-hero__copy>small+p{max-width:82ch}
}
