/*
 * Approved homepage reference lock.
 * This file is loaded after the historical homepage layers so the signed-off
 * reference remains stable while the existing markup, copy and assets stay
 * intact.
 */
.home-body {
  --home-ink: #102b61;
  --home-blue: #123b86;
  --home-cyan: #65e5ff;
  --home-gold: #ffd84a;
  background: #f3f6fb;
}

@media (min-width: 701px) {
  .home-body .home-hero {
    height: clamp(620px, calc(100svh - 113px), 810px) !important;
    min-height: clamp(620px, calc(100svh - 113px), 810px) !important;
    background: #0d1a36 !important;
  }

  .home-body .home-hero__slide,
  .home-body .home-hero__slide--fit-image {
    background-color: #0d1a36 !important;
    background-image: var(--hero-image) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  .home-body .home-hero__slide--graduate {
    background-image: url('/assets/home/hero-graduate-blue.png') !important;
    background-position: center center !important;
  }

  .home-body .home-hero__slide::before,
  .home-body .home-hero__slide--fit-image::before,
  .home-body .home-hero__slide.home-hero__slide--art-directed::before {
    inset: 0 !important;
    display: block !important;
    opacity: 1 !important;
    background: linear-gradient(90deg, rgba(0, 0, 0, .09), rgba(0, 0, 0, 0) 68%) !important;
    filter: none !important;
    transform: none !important;
  }

  .home-body .home-hero__slide::after,
  .home-body .home-hero__slide--fit-image::after,
  .home-body .home-hero__slide.home-hero__slide--art-directed::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }

  .home-body .home-hero__content,
  .home-body .home-hero__content--panel,
  .home-body .home-hero__slide--dark-copy .home-hero__content {
    box-sizing: border-box !important;
    width: min(50.5vw, 960px) !important;
    min-height: 495px !important;
    margin: 0 auto 0 clamp(36px, 4.7vw, 90px) !important;
    padding: 63px clamp(30px, 2.6vw, 52px) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 3px !important;
    color: #fff !important;
    background: rgba(20, 22, 27, .56) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .16) !important;
    backdrop-filter: none !important;
  }

  .home-body .home-hero__content h1,
  .home-body .home-hero__content h2,
  .home-body .home-hero__content--panel h1,
  .home-body .home-hero__content--panel h2,
  .home-body .home-hero__slide--dark-copy .home-hero__content h1,
  .home-body .home-hero__slide--dark-copy .home-hero__content h2,
  .home-body .home-hero__content .home-hero__pretitle {
    color: #fff !important;
  }

  .home-body .home-hero__content h1,
  .home-body .home-hero__content h2 {
    max-width: 16ch !important;
    font-size: clamp(40px, 3.2vw, 62px) !important;
    line-height: 1.08 !important;
  }

  .home-body .home-hero__content > p:last-of-type,
  .home-body .home-hero__content--panel > p:last-of-type,
  .home-body .home-hero__slide--dark-copy .home-hero__content > p:last-of-type {
    max-width: 790px !important;
    margin-top: 36px !important;
    color: rgba(255, 255, 255, .94) !important;
  }

  .home-body .home-hero .home-button,
  .home-body .home-hero .home-button:not(.home-button--yellow) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: clamp(200px, 15vw, 230px) !important;
    min-height: 56px !important;
    height: 56px !important;
    margin-top: clamp(24px, 2.8vw, 36px) !important;
    padding: 0 clamp(26px, 2.2vw, 36px) !important;
    border: none !important;
    border-radius: 14px !important;
    background: #1c68cb !important;
    background-image: linear-gradient(180deg, #1f6fd8 0%, #1963c6 100%) !important;
    box-shadow: 0 10px 24px rgba(28, 104, 203, 0.32), 0 4px 10px rgba(28, 104, 203, 0.18) !important;
    color: #ffffff !important;
    font-family: 'Poppins', 'Inter', var(--font-sans) !important;
    font-size: clamp(15px, 1.1vw, 17px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  .home-body .home-hero .home-button:hover,
  .home-body .home-hero .home-button:focus-visible {
    color: #ffffff !important;
    background: #2374de !important;
    background-image: linear-gradient(180deg, #2779e5 0%, #1d69d0 100%) !important;
    box-shadow: 0 14px 28px rgba(28, 104, 203, 0.42), 0 6px 14px rgba(28, 104, 203, 0.22) !important;
    transform: translateY(-2px) !important;
  }
}

@media (min-width: 1021px) {
  .home-body .scholarships-section {
    color: #fff !important;
    background:
      radial-gradient(900px 520px at 86% 88%, rgba(129, 83, 255, .48), transparent 70%),
      linear-gradient(135deg, rgba(7, 29, 75, .96) 0%, rgba(16, 47, 134, .94) 54%, rgba(52, 34, 126, .95) 100%),
      url('/assets/home/hero-study-library.jpg') center / cover no-repeat !important;
  }

  .home-body .scholarships-section::before {
    opacity: .14 !important;
    background-image:
      linear-gradient(rgba(137, 210, 255, .08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(137, 210, 255, .08) 1px, transparent 1px) !important;
    mix-blend-mode: screen !important;
  }

  .home-body .scholarships-section > .home-shell {
    width: min(calc(100% - 70px), 1840px) !important;
  }

  .home-body .scholarships-section .home-section__header--light > p,
  .home-body .admissions-section .home-section__header--light > p { color: #65e5ff !important; }

  .home-body .scholarships-section .home-section__header--light h2,
  .home-body .admissions-section .home-section__header--light h2 { color: #fff !important; }

  .home-body .scholarship-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(16px, 1.2vw, 24px) !important;
    margin-top: clamp(42px, 3.2vw, 58px) !important;
  }

  .home-body .scholarship-grid a,
  .home-body .scholarship-grid a:nth-child(3n + 2),
  .home-body .scholarship-grid a:nth-child(3n) {
    min-height: clamp(128px, 7.4vw, 142px) !important;
    padding: 28px 38px !important;
    border: 1px solid rgba(137, 210, 255, .22) !important;
    border-radius: 22px !important;
    color: rgba(255, 255, 255, .95) !important;
    background: linear-gradient(135deg, rgba(41, 82, 157, .76), rgba(31, 41, 112, .9)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 28px rgba(3, 16, 54, .13) !important;
    font-size: clamp(15px, 1.04vw, 19px) !important;
    line-height: 1.35 !important;
  }

  .home-body .scholarship-grid a:nth-child(3n + 2) { background: linear-gradient(135deg, rgba(35, 58, 145, .82), rgba(27, 31, 101, .94)) !important; }
  .home-body .scholarship-grid a:nth-child(3n) { background: linear-gradient(135deg, rgba(51, 67, 158, .78), rgba(56, 43, 128, .92)) !important; }
  .home-body .scholarship-grid a::after { color: #65e5ff !important; font-size: 21px !important; }

  .home-body .scholarships-section > .home-shell > .home-button--yellow {
    min-height: 62px !important;
    margin: clamp(40px, 3.2vw, 56px) auto 0 !important;
    color: #142247 !important;
    background: linear-gradient(135deg, #ffd84a, #fff09a) !important;
    box-shadow: 0 14px 28px rgba(255, 216, 74, .2) !important;
  }

  .home-body .admissions-section {
    color: #fff !important;
    background: linear-gradient(140deg, #071632, #0c348a 70%, #121e61) !important;
  }

  .home-body .admissions-section::before {
    opacity: .14 !important;
    background-image: url('/assets/home/pattern-background.jpg') !important;
    mix-blend-mode: screen !important;
  }

  .home-body .admissions-section > .home-shell { width: min(calc(100% - 64px), 1860px) !important; }
  .home-body .admissions-section .home-section__header { max-width: 1240px !important; }
  .home-body .admissions-section .home-section__header h2 {
    max-width: 1200px !important;
    margin-inline: auto !important;
    font-size: clamp(42px, 4.1vw, 74px) !important;
    line-height: 1.06 !important;
  }

  .home-body .admissions-gallery { margin-top: clamp(42px, 4.2vw, 68px) !important; }
  .home-body .admissions-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(18px, 1.35vw, 28px) !important;
    margin-top: 0 !important;
  }
  .home-body .admissions-grid--jw { margin-top: clamp(28px, 2.6vw, 48px) !important; }
  .home-body .admissions-grid img {
    width: 100% !important;
    height: clamp(360px, 28vw, 540px) !important;
    object-fit: contain !important;
    object-position: center top !important;
    border: 7px solid rgba(255, 255, 255, .96) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 34px rgba(1, 11, 34, .28) !important;
  }
}

@media (max-width: 700px) {
  .home-body .home-hero__slide--graduate {
    background-image: url('/assets/home/hero-graduate-portrait.png') !important;
    background-position: center center !important;
  }
}
