/* ========================================================================== 
   Owner-Operator to CEO Accelerator — Global Design System
   Desktop measurements are converted from Figma using px / 19 = rem.
   ========================================================================== */

:root {
  /* Colour system */
  --color-primary: #e3b23c;
  --color-primary-bright: #ffca4b;
  --color-primary-deep: #916703;
  --color-secondary: #73757b;
  --color-accent: #e3b23c;
  --color-background: #0a0a0a;
  --color-background-deep: #060606;
  --color-surface: #ffffff;
  --color-surface-soft: #f6f6f6;
  --color-surface-dark: #181818;
  --color-surface-charcoal: #202020;
  --color-surface-raised: #222222;
  --color-surface-card: #242424;
  --color-text: #101010;
  --color-text-light: #f3efec;
  --color-text-muted: #9a9a9a;
  --color-text-soft: #d9d9d9;
  --color-border: rgba(16, 16, 16, 0.22);
  --color-border-light: rgba(243, 239, 236, 0.28);
  --color-border-dark: #2e2e2e;
  --color-glass: rgba(217, 217, 217, 0.08);
  --color-card-glass: rgba(186, 186, 186, 0.1);

  /* Typography */
  --font-primary: 'Poppins', Arial, sans-serif;
  --font-body: 'Open Sans', Arial, sans-serif;
  --font-detail: 'Lato', Arial, sans-serif;
  --font-ui: 'Inter', Arial, sans-serif;
  --font-label: 'Geist', Arial, sans-serif;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --text-xs: 0.684rem;       /* 13px */
  --text-sm: 0.789rem;       /* 15px */
  --text-base: 0.947rem;     /* 18px */
  --text-md: 1.053rem;       /* 20px */
  --text-lg: 1.263rem;       /* 24px */
  --text-xl: 1.684rem;       /* 32px */
  --heading-sm: 2.424rem;    /* 46px */
  --heading-md: 2.947rem;    /* 56px */
  --heading-lg: 3.014rem;    /* 57.27px */
  --heading-xl: 3.83rem;     /* 72.77px */
  --line-tight: 0.96;
  --line-heading: 1.04;
  --line-body: 1.5;
  --line-copy: 1.36;
  --tracking-tight: -0.0526rem;
  --tracking-heading: -0.0632rem;
  --tracking-label: 0.0842rem;

  /* Spacing */
  --space-1: 0.421rem;       /* 8px */
  --space-2: 0.632rem;       /* 12px */
  --space-3: 0.842rem;       /* 16px */
  --space-4: 1.053rem;       /* 20px */
  --space-5: 1.263rem;       /* 24px */
  --space-6: 1.579rem;       /* 30px */
  --space-7: 1.895rem;       /* 36px */
  --space-8: 2.105rem;       /* 40px */
  --space-9: 2.474rem;       /* 47px */
  --space-10: 2.789rem;      /* 53px */
  --space-12: 3.158rem;      /* 60px */
  --space-14: 3.684rem;      /* 70px */
  --space-16: 4.211rem;      /* 80px */
  --space-20: 5.263rem;      /* 100px */
  --space-24: 6.316rem;      /* 120px */
  --space-28: 7.368rem;      /* 140px */

  /* Layout */
  --container-max: 89.474rem; /* 1700px */
  --content-wide: 82.421rem;  /* 1566px */
  --content-standard: 77.895rem; /* 1480px */
  --page-gutter: 6.316rem;
  --section-space: 7.368rem;
  --section-space-compact: 5.263rem;
  --header-height: 5.12rem;
  --header-offset: 1.211rem;
  --hero-height: 51.053rem;   /* 970px after early-bird removal */
  --sticky-offset: calc(var(--header-height) + var(--space-8));
  --peer-carousel-height: clamp(20.684rem, 31.25vw, 31.579rem);
  --peer-slide-width: clamp(6.158rem, 9.375vw, 9.474rem);
  --peer-active-width: clamp(15.474rem, 23.438vw, 23.684rem);
  --peer-carousel-gap: 0.211rem;
  --peer-carousel-duration: 1200ms;

  /* Components */
  --button-height: 3.842rem;  /* 73px */
  --button-height-sm: 3.053rem; /* 58px */
  --button-inline: 2.421rem;
  --radius-xs: 0.421rem;
  --radius-sm: 0.737rem;
  --radius-md: 1.053rem;
  --radius-lg: 1.263rem;
  --radius-xl: 1.927rem;
  --radius-pill: 3rem;
  --border-thin: 1px solid var(--color-border);
  --border-light: 1px solid var(--color-border-light);
  --shadow-sm: 0 0.211rem 0.842rem rgba(0, 0, 0, 0.14);
  --shadow-md: 0 0.421rem 1.579rem rgba(0, 0, 0, 0.16);
  --shadow-card: 0 1.474rem 3.158rem rgba(21, 21, 21, 0.14);
  --transition-fast: 180ms ease;
  --transition-base: 280ms ease;
  --image-landscape: 16 / 9;
  --image-portrait: 372.5 / 422.5;
  --faculty-card-ratio: 294 / 350;
  --marquee-gap: 1.263rem;
  --marquee-duration: 24s;
  --reveal-distance: 2.105rem;
  --reveal-duration: 760ms;
  --reveal-easing: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
  font-size: clamp(11px, 0.95vw, 19px) !important;
  scroll-behavior: smooth;
  scroll-padding-top: var(--sticky-offset);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

button {
  color: inherit;
}

h1,
h2,
h3,
p,
figure,
blockquote,
ul {
  margin: 0;
}

ul {
  padding: 0;
  list-style: none;
}

h1,
h2,
h3 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

:focus-visible {
  outline: 2px solid var(--color-primary-bright);
  outline-offset: 0.263rem;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.5rem;
  left: 0.5rem;
  transform: translateY(-160%);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: var(--color-text);
  font-weight: var(--weight-semibold);
  transition: transform var(--transition-fast);
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-page {
  overflow: clip;
}

.container {
  width: min(calc(100% - (2 * var(--page-gutter))), var(--container-max));
  margin-inline: auto;
}

.section {
  position: relative;
  padding-block: var(--section-space);
}

.section--dark {
  background: var(--color-background);
  color: var(--color-text-light);
}

.section--charcoal {
  background: var(--color-surface-charcoal);
  color: var(--color-text-light);
}

.card {
  border-radius: var(--radius-md);
}

.card--dark {
  background: var(--color-surface-dark);
}

.image-frame {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

.section-header--center {
  align-items: center;
  text-align: center;
}

.section-header h2 {
  font-size: var(--heading-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--line-tight);
  letter-spacing: -0.0479rem;
}

.section-header--light {
  color: var(--color-text-light);
}

.eyebrow {
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--line-copy);
  text-transform: uppercase;
}

.eyebrow--muted {
  color: rgba(243, 239, 236, 0.67);
}

.eyebrow--gold {
  color: var(--color-primary);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.095rem;
}

.eyebrow--pill {
  display: inline-flex;
  align-items: center;
  gap: 0.526rem;
  padding: 0.474rem 0.842rem;
  border: 1px solid rgba(227, 178, 60, 0.5);
  border-radius: var(--radius-pill);
  background: rgba(227, 178, 60, 0.08);
  color: var(--color-primary);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
}

.eyebrow--pill span {
  width: 0.368rem;
  height: 0.368rem;
  border-radius: 50%;
  background: var(--color-primary);
}

.button {
  min-height: var(--button-height-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.803rem;
  padding: 0.818rem var(--button-inline);
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-family: var(--font-primary);
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  line-height: 1.36;
  letter-spacing: 0.019rem;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.button:hover {
  transform: translateY(-0.105rem);
}

.button img {
  width: 1.238rem;
  height: 1.238rem;
  object-fit: contain;
}

.button--primary {
  background: var(--color-primary);
  color: var(--color-background);
}

.button--primary:hover {
  background: var(--color-primary-bright);
}

.button--secondary {
  border-color: var(--color-text-light);
  background: transparent;
  color: var(--color-text-light);
}

.button--secondary:hover {
  background: var(--color-text-light);
  color: var(--color-background);
}

.button--glass {
  background: rgba(199, 199, 199, 0.32);
  color: #fff;
  text-transform: none;
}

.button--outline-dark {
  border-color: var(--color-text);
  background: transparent;
  color: var(--color-text);
}

.button--outline-dark:hover {
  background: var(--color-text);
  color: var(--color-text-light);
}

.button--dark-card {
  min-height: 2.895rem;
  background: #000;
  color: #fff;
  font-size: 0.595rem;
  letter-spacing: 0.049rem;
}

.button--dark-card-accent {
  border-color: rgba(227, 178, 60, 0.64);
}

.button--light-card {
  min-height: 2.895rem;
  border: 1px solid rgba(255, 255, 255, 0.78);
  background: #fff;
  color: #000;
  font-size: 0.595rem;
  letter-spacing: 0.049rem;
}

.button--light-card:hover {
  background: var(--color-primary-bright);
  border-color: var(--color-primary-bright);
}

.button--small {
  min-height: 2.895rem;
  padding-inline: 1.421rem;
  font-size: 0.595rem;
  letter-spacing: 0.049rem;
}

.button--large {
  min-height: 3.895rem;
  padding-inline: 4.211rem;
  font-size: 1.263rem;
}

.button--wide {
  min-width: 22.632rem;
}

.button--full {
  width: 100%;
}

.button-row {
  display: flex;
  align-items: center;
  gap: 0.523rem;
}

.section-cta {
  display: flex;
  justify-content: center;
}

/* Header */
.site-header {
  position: fixed;
  z-index: 50;
  top: var(--header-offset);
  left: 0;
  width: 100%;
}
.site-header__inner {
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.053rem;
  padding: 0.737rem 1.263rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 3.105rem;
  background: rgba(8,8,8,0.94);
  box-shadow: 0 0.421rem 1.895rem rgba(0,0,0,0.2);
  backdrop-filter: blur(1.579rem);
  -webkit-backdrop-filter: blur(1.579rem);
}
.site-brand,
.site-footer__brand {
  display: inline-flex;
  align-items: center;
  width: max-content;
  color: var(--color-text-light);
}
.site-brand { padding-left: 0.789rem; }
.site-brand__logo {
  display: block;
  width: 14.737rem;
  max-height: 3.158rem;
  object-fit: contain;
  object-position: left center;
}
.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.053rem;
  justify-self: center;
}
.site-nav > a:not(.button) {
  min-height: 2.632rem;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.632rem;
  color: var(--color-text-light);
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
  line-height: 1.36;
  letter-spacing: -0.005rem;
  text-align: center;
}
.site-nav > a:not(.button)::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  margin-top: 0.263rem;
  background: var(--color-primary);
  transition: width var(--transition-fast);
}
.site-nav > a:not(.button):hover::after,
.site-nav > a:not(.button):focus-visible::after { width: 100%; }
.button--header {
  min-width: 11.964rem;
  min-height: 3.436rem;
  padding-inline: 3.008rem;
  font-size: var(--text-md);
  justify-self: end;
}
.site-nav__mobile-cta,
.site-menu-toggle { display: none; }

/* Hero */
.hero--home {
  position: relative;
  min-height: var(--hero-height);
  overflow: hidden;
  background:
    linear-gradient(183.53deg, rgba(0, 0, 0, 0) 61.75%, var(--color-background) 80.36%),
    radial-gradient(ellipse 72% 88% at 17% 28%, rgba(63, 63, 63, 0.33) 0%, rgba(10, 10, 10, 0.2) 39%, rgba(10, 10, 10, 0) 70%),
    radial-gradient(ellipse 66% 82% at 87% 15%, rgba(164, 111, 76, 0.25) 0%, rgba(84, 68, 59, 0.09) 42%, rgba(10, 10, 10, 0) 71%),
    linear-gradient(90deg, #080808 0%, #111111 46%, #0a0a0a 100%);
}

.hero--home::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.08) 42%, rgba(0, 0, 0, 0) 62%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.02) 65%, rgba(10, 10, 10, 0.96) 100%);
}

.hero--home::after {
  content: '';
  position: absolute;
  z-index: 1;
  left: -19rem;
  bottom: -4rem;
  width: 36rem;
  height: 28rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227, 178, 60, 0.1), rgba(227, 178, 60, 0) 72%);
  filter: blur(1.5rem);
}

.hero__inner {
  position: relative;
  z-index: 5;
  height: var(--hero-height);
  min-height: var(--hero-height);
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  pointer-events: none;
}

.hero__content {
  width: 39.158rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1.263rem;
  pointer-events: auto;
}

.hero__credential {
  display: inline-flex;
  padding: 0.422rem 1.496rem;
  border-radius: var(--radius-xs);
  background: linear-gradient(90deg, rgba(227, 178, 60, 0.09), rgba(125, 98, 33, 0.09));
  color: var(--color-primary-bright);
  font-family: var(--font-body);
  font-size: 0.959rem;
  font-weight: var(--weight-semibold);
  line-height: 1.36;
}

