/* Calendario integrado, independiente de las secciones aprobadas. */
.express-calendar { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(145deg, #041e40 0%, #084b70 55%, #041e40 100%); color: #fff; font-family: Arial, Helvetica, sans-serif; scroll-margin-top: 20px; }
.express-calendar__inner { position: relative; z-index: 1; max-width: 1320px; margin: auto; padding: 40px 16px; }
.express-calendar .section-kicker { margin: 0 0 24px; }
.express-calendar h2 { font-family: "Arial Black", Arial, sans-serif; font-size: clamp(28px, 5vw, 48px); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 16px; }
.express-calendar__note { font-size: 14px; line-height: 1.5; margin: 0 0 24px; }
.express-calendar__embed { display: block; width: 100%; height: 1000px; border: 0; background: white; border-radius: 12px; }
@media (min-width: 900px) {
  .express-calendar__inner { padding: 64px 48px; }
  .express-calendar__embed { height: 800px; }
}

/* Paisaje de fondo independiente del contenido del calendario. */
.express-calendar::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(180deg, rgba(4,30,64,.48) 0%, rgba(4,30,64,.3) 32%, rgba(4,30,64,.48) 72%, rgba(4,30,64,.65) 100%),
    linear-gradient(90deg, rgba(4,30,64,.7), rgba(4,30,64,.12)),
    url("assets/tren.png");
  background-repeat: no-repeat;
  background-size: 100% 100%, 100% 100%, 2000px auto;
  background-position: center, center, right top;
}
.express-calendar__note { color: #d2dfed; }
.express-calendar__embed { box-shadow: 0 16px 48px rgb(0 10 30 / 25%); }
@media (min-width: 900px) {
  .express-calendar__embed { width: min(100%, 1060px); margin-inline: auto; }
}
@media (min-width: 900px) {
  .express-calendar::before {
    background-size: 100% 100%, 100% 100%, 2000px auto;
    background-position: center, center, right top;
  }
}

/* Calendly sin marco exterior. */
.express-calendar__embed { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin-top: 28px; }
