/* Hero photos fill their frames; book covers and other content images retain their own sizing. */
.corporate-site .corp-hero-media,
.corporate-site .page-hero-image,
.corporate-site .consultation-hero-visual,
.corporate-site .online-training-hero-image {
  position: relative;
  overflow: hidden;
}
.corporate-site .corp-hero-media .ef-video-cover > img,
.corporate-site .page-hero-image > img,
.corporate-site .consultation-hero-visual > img,
.corporate-site .online-training-hero-image > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: 50% 28%;
}
@media (max-width: 600px) {
  .corporate-site .corp-hero-media .ef-video-cover > img,
  .corporate-site .page-hero-image > img,
  .corporate-site .consultation-hero-visual > img,
  .corporate-site .online-training-hero-image > img {
    object-position: 50% 24%;
  }
}

/* Preserve the separate team portrait framing. */
.corporate-site .global-team-photo { object-position: 50% 28%; }
@media (max-width: 600px) {
  .corporate-site .global-team-photo { object-position: 50% 24%; }
}

/* Shared typography and spacing from the October site review. */
.corporate-site h1,
.corporate-site h2,
.presale-page h1,
.presale-page h2 {
  line-height: 1.18;
  letter-spacing: -.02em;
}
.corporate-site h2,
.presale-page h2 { margin-bottom: 24px; }
.corporate-site h3 { line-height: 1.3; }
.corporate-site .corp-section-heading,
.corporate-site .about-grid > div:last-child { text-align: left; }
.corporate-site .corp-section-heading h2,
.corporate-site .about-grid h2 { margin-bottom: 24px; }
.corporate-site .corp-section-heading { margin-bottom: 40px; }

.corporate-site .corp-button,
.presale-page .presale-button,
.scorecard-page .scorecard-button,
.corporate-site .waitlist-form-trigger {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .01em;
  padding: 14px 24px;
  min-height: 54px;
  gap: 12px;
  text-align: center;
  white-space: normal;
}
.corporate-site .corp-button svg,
.corporate-site .corp-text-link svg { flex-shrink: 0; }
.corporate-site .corp-text-link,
.presale-page .presale-link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.5;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  padding-block: 8px;
}
.corporate-site .training-grid .waitlist-form-trigger { margin-top: 0; }
.corp-header .corp-nav .primary-menu > li > a,
.corp-header .corp-nav .primary-menu .sub-menu a { font-size: 15px; line-height: 1.5; }
.corp-header .corp-nav .primary-menu { gap: 20px; }
.corp-header .corp-nav .primary-menu .nav-cta > a { padding: 12px 18px; }

.corporate-site .contact-band h2 { margin-bottom: 24px; line-height: 1.2; }
.corporate-site .contact-band p:not(.corp-eyebrow) { margin: 0; }
.corporate-site .contact-band-actions { gap: 24px; }
.corporate-site .corp-footer-grid > div:first-child { min-width: 0; }
.corporate-site .corp-footer-grid > div:first-child > img { display: block; margin-bottom: 24px; }
.corporate-site .corp-footer-grid > div:first-child > p { margin-bottom: 20px; line-height: 1.8; }
.corporate-site .corp-footer-grid { grid-template-columns: 1.8fr repeat(4, 1fr); gap: 32px; }

.corporate-site .featured-result > p::after { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.2; }
.corporate-site .ced-heading { margin-top: 64px; margin-bottom: 40px; }
.corporate-site .ced-heading h3 { margin-bottom: 24px; }
.corporate-site .education-transition { margin: 0 auto 40px; }
.corporate-site .youtube-channel-card { grid-template-columns: 200px minmax(0, 1fr) auto; padding: 28px; gap: 32px; }
.corporate-site .youtube-channel-card .youtube-channel-photo { display: block; width: 200px; height: auto !important; object-fit: contain !important; }
.corporate-site .youtube-channel-card strong { display: block; margin-top: 12px; font-family: Georgia, 'Times New Roman', serif; font-size: 1.7rem; line-height: 1.3; }
.corporate-site .youtube-channel-card > svg { grid-area: auto; }

@media (max-width: 1100px) {
  :root { --section-space: var(--section-space-compact); }
  .corporate-site .corp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
}
@media (max-width: 820px) {
  .corp-header .corp-logo { flex: 0 0 auto; }
  .corp-header .corp-logo img { width: auto; height: 64px !important; max-height: 64px; }
  .corp-header .corp-header-inner { gap: 20px; }
  .corporate-site .contact-band .corp-shell { gap: 32px; }
}
@media (max-width: 600px) {
  :root { --section-space: var(--section-space-mobile); }
  .corporate-site .corp-footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .corporate-site .corp-section-heading { margin-bottom: 32px; }
  .corporate-site .youtube-channel-card { grid-template-columns: 1fr auto; padding: 24px; gap: 24px; }
  .corporate-site .youtube-channel-card .youtube-channel-photo { grid-column: 1 / -1; width: 100%; height: auto !important; }
  .corporate-site .youtube-channel-card strong { font-size: 1.45rem; }
  .corporate-site .ced-heading { margin-top: 48px; }
}

.corp-header .corp-logo img { width: auto; height: 64px !important; max-height: 64px; }
.corporate-site .corp-footer .footer-newsletter-trigger { font-size: 16px !important; min-height: 44px; line-height: 1.5; }

/* The book landing uses a separate header with the same menu type scale. */
.presale-header nav > a,
.presale-page .presale-header nav > a.presale-button { font-family: Arial, Helvetica, sans-serif; font-size: 15px !important; line-height: 1.5; }