.hero__credential span { color: #fff; }

.hero h1 {
  width: 38.421rem;
  color: var(--color-text-light);
  font-size: var(--heading-lg);
  font-weight: var(--weight-bold);
  line-height: 0.95;
  letter-spacing: -0.0362rem;
}

.hero__lead {
  width: 35.789rem;
  margin-top: 0.749rem;
  color: rgba(217, 217, 217, 0.85);
  font-family: var(--font-body);
  font-size: 1.159rem;
  line-height: 1.36;
}

.hero__lead strong { color: #fff; font-weight: var(--weight-semibold); }

.feature-strip {
  width: 38.895rem;
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 0.632rem 1.289rem;
}

.feature-strip li {
  display: flex;
  align-items: center;
  gap: 0.416rem;
  color: var(--color-text-light);
  font-size: 1.074rem;
  font-weight: var(--weight-semibold);
  line-height: 1.36;
  letter-spacing: -0.0054rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.feature-strip img {
  width: 1.288rem;
  height: 1.288rem;
  object-fit: contain;
  opacity: 0.72;
}

.hero .button-row { margin-top: 0.842rem; }
.hero .button { min-height: var(--button-height); font-size: var(--text-md); }
.hero .button--wide { min-width: 22.632rem; }

.hero-collage {
  position: absolute;
  z-index: 3;
  top: -1.579rem;
  left: calc(50% - 1.789rem);
  width: 51rem;
  height: 53.158rem;
  display: grid;
  grid-template-columns: repeat(2, 20.686rem);
  overflow: hidden;
  pointer-events: auto;
  mask-image: linear-gradient(to bottom, transparent 0, #000 5%, #000 82%, transparent 100%);
}

.hero-collage::before {
  content: '';
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 12rem;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0), rgba(10, 10, 10, 0.98));
}

.hero-collage__column {
  width: 20.686rem;
  height: 100%;
  overflow: hidden;
}

.hero-collage__track {
  display: flex;
  flex-direction: column;
  gap: 0.636rem;
  padding-inline: 0.587rem;
  will-change: transform;
}

.hero-portrait {
  position: relative;
  width: 19.605rem;
  aspect-ratio: var(--image-portrait);
  overflow: hidden;
  flex: 0 0 auto;
  border-radius: var(--radius-xs);
  cursor: pointer;
}

.hero-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 420ms var(--reveal-easing), filter var(--transition-base);
}

.hero-portrait__overlay {
  position: absolute;
  z-index: 6;
  inset: 0;
  background: transparent;
  color: var(--color-text-light);
  opacity: 1;
  pointer-events: none;
  transition: background-color var(--transition-base);
}

.hero-portrait__name,
.hero-portrait__title {
  position: absolute;
  margin: 0;
}

.hero-portrait__name {
  right: 0.737rem;
  bottom: 0.737rem;
  z-index: 8;
  max-width: calc(100% - 1.474rem);
  padding: 0.4rem 0.58rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.35rem;
  background: rgba(0, 0, 0, 0.7);
  color: var(--color-text-light);
  font-family: var(--font-primary);
  font-size: 0.9rem;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
  opacity: 1;
  transform: none;
  pointer-events: none;
  transition: background-color 240ms ease, border-color 240ms ease;
}

.hero-portrait__title {
  right: 0.737rem;
  bottom: 3.42rem;
  left: 0.737rem;
  z-index: 8;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-body);
  font-size: 0.737rem;
  line-height: 1.4;
  text-align: right;
  opacity: 0;
  transform: translateY(0.737rem);
  transition: opacity 280ms ease 60ms, transform 280ms ease 60ms;
}

.hero-portrait:hover .hero-portrait__overlay,
.hero-portrait:focus .hero-portrait__overlay,
.hero-portrait:focus-visible .hero-portrait__overlay,
.hero-portrait:focus-within .hero-portrait__overlay {
  background: rgba(0, 0, 0, 0.48);
}

.hero-portrait:hover img,
.hero-portrait:focus img,
.hero-portrait:focus-visible img {
  transform: scale(1.025);
  filter: brightness(0.84);
}

.hero-portrait:hover .hero-portrait__name,
.hero-portrait:focus .hero-portrait__name,
.hero-portrait:focus-visible .hero-portrait__name,
.hero-portrait:focus-within .hero-portrait__name {
  opacity: 1;
  transform: none;
  background: rgba(0, 0, 0, 0.84);
  border-color: rgba(255, 255, 255, 0.32);
}

.hero-portrait:hover .hero-portrait__title,
.hero-portrait:focus .hero-portrait__title,
.hero-portrait:focus-visible .hero-portrait__title,
.hero-portrait:focus-within .hero-portrait__title {
  opacity: 1;
  transform: translateY(0);
}

.hero-portrait:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}


/* Centred hero composition used with the horizontal faculty marquee. */
.hero--no-collage {
  min-height: 39.5rem;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 67%, var(--color-background) 100%),
    radial-gradient(ellipse 56% 68% at 50% 21%, rgba(164, 111, 76, 0.22) 0%, rgba(84, 68, 59, 0.08) 46%, transparent 74%),
    radial-gradient(ellipse 42% 38% at 50% 78%, rgba(227, 178, 60, 0.075), transparent 76%),
    linear-gradient(90deg, #080808 0%, #111111 50%, #080808 100%);
}

.hero--no-collage::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.02) 68%, rgba(10, 10, 10, 0.76) 100%);
}

.hero--no-collage .hero__inner {
  height: auto;
  min-height: 39.5rem;
  justify-content: center;
  text-align: center;
  padding-top: 6.25rem;
  padding-bottom: 1.15rem;
}

.hero--no-collage .hero__content {
  width: min(60rem, 100%);
  align-items: center;
  gap: 1.35rem;
}

.hero--no-collage h1,
.hero--no-collage .hero__lead {
  width: 100%;
}

.hero--no-collage h1 {
  max-width: 50rem;
  font-size: clamp(3.15rem, 3.55vw, 4rem);
  line-height: 1.02;
  letter-spacing: -0.052rem;
  text-wrap: balance;
}

.hero--no-collage .hero__lead {
  max-width: 46rem;
  margin-top: 0.35rem;
  font-size: 1.14rem;
  line-height: 1.52;
  text-wrap: balance;
}

.hero--no-collage .feature-strip {
  width: auto;
  max-width: 100%;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  gap: 0.7rem 1.25rem;
  margin-top: 0.55rem;
}

.hero--no-collage .feature-strip li {
  font-size: 0.92rem;
}

.hero--no-collage .button-row {
  margin-top: 0.8rem;
}

/* Approved ten-person headshot marquee directly below the hero. */
.hero-headshots {
  position: relative;
  z-index: 4;
  overflow: hidden;
  margin-top: -0.65rem;
  padding: 0.15rem 0 1.4rem;
  border: 0;
  background: transparent;
}

.hero-headshots__viewport {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  mask-image: none;
  -webkit-mask-image: none;
  isolation: isolate;
  overscroll-behavior-inline: contain;
  scroll-behavior: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.42) rgba(255, 255, 255, 0.08);
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
}

/* Keep both viewport edge pseudo-elements disabled. Pseudo-elements attached
   to this horizontally scrolling element become part of its scrolling area and
   can travel across instructor cards as a dark vertical overlay. */
.hero-headshots__viewport::before,
.hero-headshots__viewport::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.hero-headshots__viewport:active {
  cursor: grabbing;
}

.hero-headshots__viewport::-webkit-scrollbar {
  height: 0.48rem;
}

.hero-headshots__viewport::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999rem;
}

.hero-headshots__viewport::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.42);
  border-radius: 999rem;
}

.hero-headshots__viewport::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.62);
}

.hero-headshots__track {
  width: max-content;
  min-width: max-content;
  display: inline-flex;
  transform: none;
  -webkit-transform: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  animation: none;
}

.hero-headshots__group {
  display: flex;
  flex: 0 0 auto;
  gap: 0.55rem;
  padding-right: 0.55rem;
}

.hero-headshot {
  position: relative;
  width: 11.75rem;
  height: 14.5rem;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 0.9rem;
  background: transparent;
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.18);
}

.hero-headshot img {
  display: block !important;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  visibility: visible !important;
  opacity: 1 !important;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.92) contrast(1.02);
  transform: none;
  -webkit-transform: none;
  transition: transform var(--transition-base), filter var(--transition-base);
}

.hero-headshot::after {
  content: '';
  position: absolute;
  inset: 44% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.92));
  pointer-events: none;
}

/* Joe Polish's source portrait already has strong tonal treatment. Avoid the
   additional card gradient on this one image so it remains clean and even. */
.hero-headshot--joe-polish::after {
  display: none;
}

.hero-headshot--joe-polish figcaption {
  text-shadow: 0 .12rem .42rem rgba(0, 0, 0, .9);
}

.hero-headshot figcaption {
  position: absolute;
  z-index: 2;
  right: .8rem;
  bottom: .8rem;
  left: .8rem;
  color: #fff;
  font-size: .86rem;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-align: center;
  text-transform: uppercase;
}

.hero-headshot:hover img {
  transform: scale(1.035);
  -webkit-transform: scale(1.035);
  filter: saturate(1) contrast(1.04);
}

@supports (-webkit-touch-callout: none) {
  .hero-headshot img {
    filter: none;
  }
}

@keyframes hero-headshots-left-to-right {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

/* Partners */
.partners {
  padding-block: 4.842rem 4.737rem;
  background: var(--color-background-deep);
}

.partners__panel {
  width: 78.105rem;
  min-height: 14.116rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 32.053rem 1px 20.947rem;
  justify-content: center;
  align-items: center;
  gap: 2.526rem;
  padding: 2.927rem 4rem;
  border-radius: var(--radius-md);
}

.partners__panel--single {
  grid-template-columns: minmax(0, 1fr);
}

.partners__group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.263rem;
}

.partners__group .eyebrow {
  margin-bottom: 0.421rem;
}

.partners__logos {
  height: 5.216rem;
  display: flex;
  align-items: center;
  gap: 3.936rem;
}

.partners__logos img {
  width: auto;
  height: 3.45rem;
  max-width: 15.5rem;
  object-fit: contain;
  flex: 0 1 auto;
}

.partners__logos img:first-child {
  /* HeartMind artwork is visually compact, so it needs a slightly larger rendered height. */
  height: 4.15rem;
}

.partners__logos img:last-child {
  /* Innerplicity artwork has transparent vertical padding; this produces an equal visible logo height. */
  height: 4.35rem;
}

.partners__divider {
  width: 1px;
  height: 7.895rem;
  background: rgba(243, 239, 236, 0.24);
}

.partners__certification {
  width: 17.432rem;
  height: 8.384rem;
  object-fit: contain;
}

/* Story */
.story {
  padding-block: 5.263rem;
  background: var(--color-background-deep);
}

.story .section-header {
  gap: 1.895rem;
}

.video-card-shell {
  width: min(50.684rem, 100%);
  margin: 3.158rem auto;
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  background: var(--color-background-deep);
  box-shadow: var(--shadow-md);
}

.story .video-card {
  width: 100%;
  aspect-ratio: 963 / 531.9;
  display: block;
  border: 0;
  background: var(--color-background-deep);
  object-fit: contain;
}

/* Pricing */
.pricing {
  min-height: 0;
  overflow: hidden;
  padding-block: 6.263rem 5.421rem;
  background:
    radial-gradient(ellipse 70% 45% at 54% 61%, rgba(227, 178, 60, 0.08), rgba(227, 178, 60, 0) 70%),
    linear-gradient(180deg, #0b0b0b, #080808 82%, #0a0a0a);
}

.pricing__glow {
  position: absolute;
  inset: 18% -25% -20% -15%;
  pointer-events: none;
  background:
    radial-gradient(ellipse 45% 36% at 32% 58%, rgba(255, 255, 255, 0.035), transparent 76%),
    radial-gradient(ellipse 38% 30% at 70% 64%, rgba(227, 178, 60, 0.065), transparent 76%);
  filter: blur(1.5rem);
}

.pricing__header {
  position: relative;
  z-index: 2;
  gap: 1.053rem;
}

.pricing__header h2 {
  width: 46rem;
  margin-top: 0.842rem;
  font-size: var(--heading-md);
  font-weight: var(--weight-bold);
  line-height: 1.04;
  letter-spacing: -0.0632rem;
}

.pricing-grid {
  position: relative;
  z-index: 2;
  width: 82.421rem;
  margin: 4.737rem auto 0;
  display: grid;
  grid-template-columns: repeat(3, 26.526rem);
  align-items: start;
  gap: 1.421rem;
}

.price-card {
  position: relative;
  min-height: 47.5rem;
  display: flex;
  flex-direction: column;
  padding: 0 1.105rem 1.053rem;
  overflow: visible;
  border-radius: 1.927rem;
  background: rgba(135, 135, 135, 0.12);
  color: #fff;
}

.price-card__head {
  position: relative;
  min-height: 19.241rem;
  margin-inline: -1.105rem;
  padding: 2.09rem 2rem 1.579rem;
  border-radius: 1.927rem;
  background: #4d4d4d;
}

.price-card__badge {
  position: absolute;
  top: 1.684rem;
  right: 1.789rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.869rem;
  padding: 0.389rem 1.128rem;
  border-radius: 1.4rem;
  background: var(--color-primary);
  color: #000;
  font-family: var(--font-label);
  font-size: 0.763rem;
  line-height: 1.4;
  white-space: nowrap;
}

.price-card__badge--outline {
  border: 1px solid #fff;
  background: transparent;
  color: #e8e8e8;
}

.price-card__badge--premium {
  min-height: 2.922rem;
  flex-direction: column;
  padding-inline: 1.128rem;
  line-height: 1.1;
}

.price-card__badge small {
  display: block;
  font-size: 0.67rem;
  font-weight: var(--weight-light);
  text-decoration: underline;
}

.price-card__price {
  font-size: 3.116rem;
  font-weight: var(--weight-semibold);
  line-height: 1.227;
  letter-spacing: -0.1247rem;
}

.price-card h3 {
  margin-top: 0.646rem;
  font-size: 1.239rem;
  font-weight: var(--weight-medium);
  line-height: 1.227;
  letter-spacing: -0.0247rem;
}

.price-card__subtitle {
  margin-top: 0.579rem;
  color: rgba(255, 255, 255, 0.66);
  font-family: var(--font-detail);
  font-size: 0.795rem;
  line-height: 1.38;
}

.price-card__summary {
  min-height: 6.241rem;
  display: flex;
  align-items: center;
  margin-top: 1.579rem;
  padding: 0.579rem 1.361rem 0.856rem;
  border: 1px solid rgba(255, 255, 255, 0.23);
  border-radius: 0.856rem;
  background: rgba(0, 0, 0, 0.23);
  color: #f1f1f1;
  font-family: var(--font-detail);
  font-size: 0.85rem;
  font-weight: var(--weight-light);
  line-height: 1.364;
  letter-spacing: 0.0077rem;
}

.price-card--premium {
  margin-top: 0;
  min-height: 54rem;
}

.price-card--premium .price-card__head {
  min-height: 23.895rem;
  background: #f5f5f5;
  color: #000;
}

.price-card--premium .price-card__subtitle {
  color: rgba(44, 44, 44, 0.66);
}

.price-card--premium .price-card__summary {
  min-height: 11rem;
  border-color: rgba(255, 255, 255, 0.23);
  background: rgba(0, 0, 0, 0.05);
  color: #000;
}

.check-list {
  display: flex;
  flex-direction: column;
  gap: 1.45rem;
  padding: 1.895rem 0.421rem 1.263rem;
  color: #fff;
  font-family: var(--font-detail);
  font-size: 0.824rem;
  line-height: 1.227;
  letter-spacing: -0.0165rem;
}

.check-list li {
  position: relative;
  padding-left: 1.726rem;
}

.check-list li::before {
  content: '✓';
  position: absolute;
  top: -0.05rem;
  left: 0;
  width: 0.949rem;
  height: 0.949rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(227, 178, 60, 0.78);
  border-radius: 50%;
  color: var(--color-primary);
  font-size: 0.56rem;
}

.price-card__button {
  width: 100%;
  margin-top: auto;
}

.price-card__payment {
  margin: auto 0 1rem;
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--font-detail);
  font-size: 0.76rem;
  line-height: 1.4;
  text-align: center;
}

