/* A ESCOLA v2: copy in normal flow, clean photo below, subtle carousel-dot motion. */

@media (max-width: 899px) {
  body.gb-home-revision .gb-mobile-section-school {
    position: relative !important;
    isolation: isolate !important;
  }

  body.gb-home-revision .gb-mobile-section-school .gb-school-intro-copy {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 28px 30px 30px !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  body.gb-home-revision .gb-mobile-section-school .gb-school-intro-copy h2 {
    margin: 0 0 22px !important;
    max-width: 100% !important;
    color: #fff !important;
    font-family: "Barlow Condensed", "Arial Narrow", Impact, sans-serif !important;
    font-size: clamp(52px, 13.8vw, 72px) !important;
    font-weight: 800 !important;
    line-height: .89 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
    text-wrap: balance !important;
  }

  body.gb-home-revision .gb-mobile-section-school .gb-school-intro-copy p {
    margin: 0 !important;
    max-width: 100% !important;
    color: rgba(255,255,255,.62) !important;
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: clamp(16px, 4.45vw, 19px) !important;
    line-height: 1.58 !important;
    letter-spacing: -.01em !important;
  }

  body.gb-home-revision .gb-mobile-section-school .gb-school-photo-after-copy {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: calc(100% - 60px) !important;
    max-width: calc(100% - 60px) !important;
    height: auto !important;
    margin: 0 30px 38px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.gb-home-revision .gb-mobile-section-school .gb-school-photo-after-copy img,
  body.gb-home-revision .gb-mobile-section-school img.gb-school-photo-after-copy {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    filter: none !important;
  }

  /* Keep the orbit behind the copy/photo and make it decorative, not dominant. */
  body.gb-home-revision .gb-mobile-section-school::after {
    z-index: 0 !important;
    top: 96px !important;
    opacity: .78 !important;
  }
}

/* Pagination dots: subtle scale/opacity transition when active slide changes. */
.gb-dots-animated .gb-carousel-dot {
  transform: scale(.92);
  opacity: .46;
  transition:
    transform .34s cubic-bezier(.22,1,.36,1),
    opacity .34s ease,
    box-shadow .34s ease !important;
  transform-origin: center center;
  will-change: transform, opacity;
}

.gb-dots-animated .gb-carousel-dot.active,
.gb-dots-animated .gb-carousel-dot.is-active,
.gb-dots-animated .gb-carousel-dot[aria-current="true"],
.gb-dots-animated .gb-carousel-dot[aria-selected="true"],
.gb-dots-animated .gb-carousel-dot[data-active="true"] {
  transform: scale(1.24);
  opacity: 1;
  box-shadow: 0 0 0 5px rgba(231,35,43,.07);
  animation: gb-dot-soft-pulse .52s cubic-bezier(.22,1,.36,1) 1;
}

@keyframes gb-dot-soft-pulse {
  0% { transform: scale(.96); }
  58% { transform: scale(1.30); }
  100% { transform: scale(1.24); }
}

@media (prefers-reduced-motion: reduce) {
  .gb-dots-animated .gb-carousel-dot {
    transition: opacity .18s ease !important;
    animation: none !important;
  }
}
