.about-story > .about-video-feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
  width: min(100%, 1500px);
  justify-self: center;
  margin: 26px 0 64px;
  border: 1px solid #b08a2a;
  background: #142238;
  color: #fff;
  box-shadow: 10px 10px 0 rgba(165, 120, 0, .16);
  transition: box-shadow .25s ease, transform .25s ease;
}

.about-video-feature:hover,
.about-video-feature:focus-visible {
  transform: translateY(-4px);
  box-shadow: 10px 14px 0 rgba(165, 120, 0, .22);
}

.about-video-feature:focus-visible {
  outline: 3px solid #a57800;
  outline-offset: 4px;
}

.about-video-visual {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #071322;
}

.about-video-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.about-video-feature:hover img,
.about-video-feature:focus-visible img {
  transform: scale(1.025);
}

.about-video-play {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  padding-left: 4px;
  border: 2px solid #142238;
  border-radius: 50%;
  background: var(--gold);
  color: #142238;
  font-size: 22px;
  box-shadow: 0 0 0 7px rgba(228, 173, 19, .24);
}

.about-video-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(30px, 3vw, 56px);
}

.about-video-kicker {
  color: #f5ca59;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.about-video-kicker span {
  margin: 0 5px;
  opacity: .6;
}

.about-video-title {
  display: block;
  margin: 18px 0 20px;
  font: 400 clamp(27px, 2.4vw, 43px)/1.12 Unbounded, sans-serif;
  letter-spacing: -.05em;
}

.about-video-description {
  color: #e0e3e8;
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.65;
}

.about-video-cta {
  margin-top: 32px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gold);
  color: #f5ca59;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.about-video-cta span {
  margin-left: 12px;
  font-size: 16px;
}

@media (max-width: 950px) {
  .about-story > .about-video-feature {
    grid-template-columns: 1fr;
    margin: 10px 0 44px;
  }

  .about-video-content {
    padding: 30px;
  }

  .about-video-title {
    margin: 12px 0 14px;
  }

  .about-video-cta {
    margin-top: 22px;
  }
}

@media (max-width: 520px) {
  .about-video-play {
    right: 16px;
    bottom: 16px;
    width: 52px;
    height: 52px;
    font-size: 17px;
    box-shadow: 0 0 0 5px rgba(228, 173, 19, .24);
  }

  .about-video-content {
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-story > .about-video-feature,
  .about-video-visual img {
    transition: none;
  }
}

/* Compact student-story thumbnail beside the private-lessons heading. */
.lesson-overview-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(360px, 23vw, 400px);
  gap: clamp(28px, 4vw, 72px);
  align-items: end;
}

.lesson-overview-head h3 {
  margin-bottom: 30px;
}

.lesson-video-thumbnail {
  display: block;
  width: 100%;
  margin: 0 0 30px;
  transition: transform .2s ease;
}

.lesson-video-thumbnail:hover,
.lesson-video-thumbnail:focus-visible {
  transform: translateY(-3px);
}

.lesson-video-thumbnail:focus-visible {
  outline: 3px solid #a57800;
  outline-offset: 4px;
}

.lesson-video-thumbnail-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.lesson-video-thumbnail-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.lesson-video-thumbnail:hover img,
.lesson-video-thumbnail:focus-visible img {
  transform: scale(1.035);
}

.lesson-video-thumbnail-play {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding-left: 3px;
  border: 2px solid #142238;
  border-radius: 50%;
  background: var(--gold);
  color: #142238;
  font-size: 15px;
  box-shadow: 0 0 0 5px rgba(228, 173, 19, .2);
}

@media (max-width: 800px) {
  .lesson-overview-head {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .lesson-overview-head h3 {
    margin-bottom: 18px;
  }

  .lesson-video-thumbnail {
    width: min(100%, 320px);
    justify-self: end;
    margin-bottom: 24px;
  }
}

@media (max-width: 520px) {
  .lesson-video-thumbnail {
    width: min(100%, 300px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lesson-video-thumbnail,
  .lesson-video-thumbnail-media img {
    transition: none;
  }
}

/* Homepage hero: one device-appropriate movie is assigned by homepage-hero.js. */
.hero.hero-video {
  isolation: isolate;
  min-height: 900px;
  height: 100vh;
  padding: 0;
  background: #000;
}

.hero-video-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  background: #000;
  transition: opacity .35s ease;
}

.hero-video-media.is-ready {
  opacity: 1;
}

.hero-video-controls {
  position: absolute;
  z-index: 3;
  right: var(--pad);
  bottom: 54px;
  left: var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.hero-video-toggle,
.hero-video .round-link {
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  background: rgba(0, 0, 0, .38);
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  pointer-events: auto;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.hero-video-toggle {
  width: 46px;
  height: 46px;
  padding: 0;
  font: 600 14px/1 Manrope, sans-serif;
  cursor: pointer;
}

.hero-video .round-link {
  width: 82px;
  height: 82px;
}

.hero-video-toggle:hover,
.hero-video-toggle:focus-visible,
.hero-video .round-link:hover,
.hero-video .round-link:focus-visible {
  border-color: var(--gold);
  background: rgba(0, 0, 0, .7);
  transform: translateY(-2px);
}

.hero-video-toggle:focus-visible,
.hero-video .round-link:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@supports (height: 100svh) {
  .hero.hero-video { height: 100svh; }
}

@media (max-width: 800px) {
  main#top {
    padding-top: 84px;
  }

  .hero.hero-video {
    min-height: 0;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .hero-video-controls {
    right: 12px;
    bottom: 12px;
    left: 12px;
    justify-content: flex-start;
  }

  .hero-video-toggle { display: none; }
  .hero-video .round-link { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video-media,
  .hero-video-toggle,
  .hero-video .round-link { transition: none; }
}