.price-card__payment--light { color: var(--color-text-light); }

.price-card__actions {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: auto;
}

.price-card__actions .price-card__button { margin-top: 0; }

.price-card__text-link {
  min-height: 2.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.82);
  font-size: 0.72rem;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06rem;
  text-decoration: underline;
  text-transform: uppercase;
}

.price-card__text-link--light { color: var(--color-text-light); }

.price-card__access-note {
  display: block;
  color: rgba(255,255,255,.74);
  font-size: .72rem;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
}

.pricing-note {
  position: relative;
  z-index: 2;
  width: 81.737rem;
  margin: 5.263rem auto 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: var(--space-8);
  color: #dadada;
}

.pricing-note > span {
  position: absolute;
  top: -1.263rem;
  left: 0;
  width: 4.211rem;
  height: 2px;
  background: #e5e5e5;
}

.pricing-note p {
  font-family: var(--font-body);
  font-size: 1.158rem;
  line-height: 1.36;
}

/* Operator Trap */
.operator-trap {
  min-height: 61.158rem;
  padding-block: 4.158rem 3.158rem;
  overflow: clip;
  background:
    radial-gradient(ellipse 72% 60% at 86% 36%, rgba(100, 89, 74, 0.13), transparent 72%),
    var(--color-surface-dark);
}

.operator-trap__grid {
  min-height: 53.842rem;
  display: grid;
  grid-template-columns: 30rem 40.947rem;
  justify-content: space-between;
  align-items: start;
}

.operator-trap__intro {
  position: sticky;
  top: var(--sticky-offset);
  align-self: start;
  margin-top: 13.684rem;
  padding-left: 2.421rem;
}

.operator-trap__intro h2 {
  font-size: var(--heading-xl);
  font-weight: var(--weight-semibold);
  line-height: 0.96;
  letter-spacing: -0.0383rem;
}

.operator-trap__intro h2 span {
  display: block;
  color: var(--color-primary);
}

.operator-trap__intro p {
  width: 27.263rem;
  margin-top: 2.526rem;
  font-size: 1.308rem;
  line-height: 1.4;
}

.problem-stack {
  display: flex;
  flex-direction: column;
  gap: 1.077rem;
}

.problem-card {
  position: relative;
  width: 38.172rem;
  min-height: 11.929rem;
  margin-left: 2.775rem;
  display: grid;
  grid-template-columns: 13.263rem 1fr;
  align-items: center;
  padding: 1.85rem 2.184rem 1.85rem 3.593rem;
  border-radius: 1.266rem;
  background: rgba(183, 183, 183, 0.1);
  backdrop-filter: blur(4.053rem);
}

.problem-card span {
  position: absolute;
  top: 50%;
  left: -2.288rem;
  width: 4.036rem;
  height: 4.294rem;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #595959;
  font-size: 1.558rem;
  font-weight: var(--weight-semibold);
}

.problem-card h3 {
  width: 12.842rem;
  font-size: 1.263rem;
  font-weight: var(--weight-semibold);
  line-height: 1.24;
  letter-spacing: -0.025rem;
}

.problem-card p {
  min-height: 7.718rem;
  display: flex;
  align-items: center;
  padding-left: 2.273rem;
  border-left: 1px solid rgba(255, 255, 255, 0.72);
  font-size: 0.842rem;
  line-height: 1.5;
}

/* Fleet quote */
.quote-feature {
  min-height: 40.737rem;
  padding-block: 6.895rem 6.158rem;
  background: #fff;
}

.quote-feature__grid {
  display: grid;
  grid-template-columns: 23.263rem 1fr;
  align-items: center;
  gap: 5.263rem;
}

.quote-feature__image {
  width: 23.263rem;
  height: 27.684rem;
  border-radius: 1rem;
}

.quote-feature blockquote {
  position: relative;
  min-height: 27.684rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.789rem;
  text-align: center;
}

.quote-feature blockquote > span {
  position: absolute;
  top: -8.5rem;
  left: 44%;
  z-index: 0;
  color: rgba(227, 178, 60, 0.22);
  font-size: 17.895rem;
  font-weight: var(--weight-bold);
  line-height: 1;
}

.quote-feature blockquote p {
  position: relative;
  z-index: 1;
  max-width: 56.842rem;
  color: #222;
  font-size: 2.659rem;
  font-weight: var(--weight-bold);
  line-height: 1.18;
  letter-spacing: -0.0515rem;
}

.quote-feature blockquote footer {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 2.789rem;
  color: #292929;
  font-family: var(--font-body);
  font-size: 1.158rem;
}

.quote-feature blockquote footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 4.211rem;
  height: 2px;
  transform: translateX(-50%);
  background: var(--color-primary);
}

/* Differences */
.differences {
  min-height: 68.55rem;
  padding-block: 7.158rem 7.684rem;
  overflow: hidden;
  background:
    radial-gradient(ellipse 42% 48% at -3% 92%, rgba(73, 63, 50, 0.2), transparent 76%),
    var(--color-background);
}

.differences .section-header {
  gap: 1.895rem;
}

.difference-grid {
  margin-top: 5.263rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.053rem 1.947rem;
}

.difference-card {
  height: 20.328rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.455rem 1.178rem;
  border-radius: 0.982rem;
  background: var(--color-card-glass);
  backdrop-filter: blur(2.084rem);
  color: #fff;
}

.difference-card span,
.difference-card h3 {
  font-size: 1.375rem;
  font-weight: var(--weight-regular);
  line-height: 1.214;
}

.difference-card h3 {
  margin-top: 0.687rem;
}

.difference-card p {
  font-size: 0.786rem;
  line-height: 1.5;
}

/* Faculty */
.faculty {
  min-height: 0;
  padding-block: 7.368rem;
  background: #fff;
}

.faculty__header {
  max-width: 49.684rem;
  margin-inline: auto;
  gap: 2.474rem;
}

.faculty__header p { color: #535353; font-size: 1.308rem; line-height: 1.4; }
.faculty__header strong { color: var(--color-primary-deep); }

.faculty-grid {
  width: 100%;
  margin-top: 5.263rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.789rem;
}

.faculty-card {
  position: relative;
  width: 100%;
  aspect-ratio: var(--faculty-card-ratio);
  overflow: hidden;
  border-radius: 0.632rem;
  background: #cbbe9e;
  cursor: default;
}

.faculty-card[hidden] { display: none; }
.faculty-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform var(--transition-base); }

.faculty-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.58);
  color: #fff;
  opacity: 0;
  transition: opacity var(--transition-base);
}

.faculty-card__title,
.faculty-card__description {
  position: absolute;
  left: 50%;
  width: 82%;
  text-align: center;
  opacity: 0;
  transition: opacity var(--transition-base), transform var(--transition-base);
}

.faculty-card__title {
  top: 48%;
  transform: translate(-50%, -50%) translateY(0.526rem);
  font-size: 0.842rem;
  font-weight: var(--weight-medium);
  line-height: 1.3;
}

.faculty-card__description {
  bottom: 1.053rem;
  transform: translateX(-50%) translateY(1.053rem);
  font-size: 0.632rem;
  line-height: 1.4;
}

.faculty-card__description strong { display: block; margin-bottom: 0.3rem; font-size: 0.74rem; }
.faculty-card:hover img, .faculty-card:focus-visible img { transform: scale(1.025); }
.faculty-card:hover .faculty-card__overlay, .faculty-card:focus-visible .faculty-card__overlay,
.faculty-card:hover .faculty-card__title, .faculty-card:focus-visible .faculty-card__title,
.faculty-card:hover .faculty-card__description, .faculty-card:focus-visible .faculty-card__description { opacity: 1; }
.faculty-card:hover .faculty-card__title, .faculty-card:focus-visible .faculty-card__title { transform: translate(-50%, -50%); }
.faculty-card:hover .faculty-card__description, .faculty-card:focus-visible .faculty-card__description { transform: translateX(-50%); }

.faculty-load-controls {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 3.158rem;
}

.faculty-load-button { min-width: 14rem; }


/* Roadmap */
.roadmap {
  min-height: 0;
  padding-block: 7.737rem;
}

.roadmap__header {
  max-width: 83.895rem;
  margin-inline: auto;
  gap: 2.421rem;
}

.roadmap__header h2 {
  width: 28.211rem;
}

.roadmap__header > p:last-child {
  width: 65.895rem;
  font-size: var(--text-md);
  line-height: 1.5;
}

.roadmap-metrics {
  width: 70.895rem;
  margin: 2.789rem auto 0;
  display: grid;
  grid-template-columns: 1.25fr repeat(2, 1fr) 1.25fr;
  gap: 1.526rem;
}

.metric-card {
  min-height: 7.895rem;
  padding: 1.263rem;
  border: 1px solid #454545;
  border-radius: 0.842rem;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 251, 245, 0.95);
  text-align: center;
}

.metric-card strong {
  display: block;
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.867rem;
  letter-spacing: 0.0347rem;
  text-transform: uppercase;
}

.metric-card p {
  margin-top: 1rem;
  font-family: var(--font-ui);
  font-size: 0.842rem;
  line-height: 1.38;
}

.roadmap-visual {
  width: 89.474rem;
  max-width: 100%;
  min-height: 0;
  margin: 4.211rem auto 0;
  padding: 5.158rem 3.579rem;
  border-radius: 1.158rem;
  background: rgba(255, 255, 255, 0.09);
}

.roadmap-orbit {
  position: relative;
  width: 83.895rem;
  height: 30.867rem;
  margin-inline: auto;
}

.roadmap-orbit > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.roadmap-orbit article {
  position: absolute;
  top: 50%;
  width: 14.439rem;
  transform: translateY(-50%);
  color: #f6f6f6;
  text-align: center;
}

.roadmap-orbit article:nth-of-type(1) { left: 7.45rem; }
.roadmap-orbit article:nth-of-type(2) { left: 33.91rem; }
.roadmap-orbit article:nth-of-type(3) { right: 7.35rem; }

.roadmap-orbit strong {
  display: block;
  font-size: 3.085rem;
  line-height: 1.1;
}

.roadmap-orbit p {
  margin-top: 1.543rem;
  font-size: 1.111rem;
  line-height: 1.2;
}

.phase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: 1.027rem;
  margin-top: 2.316rem;
}

.phase-card {
  overflow: hidden;
  border: 1px solid var(--color-border-dark);
  border-radius: 1.003rem;
  background: var(--color-surface-raised);
  color: #f6f6f6;
}

.phase-card__trigger {
  width: 100%;
  min-height: 8.38rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 2.053rem;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.phase-card__trigger span {
  display: flex;
  flex-direction: column;
  gap: 0.902rem;
}

.phase-card__trigger strong {
  font-size: 1.204rem;
}

.phase-card__trigger small {
  max-width: 18.434rem;
  font-size: 0.953rem;
  line-height: 1.6;
}

.phase-card__trigger b {
  width: 1.892rem;
  height: 1.892rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0f0f0f;
  font-size: 1.1rem;
}

.phase-card__content {
  display: none;
  padding: 0 2.053rem 2.053rem;
}

.phase-card.is-open .phase-card__content {
  display: block;
}

.lesson {
  border-top: 1px solid rgba(246, 246, 246, 0.6);
}

.lesson button {
  width: 100%;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.401rem;
  padding: 1.404rem 0.401rem;
  border: 0;
  background: transparent;
  color: #f6f6f6;
  text-align: left;
  cursor: pointer;
}

.lesson button strong {
  font-size: 0.803rem;
}

.lesson button small {
  font-size: 0.752rem;
  font-weight: var(--weight-light);
}

.lesson p {
  display: none;
  padding: 0 1rem 1.263rem;
  font-size: 0.789rem;
  line-height: 1.5;
}

.lesson.is-open p {
  display: block;
}

.phase-card__live {
  margin-top: 0.702rem;
  color: #987521;
  font-size: 0.903rem;
}

.course-list { display: flex; flex-direction: column; }
.course-list li { padding: 1.15rem 0.4rem; border-top: 1px solid rgba(246,246,246,.38); }
.course-list strong { display: block; font-size: 0.79rem; line-height: 1.45; }
.course-list span { display: block; margin-top: 0.35rem; color: rgba(246,246,246,.68); font-size: 0.7rem; line-height: 1.45; }

/* Audience */
.audience {
  min-height: 0;
  padding-block: 5.263rem;
  background: #fff;
}

.audience__grid {
  display: grid;
  grid-template-columns: 31.368rem 44.279rem;
  justify-content: space-between;
  align-items: start;
}

.audience__intro {
  position: sticky;
  top: var(--sticky-offset);
  align-self: start;
  padding: 1.053rem 0 0 2.421rem;
}

.audience__intro h2 {
  width: 28.316rem;
  font-size: var(--heading-sm);
  font-weight: var(--weight-semibold);
  line-height: 0.96;
  letter-spacing: -0.0526rem;
}

.audience__intro .button {
  min-width: 15.474rem;
  margin-top: 1.895rem;
}

.audience-list {
  display: flex;
  flex-direction: column;
  gap: 1.164rem;
}

.audience-list article {
  min-height: 7.814rem;
  display: flex;
  align-items: flex-start;
  gap: 0.776rem;
  padding: 1.552rem 1.746rem 2.425rem;
  border-bottom: 1px solid rgba(227, 178, 60, 0.56);
}

.audience-list img {
  width: 1.358rem;
  height: 1.358rem;
  object-fit: contain;
}

.audience-list h3 {
  font-size: 1.018rem;
  font-weight: var(--weight-semibold);
  line-height: 1.2;
  text-transform: capitalize;
}

.audience-list p {
  margin-top: 0.825rem;
  font-size: 0.873rem;
  line-height: 1.5;
}

/* Lead instructors */
.lead-instructors {
  min-height: 0;
  padding-block: 5.579rem 5.263rem;
  overflow: hidden;
}

.lead-instructors__glow {
  position: absolute;
  left: 50%;
  bottom: -16rem;
  width: 52.632rem;
  height: 26.316rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(227, 178, 60, 0.12), transparent 70%);
  filter: blur(1.5rem);
}

.lead-instructors .section-header {
  gap: 1.895rem;
}

