/* Awards strip (below hero) + campus mosaic + enquiry form */

.awards-strip.awards-section {
  background: linear-gradient(180deg, #f4f9f7 0%, #fff 100%);
  border-bottom: 1px solid rgba(24, 88, 80, 0.08);
  padding-top: clamp(36px, 5vw, 56px);
  padding-bottom: clamp(24px, 3.5vw, 36px);
  padding-left: 0;
  padding-right: 0;
}

.awards-strip__wrap {
  max-width: min(1120px, 100%);
}

.awards-strip__head {
  margin: 0 0 clamp(18px, 2.8vw, 28px);
  padding-top: 0;
  text-align: center;
}

.awards-strip__head .kicker-label::before {
  display: none;
}

.awards-strip__title {
  margin: 0;
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  font-weight: 800;
  line-height: 1.28;
  color: var(--forest-deep);
}

.awards-strip__grid {
  max-width: 100%;
  margin-inline: auto;
}

@media (min-width: 861px) {
  .awards-strip__grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: clamp(6px, 0.9vw, 12px);
    align-items: center;
  }

  .awards-strip__grid .awards-grid__item {
    min-height: clamp(52px, 5.5vw, 68px);
    padding: 2px 0;
  }

  .awards-strip__grid .awards-grid__item--emblem {
    --award-max-h: clamp(44px, 4.8vw, 58px);
  }

  .awards-strip__grid .awards-grid__item--wide {
    --award-max-h: clamp(34px, 3.6vw, 44px);
  }

  .awards-strip__grid .awards-grid__item--tall {
    --award-max-h: clamp(48px, 5vw, 62px);
  }

  .awards-strip__grid .awards-grid__logo img {
    max-height: var(--award-max-h, 52px);
  }
}

/* Enquiry panel — mosaic (left) + form (right) on desktop */

.hero-admissions {
  background: linear-gradient(180deg, #eef4f1 0%, var(--paper) 22%, var(--paper) 100%);
  padding-top: clamp(20px, 3.5vw, 32px);
  padding-bottom: clamp(28px, 4.5vw, 44px);
}

.hero-admissions__wrap {
  max-width: min(1120px, 100%);
}

.hero-admissions__panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: clamp(16px, 2vw, 20px);
  border: 1px solid rgba(220, 232, 228, 0.95);
  background: #fff;
  box-shadow:
    0 28px 72px -32px rgba(15, 61, 56, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.hero-admissions .form-shell--hero-admissions {
  display: block;
  margin: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.hero-admissions .form-fields {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.hero-admissions__form-title {
  margin: 0 0 clamp(14px, 2vw, 20px);
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.5rem, 3.2vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--forest-deep);
  text-align: center;
}

.hero-admissions__mosaic {
  background: #fff;
}

.hero-campus-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
}

.hero-campus-mosaic__cell {
  margin: 0;
  min-height: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}

.hero-campus-mosaic__cell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-campus-mosaic__cell--a1 {
  grid-column: 1 / span 6;
  grid-row: 1 / span 2;
}

.hero-campus-mosaic__cell--a2 {
  grid-column: 1 / span 6;
  grid-row: 3;
}

.hero-campus-mosaic__cell--b {
  grid-column: 7 / span 6;
  grid-row: 1;
}

.hero-campus-mosaic__cell--c {
  grid-column: 7 / span 3;
  grid-row: 2;
}

.hero-campus-mosaic__cell--d {
  grid-column: 10 / span 3;
  grid-row: 2;
}

.hero-campus-mosaic__cell--e {
  grid-column: 7 / span 2;
  grid-row: 3;
}

.hero-campus-mosaic__cell--f {
  grid-column: 9 / span 4;
  grid-row: 3;
}

.hero-campus-mosaic__cell--g1 {
  grid-column: 1 / span 6;
  grid-row: 4;
}

.hero-campus-mosaic__cell--g2 {
  grid-column: 7 / span 6;
  grid-row: 4;
}

@media (min-width: 861px) {
  .hero-admissions__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: stretch;
    overflow: hidden;
  }

  /* Row height follows the form; mosaic is clipped to that height (not image min-content). */
  .hero-admissions__mosaic {
    position: relative;
    align-self: stretch;
    min-height: 0;
    padding: 0;
    border-right: 1px solid rgba(24, 88, 80, 0.1);
    overflow: hidden;
  }

  .hero-campus-mosaic {
    position: absolute;
    inset: clamp(14px, 1.6vw, 20px);
    width: auto;
    height: auto;
    min-height: 0;
    max-height: none;
  }

  .hero-admissions .form-shell--hero-admissions {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
  }

  .hero-admissions .form-fields {
    flex: 1;
    padding: clamp(20px, 2.2vw, 28px) clamp(24px, 2.8vw, 32px) clamp(24px, 2.5vw, 28px);
  }
}
