
:root{--ink:#1f1b55;--indigo:#2f2a7a;--flame:#f5a623;--ember:#d96337;--leaf:#2fb06a;--sand:#f6efdc;--mint:#44e0b2;
--bs-body-font-family:Montserrat,system-ui,sans-serif;--bs-body-color:#26234d}
h1,h2,h3,.brand{font-family:Fraunces,Georgia,serif}
:focus-visible{outline:3px solid var(--flame);outline-offset:2px}
.nav-top{background:var(--ink)}
.nav-top .nav-link{color:#e9e7ff;font-weight:500;font-size:.92rem}
.nav-top .nav-link:hover{color:var(--flame)}
.brand{color:#fff;font-weight:700;font-size:1.15rem;line-height:1.1}
.brand small{display:block;font:500 .68rem Montserrat;opacity:.75;letter-spacing:.02em}
.btn-flame{background:var(--flame);color:var(--ink);font-weight:700;border:0}
.btn-flame:hover{background:#ffb93d;color:var(--ink)}
.btn-ember{background:var(--ember);color:#fff;font-weight:700;border:0}
.btn-ember:hover{background:#c4542b;color:#fff}
/*.hero{background:var(--indigo);color:#fff;position:relative;overflow:hidden;padding:5rem 0 6rem}*/
.hero{background:var(--indigo);color:#fff;position:relative;overflow:hidden;padding:2rem 0 4.5rem;}
.hero::before{content:"";position:absolute;inset:0;background:url(../img/portada.jpg) center/cover;opacity:.12;mix-blend-mode:luminosity}
.hero .container{position:relative}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:700;line-height:1;margin:1rem 0}
.chip{display:inline-block;background:var(--mint);color:var(--ink);font-weight:700;font-size:.85rem;padding:.4rem 1rem;border-radius:.4rem}
.dots{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;max-width:230px;margin-left:auto}
.dots i{aspect-ratio:1;border-radius:50%;background:var(--ember)}
.dots i:nth-child(3n+2){background:var(--ink)}
.dots i:nth-child(n+4):nth-child(-n+9):not(:nth-child(3n+2)){background:var(--leaf)}
.next{background:var(--ink);color:#fff;margin-top:-2.5rem;position:relative;border-radius:.75rem;box-shadow:0 12px 30px rgba(31,27,85,.3)}
.cd b{font:700 2rem Fraunces;display:block;line-height:1}
.cd span{font-size:.72rem;opacity:.75}
.sec{padding:4.5rem 0}
.sec h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;color:var(--ink)}
.path a{display:flex;gap:1.2rem;align-items:flex-start;padding:1.15rem 0;border-bottom:1px solid #d9d4bd;text-decoration:none;color:inherit}
.path a:hover h3{color:var(--ember)}
.path i{flex:none;width:.9rem;height:.9rem;border-radius:50%;margin-top:.55rem;background:var(--c)}
.path h3{font-size:1.3rem;margin:0;color:var(--ink)}
.path p{margin:.15rem 0 0;font-size:.92rem;color:#5b587d}
.academia{background:var(--ink);color:#fff}
.academia h2{color:#fff}
.academia img{border-radius:.75rem;width:100%;height:100%;object-fit:cover;min-height:240px}
.news{border-left:5px solid var(--c);background:#fff;padding:1.2rem 1.3rem;height:100%}
.news time{font-size:.78rem;color:#7a779b}
.news h3{font-size:1.15rem;margin:.3rem 0 .5rem}
.give{background:linear-gradient(120deg,var(--flame),var(--ember));color:var(--ink)}
.give h2{color:var(--ink)}
footer{background:var(--ink);color:#cfcdf0;font-size:.9rem}
footer a{color:#fff}
#chatBtn{position:fixed;right:1.2rem;bottom:1.2rem;z-index:1040;border-radius:2rem;box-shadow:0 6px 18px rgba(0,0,0,.3)}
@media(max-width:991px){.dots{display:none}}

.poster-carousel{
  max-width:340px;
  margin-left:auto;
  border-radius:.75rem;
  overflow:hidden;
  background:var(--ink);
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.poster-carousel .carousel-item{aspect-ratio:4/5}
.poster-carousel .carousel-item img{
  width:100%;
  height:100%;
  object-fit:contain; /* no recorta el texto de los afiches */
}

.hero{
  background:var(--indigo);
  color:#fff;
  position:relative;
  overflow:hidden;
  min-height:37rem;          /* altura que tenía antes (unos 590 px); ajusta a gusto */
  padding:2rem 0 4.5rem;
  display:flex;
  align-items:center;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(47,42,122,.78);
  z-index:1;
}

.hero .container{
  position:relative;
  z-index:2;
  width:100%;
}