.lead-instructors .section-header h2 {
  font-size: var(--heading-md);
  font-weight: var(--weight-bold);
  line-height: 1.04;
}

.lead-grid {
  position: relative;
  z-index: 2;
  margin-top: 4.737rem;
  display: grid;
  grid-template-columns: repeat(2, 40rem);
  justify-content: center;
  gap: 5.263rem;
}

.lead-card {
  display: grid;
  grid-template-columns: 15.789rem 1fr;
  gap: 2.105rem;
  align-items: start;
}

.lead-card__portrait {
  width: 15.789rem;
  height: 20rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.053rem;
}

.lead-card__content {
  padding-top: 1.053rem;
}

.lead-card__content h3 {
  margin-top: 0.895rem;
  color: var(--color-text-light);
  font-size: 1.895rem;
  font-weight: var(--weight-bold);
  letter-spacing: -0.0316rem;
}

.lead-card__content > p:not(.eyebrow) {
  min-height: 13.5rem;
  margin-top: 1.684rem;
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: 0.947rem;
  line-height: 1.48;
}

.lead-card__content > span {
  display: block;
  width: 3.158rem;
  height: 2px;
  margin-top: 0.421rem;
  background: var(--color-primary);
}

.lead-card__content small {
  display: block;
  margin-top: 1.053rem;
  color: #c9c5bf;
  font-size: 0.737rem;
  line-height: 1.5;
}

/* Network */
.network {
  min-height: 48.132rem;
  padding-block: 6.316rem;
  background: var(--color-surface-soft);
}

.network h2 {
  font-size: 2.421rem;
  font-weight: var(--weight-semibold);
  line-height: 1.32;
  letter-spacing: -0.1386rem;
}

.network__panel {
  min-height: 27.816rem;
  display: grid;
  grid-template-columns: 1fr 21.505rem;
  align-items: start;
  gap: 5.263rem;
  margin-top: 2.632rem;
  padding: 2.171rem 2.171rem 0 0;
  border-top: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
  border-radius: 0 3.576rem 0 0;
}

.network__copy {
  padding-left: 0;
}

.tag {
  display: inline-flex;
  padding: 0.511rem 0.83rem;
  border: 1px solid var(--color-text);
  border-radius: var(--radius-pill);
  font-family: var(--font-ui);
  font-size: 0.702rem;
  text-transform: capitalize;
}

.network__copy h3 {
  width: 44.158rem;
  margin-top: 1.046rem;
  font-size: 1.684rem;
  font-weight: var(--weight-regular);
  line-height: 1.36;
  letter-spacing: -0.0168rem;
}

.network__copy > p {
  width: 44.158rem;
  max-width: 100%;
  margin-top: 1.632rem;
  color: rgba(16, 16, 16, 0.64);
  font-size: var(--text-md);
  line-height: 1.37;
  letter-spacing: 0.0316rem;
}

.network__copy .button {
  margin-top: 2.421rem;
}

.network__image {
  width: 21.505rem;
  height: 25.624rem;
  border-radius: 1.105rem;
}

/* Bonus */
.bonus {
  min-height: 50.947rem;
  padding-block: 5.895rem 2.842rem;
}

.bonus__banner {
  min-height: 16.737rem;
  display: grid;
  grid-template-columns: 34.842rem 29.158rem;
  justify-content: space-between;
  align-items: center;
  padding: 3.474rem 6.842rem;
  border: 1px solid rgba(184, 184, 184, 0.58);
  border-radius: 1.211rem;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: var(--shadow-sm);
}

.bonus__banner h2 {
  position: relative;
  padding-bottom: 5.474rem;
  font-size: 2.316rem;
  font-weight: var(--weight-semibold);
  line-height: 1.068;
  letter-spacing: -0.0526rem;
}

.bonus__banner h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28.947rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.68);
}

.bonus__banner > div p {
  font-size: 1.093rem;
  line-height: 1.35;
}

.bonus__banner .button {
  margin-top: 2.316rem;
  min-height: 3.737rem;
  font-size: 1.3rem;
  text-transform: none;
}

.bonus__quote {
  width: 67.907rem;
  margin: 5.947rem auto 0;
  display: grid;
  grid-template-columns: 18.807rem 1fr;
  gap: 2.714rem;
  align-items: start;
}

.bonus__portrait {
  position: relative;
  width: 18.807rem;
  height: 15.656rem;
  border-radius: 0.969rem 0.969rem 0 0;
  background: rgba(249, 199, 119, 0.63);
}

.bonus__portrait img {
  position: absolute;
  left: 2.769rem;
  bottom: 0;
  width: 13.256rem;
  height: 18.046rem;
  object-fit: cover;
  object-position: top;
}

.bonus__quote blockquote > span {
  display: block;
  font-size: 3rem;
  line-height: 0.6;
}

.bonus__quote blockquote > p {
  margin-top: 1.158rem;
  font-size: 1.551rem;
  line-height: 1.24;
  letter-spacing: -0.0155rem;
}

.bonus__quote footer {
  display: flex;
  flex-direction: column;
  gap: 0.194rem;
  margin-top: 0.824rem;
}

.bonus__quote footer strong {
  font-size: 0.969rem;
}

.bonus__quote footer small {
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.776rem;
}

/* Peer network */
.peer-network {
  min-height: 61.053rem;
  padding-block: 6.211rem 5.053rem;
}

.peer-network__intro {
  max-width: 53.158rem;
  margin-inline: auto;
  gap: 2.263rem;
}

.peer-network__intro h2 {
  font-size: 2.959rem;
  font-weight: var(--weight-bold);
  line-height: 0.99;
}

.peer-network__intro h2 span {
  color: var(--color-primary);
}

.peer-network__intro p {
  font-size: var(--text-md);
  line-height: 1.6;
}

.peer-network__grid {
  margin-top: 3.158rem;
  display: grid;
  grid-template-columns: 40.895rem 36.789rem;
  gap: 5.053rem;
  align-items: center;
}

.peer-gallery {
  position: relative;
  width: 100%;
  height: var(--peer-carousel-height);
  overflow: hidden;
}

.peer-gallery::before,
.peer-gallery::after {
  content: '';
  position: absolute;
  z-index: 4;
  top: 0;
  width: 8%;
  height: 100%;
  pointer-events: none;
}

.peer-gallery::before {
  left: 0;
  background: linear-gradient(90deg, var(--color-background), transparent);
}

.peer-gallery::after {
  right: 0;
  background: linear-gradient(270deg, var(--color-background), transparent);
}

.peer-gallery__track {
  height: 100%;
  display: flex;
  align-items: center;
  gap: var(--peer-carousel-gap);
  will-change: transform;
  transition: transform var(--peer-carousel-duration) ease-out;
}

.peer-gallery__slide {
  width: var(--peer-slide-width);
  height: 100%;
  flex: 0 0 var(--peer-slide-width);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0.986rem;
  background: transparent;
  cursor: pointer;
  transition: width var(--peer-carousel-duration) ease-out,
              flex-basis var(--peer-carousel-duration) ease-out;
}

.peer-gallery__slide img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  filter: brightness(0.7);
  transition: filter var(--peer-carousel-duration) ease-out;
}

.peer-gallery__slide.is-active {
  width: var(--peer-active-width);
  flex-basis: var(--peer-active-width);
  z-index: 2;
}

.peer-gallery__slide.is-active img {
  filter: brightness(1);
}

.peer-panel {
  min-height: 29.526rem;
  padding: 1.737rem 1.211rem 1.158rem;
  background: rgba(39, 39, 39, 0.72);
}

.peer-accordion article {
  padding: 1.126rem 0.383rem 0.681rem;
  border-top: 1px solid rgba(243, 239, 236, 0.8);
}

.peer-accordion article:first-child {
  border-top: 0;
}

.peer-accordion button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-light);
  font-size: 1.07rem;
  font-weight: var(--weight-semibold);
  text-align: left;
  cursor: pointer;
}

.peer-accordion p {
  display: none;
  margin-top: 0.815rem;
  color: var(--color-text-light);
  font-size: 0.863rem;
  line-height: 1.5;
}

.peer-accordion article.is-open p {
  display: block;
}

.peer-panel__note {
  margin-top: 2.316rem;
  color: rgba(243, 239, 236, 0.64);
  font-size: 0.947rem;
  line-height: 1.37;
}

.peer-panel .button {
  margin-top: 1.263rem;
}

/* Testimonials */
.testimonials {
  min-height: 0;
  padding-block: 7.368rem 5.263rem;
  overflow: hidden;
  background: var(--color-surface-soft);
}

.testimonials__header-wrap {
  position: relative;
  z-index: 2;
  margin-bottom: 4.211rem;
}

.testimonials__header-wrap .section-header {
  max-width: 55rem;
  margin-inline: auto;
}

.testimonials__wordmark {
  position: absolute;
  top: 17rem;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  color: rgba(10, 10, 10, 0.07);
  font-size: 8.5rem;
  font-weight: var(--weight-bold);
  line-height: 0.88;
  text-align: center;
  text-transform: lowercase;
  white-space: nowrap;
}

.testimonial-wall {
  position: relative;
  z-index: 2;
  width: min(calc(100% - (2 * var(--page-gutter))), var(--container-max));
  height: 46rem;
  margin-inline: auto;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.testimonial-lanes {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.053rem;
}

.testimonial-lane {
  height: 100%;
  overflow: hidden;
}

.testimonial-lane__track {
  display: flex;
  flex-direction: column;
  gap: var(--marquee-gap);
  animation: testimonial-lane-scroll var(--marquee-duration) linear infinite;
  will-change: transform;
}

.testimonial-lane--reverse .testimonial-lane__track {
  animation-direction: reverse;
  animation-duration: calc(var(--marquee-duration) * 1.12);
}

.testimonial-lane:nth-child(3) .testimonial-lane__track {
  animation-duration: calc(var(--marquee-duration) * 0.92);
}

.testimonial-lane:nth-child(5) .testimonial-lane__track {
  animation-duration: calc(var(--marquee-duration) * 1.2);
}

.testimonial-wall:hover .testimonial-lane__track,
.testimonial-wall:focus-within .testimonial-lane__track {
  animation-play-state: paused;
}

.testimonial-lane__group {
  display: flex;
  flex-direction: column;
  gap: var(--marquee-gap);
}

.testimonial-card {
  position: relative;
  width: 100%;
  min-height: 17.2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.532rem;
  padding: 2.7rem 1.197rem 2.105rem;
  border-radius: 0.766rem;
  background: #fff;
  box-shadow: 0 0.421rem 0.395rem rgba(21, 21, 21, 0.1), var(--shadow-card);
}

.testimonial-card > span {
  position: absolute;
  top: -2rem;
  left: 0.684rem;
  font-size: 4.2rem;
  font-weight: var(--weight-bold);
  line-height: 1;
}

.testimonial-card > p {
  font-family: Arial, sans-serif;
  font-size: 0.958rem;
  line-height: 1.5;
}

.testimonial-card footer {
  display: flex;
  flex-direction: column;
  gap: 0.289rem;
}

.testimonial-card footer strong {
  font-family: Arial, sans-serif;
  font-size: 0.947rem;
}

.testimonial-card footer small {
  color: #505050;
  font-family: Arial, sans-serif;
  font-size: 0.842rem;
  line-height: 1.4;
}

.testimonials .section-cta {
  position: relative;
  z-index: 2;
  margin-top: 3.158rem;
}

@keyframes testimonial-lane-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, calc(-50% - (var(--marquee-gap) / 2)), 0); }
}


/* Video testimonials */
.video-testimonials {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-24);
  background: var(--color-background-deep);
}

.video-testimonials__grid-art {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.7;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
    radial-gradient(circle at 50% 38%, rgba(227,178,60,0.075), transparent 46%);
  background-size: 4.211rem 4.211rem, 4.211rem 4.211rem, auto;
}

.video-testimonials__inner {
  position: relative;
  z-index: 1;
  width: min(51.579rem, calc(100% - (2 * var(--page-gutter))));
}

.video-testimonials__header {
  max-width: 45.263rem;
  margin-inline: auto;
}

.video-testimonials__header > p:last-child {
  max-width: 42.105rem;
  margin-inline: auto;
  color: var(--color-text-soft);
  font-size: var(--text-base);
  line-height: var(--line-body);
}

.video-testimonials__featured {
  max-width: 44.737rem;
  margin: var(--space-12) auto var(--space-12);
  padding: var(--space-10) var(--space-12);
  text-align: center;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-glass);
  backdrop-filter: blur(0.842rem);
}

.video-testimonials__quote-mark {
  display: block;
  height: 2.105rem;
  color: var(--color-primary);
  font-family: Georgia, serif;
  font-size: 4.211rem;
  line-height: 0.75;
}

.video-testimonials__featured blockquote {
  margin: var(--space-4) 0 var(--space-5);
  color: var(--color-text-light);
  font-family: var(--font-primary);
  font-size: 1.158rem;
  font-weight: var(--weight-light);
  font-style: italic;
  line-height: 1.55;
}

.video-testimonials__featured figcaption {
  color: var(--color-primary);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.video-testimonials__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7);
}

.video-testimonial-card {
  overflow: hidden;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-glass);
  transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.video-testimonial-card:hover,
.video-testimonial-card:focus-within {
  transform: translateY(-0.316rem);
  border-color: rgba(227,178,60,0.62);
  box-shadow: 0 1.263rem 2.632rem rgba(0,0,0,0.34);
}

.video-testimonial-card__media {
  width: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.video-testimonial-card__thumb {
  position: relative;
  display: block;
  aspect-ratio: var(--image-landscape);
  overflow: hidden;
  background: var(--color-background);
}

.video-testimonial-card__thumb video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: 0.74;
  transition: opacity var(--transition-base), transform 420ms var(--reveal-easing);
}

.video-testimonial-card:hover .video-testimonial-card__thumb video,
.video-testimonial-card:focus-within .video-testimonial-card__thumb video {
  opacity: 1;
  transform: scale(1.045);
}

.video-testimonial-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.474rem;
  height: 3.474rem;
  display: grid;
  place-items: center;
  padding-left: 0.158rem;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-primary);
  color: var(--color-text);
  font-size: var(--text-lg);
  box-shadow: 0 0.789rem 2.105rem rgba(0,0,0,0.45);
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}

.video-testimonial-card__media:hover .video-testimonial-card__play,
.video-testimonial-card__media:focus-visible .video-testimonial-card__play {
  transform: translate(-50%, -50%) scale(1.08);
  background: var(--color-primary-bright);
}

.video-testimonial-card__media:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.video-testimonial-card__content {
  padding: var(--space-6);
}

.video-testimonial-card__content h3 {
  color: var(--color-text-light);
  font-size: var(--text-lg);
  line-height: 1.35;
}

.video-testimonial-card__content p {
  margin-top: var(--space-3);
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.7;
}

.video-testimonial-card__content > span {
  display: inline-block;
  margin-top: var(--space-4);
  color: var(--color-primary);
  font-family: var(--font-ui);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.0526rem;
  text-transform: uppercase;
}

.video-modal[hidden] { display: none; }

.video-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-8);
}

.video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.9);
  backdrop-filter: blur(0.421rem);
}

.video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(51.579rem, 100%);
  aspect-ratio: var(--image-landscape);
  border-radius: var(--radius-md);
  background: var(--color-background);
  box-shadow: 0 1.579rem 4.211rem rgba(0,0,0,0.55);
}

.video-modal__player {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--color-background);
}

.video-modal__close {
  position: absolute;
  top: -2.632rem;
  right: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-text);
  font-size: 1.895rem;
  line-height: 1;
  cursor: pointer;
}

body.video-modal-open { overflow: hidden; }

/* Certificate */
.certificate-callout {
  position: relative;
  z-index: 3;
  padding: 0 0 4.211rem;
  background: var(--color-background);
}

.certificate-callout__inner {
  min-height: 24.263rem;
  display: grid;
  grid-template-columns: 36.141rem 25.263rem;
  justify-content: space-between;
  align-items: center;
  padding: 3.421rem 6.842rem;
  border-radius: 1.053rem;
  background: #fff;
  box-shadow: var(--shadow-md);
}

.certificate-callout h2 {
  font-size: 2.344rem;
  font-weight: var(--weight-semibold);
  line-height: 1.06;
}

.certificate-callout p {
  margin-top: 2.642rem;
  font-size: 1.209rem;
  line-height: 1.36;
  letter-spacing: 0.0242rem;
}

.certificate-callout .button {
  margin-top: 2.947rem;
  min-width: 21.984rem;
}

.certificate-image {
  width: 25.263rem;
  max-width: 100%;
  height: auto;
  display: block;
  justify-self: end;
  border-radius: var(--radius-xs);
  object-fit: contain;
  box-shadow: var(--shadow-sm);
}

.pricing--repeat {
  min-height: 0;
  padding-top: 5.263rem;
}

.pricing--repeat .pricing-grid {
  margin-top: 4.737rem;
}

/* FAQ */
.faq {
  min-height: 0;
  padding-block: 3.895rem 15.789rem;
}

.faq__inner {
  width: 68.215rem;
  max-width: calc(100% - (2 * var(--page-gutter)));
}

.faq__heading {
  position: relative;
  width: 22rem;
  margin: 3.158rem auto 3.895rem;
}

.faq__heading h2 {
  color: var(--color-text-light);
  font-size: 3.065rem;
  font-weight: var(--weight-semibold);
  line-height: 0.84;
  text-transform: uppercase;
}

.faq__heading > span {
  position: absolute;
  top: 1.105rem;
  left: 15.421rem;
  width: 5.6rem;
  color: var(--color-text-light);
  font-family: var(--font-ui);
  font-size: 0.329rem;
  letter-spacing: 0.012rem;
  text-transform: uppercase;
}

.faq-list article {
  border-top: 1px solid #e5e5e5;
}

.faq-list article:last-child {
  border-bottom: 1px solid #e5e5e5;
}

.faq-list button {
  width: 100%;
  min-height: 5.345rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.579rem 0.263rem;
  border: 0;
  background: transparent;
  color: var(--color-text-light);
  font-family: var(--font-primary);
  font-size: 1.008rem;
  font-weight: var(--weight-light);
  letter-spacing: 0.0376rem;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.faq-list button b {
  font-size: 1.579rem;
  font-weight: var(--weight-regular);
}

.faq-list article > p {
  display: none;
  max-width: 52rem;
  padding: 0 0.263rem 1.789rem;
  color: rgba(243, 239, 236, 0.74);
  font-family: var(--font-body);
  font-size: 0.947rem;
  line-height: 1.6;
}

.faq-list article.is-open > p {
  display: block;
}

/* Footer */
.site-footer {
  position: relative;
  min-height: 0;
  padding: 20.579rem var(--page-gutter) 3.158rem;
  background: #1b1b1b;
  color: #fff;
}

.footer-cta__panel {
  position: absolute;
  top: -10.526rem;
  right: 0;
  left: 0;
  width: min(calc(100% - (2 * var(--page-gutter))), 85.053rem);
  margin-inline: auto;
  min-height: 24.053rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 1.053rem;
  background:
    radial-gradient(circle at 50% -20%, rgba(255, 255, 255, 0.035), transparent 45%),
    radial-gradient(circle at 50% 35%, transparent 0 24%, rgba(255, 255, 255, 0.025) 24.5% 25%, transparent 25.5% 34%, rgba(255, 255, 255, 0.025) 34.5% 35%, transparent 35.5%),
    #383838;
  box-shadow: var(--shadow-sm);
  text-align: center;
}

.footer-cta__panel h2 { width: 47.789rem; color: #f6f6f6; font-size: 3.065rem; font-weight: var(--weight-semibold); line-height: 1.01; letter-spacing: -0.1277rem; }
.footer-cta__panel p { margin-top: 1.916rem; font-size: var(--text-md); line-height: 1.36; }
.footer-cta__panel .button { min-width: 22.632rem; margin-top: 2.347rem; font-size: 1rem; }

.site-footer__grid {
  display: grid;
  grid-template-columns: 16.4rem minmax(0, 1fr);
  justify-content: space-between;
  align-items: start;
  gap: 4.211rem 6.316rem;
}
.site-footer__brand { align-self: start; }
.site-footer__logo {
  display: block;
  width: 15.789rem;
  max-height: 4.211rem;
  object-fit: contain;
  object-position: left center;
}
.site-footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4.842rem;
}
.site-footer__links > div { display: flex; flex-direction: column; gap: 1.053rem; }
.site-footer__links strong {
  margin-bottom: 0.421rem;
  color: rgba(255,255,255,0.65);
  font-family: var(--font-ui);
  font-size: 0.789rem;
  font-weight: var(--weight-regular);
}
.site-footer__links a { font-family: var(--font-ui); font-size: 1.154rem; line-height: 1.31; }
.newsletter {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 18.947rem minmax(0, 1fr);
  align-items: end;
  gap: 2.105rem 3.158rem;
  padding-top: 3.158rem;
  border-top: 1px solid #2f2f2f;
}
.newsletter__intro h3 { font-size: 1.474rem; }
.newsletter__intro p {
  max-width: 17.895rem;
  margin-top: 0.842rem;
  color: rgba(255,255,255,0.6);
  font-size: 0.947rem;
  line-height: 1.5;
}
.newsletter > .form_class_357a6fdf7642bf815a88822c447d9dc4 { min-width: 0; }
.newsletter .form_class_h5PYjAIXDqCp {
  display: grid;
  grid-template-columns: minmax(8rem,1fr) minmax(11rem,1.35fr) minmax(10rem,1fr) minmax(10rem,1fr) auto;
  gap: 0.632rem;
  align-items: center;
}
.newsletter .form_class_h5PYjAIXDqCp input,
.newsletter .form_class_h5PYjAIXDqCp select {
  width: 100%;
  min-width: 0;
  min-height: 3.263rem;
  padding: 0.737rem 1rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius-pill);
  outline: none;
  background: var(--color-text-light);
  color: var(--color-text);
  font: inherit;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.newsletter .form_class_h5PYjAIXDqCp select { appearance: auto; }
.newsletter .form_class_h5PYjAIXDqCp input:focus,
.newsletter .form_class_h5PYjAIXDqCp select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.158rem rgba(227,178,60,0.2);
}
.newsletter .form_class_h5PYjAIXDqCp button {
  min-width: 9.474rem;
  min-height: 3.263rem;
  padding: 0.632rem 1.684rem;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: #111;
  font-family: var(--font-primary);
  font-size: 0.895rem;
  font-weight: var(--weight-semibold);
  cursor: pointer;
  transition: transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
}
.newsletter .form_class_h5PYjAIXDqCp button:hover,
.newsletter .form_class_h5PYjAIXDqCp button:focus-visible {
  transform: translateY(-0.105rem);
  background: var(--color-accent);
  border-color: var(--color-accent);
}
.newsletter .js_captcha_wrapper:empty { display: none; }

.site-footer__bottom {
  margin-top: 4.211rem;
  padding-top: 2.421rem;
  border-top: 1px solid #2f2f2f;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.895rem 4rem;
  color: #73757b;
  font-family: var(--font-ui);
  font-size: 0.789rem;
  line-height: 1.42;
}
.site-footer__bottom > p:first-child { justify-self: end; grid-column: 2; grid-row: 1; color: #fff; }
.site-footer__legal { grid-column: 1 / -1; display: flex; gap: 0.421rem; }
.site-footer__bottom > p:last-child { grid-column: 1 / -1; max-width: 76rem; }



/* Reusable entrance motion */
.reveal {
  opacity: 0;
  transform: translate3d(0,var(--reveal-distance),0);
  transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing);
  will-change: opacity, transform;
}
.reveal--left { transform: translate3d(calc(var(--reveal-distance) * -1),0,0); }
.reveal--right { transform: translate3d(var(--reveal-distance),0,0); }
.reveal--scale { transform: translate3d(0,1.053rem,0) scale(0.975); }
.reveal.is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.reveal-list > .reveal:nth-child(2) { transition-delay: 70ms; }
.reveal-list > .reveal:nth-child(3) { transition-delay: 140ms; }
.reveal-list > .reveal:nth-child(4) { transition-delay: 210ms; }
.reveal-list > .reveal:nth-child(5) { transition-delay: 280ms; }
.reveal-list > .reveal:nth-child(6) { transition-delay: 350ms; }
.reveal-list > .reveal:nth-child(7) { transition-delay: 420ms; }
.reveal-list > .reveal:nth-child(8) { transition-delay: 490ms; }
.reveal-list > .reveal:nth-child(9) { transition-delay: 560ms; }
.reveal-list > .reveal:nth-child(10) { transition-delay: 630ms; }
.site-header.reveal { transform: translate3d(0,-1.053rem,0); }
.site-header.reveal.is-visible { transform: translate3d(0,0,0); }

/* Reusable internal-page hero foundation */
.hero--internal {
  min-height: 34rem;
  display: flex;
  align-items: center;
  padding-top: calc(var(--header-height) + var(--space-10));
  background:
    radial-gradient(ellipse at 75% 20%, rgba(227, 178, 60, 0.12), transparent 55%),
    var(--color-background);
  color: var(--color-text-light);
}

.hero--internal .hero__content {
  width: min(52rem, 100%);
}

/* ========================================================================== 
   Responsive system
   Tablet removes fixed desktop widths and switches complex layouts to fluid grids.
   Mobile uses a compact type/spacing scale and a shorter hero media stage.
   ========================================================================== */

/* Shared responsive safeguards */
@media (max-width: 1099px) {
  :root {
    --page-gutter: clamp(1.5rem, 4vw, 2.75rem);
    --section-space: 5rem;
    --section-space-compact: 4rem;
    --header-height: 5.8rem;
    --header-offset: 1rem;
    --sticky-offset: calc(var(--header-height) + 2rem);
  }

  .container,
  .pricing-grid,
  .pricing-note,
  .testimonial-wall,
  .faq__inner {
    width: min(calc(100% - (2 * var(--page-gutter))), var(--container-max));
    max-width: 100%;
  }

  .pricing-grid > *,
  .operator-trap__grid > *,
  .quote-feature__grid > *,
  .difference-grid > *,
  .faculty-grid > *,
  .roadmap-metrics > *,
  .phase-grid > *,
  .audience__grid > *,
  .lead-grid > *,
  .lead-card > *,
  .network__panel > *,
  .bonus__banner > *,
  .bonus__quote > *,
  .peer-network__grid > *,
  .video-testimonials__cards > *,
  .certificate-callout__inner > *,
  .site-footer__grid > *,
  .newsletter > * {
    min-width: 0;
  }

  .price-card,
  .problem-card,
  .difference-card,
  .phase-card,
  .lead-card,
  .peer-panel,
  .testimonial-card,
  .video-testimonial-card,
  .certificate-callout__inner,
  .footer-cta__panel {
    max-width: 100%;
  }

  .price-card p,
  .price-card li,
  .problem-card p,
  .difference-card p,
  .phase-card p,
  .lead-card p,
  .network p,
  .bonus p,
  .peer-panel p,
  .testimonial-card p,
  .video-testimonial-card p,
  .faq p,
  .site-footer p,
  .site-footer a {
    overflow-wrap: anywhere;
  }

  /* Compact sticky header with the same accessible menu used on mobile. */
  .site-header__inner {
    position: relative;
    min-height: var(--header-height);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 1.2rem;
  }

  .site-brand { padding-left: 0.25rem; }
  .site-brand__logo { width: clamp(12rem, 23vw, 14rem); max-height: 3.2rem; }
  .button--header { display: none; }

  .site-menu-toggle {
    position: relative;
    z-index: 3;
    width: 44px;
    height: 44px;
    display: grid;
    place-content: center;
    gap: 0.45rem;
    flex: 0 0 44px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    cursor: pointer;
  }

  .site-menu-toggle span {
    width: 1.8rem;
    height: 1px;
    display: block;
    background: #fff;
    transition: transform var(--transition-fast), opacity var(--transition-fast);
  }

  .site-menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(.55rem) rotate(45deg); }
  .site-menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
  .site-menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-.55rem) rotate(-45deg); }

  .site-nav {
    position: absolute;
    top: calc(100% + .75rem);
    left: 0;
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: .35rem;
    padding: 1.4rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1.7rem;
    background: rgba(10,10,10,.98);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(1.5rem);
  }

  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.button) {
    min-height: 44px;
    align-items: flex-start;
    padding: .75rem 1rem;
    font-size: 1.15rem;
    text-align: left;
  }
  .site-nav > a:not(.button)::after { display: none; }
  .site-nav__mobile-cta { display: inline-flex; margin-top: .5rem; }

  /* All formerly fixed section widths become fluid. */
  .pricing__header h2,
  .operator-trap__intro p,
  .quote-feature blockquote p,
  .faculty__header,
  .roadmap__header,
  .roadmap__header h2,
  .roadmap__header > p:last-child,
  .audience__intro h2,
  .network__copy h3,
  .network__copy > p,
  .peer-network__intro,
  .certificate-callout h2,
  .footer-cta__panel h2 {
    width: auto;
    max-width: 100%;
  }

  .pricing-grid,
  .pricing-note,
  .difference-grid,
  .faculty-grid,
  .roadmap-metrics,
  .phase-grid,
  .lead-grid,
  .peer-network__grid,
  .video-testimonials__cards {
    margin-inline: auto;
  }

  .problem-card { width: calc(100% - 2rem); }
  .network__image,
  .quote-feature__image,
  .lead-card__portrait,
  .bonus__portrait,
  .certificate-image { max-width: 100%; }

  .newsletter .form_class_h5PYjAIXDqCp input,
  .newsletter .form_class_h5PYjAIXDqCp select,
  .newsletter .form_class_h5PYjAIXDqCp button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  .hero .button,
  .section .button,
  .footer-cta__panel .button,
  .site-footer .button,
  .button,
  .price-card__text-link,
  .phase-card__trigger,
  .lesson button,
  .peer-gallery__slide,
  .peer-accordion button,
  .faq-list button,
  .newsletter input,
  .newsletter select,
  .newsletter button {
    min-height: 44px;
  }
}

/* Tablet — preserve the desktop composition with measured wrapping. */
@media (min-width: 768px) and (max-width: 1099px) {
  html { font-size: clamp(12px, 1.35vw, 15px) !important; }

  :root {
    --page-gutter: clamp(2rem, 4vw, 3.2rem);
    --section-space: 6rem;
    --section-space-compact: 4.8rem;
  }

  .section { padding-block: var(--section-space); }
  .section-header { gap: 2rem; }
  .section-header h2 { font-size: clamp(3.4rem, 5.1vw, 4.5rem); }

  .hero--home { min-height: 60rem; }
  .hero__inner {
    height: 60rem;
    min-height: 60rem;
    display: flex;
    align-items: center;
    padding-top: 0;
  }
  .hero__content { width: min(35rem, 42vw); gap: 1.35rem; }
  .hero h1 { width: 100%; font-size: clamp(3rem, 4.35vw, 4rem); }
  .hero__lead { width: 100%; font-size: 1.25rem; }
  .feature-strip { width: 100%; grid-template-columns: repeat(2, minmax(0, max-content)); gap: .8rem 1rem; }
  .feature-strip li { white-space: normal; font-size: 1.05rem; }
  .hero .button--wide { min-width: 19rem; }
  .hero-collage {
    top: 0;
    left: 55%;
    width: 45%;
    height: 60rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    transform: none;
    mask-image: linear-gradient(to bottom, transparent 0, #000 4%, #000 88%, transparent 100%);
  }
  .hero-collage__column,
  .hero-portrait { width: 100%; }
  .hero-collage__track { gap: .65rem; padding-inline: .25rem; }

  .partners__panel { width: 100%; min-height: 0; padding: 2.8rem; gap: 2.5rem; }
  .video-card-shell { width: min(52rem, 100%); }

  .pricing { padding-block: 6rem; }
  .pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1rem;
    margin-top: 4rem;
  }
  .price-card,
  .price-card--premium { width: 100%; min-height: 0; height: 100%; padding-inline: .8rem; }
  .price-card--premium { grid-column: auto; justify-self: stretch; }
  .price-card__head,
  .price-card--premium .price-card__head { min-height: 12rem; padding: 1.5rem 1.25rem; }
  .price-card h3 { font-size: 1.35rem; }
  .price-card__subtitle { font-size: .95rem; }
  .price-card__price { font-size: 2.8rem; }
  .price-card__summary,
  .price-card--premium .price-card__summary { min-height: 8.5rem; padding: 1.15rem; font-size: .95rem; }
  .check-list { padding-inline: .35rem; font-size: .88rem; }
  .price-card__payment { font-size: .9rem; }
  .pricing-note { margin-top: 3.5rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .pricing-note .button { justify-self: end; }

  .operator-trap { min-height: 0; }
  .operator-trap__grid { min-height: 0; grid-template-columns: minmax(16rem, 34%) minmax(0, 62%); gap: 4%; }
  .operator-trap__intro { margin-top: 6rem; padding-left: 0; }
  .operator-trap__intro h2 { font-size: clamp(4rem, 7vw, 5.4rem); }
  .operator-trap__intro p { margin-top: 2rem; font-size: 1.15rem; }
  .problem-card {
    width: calc(100% - 2rem);
    margin-left: 2rem;
    grid-template-columns: minmax(8rem, 34%) minmax(0, 66%);
    padding: 1.7rem 1.7rem 1.7rem 2.8rem;
  }
  .problem-card h3 { width: auto; font-size: 1.25rem; }
  .problem-card p { min-height: 0; padding-left: 1.5rem; font-size: 1rem; }

  .quote-feature { min-height: 0; }
  .quote-feature__grid { grid-template-columns: minmax(18rem, 32%) minmax(0, 1fr); gap: 3.5rem; }
  .quote-feature__image { width: 100%; height: 29rem; }
  .quote-feature blockquote { min-height: 29rem; gap: 2rem; }
  .quote-feature blockquote p { font-size: clamp(2.2rem, 4vw, 3rem); }

  .differences { min-height: 0; }
  .difference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .difference-card { height: auto; min-height: 18rem; }

  .faculty { min-height: 0; }
  .faculty-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }

  .roadmap { min-height: 0; }
  .roadmap-metrics { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  .metric-card { min-height: 8.5rem; padding: 1.35rem; }
  .roadmap-visual { width: 100%; min-height: 0; padding: 3rem; }
  .roadmap-orbit {
    width: min(100%, 72rem);
    height: auto;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
    gap: 1.4rem;
  }
  .roadmap-orbit > img { display: none; }
  .roadmap-orbit article,
  .roadmap-orbit article:nth-of-type(n) {
    position: static;
    width: 100%;
    max-width: 21rem;
    min-height: 14rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    transform: none;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 2rem;
    background:
      radial-gradient(circle at 50% 0, rgba(227,178,60,.12), transparent 50%),
      rgba(255,255,255,.055);
    text-align: center;
  }
  .roadmap-orbit strong { font-size: clamp(2.2rem, 3.8vw, 3rem); }
  .roadmap-orbit p { width: min(100%, 15rem); margin-top: 1rem; font-size: 1.05rem; }
  .phase-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .phase-card__trigger { min-height: 9.5rem; padding: 1.65rem; }
  .phase-card__content { padding: 0 1.65rem 1.65rem; }
  .phase-card__trigger strong { font-size: 1.35rem; }
  .phase-card__trigger small { font-size: .95rem; }
  .course-list strong { font-size: .9rem; }
  .course-list span { font-size: .78rem; }

  .audience { min-height: 0; }
  .audience__grid { grid-template-columns: minmax(18rem, 35%) minmax(0, 61%); gap: 4%; }
  .audience__intro { padding-left: 0; }
  .audience__intro h2 { font-size: clamp(3.5rem, 6vw, 5rem); }

  .lead-instructors { min-height: 0; }
  .lead-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .lead-card { grid-template-columns: 1fr; gap: 1.8rem; }
  .lead-card__portrait { width: 100%; height: 28rem; }
  .lead-card__content { padding-inline: .5rem; }

  .network { min-height: 0; }
  .network__panel { grid-template-columns: minmax(0, 1fr) minmax(17rem, 30%); gap: 3.5rem; }
  .network__image { width: 100%; height: 26rem; }

  .bonus { min-height: 0; }
  .bonus__banner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3.5rem; padding: 3.5rem; }
  .bonus__banner h2 { padding-bottom: 3.2rem; }
  .bonus__banner h2::after { width: 100%; }
  .bonus__quote { width: min(66rem, 100%); grid-template-columns: 17rem minmax(0, 1fr); }

  .peer-network { min-height: 0; }
  .peer-network__grid { grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr); gap: 2.5rem; align-items: center; }
  .peer-gallery {
    --peer-carousel-height: 32rem;
    --peer-slide-width: 8rem;
    --peer-active-width: 22rem;
    width: 100%;
    height: var(--peer-carousel-height);
    margin-inline: 0;
  }
  .peer-panel { width: 100%; min-height: 0; margin-inline: 0; padding: 2rem; }

  .testimonial-wall { height: 46rem; }
  .testimonial-lanes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .testimonial-lane:nth-child(n+4) { display: none; }

  .video-testimonials__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .certificate-callout__inner { grid-template-columns: minmax(0, 1fr) minmax(19rem, 39%); gap: 3.5rem; }

  .faq { min-height: 0; padding-bottom: 14rem; }
  .faq__inner { grid-template-columns: minmax(18rem, 30%) minmax(0, 1fr); gap: 3.5rem; }
  .faq__heading { width: 100%; }

  .site-footer { min-height: 0; padding-bottom: 3rem; }
  .site-footer__grid { grid-template-columns: 15rem minmax(0, 1fr); gap: 3.5rem; }
  .site-footer__links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
  .newsletter { grid-template-columns: 16rem minmax(0, 1fr); gap: 2.5rem; }
  .newsletter .form_class_h5PYjAIXDqCp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .newsletter .form_class_h5PYjAIXDqCp button { grid-column: 1 / -1; }
  .hero--no-collage { min-height: 38.5rem; }
  .hero--no-collage .hero__inner {
    height: auto;
    min-height: 38.5rem;
    padding-top: 6.15rem;
    padding-bottom: 1.05rem;
  }
  .hero--no-collage .hero__content { width: min(54rem, 90vw); gap: 1.3rem; }
  .hero--no-collage h1 { max-width: 48rem; font-size: clamp(3.1rem, 4.15vw, 3.75rem); }
  .hero--no-collage .hero__lead { max-width: 44rem; font-size: 1.16rem; }
  .hero--no-collage .feature-strip { grid-template-columns: repeat(2, max-content); gap: .75rem 1.4rem; }
  .hero-headshots { margin-top: -.55rem; padding-block: .12rem 1.3rem; }
  .hero-headshot { width: 11.4rem; height: 14.1rem; }
  .hero-headshots__viewport { padding-bottom: .18rem; }
}

/* Small tablet — retain the desktop visual hierarchy while allowing controlled wrapping. */
@media (min-width: 768px) and (max-width: 899px) {
  .hero__content { width: min(32rem, 41vw); }
  .hero h1 { font-size: clamp(2.9rem, 4.65vw, 3.55rem); }
  .hero-collage { left: 55%; width: 45%; }
  .hero--no-collage .hero__content { width: min(46rem, 90vw); }
  .hero--no-collage h1 { max-width: 43rem; font-size: clamp(2.95rem, 4.4vw, 3.45rem); }
  .hero--no-collage .feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(40rem, 100%); }

  .pricing-grid { gap: .8rem; }
  .price-card__head,
  .price-card--premium .price-card__head { min-height: 13rem; padding-inline: 1rem; }
  .price-card__summary,
  .price-card--premium .price-card__summary { min-height: 9.5rem; }

  .roadmap-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roadmap-orbit article,
  .roadmap-orbit article:nth-of-type(n) { min-height: 13rem; max-width: 18.5rem; }
  .phase-card__trigger { min-height: 10.5rem; padding: 1.4rem; }
  .phase-card__content { padding: 0 1.4rem 1.4rem; }

  .lead-card__portrait { height: 25rem; }
  .network__panel { grid-template-columns: minmax(0, 1fr) minmax(15rem, 31%); gap: 2.5rem; }
  .bonus__quote { grid-template-columns: 15rem minmax(0, 1fr); }
  .peer-network__grid { grid-template-columns: minmax(0, 1.05fr) minmax(17rem, .95fr); gap: 2rem; }
  .peer-gallery {
    --peer-carousel-height: 29rem;
    --peer-slide-width: 7rem;
    --peer-active-width: 19rem;
  }
  .certificate-callout__inner { grid-template-columns: minmax(0, 1fr) minmax(17rem, 38%); }
  .faq__inner { grid-template-columns: minmax(16rem, 29%) minmax(0, 1fr); }
}

/* Mobile */
@media (max-width: 767px) {
  html { font-size: 10px !important; }

  :root {
    --page-gutter: 1.6rem;
    --section-space: 4.8rem;
    --section-space-compact: 3.8rem;
    --header-height: 5.6rem;
    --header-offset: .8rem;
    --button-height: 4.8rem;
    --button-height-sm: 4.4rem;
    --radius-md: 1.3rem;
    --radius-lg: 1.6rem;
    --radius-xl: 2rem;
    --reveal-distance: 1.2rem;
  }

  body { font-size: 1.4rem; }
  .container { width: calc(100% - 3.2rem); }
  .section { padding-block: var(--section-space); }
  .section-header { gap: 1.4rem; }
  .section-header h2 { font-size: clamp(2.8rem, 9vw, 3.6rem); line-height: 1.05; }
  .eyebrow { font-size: 1.2rem; }
  .eyebrow--pill { font-size: 1.05rem; }

  .button {
    min-height: 44px;
    width: 100%;
    padding: 1.1rem 1.6rem;
    font-size: 1.35rem;
  }
  .button-row { width: 100%; flex-direction: column; gap: 1rem; }

  .site-header__inner { padding: .6rem 1rem; border-radius: 2.8rem; }
  .site-brand__logo { width: min(17rem, 56vw); max-height: 3rem; }
  .site-nav { padding: 1.2rem; border-radius: 1.8rem; }
  .site-nav > a:not(.button) { font-size: 1.45rem; }

  /* Compact mobile hero: media stage is roughly 40% shorter than before. */
  .hero--home {
    min-height: auto;
    padding-bottom: 4.8rem;
    background:
      linear-gradient(180deg, rgba(0,0,0,0) 45%, var(--color-background) 69%),
      radial-gradient(ellipse 90% 32% at 82% 8%, rgba(164,111,76,.22), transparent 72%),
      linear-gradient(180deg, #101010, #080808 72%, #0a0a0a);
  }
  .hero__inner { height: auto; min-height: 0; display: block; padding-top: 35rem; }
  .hero__content { width: 100%; gap: 1.6rem; }
  .hero__credential { max-width: 100%; padding: .7rem 1rem; font-size: 1.1rem; line-height: 1.35; }
  .hero h1 { width: 100%; font-size: clamp(3.35rem, 10.5vw, 4.2rem); line-height: .99; letter-spacing: -.05rem; }
  .hero__lead { width: 100%; margin-top: 0; font-size: 1.45rem; line-height: 1.48; }
  .feature-strip { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .8rem; }
  .feature-strip li { align-items: flex-start; font-size: 1.15rem; line-height: 1.35; white-space: normal; }
  .feature-strip img { width: 1.7rem; height: 1.7rem; flex: 0 0 1.7rem; }
  .hero .button,
  .hero .button--secondary,
  .button--wide { width: 100%; min-width: 0; }
  .hero .button { min-height: 46px; font-size: 1.35rem; }

  .hero-collage {
    top: 0;
    left: 50%;
    width: 100vw;
    max-width: none;
    height: 33rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    transform: translateX(-50%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 3%, #000 85%, transparent 100%);
  }
  .hero-collage::before { height: 8rem; }
  .hero-collage__column { width: 100%; }
  .hero-collage__track { gap: .5rem; padding-inline: .25rem; }
  .hero-portrait { width: 100%; border-radius: .7rem; }
  .hero-portrait__name { font-size: 1rem; }
  .hero-portrait__title { bottom: .7rem; font-size: .82rem; }

  .partners { padding-block: 3.6rem; }
  .partners__panel { width: 100%; min-height: 0; grid-template-columns: 1fr; gap: 2.2rem; padding: 2.2rem 1.6rem; }
  .partners__group { width: 100%; }
  .partners__divider { width: 100%; height: 1px; }
  .partners__logos { width: 100%; height: auto; justify-content: center; gap: 1.6rem; }
  .partners__logos img:first-child {
    width: auto;
    height: 3.75rem;
    max-width: min(15rem, 48%);
  }
  .partners__logos img:last-child {
    width: auto;
    height: 3.92rem;
    max-width: min(14rem, 44%);
  }
  .partners__certification { width: min(16rem, 70%); height: auto; }

  .story .section-header { gap: 1.2rem; }
  .video-card-shell { width: 100%; margin: 2.4rem auto; }

  .pricing { padding-block: 4.8rem; }
  .pricing__header h2 { margin-top: .5rem; font-size: 3.2rem; }
  .pricing-grid { width: 100%; grid-template-columns: 1fr; gap: 1.8rem; margin-top: 3rem; }
  .price-card,
  .price-card--premium { min-height: 0; padding: 0 1.2rem 1.2rem; border-radius: 1.8rem; }
  .price-card__head,
  .price-card--premium .price-card__head {
    min-height: 0;
    margin-inline: -1.2rem;
    padding: 1.8rem 1.6rem;
    border-radius: 1.8rem;
  }
  .price-card__badge { position: static; width: max-content; max-width: 100%; margin-bottom: 1.2rem; white-space: normal; }
  .price-card__price { font-size: 3.2rem; letter-spacing: -.06rem; }
  .price-card h3 { font-size: 1.8rem; }
  .price-card__subtitle { font-size: 1.25rem; }
  .price-card__summary,
  .price-card--premium .price-card__summary { min-height: 0; margin-top: 1.2rem; padding: 1.2rem; font-size: 1.3rem; }
  .check-list { gap: 1rem; padding: 1.6rem .3rem; font-size: 1.25rem; line-height: 1.4; }
  .price-card__payment { margin: .5rem 0 1rem; font-size: 1.2rem; }
  .price-card__text-link { min-height: 44px; font-size: 1.15rem; }
  .pricing-note { width: 100%; margin-top: 3rem; grid-template-columns: 1fr; gap: 1.8rem; }
  .pricing-note p { font-size: 1.4rem; }

  .operator-trap { min-height: 0; padding-block: 4.8rem; }
  .operator-trap__grid { min-height: 0; grid-template-columns: 1fr; gap: 3rem; }
  .operator-trap__intro { position: static; margin-top: 0; padding-left: 0; }
  .operator-trap__intro h2 { font-size: 4rem; }
  .operator-trap__intro p { width: 100%; margin-top: 1.5rem; font-size: 1.4rem; }
  .problem-stack { gap: 1.2rem; }
  .problem-card {
    width: 100%;
    min-height: 0;
    margin-left: 0;
    grid-template-columns: 1fr;
    gap: .8rem;
    padding: 4.2rem 1.6rem 1.6rem;
  }
  .problem-card span { top: 1.2rem; left: 1.4rem; width: 2.8rem; height: 2.8rem; transform: none; font-size: 1.2rem; }
  .problem-card h3 { width: auto; font-size: 1.7rem; }
  .problem-card p { min-height: 0; padding: 0; border-left: 0; font-size: 1.3rem; }

  .quote-feature { min-height: 0; padding-block: 4.8rem; }
  .quote-feature__grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .quote-feature__image { width: min(24rem, 100%); height: 27rem; margin-inline: auto; }
  .quote-feature blockquote { min-height: 0; gap: 1.8rem; }
  .quote-feature blockquote > span { top: -4rem; left: 50%; transform: translateX(-50%); font-size: 10rem; }
  .quote-feature blockquote p { font-size: 2.4rem; line-height: 1.2; }
  .quote-feature blockquote footer { padding-top: 1.8rem; font-size: 1.3rem; }

  .differences { min-height: 0; padding-block: 4.8rem; }
  .difference-grid { grid-template-columns: 1fr; gap: 1.2rem; margin-top: 3rem; }
  .difference-card { height: auto; min-height: 15rem; padding: 2rem 1.6rem; }
  .difference-card h3 { font-size: 1.7rem; }
  .difference-card p { font-size: 1.3rem; }

  .faculty { min-height: 0; }
  .faculty__header p { font-size: 1.4rem; }
  .faculty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .faculty-card { max-width: none; border-radius: 1rem; }
  .faculty-card__title { font-size: 1.15rem; }
  .faculty-card__description { font-size: .95rem; }
  .faculty-load-controls { gap: 1rem; }
  .faculty-load-button { min-width: 0; }

  .roadmap { min-height: 0; }
  .roadmap__header,
  .roadmap__header h2,
  .roadmap__header > p:last-child { width: 100%; }
  .roadmap__header > p:last-child { font-size: 1.4rem; }
  .roadmap-metrics { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
  .metric-card { min-height: 0; padding: 1.7rem; }
  .metric-card strong,
  .metric-card p { font-size: 1.25rem; }
  .roadmap-visual { min-height: 0; margin-top: 3rem; padding: 1.6rem; }
  .roadmap-orbit {
    width: min(100%, 34rem);
    height: auto;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.2rem;
  }
  .roadmap-orbit > img { display: none; }
  .roadmap-orbit article,
  .roadmap-orbit article:nth-of-type(n) {
    position: static;
    width: 100%;
    max-width: 32rem;
    min-height: 11.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.8rem;
    transform: none;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 2rem;
    background:
      radial-gradient(circle at 50% 0, rgba(227,178,60,.12), transparent 52%),
      rgba(255,255,255,.055);
    text-align: center;
  }
  .roadmap-orbit strong { font-size: 2.8rem; line-height: 1; }
  .roadmap-orbit p { width: min(100%, 24rem); margin-top: 1rem; font-size: 1.25rem; }
  .phase-grid { grid-template-columns: 1fr; gap: 1.8rem; margin-top: 3rem; }
  .phase-card {
    border-color: rgba(227,178,60,.34);
    border-radius: 1.8rem;
    background:
      radial-gradient(circle at 88% 0, rgba(227,178,60,.11), transparent 34%),
      rgba(255,255,255,.065);
    box-shadow: 0 1.6rem 3.6rem rgba(0,0,0,.18);
  }
  .phase-card__trigger { min-height: 9.4rem; padding: 2.2rem; align-items: center; }
  .phase-card__trigger span { gap: .8rem; }
  .phase-card__trigger strong { color: var(--color-primary); font-size: 2.15rem; line-height: 1; }
  .phase-card__trigger small { max-width: 27rem; font-size: 1.45rem; line-height: 1.45; }
  .phase-card__trigger b { width: 3rem; height: 3rem; font-size: 1.6rem; }
  .phase-card__content { padding: 0 2.2rem 2.2rem; }
  .course-list li { padding: 1.55rem .2rem; }
  .course-list strong { font-size: 1.4rem; line-height: 1.4; }
  .course-list span { margin-top: .5rem; font-size: 1.2rem; line-height: 1.45; }
  .lesson button { min-height: 48px; }
  .lesson button strong,
  .lesson button small,
  .lesson p,
  .phase-card__live { font-size: 1.3rem; }

  .audience { min-height: 0; }
  .audience__grid { grid-template-columns: 1fr; gap: 3rem; }
  .audience__intro { position: static; padding: 0; }
  .audience__intro h2 { width: 100%; font-size: 3.4rem; }
  .audience__intro .button { min-width: 0; }
  .audience-list article { min-height: 0; padding: 1.8rem 0; }
  .audience-list img { width: 2rem; height: 2rem; }
  .audience-list h3 { font-size: 1.6rem; }
  .audience-list p { font-size: 1.3rem; }

  .lead-instructors { min-height: 0; }
  .lead-instructors .section-header h2 { font-size: 3.5rem; }
  .lead-grid { grid-template-columns: 1fr; gap: 4rem; }
  .lead-card { grid-template-columns: 1fr; gap: 2rem; }
  .lead-card__portrait { width: 100%; height: 32rem; }
  .lead-card__content { padding: 0; }
  .lead-card__content h3 { font-size: 2.5rem; }
  .lead-card__content > p:not(.eyebrow) { min-height: 0; font-size: 1.4rem; }
  .lead-card__content small { font-size: 1.2rem; }

  .network { min-height: 0; }
  .network h2 { font-size: 3.2rem; letter-spacing: -.04rem; }
  .network__panel { grid-template-columns: 1fr; gap: 2.6rem; padding: 2.4rem 0 0; border-right: 0; border-radius: 0; }
  .network__copy h3 { font-size: 2.2rem; }
  .network__copy > p { font-size: 1.4rem; }
  .network__image { width: 100%; height: 28rem; }

  .bonus { min-height: 0; }
  .bonus__banner { min-height: 0; grid-template-columns: 1fr; gap: 2.2rem; padding: 2.4rem 1.8rem; }
  .bonus__banner h2 { padding-bottom: 2.2rem; font-size: 2.8rem; }
  .bonus__banner h2::after { width: 100%; }
  .bonus__banner > div p { font-size: 1.4rem; }
  .bonus__quote { width: 100%; grid-template-columns: 1fr; gap: 2.4rem; margin-top: 3.5rem; }
  .bonus__portrait { width: 100%; height: 26rem; }
  .bonus__portrait img { left: 50%; width: auto; height: 30rem; transform: translateX(-50%); }
  .bonus__quote blockquote > p { font-size: 1.9rem; }

  .peer-network { min-height: 0; }
  .peer-network__intro { width: 100%; }
  .peer-network__intro h2 { font-size: 3.4rem; }
  .peer-network__intro p { font-size: 1.35rem; }
  .peer-network__grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .peer-gallery {
    --peer-carousel-height: 28rem;
    --peer-slide-width: 7rem;
    --peer-active-width: min(21rem, calc(100vw - 8rem));
    width: 100%;
    height: var(--peer-carousel-height);
    margin-left: 0;
    padding-left: 0;
  }
  .peer-panel { min-height: 0; padding: 1.6rem; }
  .peer-accordion button { min-height: 44px; font-size: 1.45rem; }
  .peer-accordion p,
  .peer-panel__note { font-size: 1.25rem; }

  .testimonials { min-height: 0; padding-block: 4.8rem 3.8rem; }
  .testimonials__wordmark { display: none; }
  .testimonials__header-wrap { margin-bottom: 2.4rem; }
  .testimonial-wall { width: calc(100% - 3.2rem); height: auto; overflow: visible; mask-image: none; }
  .testimonial-lanes { grid-template-columns: 1fr; gap: 1.4rem; }
  .testimonial-lane { height: auto; overflow: visible; }
  .testimonial-lane:nth-child(n+2) { display: block; }
  .testimonial-lane__track { animation: none; }
  .testimonial-lane__group { gap: 1.4rem; }
  .testimonial-lane__group[aria-hidden='true'] { display: none; }
  .testimonial-card { min-height: 0; padding: 3rem 1.8rem 2rem; }
  .testimonial-card > p { font-size: 1.35rem; }
  .testimonial-card footer strong { font-size: 1.35rem; }
  .testimonial-card footer small { font-size: 1.2rem; }

  .video-testimonials { padding-block: 4.8rem; }
  .video-testimonials__inner { width: calc(100% - 3.2rem); }
  .video-testimonials__header h2 { font-size: 3.4rem; }
  .video-testimonials__header > p:last-child { font-size: 1.4rem; }
  .video-testimonials__featured { margin-block: 3rem; padding: 2.4rem 1.8rem; }
  .video-testimonials__featured blockquote { font-size: 1.55rem; }
  .video-testimonials__featured figcaption { font-size: 1.05rem; }
  .video-testimonials__cards { grid-template-columns: 1fr; gap: 1.8rem; }
  .video-testimonial-card__content { padding: 1.8rem; }
  .video-testimonial-card__content h3 { font-size: 1.9rem; }
  .video-testimonial-card__content p { font-size: 1.35rem; }
  .video-testimonial-card__content > span { font-size: 1.05rem; }
  .video-testimonial-card__play { width: 5rem; height: 5rem; font-size: 1.9rem; }
  .video-modal { padding: 1.6rem; }
  .video-modal__close { top: -4.8rem; }

  .certificate-callout { padding-block: 4rem; }
  .certificate-callout__inner { min-height: 0; grid-template-columns: 1fr; gap: 2.8rem; padding: 2.8rem 1.8rem; }
  .certificate-callout h2 { font-size: 3.2rem; }
  .certificate-callout p { font-size: 1.4rem; }
  .certificate-callout .button { min-width: 0; }
  .certificate-image { width: 100%; justify-self: stretch; }

  .pricing--repeat { padding-top: 4.8rem; }
  .faq { min-height: 0; padding-bottom: 13rem; }
  .faq__inner { width: calc(100% - 3.2rem); max-width: none; display: block; }
  .faq__heading {
    width: 100%;
    margin-block: 0 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .faq__heading h2 { font-size: 3.2rem; line-height: 1.05; text-align: center; }
  .faq__heading > span { display: none; }
  .faq-list button { min-height: 54px; font-size: 1.35rem; }
  .faq-list article > p { font-size: 1.3rem; }

  .site-footer { min-height: 0; padding: 23rem 1.6rem 2.4rem; }
  .footer-cta__panel { top: -5rem; width: calc(100% - 3.2rem); min-height: 23rem; padding: 3rem 1.8rem; }
  .footer-cta__panel h2 { width: 100%; font-size: 3.2rem; }
  .footer-cta__panel p { font-size: 1.35rem; }
  .footer-cta__panel .button { min-width: 0; }
  .site-footer__grid {
    position: relative;
    z-index: 1;
    grid-template-columns: 1fr;
    gap: 3.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .site-footer__brand {
    width: min(22rem, 100%);
    min-height: 5.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    margin: 0;
  }
  .site-footer__logo {
    width: min(20rem, 100%);
    max-width: 100%;
    max-height: 4.4rem;
    object-position: left center;
  }
  .site-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.5rem; }
  .site-footer__links strong { font-size: 1.2rem; }
  .site-footer__links a { font-size: 1.45rem; }
  .newsletter { grid-template-columns: 1fr; gap: 1.8rem; padding-top: 3rem; }
  .newsletter__intro h3 { font-size: 2rem; }
  .newsletter__intro p { max-width: 100%; font-size: 1.35rem; }
  .newsletter .form_class_h5PYjAIXDqCp { grid-template-columns: 1fr; gap: 1rem; }
  .newsletter .form_class_h5PYjAIXDqCp input,
  .newsletter .form_class_h5PYjAIXDqCp select,
  .newsletter .form_class_h5PYjAIXDqCp button { min-height: 44px; font-size: 1.35rem; }
  .site-footer__bottom { grid-template-columns: 1fr; gap: 1.6rem; font-size: 1.15rem; }
  .site-footer__bottom > p:first-child,
  .site-footer__legal,
  .site-footer__bottom > p:last-child { grid-column: 1; grid-row: auto; justify-self: start; }

  .hero--no-collage {
    min-height: 0;
    padding-bottom: 0;
    background:
      linear-gradient(180deg, rgba(0,0,0,0) 66%, var(--color-background) 100%),
      radial-gradient(ellipse 92% 42% at 50% 12%, rgba(164,111,76,.19), transparent 74%),
      linear-gradient(180deg, #101010, #080808 78%, #0a0a0a);
  }
  .hero--no-collage .hero__inner {
    min-height: 0;
    padding-top: 8.5rem;
    padding-bottom: 2.2rem;
  }
  .hero--no-collage .hero__content { align-items: center; gap: 1.45rem; text-align: center; }
  .hero--no-collage h1 { max-width: 35rem; font-size: clamp(2.85rem, 8.5vw, 3.35rem); line-height: 1.04; letter-spacing: -.035rem; }
  .hero--no-collage .hero__lead { max-width: 34rem; font-size: 1.32rem; line-height: 1.5; }
  .hero--no-collage .feature-strip { width: min(36rem, 100%); grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .hero-headshots { margin-top: 0; padding-block: .08rem 1.1rem; }
  .hero-headshot { width: 11.2rem; height: 13.9rem; border-radius: .8rem; }
  .hero-headshot figcaption { right: .55rem; bottom: .58rem; left: .55rem; font-size: .86rem; }
  .hero-headshots__group { gap: .5rem; padding-right: .5rem; }
  .hero-headshots__viewport { padding-bottom: .18rem; }
  .price-card__access-note { font-size: 1.05rem; }
  .button--light-card { min-height: 44px; font-size: 1.15rem; }
}

@media (max-width: 380px) {
  :root { --page-gutter: 1.4rem; }
  .container { width: calc(100% - 2.8rem); }
  .hero__inner { padding-top: 32rem; }
  .hero--no-collage .hero__inner { padding-top: 8.2rem; }
  .hero-collage { width: 100vw; max-width: none; height: 30rem; }
  .hero-headshot { width: 10.4rem; height: 13rem; }
  .hero h1 { font-size: 3.25rem; }
  .feature-strip { grid-template-columns: 1fr; }
  .faculty-grid { gap: .8rem; }
  .roadmap-metrics { grid-template-columns: 1fr; }
  .site-footer__links { grid-template-columns: 1fr; }
}


@media (prefers-reduced-motion: reduce) {
  .hero-headshots__track { animation: none !important; transform: none !important; }
  .hero-headshots__viewport { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
  .testimonial-lane__track { animation: none !important; }
  .peer-gallery__track,
  .peer-gallery__slide,
  .peer-gallery__slide img { transition: none !important; }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal--left, .reveal--right, .reveal--scale {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* Cross-browser image rendering safeguards. */
img.ooceo-image,
img.skip-lazy {
  content-visibility: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.hero-headshot img {
  image-rendering: auto;
  transform: none;
  -webkit-transform: none;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
}

/* Never leave content invisible if a browser delays an observer callback. */
.reveal.ooceo-reveal-failsafe,
.reveal.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

/* Cancellation & Refund Policy page */
.policy-body {
  background: #f1eee8;
}

.policy-page {
  background: #f1eee8;
}

.policy-hero {
  position: relative;
  min-height: 43rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: calc(var(--header-height) + 7.4rem) 0 7.6rem;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.2) 100%),
    radial-gradient(ellipse 64% 84% at 13% 28%, rgba(82, 82, 82, 0.35) 0%, rgba(12, 12, 12, 0.08) 54%, transparent 74%),
    radial-gradient(ellipse 58% 74% at 88% 12%, rgba(164, 111, 76, 0.28) 0%, rgba(92, 65, 49, 0.1) 44%, transparent 72%),
    linear-gradient(90deg, #080808 0%, #111111 48%, #090909 100%);
}

.policy-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 4.2rem 4.2rem;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.48), transparent 86%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.48), transparent 86%);
}

.policy-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -20rem;
  width: 62rem;
  height: 40rem;
  transform: translateX(-50%);
  border: 1px solid rgba(227, 178, 60, 0.11);
  border-radius: 50%;
  box-shadow:
    0 0 0 5rem rgba(227, 178, 60, 0.025),
    0 0 0 10rem rgba(227, 178, 60, 0.018),
    0 0 8rem rgba(227, 178, 60, 0.08);
}

.policy-hero__art {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.policy-hero__art::before,
.policy-hero__art::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(0.2rem);
}

.policy-hero__art::before {
  top: 8rem;
  right: -9rem;
  width: 27rem;
  height: 27rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 5rem rgba(227, 178, 60, 0.025);
}

.policy-hero__art::after {
  bottom: 3rem;
  left: -8rem;
  width: 22rem;
  height: 22rem;
  background: radial-gradient(circle, rgba(227, 178, 60, 0.08), transparent 69%);
}

.policy-hero__inner {
  width: 100%;
  display: flex;
  justify-content: center;
}

.policy-hero__content {
  width: min(74rem, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.policy-hero__eyebrow {
  margin-bottom: 2rem;
  text-transform: uppercase;
}

.policy-hero h1 {
  max-width: 69rem;
  color: var(--color-text-light);
  font-size: clamp(4.4rem, 6vw, 6.8rem);
  font-weight: var(--weight-semibold);
  line-height: 0.94;
  letter-spacing: -0.075em;
}

.policy-hero h1 span {
  display: block;
  color: var(--color-primary);
}

.policy-hero__lead {
  max-width: 56rem;
  margin-top: 2.2rem;
  color: rgba(243, 239, 236, 0.78);
  font-family: var(--font-body);
  font-size: 1.12rem;
  line-height: 1.7;
}

.policy-hero__meta {
  width: min(46rem, 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3rem 2rem;
  margin-top: 2.7rem;
  padding-top: 1.55rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.policy-operator {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-ui);
  font-size: 0.92rem;
  line-height: 1.45;
}

.policy-hero__anchor {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--color-primary);
  font-family: var(--font-ui);
  font-size: 0.9rem;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.025em;
  text-transform: uppercase;
  transition: color var(--transition-fast), transform var(--transition-fast);
}

.policy-hero__anchor span {
  font-size: 1.2em;
}

.policy-hero__anchor:hover,
.policy-hero__anchor:focus-visible {
  color: var(--color-primary-bright);
  transform: translateY(0.12rem);
}

.policy-section {
  position: relative;
  padding: 6.8rem 0 17rem;
  background:
    radial-gradient(circle at 9% 8%, rgba(227, 178, 60, 0.12), transparent 24rem),
    radial-gradient(circle at 94% 47%, rgba(17, 17, 17, 0.045), transparent 30rem),
    #f1eee8;
}

.policy-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100% - (2 * var(--page-gutter))), var(--container-max));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(17, 17, 17, 0.16), transparent);
}

.policy-content {
  width: min(calc(100% - (2 * var(--page-gutter))), 78rem);
}

.policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.45rem;
  counter-reset: policy-section;
}

.policy-block {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 3.15rem 3.15rem 3.35rem;
  border: 1px solid rgba(16, 16, 16, 0.09);
  border-radius: 1.55rem;
  background:
    linear-gradient(135deg, rgba(227, 178, 60, 0.038), transparent 42%),
    #fff;
  box-shadow: 0 1.35rem 3.2rem rgba(31, 27, 20, 0.075);
}

.policy-block::before {
  content: attr(data-policy-index);
  width: 2.8rem;
  height: 2.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  border: 1px solid rgba(227, 178, 60, 0.52);
  border-radius: 50%;
  background: rgba(227, 178, 60, 0.1);
  color: #7a5710;
  font-family: var(--font-label);
  font-size: 0.78rem;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
}

.policy-block::after {
  content: '';
  position: absolute;
  top: 0;
  left: 2.4rem;
  width: 5.5rem;
  height: 0.22rem;
  border-radius: 0 0 1rem 1rem;
  background: var(--color-primary);
}

.policy-block--wide {
  grid-column: 1 / -1;
}

.policy-block h2 {
  max-width: 57rem;
  margin-bottom: 1.45rem;
  color: var(--color-text);
  font-size: clamp(1.75rem, 2.3vw, 2.35rem);
  font-weight: var(--weight-semibold);
  line-height: 1.18;
  letter-spacing: -0.045em;
}

.policy-subsection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2.2rem;
}

.policy-subsection {
  padding: 2.15rem;
  border: 1px solid rgba(16, 16, 16, 0.08);
  border-radius: 1.1rem;
  background: #f7f5f1;
}

.policy-subsection h3 {
  max-width: 53rem;
  margin-bottom: 1.15rem;
  color: var(--color-text);
  font-size: 1.28rem;
  font-weight: var(--weight-semibold);
  line-height: 1.36;
  letter-spacing: -0.025em;
}

.policy-content p {
  max-width: 57rem;
  color: rgba(16, 16, 16, 0.72);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.72;
}

.policy-content p + p {
  margin-top: 1rem;
}

.policy-content strong {
  color: var(--color-text);
  font-weight: var(--weight-semibold);
}

.policy-content a:not(.button) {
  color: #825c0a;
  font-weight: var(--weight-semibold);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

.policy-content a:not(.button):hover,
.policy-content a:not(.button):focus-visible {
  color: #4e3604;
}

.policy-block--contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  border-color: rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 88% 18%, rgba(227, 178, 60, 0.14), transparent 23rem),
    linear-gradient(135deg, #262626, #151515);
  box-shadow: 0 1.5rem 3.5rem rgba(14, 14, 14, 0.18);
}

.policy-block--contact::after {
  background: var(--color-primary);
}

.policy-block--contact::before {
  border-color: rgba(227, 178, 60, 0.55);
  background: rgba(227, 178, 60, 0.1);
  color: var(--color-primary);
}

.policy-block--contact h2 {
  color: #fff;
}

.policy-block--contact p {
  color: rgba(255, 255, 255, 0.7);
}

.policy-block--contact a:not(.button) {
  color: var(--color-primary-bright);
}

.policy-contact__button {
  flex: 0 0 auto;
  min-width: 14.5rem;
}

@media (max-width: 68.75rem) {
  .policy-hero {
    min-height: 40rem;
    padding-top: calc(var(--header-height) + 6.2rem);
  }

  .policy-hero h1 {
    font-size: clamp(4rem, 7vw, 5.5rem);
  }

  .policy-section {
    padding-top: 5.4rem;
  }

  .policy-content {
    width: 100%;
  }

  .policy-block {
    padding: 2.65rem;
  }

  .policy-subsection-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 47.9375rem) {
  .policy-hero {
    min-height: 39rem;
    padding: calc(var(--header-height) + 4.4rem) 0 5rem;
  }

  .policy-hero::before {
    background-size: 3.2rem 3.2rem;
  }

  .policy-hero::after {
    bottom: -15rem;
    width: 38rem;
    height: 28rem;
  }

  .policy-hero__content {
    align-items: flex-start;
    text-align: left;
  }

  .policy-hero__eyebrow {
    margin-bottom: 1.65rem;
  }

  .policy-hero h1 {
    max-width: 100%;
    font-size: clamp(3.7rem, 14vw, 4.85rem);
    line-height: 0.96;
    letter-spacing: -0.067em;
  }

  .policy-hero__lead {
    margin-top: 1.8rem;
    font-size: 1.15rem;
    line-height: 1.62;
  }

  .policy-hero__meta {
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.3rem;
    text-align: left;
  }

  .policy-operator {
    max-width: 15rem;
    font-size: 0.92rem;
  }

  .policy-hero__anchor {
    flex: 0 0 auto;
    font-size: 0.8rem;
  }

  .policy-section {
    padding: 3.6rem 0 14.5rem;
  }

  .policy-section::before {
    width: calc(100% - 2.7rem);
  }

  .policy-grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .policy-block,
  .policy-block--wide {
    grid-column: 1;
  }

  .policy-block {
    padding: 2.25rem 1.65rem 2.4rem;
    border-radius: 1.25rem;
  }

  .policy-block::before {
    width: 2.55rem;
    height: 2.55rem;
    margin-bottom: 1.55rem;
  }

  .policy-block::after {
    left: 1.65rem;
  }

  .policy-block h2 {
    margin-bottom: 1.15rem;
    font-size: 1.85rem;
    line-height: 1.22;
  }

  .policy-subsection-grid {
    margin-top: 1.7rem;
    gap: 0.95rem;
  }

  .policy-subsection {
    padding: 1.55rem;
  }

  .policy-subsection h3 {
    font-size: 1.25rem;
  }

  .policy-content p {
    font-size: 1.08rem;
    line-height: 1.68;
  }

  .policy-block--contact {
    display: block;
  }

  .policy-contact__button {
    width: 100%;
    margin-top: 1.8rem;
  }
}
