/* NESkills Center of Excellence - mobile-first v8 */
:root {
  --ink: #061011;
  --navy: #071719;
  --charcoal: #101918;
  --deep-teal: #073f42;
  --teal: #46b8ad;
  --gold: #f2b93b;
  --muted-gold: #d7a84f;
  --plum: #0d1718;
  --cream: #f7f0e6;
  --soft-green: #173d32;
  --text-light: #fff8ea;
  --text-muted: rgba(248, 244, 236, .78);
  --border-gold: rgba(242, 185, 59, .48);
  --border-teal: rgba(18, 198, 189, .35);
  --shadow: 0 20px 50px rgba(0,0,0,.28);
  --radius: 22px;
  --max: 1160px;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 76px;
}
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--ink);
  color: var(--text-light);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: absolute;
  top: -48px;
  left: 12px;
  z-index: 9999;
  background: var(--gold);
  color: var(--ink);
  padding: 10px 12px;
  border-radius: 10px;
}
.skip-link:focus { top: 12px; }

.container {
  width: min(100% - 28px, var(--max));
  margin-inline: auto;
}

/* Header: tight */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(3, 14, 15, .96);
  border-bottom: 1px solid rgba(242,185,59,.18);
  backdrop-filter: blur(12px);
}
.header-wrap {
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.brand img {
  width: auto;
  height: 38px;
  object-fit: contain;
}
.menu-toggle {
  margin-left: auto;
  border: 1px solid rgba(242,185,59,.45);
  color: var(--gold);
  background: rgba(255,255,255,.04);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: .82rem;
  font-weight: 800;
}
.primary-nav {
  display: none;
  position: absolute;
  left: 14px;
  right: 14px;
  top: 68px;
  padding: 12px;
  border: 1px solid var(--border-gold);
  border-radius: 16px;
  background: rgba(5,18,19,.98);
  box-shadow: var(--shadow);
}
.primary-nav.open { display: grid; gap: 4px; }
.primary-nav a {
  padding: 10px 12px;
  color: rgba(248,244,236,.86);
  border-radius: 12px;
  font-size: .92rem;
}
.primary-nav a:focus,
.primary-nav a:hover {
  background: rgba(242,185,59,.12);
  color: var(--text-light);
  outline: none;
}
.header-cta { display: none; }

/* Hero */
.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 15%, rgba(18,198,189,.18), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(242,185,59,.10), transparent 30%),
    linear-gradient(135deg, #051112 0%, #082326 48%, #071112 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,185,59,.5), transparent);
}
.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  padding: 24px 0 24px;
}
.hero-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  color: var(--gold);
  border: 1px solid rgba(242,185,59,.68);
  background: rgba(242,185,59,.06);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: .76rem;
  line-height: 1;
  font-weight: 800;
  margin-bottom: 14px;
}
.hero h1 {
  margin: 0;
  max-width: 720px;
  font-size: clamp(2.05rem, 12vw, 3.1rem);
  line-height: .95;
  letter-spacing: -0.065em;
  font-weight: 900;
}
.hero h1 span { color: var(--gold); }
.hero-lead {
  max-width: 700px;
  margin: 14px 0 0;
  color: var(--text-muted);
  font-size: .98rem;
  line-height: 1.55;
}
.hero-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 18px;
}
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  border-radius: 999px;
  padding: 11px 16px;
  font-size: .89rem;
  font-weight: 850;
  border: 1px solid transparent;
}
.btn-primary {
  background: linear-gradient(135deg, var(--gold), #ffd978);
  color: #171107;
  box-shadow: 0 12px 26px rgba(242,185,59,.22);
}
.btn-secondary {
  background: rgba(255,255,255,.04);
  color: var(--text-light);
  border-color: rgba(248,244,236,.28);
}
.availability {
  margin: 13px 0 0;
  color: rgba(248,244,236,.70);
  font-size: .8rem;
  line-height: 1.45;
}

/* Mini stats: mobile one row */
.hero-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  width: 100%;
  margin-top: 14px;
}
.mini-stat {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 4px;
  border-radius: 14px;
  border: 1px solid rgba(242,185,59,.26);
  background: rgba(5, 30, 32, .76);
  text-align: center;
}
.mini-stat img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.mini-stat-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.05;
}
.mini-stat-text strong {
  color: var(--gold);
  font-size: .76rem;
  font-weight: 900;
  white-space: nowrap;
}
.mini-stat-text span {
  color: var(--text-light);
  font-size: .58rem;
  white-space: nowrap;
}

/* Coach card */
.coach-card {
  overflow: hidden;
  border: 1px solid rgba(242,185,59,.26);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 80% 10%, rgba(242,185,59,.12), transparent 28%),
    linear-gradient(180deg, rgba(9,38,41,.92), rgba(5,18,19,.96));
  box-shadow: var(--shadow);
}
.coach-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  padding: 12px 12px 0;
}
.coach-trust-pills span {
  display: inline-flex;
  color: var(--gold);
  border: 1px solid rgba(242,185,59,.66);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: .66rem;
  line-height: 1;
  font-weight: 850;
  background: rgba(5, 18, 19, .52);
  white-space: nowrap;
}
.coach-video {
  position: relative;
  min-height: 255px;
  margin: 10px 12px 0;
  overflow: hidden;
  display: block;
  border-radius: 18px;
  background: linear-gradient(135deg, #092f32, #081112);
}
.coach-image {
  position: absolute;
  inset: 0 0 0 auto;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(-16px 20px 24px rgba(0,0,0,.42));
}
.coach-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,13,14,.84), rgba(4,13,14,.16) 55%, rgba(4,13,14,.05));
}
.play-button {
  position: absolute;
  z-index: 2;
  left: 20px;
  bottom: 48px;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--gold);
  color: #151007;
  font-size: 1.05rem;
  box-shadow: 0 14px 30px rgba(242,185,59,.25);
}
.watch-cue {
  position: absolute;
  z-index: 2;
  left: 20px;
  bottom: 20px;
  color: rgba(248,244,236,.92);
  font-weight: 800;
  font-size: .78rem;
}
.coach-content {
  padding: 16px 16px 18px;
  color: var(--text-light);
  background: rgba(4, 15, 16, .72);
}
.eyebrow {
  margin: 0 0 5px;
  color: var(--gold);
  font-weight: 900;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coach-content h2 {
  margin: 0;
  color: var(--text-light);
  font-size: 1.28rem;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.coach-content p:not(.eyebrow) {
  margin: 10px 0 0;
  color: rgba(248,244,236,.88);
  font-size: .88rem;
  line-height: 1.48;
}
.coach-signature {
  display: grid;
  gap: 2px;
  margin-top: 12px;
}
.coach-signature strong {
  color: var(--text-light);
  font-size: .92rem;
}
.coach-signature span {
  color: rgba(248,244,236,.68);
  font-size: .78rem;
}
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.chip-btn {
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text-light);
  padding: 8px 10px;
  font-size: .72rem;
  font-weight: 800;
}
.chip-teal { background: rgba(242,185,59,.08); border-color: rgba(242,185,59,.32); }
.chip-gold { background: rgba(242,185,59,.12); border-color: rgba(242,185,59,.52); color: #ffe6a7; }
.chip-plum { background: rgba(242,185,59,.08); border-color: rgba(242,185,59,.32); }
.chip-btn:focus-visible, .btn:focus-visible, .course-link:focus-visible, .menu-toggle:focus-visible {
  outline: 3px solid rgba(242,185,59,.60);
  outline-offset: 3px;
}

.chip-popover {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2000;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border-gold);
  background: rgba(5,18,19,.98);
  color: var(--text-light);
  box-shadow: var(--shadow);
  font-size: .88rem;
  line-height: 1.45;
}

/* Courses */
.courses-section {
  background:
    radial-gradient(circle at 5% 5%, rgba(18,198,189,.08), transparent 26%),
    linear-gradient(180deg, #f7f0e6 0%, #efe2ce 100%);
  color: #111817;
  padding: 34px 0 38px;
}
.section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 18px;
}
.section-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: #d7a84f;
  border: 1px solid rgba(123,18,56,.22);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 900;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.section-head h2 {
  margin: 0;
  font-size: clamp(1.5rem, 7vw, 2.35rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.section-head p {
  margin: 10px auto 0;
  color: rgba(17,24,23,.72);
  font-size: .92rem;
  line-height: 1.45;
}
.course-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.course-card {
  min-height: 172px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  align-items: center;
  padding: 16px 10px 12px;
  border-radius: 22px;
  border: 1px solid rgba(17,24,23,.10);
  box-shadow: 0 14px 30px rgba(17,24,23,.10);
  overflow: hidden;
}
.course-card h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.course-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 5px;
  font-size: .75rem;
  line-height: 1.18;
}
.course-card li {
  position: relative;
  padding: 0;
}
.course-link {
  margin-top: 12px;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 10px;
  font-weight: 900;
  font-size: .74rem;
  background: rgba(255,255,255,.78);
  color: #101817;
}
.desktop-label { display: none; }
.mobile-label { display: inline; }

.course-card-teal { background: linear-gradient(145deg, rgba(7,45,47,.94), rgba(5,20,22,.98)); color: white; }
.course-card-gold { background: linear-gradient(145deg, rgba(72,50,18,.94), rgba(242,185,59,.34)); color: #1b1205; }
.course-card-green { background: linear-gradient(145deg, rgba(8,38,35,.94), rgba(5,20,22,.98)); color: white; }
.course-card-plum { background: linear-gradient(145deg, rgba(16,27,27,.94), rgba(5,18,20,.98)); color: white; }
.course-card-plum .course-link,
.course-card-teal .course-link,
.course-card-green .course-link { color: #101817; }

/* Desktop */
@media (min-width: 760px) {
  .hero-actions { grid-template-columns: max-content max-content; }
  .course-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .course-card {
    min-height: 220px;
    aspect-ratio: 1 / 1;
    padding: 22px 14px 16px;
  }
  .course-card h3 { font-size: 1.08rem; }
  .course-card ul {
    font-size: 1.03rem;
    line-height: 1.55;
    gap: 4px;
    width: 100%;
    justify-items: center;
    text-align: center;
  }
  .course-card li { text-align: center; }
  .course-link {
    align-self: center;
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
  }
  .desktop-label { display: inline; }
  .mobile-label { display: none; }
}

@media (min-width: 960px) {
  html { scroll-padding-top: 70px; }
  .container { width: min(100% - 56px, var(--max)); }
  .header-wrap { min-height: 56px; padding: 5px 0; }
  .brand img { height: 40px; }
  .menu-toggle { display: none; }
  .primary-nav {
    margin-left: auto;
    position: static;
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .primary-nav a {
    font-size: .78rem;
    padding: 8px 7px;
  }
  .header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 999px;
    padding: 8px 12px;
    background: var(--gold);
    color: #161006;
    font-weight: 900;
    font-size: .78rem;
    white-space: nowrap;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
    align-items: center;
    gap: 28px;
    padding: 38px 0 42px;
  }
  .hero h1 {
    font-size: clamp(3.1rem, 5.2vw, 4.8rem);
    max-width: 720px;
  }
  .hero-lead {
    max-width: 650px;
    font-size: 1.03rem;
  }
  .hero-actions { margin-top: 20px; }
  .availability { max-width: 610px; }
  .hero-mini-stats {
    max-width: 520px;
    gap: 10px;
  }
  .mini-stat {
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 10px 10px;
  }
  .mini-stat img { width: 30px; height: 30px; }
  .mini-stat-text { align-items: center; text-align: center; }
  .mini-stat-text strong { font-size: .9rem; }
  .mini-stat-text span { font-size: .68rem; }

  .coach-card { border-radius: 26px; }
  .coach-video {
    min-height: 320px;
    max-height: 390px;
  }
  .coach-content { padding: 18px 20px 20px; }
  .coach-content h2 { font-size: 1.45rem; }
  .courses-section { padding: 44px 0 50px; }
}

/* Very small phones */
@media (max-width: 380px) {
  .container { width: min(100% - 22px, var(--max)); }
  .hero h1 { font-size: 1.9rem; }
  .hero-lead { font-size: .92rem; }
  .btn { font-size: .82rem; padding-inline: 12px; }
  .mini-stat { padding: 7px 3px; }
  .mini-stat img { width: 22px; height: 22px; }
  .mini-stat-text strong { font-size: .70rem; }
  .mini-stat-text span { font-size: .54rem; }
  .course-card { min-height: 164px; padding-inline: 8px; }
  .course-card h3 { font-size: .92rem; }
  .course-card ul { font-size: .68rem; }
  .course-link { font-size: .68rem; padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* v11 hero-only reset: centered homepage hero, no coach/video card on homepage */
.hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 0;
}
.hero-copy {
  width: min(100%, 860px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero h1,
.hero-lead,
.availability {
  margin-left: auto;
  margin-right: auto;
}
.hero-actions {
  justify-content: center;
  width: min(100%, 560px);
}
.hero-mini-stats {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
}

@media (min-width: 960px) {
  .hero-grid {
    grid-template-columns: 1fr;
    max-width: 980px;
    padding: 42px 0 46px;
  }
  .hero h1 {
    max-width: 820px;
    font-size: clamp(3rem, 4.9vw, 4.35rem);
  }
  .hero-lead {
    max-width: 760px;
  }
  .availability {
    max-width: 720px;
  }
  .hero-mini-stats {
    max-width: 560px;
  }
}


/* Why NESkills flip-card section - v13: appended only, previous sections preserved */
.why-section {
  background:
    radial-gradient(circle at 15% 10%, rgba(18,198,189,.10), transparent 30%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  color: var(--text-light);
  padding: 34px 0 38px;
  border-top: 1px solid rgba(242,185,59,.16);
}
.why-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 20px;
}
.why-kicker {
  color: var(--gold);
  border-color: rgba(242,185,59,.35);
  background: rgba(242,185,59,.06);
}
.why-head h2 {
  margin: 0;
  font-size: clamp(1.55rem, 7vw, 2.4rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.why-head p {
  margin: 10px auto 0;
  color: rgba(248,244,236,.72);
  font-size: .9rem;
  line-height: 1.45;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  perspective: 1200px;
}
.why-card {
  position: relative;
  min-width: 0;
  min-height: 116px;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform-style: preserve-3d;
  transition: transform .5s ease;
  font-family: inherit;
  color: inherit;
}
.why-card.is-flipped {
  transform: rotateY(180deg);
}
.why-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 12px 9px;
  border-radius: 20px;
  border: 1px solid rgba(242,185,59,.24);
  box-shadow: 0 16px 34px rgba(0,0,0,.22);
  backface-visibility: hidden;
  overflow: hidden;
}
.why-face::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 75% 15%, rgba(255,255,255,.22), transparent 35%);
  pointer-events: none;
}
.why-face strong,
.why-face span {
  position: relative;
  z-index: 1;
}
.why-front strong {
  font-size: clamp(.76rem, 3vw, 1rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 900;
}
.why-front span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 6px 9px;
  background: rgba(255,255,255,.82);
  color: #111817;
  font-size: .62rem;
  line-height: 1;
  font-weight: 900;
}
.why-back {
  transform: rotateY(180deg);
  background: #f7f0e6;
  color: #101817;
  justify-content: center;
  gap: 0;
}
.why-back span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 92%;
  min-height: 100%;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(.66rem, 2.35vw, .82rem);
  line-height: 1.32;
  font-weight: 750;
  color: rgba(16,24,23,.86);
}
.why-card-teal .why-front { background: linear-gradient(145deg, rgba(7,45,47,.94), rgba(5,20,22,.98)); }
.why-card-gold .why-front { background: linear-gradient(145deg, rgba(72,50,18,.94), rgba(242,185,59,.34)); color: #160f06; }
.why-card-green .why-front { background: linear-gradient(145deg, rgba(8,38,35,.94), rgba(5,20,22,.98)); }
.why-card-plum .why-front { background: linear-gradient(145deg, rgba(16,27,27,.94), rgba(5,18,20,.98)); }
.why-card-ink .why-front { background: linear-gradient(145deg, #06282b, #0d5153); }
.why-card-bronze .why-front { background: linear-gradient(145deg, #5a3410, #c38a27); color: #fff8ea; }
.why-card:focus-visible {
  outline: 3px solid rgba(242,185,59,.72);
  outline-offset: 4px;
  border-radius: 20px;
}

@media (min-width: 760px) {
  .why-section { padding: 44px 0 50px; }
  .why-grid { gap: 14px; }
  .why-card { min-height: 180px; }
  .why-face { border-radius: 24px; padding: 18px; }
  .why-front strong { font-size: 1.18rem; }
  .why-front span { font-size: .72rem; padding: 8px 12px; }
  .why-back span { font-size: .92rem; line-height: 1.38; max-width: 88%; }
}

@media (min-width: 960px) {
  .why-grid {
    max-width: 900px;
    margin-inline: auto;
  }
  .why-card { min-height: 210px; }
}

@media (max-width: 380px) {
  .why-grid { gap: 7px; }
  .why-face { border-radius: 16px; padding: 9px 6px; }
  .why-front span { padding: 5px 7px; font-size: .55rem; }
  .why-back span { font-size: .58rem; line-height: 1.24; max-width: 96%; }
}

@media (prefers-reduced-motion: reduce) {
  .why-card { transition: none; }
}


/* Video testimonials */
.testimonials-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.09), transparent 28%),
    linear-gradient(180deg, #071112 0%, #061819 100%);
  color: var(--text-light);
  padding: 34px 0 38px;
}
.testimonials-head {
  max-width: 780px;
  margin: 0 auto 20px;
  text-align: center;
}
.testimonials-kicker {
  color: var(--gold);
  border-color: rgba(242,185,59,.32);
  background: rgba(242,185,59,.06);
}
.testimonials-head h2 {
  margin: 0;
  font-size: clamp(1.7rem, 7vw, 2.55rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.testimonials-head p {
  margin: 10px auto 0;
  max-width: 680px;
  color: rgba(248,244,236,.72);
  font-size: .92rem;
  line-height: 1.45;
}
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  max-width: 780px;
  margin: 0 auto;
}
.testimonial-card {
  min-width: 0;
  text-align: center;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
}
.testimonial-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 20px;
  padding: 0;
  background: #061011;
  box-shadow: 0 18px 38px rgba(0,0,0,.30);
}
.testimonial-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  background: #000;
}
.testimonial-video-mobile {
  display: none;
}
.testimonial-copy {
  margin: 10px auto 0;
  padding: 10px 10px 11px;
  width: min(100%, 30ch);
  min-height: 118px;
  border: 1px solid rgba(242,185,59,.52);
  border-radius: 16px;
  background: rgba(6,17,18,.44);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.testimonial-copy h3 {
  margin: 0;
  color: var(--gold);
  font-size: .92rem;
  line-height: 1.1;
}
.testimonial-copy p {
  margin: 6px auto 0;
  color: rgba(248,244,236,.78);
  font-size: .68rem;
  line-height: 1.32;
  max-width: 26ch;
}
.testimonial-copy p span {
  display: block;
}
.testimonial-more {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}
.testimonial-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid rgba(242,185,59,.72);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(242,185,59,.98), rgba(255,230,170,.92));
  color: #061112;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
}
.testimonial-more a:hover,
.testimonial-more a:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(0,0,0,.32);
}
.testimonial-media:focus-within {
  outline: 3px solid rgba(242,185,59,.70);
  outline-offset: 4px;
}

@media (min-width: 760px) {
  .testimonials-section { padding: 42px 0 46px; }
  .testimonial-grid {
    max-width: 700px;
    gap: 22px;
  }
  .testimonial-media {
    aspect-ratio: 5 / 6;
    max-height: 500px;
    border-radius: 24px;
  }
  .testimonial-copy h3 { font-size: 1.08rem; }
  .testimonial-copy p { font-size: .82rem; max-width: 28ch; }
  .testimonial-copy { width: min(100%, 32ch); min-height: 106px; padding: 11px 12px 12px; }
  .testimonial-more { margin-top: 18px; }
}

@media (min-width: 960px) {
  .testimonial-grid { max-width: 700px; }
  .testimonial-video-desktop {
    object-fit: contain;
    background: #061011;
  }
}

@media (max-width: 640px) {
  .testimonial-video-desktop {
    display: none;
  }
  .testimonial-video-mobile {
    display: block;
  }
}

@media (max-width: 380px) {
  .testimonial-grid { gap: 8px; }
  .testimonial-media { border-radius: 16px; }
  .testimonial-copy h3 { font-size: .82rem; }
  .testimonial-copy p { font-size: .6rem; line-height: 1.25; }
  .testimonial-copy { min-height: 108px; padding: 8px 7px 9px; border-radius: 12px; }
}


/* =========================================================
   SECTION 3 RESET — Why This Training Works
   Final direction: clean teal / gold / green / plum family.
   CSS-only, no image backgrounds, no 3D mirror effect.
   Section 2 course cards are intentionally untouched.
   ========================================================= */
.why-section {
  background:
    radial-gradient(circle at 16% 12%, rgba(18, 198, 189, 0.08), transparent 30%),
    radial-gradient(circle at 85% 88%, rgba(242, 185, 59, 0.08), transparent 32%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
  color: var(--text-light);
  padding: 36px 0 42px !important;
  border-top: 1px solid rgba(242, 185, 59, 0.14);
}

.why-section .why-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 22px !important;
}

.why-section .why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 900px;
  margin-inline: auto;
  perspective: none !important;
}

.why-section .why-card {
  position: relative !important;
  min-width: 0;
  min-height: 132px !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
  transform: none !important;
  transform-style: flat !important;
  transition: transform 0.24s ease, filter 0.24s ease !important;
}

.why-section .why-card:hover,
.why-section .why-card:focus-visible {
  transform: translateY(-3px) !important;
  filter: saturate(1.04);
}

.why-section .why-card.is-flipped {
  transform: none !important;
}

.why-section .why-face {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 18px !important;
  padding: 18px 14px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  backface-visibility: visible !important;
  transform: none !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    inset 0 -1px 0 rgba(0, 0, 0, 0.08) !important;
  transition: opacity 0.24s ease, transform 0.24s ease !important;
}

.why-section .why-face::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 255, 255, 0.20), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,0.09), transparent 34%);
  opacity: 0.78;
  pointer-events: none;
}

.why-section .why-face::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 21px;
  border: 1px solid rgba(255,255,255,0.05);
  pointer-events: none;
}

.why-section .why-front {
  opacity: 1 !important;
  color: #ffffff;
  z-index: 2;
}

.why-section .why-back {
  opacity: 0 !important;
  z-index: 1;
  color: #ffffff;
  gap: 0 !important;
  transform: none !important;
}

.why-section .why-card.is-flipped .why-front {
  opacity: 0 !important;
}

.why-section .why-card.is-flipped .why-back {
  opacity: 1 !important;
}

.why-section .why-front strong {
  position: relative;
  z-index: 2;
  max-width: 88%;
  margin: 0 auto;
  font-size: clamp(0.92rem, 2.4vw, 1.22rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em;
  font-weight: 900 !important;
  color: inherit;
}

.why-section .why-front > span {
  position: relative;
  z-index: 2;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.86) !important;
  color: #101817 !important;
  font-size: 0.66rem !important;
  line-height: 1;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

.why-section .why-back span {
  position: relative;
  z-index: 2;
  max-width: 86%;
  margin: 0 auto;
  color: inherit !important;
  font-size: clamp(0.70rem, 2.25vw, 0.90rem) !important;
  line-height: 1.34 !important;
  font-weight: 850 !important;
}

.why-section .why-card-teal .why-front {
  background: linear-gradient(145deg, #087171 0%, #11aaa5 100%) !important;
}
.why-section .why-card-gold .why-front {
  background: linear-gradient(145deg, #a86714 0%, #e3a52f 100%) !important;
  color: #160f06 !important;
}
.why-section .why-card-green .why-front {
  background: linear-gradient(145deg, #276643 0%, #5b9e76 100%) !important;
}
.why-section .why-card-plum .why-front {
  background: linear-gradient(145deg, #65163a 0%, #9b345d 100%) !important;
}
.why-section .why-card-ink .why-front {
  background: linear-gradient(145deg, #05282d 0%, #0d5b5a 100%) !important;
}
.why-section .why-card-bronze .why-front {
  background: linear-gradient(145deg, #5d3812 0%, #bc8124 100%) !important;
}

.why-section .why-card-teal .why-back {
  background: linear-gradient(145deg, #06494d 0%, #0b7777 100%) !important;
}
.why-section .why-card-gold .why-back {
  background: linear-gradient(145deg, #71430b 0%, #c88922 100%) !important;
  color: #fff8ea !important;
}
.why-section .why-card-green .why-back {
  background: linear-gradient(145deg, #1e4a33 0%, #3f7c58 100%) !important;
}
.why-section .why-card-plum .why-back {
  background: linear-gradient(145deg, #461027 0%, #80264a 100%) !important;
}
.why-section .why-card-ink .why-back {
  background: linear-gradient(145deg, #04191d 0%, #083f43 100%) !important;
}
.why-section .why-card-bronze .why-back {
  background: linear-gradient(145deg, #3f250a 0%, #8d5e18 100%) !important;
}

.why-section .why-card:focus-visible {
  outline: 3px solid rgba(242, 185, 59, 0.74) !important;
  outline-offset: 4px;
  border-radius: 22px;
}

@media (min-width: 760px) {
  .why-section { padding: 44px 0 52px !important; }
  .why-section .why-grid { gap: 16px !important; }
  .why-section .why-card { min-height: 184px !important; }
  .why-section .why-face { border-radius: 26px !important; padding: 24px 18px !important; gap: 24px !important; }
  .why-section .why-face::after { border-radius: 25px; }
  .why-section .why-front strong { font-size: 1.18rem !important; }
  .why-section .why-front > span { font-size: .72rem !important; padding: 9px 15px !important; }
  .why-section .why-back span { font-size: .93rem !important; line-height: 1.38 !important; }
}

@media (min-width: 960px) {
  .why-section .why-card { min-height: 210px !important; }
}

@media (max-width: 420px) {
  .why-section .why-grid { gap: 8px !important; }
  .why-section .why-card { min-height: 124px !important; }
  .why-section .why-face { border-radius: 18px !important; padding: 10px 7px !important; gap: 12px !important; }
  .why-section .why-face::after { border-radius: 17px; }
  .why-section .why-front strong { font-size: .76rem !important; }
  .why-section .why-front > span { min-height: 24px; padding: 6px 8px !important; font-size: .54rem !important; }
  .why-section .why-back span { max-width: 92%; font-size: .58rem !important; line-height: 1.25 !important; }
}


/* =========================================================
   Investment Section — approved cream direction
   Keeps earlier sections untouched; scoped only to #investment.
   ========================================================= */
.investment-section {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 8% 0%, rgba(73, 139, 98, 0.14), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(242, 185, 59, 0.12), transparent 24%),
    linear-gradient(135deg, #f2efe4 0%, #f8f0e3 48%, #efe7d8 100%);
  color: #071719;
  padding: clamp(54px, 7vw, 88px) 0;
}

.investment-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(6, 16, 17, 0.025), transparent 30%, rgba(242, 185, 59, 0.05)),
    radial-gradient(circle at 18% 42%, rgba(71, 139, 98, 0.10), transparent 24%);
}

.investment-section .container {
  position: relative;
  z-index: 1;
}

.investment-head {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
}

.investment-kicker {
  color: #0d1718;
  background: rgba(255, 255, 255, 0.56);
  border-color: rgba(117, 23, 61, 0.28);
}

.investment-head h2 {
  margin: 10px 0 10px;
  color: #071719;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.investment-head p {
  margin: 0 auto;
  max-width: 720px;
  color: rgba(7, 23, 25, 0.78);
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  line-height: 1.6;
}

.investment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.investment-card {
  min-height: 180px;
  display: grid;
  align-content: space-between;
  gap: 16px;
  width: 100%;
  border: 1px solid rgba(215, 168, 79, 0.72);
  border-radius: 22px;
  padding: 20px 16px;
  text-align: center;
  cursor: pointer;
  color: var(--text-light);
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.10), transparent 28%),
    linear-gradient(145deg, #073f42 0%, #0a2c2e 100%);
  box-shadow: 0 18px 34px rgba(7, 23, 25, 0.18);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.investment-card:nth-child(2) {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(145deg, #b87913 0%, #d99f2d 100%);
  color: #111407;
}

.investment-card:nth-child(3) {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.12), transparent 28%),
    linear-gradient(145deg, #2f7148 0%, #173d32 100%);
}

.investment-card:nth-child(4) {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.10), transparent 28%),
    linear-gradient(145deg, #0d1718 0%, #5b102f 100%);
}

.investment-card:hover,
.investment-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(242, 185, 59, 0.98);
  box-shadow: 0 22px 44px rgba(7, 23, 25, 0.24);
  outline: none;
}

.plan-name {
  min-height: 2.6em;
  display: grid;
  place-items: center;
  color: inherit;
  font-size: clamp(1.05rem, 2.3vw, 1.35rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.plan-teaser {
  color: currentColor;
  opacity: .88;
  font-size: .88rem;
  line-height: 1.45;
}

.plan-chip {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 248, 234, 0.92);
  color: #111407;
  font-size: .72rem;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 20px rgba(0,0,0,.16);
}

.investment-card:nth-child(2) .plan-chip {
  background: rgba(7, 23, 25, 0.88);
  color: #fff8ea;
}

.investment-cta {
  display: grid;
  gap: 16px;
  align-items: center;
  margin: 24px auto 0;
  padding: 18px;
  border: 1px solid rgba(215, 168, 79, 0.46);
  border-radius: 22px;
  background: rgba(255, 248, 234, 0.52);
  box-shadow: 0 18px 40px rgba(7, 23, 25, 0.10);
}

.investment-cta p {
  margin: 0;
  color: rgba(7, 23, 25, .82);
  font-size: .98rem;
  line-height: 1.5;
}

.investment-cta strong {
  display: block;
  color: #071719;
  font-size: 1.04rem;
}

.investment-cta .btn {
  width: 100%;
  justify-content: center;
}

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

.plan-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 18px;
}

.plan-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 8, 9, 0.72);
  backdrop-filter: blur(8px);
}

.plan-modal-card {
  position: relative;
  width: min(520px, calc(100vw - 32px));
  max-height: min(82vh, 620px);
  overflow: auto;
  border-radius: 24px;
  border: 1px solid rgba(242, 185, 59, 0.58);
  padding: 28px 22px 22px;
  color: var(--text-light);
  background:
    radial-gradient(circle at 16% 0%, rgba(18, 198, 189, 0.12), transparent 34%),
    radial-gradient(circle at 90% 0%, rgba(242, 185, 59, 0.13), transparent 28%),
    linear-gradient(145deg, #071719 0%, #061011 100%);
  box-shadow: 0 30px 80px rgba(0,0,0,.38);
}

.plan-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff8ea;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.modal-kicker {
  color: var(--gold);
  border-color: rgba(242, 185, 59, .42);
  background: rgba(242, 185, 59, .08);
}

.plan-modal-card h3 {
  margin: 14px 0 12px;
  color: #fff8ea;
  font-size: clamp(1.7rem, 7vw, 2.4rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.plan-modal-card p {
  margin: 0 0 16px;
  color: rgba(248, 244, 236, .84);
  font-size: 1rem;
  line-height: 1.62;
}

.plan-modal-price {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  background: rgba(242, 185, 59, 0.10);
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 900;
}

.plan-modal-button {
  width: 100%;
  justify-content: center;
}

body.modal-open {
  overflow: hidden;
}

@media (min-width: 760px) {
  .investment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .investment-card {
    min-height: 220px;
    padding: 24px 18px;
  }

  .investment-cta {
    grid-template-columns: 1fr auto;
    padding: 20px 24px;
  }

  .investment-cta .btn {
    width: auto;
    min-width: 220px;
  }
}

@media (max-width: 420px) {
  .investment-section {
    padding: 46px 0;
  }

  .investment-grid {
    gap: 10px;
  }

  .investment-card {
    min-height: 168px;
    border-radius: 18px;
    padding: 16px 10px;
  }

  .plan-name {
    font-size: .93rem;
  }

  .plan-teaser {
    font-size: .72rem;
    line-height: 1.35;
  }

  .plan-chip {
    min-height: 28px;
    padding: 7px 10px;
    font-size: .62rem;
  }
}


/* =========================================================
   Investment CTA v9 — premium green-gold CTA inside plans section
   No separate final CTA section.
   ========================================================= */
.investment-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: center;
  margin: clamp(24px, 4vw, 36px) auto 0;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(242, 185, 59, 0.48);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(18, 198, 189, 0.12), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(242, 185, 59, 0.15), transparent 26%),
    linear-gradient(145deg, rgba(7, 51, 52, 0.98), rgba(4, 20, 21, 0.96));
  box-shadow:
    0 24px 54px rgba(7, 23, 25, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px rgba(242, 185, 59, 0.08);
}

.investment-cta::before {
  content: "";
  position: absolute;
  width: min(620px, 74vw);
  height: 1px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(242, 185, 59, 0.78), transparent);
  pointer-events: none;
}

.investment-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, rgba(242, 185, 59, 0.05), transparent),
    radial-gradient(circle at 50% 120%, rgba(18, 198, 189, 0.12), transparent 36%);
  pointer-events: none;
}

.investment-cta p,
.investment-cta .btn {
  position: relative;
  z-index: 1;
}

.investment-cta p {
  margin: 0;
  color: rgba(248, 244, 236, 0.84);
  font-size: clamp(0.98rem, 1.5vw, 1.08rem);
  line-height: 1.58;
}

.investment-cta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--text-light);
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.investment-cta .btn {
  width: 100%;
  justify-content: center;
  min-height: 54px;
  border: 1px solid rgba(242, 185, 59, 0.72);
  box-shadow:
    0 14px 28px rgba(242, 185, 59, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.20);
}

@media (min-width: 760px) {
  .investment-cta {
    grid-template-columns: 1fr auto;
    padding: 28px 34px;
  }

  .investment-cta .btn {
    width: auto;
    min-width: 240px;
  }
}

@media (max-width: 640px) {
  .investment-cta {
    border-radius: 22px;
    padding: 24px 14px 26px;
    text-align: center;
    gap: 16px;
  }

  .investment-cta p {
    max-width: 30ch;
    margin: 0 auto;
    font-size: .97rem;
    line-height: 1.5;
  }

  .investment-cta strong {
    max-width: 12ch;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(1.7rem, 7.6vw, 2.15rem);
  }

  .investment-cta .btn {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    white-space: normal;
    text-align: center;
  }
}


/* =========================================================
   Footer v15 — full-width desktop, compact mobile pairs
   ========================================================= */
.site-footer {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 10% 0%, rgba(18, 198, 189, 0.10), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(242, 185, 59, 0.10), transparent 28%),
    linear-gradient(180deg, #073334 0%, #041415 100%);
  color: var(--text-light);
  padding: clamp(24px, 4vw, 44px) 0 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(242, 185, 59, 0.28);
}

.footer-shell {
  width: min(100% - 24px, 1520px);
  margin: 0 auto;
  border: 1px solid rgba(242, 185, 59, 0.34);
  border-radius: 24px 24px 0 0;
  background: radial-gradient(circle at 8% 0%, rgba(18, 198, 189, 0.12), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(242, 185, 59, 0.10), transparent 26%),
    linear-gradient(145deg, rgba(7, 51, 52, 0.94), rgba(4, 20, 21, 0.98));
  box-shadow: 0 20px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
}

.footer-brand-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px clamp(16px, 3vw, 36px);
  border-bottom: 1px solid rgba(242,185,59,.16);
}

.footer-brand-mark { display: inline-flex; align-items: center; justify-content: center; }

.footer-brand-mark img {
  display: block;
  width: clamp(54px, 5vw, 76px);
  max-width: 76px;
  height: auto;
}

.footer-brand-copy h2 {
  margin: 0;
  color: #F2B93B;
  font-size: clamp(.82rem, 1.05vw, 1rem);
  line-height: 1.15;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.footer-brand-copy p {
  margin: 4px 0 0;
  color: rgba(248,244,236,.78);
  font-size: clamp(.74rem, .9vw, .88rem);
  line-height: 1.3;
}

.footer-diagnosis-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 38px;
  padding: 9px 16px;
  border: 1px solid rgba(242,185,59,.48);
  border-radius: 999px;
  background: rgba(242,185,59,.08);
  color: #F2B93B;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}

.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }

.footer-group {
  padding: clamp(18px, 2.4vw, 30px) clamp(14px, 2.2vw, 30px);
  border-right: 1px solid rgba(242,185,59,.14);
  border-bottom: 1px solid rgba(242,185,59,.14);
  min-width: 0;
}

.footer-group:last-child { border-right: 0; }

.footer-group h3 {
  margin: 0 0 12px;
  color: #F2B93B;
  font-size: clamp(.78rem, .95vw, .9rem);
  line-height: 1.2;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.footer-group h3::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 8px;
  background: linear-gradient(90deg, #F2B93B, transparent);
}

.footer-link-list, .footer-socials { display: flex; flex-wrap: wrap; gap: 8px; }

.footer-link-list a, .footer-link-list span, .footer-socials a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid rgba(242,185,59,.20);
  border-radius: 999px;
  color: rgba(248,244,236,.84);
  background: rgba(255,255,255,.025);
  font-size: clamp(.72rem, .82vw, .82rem);
  line-height: 1.25;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.footer-link-list a:hover, .footer-link-list a:focus-visible,
.footer-socials a:hover, .footer-socials a:focus-visible,
.footer-diagnosis-link:hover, .footer-diagnosis-link:focus-visible {
  color: #F2B93B;
  border-color: rgba(242,185,59,.48);
  outline: none;
}

.footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 15px clamp(16px, 3vw, 36px);
  color: rgba(248,244,236,.68);
  font-size: .76rem;
  line-height: 1.4;
}

.footer-bottom p { margin: 0; }
.footer-bottom-links { display: flex; align-items: center; gap: 10px; }
.footer-bottom-links a, .footer-bottom-links span { color: rgba(248,244,236,.74); text-decoration: none; }

.site-footer .elfsight-app-a51986b7-1d74-4cb7-b859-bb70d249eed3 { margin: 0 !important; padding: 0 !important; }
html, body { background: #041415; margin-bottom: 0 !important; padding-bottom: 0 !important; }

@media (max-width: 760px) {
  .site-footer { padding-top: 18px !important; }
  .footer-shell { width: calc(100% - 24px); border-radius: 20px 20px 0 0; }
  .footer-brand-strip { grid-template-columns: auto 1fr; gap: 10px; padding: 14px 12px; }
  .footer-brand-mark img { width: 48px; max-width: 48px; }
  .footer-brand-copy h2 { font-size: .76rem; }
  .footer-brand-copy p { font-size: .7rem; }
  .footer-diagnosis-link {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 34px;
    padding: 8px 12px;
    font-size: .72rem;
  }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-group { padding: 14px 10px; }
  .footer-group:nth-child(2), .footer-group:nth-child(4) { border-right: 0; }
  .footer-group h3 { margin-bottom: 9px; font-size: .72rem; letter-spacing: .09em; }
  .footer-group h3::after { width: 42px; margin-top: 6px; }
  .footer-link-list, .footer-socials { gap: 6px; }
  .footer-link-list a, .footer-link-list span, .footer-socials a {
    min-height: 28px;
    padding: 6px 8px;
    font-size: .66rem;
  }
  .footer-bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 7px;
    padding: 12px;
    font-size: .68rem;
  }
}

@media (max-width: 390px) {
  .footer-shell { width: calc(100% - 16px); }
  .footer-group { padding: 12px 8px; }
  .footer-link-list a, .footer-link-list span, .footer-socials a {
    font-size: .62rem;
    padding: 6px 7px;
  }
}



/* =========================================================
   Footer mobile restore v16 — screenshot-matched mobile only
   Desktop footer remains controlled by Footer v15 above.
   ========================================================= */
@media (max-width: 760px) {
  .site-footer {
    padding-top: 0 !important;
    background: #041415 !important;
  }

  .footer-shell {
    width: calc(100% - 28px) !important;
    max-width: 640px;
    border-radius: 0 !important;
    border-color: rgba(242, 185, 59, 0.30) !important;
    box-shadow: none !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(18, 198, 189, 0.10), transparent 34%),
      linear-gradient(180deg, rgba(7, 51, 52, 0.98) 0%, rgba(4, 20, 21, 0.98) 100%) !important;
  }

  .footer-brand-strip {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 24px 16px 28px !important;
    border-bottom: 1px solid rgba(242, 185, 59, 0.18) !important;
  }

  .footer-brand-mark img {
    width: 62px !important;
    max-width: 62px !important;
  }

  .footer-brand-copy h2 {
    font-size: 1rem !important;
    line-height: 1.22 !important;
    letter-spacing: 0.075em !important;
  }

  .footer-brand-copy p {
    margin-top: 8px !important;
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
  }

  .footer-diagnosis-link {
    grid-column: auto !important;
    justify-self: center !important;
    min-height: 44px !important;
    margin-top: 10px !important;
    padding: 11px 24px !important;
    font-size: 0.92rem !important;
    border-color: rgba(242, 185, 59, 0.44) !important;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .footer-group {
    padding: 25px 14px !important;
    text-align: center !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(242, 185, 59, 0.18) !important;
  }

  .footer-group h3 {
    margin: 0 0 18px !important;
    font-size: 0.92rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.13em !important;
  }

  .footer-group h3::after {
    display: none !important;
  }

  .footer-link-list,
  .footer-socials {
    justify-content: center !important;
    align-items: center !important;
    gap: 12px 10px !important;
  }

  .footer-link-list a,
  .footer-link-list span,
  .footer-socials a {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-color: rgba(242, 185, 59, 0.24) !important;
    background: rgba(255, 255, 255, 0.02) !important;
    font-size: 0.86rem !important;
    line-height: 1.18 !important;
  }

  .footer-group:nth-child(3) .footer-link-list a[href^="mailto:"] {
    max-width: 100% !important;
    padding-inline: 12px !important;
    font-size: 0.78rem !important;
  }

  .footer-bottom {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 0 !important;
    padding: 22px 12px !important;
    text-align: center !important;
    font-size: 0.76rem !important;
    line-height: 1.45 !important;
  }

  .footer-bottom-links {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .footer-shell {
    width: calc(100% - 24px) !important;
  }

  .footer-brand-copy h2 {
    font-size: 0.94rem !important;
  }

  .footer-brand-copy p {
    font-size: 0.82rem !important;
  }

  .footer-link-list a,
  .footer-link-list span,
  .footer-socials a {
    padding: 9px 13px !important;
    font-size: 0.82rem !important;
  }

  .footer-group:nth-child(3) .footer-link-list a[href^="mailto:"] {
    font-size: 0.72rem !important;
  }
}


/* =========================================================
   Footer mobile compression v17 — mobile only
   Desktop footer and approved sections remain untouched.
   ========================================================= */
@media (max-width: 760px) {
  .site-footer {
    padding-top: 0 !important;
  }

  .footer-shell {
    width: calc(100% - 22px) !important;
    max-width: 640px !important;
  }

  .footer-brand-strip {
    gap: 5px !important;
    padding: 10px 10px 12px !important;
  }

  .footer-brand-mark img {
    width: 42px !important;
    max-width: 42px !important;
  }

  .footer-brand-copy h2 {
    font-size: 0.76rem !important;
    line-height: 1.12 !important;
    letter-spacing: 0.07em !important;
  }

  .footer-brand-copy p {
    margin-top: 3px !important;
    font-size: 0.68rem !important;
    line-height: 1.18 !important;
  }

  .footer-diagnosis-link {
    min-height: 30px !important;
    margin-top: 4px !important;
    padding: 6px 14px !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
  }

  .footer-group {
    padding: 12px 8px 13px !important;
  }

  .footer-group h3 {
    margin: 0 0 8px !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
    letter-spacing: 0.11em !important;
  }

  .footer-link-list,
  .footer-socials {
    gap: 6px !important;
  }

  .footer-link-list a,
  .footer-link-list span,
  .footer-socials a {
    min-height: 29px !important;
    padding: 6px 10px !important;
    font-size: 0.70rem !important;
    line-height: 1.08 !important;
  }

  .footer-group:nth-child(2) .footer-link-list,
  .footer-group:nth-child(3) .footer-link-list,
  .footer-group:nth-child(4) .footer-socials {
    gap: 6px 7px !important;
  }

  .footer-group:nth-child(3) .footer-link-list a[href^="mailto:"] {
    padding-inline: 9px !important;
    font-size: 0.64rem !important;
    letter-spacing: -0.01em !important;
  }

  .footer-bottom {
    padding: 10px 8px 11px !important;
    font-size: 0.64rem !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 390px) {
  .footer-shell {
    width: calc(100% - 18px) !important;
  }

  .footer-brand-strip {
    padding: 9px 8px 10px !important;
  }

  .footer-brand-mark img {
    width: 38px !important;
    max-width: 38px !important;
  }

  .footer-brand-copy h2 {
    font-size: 0.70rem !important;
  }

  .footer-brand-copy p {
    font-size: 0.63rem !important;
  }

  .footer-diagnosis-link {
    min-height: 28px !important;
    padding: 6px 12px !important;
    font-size: 0.68rem !important;
  }

  .footer-group {
    padding: 10px 7px 11px !important;
  }

  .footer-group h3 {
    margin-bottom: 7px !important;
    font-size: 0.68rem !important;
  }

  .footer-link-list a,
  .footer-link-list span,
  .footer-socials a {
    min-height: 27px !important;
    padding: 5px 8px !important;
    font-size: 0.66rem !important;
  }

  .footer-group:nth-child(3) .footer-link-list a[href^="mailto:"] {
    font-size: 0.58rem !important;
    padding-inline: 7px !important;
  }

  .footer-bottom {
    padding: 9px 7px 10px !important;
    font-size: 0.60rem !important;
  }
}


/* =========================================================
   Courses page hero v21 — clean render fix
   Scope: courses.html only. Built from approved v17 CSS; footer untouched.
   ========================================================= */
.courses-page .primary-nav a[aria-current="page"] {
  color: var(--gold);
  background: rgba(242, 185, 59, 0.10);
}

.coursehub-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 8%, rgba(18, 198, 189, 0.16), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(242, 185, 59, 0.12), transparent 28%),
    linear-gradient(135deg, #041112 0%, #073334 50%, #061011 100%);
  color: var(--text-light);
  border-bottom: 1px solid rgba(242, 185, 59, 0.18);
}

.coursehub-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,185,59,.52), transparent);
}

.coursehub-shell {
  position: relative;
  z-index: 1;
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px 0 34px;
}

.coursehub-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 12px;
  padding: 7px 12px;
  border: 1px solid rgba(242, 185, 59, .58);
  border-radius: 999px;
  background: rgba(242, 185, 59, .06);
  color: var(--gold);
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.coursehub-hero h1 {
  width: min(100%, 980px);
  margin: 0 auto;
  color: #fff8ea;
  font-size: clamp(2.05rem, 8.2vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.058em;
  font-weight: 950;
  text-align: center;
}

.coursehub-hero h1 span {
  color: var(--gold);
}

.coursehub-lead {
  width: min(100%, 760px);
  margin: 14px auto 0;
  color: rgba(248, 244, 236, .82);
  font-size: .94rem;
  line-height: 1.52;
  text-align: center;
}

.coursehub-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  width: min(100%, 560px);
  margin: 17px auto 0;
}

.coursehub-note {
  width: min(100%, 820px);
  margin: 15px auto 0;
  padding: 12px 16px;
  border: 1px solid rgba(242, 185, 59, .62);
  border-radius: 18px;
  background: rgba(3, 28, 29, .66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  text-align: center;
}

.coursehub-note p {
  max-width: 76ch;
  margin: 0 auto;
  color: rgba(248, 244, 236, .86);
  font-size: .78rem;
  line-height: 1.38;
  text-align: center;
}

.coursehub-note strong {
  color: var(--text-light);
  font-weight: 900;
}

.coursehub-trust-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  width: min(100%, 860px);
  margin: 14px auto 0;
}

.coursehub-trust-card {
  min-width: 0;
  min-height: 104px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 6px 11px;
  border: 1px solid rgba(242, 185, 59, .56);
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.07), transparent 42%),
    rgba(3, 28, 29, .55);
  color: var(--text-light);
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.coursehub-trust-card img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.24));
}

.coursehub-trust-card h2 {
  max-width: 13ch;
  margin: 0 auto;
  color: var(--gold);
  font-size: .62rem;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: -.01em;
  text-align: center;
  overflow-wrap: normal;
  hyphens: none;
}

@media (min-width: 640px) {
  .coursehub-actions {
    grid-template-columns: max-content max-content;
    justify-content: center;
  }
}

@media (min-width: 760px) {
  .coursehub-shell {
    padding: 48px 0 54px;
  }

  .coursehub-kicker {
    margin-bottom: 14px;
    font-size: .76rem;
  }

  .coursehub-lead {
    font-size: 1rem;
  }

  .coursehub-note {
    margin-top: 18px;
    padding: 13px 20px;
  }

  .coursehub-note p {
    font-size: .9rem;
  }

  .coursehub-trust-row {
    gap: 14px;
    margin-top: 18px;
  }

  .coursehub-trust-card {
    min-height: 132px;
    padding: 18px 16px 20px;
    border-radius: 20px;
  }

  .coursehub-trust-card img {
    width: 60px;
    height: 60px;
  }

  .coursehub-trust-card h2 {
    max-width: 24ch;
    font-size: 1rem;
    line-height: 1.12;
  }
}

@media (min-width: 1100px) {
  .coursehub-shell {
    padding: 56px 0 62px;
  }
}

@media (max-width: 380px) {
  .coursehub-shell {
    padding: 24px 0 28px;
  }

  .coursehub-kicker {
    font-size: .60rem;
    padding: 6px 9px;
  }

  .coursehub-hero h1 {
    font-size: 1.72rem;
  }

  .coursehub-lead {
    font-size: .80rem;
    line-height: 1.42;
  }

  .coursehub-actions {
    margin-top: 12px;
  }

  .coursehub-note {
    padding: 9px 10px;
  }

  .coursehub-note p {
    font-size: .66rem;
  }

  .coursehub-trust-row {
    gap: 5px;
  }

  .coursehub-trust-card {
    min-height: 94px;
    padding: 8px 4px 9px;
    border-radius: 14px;
  }

  .coursehub-trust-card img {
    width: 30px;
    height: 30px;
  }

  .coursehub-trust-card h2 {
    max-width: 12ch;
    font-size: .56rem;
    line-height: 1.05;
  }
}


/* =========================================================
   NESkills Final Clean Build v32
   Base: approved v21. This block intentionally replaces the
   experimental patch stack with one controlled final layer.
   ========================================================= */

:root {
  --glass-border: rgba(242,185,59,.30);
  --glass-highlight: rgba(255,255,255,.11);
  --nes-dark-1: #041112;
  --nes-dark-2: #061819;
  --nes-dark-3: #073334;
}

/* Slightly larger homepage proof pills */
.hero-mini-stats {
  gap: 11px !important;
  max-width: 660px !important;
  margin-top: 18px !important;
}

.mini-stat {
  min-height: 76px !important;
  gap: 8px !important;
  padding: 12px 8px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(242,185,59,.30) !important;
  background:
    radial-gradient(circle at 18% 14%, rgba(18,198,189,.16), transparent 28%),
    radial-gradient(circle at 86% 14%, rgba(242,185,59,.08), transparent 24%),
    rgba(5,30,32,.84) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.mini-stat img { width: 34px !important; height: 34px !important; }
.mini-stat-text strong { font-size: 1rem !important; }
.mini-stat-text span { font-size: .74rem !important; }

/* Universal premium glass treatment for site cards */
.course-card,
.why-face,
.investment-card,
.investment-cta,
.testimonial-media,
.testimonial-copy,
.coursehub-trust-card,
.spoken-card-face,
.footer-shell,
.mini-stat {
  box-shadow: 0 18px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Homepage course section: no cream patches */
.courses-section {
  background:
    radial-gradient(circle at 10% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(242,185,59,.08), transparent 24%),
    linear-gradient(180deg, #061213 0%, #072224 100%) !important;
  color: var(--text-light) !important;
}

.courses-section .section-kicker {
  color: var(--gold) !important;
  border-color: rgba(242,185,59,.34) !important;
  background: rgba(242,185,59,.06) !important;
}

.courses-section .section-head h2 { color: #fff8ea !important; }
.courses-section .section-head p { color: rgba(248,244,236,.74) !important; }

.course-card {
  position: relative;
  border: 1px solid var(--glass-border) !important;
  color: #fff8ea !important;
  overflow: hidden;
}

.course-card::before,
.investment-card::before,
.why-face::before,
.spoken-card-face::before,
.investment-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.10), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.045), transparent 35%);
  pointer-events: none;
}

.course-card > *,
.investment-card > *,
.why-face > *,
.spoken-card-face > *,
.investment-cta > * {
  position: relative;
  z-index: 1;
}

.course-card h3,
.course-card li { color: #fff8ea !important; }

.course-link,
.plan-chip,
.investment-card:nth-child(2) .plan-chip,
.why-section .why-front > span,
.spoken-card-front span {
  background: linear-gradient(135deg, rgba(242,185,59,.96), rgba(255,226,162,.92)) !important;
  color: #111817 !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.14) !important;
}

.course-card-teal {
  background:
    radial-gradient(circle at 18% 16%, rgba(134,224,225,.24), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(102,74,148,.14), transparent 24%),
    linear-gradient(145deg, rgba(9,82,88,.94), rgba(24,34,74,.88)) !important;
}

.course-card-gold {
  background:
    radial-gradient(circle at 18% 16%, rgba(235,197,106,.24), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(104,74,148,.12), transparent 24%),
    linear-gradient(145deg, rgba(116,76,15,.94), rgba(49,41,72,.88)) !important;
}

.course-card-green {
  background:
    radial-gradient(circle at 18% 16%, rgba(141,214,172,.22), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(102,74,148,.12), transparent 24%),
    linear-gradient(145deg, rgba(33,88,63,.94), rgba(27,35,74,.88)) !important;
}

.course-card-plum {
  background:
    radial-gradient(circle at 18% 16%, rgba(196,140,192,.20), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(101,176,191,.12), transparent 24%),
    linear-gradient(145deg, rgba(96,28,66,.94), rgba(34,34,72,.88)) !important;
}

/* Why This Training Works: compact 3 x 2, premium glass, all 6 cards resized */
.why-section {
  background:
    radial-gradient(circle at 12% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(242,185,59,.07), transparent 24%),
    linear-gradient(180deg, #061213 0%, #071d1f 100%) !important;
  padding: 26px 0 30px !important;
}

.why-section .why-head {
  margin-bottom: 14px !important;
}

.why-section .why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
  max-width: 1060px !important;
  margin-inline: auto !important;
  perspective: 1200px !important;
}

.why-section .why-card {
  min-height: 132px !important;
  aspect-ratio: auto !important;
}

.why-section .why-face {
  border-radius: 20px !important;
  border: 1px solid rgba(242,185,59,.24) !important;
  padding: 14px 12px !important;
  gap: 10px !important;
  overflow: hidden !important;
}

.why-section .why-face::after {
  border-radius: 19px !important;
}

.why-section .why-front strong {
  color: #fff8ea !important;
  font-size: .96rem !important;
  line-height: 1.13 !important;
  letter-spacing: -.018em !important;
  max-width: 10ch !important;
}

.why-section .why-front > span {
  min-height: 26px !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  font-size: .56rem !important;
  font-weight: 900 !important;
}

.why-section .why-back {
  justify-content: center !important;
}

.why-section .why-back span {
  color: rgba(255,248,234,.92) !important;
  max-width: 90% !important;
  min-height: auto !important;
  font-size: .78rem !important;
  line-height: 1.27 !important;
}

.why-section .why-card-teal .why-front,
.why-section .why-card-teal .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(125,226,225,.17), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(103,131,191,.10), transparent 22%),
    linear-gradient(145deg, rgba(9,91,95,.92), rgba(20,55,88,.90)) !important;
}

.why-section .why-card-gold .why-front,
.why-section .why-card-gold .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(235,197,106,.17), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(111,86,145,.08), transparent 22%),
    linear-gradient(145deg, rgba(138,90,20,.92), rgba(178,123,37,.90)) !important;
}

.why-section .why-card-green .why-front,
.why-section .why-card-green .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(150,215,173,.15), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(89,115,165,.08), transparent 22%),
    linear-gradient(145deg, rgba(49,111,78,.92), rgba(86,146,109,.90)) !important;
}

.why-section .why-card-plum .why-front,
.why-section .why-card-plum .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(207,126,171,.15), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(92,112,165,.08), transparent 22%),
    linear-gradient(145deg, rgba(120,37,82,.92), rgba(156,69,111,.90)) !important;
}

.why-section .why-card-ink .why-front,
.why-section .why-card-ink .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(119,214,216,.14), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(93,117,170,.08), transparent 22%),
    linear-gradient(145deg, rgba(7,74,79,.92), rgba(14,97,103,.90)) !important;
}

.why-section .why-card-bronze .why-front,
.why-section .why-card-bronze .why-back {
  background:
    radial-gradient(circle at 18% 16%, rgba(228,185,98,.15), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(96,83,139,.08), transparent 22%),
    linear-gradient(145deg, rgba(120,82,24,.92), rgba(166,117,39,.90)) !important;
}

/* Program Investment: no cream patch; glassy dark theme */
.investment-section {
  background:
    radial-gradient(circle at 10% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(242,185,59,.08), transparent 24%),
    linear-gradient(180deg, #061213 0%, #072224 100%) !important;
  color: var(--text-light) !important;
}

.investment-section::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.02), transparent 30%, rgba(242,185,59,.04)),
    radial-gradient(circle at 18% 42%, rgba(71,139,98,.08), transparent 24%) !important;
}

.investment-kicker {
  color: var(--gold) !important;
  background: rgba(242,185,59,.06) !important;
  border-color: rgba(242,185,59,.30) !important;
}

.investment-head h2 { color: #fff8ea !important; }
.investment-head p { color: rgba(248,244,236,.76) !important; }

.investment-card {
  position: relative;
  border-color: rgba(242,185,59,.32) !important;
  color: #fff8ea !important;
  overflow: hidden;
}

.investment-card:nth-child(1) {
  background:
    radial-gradient(circle at 18% 16%, rgba(134,224,225,.22), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(102,74,148,.14), transparent 24%),
    linear-gradient(145deg, rgba(9,82,88,.94), rgba(24,34,74,.88)) !important;
}

.investment-card:nth-child(2) {
  background:
    radial-gradient(circle at 18% 16%, rgba(235,197,106,.22), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(104,74,148,.12), transparent 24%),
    linear-gradient(145deg, rgba(116,76,15,.94), rgba(49,41,72,.88)) !important;
  color: #fff8ea !important;
}

.investment-card:nth-child(3) {
  background:
    radial-gradient(circle at 18% 16%, rgba(141,214,172,.20), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(102,74,148,.12), transparent 24%),
    linear-gradient(145deg, rgba(33,88,63,.94), rgba(27,35,74,.88)) !important;
}

.investment-card:nth-child(4) {
  background:
    radial-gradient(circle at 18% 16%, rgba(196,140,192,.18), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(101,176,191,.12), transparent 24%),
    linear-gradient(145deg, rgba(96,28,66,.94), rgba(34,34,72,.88)) !important;
}

.investment-cta {
  position: relative;
  overflow: hidden;
  border-color: rgba(242,185,59,.30) !important;
  color: #fff8ea !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(18,198,189,.13), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(242,185,59,.12), transparent 24%),
    linear-gradient(145deg, rgba(8,54,58,.92), rgba(21,36,52,.94)) !important;
}

.investment-cta p { color: rgba(248,244,236,.78) !important; }
.investment-cta strong { color: #fff8ea !important; }

/* Desktop footer full length; approved mobile footer remains from baseline */
@media (min-width: 761px) {
  .site-footer { padding-top: 0 !important; }

  .footer-shell {
    width: 100% !important;
    max-width: none !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
  }
}

/* Courses page Spoken English section */
.spoken-english-section {
  scroll-margin-top: 76px;
  background:
    radial-gradient(circle at 12% 10%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(242,185,59,.08), transparent 24%),
    linear-gradient(180deg, #061213 0%, #071d1f 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(242,185,59,.14);
  padding: 36px 0 44px;
}

.spoken-english-shell { display: grid; gap: 22px; }
.spoken-english-head { text-align: center; max-width: 960px; margin: 0 auto; }

.spoken-english-kicker {
  color: var(--gold);
  border-color: rgba(242,185,59,.34);
  background: rgba(242,185,59,.06);
}

.spoken-english-head h2 {
  margin: 10px 0 0;
  color: #fff8ea;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.spoken-english-head p {
  margin: 14px auto 0;
  max-width: 860px;
  color: rgba(248,244,236,.82);
  font-size: .98rem;
  line-height: 1.55;
}

.spoken-english-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.spoken-card {
  position: relative;
  min-height: 352px;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  perspective: 1200px;
  font-family: inherit;
}

.spoken-card:focus-visible {
  outline: 3px solid rgba(242,185,59,.70);
  outline-offset: 4px;
  border-radius: 26px;
}

.spoken-card-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 18px;
  border-radius: 26px;
  border: 1px solid rgba(242,185,59,.34);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  text-align: center;
  transition: transform .45s ease;
  overflow: hidden;
}

.spoken-card-front strong {
  color: #fff8ea;
  font-size: clamp(1.18rem, 2.35vw, 1.82rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.022em;
  max-width: 8ch;
}

.spoken-card-back strong {
  color: #fff8ea;
  font-size: clamp(1.18rem, 2.35vw, 1.8rem);
  line-height: 1.04;
  letter-spacing: -.022em;
  max-width: 8ch;
}

.spoken-card-front img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.22));
}

.spoken-card-front { transform: rotateY(0deg); }
.spoken-card-back { transform: rotateY(180deg); justify-content: flex-start; padding-top: 18px; }
.spoken-card.is-flipped .spoken-card-front { transform: rotateY(-180deg); }
.spoken-card.is-flipped .spoken-card-back { transform: rotateY(0); }

.spoken-card-back ul {
  list-style: none;
  padding: 0;
  margin: 2px 0 0;
  width: 100%;
  display: grid;
  gap: 6px;
}

.spoken-card-back li {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 14px;
  border: 1px solid rgba(242,185,59,.22);
  background: rgba(5,18,19,.18);
  color: rgba(248,244,236,.94);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.14;
}

.spoken-card-back li:last-child {
  color: var(--gold);
  font-weight: 900;
}

.spoken-card-problems .spoken-card-face {
  background:
    radial-gradient(circle at 16% 16%, rgba(121,213,216,.22), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(102,74,148,.14), transparent 24%),
    linear-gradient(145deg, rgba(10,79,84,.94), rgba(31,32,75,.90));
}

.spoken-card-help .spoken-card-face {
  background:
    radial-gradient(circle at 16% 16%, rgba(196,140,192,.18), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(103,176,191,.14), transparent 24%),
    linear-gradient(145deg, rgba(54,64,112,.94), rgba(96,35,87,.90));
}

.spoken-english-cta-row {
  display: flex;
  justify-content: center;
  margin-top: 2px;
}

.spoken-english-cta-row .btn {
  min-width: 280px;
  justify-content: center;
}

/* Mobile refinements */
@media (max-width: 760px) {
  .hero-mini-stats { gap: 9px !important; }
  .mini-stat { min-height: 68px !important; padding: 10px 5px !important; }
  .mini-stat img { width: 28px !important; height: 28px !important; }
  .mini-stat-text strong { font-size: .86rem !important; }
  .mini-stat-text span { font-size: .64rem !important; }

  .why-section {
    padding: 18px 0 22px !important;
  }

  .why-section .why-head {
    margin-bottom: 10px !important;
  }

  .why-section .why-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 8px !important;
    max-width: 100% !important;
  }

  .why-section .why-card {
    min-height: 112px !important;
  }

  .why-section .why-face {
    padding: 9px 7px !important;
    gap: 8px !important;
    border-radius: 18px !important;
  }

  .why-section .why-face::after {
    border-radius: 17px !important;
  }

  .why-section .why-front strong {
    font-size: .66rem !important;
    line-height: 1.12 !important;
    max-width: 9ch !important;
  }

  .why-section .why-front > span {
    min-height: 22px !important;
    padding: 5px 7px !important;
    font-size: .48rem !important;
  }

  .why-section .why-back span {
    max-width: 94% !important;
    font-size: .54rem !important;
    line-height: 1.18 !important;
  }

  .spoken-english-section { padding: 30px 0 36px; }
  .spoken-english-grid { gap: 10px; }
  .spoken-card { min-height: 320px; }
  .spoken-card-face { padding: 16px 9px; border-radius: 20px; }
  .spoken-card-front img { width: 56px; height: 56px; }
  .spoken-card-front strong,
  .spoken-card-back strong {
    font-size: .96rem;
    max-width: 7ch;
  }
  .spoken-card-back { padding-top: 14px; }
  .spoken-card-back ul { gap: 5px; }
  .spoken-card-back li {
    min-height: 34px;
    padding: 5px 5px;
    font-size: .60rem;
    line-height: 1.12;
  }
  .spoken-english-cta-row .btn {
    min-width: 0;
    width: min(100%, 320px);
  }
}

@media (max-width: 390px) {
  .mini-stat { min-height: 62px !important; padding: 9px 4px !important; }
  .mini-stat img { width: 24px !important; height: 24px !important; }
  .mini-stat-text strong { font-size: .76rem !important; }
  .mini-stat-text span { font-size: .56rem !important; }

  .why-section .why-card { min-height: 104px !important; }
  .why-section .why-face { padding: 8px 6px !important; }
  .why-section .why-front strong { font-size: .62rem !important; }
  .why-section .why-front > span { font-size: .45rem !important; padding: 5px 6px !important; }

  .spoken-card { min-height: 330px; }
  .spoken-card-back li { font-size: .58rem; }
}

@media (prefers-reduced-motion: reduce) {
  .spoken-card-face,
  .why-face {
    transition: none !important;
  }
}


/* =========================================================
   v33 Courses Page: visible problem-solution matrices
   Scope: course detail sections only + proof pill text fit.
   ========================================================= */

/* Fit updated proof pill text without changing hero design */
.mini-stat-text strong {
  line-height: 1.02 !important;
}

.mini-stat-text span {
  line-height: 1.05 !important;
}

/* Course detail sections on courses.html */
.course-detail-section {
  scroll-margin-top: 76px;
  background:
    radial-gradient(circle at 12% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(242,185,59,.07), transparent 24%),
    linear-gradient(180deg, #061213 0%, #071d1f 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(242,185,59,.14);
  padding: 38px 0 42px;
}

.course-detail-section:nth-of-type(even) {
  background:
    radial-gradient(circle at 88% 10%, rgba(18,198,189,.10), transparent 26%),
    radial-gradient(circle at 14% 14%, rgba(242,185,59,.06), transparent 22%),
    linear-gradient(180deg, #061213 0%, #082426 100%);
}

.course-detail-shell {
  display: grid;
  gap: 22px;
}

.course-detail-head {
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}

.course-detail-kicker {
  color: var(--gold);
  border-color: rgba(242,185,59,.34);
  background: rgba(242,185,59,.06);
}

.course-detail-head h2 {
  margin: 10px 0 0;
  color: #fff8ea;
  font-size: clamp(2rem, 5.5vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.course-detail-head p {
  margin: 14px auto 0;
  max-width: 880px;
  color: rgba(248,244,236,.82);
  font-size: .98rem;
  line-height: 1.55;
}

.course-matrix {
  width: min(100%, 980px);
  margin-inline: auto;
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 24px;
  border: 1px solid rgba(242,185,59,.26);
  background:
    radial-gradient(circle at 12% 0%, rgba(18,198,189,.10), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(242,185,59,.07), transparent 22%),
    rgba(5,28,30,.72);
  box-shadow: 0 18px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.course-matrix-head,
.course-matrix-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 8px;
}

.course-matrix-head span,
.course-matrix-row span {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 16px;
}

.course-matrix-head span {
  min-height: 48px;
  padding: 10px 12px;
  color: var(--gold);
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .78rem;
  border: 1px solid rgba(242,185,59,.28);
  background:
    radial-gradient(circle at 16% 0%, rgba(242,185,59,.10), transparent 30%),
    rgba(4,18,19,.46);
}

.course-matrix-row span {
  min-height: 44px;
  padding: 10px 12px;
  color: rgba(255,248,234,.92);
  font-weight: 800;
  line-height: 1.22;
  font-size: .88rem;
  border: 1px solid rgba(242,185,59,.18);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.06), transparent 30%),
    rgba(10,34,37,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}

.course-matrix-row span:nth-child(2) {
  background:
    radial-gradient(circle at 18% 0%, rgba(242,185,59,.06), transparent 30%),
    rgba(24,39,45,.58);
}

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

.course-detail-cta .btn {
  min-width: 280px;
  justify-content: center;
}

/* Subtle color signatures while keeping one premium glass system */
.course-detail-communication .course-matrix {
  background:
    radial-gradient(circle at 12% 0%, rgba(121,213,216,.10), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(106,84,153,.08), transparent 22%),
    rgba(5,28,30,.72);
}

.course-detail-workplace .course-matrix {
  background:
    radial-gradient(circle at 12% 0%, rgba(141,214,172,.10), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(242,185,59,.06), transparent 22%),
    rgba(5,28,30,.72);
}

.course-detail-personality .course-matrix {
  background:
    radial-gradient(circle at 12% 0%, rgba(196,140,192,.10), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(18,198,189,.07), transparent 22%),
    rgba(5,28,30,.72);
}

@media (max-width: 760px) {
  .course-detail-section {
    padding: 30px 0 34px;
  }

  .course-detail-shell {
    gap: 18px;
  }

  .course-detail-head h2 {
    font-size: clamp(1.55rem, 8vw, 2.35rem);
    line-height: 1.02;
  }

  .course-detail-head p {
    font-size: .88rem;
    line-height: 1.48;
  }

  .course-matrix {
    width: 100%;
    gap: 6px;
    padding: 8px;
    border-radius: 18px;
  }

  .course-matrix-head,
  .course-matrix-row {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 6px;
  }

  .course-matrix-head span {
    min-height: 42px;
    padding: 8px 6px;
    border-radius: 13px;
    font-size: .58rem;
    letter-spacing: .035em;
  }

  .course-matrix-row span {
    min-height: 42px;
    padding: 8px 6px;
    border-radius: 13px;
    font-size: .66rem;
    line-height: 1.18;
  }

  .course-detail-cta .btn {
    min-width: 0;
    width: min(100%, 320px);
  }
}

@media (max-width: 380px) {
  .course-matrix-head span {
    font-size: .52rem;
  }

  .course-matrix-row span {
    font-size: .60rem;
    padding: 7px 5px;
  }
}


/* =========================================================
   v35 Course detail icon + bullet layout only
   Scope: four course sections on courses.html.
   Desktop and mobile remain 50/50.
   ========================================================= */

.course-detail-section {
  padding: 42px 0 48px !important;
}

.course-detail-shell {
  gap: 24px !important;
}

.course-detail-head h2 {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.9rem, 5vw, 3.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  font-weight: 850 !important;
}

.course-detail-head p {
  max-width: 900px !important;
  color: rgba(248,244,236,.82) !important;
  line-height: 1.6 !important;
}

.course-split-stack {
  width: min(100%, 1040px);
  margin-inline: auto;
  display: grid;
  gap: 14px;
}

.course-split-row {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 14px;
  align-items: stretch;
}

.course-split-row-solution {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
}

.course-icon-panel,
.course-bullet-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  border-radius: 26px;
  border: 1px solid rgba(222,187,67,.38);
  background:
    radial-gradient(circle at 18% 10%, rgba(222,187,67,.11), transparent 26%),
    radial-gradient(circle at 82% 14%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.78), rgba(8,22,25,.92));
  box-shadow:
    0 20px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.course-icon-panel::before,
.course-bullet-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 36%);
  pointer-events: none;
}

.course-icon-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
}

.course-icon-panel img {
  position: relative;
  z-index: 1;
  width: min(74%, 260px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.28));
}

.course-bullet-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 24px;
}

.course-bullet-card h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #debb43;
  font-size: .86rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: left;
}

.course-bullet-card ul {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.course-bullet-card li {
  position: relative;
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 8px 12px 8px 32px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 6% 50%, rgba(222,187,67,.13), transparent 16%),
    rgba(255,255,255,.055);
  color: rgba(255,248,234,.96);
  font-size: .88rem;
  line-height: 1.2;
  font-weight: 750;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}

.course-bullet-card li::before {
  content: "";
  position: absolute;
  left: 13px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #debb43;
  box-shadow: 0 0 14px rgba(222,187,67,.48);
}

.course-bullet-card li:last-child {
  color: #f3d469;
  border-color: rgba(222,187,67,.22);
}

/* Section-specific glass identities */
.course-detail-spoken .course-icon-panel,
.course-detail-spoken .course-bullet-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.12), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.86), rgba(15,39,74,.90));
}

.course-detail-communication .course-icon-panel,
.course-detail-communication .course-bullet-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(113,142,230,.14), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.12), transparent 24%),
    linear-gradient(145deg, rgba(30,55,104,.88), rgba(72,38,89,.90));
}

.course-detail-workplace .course-icon-panel,
.course-detail-workplace .course-bullet-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.14), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.12), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.88), rgba(82,61,29,.90));
}

.course-detail-personality .course-icon-panel,
.course-detail-personality .course-bullet-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(198,91,151,.14), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(42,191,186,.11), transparent 24%),
    linear-gradient(145deg, rgba(96,35,76,.88), rgba(13,69,74,.90));
}

.course-bullet-solution li {
  background:
    radial-gradient(circle at 6% 50%, rgba(222,187,67,.16), transparent 16%),
    rgba(255,255,255,.075);
}

.course-detail-cta {
  margin-top: 2px;
}

/* Force the requested 50/50 direction on mobile too */
@media (max-width: 760px) {
  .course-detail-section {
    padding: 32px 0 36px !important;
  }

  .course-detail-shell {
    gap: 18px !important;
  }

  .course-detail-head h2 {
    font-size: clamp(1.35rem, 7vw, 2.05rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.03em !important;
  }

  .course-detail-head p {
    max-width: 94% !important;
    font-size: .84rem !important;
    line-height: 1.5 !important;
  }

  .course-split-stack {
    gap: 10px;
  }

  .course-split-row,
  .course-split-row-solution {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 8px;
  }

  .course-split-row-solution {
    grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  }

  .course-icon-panel,
  .course-bullet-card {
    min-height: 178px;
    border-radius: 18px;
  }

  .course-icon-panel {
    padding: 12px;
  }

  .course-icon-panel img {
    width: min(90%, 132px);
  }

  .course-bullet-card {
    gap: 8px;
    padding: 12px 8px;
  }

  .course-bullet-card h3 {
    font-size: .54rem;
    letter-spacing: .055em;
    line-height: 1.1;
  }

  .course-bullet-card ul {
    gap: 5px;
  }

  .course-bullet-card li {
    min-height: 26px;
    padding: 5px 6px 5px 18px;
    border-radius: 12px;
    font-size: .56rem;
    line-height: 1.12;
    font-weight: 760;
  }

  .course-bullet-card li::before {
    left: 8px;
    width: 4px;
    height: 4px;
  }
}

@media (max-width: 390px) {
  .course-split-row,
  .course-split-row-solution {
    gap: 7px;
  }

  .course-icon-panel,
  .course-bullet-card {
    min-height: 172px;
    border-radius: 16px;
  }

  .course-bullet-card {
    padding: 10px 7px;
  }

  .course-bullet-card h3 {
    font-size: .49rem;
  }

  .course-bullet-card li {
    min-height: 25px;
    font-size: .51rem;
    padding-left: 17px;
  }
}


/* =========================================================
   v36 Course audio cards only
   Scope: courses page four course sections.
   ========================================================= */

.course-audio-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 2px 0 18px;
}

.course-audio-card {
  position: relative;
  width: min(100%, 760px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 16px 18px 18px;
  border-radius: 999px;
  border: 1px solid rgba(222,187,67,.34);
  box-shadow:
    0 18px 34px rgba(0,0,0,.26),
    0 8px 20px rgba(222,187,67,.10),
    inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
}

.course-audio-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.11), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.045), transparent 42%);
  pointer-events: none;
}

.course-audio-label {
  position: relative;
  z-index: 1;
  color: #f8f1d2;
  font-size: .84rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
}

.course-audio-card audio {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  height: 42px;
  border-radius: 999px;
  opacity: .96;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.18));
}

.course-detail-spoken .course-audio-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.18), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.14), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.88), rgba(15,39,74,.92));
}

.course-detail-communication .course-audio-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(113,142,230,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.13), transparent 24%),
    linear-gradient(145deg, rgba(30,55,104,.90), rgba(72,38,89,.92));
}

.course-detail-workplace .course-audio-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.13), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.90), rgba(82,61,29,.92));
}

.course-detail-personality .course-audio-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(198,91,151,.15), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(42,191,186,.13), transparent 24%),
    linear-gradient(145deg, rgba(96,35,76,.90), rgba(13,69,74,.92));
}

@media (max-width: 760px) {
  .course-audio-wrap {
    margin: 0 0 12px;
  }

  .course-audio-card {
    width: 100%;
    gap: 8px;
    padding: 12px 12px 14px;
    border-radius: 24px;
  }

  .course-audio-label {
    font-size: .62rem;
    letter-spacing: .045em;
  }

  .course-audio-card audio {
    width: 100%;
    height: 38px;
  }
}


/* =========================================================
   v37 Course investment CTA + bold subheader emphasis + sticky chatbot
   ========================================================= */

/* Bolded important words in subheaders/leads */
.hero-lead strong,
.availability strong,
.section-head p strong,
.why-head p strong,
.testimonials-head p strong,
.investment-head p strong,
.coursehub-lead strong,
.coursehub-note p strong,
.course-investment-lead strong,
.course-investment-support strong {
  color: #f3d469;
  font-weight: 950;
}

/* New bottom CTA section on courses.html */
.course-investment-cta-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(222,187,67,.12), transparent 24%),
    linear-gradient(180deg, #061314 0%, #081a1c 100%);
  border-top: 1px solid rgba(222,187,67,.18);
  padding: 42px 0 50px;
  color: var(--text-light);
}

.course-investment-cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 36%),
    radial-gradient(circle at 50% 100%, rgba(222,187,67,.06), transparent 34%);
  pointer-events: none;
}

.course-investment-cta-shell {
  position: relative;
  z-index: 1;
  width: min(100%, 980px);
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 14px;
  padding: 28px 22px;
  border-radius: 30px;
  border: 1px solid rgba(222,187,67,.34);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.78), rgba(8,22,25,.92));
  box-shadow:
    0 22px 46px rgba(0,0,0,.26),
    0 10px 24px rgba(222,187,67,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.course-investment-kicker {
  color: #debb43;
  border-color: rgba(222,187,67,.42);
  background: rgba(222,187,67,.08);
}

.course-investment-cta-shell h2 {
  margin: 0;
  max-width: 840px;
  color: #fff8ea;
  font-size: clamp(2rem, 5.8vw, 4rem);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 900;
}

.course-investment-lead {
  margin: 0;
  max-width: 840px;
  color: rgba(248,244,236,.84);
  font-size: .98rem;
  line-height: 1.58;
}

.course-investment-support {
  margin: 0;
  color: rgba(248,244,236,.82);
  font-size: .92rem;
  line-height: 1.45;
}

.course-investment-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
}

.course-investment-actions .btn {
  min-width: 240px;
}

/* Keep Elfsight chatbot available across the viewport, not only at footer */
.neskills-chatbot-sticky,
.elfsight-app-a51986b7-1d74-4cb7-b859-bb70d249eed3.neskills-chatbot-sticky {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 2147483000 !important;
  max-width: min(92vw, 420px) !important;
  pointer-events: auto !important;
}

.site-footer .elfsight-app-a51986b7-1d74-4cb7-b859-bb70d249eed3 {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  .course-investment-cta-section {
    padding: 34px 0 40px;
  }

  .course-investment-cta-shell {
    padding: 22px 14px;
    border-radius: 24px;
    gap: 12px;
  }

  .course-investment-cta-shell h2 {
    font-size: clamp(1.55rem, 8vw, 2.4rem);
    line-height: 1.02;
    letter-spacing: -.038em;
  }

  .course-investment-lead {
    font-size: .86rem;
    line-height: 1.5;
  }

  .course-investment-support {
    font-size: .82rem;
  }

  .course-investment-actions {
    width: 100%;
  }

  .course-investment-actions .btn {
    width: min(100%, 320px);
    min-width: 0;
  }

  .neskills-chatbot-sticky,
  .elfsight-app-a51986b7-1d74-4cb7-b859-bb70d249eed3.neskills-chatbot-sticky {
    right: 12px !important;
    bottom: 12px !important;
    max-width: calc(100vw - 24px) !important;
  }
}


/* =========================================================
   v39 Institutions & Organizations page only
   ========================================================= */

.org-hero,
.org-audience-section,
.org-focus-section,
.org-final-cta-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(222,187,67,.10), transparent 24%),
    linear-gradient(180deg, #061314 0%, #081a1c 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(222,187,67,.12);
}

.org-hero {
  padding: 44px 0 36px;
}

.org-hero-shell,
.org-final-cta {
  width: min(100%, 980px);
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 14px;
}

.org-kicker {
  color: #debb43;
  border-color: rgba(222,187,67,.42);
  background: rgba(222,187,67,.08);
}

.org-hero h1,
.org-final-cta h2 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(2rem, 6vw, 4.25rem);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 900;
}

.org-hero p,
.org-final-cta p {
  margin: 0;
  max-width: 860px;
  color: rgba(248,244,236,.84);
  font-size: .98rem;
  line-height: 1.58;
}

.org-hero strong,
.org-final-cta strong {
  color: #f3d469;
  font-weight: 950;
}

.org-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
}

.org-actions .btn {
  min-width: 232px;
}

.org-audience-section,
.org-focus-section {
  padding: 28px 0 32px;
}

.org-compact-shell {
  display: grid;
  gap: 16px;
}

.org-section-head {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 8px;
}

.org-section-head h2 {
  margin: 0;
  max-width: 760px;
  color: #fff8ea;
  font-size: clamp(1.55rem, 4vw, 2.8rem);
  line-height: 1.03;
  letter-spacing: -.04em;
  font-weight: 860;
}

.org-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}

.org-audience-card,
.org-focus-card,
.org-final-cta {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(222,187,67,.28);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.78), rgba(8,22,25,.92));
  box-shadow:
    0 18px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.org-audience-card::before,
.org-focus-card::before,
.org-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.09), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 38%);
  pointer-events: none;
}

.org-audience-card,
.org-focus-card {
  padding: 16px 14px;
  min-height: 142px;
}

.org-audience-card > *,
.org-focus-card > *,
.org-final-cta > * {
  position: relative;
  z-index: 1;
}

.org-audience-card h3,
.org-focus-card h3 {
  margin: 0;
  color: #f3d469;
  font-size: .92rem;
  line-height: 1.16;
  letter-spacing: -.01em;
  font-weight: 900;
}

.org-audience-card p,
.org-focus-card p {
  margin: 8px 0 0;
  color: rgba(255,248,234,.86);
  font-size: .76rem;
  line-height: 1.34;
}

.org-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}

.org-focus-card {
  min-height: 132px;
}

.org-focus-card:nth-child(1),
.org-focus-card:nth-child(5) {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.14), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.12), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.86), rgba(15,39,74,.90));
}

.org-focus-card:nth-child(2),
.org-focus-card:nth-child(6) {
  background:
    radial-gradient(circle at 18% 12%, rgba(113,142,230,.13), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.11), transparent 24%),
    linear-gradient(145deg, rgba(30,55,104,.88), rgba(72,38,89,.90));
}

.org-focus-card:nth-child(3),
.org-focus-card:nth-child(7) {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.12), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.90), rgba(8,37,39,.88));
}

.org-focus-card:nth-child(4) {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.13), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.10), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.88), rgba(82,61,29,.90));
}

.org-focus-card-wide {
  grid-column: span 3;
  min-height: 104px;
  text-align: center;
}

.org-final-cta-section {
  padding: 32px 0 44px;
}

.org-final-cta {
  padding: 26px 18px;
  border-radius: 28px;
}

@media (max-width: 760px) {
  .org-hero {
    padding: 34px 0 28px;
  }

  .org-hero h1,
  .org-final-cta h2 {
    font-size: clamp(1.65rem, 8vw, 2.45rem);
    line-height: 1.02;
    letter-spacing: -.04em;
  }

  .org-hero p,
  .org-final-cta p {
    font-size: .86rem;
    line-height: 1.48;
    max-width: 94%;
  }

  .org-actions {
    width: 100%;
  }

  .org-actions .btn {
    width: min(100%, 320px);
    min-width: 0;
  }

  .org-audience-section,
  .org-focus-section {
    padding: 24px 0 28px;
  }

  .org-section-head h2 {
    font-size: clamp(1.25rem, 6.2vw, 1.85rem);
  }

  .org-audience-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
  }

  .org-audience-card,
  .org-focus-card {
    border-radius: 18px;
    padding: 12px 10px;
    min-height: 116px;
  }

  .org-audience-card h3,
  .org-focus-card h3 {
    font-size: .72rem;
    line-height: 1.15;
  }

  .org-audience-card p,
  .org-focus-card p {
    margin-top: 6px;
    font-size: .61rem;
    line-height: 1.25;
  }

  .org-focus-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
  }

  .org-focus-card {
    min-height: 124px;
  }

  .org-focus-card-wide {
    grid-column: span 2;
    min-height: 96px;
  }

  .org-final-cta-section {
    padding: 28px 0 36px;
  }

  .org-final-cta {
    padding: 22px 12px;
    border-radius: 24px;
  }
}


/* =========================================================
   v40 Institutions page: Who This Is For card refinement only
   ========================================================= */

.org-audience-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 20px 18px !important;
  min-height: 158px !important;
}

.org-audience-card h3 {
  text-align: center !important;
  font-size: 1.08rem !important;
  line-height: 1.16 !important;
  letter-spacing: -.012em !important;
}

.org-audience-card p {
  text-align: center !important;
  max-width: 94% !important;
  margin: 10px auto 0 !important;
  font-size: .92rem !important;
  line-height: 1.45 !important;
}

.org-audience-card:nth-child(1) {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.16), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.12), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.86), rgba(15,39,74,.90)) !important;
}

.org-audience-card:nth-child(2) {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.14), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.10), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.90), rgba(72,38,89,.86)) !important;
}

.org-audience-card:nth-child(3) {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.15), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.10), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.90), rgba(35,70,52,.88)) !important;
}

.org-audience-card:nth-child(4) {
  background:
    radial-gradient(circle at 18% 12%, rgba(198,91,151,.14), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(42,191,186,.11), transparent 24%),
    linear-gradient(145deg, rgba(96,35,76,.88), rgba(13,69,74,.90)) !important;
}

@media (max-width: 760px) {
  .org-audience-card {
    min-height: 132px !important;
    padding: 14px 10px !important;
  }

  .org-audience-card h3 {
    font-size: .86rem !important;
    line-height: 1.14 !important;
  }

  .org-audience-card p {
    max-width: 96% !important;
    margin-top: 7px !important;
    font-size: .70rem !important;
    line-height: 1.32 !important;
  }
}

@media (max-width: 380px) {
  .org-audience-card {
    min-height: 128px !important;
    padding: 12px 8px !important;
  }

  .org-audience-card h3 {
    font-size: .78rem !important;
  }

  .org-audience-card p {
    font-size: .64rem !important;
  }
}


/* =========================================================
   v41 Institutions page: Training Focus Areas card refinement only
   ========================================================= */

.org-focus-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 20px 18px !important;
  min-height: 146px !important;
}

.org-focus-card h3 {
  text-align: center !important;
  font-size: 1rem !important;
  line-height: 1.15 !important;
  letter-spacing: -.012em !important;
  max-width: 94% !important;
}

.org-focus-card p {
  text-align: center !important;
  max-width: 94% !important;
  margin: 10px auto 0 !important;
  font-size: .86rem !important;
  line-height: 1.42 !important;
}

/* Stronger differentiated glass identities for Training Focus Areas */
.org-focus-card:nth-child(1) {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.17), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.13), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.88), rgba(15,39,74,.92)) !important;
}

.org-focus-card:nth-child(2) {
  background:
    radial-gradient(circle at 18% 12%, rgba(113,142,230,.15), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.13), transparent 24%),
    linear-gradient(145deg, rgba(30,55,104,.90), rgba(72,38,89,.92)) !important;
}

.org-focus-card:nth-child(3) {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.15), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.11), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.92), rgba(8,37,39,.90)) !important;
}

.org-focus-card:nth-child(4) {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.16), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.12), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.92), rgba(82,61,29,.91)) !important;
}

.org-focus-card:nth-child(5) {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.15), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(113,142,230,.12), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.88), rgba(30,55,104,.91)) !important;
}

.org-focus-card:nth-child(6) {
  background:
    radial-gradient(circle at 18% 12%, rgba(198,91,151,.15), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(113,142,230,.12), transparent 24%),
    linear-gradient(145deg, rgba(96,35,76,.90), rgba(72,38,89,.92)) !important;
}

.org-focus-card:nth-child(7),
.org-focus-card-wide {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.14), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(42,191,186,.12), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.92), rgba(13,69,74,.92)) !important;
}

.org-focus-card-wide {
  min-height: 112px !important;
}

@media (max-width: 760px) {
  .org-focus-card {
    min-height: 134px !important;
    padding: 14px 10px !important;
  }

  .org-focus-card h3 {
    font-size: .82rem !important;
    line-height: 1.13 !important;
    max-width: 96% !important;
  }

  .org-focus-card p {
    max-width: 96% !important;
    margin-top: 7px !important;
    font-size: .68rem !important;
    line-height: 1.30 !important;
  }

  .org-focus-card-wide {
    min-height: 104px !important;
  }
}

@media (max-width: 380px) {
  .org-focus-card {
    min-height: 128px !important;
    padding: 12px 8px !important;
  }

  .org-focus-card h3 {
    font-size: .74rem !important;
  }

  .org-focus-card p {
    font-size: .62rem !important;
  }
}


/* =========================================================
   v42 Institutions page: balanced audience headers + focus slider
   ========================================================= */

.org-audience-card h3 span {
  display: block;
}

.org-audience-card h3 {
  min-height: 2.28em;
}

/* Replace many focus cards visually with one premium horizontal slider */
.org-focus-slider {
  width: min(100%, 940px);
  margin-inline: auto;
  display: grid;
  gap: 14px;
}

.org-focus-slider-viewport {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(222,187,67,.34);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.11), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.12), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.82), rgba(8,22,25,.94));
  box-shadow:
    0 22px 46px rgba(0,0,0,.26),
    0 10px 24px rgba(222,187,67,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  outline: none;
}

.org-focus-slider-viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 12%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 38%);
  pointer-events: none;
  z-index: 2;
}

.org-focus-slider-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.org-focus-slider-track::-webkit-scrollbar {
  display: none;
}

.org-focus-slide {
  position: relative;
  flex: 0 0 100%;
  scroll-snap-align: center;
  min-height: 250px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 12px;
  padding: 40px 54px;
  color: #fff8ea;
  overflow: hidden;
}

.org-focus-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .92;
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.18), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(78,105,185,.14), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.86), rgba(15,39,74,.90));
}

.org-focus-slide:nth-child(2)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(113,142,230,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(183,101,176,.14), transparent 24%),
    linear-gradient(145deg, rgba(30,55,104,.90), rgba(72,38,89,.92));
}

.org-focus-slide:nth-child(3)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.12), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.92), rgba(8,37,39,.90));
}

.org-focus-slide:nth-child(4)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(93,195,145,.16), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(222,187,67,.12), transparent 24%),
    linear-gradient(145deg, rgba(22,83,67,.92), rgba(82,61,29,.91));
}

.org-focus-slide:nth-child(5)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(38,198,192,.15), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(113,142,230,.14), transparent 24%),
    linear-gradient(145deg, rgba(7,73,78,.88), rgba(30,55,104,.91));
}

.org-focus-slide:nth-child(6)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(198,91,151,.15), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(113,142,230,.13), transparent 24%),
    linear-gradient(145deg, rgba(96,35,76,.90), rgba(72,38,89,.92));
}

.org-focus-slide:nth-child(7)::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.15), transparent 28%),
    radial-gradient(circle at 84% 16%, rgba(42,191,186,.12), transparent 24%),
    linear-gradient(145deg, rgba(82,61,29,.92), rgba(13,69,74,.92));
}

.org-focus-number,
.org-focus-slide h3,
.org-focus-slide p {
  position: relative;
  z-index: 3;
}

.org-focus-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  color: #071819;
  background: linear-gradient(135deg, #debb43, #ffe18a);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .08em;
  box-shadow: 0 14px 28px rgba(0,0,0,.24), 0 0 26px rgba(222,187,67,.20);
}

.org-focus-slide h3 {
  margin: 0;
  max-width: 720px;
  color: #fff8ea;
  font-size: clamp(1.65rem, 4.8vw, 3.05rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  font-weight: 900;
}

.org-focus-slide p {
  margin: 0;
  max-width: 620px;
  color: rgba(255,248,234,.88);
  font-size: 1.05rem;
  line-height: 1.48;
  font-weight: 650;
}

.org-focus-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.org-focus-arrow {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(222,187,67,.36);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.12), transparent 38%),
    rgba(8,37,39,.86);
  color: #f3d469;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.org-focus-arrow:hover,
.org-focus-arrow:focus-visible {
  border-color: rgba(222,187,67,.72);
  transform: translateY(-1px);
}

.org-focus-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.org-focus-dot {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,248,234,.32);
  padding: 0;
  cursor: pointer;
}

.org-focus-dot.is-active {
  width: 28px;
  background: #debb43;
  box-shadow: 0 0 18px rgba(222,187,67,.34);
}

@media (max-width: 760px) {
  .org-audience-card h3 {
    min-height: 2.3em;
  }

  .org-focus-slider {
    gap: 12px;
  }

  .org-focus-slider-viewport {
    border-radius: 24px;
  }

  .org-focus-slide {
    min-height: 236px;
    padding: 30px 18px;
    gap: 10px;
  }

  .org-focus-number {
    width: 44px;
    height: 44px;
    font-size: .72rem;
  }

  .org-focus-slide h3 {
    max-width: 94%;
    font-size: clamp(1.35rem, 7vw, 2.05rem);
    line-height: 1.05;
  }

  .org-focus-slide p {
    max-width: 92%;
    font-size: .86rem;
    line-height: 1.42;
  }

  .org-focus-arrow {
    width: 38px;
    height: 38px;
    font-size: 1.35rem;
  }
}

@media (max-width: 380px) {
  .org-focus-slide {
    min-height: 228px;
    padding: 28px 14px;
  }

  .org-focus-slide h3 {
    font-size: 1.25rem;
  }

  .org-focus-slide p {
    font-size: .80rem;
  }
}


/* =========================================================
   v43 Institutions slider: replace slide numbers with icons only
   ========================================================= */

.org-focus-icon-badge {
  width: 86px !important;
  height: 86px !important;
  padding: 10px !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.16), transparent 36%),
    rgba(7,24,25,.42) !important;
  border: 1px solid rgba(222,187,67,.42);
  box-shadow:
    0 14px 28px rgba(0,0,0,.22),
    0 0 26px rgba(222,187,67,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.org-focus-icon-badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.20));
}

@media (max-width: 760px) {
  .org-focus-icon-badge {
    width: 72px !important;
    height: 72px !important;
    padding: 8px !important;
  }
}

@media (max-width: 380px) {
  .org-focus-icon-badge {
    width: 66px !important;
    height: 66px !important;
    padding: 7px !important;
  }
}


/* =========================================================
   v46 About page only
   ========================================================= */

.about-hero,
.about-problem-approach,
.about-proof-section,
.about-story-outcomes,
.about-final-cta-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(18,198,189,.12), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(222,187,67,.10), transparent 24%),
    linear-gradient(180deg, #061314 0%, #081a1c 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(222,187,67,.12);
}

.about-hero {
  padding: 48px 0 42px;
}

.about-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: stretch;
  gap: 18px;
}

.about-hero-copy,
.about-founder-card,
.about-panel,
.about-proof-shell,
.about-final-cta {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(222,187,67,.30);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.78), rgba(8,22,25,.92));
  box-shadow:
    0 20px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.about-hero-copy {
  padding: clamp(28px, 4vw, 48px);
}

.about-kicker {
  color: #debb43;
  border-color: rgba(222,187,67,.42);
  background: rgba(222,187,67,.08);
}

.about-hero h1,
.about-panel h2,
.about-final-cta h2 {
  margin: 16px 0 0;
  color: #fff8ea;
  font-size: clamp(2rem, 5.4vw, 4.2rem);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 900;
}

.about-hero-highlight {
  margin: 8px 0 0;
  color: #f3d469;
  font-size: clamp(1.65rem, 4.8vw, 3.35rem);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 900;
}

.about-hero-lead,
.about-panel p,
.about-final-cta p {
  margin: 18px 0 0;
  max-width: 760px;
  color: rgba(248,244,236,.84);
  font-size: .98rem;
  line-height: 1.58;
}

.about-hero-actions,
.about-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.about-founder-card {
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 30px;
  min-height: 330px;
  background:
    radial-gradient(circle at 50% 25%, rgba(222,187,67,.18), transparent 30%),
    radial-gradient(circle at 80% 15%, rgba(18,198,189,.12), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.82), rgba(8,22,25,.94));
}

.about-founder-mark {
  display: grid;
  place-items: center;
  width: 152px;
  height: 152px;
  border-radius: 999px;
  border: 1px solid rgba(222,187,67,.36);
  color: #f3d469;
  font-weight: 950;
  letter-spacing: -.02em;
  box-shadow: 0 20px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

.about-founder-name {
  margin: 18px 0 4px;
  color: #fff8ea;
  font-size: 1.8rem;
  font-weight: 900;
}

.about-founder-card p:last-child {
  margin: 0;
  color: rgba(248,244,236,.82);
  line-height: 1.45;
}

.about-problem-approach,
.about-story-outcomes {
  padding: 22px 0;
}

.about-two-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.about-panel {
  padding: 26px 24px;
}

.about-panel h2 {
  font-size: clamp(1.6rem, 3.2vw, 2.55rem);
  letter-spacing: -.04em;
}

.about-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  margin-top: 18px;
}

.about-mini-grid div,
.about-method-row span,
.about-outcome-list li {
  border: 1px solid rgba(222,187,67,.20);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(255,248,234,.88);
  font-size: .84rem;
  line-height: 1.28;
  padding: 12px;
}

.about-callout {
  border: 1px solid rgba(222,187,67,.25);
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(222,187,67,.055);
}

.about-callout strong {
  color: #f3d469;
}

.about-method-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 8px;
  margin-top: 18px;
  text-align: center;
}

.about-proof-section {
  padding: 22px 0;
}

.about-proof-shell {
  padding: 24px;
  text-align: center;
}

.about-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-top: 16px;
}

.about-proof-grid div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-right: 1px solid rgba(222,187,67,.20);
}

.about-proof-grid div:last-child {
  border-right: 0;
}

.about-proof-grid strong {
  color: #fff8ea;
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  line-height: 1;
}

.about-proof-grid span {
  color: rgba(248,244,236,.78);
  font-size: .86rem;
  line-height: 1.35;
}

.about-outcome-list {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
}

.about-outcome-list li {
  padding: 13px 16px;
}

.about-final-cta-section {
  padding: 24px 0 48px;
}

.about-final-cta {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 28px;
}

.about-final-cta h2 {
  margin-top: 10px;
  font-size: clamp(1.8rem, 4.2vw, 3rem);
}

.about-final-actions {
  justify-content: flex-end;
  margin-top: 0;
}

@media (max-width: 900px) {
  .about-hero-shell,
  .about-two-grid,
  .about-final-cta {
    grid-template-columns: 1fr;
  }

  .about-founder-card {
    min-height: 230px;
  }

  .about-proof-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .about-proof-grid div {
    border-right: 0;
    border-bottom: 1px solid rgba(222,187,67,.18);
  }

  .about-final-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .about-hero {
    padding: 34px 0 28px;
  }

  .about-hero-copy,
  .about-panel,
  .about-proof-shell,
  .about-final-cta {
    border-radius: 24px;
    padding: 22px 14px;
  }

  .about-hero h1 {
    font-size: clamp(1.9rem, 9vw, 2.75rem);
    line-height: 1.03;
  }

  .about-hero-highlight {
    font-size: clamp(1.55rem, 8vw, 2.25rem);
    line-height: 1.04;
  }

  .about-hero-lead,
  .about-panel p,
  .about-final-cta p {
    font-size: .88rem;
    line-height: 1.5;
  }

  .about-founder-card {
    display: none;
  }

  .about-panel h2 {
    font-size: clamp(1.35rem, 7vw, 2rem);
  }

  .about-mini-grid,
  .about-method-row {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .about-mini-grid div,
  .about-method-row span,
  .about-outcome-list li {
    font-size: .72rem;
    padding: 10px 8px;
  }

  .about-proof-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .about-proof-grid strong {
    font-size: 1.35rem;
  }

  .about-proof-grid span {
    font-size: .72rem;
  }

  .about-hero-actions .btn,
  .about-final-actions .btn {
    width: min(100%, 320px);
  }
}


/* =========================================================
   v188 About founder intro 3:2 profile poster cleanup
   ========================================================= */

.about-founder-video-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(222,187,67,.30);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(8,37,39,.78), rgba(8,22,25,.92));
  box-shadow:
    0 20px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
}

.about-video-frame {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(222,187,67,.28);
  background: rgba(0,0,0,.30);
  box-shadow: 0 18px 34px rgba(0,0,0,.24);
}

.about-video-frame::after {
  content: "▶";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  color: #071819;
  background: linear-gradient(135deg, #debb43, #ffe18a);
  box-shadow: 0 14px 30px rgba(0,0,0,.26), 0 0 24px rgba(222,187,67,.24);
  font-size: 1.2rem;
  font-weight: 900;
  pointer-events: none;
  opacity: .94;
}

.about-video-frame:focus-within::after,
.about-video-frame:hover::after {
  opacity: .45;
}

.about-video-frame video {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  background: #061314;
}

.about-founder-intro-copy {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 8px 4px 2px;
}

.about-media-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(222,187,67,.38);
  border-radius: 999px;
  background: rgba(222,187,67,.08);
  color: #debb43;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 7px 12px;
}

.about-founder-intro-copy h2 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.about-founder-intro-copy p {
  margin: 0;
  color: rgba(248,244,236,.84);
  font-size: .88rem;
  line-height: 1.48;
}

.about-founder-intro-copy strong,
.about-hero-lead strong,
.about-panel p strong,
.about-final-cta p strong {
  color: #f3d469;
  font-weight: 900;
}

.about-founder-intro-copy .about-founder-name {
  margin-top: 4px;
  color: #fff8ea;
  font-size: 1.25rem;
  line-height: 1.1;
}

.about-founder-role {
  color: rgba(248,244,236,.78) !important;
  font-size: .80rem !important;
}

.about-panel {
  text-align: center;
}

.about-panel .section-kicker {
  margin-inline: auto;
}

.about-mini-grid,
.about-method-row {
  align-items: stretch;
}

.about-info-pill {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 62px;
  border: 1px solid rgba(222,187,67,.24);
  border-radius: 16px;
  color: rgba(255,248,234,.92);
  font-size: .86rem;
  line-height: 1.25;
  font-weight: 760;
  padding: 12px;
  cursor: help;
  box-shadow:
    0 12px 26px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.about-info-pill > span {
  position: relative;
  z-index: 2;
}

.about-info-pill small {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  translate: -50% 8px;
  z-index: 20;
  width: min(260px, 84vw);
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(222,187,67,.34);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.12), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.97), rgba(8,22,25,.98));
  color: rgba(255,248,234,.92);
  box-shadow: 0 18px 34px rgba(0,0,0,.30);
  font-size: .72rem;
  line-height: 1.35;
  font-weight: 650;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, translate .18s ease;
}

.about-info-pill:hover small,
.about-info-pill:focus small,
.about-info-pill:focus-visible small {
  opacity: 1;
  translate: -50% 0;
}

.about-pill-teal { background: radial-gradient(circle at 20% 15%, rgba(42,191,186,.18), transparent 32%), linear-gradient(145deg, rgba(7,73,78,.80), rgba(8,28,31,.92)); }
.about-pill-purple { background: radial-gradient(circle at 20% 15%, rgba(183,101,176,.18), transparent 32%), linear-gradient(145deg, rgba(72,38,89,.82), rgba(8,28,31,.92)); }
.about-pill-blue { background: radial-gradient(circle at 20% 15%, rgba(78,105,185,.18), transparent 32%), linear-gradient(145deg, rgba(30,55,104,.82), rgba(8,28,31,.92)); }
.about-pill-green { background: radial-gradient(circle at 20% 15%, rgba(93,195,145,.18), transparent 32%), linear-gradient(145deg, rgba(22,83,67,.82), rgba(8,28,31,.92)); }
.about-pill-gold { background: radial-gradient(circle at 20% 15%, rgba(222,187,67,.18), transparent 32%), linear-gradient(145deg, rgba(82,61,29,.82), rgba(8,28,31,.92)); }

.about-proof-break span {
  display: inline;
}

@media (max-width: 900px) {
  .about-founder-video-card {
    order: 2;
  }
}

@media (max-width: 760px) {
  .about-founder-video-card {
    border-radius: 24px;
    padding: 14px;
  }

  .about-video-frame {
    border-radius: 20px;
  }

  .about-video-frame::after {
    width: 50px;
    height: 50px;
    font-size: 1rem;
  }

  .about-founder-intro-copy h2 {
    font-size: 1.55rem;
  }

  .about-founder-intro-copy p {
    font-size: .80rem;
  }

  .about-info-pill {
    min-height: 58px;
    font-size: .72rem;
    padding: 10px 8px;
  }

  .about-info-pill small {
    display: none;
  }

  .about-proof-break span {
    display: block;
  }
}


/* =========================================================
   v48 About page refinement fixes only
   ========================================================= */
.about-panel,
.about-proof-shell {
  overflow: visible;
}

.about-mini-grid,
.about-method-row,
.about-outcome-list {
  position: relative;
  z-index: 2;
}

.about-info-pill,
.about-outcome-list li {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.about-info-pill {
  overflow: visible;
  isolation: isolate;
  min-height: 72px;
}

.about-info-pill > span {
  display: block;
}

.about-info-pill small {
  top: calc(100% + 10px);
  bottom: auto;
  translate: -50% -4px;
}

.about-info-pill:hover small,
.about-info-pill:focus small,
.about-info-pill:focus-visible small,
.about-info-pill.is-active small {
  opacity: 1;
  translate: -50% 0;
}

.about-method-row .about-info-pill {
  min-height: 96px;
}

.about-method-row .about-info-pill > span,
.about-mini-grid .about-info-pill > span {
  font-size: .90rem;
  font-weight: 850;
}

.about-pill-teal {
  background:
    radial-gradient(circle at 18% 12%, rgba(86,224,220,.28), transparent 30%),
    linear-gradient(145deg, rgba(11,100,106,.78), rgba(8,31,34,.88));
}
.about-pill-purple {
  background:
    radial-gradient(circle at 18% 12%, rgba(215,129,207,.26), transparent 30%),
    linear-gradient(145deg, rgba(96,52,118,.78), rgba(10,31,36,.88));
}
.about-pill-blue {
  background:
    radial-gradient(circle at 18% 12%, rgba(112,142,255,.24), transparent 30%),
    linear-gradient(145deg, rgba(38,69,137,.78), rgba(9,30,36,.88));
}
.about-pill-green {
  background:
    radial-gradient(circle at 18% 12%, rgba(115,235,171,.24), transparent 30%),
    linear-gradient(145deg, rgba(28,96,77,.78), rgba(9,30,34,.88));
}
.about-pill-gold {
  background:
    radial-gradient(circle at 18% 12%, rgba(244,215,109,.26), transparent 30%),
    linear-gradient(145deg, rgba(103,78,33,.78), rgba(10,31,36,.88));
}

.about-outcome-list li:nth-child(1) {
  background:
    radial-gradient(circle at 18% 12%, rgba(86,224,220,.26), transparent 30%),
    linear-gradient(145deg, rgba(9,83,92,.78), rgba(8,28,31,.90));
}
.about-outcome-list li:nth-child(2) {
  background:
    radial-gradient(circle at 18% 12%, rgba(244,215,109,.24), transparent 30%),
    linear-gradient(145deg, rgba(88,71,29,.78), rgba(8,28,31,.90));
}
.about-outcome-list li:nth-child(3) {
  background:
    radial-gradient(circle at 18% 12%, rgba(112,142,255,.24), transparent 30%),
    linear-gradient(145deg, rgba(34,63,124,.78), rgba(8,28,31,.90));
}
.about-outcome-list li:nth-child(4) {
  background:
    radial-gradient(circle at 18% 12%, rgba(215,129,207,.24), transparent 30%),
    linear-gradient(145deg, rgba(83,44,104,.78), rgba(8,28,31,.90));
}

.about-proof-grid div:nth-child(3) strong {
  font-size: clamp(1.95rem, 3.4vw, 2.55rem);
  line-height: 1.0;
}

.about-proof-break {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .20em;
}

.about-proof-break span {
  display: inline;
}

.about-video-frame::after {
  display: none;
}

.about-video-play-btn {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(243,212,105,.76);
  color: #092022;
  box-shadow: 0 18px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.35);
  font-size: 1.35rem;
  font-weight: 900;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .18s ease, opacity .18s ease;
}

.about-video-play-btn:hover,
.about-video-play-btn:focus-visible {
  transform: scale(1.05);
}

.about-video-frame.is-playing .about-video-play-btn,
.about-video-play-btn.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 760px) {
  .about-method-row {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  .about-info-pill {
    min-height: 66px;
    padding: 12px 10px;
  }

  .about-method-row .about-info-pill {
    min-height: 72px;
  }

  .about-info-pill > span {
    font-size: .86rem;
  }

  .about-info-pill small {
    display: block;
    width: min(240px, calc(100vw - 56px));
    font-size: .70rem;
    padding: 10px 11px;
    top: calc(100% + 8px);
    left: 50%;
  }

  .about-proof-break {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .about-proof-break span {
    display: block;
  }

  .about-video-play-btn {
    width: 54px;
    height: 54px;
    left: 14px;
    bottom: 14px;
    font-size: 1.1rem;
  }
}


/* =========================================================
   v50 Clean About tooltip recovery
   - Desktop: one floating tooltip on hover/focus
   - Mobile: one inline description panel below the pill group
   - Keeps approved glassy pill colors
   ========================================================= */

.about-mini-grid,
.about-method-row {
  position: relative;
  overflow: visible;
}

/* Hide the old embedded tooltip bubbles completely. JS reads their text only. */
.about-info-pill small {
  display: none !important;
}

/* Keep approved colored/glassy pills clean and single-border. */
.about-mini-grid .about-info-pill,
.about-method-row .about-info-pill {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border-width: 1px;
  cursor: pointer;
  box-shadow:
    0 14px 28px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.about-mini-grid .about-info-pill > span,
.about-method-row .about-info-pill > span {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Restore the approved colors explicitly. */
.about-pill-teal {
  border-color: rgba(78, 225, 214, .24);
  background:
    radial-gradient(circle at 18% 16%, rgba(110, 235, 225, .20), transparent 30%),
    linear-gradient(145deg, rgba(8,88,95,.82), rgba(7,28,31,.94)) !important;
}

.about-pill-purple {
  border-color: rgba(214, 130, 208, .24);
  background:
    radial-gradient(circle at 18% 16%, rgba(223, 145, 218, .20), transparent 30%),
    linear-gradient(145deg, rgba(92,49,112,.84), rgba(8,28,31,.94)) !important;
}

.about-pill-blue {
  border-color: rgba(128, 151, 255, .24);
  background:
    radial-gradient(circle at 18% 16%, rgba(132, 159, 255, .18), transparent 30%),
    linear-gradient(145deg, rgba(35,67,129,.84), rgba(8,28,31,.94)) !important;
}

.about-pill-green {
  border-color: rgba(109, 225, 173, .24);
  background:
    radial-gradient(circle at 18% 16%, rgba(123, 236, 184, .18), transparent 30%),
    linear-gradient(145deg, rgba(25,92,73,.84), rgba(8,28,31,.94)) !important;
}

.about-pill-gold {
  border-color: rgba(242, 208, 98, .24);
  background:
    radial-gradient(circle at 18% 16%, rgba(246, 221, 132, .20), transparent 30%),
    linear-gradient(145deg, rgba(102,76,26,.84), rgba(8,28,31,.94)) !important;
}

/* Desktop floating tooltip, fixed to viewport so it cannot be clipped by cards. */
.about-floating-tooltip {
  position: fixed;
  z-index: 9999;
  width: min(340px, calc(100vw - 32px));
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(222,187,67,.32);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.98), rgba(8,22,25,.98));
  color: rgba(255,248,234,.95);
  box-shadow: 0 18px 34px rgba(0,0,0,.32);
  font-size: .78rem;
  line-height: 1.4;
  font-weight: 650;
  text-align: center;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity .14s ease, transform .14s ease;
}

.about-floating-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile inline panel: no floating popups, no clipping. */
.about-tooltip-host {
  display: none;
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(222,187,67,.28);
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.10), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.97), rgba(8,22,25,.98));
  color: rgba(255,248,234,.94);
  box-shadow: 0 18px 34px rgba(0,0,0,.24);
  font-size: .86rem;
  line-height: 1.45;
  font-weight: 560;
  text-align: center;
}

.about-tooltip-host.is-visible {
  display: block;
}

@media (min-width: 761px) {
  .about-tooltip-host {
    display: none !important;
  }

  .about-info-pill:hover,
  .about-info-pill:focus-visible {
    transform: translateY(-1px);
  }
}

@media (max-width: 760px) {
  .about-floating-tooltip {
    display: none !important;
  }

  .about-info-pill.is-active {
    transform: translateY(-1px);
    box-shadow:
      0 16px 28px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,255,255,.08),
      0 0 0 1px rgba(222,187,67,.20);
  }

  .about-tooltip-host {
    width: 100%;
  }
}


/* =========================================================
   v51 Founder intro video button fix only
   ========================================================= */

/* Hide native mobile center-start overlay before custom play is used. */
.about-founder-video:not([controls])::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

/* Keep the custom gold button away from the face: top-left, premium dark-gold border. */
.about-video-play-btn {
  left: 16px !important;
  top: 16px !important;
  bottom: auto !important;
  width: 58px !important;
  height: 58px !important;
  border: 2px solid rgba(86, 63, 14, .92) !important;
  background:
    radial-gradient(circle at 32% 25%, rgba(255, 236, 170, .96), rgba(222,187,67,.92) 44%, rgba(139,103,25,.94) 100%) !important;
  color: #071819 !important;
  box-shadow:
    0 16px 32px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,225,138,.20),
    inset 0 1px 0 rgba(255,255,255,.46) !important;
}

@media (max-width: 760px) {
  .about-video-play-btn {
    left: 14px !important;
    top: 14px !important;
    bottom: auto !important;
    width: 52px !important;
    height: 52px !important;
  }
}


/* =========================================================
   v52 Top 10 proof sizing fix only
   ========================================================= */

.about-proof-grid .about-proof-top10 {
  font-size: clamp(1.95rem, 3.4vw, 2.55rem) !important;
  line-height: 1 !important;
  letter-spacing: -.035em;
  color: #fff8ea;
}

.about-proof-grid .about-proof-top10 span {
  display: inline;
}

@media (max-width: 760px) {
  .about-proof-grid .about-proof-top10 {
    font-size: 1.75rem !important;
    line-height: .98 !important;
  }

  .about-proof-grid .about-proof-top10 span {
    display: block;
  }
}


/* =========================================================
   v53 Top 10 final proof sizing and gold subs
   ========================================================= */

.about-proof-grid > div > strong.about-proof-top10,
.about-proof-grid div:nth-child(3) strong.about-proof-top10 {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: .18em !important;
  font-size: clamp(2.15rem, 3.7vw, 2.9rem) !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
  color: #fff8ea !important;
  font-weight: 950 !important;
}

.about-proof-grid > div > strong.about-proof-top10 span,
.about-proof-grid div:nth-child(3) strong.about-proof-top10 span {
  display: inline !important;
  font: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
}

/* Use gold for all four proof subtitles only. */
.about-proof-grid > div > strong + span {
  color: #debb43 !important;
  font-weight: 760 !important;
  opacity: .96 !important;
}

@media (max-width: 760px) {
  .about-proof-grid > div > strong.about-proof-top10,
  .about-proof-grid div:nth-child(3) strong.about-proof-top10 {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    font-size: 1.95rem !important;
    line-height: .92 !important;
  }

  .about-proof-grid > div > strong.about-proof-top10 span,
  .about-proof-grid div:nth-child(3) strong.about-proof-top10 span {
    display: block !important;
  }
}


/* =========================================================
   v54 Mobile Top 10 alignment fix only
   ========================================================= */

@media (max-width: 760px) {
  .about-proof-grid > div:nth-child(3) {
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
  }

  .about-proof-grid > div > strong.about-proof-top10,
  .about-proof-grid div:nth-child(3) strong.about-proof-top10 {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-inline: auto !important;
  }

  .about-proof-grid > div > strong.about-proof-top10 span,
  .about-proof-grid div:nth-child(3) strong.about-proof-top10 span {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .about-proof-grid > div:nth-child(3) > span {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }
}


/* =========================================================
   v55 Results & Gallery hero page only
   Approved pages untouched; styles scoped to gallery page classes.
   ========================================================= */

.gallery-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 60px);
  background:
    radial-gradient(circle at 14% 12%, rgba(18,198,189,.16), transparent 28%),
    radial-gradient(circle at 85% 14%, rgba(222,187,67,.12), transparent 24%),
    linear-gradient(135deg, #051112 0%, #082326 48%, #071112 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(222,187,67,.12);
}

.gallery-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,187,67,.48), transparent);
}

.gallery-hero-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  align-items: center;
  gap: 30px;
  padding: 52px 0 28px;
}

.gallery-kicker {
  color: #debb43;
  border-color: rgba(222,187,67,.42);
  background: rgba(222,187,67,.08);
}

.gallery-hero-copy h1 {
  margin: 14px 0 0;
  color: #fff8ea;
  font-size: clamp(2.5rem, 5.2vw, 4.95rem);
  line-height: .96;
  letter-spacing: -.06em;
  font-weight: 950;
}

.gallery-hero-copy h1 span {
  color: #debb43;
}

.gallery-hero-copy p {
  max-width: 660px;
  margin: 18px 0 0;
  color: rgba(248,244,236,.82);
  font-size: 1.02rem;
  line-height: 1.58;
}

.gallery-hero-copy p strong {
  color: #f3d469;
  font-weight: 900;
}

.gallery-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.gallery-hero-media {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  grid-template-rows: minmax(260px, 1fr) minmax(190px, .72fr);
  gap: 12px;
}

.gallery-hero-media figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(222,187,67,.52);
  border-radius: 24px;
  background: rgba(5,18,19,.82);
  box-shadow: 0 20px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}

.gallery-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  filter: saturate(1.03) contrast(1.02);
}

.gallery-hero-media figcaption {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 2;
  display: inline-flex;
  max-width: calc(100% - 28px);
  border: 1px solid rgba(222,187,67,.64);
  border-radius: 999px;
  background: rgba(5,18,19,.76);
  color: #f3d469;
  padding: 7px 12px;
  font-size: .78rem;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(0,0,0,.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.gallery-hero-main {
  grid-column: 1 / 3;
  min-height: 360px;
}

.gallery-hero-side {
  min-height: 220px;
}

.gallery-impact-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  align-items: center;
  margin-bottom: 44px;
  padding: 22px;
  border: 1px solid rgba(222,187,67,.34);
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 12%, rgba(18,198,189,.10), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.72), rgba(8,22,25,.90));
  box-shadow: 0 20px 42px rgba(0,0,0,.20);
}

.gallery-impact-strip div {
  display: grid;
  justify-items: center;
  gap: 5px;
  text-align: center;
  padding: 8px 16px;
  border-right: 1px solid rgba(222,187,67,.24);
}

.gallery-impact-strip div:last-child {
  border-right: 0;
}

.gallery-impact-strip strong {
  color: #debb43;
  font-size: clamp(1.45rem, 2.8vw, 2.25rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.035em;
}

.gallery-impact-strip span {
  color: rgba(248,244,236,.88);
  font-size: .86rem;
  line-height: 1.3;
}

@media (max-width: 980px) {
  .gallery-hero-shell {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 34px 0 22px;
  }

  .gallery-hero-copy {
    text-align: center;
  }

  .gallery-hero-copy p,
  .gallery-hero-actions {
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }

  .gallery-hero-media {
    max-width: 760px;
    margin-inline: auto;
  }

  .gallery-impact-strip {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .gallery-impact-strip div:nth-child(2) {
    border-right: 0;
  }

  .gallery-impact-strip div:nth-child(1),
  .gallery-impact-strip div:nth-child(2) {
    border-bottom: 1px solid rgba(222,187,67,.20);
  }
}

@media (max-width: 760px) {
  .gallery-hero {
    min-height: auto;
  }

  .gallery-hero-shell {
    padding: 26px 0 18px;
  }

  .gallery-hero-copy {
    text-align: left;
  }

  .gallery-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
    line-height: .98;
  }

  .gallery-hero-copy p {
    font-size: .94rem;
    line-height: 1.52;
  }

  .gallery-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin-top: 20px;
  }

  .gallery-hero-media {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: auto auto;
    gap: 10px;
  }

  .gallery-hero-main {
    grid-column: 1 / 3;
    min-height: auto;
    aspect-ratio: 4 / 5;
  }

  .gallery-hero-side {
    min-height: auto;
    aspect-ratio: 4 / 5;
    border-radius: 18px !important;
  }

  .gallery-hero-media figure {
    border-radius: 22px;
  }

  .gallery-hero-media figcaption {
    left: 9px;
    bottom: 9px;
    max-width: calc(100% - 18px);
    padding: 6px 8px;
    font-size: .62rem;
    white-space: normal;
    line-height: 1.12;
  }

  .gallery-impact-strip {
    margin-bottom: 30px;
    padding: 18px 12px;
    grid-template-columns: repeat(2, minmax(0,1fr));
    border-radius: 22px;
  }

  .gallery-impact-strip div {
    padding: 14px 8px;
  }

  .gallery-impact-strip strong {
    font-size: 1.55rem;
  }

  .gallery-impact-strip span {
    color: #debb43;
    font-size: .78rem;
    font-weight: 750;
  }
}

@media (max-width: 380px) {
  .gallery-hero-copy h1 {
    font-size: 2.05rem;
  }

  .gallery-impact-strip strong {
    font-size: 1.35rem;
  }

  .gallery-impact-strip span {
    font-size: .70rem;
  }
}



/* =========================================================
   v181 Gallery learner stories section
   Clean carousel/card layout and equal story-card rhythm
   ========================================================= */

.gallery-stories-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0%, rgba(222,187,67,.10), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(18,198,189,.10), transparent 26%),
    linear-gradient(180deg, #071112 0%, #061819 100%);
  color: var(--text-light);
  padding: 46px 0 54px;
  border-top: 1px solid rgba(222,187,67,.16);
}

.gallery-stories-shell {
  position: relative;
  z-index: 1;
}

.gallery-stories-head {
  max-width: 780px;
  margin: 0 auto 24px;
  text-align: center;
}

.gallery-stories-head h2 {
  margin: 12px 0 0;
  color: #fff8ea;
  font-size: clamp(2rem, 4.4vw, 3.15rem);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 950;
}

.gallery-stories-head p {
  max-width: 690px;
  margin: 12px auto 0;
  color: rgba(248,244,236,.80);
  font-size: .96rem;
  line-height: 1.55;
}

.gallery-stories-head p strong,
.gallery-stories-note strong {
  color: #f3d469;
  font-weight: 900;
}

.gallery-story-slider {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}

.gallery-stories-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 4px;
  padding: 6px 4px 18px;
  scrollbar-width: none;
}

.gallery-stories-track::-webkit-scrollbar {
  display: none;
}

.gallery-story-card {
  flex: 0 0 min(31.5%, 365px);
  min-width: 320px;
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 14px;
  align-items: stretch;
  border: 1px solid rgba(222,187,67,.34);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 10%, rgba(222,187,67,.11), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(18,198,189,.10), transparent 26%),
    linear-gradient(145deg, rgba(9,44,45,.78), rgba(8,22,25,.96));
  box-shadow:
    0 20px 42px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.07);
  padding: 14px;
  overflow: hidden;
}

.gallery-story-media {
  position: relative;
  aspect-ratio: 9 / 16;
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(222,187,67,.34);
  background: #040b0c;
  box-shadow: 0 16px 32px rgba(0,0,0,.24);
}

.gallery-story-video,
.gallery-story-cover,
.gallery-story-cover picture,
.gallery-story-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.gallery-story-video {
  display: block;
  object-fit: cover;
  background: #000;
}

.gallery-story-cover {
  z-index: 2;
  display: block;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: #061314;
}

.gallery-story-cover.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.gallery-story-cover img {
  display: block;
  object-fit: cover;
}

.gallery-story-play {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 2px solid rgba(86,63,14,.88);
  background:
    radial-gradient(circle at 32% 25%, rgba(255,236,170,.96), rgba(222,187,67,.92) 44%, rgba(139,103,25,.94) 100%);
  color: #071819;
  box-shadow:
    0 14px 28px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.42);
  font-size: .98rem;
  font-weight: 950;
}

.gallery-story-copy {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  justify-items: center;
  gap: 10px;
  text-align: center;
  padding: 2px 4px 4px;
  min-height: 96px;
}

.gallery-story-tag {
  display: inline-flex;
  max-width: 100%;
  border: 1px solid rgba(222,187,67,.42);
  border-radius: 999px;
  background: rgba(222,187,67,.08);
  color: #debb43;
  padding: 7px 10px;
  font-size: .66rem;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
}

.gallery-story-copy h3 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.08rem, 1.44vw, 1.28rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 950;
  max-width: 24ch;
}

.gallery-story-copy p {
  margin: 0;
  color: #f3d469;
  font-size: .82rem;
  line-height: 1.36;
  font-weight: 780;
  max-width: 31ch;
}

.gallery-story-copy small {
  color: rgba(248,244,236,.72);
  font-size: .74rem;
  line-height: 1.44;
  max-width: 34ch;
}

.gallery-story-placeholder-media {
  display: grid;
  place-items: center;
  aspect-ratio: 9 / 16;
  border-radius: 22px;
  border: 1px dashed rgba(222,187,67,.46);
  background:
    radial-gradient(circle at 50% 28%, rgba(222,187,67,.18), transparent 34%),
    linear-gradient(145deg, rgba(8,37,39,.70), rgba(8,22,25,.96));
}

.gallery-story-placeholder-media span {
  display: inline-flex;
  border: 1px solid rgba(222,187,67,.46);
  border-radius: 999px;
  color: #debb43;
  padding: 9px 13px;
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.gallery-story-copy .media-transcript {
  margin-top: 0;
}

.gallery-story-copy .media-transcript summary {
  min-width: 0;
  white-space: nowrap;
}

.gallery-stories-note {
  max-width: 860px;
  margin: 18px auto 0;
  text-align: center;
  border: 1px solid rgba(222,187,67,.24);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  padding: 14px 18px;
}

.gallery-stories-note p {
  margin: 0;
  color: rgba(248,244,236,.78);
  font-size: .88rem;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .gallery-story-card {
    flex-basis: min(42%, 360px);
  }
}

@media (max-width: 760px) {
  .gallery-stories-section {
    padding: 34px 0 42px;
  }

  .gallery-stories-head {
    text-align: center;
    margin-bottom: 18px;
  }

  .gallery-stories-head h2 {
    font-size: clamp(1.9rem, 9vw, 2.65rem);
    line-height: 1.02;
  }

  .gallery-stories-head p {
    font-size: .90rem;
  }

  .gallery-story-slider {
    max-width: 100%;
  }

  .gallery-stories-track {
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 4px 0 14px;
    margin-inline: calc((100vw - 100%) / -2);
    padding-inline: max(18px, calc((100vw - var(--max)) / 2));
  }

  .gallery-story-card {
    flex: 0 0 min(84vw, 360px);
    min-width: 0;
    scroll-snap-align: center;
    border-radius: 24px;
    padding: 12px;
    gap: 12px;
  }

  .gallery-story-media,
  .gallery-story-placeholder-media {
    border-radius: 20px;
  }

  .gallery-story-copy {
    min-height: auto;
    padding: 0 4px 4px;
    gap: 9px;
  }

  .gallery-story-copy h3 {
    font-size: 1.12rem;
  }

  .gallery-story-copy p {
    font-size: .86rem;
  }

  .gallery-story-copy small {
    font-size: .72rem;
  }

  .gallery-story-tag {
    font-size: .60rem;
    padding: 7px 9px;
  }

  .gallery-story-play {
    width: 44px;
    height: 44px;
    left: 12px;
    top: 12px;
  }

  .gallery-story-copy .media-transcript {
  margin-top: 0;
}

.gallery-story-copy .media-transcript summary {
  min-width: 0;
  white-space: nowrap;
}

.gallery-stories-note {
    margin-top: 12px;
    padding: 12px 14px;
  }
}

@media (max-width: 380px) {
  .gallery-story-card {
    flex-basis: 86vw;
  }

  .gallery-story-copy h3 {
    font-size: 1.08rem;
  }

  .gallery-story-copy p {
    font-size: .80rem;
  }

  .gallery-story-tag {
    font-size: .56rem;
  }
}



/* =========================================================
   v59 Gallery communication in practice section only
   ========================================================= */

.gallery-practice-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 5%, rgba(18,198,189,.10), transparent 26%),
    radial-gradient(circle at 88% 8%, rgba(222,187,67,.10), transparent 26%),
    linear-gradient(180deg, #061819 0%, #071112 100%);
  color: var(--text-light);
  padding: 46px 0 56px;
  border-top: 1px solid rgba(222,187,67,.14);
}

.gallery-practice-head {
  max-width: 820px;
  margin: 0 auto 24px;
  text-align: center;
}

.gallery-practice-head h2 {
  margin: 12px 0 0;
  color: #fff8ea;
  font-size: clamp(1.9rem, 5vw, 3.35rem);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 950;
}

.gallery-practice-head p {
  max-width: 720px;
  margin: 12px auto 0;
  color: rgba(248,244,236,.78);
  font-size: .96rem;
  line-height: 1.55;
}

.gallery-practice-head p strong {
  color: #f3d469;
  font-weight: 900;
}

.gallery-practice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.gallery-practice-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(222,187,67,.28);
  border-radius: 26px;
  background:
    radial-gradient(circle at 18% 12%, rgba(222,187,67,.08), transparent 28%),
    linear-gradient(145deg, rgba(8,37,39,.70), rgba(8,22,25,.94));
  box-shadow:
    0 18px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.gallery-practice-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #061314;
}

.gallery-practice-image picture,
.gallery-practice-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.gallery-practice-image img {
  object-fit: cover;
  transition: transform .28s ease, filter .28s ease;
}

.gallery-practice-card:hover .gallery-practice-image img {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.03);
}

.gallery-practice-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(3,12,13,.62) 100%);
  pointer-events: none;
}

.gallery-practice-copy {
  display: grid;
  gap: 8px;
  padding: 14px 14px 16px;
  text-align: center;
}

.gallery-practice-copy span {
  justify-self: center;
  display: inline-flex;
  border: 1px solid rgba(222,187,67,.42);
  border-radius: 999px;
  background: rgba(222,187,67,.08);
  color: #debb43;
  padding: 7px 10px;
  font-size: .62rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.gallery-practice-copy h3 {
  margin: 0;
  color: #fff8ea;
  font-size: 1.05rem;
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 950;
}

.gallery-practice-copy p {
  margin: 0;
  color: rgba(248,244,236,.72);
  font-size: .78rem;
  line-height: 1.38;
}

@media (max-width: 980px) {
  .gallery-practice-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .gallery-practice-section {
    padding: 34px 0 42px;
  }

  .gallery-practice-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .gallery-practice-head h2 {
    font-size: clamp(1.8rem, 9vw, 2.6rem);
  }

  .gallery-practice-head p {
    font-size: .90rem;
  }

  .gallery-practice-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  .gallery-practice-card {
    border-radius: 18px;
  }

  .gallery-practice-image {
    aspect-ratio: 1 / 1;
  }

  .gallery-practice-copy {
    gap: 5px;
    padding: 9px 7px 10px;
  }

  .gallery-practice-copy span {
    font-size: .48rem;
    padding: 5px 6px;
    line-height: 1.05;
    white-space: normal;
    text-align: center;
  }

  .gallery-practice-copy h3 {
    font-size: .75rem;
    line-height: 1.1;
  }

  .gallery-practice-copy p {
    font-size: .60rem;
    line-height: 1.25;
  }
}

@media (max-width: 380px) {
  .gallery-practice-grid {
    gap: 8px;
  }

  .gallery-practice-copy h3 {
    font-size: .70rem;
  }

  .gallery-practice-copy p {
    font-size: .56rem;
  }
}


/* v65 Gallery practice card copy rhythm: equal SEO-mapped line structure */
.gallery-practice-copy h3,
.gallery-practice-copy p {
  text-wrap: balance;
}

.gallery-practice-copy h3 {
  min-height: 2.16em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-practice-copy p {
  max-width: 34ch;
  min-height: 3.82em;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

@media (max-width: 760px) {
  .gallery-practice-copy h3 {
    min-height: 2.2em;
  }

  .gallery-practice-copy p {
    max-width: 24ch;
    min-height: 3.75em;
  }
}


/* =========================================================
   v66 Online Spoken English Classes landing page only
   Scoped to body.online-spoken-page. Approved Gallery v65 untouched.
   ========================================================= */
body.online-spoken-page {
  background: #061011;
  color: var(--text-light);
}
.online-spoken-page .online-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 10%, rgba(18,198,189,.16), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(242,185,59,.12), transparent 28%),
    linear-gradient(135deg, #061011 0%, #083739 56%, #041415 100%);
  border-bottom: 1px solid rgba(242,185,59,.20);
}
.online-spoken-page .online-hero-shell {
  width: min(100% - 28px, 1180px);
  margin-inline: auto;
  display: grid;
  gap: 22px;
  padding: 26px 0 32px;
}
.online-spoken-page .online-kicker,
.online-spoken-page .online-section-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid rgba(242,185,59,.55);
  border-radius: 999px;
  color: var(--gold);
  background: rgba(242,185,59,.06);
  padding: 7px 11px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.online-spoken-page .online-hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
  align-content: center;
}
.online-spoken-page .online-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(2.25rem, 11vw, 4.9rem);
  line-height: .93;
  letter-spacing: -.06em;
  font-weight: 900;
}
.online-spoken-page .online-hero h1 span { color: var(--gold); }
.online-spoken-page .online-hero-lead {
  margin: 0;
  max-width: 680px;
  color: rgba(248,244,236,.86);
  font-size: .98rem;
  line-height: 1.58;
}
.online-spoken-page .online-hero-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 4px;
  max-width: 520px;
}
.online-spoken-page .online-trust-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin-top: 4px;
  max-width: 640px;
}
.online-spoken-page .online-trust-row span {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 15px;
  background: rgba(255,255,255,.04);
  color: rgba(248,244,236,.92);
  font-weight: 800;
  font-size: .82rem;
  line-height: 1.25;
  padding: 10px 12px;
}
.online-spoken-page .online-hero-media {
  position: relative;
  z-index: 1;
  margin: 0;
  border: 1px solid rgba(242,185,59,.36);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(0,0,0,.24);
  box-shadow: 0 24px 64px rgba(0,0,0,.36);
}
.online-spoken-page .online-hero-media img {
  width: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: center;
}
.online-spoken-page .online-section {
  padding: 34px 0 38px;
  background:
    radial-gradient(circle at 10% 0%, rgba(18,198,189,.08), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  border-top: 1px solid rgba(242,185,59,.12);
}
.online-spoken-page .online-section:nth-of-type(even) {
  background:
    radial-gradient(circle at 85% 5%, rgba(242,185,59,.08), transparent 26%),
    linear-gradient(180deg, #071719 0%, #061011 100%);
}
.online-spoken-page .online-section-head {
  max-width: 780px;
  margin: 0 auto 18px;
  text-align: center;
}
.online-spoken-page .online-section-head h2,
.online-spoken-page .online-format-copy h2,
.online-spoken-page .online-final-shell h2 {
  margin: 10px 0 0;
  font-size: clamp(1.55rem, 7vw, 2.55rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.online-spoken-page .online-card-grid {
  display: grid;
  gap: 12px;
}
.online-spoken-page .online-card {
  min-width: 0;
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(11,45,47,.86), rgba(5,21,22,.94));
  box-shadow: 0 16px 34px rgba(0,0,0,.20);
  padding: 17px;
}
.online-spoken-page .online-card h3 {
  margin: 8px 0 6px;
  color: #fff8ea;
  font-size: 1.08rem;
  line-height: 1.1;
}
.online-spoken-page .online-card p {
  margin: 0;
  color: rgba(248,244,236,.76);
  font-size: .88rem;
  line-height: 1.45;
}
.online-spoken-page .online-icon {
  display: inline-flex;
  font-size: 1.55rem;
  line-height: 1;
  filter: grayscale(.1);
}
.online-spoken-page .online-mini-card { text-align: center; }
.online-spoken-page .online-process-grid {
  display: grid;
  gap: 12px;
}
.online-spoken-page .online-process-card {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 14px;
  align-items: center;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 22px;
  background: rgba(5,28,30,.78);
  padding: 16px;
}
.online-spoken-page .online-process-card span {
  grid-row: span 2;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-weight: 900;
  font-size: 1.35rem;
}
.online-spoken-page .online-process-card h3 {
  margin: 0;
  font-size: 1.05rem;
}
.online-spoken-page .online-process-card p {
  margin: 4px 0 0;
  color: rgba(248,244,236,.74);
  font-size: .86rem;
  line-height: 1.45;
}
.online-spoken-page .online-format-shell {
  display: grid;
  gap: 18px;
}
.online-spoken-page .online-format-copy p {
  margin: 12px 0 0;
  color: rgba(248,244,236,.76);
  font-size: .94rem;
  line-height: 1.55;
}
.online-spoken-page .online-format-grid {
  display: grid;
  gap: 10px;
}
.online-spoken-page .online-format-grid div {
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 14px;
}
.online-spoken-page .online-format-grid strong,
.online-spoken-page .online-format-grid span {
  display: block;
}
.online-spoken-page .online-format-grid strong {
  color: var(--gold);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.online-spoken-page .online-format-grid span {
  color: rgba(248,244,236,.84);
  font-size: .9rem;
  line-height: 1.35;
}
.online-spoken-page .online-slider {
  position: relative;
  max-width: 980px;
  margin-inline: auto;
}
.online-spoken-page .online-slider-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 10px;
}
.online-spoken-page .online-slider-track::-webkit-scrollbar { display: none; }
.online-spoken-page .online-review-card {
  scroll-snap-align: start;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.35);
  border-radius: 24px;
  background: radial-gradient(circle at 50% 0%, rgba(242,185,59,.12), transparent 30%), rgba(5,24,25,.92);
  padding: 22px 18px;
}
.online-spoken-page .online-stars {
  color: var(--gold);
  letter-spacing: .14em;
  margin-bottom: 12px;
}
.online-spoken-page .online-review-card p {
  margin: 0 auto 14px;
  max-width: 56ch;
  color: rgba(248,244,236,.88);
  font-size: .98rem;
  line-height: 1.5;
}
.online-spoken-page .online-review-card strong {
  color: #fff8ea;
  font-size: .95rem;
}
.online-spoken-page .online-slider-btn {
  display: none;
}
.online-spoken-page .online-slider-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}
.online-spoken-page .online-slider-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(242,185,59,.55);
}
.online-spoken-page .online-faq-shell { max-width: 920px; }
.online-spoken-page .online-faq-list {
  display: grid;
  gap: 9px;
}
.online-spoken-page .online-faq-item {
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 16px;
  background: rgba(5,24,25,.82);
  overflow: hidden;
}
.online-spoken-page .online-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  color: #fff8ea;
  font-weight: 850;
  font-size: .92rem;
}
.online-spoken-page .online-faq-item summary::-webkit-details-marker { display: none; }
.online-spoken-page .online-faq-item p {
  margin: 0;
  padding: 0 16px 16px;
  color: rgba(248,244,236,.74);
  font-size: .88rem;
  line-height: 1.5;
}
.online-spoken-page .online-final-cta {
  padding: 34px 0 40px;
  background:
    radial-gradient(circle at 80% 10%, rgba(242,185,59,.14), transparent 28%),
    linear-gradient(135deg, #073334 0%, #041415 100%);
}
.online-spoken-page .online-final-shell {
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 26px;
  background: rgba(5,20,21,.72);
  box-shadow: 0 22px 50px rgba(0,0,0,.24);
  padding: 22px;
  display: grid;
  gap: 18px;
}
.online-spoken-page .online-final-shell p {
  margin: 10px 0 0;
  color: rgba(248,244,236,.76);
  font-size: .94rem;
  line-height: 1.5;
}
@media (min-width: 760px) {
  .online-spoken-page .online-hero-actions { grid-template-columns: max-content max-content; max-width: none; }
  .online-spoken-page .online-trust-row { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .online-spoken-page .online-card-grid-four { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .online-spoken-page .online-card-grid-six { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .online-spoken-page .online-slider-track { grid-auto-columns: calc((100% - 14px) / 2); }
  .online-spoken-page .online-slider-btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(242,185,59,.5);
    border-radius: 999px;
    background: rgba(5,18,19,.90);
    color: var(--gold);
    font-size: 1.5rem;
    line-height: 1;
  }
  .online-spoken-page .online-slider-prev { left: -12px; }
  .online-spoken-page .online-slider-next { right: -12px; }
  .online-spoken-page .online-final-shell { grid-template-columns: 1fr auto; align-items: center; }
}
@media (min-width: 960px) {
  .online-spoken-page .online-hero-shell {
    width: min(100% - 56px, 1180px);
    grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
    align-items: center;
    min-height: 650px;
    padding: 44px 0 54px;
  }
  .online-spoken-page .online-hero-media {
    margin-right: -28px;
    border-radius: 32px;
  }
  .online-spoken-page .online-hero-media img {
    min-height: 520px;
  }
  .online-spoken-page .online-section { padding: 46px 0 54px; }
  .online-spoken-page .online-format-shell { grid-template-columns: .92fr 1.08fr; align-items: center; }
  .online-spoken-page .online-format-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .online-spoken-page .online-process-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .online-spoken-page .online-process-card { min-height: 174px; align-items: start; }
}
@media (max-width: 420px) {
  .online-spoken-page .online-hero-shell { width: min(100% - 24px, 1180px); }
  .online-spoken-page .online-hero h1 { font-size: 2.12rem; }
  .online-spoken-page .online-hero-lead { font-size: .93rem; }
  .online-spoken-page .online-hero-media img { min-height: 390px; }
  .online-spoken-page .online-card { padding: 15px; border-radius: 20px; }
  .online-spoken-page .online-card-grid-four { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .online-spoken-page .online-card-grid-four .online-card { text-align: center; }
  .online-spoken-page .online-card-grid-four .online-card p { font-size: .78rem; line-height: 1.35; }
  .online-spoken-page .online-card-grid-four .online-card h3 { font-size: .92rem; }
}


/* =========================================================
   v67 Online Spoken English mobile/order and card rhythm fixes
   Authorized changes only: footer links, mobile hero order, mobile hero ratio, audience rhythm.
   ========================================================= */
.online-spoken-page .online-hero-copy { grid-area: copy; }
.online-spoken-page .online-hero-media { grid-area: media; }
.online-spoken-page .online-trust-row { grid-area: trust; }
.online-spoken-page .online-hero-shell { grid-template-areas: "copy" "media" "trust"; }

.online-spoken-page .online-audience .online-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
.online-spoken-page .online-audience .online-icon {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.online-spoken-page .online-audience .online-card h3 {
  min-height: 2.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0 8px;
}
.online-spoken-page .online-audience .online-card p {
  min-height: 4.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 24ch;
  margin-inline: auto;
}

@media (max-width: 759px) {
  .online-spoken-page .online-hero-copy .online-trust-row { display: none; }
  .online-spoken-page .online-hero-media {
    aspect-ratio: 4 / 5;
    width: 100%;
  }
  .online-spoken-page .online-hero-media picture,
  .online-spoken-page .online-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .online-spoken-page .online-hero-media img {
    min-height: 0;
    object-fit: cover;
    object-position: center center;
  }
  .online-spoken-page .online-trust-row {
    margin-top: 0;
  }
}

@media (min-width: 760px) {
  .online-spoken-page .online-hero-shell {
    grid-template-areas:
      "copy"
      "media"
      "trust";
  }
}

@media (min-width: 960px) {
  .online-spoken-page .online-hero-shell {
    grid-template-areas:
      "copy media"
      "trust media";
  }
  .online-spoken-page .online-trust-row { align-self: start; }
  .online-spoken-page .online-hero-media {
    aspect-ratio: 16 / 9;
  }
  .online-spoken-page .online-hero-media picture,
  .online-spoken-page .online-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .online-spoken-page .online-hero-media img {
    min-height: 0;
    object-fit: cover;
    object-position: center center;
  }
}


/* =========================================================
   v68 Online Spoken English alignment and mobile hero source fixes
   Authorized changes only: mobile hero source + page-level center alignment.
   ========================================================= */
.online-spoken-page .online-section-head,
.online-spoken-page .online-format-copy,
.online-spoken-page .online-final-shell,
.online-spoken-page .online-faq-shell {
  text-align: center;
}

.online-spoken-page .online-kicker,
.online-spoken-page .online-section-kicker,
.online-spoken-page .online-format-copy .online-section-kicker {
  margin-left: auto;
  margin-right: auto;
}

.online-spoken-page .online-card,
.online-spoken-page .online-mini-card,
.online-spoken-page .online-process-card,
.online-spoken-page .online-format-grid div,
.online-spoken-page .online-review-card,
.online-spoken-page .online-faq-item {
  text-align: center;
}

.online-spoken-page .online-icon,
.online-spoken-page .online-process-card span {
  margin-left: auto;
  margin-right: auto;
}

.online-spoken-page .online-process-card {
  grid-template-columns: 1fr;
  justify-items: center;
  row-gap: 8px;
}

.online-spoken-page .online-process-card span {
  grid-row: auto;
}

.online-spoken-page .online-process-card h3,
.online-spoken-page .online-process-card p,
.online-spoken-page .online-format-copy p,
.online-spoken-page .online-format-grid strong,
.online-spoken-page .online-format-grid span,
.online-spoken-page .online-faq-item summary,
.online-spoken-page .online-faq-item p {
  text-align: center;
}

.online-spoken-page .online-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 759px) {
  .online-spoken-page .online-hero-media {
    aspect-ratio: 4 / 5;
  }
  .online-spoken-page .online-hero-media img {
    object-position: center center;
  }
}

/* =========================================================
   v69 Online Spoken English mobile hero image height fix
   Authorized change only: reduce mobile hero image display height.
   ========================================================= */
@media (max-width: 759px) {
  .online-spoken-page .online-hero-media {
    aspect-ratio: 3 / 2;
  }

  .online-spoken-page .online-hero-media picture,
  .online-spoken-page .online-hero-media img {
    height: 100%;
  }

  .online-spoken-page .online-hero-media img {
    min-height: 0;
    object-fit: cover;
    object-position: center center;
  }
}

/* =========================================================
   v71 Online Spoken English mobile hero container fix
   Authorized change only: force the mobile hero image to render as a horizontal 3:2 card, not a vertical crop.
   ========================================================= */
@media (max-width: 759px) {
  body.online-spoken-page .online-hero .online-hero-media {
    width: 100% !important;
    aspect-ratio: 3 / 2 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
  }

  body.online-spoken-page .online-hero .online-hero-media picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.online-spoken-page .online-hero .online-hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: rgba(0, 0, 0, .22) !important;
  }
}


/* v72: Premium SEO landing-page system for Online Spoken English + Communication Skills */
.premium-training-page {
  background: #061011;
  color: var(--text-light);
}
.premium-training-page .training-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 10%, rgba(18,198,189,.12), transparent 34%),
    radial-gradient(circle at 86% 20%, rgba(242,185,59,.14), transparent 32%),
    linear-gradient(135deg, #061011 0%, #073334 50%, #061011 100%);
  border-bottom: 1px solid rgba(242,185,59,.22);
}
.premium-training-page .training-hero-shell {
  width: min(100% - 28px, 1180px);
  margin-inline: auto;
  display: grid;
  gap: 18px;
  padding: 26px 0 32px;
}
.premium-training-page .training-kicker,
.premium-training-page .training-section-kicker {
  display: inline-flex;
  width: fit-content;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(242,185,59,.55);
  border-radius: 999px;
  color: var(--gold);
  background: rgba(242,185,59,.06);
  padding: 7px 12px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.premium-training-page .training-hero-copy {
  display: grid;
  gap: 14px;
  text-align: center;
  justify-items: center;
}
.premium-training-page .training-hero h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(2.15rem, 11vw, 4.8rem);
  line-height: .94;
  letter-spacing: -.06em;
  font-weight: 950;
}
.premium-training-page .training-hero h1 span { color: var(--gold); }
.premium-training-page .training-hero-lead {
  margin: 0;
  max-width: 680px;
  color: rgba(248,244,236,.88);
  font-size: .98rem;
  line-height: 1.58;
}
.premium-training-page .training-hero-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: min(100%, 520px);
  margin-top: 2px;
}
.premium-training-page .training-hero-media {
  margin: 0;
  border: 1px solid rgba(242,185,59,.38);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(0,0,0,.24);
  box-shadow: 0 24px 64px rgba(0,0,0,.36);
  aspect-ratio: 3 / 2;
}
.premium-training-page .training-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  background: rgba(4,16,17,.78);
}
.premium-training-page .training-trust-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.premium-training-page .training-trust-row span {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 15px;
  background: rgba(255,255,255,.04);
  color: rgba(248,244,236,.92);
  font-weight: 850;
  font-size: .82rem;
  line-height: 1.25;
  padding: 10px 12px;
}
.premium-training-page .training-section,
.premium-training-page .training-faq-cta {
  padding: 34px 0 38px;
  background:
    radial-gradient(circle at 10% 0%, rgba(18,198,189,.08), transparent 28%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  border-top: 1px solid rgba(242,185,59,.13);
}
.premium-training-page .training-section-alt,
.premium-training-page .training-format {
  background:
    radial-gradient(circle at 85% 5%, rgba(242,185,59,.08), transparent 28%),
    linear-gradient(180deg, #071719 0%, #061011 100%);
}
.premium-training-page .training-premium-panel,
.premium-training-page .training-faq-cta-shell {
  border: 1px solid rgba(242,185,59,.20);
  border-radius: 28px;
  background: rgba(5,24,25,.36);
  padding: 18px;
}
.premium-training-page .training-section-head {
  max-width: 820px;
  margin: 0 auto 18px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 9px;
}
.premium-training-page .training-section-head h2,
.premium-training-page .training-format-copy h2,
.premium-training-page .training-final-card h2 {
  margin: 0;
  font-size: clamp(1.55rem, 7vw, 2.55rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.premium-training-page .training-card-grid {
  display: grid;
  gap: 12px;
}
.premium-training-page .training-card {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  min-height: 184px;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(11,45,47,.88), rgba(5,21,22,.96));
  box-shadow: 0 16px 34px rgba(0,0,0,.20);
  padding: 17px;
}
.premium-training-page .training-card h3 {
  min-height: 2.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0 6px;
  color: #fff8ea;
  font-size: 1.04rem;
  line-height: 1.1;
}
.premium-training-page .training-card p {
  min-height: 4.2em;
  margin: 0;
  color: rgba(248,244,236,.77);
  font-size: .86rem;
  line-height: 1.4;
}
.premium-training-page .training-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(242,185,59,.10);
  color: var(--gold);
  font-size: 1.45rem;
  line-height: 1;
}
.premium-training-page .training-mini-card { min-height: 168px; }
.premium-training-page .training-process-grid {
  display: grid;
  gap: 12px;
}
.premium-training-page .training-process-card {
  min-height: 150px;
  display: grid;
  justify-items: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 22px;
  background: rgba(5,28,30,.78);
  padding: 18px 16px;
}
.premium-training-page .training-process-card > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-weight: 900;
  font-size: 1.35rem;
  margin-bottom: 8px;
}
.premium-training-page .training-process-card h3 { margin: 0; font-size: 1.05rem; }
.premium-training-page .training-process-card p {
  margin: 6px 0 0;
  color: rgba(248,244,236,.74);
  font-size: .86rem;
  line-height: 1.42;
}
.premium-training-page .training-format-shell {
  display: grid;
  gap: 18px;
}
.premium-training-page .training-format-copy {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
}
.premium-training-page .training-format-copy p {
  margin: 0;
  max-width: 70ch;
  color: rgba(248,244,236,.76);
  font-size: .94rem;
  line-height: 1.55;
}
.premium-training-page .training-format-grid {
  display: grid;
  gap: 10px;
}
.premium-training-page .training-format-grid div {
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 14px;
  text-align: center;
}
.premium-training-page .training-format-grid strong,
.premium-training-page .training-format-grid span { display: block; }
.premium-training-page .training-format-grid strong {
  color: var(--gold);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.premium-training-page .training-format-grid span {
  color: rgba(248,244,236,.84);
  font-size: .9rem;
  line-height: 1.35;
}
.premium-training-page .training-slider { max-width: 1080px; margin-inline: auto; }
.premium-training-page .training-slider-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 88%;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 10px;
}
.premium-training-page .training-slider-track::-webkit-scrollbar { display: none; }
.premium-training-page .training-review-card {
  scroll-snap-align: center;
  min-height: 215px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.35);
  border-radius: 24px;
  background: radial-gradient(circle at 50% 0%, rgba(242,185,59,.12), transparent 30%), rgba(5,24,25,.92);
  padding: 22px 18px;
}
.premium-training-page .training-stars { color: var(--gold); letter-spacing: .14em; margin-bottom: 12px; }
.premium-training-page .training-review-card p {
  margin: 0 auto 14px;
  max-width: 56ch;
  color: rgba(248,244,236,.88);
  font-size: .96rem;
  line-height: 1.5;
}
.premium-training-page .training-review-card strong { color: #fff8ea; font-size: .95rem; }
.premium-training-page .training-slider-dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 8px;
}
.premium-training-page .training-slider-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(242,185,59,.55);
}
.premium-training-page .training-faq-cta-shell {
  display: grid;
  gap: 18px;
}
.premium-training-page .training-faq-panel { min-width: 0; }
.premium-training-page .training-faq-list { display: grid; gap: 9px; }
.premium-training-page .training-faq-item {
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 16px;
  background: rgba(5,24,25,.82);
  overflow: hidden;
}
.premium-training-page .training-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  color: #fff8ea;
  font-weight: 850;
  font-size: .92rem;
  text-align: center;
}
.premium-training-page .training-faq-item summary::-webkit-details-marker { display: none; }
.premium-training-page .training-faq-item p {
  margin: 0;
  padding: 0 16px 16px;
  color: rgba(248,244,236,.74);
  font-size: .88rem;
  line-height: 1.5;
  text-align: center;
}
.premium-training-page .training-final-card {
  min-width: 0;
  display: grid;
  justify-items: center;
  text-align: center;
  align-content: center;
  gap: 12px;
  border: 1px solid rgba(242,185,59,.36);
  border-radius: 26px;
  background:
    radial-gradient(circle at 78% 0%, rgba(242,185,59,.13), transparent 34%),
    rgba(5,20,21,.78);
  box-shadow: 0 22px 50px rgba(0,0,0,.24);
  padding: 22px;
}
.premium-training-page .training-final-card p {
  margin: 0;
  color: rgba(248,244,236,.78);
  font-size: .94rem;
  line-height: 1.5;
}
@media (min-width: 760px) {
  .premium-training-page .training-hero-actions { grid-template-columns: max-content max-content; width: auto; }
  .premium-training-page .training-trust-row { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .premium-training-page .training-card-grid-four { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .premium-training-page .training-card-grid-six { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .premium-training-page .training-slider-track { grid-auto-columns: calc((100% - 14px) / 2); }
  .premium-training-page .training-faq-cta-shell { grid-template-columns: 1fr 1fr; align-items: stretch; }
}
@media (min-width: 960px) {
  .premium-training-page .training-hero-shell {
    width: min(100% - 56px, 1180px);
    grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr);
    align-items: center;
    min-height: 620px;
    padding: 44px 0 54px;
  }
  .premium-training-page .training-hero-copy { text-align: left; justify-items: start; }
  .premium-training-page .training-hero-media { border-radius: 32px; aspect-ratio: 16 / 9; }
  .premium-training-page .training-hero-media img { object-fit: cover; }
  .premium-training-page .training-trust-row { grid-column: 1 / -1; max-width: 760px; }
  .premium-training-page .training-section,
  .premium-training-page .training-faq-cta { padding: 46px 0 54px; }
  .premium-training-page .training-format-shell { grid-template-columns: .9fr 1.1fr; align-items: center; }
  .premium-training-page .training-format-copy { text-align: left; justify-items: start; }
  .premium-training-page .training-format-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .premium-training-page .training-process-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .premium-training-page .training-card-grid-six { grid-template-columns: repeat(6, minmax(0,1fr)); }
  .premium-training-page .training-card { min-height: 184px; }
  .premium-training-page .training-mini-card { min-height: 172px; padding: 15px 10px; }
}
@media (max-width: 420px) {
  .premium-training-page .training-hero-shell { width: min(100% - 24px, 1180px); }
  .premium-training-page .training-hero h1 { font-size: 2.05rem; }
  .premium-training-page .training-card { padding: 14px 10px; min-height: 178px; }
  .premium-training-page .training-card h3 { font-size: .98rem; }
  .premium-training-page .training-card p { font-size: .8rem; }
  .premium-training-page .training-card-grid-four { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .premium-training-page .training-card-grid-six { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .premium-training-page .training-mini-card { min-height: 150px; }
  .premium-training-page .training-process-grid { grid-template-columns: 1fr; }
}


/* v73 premium polish: scoped icons, card rhythm, footer cleanup support, mobile process pills */
.premium-training-page .training-card-icon,
.premium-training-page .training-mini-icon,
.premium-training-page .training-icon {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  margin-inline: auto;
  border: 1px solid rgba(242,185,59,.36);
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 25%, rgba(242,185,59,.20), transparent 42%),
    rgba(242,185,59,.075);
  color: var(--gold);
  box-shadow: inset 0 0 18px rgba(242,185,59,.06);
  font-size: 0;
}
.premium-training-page .training-svg-icon {
  width: 25px;
  height: 25px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.premium-training-page img.training-svg-icon {
  object-fit: contain;
}
.premium-training-page .training-card,
.premium-training-page .training-mini-card,
.premium-training-page .training-process-card {
  display: grid;
  justify-items: center;
  text-align: center;
}
.premium-training-page .training-card {
  grid-template-rows: 48px minmax(42px, auto) minmax(66px, auto);
  align-content: center;
}
.premium-training-page .training-mini-card {
  grid-template-rows: 48px minmax(40px, auto) minmax(70px, auto);
  align-content: center;
}
.premium-training-page .training-card h3,
.premium-training-page .training-mini-card h3 {
  min-height: 2.35em;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  text-wrap: balance;
}
.premium-training-page .training-card p,
.premium-training-page .training-mini-card p {
  min-height: 4.45em;
  display: grid;
  place-items: start center;
  text-wrap: balance;
  max-width: 24ch;
}
.premium-training-page .training-process-card p {
  max-width: 28ch;
  text-wrap: balance;
}
@media (max-width: 759px) {
  body.premium-training-page:not(.institutions-b2b-page) .training-process-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card {
    min-height: 0;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    justify-items: start;
    text-align: left;
    padding: 12px 14px;
    border-radius: 999px;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-number {
    grid-row: 1 / span 2;
    width: 42px;
    height: 42px;
    font-size: 1rem;
    margin: 0;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card h3 {
    margin: 0;
    font-size: .98rem;
    min-height: 0;
    line-height: 1.1;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card p {
    margin: 2px 0 0;
    font-size: .78rem;
    line-height: 1.25;
    max-width: none;
    color: rgba(248,244,236,.72);
    text-align: left;
  }
}
@media (max-width: 420px) {
  .premium-training-page .training-card,
  .premium-training-page .training-mini-card {
    grid-template-rows: 44px minmax(38px, auto) minmax(74px, auto);
  }
  .premium-training-page .training-card-icon,
  .premium-training-page .training-mini-icon,
  .premium-training-page .training-icon {
    width: 42px;
    height: 42px;
  }
  .premium-training-page .training-svg-icon {
    width: 23px;
    height: 23px;
  }
}


/* v74 fix: missing SVG icons + true mobile horizontal process pills; excludes Institutions page, which has its own centered mobile process layout. */
.premium-training-page .training-icon {
  font-size: 0 !important;
  overflow: hidden;
}
.premium-training-page .training-card-icon svg,
.premium-training-page .training-mini-icon svg,
.premium-training-page .training-icon svg {
  display: block;
  width: 24px;
  height: 24px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 759px) {
  body.premium-training-page:not(.institutions-b2b-page) .training-process-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card {
    width: 100% !important;
    min-height: 74px !important;
    display: grid !important;
    grid-template-columns: 46px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
    padding: 12px 16px !important;
    border-radius: 22px !important;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card > span,
  body.premium-training-page:not(.institutions-b2b-page) .training-process-number {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    border: 2px solid var(--gold) !important;
    color: var(--gold) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-height: 0 !important;
    font-size: 1rem !important;
    line-height: 1.08 !important;
    text-align: left !important;
    align-self: end !important;
  }
  body.premium-training-page:not(.institutions-b2b-page) .training-process-card p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 3px 0 0 !important;
    display: block !important;
    font-size: .78rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    color: rgba(248,244,236,.74) !important;
  }
}


/* =========================================================
   v76 Render-safe Premium Color Cleanup
   Scope: color-system cleanup only. Keeps approved page structures,
   SEO, sitemap, robots, Gallery v65 content, and landing page behavior.
   ========================================================= */

:root {
  --teal: #46b8ad;
  --deep-teal: #073334;
  --plum: #0d1718;
  --soft-green: #173d32;
  --premium-card: rgba(5, 28, 30, .84);
  --premium-card-deep: rgba(5, 18, 20, .97);
  --premium-border: rgba(242, 185, 59, .30);
}

.course-card,
.course-card-teal,
.course-card-gold,
.course-card-green,
.course-card-plum,
.why-card-teal .why-front,
.why-card-gold .why-front,
.why-card-green .why-front,
.why-card-plum .why-front,
.why-card-ink .why-front,
.why-card-bronze .why-front,
.premium-training-page .training-card,
.premium-training-page .training-mini-card,
.premium-training-page .training-process-card,
.premium-training-page .training-format-grid div,
.premium-training-page .training-review-card,
.premium-training-page .training-faq-item,
.premium-training-page .training-final-card {
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.08), transparent 34%),
    linear-gradient(145deg, var(--premium-card), var(--premium-card-deep)) !important;
  border-color: var(--premium-border) !important;
  color: #fff8ea !important;
}

.course-card:nth-child(even),
.premium-training-page .training-card:nth-child(even),
.premium-training-page .training-mini-card:nth-child(even) {
  background:
    radial-gradient(circle at 50% 0%, rgba(70,184,173,.07), transparent 34%),
    linear-gradient(145deg, rgba(7,36,38,.88), rgba(5,18,20,.98)) !important;
}

.course-card h3,
.course-card ul,
.course-card li,
.why-front strong,
.why-back span {
  color: #fff8ea !important;
}

.course-card ul,
.course-card li,
.why-back span {
  color: rgba(248,244,236,.78) !important;
}

.why-front span,
.chip-btn,
.chip-teal,
.chip-gold,
.chip-plum {
  background: rgba(242,185,59,.08) !important;
  border-color: rgba(242,185,59,.32) !important;
  color: #ffe4a0 !important;
}

.courses-section {
  background:
    radial-gradient(circle at 12% 6%, rgba(242,185,59,.07), transparent 24%),
    radial-gradient(circle at 86% 10%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
  color: #fff8ea !important;
}

.courses-section .section-head h2,
.courses-section .section-head p {
  color: #fff8ea !important;
}

.courses-section .section-head p {
  color: rgba(248,244,236,.76) !important;
}

.section-kicker,
.coursehub-kicker,
.about-kicker,
.gallery-kicker,
.org-kicker,
.training-section-kicker,
.training-hero-kicker {
  color: var(--gold) !important;
  border-color: rgba(242,185,59,.40) !important;
  background: rgba(242,185,59,.07) !important;
}

.coursehub-hero,
.about-hero,
.about-problem-approach,
.about-proof-section,
.about-story-outcomes,
.about-final-cta-section,
.gallery-hero,
.premium-training-page .training-hero,
.premium-training-page .training-section,
.premium-training-page .training-faq-cta {
  background:
    radial-gradient(circle at 16% 8%, rgba(242,185,59,.07), transparent 26%),
    radial-gradient(circle at 86% 14%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
}

.site-footer,
.footer-top,
.footer-grid,
.footer-bottom {
  background:
    radial-gradient(circle at 12% 0%, rgba(242,185,59,.06), transparent 28%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
  border-color: rgba(242,185,59,.18) !important;
}

.footer-link-list a,
.footer-link-list span,
.footer-socials a {
  background: rgba(242,185,59,.045) !important;
  border-color: rgba(242,185,59,.24) !important;
}

.gallery-hero-main,
.gallery-hero-side,
.gallery-moment-card,
.gallery-story-card,
.about-hero-copy,
.about-founder-card,
.about-panel,
.about-proof-shell,
.about-final-cta {
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.08), transparent 34%),
    linear-gradient(145deg, rgba(7,40,42,.84), rgba(5,18,20,.96)) !important;
  border-color: var(--premium-border) !important;
}


/* =========================================================
   v77 Homepage Why This Training Works Process Map Rebuild
   Scope: homepage why-section only.
   Desktop = compact horizontal connected process map.
   Mobile = compact stacked horizontal step-flow cards.
   ========================================================= */

.why-process-section {
  padding: 42px 0 48px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.07), transparent 28%),
    radial-gradient(circle at 14% 12%, rgba(70,184,173,.07), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
}

.why-process-head {
  max-width: 860px;
  margin-bottom: 28px !important;
}

.why-process-head p {
  max-width: 780px;
  color: rgba(248,244,236,.78);
}

.why-process-map {
  position: relative;
  max-width: 1160px;
  min-height: 330px;
  margin: 0 auto;
  padding: 50px 22px 28px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.06), transparent 38%),
    linear-gradient(145deg, rgba(7,40,42,.74), rgba(5,18,20,.96));
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.why-process-map::before {
  content: "";
  position: absolute;
  left: 11%;
  right: 11%;
  top: 86px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,185,59,.68), transparent);
  pointer-events: none;
}

.why-process-step {
  position: relative;
  min-width: 0;
  display: grid;
  justify-items: center;
  text-align: center;
  align-content: start;
  min-height: 238px;
  padding: 44px 13px 18px;
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.075), transparent 36%),
    linear-gradient(145deg, rgba(7,42,43,.82), rgba(5,18,20,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.why-process-number {
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.55);
  background:
    radial-gradient(circle at 34% 24%, rgba(255,236,174,.26), transparent 38%),
    linear-gradient(145deg, rgba(35,37,22,.96), rgba(6,17,18,.98));
  color: #ffd978;
  font-family: Georgia, serif;
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
}

.why-process-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  color: var(--gold);
}

.why-process-icon svg {
  width: 38px;
  height: 38px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.why-process-step h3 {
  min-height: 3.1em;
  display: grid;
  place-items: center;
  margin: 0;
  color: #fff8ea;
  font-size: 1.02rem;
  line-height: 1.14;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.why-process-step h3::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin: 12px auto 0;
  background: rgba(242,185,59,.72);
}

.why-process-step p {
  min-height: 4.1em;
  margin: 14px 0 0;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.38;
  text-wrap: balance;
}

@media (min-width: 960px) {
  .why-process-section {
    padding: 46px 0 54px !important;
  }
}

@media (max-width: 959px) {
  .why-process-map {
    grid-template-columns: 1fr;
    min-height: 0;
    max-width: 780px;
    padding: 18px;
    gap: 11px;
    border-radius: 26px;
  }

  .why-process-map::before {
    display: none;
  }

  .why-process-step {
    min-height: 0;
    grid-template-columns: 54px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 3px;
    justify-items: stretch;
    align-items: center;
    text-align: left;
    padding: 14px 16px;
    border-radius: 20px;
  }

  .why-process-number {
    position: static;
    transform: none;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 48px;
    height: 48px;
    font-size: 1rem;
  }

  .why-process-icon {
    display: none;
  }

  .why-process-step h3 {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    display: block;
    font-size: 1rem;
    line-height: 1.12;
    text-align: left;
  }

  .why-process-step h3::after {
    display: none;
  }

  .why-process-step p {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    margin: 3px 0 0;
    font-size: .82rem;
    line-height: 1.28;
    text-align: left;
  }
}

@media (max-width: 420px) {
  .why-process-section {
    padding: 36px 0 42px !important;
  }

  .why-process-head {
    margin-bottom: 20px !important;
  }

  .why-process-head h2 {
    font-size: clamp(1.75rem, 9vw, 2.25rem);
  }

  .why-process-head p {
    font-size: .88rem;
  }

  .why-process-map {
    padding: 14px;
    gap: 10px;
    border-radius: 22px;
  }

  .why-process-step {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 12px 13px;
    border-radius: 18px;
  }

  .why-process-number {
    width: 42px;
    height: 42px;
    font-size: .92rem;
  }

  .why-process-step h3 {
    font-size: .94rem;
  }

  .why-process-step p {
    font-size: .76rem;
  }
}


/* =========================================================
   v78 Homepage Why This Training Works Mind-Map Rebuild
   Scope: homepage why-section only.
   Desktop = horizontal mind-map inspired communication pathway.
   Mobile = vertical connected mind-map flow.
   ========================================================= */

.why-mindmap-section {
  position: relative;
  overflow: hidden;
  padding: 42px 0 50px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.07), transparent 28%),
    radial-gradient(circle at 10% 22%, rgba(70,184,173,.06), transparent 30%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
}

.why-mindmap-head {
  max-width: 890px;
  margin: 0 auto 26px !important;
  text-align: center;
}

.why-mindmap-head p {
  max-width: 790px;
  margin-inline: auto;
  color: rgba(248,244,236,.78);
}

.why-mindmap {
  position: relative;
  max-width: 1160px;
  min-height: 372px;
  margin: 0 auto;
  padding: 34px 26px 30px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: 92px 1fr;
  gap: 18px;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.06), transparent 36%),
    linear-gradient(145deg, rgba(7,40,42,.74), rgba(5,18,20,.96));
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.why-mindmap::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 142px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,185,59,.72), transparent);
  pointer-events: none;
}

.why-mindmap::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 98px;
  width: 1px;
  height: 44px;
  background: linear-gradient(180deg, rgba(242,185,59,.72), rgba(242,185,59,.18));
  pointer-events: none;
}

.why-mindmap-core {
  grid-column: 2 / 5;
  grid-row: 1;
  justify-self: center;
  align-self: start;
  width: min(100%, 430px);
  min-height: 78px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.42);
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.16), transparent 42%),
    linear-gradient(145deg, rgba(12,39,38,.94), rgba(5,18,20,.98));
  box-shadow: 0 16px 36px rgba(0,0,0,.26);
  z-index: 2;
}

.why-mindmap-core span {
  color: var(--gold);
  font-size: .75rem;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.why-mindmap-core strong {
  display: block;
  color: #fff8ea;
  font-size: 1.05rem;
  line-height: 1.1;
  text-wrap: balance;
}

.why-mindmap-node {
  position: relative;
  grid-row: 2;
  min-width: 0;
  min-height: 210px;
  display: grid;
  justify-items: center;
  align-content: start;
  text-align: center;
  padding: 48px 15px 20px;
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.075), transparent 36%),
    linear-gradient(145deg, rgba(7,42,43,.82), rgba(5,18,20,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  z-index: 1;
}

.why-node-number {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.55);
  background:
    radial-gradient(circle at 34% 24%, rgba(255,236,174,.26), transparent 38%),
    linear-gradient(145deg, rgba(35,37,22,.96), rgba(6,17,18,.98));
  color: #ffd978;
  font-family: Georgia, serif;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
}

.why-mindmap-node h3 {
  min-height: 2.8em;
  display: grid;
  place-items: center;
  margin: 0;
  color: #fff8ea;
  font-size: 1.02rem;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.why-mindmap-node h3::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  margin: 12px auto 0;
  background: rgba(242,185,59,.72);
}

.why-mindmap-node p {
  min-height: 4.05em;
  max-width: 22ch;
  margin: 14px auto 0;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.38;
  text-wrap: balance;
}

@media (max-width: 959px) {
  .why-mindmap {
    max-width: 760px;
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 12px;
    padding: 18px;
    border-radius: 26px;
  }

  .why-mindmap::before {
    left: 44px;
    right: auto;
    top: 106px;
    bottom: 38px;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, transparent, rgba(242,185,59,.60), transparent);
  }

  .why-mindmap::after {
    display: none;
  }

  .why-mindmap-core {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    min-height: 70px;
    border-radius: 22px;
    margin-bottom: 2px;
  }

  .why-mindmap-core strong {
    font-size: .98rem;
  }

  .why-mindmap-node {
    grid-row: auto;
    min-height: 0;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 3px;
    justify-items: stretch;
    align-items: center;
    text-align: left;
    padding: 14px 16px;
    border-radius: 20px;
  }

  .why-node-number {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 48px;
    height: 48px;
    font-size: .98rem;
    z-index: 2;
  }

  .why-mindmap-node h3 {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    display: block;
    font-size: 1rem;
    line-height: 1.12;
    text-align: left;
  }

  .why-mindmap-node h3::after {
    display: none;
  }

  .why-mindmap-node p {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    max-width: none;
    margin: 3px 0 0;
    font-size: .82rem;
    line-height: 1.28;
    text-align: left;
  }
}

@media (max-width: 420px) {
  .why-mindmap-section {
    padding: 36px 0 42px !important;
  }

  .why-mindmap-head {
    margin-bottom: 18px !important;
  }

  .why-mindmap-head h2 {
    font-size: clamp(1.78rem, 9vw, 2.25rem);
  }

  .why-mindmap-head p {
    font-size: .86rem;
  }

  .why-mindmap {
    padding: 14px;
    gap: 10px;
    border-radius: 22px;
  }

  .why-mindmap::before {
    left: 38px;
    top: 94px;
    bottom: 32px;
  }

  .why-mindmap-core {
    min-height: 64px;
    padding: 10px 14px;
  }

  .why-mindmap-core span {
    font-size: .66rem;
  }

  .why-mindmap-core strong {
    font-size: .86rem;
  }

  .why-mindmap-node {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 12px 13px;
    border-radius: 18px;
  }

  .why-node-number {
    width: 42px;
    height: 42px;
    font-size: .9rem;
  }

  .why-mindmap-node h3 {
    font-size: .94rem;
  }

  .why-mindmap-node p {
    font-size: .76rem;
  }
}


/* =========================================================
   v79 Homepage Why This Training Works Staircase Visual Rebuild
   Scope: homepage why-section only.
   Desktop uses a cinematic staircase illustration with overlay step labels.
   Mobile uses a portrait staircase illustration with overlay labels and HTML support points.
   ========================================================= */

.why-staircase-section {
  position: relative;
  overflow: hidden;
  padding: 42px 0 56px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.07), transparent 28%),
    radial-gradient(circle at 10% 22%, rgba(70,184,173,.06), transparent 30%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
}

.why-staircase-head {
  max-width: 900px;
  margin: 0 auto 24px !important;
  text-align: center;
}

.why-staircase-head p {
  max-width: 780px;
  margin-inline: auto;
  color: rgba(248,244,236,.78);
}

.why-staircase-visual {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(7,40,42,.78), rgba(5,18,20,.96));
  box-shadow: 0 22px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
}

.why-staircase-visual img {
  display: block;
  width: 100%;
  height: auto;
}

.why-staircase-desktop { display: block; }
.why-staircase-mobile { display: none; }

.why-step-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.42);
  background: rgba(5,18,20,.82);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
  backdrop-filter: blur(6px);
}

.why-step-tag .step-no {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(242,185,59,.12);
  color: #ffd978;
  font-family: Georgia, serif;
  font-size: .84rem;
  font-weight: 900;
  line-height: 1;
}

.why-step-tag .step-label {
  color: #fff8ea;
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: -.01em;
  white-space: nowrap;
}

/* Desktop label positions */
.why-staircase-desktop .step-tag-1 { left: 26.8%; top: 76.4%; }
.why-staircase-desktop .step-tag-2 { left: 37.8%; top: 65.2%; }
.why-staircase-desktop .step-tag-3 { left: 49.8%; top: 54.2%; }
.why-staircase-desktop .step-tag-4 { left: 61.5%; top: 42.8%; }
.why-staircase-desktop .step-tag-5 { left: 74.6%; top: 31.5%; }

.why-staircase-points {
  max-width: 1160px;
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
}

.why-staircase-point {
  min-width: 0;
  min-height: 184px;
  display: grid;
  align-content: start;
  justify-items: center;
  text-align: center;
  padding: 18px 14px 16px;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.07), transparent 36%),
    linear-gradient(145deg, rgba(7,42,43,.82), rgba(5,18,20,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.why-staircase-point .point-no {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.45);
  background: rgba(242,185,59,.08);
  color: #ffd978;
  font-family: Georgia, serif;
  font-size: .94rem;
  font-weight: 900;
  line-height: 1;
}

.why-staircase-point h3 {
  min-height: 2.4em;
  display: grid;
  place-items: center;
  margin: 12px 0 0;
  color: #fff8ea;
  font-size: 1.02rem;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.why-staircase-point p {
  min-height: 4.1em;
  margin: 10px 0 0;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.36;
  text-wrap: balance;
}

@media (max-width: 959px) {
  .why-staircase-section { padding: 38px 0 46px !important; }
  .why-staircase-desktop { display: none; }
  .why-staircase-mobile { display: block; max-width: 660px; }
  .why-step-tag { min-height: 36px; padding: 7px 11px; gap: 6px; }
  .why-step-tag .step-no { width: 22px; height: 22px; font-size: .72rem; }
  .why-step-tag .step-label { font-size: .74rem; }
  .why-staircase-mobile .step-tag-1 { left: 42.5%; top: 79.4%; }
  .why-staircase-mobile .step-tag-2 { left: 49.5%; top: 66.3%; }
  .why-staircase-mobile .step-tag-3 { left: 57%; top: 53.1%; }
  .why-staircase-mobile .step-tag-4 { left: 63.7%; top: 39.7%; }
  .why-staircase-mobile .step-tag-5 { left: 68%; top: 21.9%; }
  .why-staircase-points {
    max-width: 660px;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .why-staircase-point {
    min-height: 0;
    grid-template-columns: 44px minmax(0,1fr);
    grid-template-rows: auto auto;
    justify-items: stretch;
    align-items: center;
    text-align: left;
    column-gap: 12px;
    row-gap: 3px;
    padding: 13px 14px;
    border-radius: 18px;
  }
  .why-staircase-point .point-no {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 40px;
    height: 40px;
    font-size: .88rem;
  }
  .why-staircase-point h3 {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    display: block;
    margin: 0;
    font-size: .96rem;
    text-align: left;
  }
  .why-staircase-point p {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    margin: 2px 0 0;
    font-size: .80rem;
    line-height: 1.28;
    text-align: left;
  }
}

@media (max-width: 420px) {
  .why-staircase-head h2 { font-size: clamp(1.78rem, 9vw, 2.25rem); }
  .why-staircase-head p { font-size: .86rem; }
  .why-staircase-visual { border-radius: 24px; }
  .why-step-tag { min-height: 32px; padding: 6px 9px; gap: 5px; }
  .why-step-tag .step-no { width: 20px; height: 20px; font-size: .66rem; }
  .why-step-tag .step-label { font-size: .69rem; }
  .why-staircase-mobile .step-tag-1 { left: 41.8%; top: 79.6%; }
  .why-staircase-mobile .step-tag-2 { left: 49.2%; top: 66.5%; }
  .why-staircase-mobile .step-tag-3 { left: 56.6%; top: 53.2%; }
  .why-staircase-mobile .step-tag-4 { left: 63.2%; top: 39.8%; }
  .why-staircase-mobile .step-tag-5 { left: 67.6%; top: 22%; }
}


/* =========================================================
   v80 Homepage Staircase Zyro Image Integration
   Uses final hosted Zyro staircase images with HTML overlay content.
   Keeps section text crawlable and improves overlay readability.
   ========================================================= */

.why-staircase-visual img {
  filter: saturate(.98) contrast(1.02);
}

.why-step-tag {
  background: rgba(5, 18, 20, .76) !important;
  border-color: rgba(242, 185, 59, .46) !important;
  box-shadow:
    0 12px 26px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.why-step-tag .step-label {
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

@media (max-width: 959px) {
  .why-staircase-mobile {
    aspect-ratio: auto;
  }

  .why-step-tag {
    background: rgba(5, 18, 20, .70) !important;
  }
}


/* =========================================================
   v81 Homepage Staircase Interactive Method Reveal
   Scope: homepage why-section only.
   Replaces always-visible point cards with an interactive reveal block.
   Also adjusts the mobile Pressure Confidence pill for cleaner fit.
   ========================================================= */

.why-staircase-reveal {
  max-width: 1160px;
  margin: 18px auto 0;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.05), transparent 42%),
    linear-gradient(145deg, rgba(7,42,43,.78), rgba(5,18,20,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  overflow: hidden;
}

.why-staircase-reveal summary {
  list-style: none;
}

.why-staircase-reveal summary::-webkit-details-marker {
  display: none;
}

.why-staircase-reveal-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  padding: 18px 20px;
  cursor: pointer;
  color: #fff8ea;
  font-size: 1rem;
  font-weight: 800;
  text-align: center;
  letter-spacing: -.01em;
  transition: background .2s ease, color .2s ease;
}

.why-staircase-reveal-toggle:hover {
  background: rgba(242,185,59,.05);
}

.reveal-label-open {
  display: none;
}

.why-staircase-reveal[open] .reveal-label-open {
  display: inline;
}

.why-staircase-reveal[open] .reveal-label-closed {
  display: none;
}

.reveal-icon {
  width: 14px;
  height: 14px;
  border-right: 2px solid rgba(242,185,59,.86);
  border-bottom: 2px solid rgba(242,185,59,.86);
  transform: rotate(45deg) translateY(-1px);
  transition: transform .22s ease;
  flex: 0 0 auto;
}

.why-staircase-reveal[open] .reveal-icon {
  transform: rotate(-135deg) translateY(-1px);
}

.why-staircase-reveal .why-staircase-points {
  margin: 0;
  padding: 0 14px 16px;
  border-top: 1px solid rgba(242,185,59,.18);
}

/* pressure confidence pill adjustment on mobile */
@media (max-width: 959px) {
  .why-staircase-mobile .step-tag-4 {
    left: 54.8%;
    top: 39.9%;
  }

  .why-staircase-reveal {
    max-width: 660px;
    margin-top: 14px;
    border-radius: 20px;
  }

  .why-staircase-reveal-toggle {
    min-height: 58px;
    padding: 14px 16px;
    font-size: .92rem;
  }

  .why-staircase-reveal .why-staircase-points {
    padding: 0 10px 10px;
  }
}

@media (max-width: 420px) {
  .why-staircase-mobile .step-tag-4 {
    left: 54.2%;
    top: 40.0%;
  }

  .why-staircase-reveal {
    border-radius: 18px;
  }

  .why-staircase-reveal-toggle {
    min-height: 54px;
    padding: 12px 14px;
    font-size: .86rem;
  }

  .reveal-icon {
    width: 12px;
    height: 12px;
  }
}


/* =========================================================
   v82 Homepage Method Reveal Copy Rhythm Fix
   Scope: homepage reveal cards only.
   Goal: equal visual hierarchy, balanced line counts, and stable desktop/mobile rhythm.
   ========================================================= */

.why-staircase-reveal .why-staircase-points {
  align-items: stretch;
}

.why-staircase-reveal .why-staircase-point {
  grid-template-rows: 44px minmax(44px, auto) minmax(58px, auto);
  align-content: center;
  justify-content: center;
  min-height: 206px;
  padding: 18px 12px 16px;
}

.why-staircase-reveal .why-staircase-point .point-no {
  align-self: center;
}

.why-staircase-reveal .why-staircase-point h3 {
  min-height: 2.6em;
  display: grid;
  place-items: center;
  margin-top: 10px;
  text-align: center;
  text-wrap: balance;
}

.why-staircase-reveal .why-staircase-point p {
  width: 100%;
  max-width: 21ch;
  min-height: 4.05em;
  margin-inline: auto;
  display: grid;
  place-items: start center;
  text-align: center;
  line-height: 1.34;
  text-wrap: balance;
}

@media (min-width: 960px) {
  .why-staircase-reveal .why-staircase-points {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 959px) {
  .why-staircase-reveal .why-staircase-point {
    min-height: 0;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    justify-content: stretch;
    padding: 12px 14px;
  }

  .why-staircase-reveal .why-staircase-point h3 {
    min-height: 0;
    display: block;
    margin: 0;
    text-align: left;
  }

  .why-staircase-reveal .why-staircase-point p {
    max-width: none;
    min-height: 0;
    display: block;
    margin: 2px 0 0;
    text-align: left;
    line-height: 1.28;
  }
}


/* =========================================================
   v83 Homepage Staircase Mobile Pill Alignment Fix
   Scope: homepage Why This Training Works mobile staircase only.
   Goal: rebuild the pill positions from the bottom upward so they follow the man/stair flow.
   ========================================================= */

@media (max-width: 959px) {
  .why-staircase-mobile .step-tag-1 {
    left: 33.8%;
    top: 80.8%;
  }

  .why-staircase-mobile .step-tag-2 {
    left: 40.8%;
    top: 67.7%;
  }

  .why-staircase-mobile .step-tag-3 {
    left: 48.5%;
    top: 54.5%;
  }

  .why-staircase-mobile .step-tag-4 {
    left: 56.2%;
    top: 41.2%;
  }

  .why-staircase-mobile .step-tag-5 {
    left: 64.2%;
    top: 24.1%;
  }
}

@media (max-width: 420px) {
  .why-staircase-mobile .step-tag-1 {
    left: 33.4%;
    top: 81.0%;
  }

  .why-staircase-mobile .step-tag-2 {
    left: 40.2%;
    top: 67.8%;
  }

  .why-staircase-mobile .step-tag-3 {
    left: 47.8%;
    top: 54.6%;
  }

  .why-staircase-mobile .step-tag-4 {
    left: 55.2%;
    top: 41.5%;
  }

  .why-staircase-mobile .step-tag-5 {
    left: 63.5%;
    top: 24.3%;
  }
}


/* =========================================================
   v84 Mobile Lasting Change Pill Lowering
   Scope: homepage Why This Training Works mobile staircase only.
   Goal: move the 05 Lasting Change pill lower on mobile to align better with the staircase rhythm.
   Desktop remains untouched.
   ========================================================= */

@media (max-width: 959px) {
  .why-staircase-mobile .step-tag-5 {
    left: 64.2%;
    top: 27.2%;
  }
}

@media (max-width: 420px) {
  .why-staircase-mobile .step-tag-5 {
    left: 63.5%;
    top: 27.4%;
  }
}


/* =========================================================
   v85 Homepage Training Path Premium Card Rebuild
   Scope: homepage courses/training-path section only.
   Improves header spacing, adds premium SVG icons, varies card light sources,
   and strengthens mobile visual hierarchy.
   ========================================================= */

.courses-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 14%, rgba(242,185,59,.08), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(25,163,152,.08), transparent 26%),
    linear-gradient(180deg, #041214 0%, #07191b 100%) !important;
  color: var(--text-light);
  padding: 48px 0 54px;
}

.courses-section .section-head-courses {
  max-width: 980px;
  margin: 0 auto 26px;
}

.courses-section .section-head-courses .section-kicker {
  margin-bottom: 14px;
  padding: 8px 18px;
  border-color: rgba(242,185,59,.28);
  background: rgba(9,28,30,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.courses-section .section-head-courses h2 {
  margin: 0;
  font-size: clamp(2.05rem, 5vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.055em;
  color: #fff8ea;
  text-wrap: balance;
}

.courses-section .section-head-courses p {
  max-width: 920px;
  margin: 14px auto 0;
  color: rgba(248,244,236,.82);
  font-size: clamp(.97rem, 1.4vw, 1.18rem);
  line-height: 1.42;
  text-wrap: balance;
}

.courses-section .section-head-courses p strong {
  color: #f2c75b;
  font-weight: 900;
}

.courses-section .course-grid {
  gap: 14px;
  align-items: stretch;
}

.courses-section .course-card {
  position: relative;
  min-height: 246px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  justify-items: center;
  align-items: start;
  gap: 10px;
  padding: 20px 14px 16px;
  border-radius: 28px;
  border: 1px solid rgba(222,187,67,.28);
  background: linear-gradient(145deg, rgba(5,34,36,.93), rgba(4,17,19,.98));
  box-shadow:
    0 22px 44px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
  isolation: isolate;
}

.courses-section .course-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 1;
  z-index: -1;
}

.courses-section .course-card-teal::before {
  background:
    radial-gradient(circle at 22% 14%, rgba(210,235,230,.20), transparent 18%),
    radial-gradient(circle at 82% 84%, rgba(22,154,144,.12), transparent 28%),
    linear-gradient(145deg, rgba(5,34,36,.94), rgba(4,17,19,.98));
}

.courses-section .course-card-gold::before {
  background:
    radial-gradient(circle at 28% 18%, rgba(246,220,148,.18), transparent 20%),
    radial-gradient(circle at 85% 78%, rgba(242,185,59,.10), transparent 28%),
    linear-gradient(145deg, rgba(5,34,36,.94), rgba(4,17,19,.98));
}

.courses-section .course-card-green::before {
  background:
    radial-gradient(circle at 20% 20%, rgba(200,228,220,.18), transparent 18%),
    radial-gradient(circle at 74% 86%, rgba(76,160,140,.12), transparent 27%),
    linear-gradient(145deg, rgba(5,34,36,.94), rgba(4,17,19,.98));
}

.courses-section .course-card-plum::before {
  background:
    radial-gradient(circle at 18% 14%, rgba(225,231,221,.18), transparent 18%),
    radial-gradient(circle at 84% 82%, rgba(242,185,59,.08), transparent 26%),
    linear-gradient(145deg, rgba(5,34,36,.94), rgba(4,17,19,.98));
}

.courses-section .course-card-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(242,185,59,.26);
  background:
    radial-gradient(circle at 32% 26%, rgba(242,185,59,.14), transparent 34%),
    rgba(8,29,31,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.courses-section .course-card-icon svg {
  width: 28px;
  height: 28px;
  stroke: #f3bd4b;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.courses-section .course-card h3 {
  min-height: 2.45em;
  display: grid;
  place-items: center;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.1rem, 2vw, 1.62rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  text-wrap: balance;
}

.courses-section .course-card ul {
  width: 100%;
  min-height: 5.7em;
  display: grid;
  align-content: start;
  gap: 8px;
  margin: 0;
  color: rgba(248,244,236,.82);
  font-size: .9rem;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

.courses-section .course-card li {
  text-align: center;
}

.courses-section .course-link {
  align-self: end;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(255,218,126,.70);
  background: linear-gradient(135deg, #f2b93b 0%, #ffe2a2 52%, #c99122 100%);
  color: #111817 !important;
  box-shadow: 0 14px 28px rgba(242,185,59,.18), inset 0 1px 0 rgba(255,255,255,.42);
}

.courses-section .course-link:hover {
  background: linear-gradient(135deg, #ffd978 0%, #fff0bd 52%, #d69a24 100%);
}

/* desktop refinement */
@media (min-width: 760px) {
  .courses-section { padding: 60px 0 64px; }
  .courses-section .section-head-courses { margin-bottom: 34px; }
  .courses-section .course-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .courses-section .course-card {
    min-height: 352px;
    aspect-ratio: auto;
    padding: 26px 18px 18px;
    gap: 14px;
  }
  .courses-section .course-card-icon { width: 62px; height: 62px; }
  .courses-section .course-card-icon svg { width: 30px; height: 30px; }
  .courses-section .course-card h3 { font-size: 1.18rem; }
  .courses-section .course-card ul {
    min-height: 5.9em;
    font-size: 1.06rem;
    line-height: 1.45;
    gap: 4px;
  }
  .courses-section .course-link {
    min-height: 44px;
    padding-inline: 18px;
    font-size: .84rem;
  }
}

/* mobile hierarchy */
@media (max-width: 759px) {
  .courses-section { padding: 38px 0 44px; }
  .courses-section .section-head-courses { margin-bottom: 22px; }
  .courses-section .section-head-courses .section-kicker { margin-bottom: 12px; }
  .courses-section .section-head-courses h2 {
    font-size: clamp(1.95rem, 9vw, 3rem);
    line-height: .98;
  }
  .courses-section .section-head-courses p {
    max-width: 34ch;
    margin-top: 12px;
    font-size: 1rem;
    line-height: 1.46;
  }
  .courses-section .course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .courses-section .course-card {
    min-height: 252px;
    gap: 9px;
    padding: 18px 12px 14px;
    border-radius: 24px;
  }
  .courses-section .course-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }
  .courses-section .course-card-icon svg {
    width: 24px;
    height: 24px;
  }
  .courses-section .course-card h3 {
    min-height: 2.5em;
    font-size: 1rem;
    line-height: 1.06;
  }
  .courses-section .course-card ul {
    min-height: 6.1em;
    gap: 6px;
    font-size: .77rem;
    line-height: 1.28;
  }
  .courses-section .course-link {
    min-width: 102px;
    min-height: 40px;
    padding: 9px 14px;
    font-size: .78rem;
  }
}

@media (max-width: 420px) {
  .courses-section .section-head-courses h2 {
    font-size: clamp(1.85rem, 10vw, 2.85rem);
  }
  .courses-section .section-head-courses p {
    max-width: 30ch;
    font-size: .95rem;
  }
  .courses-section .course-card {
    min-height: 244px;
    padding: 16px 10px 14px;
  }
  .courses-section .course-card h3 { font-size: .98rem; }
  .courses-section .course-card ul {
    min-height: 5.9em;
    font-size: .75rem;
  }
}


/* =========================================================
   v86 Training Path Hosted SVG Icon + Alignment Fix
   Scope: homepage Choose the Right Training Path section only.
   Uses user-provided hosted SVG icons while keeping the current icon border treatment.
   Also refines vertical row structure and Soft Skills alignment.
   ========================================================= */

.courses-section .course-card {
  grid-template-rows: 58px minmax(2.85em, auto) minmax(5.85em, auto) auto;
}

.courses-section .course-card-icon img {
  width: 28px;
  height: 28px;
  display: block;
  object-fit: contain;
}

.courses-section .course-card-icon svg {
  display: none;
}

.courses-section .course-card h3 {
  align-self: start;
}

.courses-section .course-card ul {
  align-self: start;
}

/* fine-tune soft skills vertical rhythm */
.courses-section .course-card-green {
  grid-template-rows: 58px minmax(2.85em, auto) minmax(5.85em, auto) auto;
}

.courses-section .course-card-green .course-card-icon {
  transform: translateY(-1px);
}

.courses-section .course-card-green h3 {
  margin-top: 1px;
}

@media (min-width: 760px) {
  .courses-section .course-card {
    grid-template-rows: 64px minmax(2.8em, auto) minmax(6.2em, auto) auto;
  }

  .courses-section .course-card-icon img {
    width: 30px;
    height: 30px;
  }

  .courses-section .course-card-green .course-card-icon {
    transform: translateY(-2px);
  }

  .courses-section .course-card-green h3 {
    margin-top: 2px;
  }
}

@media (max-width: 759px) {
  .courses-section .course-card {
    grid-template-rows: 50px minmax(2.75em, auto) minmax(6.15em, auto) auto;
  }

  .courses-section .course-card-icon img {
    width: 24px;
    height: 24px;
  }

  .courses-section .course-card-green .course-card-icon {
    transform: translateY(-1px);
  }
}


/* =========================================================
   v87 Training Path Soft Skills Alignment Rebuild
   Scope: homepage Choose the Right Training Path section only.
   Goal: enforce a stricter shared internal grid and correct Soft Skills alignment.
   ========================================================= */

/* shared card rhythm */
.courses-section .course-grid {
  align-items: stretch;
}

.courses-section .course-card {
  justify-items: center;
  align-items: start;
  grid-template-rows: 58px 56px 108px 52px;
  row-gap: 12px;
}

.courses-section .course-card-icon {
  align-self: start;
  justify-self: center;
}

.courses-section .course-card-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  object-position: center center;
}

.courses-section .course-card h3 {
  width: 100%;
  min-height: 56px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.courses-section .course-card ul {
  width: 100%;
  min-height: 108px;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.courses-section .course-card li {
  width: 100%;
}

.courses-section .course-card .course-link {
  align-self: end;
  justify-self: center;
}

/* specific Soft Skills cleanup */
.courses-section .course-card-green .course-card-icon {
  transform: translateY(-2px);
}

.courses-section .course-card-green .course-card-icon img {
  transform: translateY(-1px);
}

.courses-section .course-card-green h3 {
  transform: translateY(-2px);
}

.courses-section .course-card-green ul {
  transform: translateY(-2px);
}

@media (min-width: 760px) {
  .courses-section .course-card {
    grid-template-rows: 64px 64px 118px 56px;
    row-gap: 14px;
  }

  .courses-section .course-card-icon img {
    width: 30px;
    height: 30px;
  }

  .courses-section .course-card h3 {
    min-height: 64px;
    font-size: 1.16rem;
    line-height: 1.08;
  }

  .courses-section .course-card ul {
    min-height: 118px;
    gap: 9px;
    font-size: 1.02rem;
    line-height: 1.36;
  }

  .courses-section .course-card .course-link {
    min-width: 262px;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 759px) {
  .courses-section .course-card {
    grid-template-rows: 50px 50px 94px 46px;
    row-gap: 10px;
  }

  .courses-section .course-card-icon img {
    width: 24px;
    height: 24px;
  }

  .courses-section .course-card h3 {
    min-height: 50px;
    font-size: 1rem;
  }

  .courses-section .course-card ul {
    min-height: 94px;
    display: grid;
    grid-template-rows: repeat(3, minmax(1.45em, auto));
    align-content: center;
    justify-items: center;
    gap: 4px;
    font-size: .72rem;
    line-height: 1.18;
    letter-spacing: -.012em;
  }

  .courses-section .course-card li {
    width: 100%;
    min-height: 1.45em;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }

  .courses-section .course-card .course-link {
    min-width: 110px;
    justify-content: center;
    text-align: center;
  }

  .courses-section .course-card-green .course-card-icon {
    transform: translateY(-1px);
  }

  .courses-section .course-card-green h3,
  .courses-section .course-card-green ul {
    transform: translateY(-1px);
  }
}


/* =========================================================
   v88 Fees & Training Plans Page + Homepage Investment Update
   ========================================================= */

.investment-card-link {
  text-decoration: none;
  color: inherit;
}

.investment-card-link:focus-visible {
  outline: 3px solid rgba(242,185,59,.62);
  outline-offset: 4px;
}

.investment-cta {
  gap: 12px;
}

.investment-cta .btn-secondary {
  border-color: rgba(242,185,59,.34);
  background: rgba(242,185,59,.06);
  color: #fff2cf;
}

.fees-page {
  background: #061011;
  color: var(--text-light);
}

.fees-hero,
.fees-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(242,185,59,.07), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(70,184,173,.07), transparent 30%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  border-top: 1px solid rgba(242,185,59,.12);
}

.fees-hero-shell {
  display: grid;
  gap: 22px;
  align-items: center;
  padding: 46px 0 38px;
}

.fees-hero-copy,
.fees-start-card,
.fees-info-card,
.fees-final-shell {
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 12%, rgba(242,185,59,.10), transparent 26%),
    linear-gradient(145deg, rgba(7,40,42,.84), rgba(5,18,20,.96));
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.fees-hero-copy {
  padding: clamp(26px, 4vw, 46px);
  text-align: center;
  display: grid;
  justify-items: center;
}

.fees-kicker {
  color: var(--gold) !important;
  border-color: rgba(242,185,59,.40) !important;
  background: rgba(242,185,59,.07) !important;
}

.fees-hero h1 {
  max-width: 900px;
  margin: 14px 0 0;
  color: #fff8ea;
  font-size: clamp(2.15rem, 6vw, 4.4rem);
  line-height: .98;
  letter-spacing: -.058em;
  font-weight: 950;
  text-wrap: balance;
}

.fees-hero p {
  max-width: 760px;
  margin: 16px 0 0;
  color: rgba(248,244,236,.80);
  font-size: 1rem;
  line-height: 1.56;
}

.fees-hero p strong {
  color: #f2c75b;
}

.fees-hero-actions,
.fees-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 22px;
}

.fees-start-card {
  padding: 28px;
  text-align: center;
  display: grid;
  place-items: center;
  align-content: center;
}

.fees-start-card span {
  color: var(--gold);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.fees-start-card strong {
  margin-top: 8px;
  color: #fff8ea;
  font-family: Georgia, serif;
  font-size: clamp(3rem, 10vw, 5.6rem);
  line-height: .9;
}

.fees-start-card p {
  max-width: 460px;
  margin: 18px 0 0;
  color: rgba(248,244,236,.76);
  font-size: .96rem;
  line-height: 1.5;
}

.fees-section {
  padding: 42px 0 48px;
}

.fees-section-head {
  max-width: 850px;
  margin: 0 auto 24px;
  text-align: center;
}

.fees-section-head h2,
.fees-info-card h2,
.fees-final-shell h2 {
  margin: 14px 0 0;
  color: #fff8ea;
  font-size: clamp(1.8rem, 4.5vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.fees-section-head p,
.fees-info-card p,
.fees-final-shell p {
  max-width: 780px;
  margin: 14px auto 0;
  color: rgba(248,244,236,.78);
  font-size: .98rem;
  line-height: 1.52;
}

.fees-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fees-plan-card {
  min-width: 0;
  min-height: 252px;
  display: grid;
  grid-template-rows: auto minmax(3.1em, auto) minmax(5.1em, auto) auto;
  justify-items: center;
  align-content: start;
  text-align: center;
  gap: 12px;
  padding: 20px 14px 16px;
  scroll-margin-top: 96px;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 26px;
  background:
    radial-gradient(circle at 24% 14%, rgba(242,185,59,.10), transparent 26%),
    linear-gradient(145deg, rgba(7,40,42,.84), rgba(5,18,20,.96));
  box-shadow: 0 18px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}

.fees-plan-card:nth-child(2) {
  background:
    radial-gradient(circle at 78% 16%, rgba(242,185,59,.10), transparent 26%),
    linear-gradient(145deg, rgba(7,38,40,.86), rgba(5,18,20,.97));
}

.fees-plan-card:nth-child(3) {
  background:
    radial-gradient(circle at 26% 82%, rgba(70,184,173,.09), transparent 28%),
    linear-gradient(145deg, rgba(7,38,40,.86), rgba(5,18,20,.97));
}

.fees-plan-card:nth-child(4) {
  background:
    radial-gradient(circle at 82% 82%, rgba(242,185,59,.08), transparent 26%),
    linear-gradient(145deg, rgba(7,38,40,.86), rgba(5,18,20,.97));
}

.fees-plan-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(242,185,59,.32);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(242,185,59,.07);
  color: #ffe4a0;
  font-size: .72rem;
  font-weight: 900;
}

.fees-plan-card h3 {
  min-height: 3.1em;
  margin: 0;
  display: grid;
  place-items: center;
  color: #fff8ea;
  font-size: clamp(1.02rem, 2vw, 1.38rem);
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.fees-plan-card p {
  min-height: 5.1em;
  margin: 0;
  display: grid;
  place-items: start center;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.36;
  text-wrap: balance;
}

.fees-detail-button {
  min-height: 40px;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 999px;
  padding: 9px 15px;
  background: rgba(242,185,59,.08);
  color: #fff2cf;
  font-weight: 900;
  cursor: pointer;
}

.fees-detail-button:hover {
  background: rgba(242,185,59,.14);
}

.fees-two-col {
  display: grid;
  gap: 18px;
}

.fees-info-card {
  padding: clamp(22px, 4vw, 38px);
  text-align: center;
}

.fees-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 22px;
}

.fees-factor-grid span {
  min-height: 58px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: rgba(248,244,236,.82);
  font-size: .84rem;
  line-height: 1.28;
  padding: 10px;
}

.fees-personalized-card {
  align-content: center;
  display: grid;
  justify-items: center;
}

.fees-personalized-card .btn {
  margin-top: 18px;
}

.fees-final-shell {
  padding: clamp(24px, 5vw, 46px);
  text-align: center;
  display: grid;
  justify-items: center;
}

@media (min-width: 760px) {
  .fees-hero-shell {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    padding: 58px 0 54px;
  }

  .fees-hero-copy {
    text-align: left;
    justify-items: start;
  }

  .fees-hero-actions {
    justify-content: flex-start;
  }

  .fees-plan-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .fees-plan-card {
    min-height: 312px;
    padding: 22px 15px 18px;
  }

  .fees-plan-card p {
    font-size: .88rem;
  }

  .fees-two-col {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
}

@media (max-width: 420px) {
  .fees-hero-shell {
    padding: 34px 0 36px;
  }

  .fees-hero-copy,
  .fees-start-card {
    border-radius: 24px;
  }

  .fees-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fees-plan-card {
    min-height: 252px;
    padding: 16px 10px 14px;
    border-radius: 22px;
  }

  .fees-plan-tag {
    min-height: 28px;
    font-size: .64rem;
    padding: 5px 8px;
  }

  .fees-plan-card h3 {
    font-size: .92rem;
  }

  .fees-plan-card p {
    font-size: .72rem;
    line-height: 1.28;
  }

  .fees-detail-button {
    min-height: 38px;
    padding: 8px 12px;
    font-size: .76rem;
  }

  .fees-factor-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   v89 Homepage Alignment + Fees CTA + Investment Theme Fix
   Scope:
   1. Homepage training-path CTA pill alignment.
   2. Homepage investment card colors into premium NESkills theme.
   3. Fees page final CTA label changed in HTML to Chat on WhatsApp.
   ========================================================= */

/* Training Path: keep all card CTAs centered and safely inside cards */
.courses-section .course-card {
  overflow: hidden;
}

.courses-section .course-card .course-link {
  width: min(100%, 260px);
  max-width: calc(100% - 24px);
  box-sizing: border-box;
  justify-self: center;
  align-self: end;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  white-space: normal;
}

.courses-section .course-card .desktop-label,
.courses-section .course-card .mobile-label {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.15;
}

@media (min-width: 760px) {
  .courses-section .course-card .course-link {
    width: min(100%, 248px);
    max-width: calc(100% - 24px);
    min-width: 0;
  }
}

@media (max-width: 759px) {
  .courses-section .course-card .course-link {
    width: min(100%, 116px);
    max-width: calc(100% - 18px);
    min-width: 0;
  }
}

/* Homepage Investment cards: remove loud colorful blocks, unify into NESkills premium palette */
.investment-section .investment-card {
  border: 1px solid rgba(242,185,59,.30) !important;
  background:
    radial-gradient(circle at 22% 16%, rgba(242,185,59,.09), transparent 27%),
    linear-gradient(145deg, rgba(7,40,42,.88), rgba(5,18,20,.97)) !important;
  color: #fff8ea !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.investment-section .investment-card:nth-child(2) {
  background:
    radial-gradient(circle at 74% 18%, rgba(242,185,59,.08), transparent 26%),
    linear-gradient(145deg, rgba(7,38,40,.88), rgba(5,18,20,.97)) !important;
}

.investment-section .investment-card:nth-child(3) {
  background:
    radial-gradient(circle at 26% 82%, rgba(70,184,173,.08), transparent 28%),
    linear-gradient(145deg, rgba(7,39,41,.88), rgba(5,18,20,.97)) !important;
}

.investment-section .investment-card:nth-child(4) {
  background:
    radial-gradient(circle at 82% 82%, rgba(242,185,59,.07), transparent 26%),
    linear-gradient(145deg, rgba(7,38,40,.88), rgba(5,18,20,.97)) !important;
}

.investment-section .investment-card .plan-name {
  color: #fff8ea !important;
}

.investment-section .investment-card .plan-teaser {
  color: rgba(248,244,236,.78) !important;
}

.investment-section .investment-card .plan-chip {
  border-color: rgba(255,218,126,.72) !important;
  background: linear-gradient(135deg, #f2b93b 0%, #ffe2a2 52%, #c99122 100%) !important;
  color: #111817 !important;
  box-shadow: 0 14px 28px rgba(242,185,59,.18), inset 0 1px 0 rgba(255,255,255,.42) !important;
}


/* =========================================================
   v90 Training Path Pill Visibility Fix
   Scope: homepage Choose the Right Training Path CTA pills only.
   Fixes duplicate desktop/mobile label rendering caused by prior alignment override.
   ========================================================= */

.courses-section .course-card .course-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 28px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 10px 18px !important;
  white-space: normal !important;
  text-align: center !important;
  overflow: hidden !important;
}

.courses-section .course-card .course-link .desktop-label,
.courses-section .course-card .course-link .mobile-label {
  line-height: 1.12 !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Desktop and tablet: show full desktop label only */
@media (min-width: 760px) {
  .courses-section .course-card .course-link {
    min-height: 44px !important;
    border-radius: 999px !important;
  }

  .courses-section .course-card .course-link .desktop-label {
    display: inline-flex !important;
    width: auto !important;
  }

  .courses-section .course-card .course-link .mobile-label {
    display: none !important;
  }
}

/* Mobile: show short mobile label only */
@media (max-width: 759px) {
  .courses-section .course-card .course-link {
    min-height: 40px !important;
    min-width: 108px !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
  }

  .courses-section .course-card .course-link .desktop-label {
    display: none !important;
  }

  .courses-section .course-card .course-link .mobile-label {
    display: inline-flex !important;
    width: auto !important;
  }
}


/* =========================================================
   v91 Training Path Equal CTA Pills Fix
   Scope: homepage Choose the Right Training Path CTA pills only.
   Fixes Soft Skills button looking smaller by forcing identical CTA width on desktop/tablet.
   ========================================================= */

@media (min-width: 760px) {
  .courses-section .course-card .course-link {
    width: 226px !important;
    min-width: 226px !important;
    max-width: calc(100% - 28px) !important;
    min-height: 52px !important;
    padding: 10px 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .courses-section .course-card .course-link .desktop-label {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 2.2em !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  .courses-section .course-card .course-link .mobile-label {
    display: none !important;
  }
}

/* Keep mobile compact and equal, using only Explore → */
@media (max-width: 759px) {
  .courses-section .course-card .course-link {
    width: 116px !important;
    min-width: 116px !important;
    max-width: calc(100% - 18px) !important;
    min-height: 40px !important;
    padding: 9px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .courses-section .course-card .course-link .desktop-label {
    display: none !important;
  }

  .courses-section .course-card .course-link .mobile-label {
    display: inline-flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   v92 Fees Page Modal Script Fix
   Scope: modal behavior safety only.
   ========================================================= */

.fees-detail-button {
  position: relative;
  z-index: 2;
  pointer-events: auto;
}

.plan-modal {
  z-index: 10000;
}


/* =========================================================
   v93 Training Path Spacing + Mobile Pill Alignment Fix
   Scope: homepage Choose the Right Training Path cards only.
   Requested:
   1. Remove excess gap between card heading and sub/bullet text.
   2. Align mobile Explore pill correctly.
   ========================================================= */

.courses-section .course-card {
  grid-template-rows: 64px auto auto 1fr !important;
  row-gap: 8px !important;
}

.courses-section .course-card h3 {
  min-height: 0 !important;
  align-self: end !important;
  margin: 0 !important;
}

.courses-section .course-card ul {
  min-height: 0 !important;
  align-self: start !important;
  justify-content: start !important;
  margin-top: 6px !important;
}

.courses-section .course-card .course-link {
  align-self: end !important;
  justify-self: center !important;
}

@media (max-width: 759px) {
  .courses-section .course-card {
    grid-template-rows: 50px auto auto 1fr !important;
    row-gap: 8px !important;
  }

  .courses-section .course-card ul {
    margin-top: 6px !important;
  }

  .courses-section .course-card .course-link {
    align-self: end !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================================================
   v94 Training Path Content-to-Pill Gap Fix
   Scope: homepage Choose the Right Training Path cards only.
   Goal: reduce the empty space between bullet content and CTA pill.
   ========================================================= */

.courses-section .course-card {
  grid-template-rows: 64px auto auto auto !important;
  align-content: center !important;
  row-gap: 14px !important;
}

.courses-section .course-card ul {
  margin-top: 0 !important;
}

.courses-section .course-card .course-link {
  align-self: start !important;
  margin-top: 4px !important;
}

@media (max-width: 759px) {
  .courses-section .course-card {
    grid-template-rows: 50px auto auto auto !important;
    align-content: center !important;
    row-gap: 12px !important;
  }

  .courses-section .course-card .course-link {
    align-self: start !important;
    margin-top: 2px !important;
  }
}


/* =========================================================
   v95 Subtle WhatsApp Options in High-Intent Sections
   Scope: only CTA areas where the user is close to taking action.
   ========================================================= */

.whatsapp-subtle-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 4px auto 0;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(242,185,59,.045);
  color: rgba(255,242,207,.92);
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.whatsapp-subtle-link:hover {
  background: rgba(242,185,59,.09);
  color: #fff2cf;
}

.training-hero-actions .whatsapp-subtle-link,
.fees-hero-actions .whatsapp-subtle-link,
.fees-final-actions .whatsapp-subtle-link,
.investment-cta .whatsapp-subtle-link {
  grid-column: 1 / -1;
}

.plan-modal-card .whatsapp-subtle-link {
  margin-top: 8px;
}

@media (min-width: 760px) {
  .training-hero-actions .whatsapp-subtle-link,
  .fees-hero-actions .whatsapp-subtle-link {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 759px) {
  .whatsapp-subtle-link {
    width: min(100%, 280px);
    font-size: .76rem;
  }
}


/* =========================================================
   v96 Homepage Investment WhatsApp Alignment Fix
   Scope: homepage Investment CTA area only.
   Request: place Chat on WhatsApp directly below Book Free Diagnosis
   with the same gold button treatment and clean desktop/mobile alignment.
   ========================================================= */

.investment-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) !important;
  grid-template-areas:
    "copy book"
    "fees whatsapp" !important;
  column-gap: 24px !important;
  row-gap: 14px !important;
  align-items: center !important;
}

.investment-cta p {
  grid-area: copy !important;
  margin: 0 !important;
}

.investment-cta .btn-primary:not(.investment-whatsapp-btn) {
  grid-area: book !important;
  justify-self: stretch !important;
  width: 100% !important;
}

.investment-cta .btn-secondary {
  grid-area: fees !important;
  justify-self: stretch !important;
  width: 100% !important;
}

.investment-cta .investment-whatsapp-btn {
  grid-area: whatsapp !important;
  justify-self: stretch !important;
  width: 100% !important;
}

@media (max-width: 759px) {
  .investment-cta {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "book"
      "whatsapp"
      "fees" !important;
    row-gap: 12px !important;
    text-align: center !important;
  }

  .investment-cta p,
  .investment-cta .btn-primary,
  .investment-cta .btn-secondary,
  .investment-cta .investment-whatsapp-btn {
    justify-self: center !important;
    width: min(100%, 320px) !important;
  }
}


/* =========================================================
   v101 Restore Desktop + Mobile Text Center Alignment
   Scope: MOBILE ONLY for homepage Choose the Right Training Path cards.
   Base restored from v99 to preserve desktop. This rule fixes the actual issue:
   the content lines below each heading must sit on the card center axis.
   ========================================================= */

@media (max-width: 759px) {
  .courses-section .course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .courses-section .course-card {
    min-height: 252px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    gap: 9px !important;
    padding: 16px 10px 14px !important;
  }

  .courses-section .course-card-icon {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .courses-section .course-card-icon img {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  .courses-section .course-card h3 {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
    font-size: .98rem !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
    transform: none !important;
  }

  /* Actual fix: center the content block itself, not just the card */
  .courses-section .course-card ul {
    list-style: none !important;
    width: 100% !important;
    max-width: 20ch !important;
    min-height: 74px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    color: rgba(248,244,236,.82) !important;
    font-size: .74rem !important;
    line-height: 1.24 !important;
    text-align: center !important;
    text-wrap: balance !important;
    transform: none !important;
  }

  .courses-section .course-card li {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .courses-section .course-card .course-link {
    width: 112px !important;
    min-width: 112px !important;
    max-width: calc(100% - 18px) !important;
    min-height: 39px !important;
    margin: auto auto 0 !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    text-align: center !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .courses-section .course-card .desktop-label {
    display: none !important;
  }

  .courses-section .course-card .mobile-label {
    display: inline-flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 420px) {
  .courses-section .course-card {
    min-height: 244px !important;
    gap: 8px !important;
    padding: 15px 9px 13px !important;
  }

  .courses-section .course-card-icon {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  .courses-section .course-card h3 {
    min-height: 40px !important;
    font-size: .94rem !important;
  }

  .courses-section .course-card ul {
    max-width: 19ch !important;
    min-height: 70px !important;
    font-size: .72rem !important;
  }

  .courses-section .course-card .course-link {
    width: 108px !important;
    min-width: 108px !important;
    min-height: 38px !important;
  }
}


/* =========================================================
   v102 Method Details Mobile Center Alignment + Copy Rhythm
   Scope: homepage Why This Training Works reveal details only.
   Fixes mobile alignment and equalizes visual rhythm for the five method cards.
   ========================================================= */

@media (max-width: 959px) {
  .why-staircase-reveal .why-staircase-points {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    justify-items: stretch;
  }

  .why-staircase-reveal .why-staircase-point {
    min-height: 172px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 44px auto minmax(4.2em, auto);
    justify-items: center;
    align-content: center;
    text-align: center;
    row-gap: 9px;
    padding: 18px 16px 17px;
  }

  .why-staircase-reveal .why-staircase-point .point-no {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    margin: 0 auto;
  }

  .why-staircase-reveal .why-staircase-point h3 {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    min-height: 1.35em;
    display: grid;
    place-items: center;
    margin: 0;
    text-align: center;
    line-height: 1.08;
  }

  .why-staircase-reveal .why-staircase-point p {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 29ch;
    min-height: 4.2em;
    display: grid;
    place-items: start center;
    margin: 0 auto;
    text-align: center;
    line-height: 1.35;
    text-wrap: balance;
  }
}

@media (max-width: 420px) {
  .why-staircase-reveal .why-staircase-point {
    min-height: 166px;
    row-gap: 8px;
    padding: 16px 14px 15px;
  }

  .why-staircase-reveal .why-staircase-point p {
    max-width: 28ch;
    min-height: 4.05em;
  }
}


/* =========================================================
   v103 Method Details Global Copy + Alignment
   Scope: homepage Why This Training Works reveal details.
   Applies to BOTH desktop and mobile.
   ========================================================= */

.why-staircase-reveal .why-staircase-points {
  align-items: stretch;
}

.why-staircase-reveal .why-staircase-point {
  text-align: center !important;
  justify-items: center !important;
}

.why-staircase-reveal .why-staircase-point .point-no {
  justify-self: center !important;
  align-self: center !important;
  margin-inline: auto !important;
}

.why-staircase-reveal .why-staircase-point h3 {
  width: 100% !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance !important;
}

.why-staircase-reveal .why-staircase-point p {
  width: 100% !important;
  max-width: 28ch !important;
  min-height: 4.1em !important;
  display: grid !important;
  place-items: start center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.34 !important;
  text-wrap: balance !important;
}

@media (min-width: 960px) {
  .why-staircase-reveal .why-staircase-point {
    grid-template-rows: 44px minmax(44px, auto) minmax(4.1em, auto) !important;
    align-content: center !important;
    min-height: 218px !important;
  }
}

@media (max-width: 959px) {
  .why-staircase-reveal .why-staircase-point {
    min-height: 172px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 44px auto minmax(4.1em, auto) !important;
    align-content: center !important;
    justify-content: center !important;
    row-gap: 9px !important;
    padding: 18px 16px 17px !important;
  }

  .why-staircase-reveal .why-staircase-point h3 {
    min-height: 1.35em !important;
    margin: 0 auto !important;
    line-height: 1.08 !important;
  }

  .why-staircase-reveal .why-staircase-point p {
    max-width: 29ch !important;
    min-height: 4.1em !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 420px) {
  .why-staircase-reveal .why-staircase-point {
    min-height: 166px !important;
    row-gap: 8px !important;
    padding: 16px 14px 15px !important;
  }

  .why-staircase-reveal .why-staircase-point p {
    max-width: 28ch !important;
    min-height: 4.05em !important;
  }
}


/* =========================================================
   v104 Method Details Equal Counts + Line Rhythm
   Scope: homepage Why This Training Works reveal details only.
   All five method descriptions now have the same word and character count.
   This CSS locks the text area so line rhythm stays consistent.
   ========================================================= */

.why-staircase-reveal .why-staircase-point p {
  max-width: 25ch !important;
  min-height: 4.05em !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

@media (max-width: 959px) {
  .why-staircase-reveal .why-staircase-point p {
    max-width: 25ch !important;
    min-height: 4.05em !important;
  }
}


/* =========================================================
   v105 Soft Skills Training Page
   Scope: soft-skills-training.html only.
   Uses the same landing page system as Online Spoken English and Communication Skills.
   ========================================================= */

.soft-premium-hero .training-hero-media::after {
  background:
    linear-gradient(135deg, rgba(242,185,59,.18), transparent 35%),
    radial-gradient(circle at 75% 18%, rgba(255,215,122,.18), transparent 22%);
}

.soft-premium-hero .training-kicker {
  color: #f2c75b;
}

@media (max-width: 760px) {
  .soft-premium-hero .training-hero-media {
    max-height: 320px;
  }
}


/* =========================================================
   v106 Soft Skills Page Render Fix
   Scope: soft-skills-training.html only.
   Cause fixed: body now includes premium-training-page, so the approved
   landing page layout CSS applies like Spoken English and Communication Skills.
   ========================================================= */

.soft-skills-page .training-hero-media img {
  object-fit: cover;
}


/* =========================================================
   v108 Personality Development Page + Landing Card Rhythm
   Scope: premium landing pages only.
   Adds the new Personality page visual accent and locks card line rhythm.
   ========================================================= */

.personality-premium-hero .training-hero-media::after {
  background:
    linear-gradient(135deg, rgba(242,185,59,.18), transparent 35%),
    radial-gradient(circle at 75% 18%, rgba(255,215,122,.18), transparent 22%);
}

.personality-premium-hero .training-kicker {
  color: #f2c75b;
}

.premium-training-page .training-card p,
.premium-training-page .training-mini-card p {
  max-width: 26ch;
  min-height: 3.15em;
  display: grid;
  place-items: center;
  margin-inline: auto;
  line-height: 1.32;
  text-align: center;
  text-wrap: balance;
}

.premium-training-page .training-process-card p {
  max-width: 28ch;
  min-height: 3.0em;
  display: grid;
  place-items: center;
  margin-inline: auto;
  line-height: 1.32;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 760px) {
  .personality-premium-hero .training-hero-media {
    max-height: 320px;
  }

  .premium-training-page .training-card p,
  .premium-training-page .training-mini-card p {
    min-height: 3.25em;
  }
}


/* =========================================================
   v109 Institutions & Organizations Premium B2B Rebuild
   Scope: institutions.html only, using the approved premium landing-page system.
   ========================================================= */

.institutions-b2b-page .institutions-b2b-hero .training-hero-media {
  overflow: hidden;
}

.institutions-b2b-page .institutions-b2b-hero .institutions-hero-image {
  aspect-ratio: 16 / 9;
  padding: 0;
  min-height: 0;
  display: block;
  border-radius: 28px;
}

.institutions-b2b-page .institutions-b2b-hero .institutions-hero-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.institutions-b2b-page .institutions-process-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.institutions-b2b-page .institutions-process-grid .training-process-card {
  min-height: 212px;
}

.institutions-b2b-page .institutional-process-heading span {
  display: inline;
}

.institutions-b2b-page .training-card p,
.institutions-b2b-page .training-mini-card p,
.institutions-b2b-page .training-process-card p {
  max-width: 27ch;
  min-height: 3.25em;
  display: grid;
  place-items: center;
  margin-inline: auto;
  line-height: 1.32;
  text-align: center;
  text-wrap: balance;
}


.institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card {
  min-height: 214px;
  padding-block: 24px 22px;
  align-content: center;
}

.institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card h3 {
  max-width: 11.5ch;
  min-height: 2.1em;
  line-height: 1.08;
  display: grid;
  place-items: center;
}

.institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card p {
  max-width: 24ch;
  min-height: 3.95em;
  line-height: 1.35;
  display: grid;
  place-items: center;
}

.institution-quote-strip {
  max-width: 760px;
  margin: 22px auto 0;
  padding: 20px 18px;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 24px;
  background: rgba(255,255,255,.045);
  text-align: center;
}
.institution-quote-strip blockquote {
  margin: 0;
  color: rgba(255,248,234,.90);
  font-size: clamp(1rem, 3.6vw, 1.22rem);
  line-height: 1.55;
  text-wrap: balance;
}
.institution-quote-strip figcaption {
  margin-top: 10px;
  color: #f2b93b;
  font-weight: 850;
}

.institutions-b2b-page .institutions-proof-note {
  margin: 18px auto 0;
  max-width: 760px;
  display: grid;
  gap: 12px;
  justify-items: center;
  text-align: center;
}

.institutions-b2b-page .institutions-proof-note p {
  margin: 0;
  max-width: 82ch;
  color: rgba(248,244,236,.76);
  font-size: .95rem;
  line-height: 1.48;
  text-wrap: balance;
}

@media (max-width: 959px) {
  .institutions-b2b-page .institutions-process-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .institutions-b2b-page .institutions-process-grid .training-process-card {
    min-height: 190px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    justify-items: center;
    align-content: center;
    row-gap: 12px;
    padding: 26px 22px 28px;
    text-align: center;
  }

  .institutions-b2b-page .institutions-process-grid .training-process-number {
    width: 62px;
    height: 62px;
    margin: 0 auto;
    display: grid;
    place-items: center;
    font-size: 1.12rem;
    line-height: 1;
  }

  .institutions-b2b-page .institutions-process-grid .training-process-card h3 {
    margin: 0;
    max-width: 18ch;
    font-size: 1.18rem;
    line-height: 1.08;
    text-align: center;
  }

  .institutions-b2b-page .institutions-process-grid .training-process-card p {
    max-width: 29ch;
    min-height: 0;
    margin: 0 auto;
    display: block;
    font-size: .92rem;
    line-height: 1.38;
    text-align: center;
    color: rgba(248,244,236,.76);
    text-wrap: balance;
  }

  .institutions-b2b-page .institutional-process-heading {
    max-width: 20ch;
    margin-inline: auto;
    font-size: clamp(1.74rem, 7.4vw, 2.02rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    text-align: center;
  }

  .institutions-b2b-page .institutional-process-heading span {
    display: block;
  }

  .institutions-b2b-page .institutions-b2b-hero .institutions-hero-image {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 420px) {
  .institutions-b2b-page .institutions-b2b-hero .institutions-hero-image {
    aspect-ratio: 16 / 10;
  }
}


/* =========================================================
   v110 About Page Premium Authority Rebuild
   Scope: about.html only. Keeps the current video-led hero format.
   ========================================================= */

.about-authority-page .about-hero {
  padding: 48px 0 42px;
}

.about-authority-page .about-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  align-items: stretch;
  gap: 18px;
}

.about-authority-page .about-founder-video-card {
  order: 2;
}

.about-authority-page .about-hero-copy {
  order: 1;
}

.about-authority-section {
  position: relative;
  overflow: hidden;
  padding: 46px 0 52px;
  background:
    radial-gradient(circle at 16% 8%, rgba(242,185,59,.07), transparent 26%),
    radial-gradient(circle at 86% 14%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  color: var(--text-light);
  border-top: 1px solid rgba(242,185,59,.16);
}

.about-authority-section-alt {
  background:
    radial-gradient(circle at 88% 8%, rgba(242,185,59,.07), transparent 26%),
    radial-gradient(circle at 12% 14%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #071719 0%, #061011 100%);
}

.about-section-head {
  max-width: 900px;
  margin: 0 auto 22px;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 10px;
}

.about-section-head-left {
  justify-items: start;
  text-align: left;
  margin: 0;
}

.about-section-head h2,
.about-promise-card h2 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.75rem, 5vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.about-section-head p,
.about-promise-card p {
  margin: 0;
  max-width: 820px;
  color: rgba(248,244,236,.82);
  font-size: clamp(.96rem, 1.35vw, 1.08rem);
  line-height: 1.48;
  text-wrap: balance;
}

.about-balanced-title,
.about-balanced-lead {
  display: grid;
  justify-items: center;
  text-align: center;
}

.about-balanced-title {
  gap: .04em;
}

.about-balanced-title span,
.about-balanced-lead span {
  display: block;
}

.about-line-title {
  display: grid;
  justify-items: center;
  gap: .04em;
}

.about-line-title span {
  display: block;
}

.about-balanced-lead {
  gap: .1em;
}

.about-card-grid {
  display: grid;
  gap: 12px;
  align-items: stretch;
}

.about-card-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-card-grid-six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.about-premium-card,
.about-method-card,
.about-promise-card,
.about-proof-authority {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 26px;
  background:
    radial-gradient(circle at 22% 16%, rgba(242,185,59,.08), transparent 30%),
    linear-gradient(145deg, rgba(7,42,43,.78), rgba(5,18,20,.96));
  box-shadow:
    0 18px 40px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.about-premium-card {
  min-height: 190px;
  padding: 18px 14px;
  display: grid;
  grid-template-rows: 52px minmax(42px, auto) minmax(58px, auto);
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 8px;
}

.about-mini-card {
  min-height: 174px;
  grid-template-rows: 48px minmax(34px, auto) minmax(48px, auto);
  padding: 16px 10px;
}

.about-card-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 999px;
  background: rgba(242,185,59,.075);
  color: #f2c75b;
}

.about-svg-icon {
  width: 25px;
  height: 25px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-premium-card h3,
.about-method-card h3 {
  margin: 0;
  color: #fff8ea;
  font-size: 1rem;
  line-height: 1.08;
  letter-spacing: -.02em;
  text-align: center;
  text-wrap: balance;
}

.about-premium-card p,
.about-method-card p {
  width: 100%;
  max-width: 25ch;
  min-height: 3.05em;
  margin: 0 auto;
  display: grid;
  place-items: center;
  color: rgba(248,244,236,.78);
  font-size: .83rem;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

.about-problem-card {
  min-height: 190px;
  grid-template-rows: 52px 2.25em 3.0em;
  align-content: center;
}

.about-problem-card h3 {
  min-height: 2.25em;
  display: grid;
  place-items: center;
}

.about-problem-card p {
  min-height: 3.0em;
  max-width: 23ch;
}

.about-split-authority {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 18px;
  align-items: center;
}

.about-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.about-method-card {
  min-height: 168px;
  padding: 18px 14px;
  display: grid;
  grid-template-rows: 42px minmax(30px, auto) minmax(44px, auto);
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 8px;
}

.about-method-card span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.34);
  color: #f2c75b;
  background: rgba(242,185,59,.07);
  font-weight: 950;
}

.about-proof-authority {
  padding: 24px;
}

.about-proof-grid-v110 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}

.about-proof-grid-v110 article {
  min-height: 136px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 8px;
  padding: 14px 10px;
  border: 1px solid rgba(242,185,59,.20);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
}

.about-proof-grid-v110 strong {
  color: #fff8ea;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1;
}

.about-proof-grid-v110 span {
  max-width: 20ch;
  min-height: 2.6em;
  display: grid;
  place-items: center;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

.about-promise-card {
  max-width: 1060px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 38px);
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 12px;
}

.about-promise-actions {
  justify-content: center;
  margin-top: 8px;
}

@media (max-width: 1020px) {
  .about-card-grid-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .about-card-grid-four,
  .about-proof-grid-v110 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .about-authority-page .about-hero-shell,
  .about-split-authority {
    grid-template-columns: 1fr;
  }

  .about-authority-page .about-founder-video-card {
    order: 2;
  }

  .about-authority-page .about-hero-copy {
    order: 1;
  }

  .about-section-head-left {
    justify-items: center;
    text-align: center;
    margin: 0 auto 22px;
  }
}

@media (max-width: 620px) {
  .about-authority-section {
    padding: 34px 0 38px;
  }

  .about-card-grid-six,
  .about-card-grid-four,
  .about-method-grid,
  .about-proof-grid-v110 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-premium-card {
    min-height: 176px;
    padding: 15px 9px;
  }

  .about-balanced-title {
    font-size: clamp(2.08rem, 10.5vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.045em;
  }

  .about-balanced-lead {
    max-width: 34ch;
    font-size: clamp(1.05rem, 5.3vw, 1.38rem);
    line-height: 1.35;
  }

  .about-problem-card {
    min-height: 190px;
    grid-template-rows: 54px 2.5em 3.2em;
    gap: 10px;
    padding: 16px 10px;
  }

  .about-problem-card h3 {
    font-size: 1rem;
    line-height: 1.06;
  }

  .about-problem-card p {
    font-size: .82rem;
    line-height: 1.26;
  }

  .about-mini-card {
    min-height: 176px;
    grid-template-rows: 52px 2.4em 4.4em;
    gap: 10px;
  }

  .about-premium-card h3,
  .about-method-card h3 {
    font-size: .94rem;
    line-height: 1.06;
  }

  .about-premium-card p,
  .about-method-card p,
  .about-proof-grid-v110 span {
    font-size: .76rem;
    line-height: 1.28;
  }

  .about-proof-grid-v110 article {
    min-height: 142px;
  }

  .about-method-card {
    min-height: 172px;
    grid-template-rows: 46px 2.1em 3.6em;
    gap: 10px;
  }

  .about-method-card p {
    max-width: 22ch;
    min-height: 3.1em;
  }

  .about-line-title {
    font-size: clamp(2rem, 9.2vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.045em;
  }

}

@media (max-width: 380px) {
  .about-card-grid-six,
  .about-card-grid-four,
  .about-method-grid,
  .about-proof-grid-v110 {
    gap: 9px;
  }

  .about-card-icon {
    width: 44px;
    height: 44px;
  }
}


/* =========================================================
   v186 Contact Page Hero Image Replacement
   Scope: contact.html hero visual only.
   Purpose: replace the abstract SVG diagram with a real premium contact/consultation image.
   ========================================================= */

.contact-premium-hero .contact-hero-media {
  padding: 0;
  min-height: 0;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  background: rgba(4,16,17,.78);
}

.contact-premium-hero .contact-hero-media picture,
.contact-premium-hero .contact-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
}

.contact-premium-hero .contact-hero-media img {
  object-fit: cover;
  object-position: center;
  background: rgba(4,16,17,.78);
}

.contact-option-card {
  gap: 10px !important;
}

.contact-option-card .btn {
  margin-top: auto;
  width: min(100%, 190px);
}

.contact-center-actions {
  justify-content: center;
  margin-top: 4px;
}

.contact-institutional-panel .training-section-head p {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(248,244,236,.82);
  line-height: 1.45;
  text-align: center;
  text-wrap: balance;
}

/* Premium landing pages: lock visual rhythm for cards on desktop and mobile */
.premium-training-page .training-card,
.premium-training-page .training-mini-card {
  grid-template-rows: 48px minmax(42px, auto) minmax(4.0em, auto) !important;
  align-content: center !important;
}

.premium-training-page .training-card h3,
.premium-training-page .training-mini-card h3 {
  min-height: 2.25em !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  text-align: center !important;
  line-height: 1.12 !important;
  text-wrap: balance !important;
}

.premium-training-page .training-card p,
.premium-training-page .training-mini-card p,
.institutions-b2b-page .training-card p,
.institutions-b2b-page .training-mini-card p,
.contact-page .training-card p,
.contact-page .training-mini-card p {
  max-width: 26ch !important;
  min-height: 4.0em !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  line-height: 1.32 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

.premium-training-page .training-process-card p,
.institutions-b2b-page .training-process-card p,
.contact-page .training-process-card p {
  max-width: 28ch !important;
  min-height: 3.6em !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  line-height: 1.32 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

/* Homepage Training Path and method details: keep text rhythm stable */
.courses-section .course-card ul {
  min-height: 5.25em !important;
}

.why-staircase-reveal .why-staircase-point p {
  min-height: 4.05em !important;
}


/* Fees page cards */
.fees-page .fees-plan-card p,
.fees-page .fees-plan-card .plan-summary,
.fees-page .fees-trust-card p,
.fees-page .fees-audience-card p {
  min-height: 3.6em !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  line-height: 1.32 !important;
  text-wrap: balance !important;
}

@media (max-width: 760px) {
  .contact-premium-hero .contact-hero-media {
    aspect-ratio: 3 / 2;
    border-radius: 24px;
  }

  .contact-premium-hero .contact-hero-media img {
    object-fit: cover;
    object-position: center;
  }

  .premium-training-page .training-card,
  .premium-training-page .training-mini-card {
    grid-template-rows: 44px minmax(40px, auto) minmax(4.15em, auto) !important;
  }

  .premium-training-page .training-card p,
  .premium-training-page .training-mini-card p,
  .contact-page .training-card p,
  .contact-page .training-mini-card p {
    min-height: 4.15em !important;
  }
}

@media (max-width: 420px) {
  .contact-premium-hero .contact-hero-media {
    border-radius: 22px;
  }
}


/* =========================================================
   v112 Courses Page Premium Hub Rebuild
   Scope: courses.html only. Audio overviews preserved for all four course paths.
   ========================================================= */

.courses-premium-page .coursehub-hero,
.courses-premium-page .course-detail-section,
.courses-premium-page .course-investment-cta-section {
  position: relative;
  overflow: hidden;
  color: var(--text-light);
  background:
    radial-gradient(circle at 16% 8%, rgba(242,185,59,.07), transparent 26%),
    radial-gradient(circle at 86% 14%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #061011 0%, #071719 100%) !important;
  border-top: 1px solid rgba(242,185,59,.16);
}

.courses-premium-page .course-detail-section:nth-of-type(even) {
  background:
    radial-gradient(circle at 88% 8%, rgba(242,185,59,.07), transparent 26%),
    radial-gradient(circle at 12% 14%, rgba(70,184,173,.06), transparent 26%),
    linear-gradient(180deg, #071719 0%, #061011 100%) !important;
}

.courses-premium-page .coursehub-hero {
  padding: 58px 0 44px;
}

.courses-premium-page .coursehub-shell {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 14px;
}

.courses-premium-page .coursehub-kicker,
.courses-premium-page .course-detail-kicker,
.courses-premium-page .course-investment-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(242,185,59,.45);
  border-radius: 999px;
  background: rgba(242,185,59,.07);
  color: #f2c75b;
  padding: 7px 13px;
  font-size: .74rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.courses-premium-page .coursehub-hero h1 {
  max-width: 960px;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(2.15rem, 6.4vw, 5.15rem);
  line-height: .94;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.courses-premium-page .coursehub-hero h1 span {
  color: #f2c75b;
}

.courses-premium-page .coursehub-lead {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(248,244,236,.82);
  font-size: clamp(.98rem, 1.4vw, 1.14rem);
  line-height: 1.48;
  text-wrap: balance;
}

.courses-premium-page .coursehub-actions,
.courses-premium-page .course-premium-actions,
.courses-premium-page .course-final-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.courses-premium-page .course-path-grid {
  width: 100%;
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.courses-premium-page .course-path-card {
  min-height: 218px;
  display: grid;
  grid-template-rows: 54px minmax(44px, auto) minmax(4.1em, auto) 34px;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 18px 14px;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 26px;
  background:
    radial-gradient(circle at 22% 16%, rgba(242,185,59,.08), transparent 30%),
    linear-gradient(145deg, rgba(7,42,43,.78), rgba(5,18,20,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
  text-align: center;
  text-decoration: none;
}

.courses-premium-page .course-premium-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 999px;
  background: rgba(242,185,59,.075);
  color: #f2c75b;
}

.courses-premium-page .course-premium-svg {
  width: 25px;
  height: 25px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.courses-premium-page .course-path-card h2 {
  margin: 0;
  color: #fff8ea;
  font-size: 1.08rem;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.courses-premium-page .course-path-card p {
  max-width: 24ch;
  min-height: 4.1em;
  margin: 0 auto;
  display: grid;
  place-items: center;
  color: rgba(248,244,236,.78);
  font-size: .84rem;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

.courses-premium-page .course-path-link {
  color: #f2c75b;
  font-size: .82rem;
  font-weight: 950;
}

.courses-premium-page .course-detail-section {
  padding: 44px 0 52px;
}

.courses-premium-page .course-premium-shell {
  display: grid;
  gap: 18px;
}

.courses-premium-page .course-premium-head {
  max-width: 930px;
  margin: 0 auto;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 10px;
}

.courses-premium-page .course-premium-head h2 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.75rem, 4.8vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.courses-premium-page .course-premium-head p {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(248,244,236,.82);
  font-size: .98rem;
  line-height: 1.48;
  text-wrap: balance;
}

.courses-premium-page .course-premium-body {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: 14px;
  align-items: stretch;
}

.courses-premium-page .course-premium-intro,
.courses-premium-page .course-premium-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 22% 16%, rgba(242,185,59,.08), transparent 30%),
    linear-gradient(145deg, rgba(7,42,43,.78), rgba(5,18,20,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}

.courses-premium-page .course-premium-intro {
  min-height: 300px;
  padding: 20px 16px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 16px;
  text-align: center;
}

.courses-premium-page .course-pair-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.courses-premium-page .course-premium-card {
  min-height: 300px;
  padding: 20px 16px 18px;
  display: grid;
  grid-template-rows: 42px minmax(42px, auto) minmax(150px, auto);
  align-content: center;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.courses-premium-page .course-card-number {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242,185,59,.34);
  border-radius: 999px;
  background: rgba(242,185,59,.08);
  color: #f2c75b;
  font-weight: 950;
}

.courses-premium-page .course-premium-card h3 {
  min-height: 2.25em;
  margin: 0;
  display: grid;
  place-items: center;
  color: #fff8ea;
  font-size: 1.08rem;
  line-height: 1.1;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.courses-premium-page .course-premium-card ul {
  width: 100%;
  max-width: 28ch;
  min-height: 150px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  align-content: center;
  gap: 8px;
  list-style: none;
}

.courses-premium-page .course-premium-card li {
  min-height: 1.55em;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242,185,59,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(248,244,236,.82);
  font-size: .84rem;
  line-height: 1.24;
  text-align: center;
  text-wrap: balance;
  padding: 7px 10px;
}

.courses-premium-page .course-audio-card-premium {
  width: 100%;
  max-width: 380px;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(242,185,59,.20);
  border-radius: 22px;
  background: rgba(255,255,255,.035);
}

.courses-premium-page .course-audio-heading {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 10px;
  align-items: center;
  text-align: left;
}

.courses-premium-page .course-audio-heading .course-premium-icon {
  width: 46px;
  height: 46px;
}

.courses-premium-page .course-audio-label {
  display: block;
  color: #f2c75b;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.courses-premium-page .course-audio-heading strong {
  display: block;
  margin-top: 3px;
  color: #fff8ea;
  font-size: .96rem;
  line-height: 1.15;
}

.courses-premium-page .course-audio-card-premium audio {
  width: 100%;
  height: 42px;
  filter: saturate(.82);
}

.courses-premium-page .course-premium-actions {
  margin-top: 2px;
}

.courses-premium-page .course-premium-final {
  padding: 34px 0 54px;
}

.courses-premium-page .course-investment-cta-shell {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 28px;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 12%, rgba(242,185,59,.08), transparent 28%),
    linear-gradient(145deg, rgba(7,42,43,.78), rgba(5,18,20,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}

.courses-premium-page .course-investment-cta-shell h2 {
  margin: 10px 0 0;
  color: #fff8ea;
  font-size: clamp(1.65rem, 4.2vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.courses-premium-page .course-investment-cta-shell p {
  max-width: 720px;
  margin: 10px 0 0;
  color: rgba(248,244,236,.82);
  line-height: 1.45;
}

@media (max-width: 1020px) {
  .courses-premium-page .course-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .courses-premium-page .course-premium-body {
    grid-template-columns: 1fr;
  }

  .courses-premium-page .course-premium-intro {
    min-height: 210px;
  }
}

@media (max-width: 760px) {
  .courses-premium-page .coursehub-hero {
    padding: 42px 0 34px;
  }

  .courses-premium-page .coursehub-hero h1 {
    font-size: clamp(2rem, 10vw, 3.25rem);
  }

  .courses-premium-page .course-path-grid {
    gap: 10px;
  }

  .courses-premium-page .course-path-card {
    min-height: 204px;
    grid-template-rows: 48px minmax(40px, auto) minmax(4.2em, auto) 32px;
    padding: 15px 9px;
  }

  .courses-premium-page .course-path-card p {
    min-height: 4.2em;
    font-size: .76rem;
  }

  .courses-premium-page .course-premium-icon {
    width: 46px;
    height: 46px;
  }

  .courses-premium-page .course-detail-section {
    padding: 34px 0 38px;
  }

  .courses-premium-page .course-pair-grid {
    grid-template-columns: 1fr;
  }

  .courses-premium-page .course-premium-card {
    min-height: 258px;
  }

  .courses-premium-page .course-premium-card ul {
    min-height: 134px;
  }

  .courses-premium-page .course-premium-card li {
    font-size: .8rem;
  }

  .courses-premium-page .course-investment-cta-shell {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }

  .courses-premium-page .course-final-actions {
    width: 100%;
  }

  .courses-premium-page .course-final-actions .btn {
    width: min(100%, 320px);
  }
}

@media (max-width: 420px) {
  .courses-premium-page .course-path-card {
    min-height: 196px;
  }

  .courses-premium-page .course-path-card h2 {
    font-size: .96rem;
  }

  .courses-premium-page .course-premium-head h2 {
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }

  .courses-premium-page .course-audio-heading {
    grid-template-columns: 42px 1fr;
  }
}


/* v113 testimonial proof additions: page-matched Google review proof only */
.courses-page .course-review-proof {
  margin-top: 16px;
  border: 1px solid rgba(242,185,59,.32);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.12), transparent 34%),
    rgba(5,24,25,.82);
  padding: 16px;
  text-align: center;
  display: grid;
  gap: 8px;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}

.courses-page .course-proof-stars {
  color: var(--gold);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.courses-page .course-review-proof p {
  margin: 0 auto;
  max-width: 58ch;
  color: rgba(248,244,236,.88);
  font-size: .92rem;
  line-height: 1.45;
}

.courses-page .course-review-proof strong {
  color: #fff8ea;
  font-size: .9rem;
}

.fees-page .fees-reviews-section {
  background:
    radial-gradient(circle at 20% 0%, rgba(242,185,59,.10), transparent 32%),
    linear-gradient(180deg, #071719 0%, #061011 100%);
  color: var(--text-light);
}

.fees-page .fees-review-grid {
  display: grid;
  gap: 12px;
}

.fees-page .fees-review-card {
  border: 1px solid rgba(242,185,59,.32);
  border-radius: 22px;
  background: rgba(5,24,25,.82);
  padding: 18px;
  text-align: center;
  display: grid;
  align-content: center;
  gap: 10px;
  min-height: 185px;
}

.fees-page .fees-review-stars {
  color: var(--gold);
  letter-spacing: .12em;
  font-weight: 900;
}

.fees-page .fees-review-card p {
  margin: 0 auto;
  max-width: 48ch;
  color: rgba(248,244,236,.88);
  font-size: .94rem;
  line-height: 1.45;
}

.fees-page .fees-review-card strong {
  color: #fff8ea;
  font-size: .9rem;
}

@media (min-width: 760px) {
  .fees-page .fees-review-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* v114 testimonial density fix: full desktop proof instead of only two visible cards */
.homepage-review-wall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px auto 0;
  max-width: 780px;
}
.homepage-review-card {
  min-width: 0;
  min-height: 170px;
  display: grid;
  align-content: center;
  gap: 8px;
  text-align: center;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.10), transparent 34%),
    rgba(5,24,25,.78);
  padding: 16px 12px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.homepage-review-stars {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.homepage-review-card p {
  margin: 0 auto;
  max-width: 38ch;
  color: rgba(248,244,236,.86);
  font-size: .78rem;
  line-height: 1.42;
}
.homepage-review-card strong {
  color: #fff8ea;
  font-size: .82rem;
}

@media (min-width: 760px) {
  .homepage-review-wall {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 1040px;
    margin-top: 26px;
  }
  .homepage-review-card {
    min-height: 190px;
    border-radius: 22px;
    padding: 18px 16px;
  }
  .homepage-review-stars { font-size: .72rem; }
  .homepage-review-card p { font-size: .86rem; }
  .homepage-review-card strong { font-size: .9rem; }
}

@media (min-width: 960px) {
  .testimonial-grid {
    max-width: 760px;
  }
  .homepage-review-wall {
    max-width: 1120px;
  }
  .premium-training-page .training-slider {
    max-width: 1160px;
  }
  .premium-training-page .training-slider-track {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow-x: visible;
    scroll-snap-type: none;
    scrollbar-width: auto;
    gap: 12px;
    padding: 4px 0 0;
  }
  .premium-training-page .training-review-card {
    scroll-snap-align: unset;
    min-height: 235px;
    padding: 18px 13px;
  }
  .premium-training-page .training-review-card p {
    max-width: 24ch;
    font-size: .84rem;
    line-height: 1.42;
  }
  .premium-training-page .training-review-card strong {
    font-size: .86rem;
  }
  .premium-training-page .training-stars {
    font-size: .78rem;
    letter-spacing: .10em;
    margin-bottom: 10px;
  }
  .premium-training-page .training-slider-dots {
    display: none;
  }
}

@media (min-width: 1180px) {
  .premium-training-page .training-review-card {
    padding: 20px 15px;
  }
  .premium-training-page .training-review-card p {
    font-size: .88rem;
    max-width: 26ch;
  }
}


/* v116 accessibility, SEO trust, and conversion safety pass */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(242,185,59,.88) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 5px rgba(7,63,66,.72) !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) {
  outline: none;
}

.primary-nav a[aria-current="page"],
.footer-link-list a[aria-current="page"] {
  color: var(--gold);
  background: rgba(242,185,59,.10);
}

.skip-link {
  position: fixed;
}

[aria-hidden="true"][role="presentation"] {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
}

/* =========================================================
   v117 Testimonial horizontal sliders with accessible arrows
   Scope: testimonial/review sections only. Approved layouts,
   audio, SEO, forms, and gallery media content are untouched.
   ========================================================= */
.review-slider {
  position: relative;
  width: 100%;
  margin-inline: auto;
}

.js-review-track {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.review-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 14px auto 0;
}

.review-slider-arrow {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(242,185,59,.72);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(242,185,59,.98), rgba(255,230,170,.94));
  color: #061112;
  font-size: 1.55rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}

.review-slider-arrow:hover,
.review-slider-arrow:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,.30);
}

.review-slider-arrow:disabled {
  opacity: .38;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.testimonial-video-slider .testimonial-grid,
.homepage-review-slider .homepage-review-wall,
.fees-review-slider .fees-review-grid,
.gallery-story-slider .gallery-stories-track,
.premium-training-page .training-review-slider .training-slider-track {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: none;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  gap: 14px;
  padding: 4px 2px 12px;
  max-width: none;
}

.testimonial-video-slider .testimonial-grid::-webkit-scrollbar,
.homepage-review-slider .homepage-review-wall::-webkit-scrollbar,
.fees-review-slider .fees-review-grid::-webkit-scrollbar,
.gallery-story-slider .gallery-stories-track::-webkit-scrollbar,
.premium-training-page .training-review-slider .training-slider-track::-webkit-scrollbar {
  display: none;
}

.testimonial-video-slider .testimonial-card,
.homepage-review-slider .homepage-review-card,
.fees-review-slider .fees-review-card,
.gallery-story-slider .gallery-story-card,
.premium-training-page .training-review-slider .training-review-card {
  scroll-snap-align: start;
}

.testimonial-video-slider .testimonial-grid {
  grid-auto-columns: minmax(235px, 84%);
}

.homepage-review-slider .homepage-review-wall,
.fees-review-slider .fees-review-grid,
.premium-training-page .training-review-slider .training-slider-track {
  grid-auto-columns: minmax(265px, 86%);
}

.gallery-story-slider .gallery-stories-track {
  grid-auto-columns: minmax(270px, 88%);
}

.homepage-review-slider .homepage-review-wall,
.fees-review-slider .fees-review-grid {
  margin-top: 0;
}

.premium-training-page .training-review-slider .training-slider-dots {
  display: none;
}

@media (min-width: 760px) {
  .testimonial-video-slider .testimonial-grid {
    grid-auto-columns: minmax(280px, calc((100% - 22px) / 2));
    gap: 22px;
  }

  .homepage-review-slider .homepage-review-wall,
  .premium-training-page .training-review-slider .training-slider-track {
    grid-auto-columns: minmax(280px, calc((100% - 28px) / 3));
    gap: 14px;
  }

  .fees-review-slider .fees-review-grid {
    grid-auto-columns: minmax(280px, calc((100% - 14px) / 2));
    gap: 14px;
  }

  .gallery-story-slider .gallery-stories-track {
    grid-auto-columns: minmax(320px, calc((100% - 18px) / 2));
    gap: 18px;
  }

  .review-slider-controls {
    margin-top: 18px;
  }
}

@media (min-width: 960px) {
  .testimonial-video-slider,
  .homepage-review-slider,
  .fees-review-slider,
  .gallery-story-slider,
  .premium-training-page .training-review-slider {
    max-width: 1160px;
  }

  .testimonial-video-slider .testimonial-grid {
    grid-auto-columns: minmax(310px, calc((100% - 24px) / 2));
    gap: 24px;
  }

  .homepage-review-slider .homepage-review-wall,
  .premium-training-page .training-review-slider .training-slider-track {
    grid-auto-columns: minmax(300px, calc((100% - 32px) / 3));
    gap: 16px;
  }

  .fees-review-slider .fees-review-grid {
    grid-auto-columns: minmax(320px, calc((100% - 16px) / 2));
    gap: 16px;
  }

  .gallery-story-slider .gallery-stories-track {
    grid-auto-columns: minmax(360px, calc((100% - 20px) / 2));
    gap: 20px;
  }

  .homepage-review-slider .homepage-review-card,
  .premium-training-page .training-review-slider .training-review-card,
  .fees-review-slider .fees-review-card {
    min-height: 210px;
  }

  .premium-training-page .training-review-slider .training-review-card p {
    max-width: 42ch;
    font-size: .9rem;
  }
}

@media (max-width: 640px) {
  .review-slider-arrow {
    width: 40px;
    height: 40px;
    font-size: 1.35rem;
  }
}

/* v117 refinement: keep video testimonials genuinely scrollable on desktop too */
@media (min-width: 760px) {
  .testimonial-video-slider .testimonial-grid {
    grid-auto-columns: minmax(300px, 58%);
  }
}

@media (min-width: 960px) {
  .testimonial-video-slider .testimonial-grid {
    grid-auto-columns: minmax(340px, 54%);
  }
}

/* v118 accessibility media written alternatives: collapsed by default, no layout redesign */
.media-transcript {
  margin-top: 12px;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  color: inherit;
  overflow: hidden;
}
.media-transcript summary {
  cursor: pointer;
  list-style-position: inside;
  padding: 10px 12px;
  color: var(--gold);
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.25;
}
.media-transcript summary:focus-visible {
  outline: 3px solid rgba(242,185,59,.70);
  outline-offset: 3px;
  border-radius: 10px;
}
.media-transcript p {
  margin: 0;
  padding: 0 12px 12px;
  color: rgba(248,244,236,.82);
  font-size: .82rem;
  line-height: 1.5;
}
.course-media-transcript {
  background: rgba(6,16,17,.08);
  border-color: rgba(7,63,66,.18);
}
.course-media-transcript summary {
  color: #073f42;
}
.course-media-transcript p {
  color: rgba(17,24,23,.78);
}
@media (max-width: 760px) {
  .media-transcript summary { font-size: .76rem; }
  .media-transcript p { font-size: .78rem; }
}



/* =========================================================
   v119 homepage refinement: stronger header + static video testimonials
   Scope: header sizing and homepage video testimonial cleanup only.
   Google review cards remain horizontal sliders with arrows.
   ========================================================= */
.header-wrap {
  min-height: 68px;
  padding: 8px 0;
}
.brand img {
  height: 44px;
}
.menu-toggle {
  font-size: .9rem;
  padding: 9px 14px;
}
.primary-nav {
  top: 76px;
}
.primary-nav a {
  font-size: .98rem;
  padding: 11px 13px;
}

#video-testimonials .testimonial-grid:not(.js-review-track) {
  max-width: 760px;
  margin: 0 auto;
}
#video-testimonials .testimonial-copy {
  min-height: 0;
  padding: 12px 12px 14px;
  justify-content: flex-start;
}
#video-testimonials .testimonial-copy h3 {
  margin-bottom: 0;
}
#video-testimonials .video-media-transcript {
  width: min(100%, 30ch);
  margin-top: 10px;
}

@media (min-width: 760px) {
  .header-wrap {
    min-height: 72px;
    padding: 8px 0;
  }
  .brand img {
    height: 48px;
  }
  .primary-nav a {
    font-size: .9rem;
    padding: 9px 9px;
  }
  .header-cta {
    min-height: 38px;
    font-size: .86rem;
    padding: 9px 14px;
  }
  #video-testimonials .testimonial-grid:not(.js-review-track) {
    max-width: 700px;
    gap: 22px;
  }
}

@media (min-width: 960px) {
  html { scroll-padding-top: 84px; }
  .header-wrap {
    min-height: 74px;
    padding: 8px 0;
  }
  .brand img {
    height: 50px;
  }
  .primary-nav {
    gap: 5px;
  }
  .primary-nav a {
    font-size: .91rem;
    padding: 10px 10px;
  }
}

@media (max-width: 380px) {
  .brand img { height: 40px; }
  .primary-nav { top: 72px; }
}


/* =========================================================
   v120 homepage media accessibility refinement
   Scope: homepage video testimonial transcript alignment + caption support only.
   ========================================================= */
#video-testimonials .testimonial-card {
  justify-items: center;
}
#video-testimonials .testimonial-copy {
  width: min(100%, 34ch);
  text-align: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
#video-testimonials .video-media-transcript {
  width: min(100%, 32ch);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#video-testimonials .video-media-transcript summary {
  list-style: none;
  text-align: center;
}
#video-testimonials .video-media-transcript summary::-webkit-details-marker {
  display: none;
}
#video-testimonials .video-media-transcript summary::after {
  content: " ▾";
  font-size: .78em;
}
#video-testimonials .video-media-transcript[open] summary::after {
  content: " ▴";
}
#video-testimonials .video-media-transcript p {
  max-height: 13rem;
  overflow-y: auto;
  text-align: left;
  scrollbar-width: thin;
}
@media (min-width: 760px) {
  #video-testimonials .testimonial-grid:not(.js-review-track) {
    align-items: start;
  }
  #video-testimonials .testimonial-copy {
    min-height: 0;
  }
}
@media (max-width: 640px) {
  #video-testimonials .testimonial-copy {
    width: min(100%, 31ch);
  }
  #video-testimonials .video-media-transcript {
    width: min(100%, 29ch);
  }
}


/* =========================================================
   v121 homepage transcript center alignment fix
   Scope: homepage video testimonial transcript block only.
   ========================================================= */
#video-testimonials .testimonial-card > * {
  justify-self: center;
}
#video-testimonials .testimonial-media {
  margin-left: auto;
  margin-right: auto;
}
#video-testimonials .testimonial-copy {
  text-align: center;
}
#video-testimonials .video-media-transcript {
  display: block;
  width: min(100%, 32ch);
  margin: 10px auto 0;
  text-align: center;
}
#video-testimonials .video-media-transcript summary {
  width: 100%;
  text-align: center;
  justify-content: center;
}
#video-testimonials .video-media-transcript p {
  width: min(100%, 30ch);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media (min-width: 760px) {
  #video-testimonials .video-media-transcript {
    width: min(100%, 33ch);
  }
  #video-testimonials .video-media-transcript p {
    width: min(100%, 31ch);
  }
}


/* =========================================================
   v122 homepage Google review visual proof
   Scope: homepage review image inserted between video stories and review slider only.
   ========================================================= */
.homepage-review-proof-visual {
  width: min(100%, 980px);
  margin: 0 auto;
}
.homepage-review-proof-figure {
  margin: 0;
  display: grid;
  gap: 10px;
  justify-items: center;
  text-align: center;
}
.homepage-review-proof-figure picture {
  width: 100%;
  display: block;
}
.homepage-review-proof-figure img {
  width: 100%;
  height: auto;
  border-radius: 22px;
  border: 1px solid rgba(242,185,59,.28);
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
  background: rgba(255,255,255,.04);
}
.homepage-review-proof-figure figcaption {
  max-width: 760px;
  color: rgba(248,244,236,.76);
  font-size: .88rem;
  line-height: 1.5;
}
@media (max-width: 640px) {
  .homepage-review-proof-visual {
    margin: 18px auto 14px;
  }
  .homepage-review-proof-figure img {
    border-radius: 18px;
  }
  .homepage-review-proof-figure figcaption {
    font-size: .78rem;
    line-height: 1.42;
  }
}


/* =========================================================
   v124 Homepage split Google + UrbanPro review proof section
   Premium horizontal source panels with crawlable review text.
   ========================================================= */
.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;
}

.homepage-review-proof-visual,
.home-google-proof-panel {
  display: none !important;
}

.home-reviews-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(70,184,173,.06), transparent 28%),
    linear-gradient(180deg, #061819 0%, #071112 100%);
  color: var(--text-light);
  padding: 44px 0 52px;
}

.home-review-proof-panel {
  position: relative;
  overflow: hidden;
  width: min(100%, 1160px);
  margin: 0 auto;
  padding: 18px 12px 16px;
  border: 1px solid rgba(242,185,59,.36);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 0%, rgba(242,185,59,.12), transparent 34%),
    radial-gradient(circle at 82% 6%, rgba(70,184,173,.13), transparent 32%),
    linear-gradient(135deg, rgba(3,22,23,.99), rgba(3,43,44,.94) 48%, rgba(4,19,20,.99));
  box-shadow: 0 24px 58px rgba(0,0,0,.30);
  isolation: isolate;
}

.home-review-proof-panel::before,
.home-review-proof-panel::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(242,185,59,.22);
  border-radius: 50%;
  opacity: .52;
}

.home-review-proof-panel::before {
  top: -165px;
  left: -120px;
  box-shadow: 0 0 36px rgba(242,185,59,.08);
}

.home-review-proof-panel::after {
  right: -135px;
  bottom: -165px;
  box-shadow: 0 0 42px rgba(242,185,59,.10);
}

.home-review-proof-header {
  max-width: 760px;
  margin: 0 auto 14px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 7px;
}

.home-review-proof-kicker,
.review-source-kicker {
  margin: 0;
  color: var(--gold);
  font-size: .70rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.home-review-proof-header h3 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.52rem, 6vw, 2.35rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 900;
  text-shadow: 0 10px 24px rgba(0,0,0,.38);
}

.home-review-proof-lead {
  max-width: 680px;
  margin: 0;
  color: rgba(248,244,236,.82);
  font-size: .84rem;
  line-height: 1.46;
}

.home-review-source-grid {
  display: grid;
  gap: 14px;
}

.review-source-panel {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 15px 12px 14px;
  border-radius: 22px;
  border: 1px solid rgba(242,185,59,.34);
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.10), transparent 36%),
    linear-gradient(180deg, rgba(5,31,32,.78), rgba(5,20,21,.88));
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
}

.review-source-head {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 7px;
}

.review-source-head h4 {
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.18rem, 5vw, 1.58rem);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 900;
}

.review-source-head p:not(.review-source-kicker) {
  max-width: 42ch;
  margin: 0;
  color: rgba(248,244,236,.78);
  font-size: .78rem;
  line-height: 1.42;
}

.review-source-rating {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 2px;
}

.rating-stars {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--gold);
  font-size: clamp(1.22rem, 6vw, 1.72rem);
  line-height: 1;
  text-shadow: 0 8px 18px rgba(0,0,0,.32);
}

.rating-stars .star-partial {
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.rating-stars .star-partial-80 {
  background-image: linear-gradient(90deg, var(--gold) 80%, rgba(248,244,236,.36) 80%);
}

.rating-stars .star-partial-90 {
  background-image: linear-gradient(90deg, var(--gold) 90%, rgba(248,244,236,.36) 90%);
}

.rating-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 6px 16px;
  border: 1px solid rgba(242,185,59,.60);
  border-radius: 999px;
  color: #ffd978;
  background: rgba(3,18,19,.72);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .02em;
  white-space: nowrap;
}

.review-source-slider {
  width: 100%;
  min-width: 0;
}

.review-source-slider .homepage-review-wall {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: none;
  grid-auto-columns: minmax(248px, 84%);
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 8px;
  margin: 0;
  max-width: none;
}

.review-source-slider .homepage-review-wall::-webkit-scrollbar {
  display: none;
}

.review-source-slider .homepage-review-card {
  scroll-snap-align: center;
  min-height: 154px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 18px;
  border: 1px solid rgba(242,185,59,.36);
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.10), transparent 36%),
    linear-gradient(180deg, rgba(5,31,32,.92), rgba(5,20,21,.94));
  box-shadow: 0 15px 28px rgba(0,0,0,.22);
}

.review-source-slider .homepage-review-stars {
  color: var(--gold);
  font-size: .58rem;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.review-source-slider .homepage-review-card p {
  max-width: 34ch;
  margin: 0;
  color: rgba(248,244,236,.90);
  font-size: .80rem;
  line-height: 1.42;
}

.review-source-slider .homepage-review-card strong {
  color: #fff8ea;
  font-size: .84rem;
}

.review-source-slider .review-slider-controls {
  margin-top: 10px;
}

.review-source-button {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.64);
  background: linear-gradient(135deg, rgba(242,185,59,.95), rgba(255,217,120,.92));
  color: #161006;
  font-size: .78rem;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(242,185,59,.16);
}

.review-source-button:focus-visible {
  outline: 3px solid rgba(242,185,59,.60);
  outline-offset: 4px;
}

@media (min-width: 760px) {
  .home-review-proof-panel {
    margin-top: 0;
    padding: 22px 18px 20px;
    border-radius: 28px;
  }

  .home-review-proof-header {
    margin-bottom: 16px;
  }

  .home-review-proof-lead {
    font-size: .94rem;
  }

  .home-review-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
  }

  .review-source-panel {
    padding: 18px 14px 16px;
  }

  .review-source-head p:not(.review-source-kicker) {
    min-height: 45px;
    font-size: .80rem;
  }

  .review-source-slider .homepage-review-wall {
    grid-auto-columns: minmax(238px, calc((100% - 12px) / 2));
    gap: 12px;
  }

  .review-source-slider .homepage-review-card {
    min-height: 166px;
    padding: 15px 13px;
  }

  .review-source-slider .homepage-review-card p {
    font-size: .82rem;
  }
}

@media (min-width: 1040px) {
  .home-review-proof-panel {
    min-height: 360px;
    padding: 24px 24px 22px;
  }

  .home-review-proof-header h3 {
    font-size: 2.55rem;
  }

  .home-review-source-grid {
    gap: 18px;
  }

  .review-source-panel {
    padding: 19px 16px 17px;
  }

  .review-source-slider .homepage-review-wall {
    grid-auto-columns: minmax(244px, calc((100% - 12px) / 2));
  }

  .review-source-slider .homepage-review-card {
    min-height: 158px;
  }
}

@media (max-width: 640px) {
  .home-review-proof-panel {
    width: min(100%, 94vw);
    margin-top: 0;
    padding: 16px 10px 14px;
    border-radius: 22px;
  }

  .home-review-proof-lead {
    max-width: 34ch;
    font-size: .80rem;
  }

  .home-review-source-grid {
    gap: 12px;
  }

  .review-source-panel {
    padding: 14px 10px 13px;
  }

  .rating-stars {
    gap: 5px;
  }

  .rating-pill {
    min-height: 30px;
    padding: 6px 14px;
    font-size: .76rem;
  }

  .review-source-slider .homepage-review-wall {
    grid-auto-columns: minmax(240px, 84%);
    gap: 10px;
  }

  .review-source-slider .homepage-review-card {
    min-height: 152px;
  }
}


/* v149 course-page review proof update: combined Google + UrbanPro + Trustpilot count. */
.premium-training-page .training-review-proof-line{
  max-width: 760px;
  margin: 12px auto 0;
  color: rgba(248,244,236,.76);
  font-size: .95rem;
  line-height: 1.5;
  text-align: center;
}
.premium-training-page .training-review-source-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.premium-training-page .training-review-card .training-stars{
  font-size: .78rem;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .06em;
}
@media (max-width: 520px){
  .premium-training-page .training-review-proof-line{
    font-size: .82rem;
    max-width: 32ch;
  }
  .premium-training-page .training-review-source-links{
    gap: 8px;
  }
  .premium-training-page .training-review-source-links .review-source-button{
    width: min(100%, 230px);
  }
}


/* v151 site-wide alignment cleanup: center only section heads, cards, review/testimonial systems, and slider controls. */
main :where(
  .training-section-head,
  .section-head,
  .testimonials-head,
  .home-review-proof-header,
  .review-source-head,
  .coursehub-v125-head,
  .coursehub-v133-proof-head,
  .gallery-section-head,
  .fees-section-head,
  .contact-section-head
){
  text-align:center !important;
  justify-items:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

main :where(
  .training-section-head > *,
  .section-head > *,
  .testimonials-head > *,
  .home-review-proof-header > *,
  .review-source-head > *,
  .coursehub-v125-head > *,
  .coursehub-v133-proof-head > *,
  .gallery-section-head > *,
  .fees-section-head > *
){
  margin-left:auto !important;
  margin-right:auto !important;
}

main :where(
  .training-card,
  .training-mini-card,
  .training-review-card,
  .homepage-review-card,
  .fees-review-card,
  .comm-breakdown-card,
  .coursehub-v125-card,
  .coursehub-v130-award,
  .coursehub-v133-proof-item,
  .review-source-panel,
  .testimonial-copy,
  .media-transcript,
  .gallery-proof-card,
  .contact-option-card
){
  text-align:center !important;
  justify-items:center !important;
}

main :where(
  .training-card h3,
  .training-card p,
  .training-mini-card h3,
  .training-mini-card p,
  .training-review-card p,
  .training-review-card strong,
  .homepage-review-card p,
  .homepage-review-card strong,
  .fees-review-card p,
  .fees-review-card strong,
  .comm-breakdown-card h3,
  .comm-breakdown-card p,
  .coursehub-v125-card h3,
  .coursehub-v125-card p,
  .coursehub-v125-body,
  .coursehub-v125-best,
  .coursehub-v127-breakdown,
  .coursehub-v133-proof-item strong,
  .coursehub-v133-proof-item span,
  .review-source-panel p,
  .testimonial-copy h3,
  .testimonial-copy p,
  .media-transcript summary,
  .media-transcript p
){
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

main :where(
  .training-card .btn,
  .coursehub-v125-card .btn,
  .contact-option-card .btn,
  .review-source-button,
  .training-review-source-links,
  .training-slider-dots,
  .review-slider-controls
){
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

main :where(.training-slider, .review-slider, .homepage-review-slider, .review-source-slider){
  text-align:center !important;
}

main :where(.js-review-track, .training-slider-track, .homepage-review-wall){
  scroll-padding-inline:clamp(14px,4vw,28px);
}

@media (max-width: 760px){
  main :where(.training-process-card){
    text-align:center !important;
    justify-items:center !important;
  }
  main :where(.training-process-card h3, .training-process-card p){
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* =========================================================
   v152 Mobile process-card center alignment audit fix
   Scope: all premium training pages EXCEPT approved Spoken English page.
   Fixes Diagnose / Personalize / Correct / Practice mobile cards.
   ========================================================= */
@media (max-width: 759px) {
  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-card {
    width: 100% !important;
    min-height: 158px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
    row-gap: 9px !important;
    padding: 22px 18px !important;
    border-radius: 24px !important;
  }

  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-card .training-process-number,
  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-card > span {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 auto !important;
    display: grid !important;
    place-items: center !important;
    font-size: 1.12rem !important;
    line-height: 1 !important;
  }

  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-card h3 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    min-height: 0 !important;
    font-size: 1.12rem !important;
    line-height: 1.1 !important;
    text-align: center !important;
    justify-self: center !important;
    align-self: center !important;
  }

  body.premium-training-page:not(.online-spoken-page):not(.institutions-b2b-page) .training-process-card p {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    max-width: 25ch !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    display: block !important;
    font-size: .88rem !important;
    line-height: 1.34 !important;
    text-align: center !important;
    justify-self: center !important;
    color: rgba(248,244,236,.76) !important;
    text-wrap: balance !important;
  }
}

/* v154 Soft Skills page only: rebuild problem cards from v152 base and fix mobile card rhythm without touching hero/global pages. */
.soft-skills-page .soft-breakdown-section .training-section-head{
  max-width:780px;
  margin-inline:auto;
  text-align:center;
}
.soft-skills-page .soft-breakdown-lead{
  max-width:720px;
  margin:12px auto 0;
  color:rgba(248,244,236,.78);
  font-size:.98rem;
  line-height:1.58;
  text-align:center;
}
.soft-skills-page .soft-breakdown-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:26px;
}
.soft-skills-page .soft-breakdown-card{
  min-height:292px;
  display:grid;
  grid-template-rows:64px 4.9em 6.8em;
  align-items:center;
  justify-items:center;
  gap:12px;
  padding:24px 15px 22px;
  text-align:center;
  border:1px solid rgba(242,185,59,.34);
  border-radius:24px;
  background:radial-gradient(circle at 50% 0%,rgba(242,185,59,.12),transparent 38%),linear-gradient(145deg,rgba(7,63,66,.72),rgba(3,16,17,.98));
  box-shadow:0 20px 46px rgba(0,0,0,.24);
}
.soft-skills-page .soft-breakdown-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:999px;
  color:var(--gold);
  background:radial-gradient(circle at 34% 24%,rgba(255,216,120,.14),rgba(9,73,68,.92) 46%,rgba(4,37,35,.98) 100%);
  border:1px solid rgba(242,185,59,.38);
  box-shadow:inset 0 0 22px rgba(255,216,120,.10),0 14px 26px rgba(0,0,0,.20);
}
.soft-skills-page .soft-breakdown-icon svg,
.soft-skills-page .soft-breakdown-icon img{
  width:29px;
  height:29px;
  display:block;
  object-fit:contain;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.soft-skills-page .soft-breakdown-card h3,
.soft-skills-page .soft-breakdown-card p{
  display:grid;
  place-items:center;
  margin:0;
  text-align:center;
}
.soft-skills-page .soft-breakdown-card h3{
  color:#fff8ea;
  font-size:1.02rem;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:900;
}
.soft-skills-page .soft-breakdown-card p{
  color:rgba(248,244,236,.79);
  font-size:.84rem;
  line-height:1.34;
  font-weight:500;
}
.soft-skills-page .soft-breakdown-card h3 span,
.soft-skills-page .soft-breakdown-card p span{
  display:block;
}
@media (max-width:980px){
  .soft-skills-page .soft-breakdown-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .soft-skills-page .soft-breakdown-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .soft-skills-page .soft-breakdown-card{
    min-height:276px;
    grid-template-rows:58px 5.05em 6.45em;
    gap:10px;
    padding:18px 9px 17px;
    border-radius:22px;
  }
  .soft-skills-page .soft-breakdown-icon{
    width:52px;
    height:52px;
    border-radius:999px;
  }
  .soft-skills-page .soft-breakdown-icon svg,
  .soft-skills-page .soft-breakdown-icon img{
    width:26px;
    height:26px;
  }
  .soft-skills-page .soft-breakdown-card h3{
    font-size:.91rem;
    line-height:1.18;
  }
  .soft-skills-page .soft-breakdown-card p{
    font-size:.75rem;
    line-height:1.35;
  }
}
@media (max-width:380px){
  .soft-skills-page .soft-breakdown-grid{
    gap:10px;
  }
  .soft-skills-page .soft-breakdown-card{
    min-height:266px;
    padding:16px 8px;
  }
  .soft-skills-page .soft-breakdown-card h3{
    font-size:.86rem;
  }
  .soft-skills-page .soft-breakdown-card p{
    font-size:.71rem;
  }
}

/* v155 Soft Skills page proper rebuild: scoped problem cards, process, reviews. */
.soft-skills-page .soft-breakdown-section .training-section-head,
.soft-skills-page .soft-improve-section .training-section-head,
.soft-skills-page .soft-process-section .training-section-head,
.soft-skills-page .soft-review-section .training-section-head{
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
  justify-items: center;
}
.soft-skills-page .soft-breakdown-lead{
  max-width: 680px;
  margin: 12px auto 0;
  color: rgba(248,244,236,.78);
  font-size: .98rem;
  line-height: 1.55;
  text-align: center;
}
.soft-skills-page .soft-breakdown-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.soft-skills-page .soft-breakdown-card{
  min-height:292px;
  display:grid;
  grid-template-rows:64px 4.65em 6.7em;
  align-items:center;
  justify-items:center;
  gap:12px;
  padding:24px 15px 22px;
  text-align:center;
  border:1px solid rgba(242,185,59,.34);
  border-radius:24px;
  background:radial-gradient(circle at 50% 0%,rgba(242,185,59,.12),transparent 38%),linear-gradient(145deg,rgba(7,63,66,.74),rgba(3,16,17,.98));
  box-shadow:0 20px 46px rgba(0,0,0,.24);
}
.soft-skills-page .soft-breakdown-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:999px;
  color:var(--gold);
  background:radial-gradient(circle at 34% 24%,rgba(255,216,120,.14),rgba(9,73,68,.92) 46%,rgba(4,37,35,.98) 100%);
  border:1px solid rgba(242,185,59,.38);
  box-shadow:inset 0 0 22px rgba(255,216,120,.10),0 14px 26px rgba(0,0,0,.20);
}
.soft-skills-page .soft-breakdown-icon svg,
.soft-skills-page .soft-breakdown-icon img{
  width:29px;
  height:29px;
  display:block;
  object-fit:contain;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.soft-skills-page .soft-breakdown-card h3,
.soft-skills-page .soft-breakdown-card p{
  display:grid;
  place-items:center;
  margin:0;
  text-align:center;
}
.soft-skills-page .soft-breakdown-card h3{
  color:#fff8ea;
  font-size:1.02rem;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:900;
}
.soft-skills-page .soft-breakdown-card p{
  color:rgba(248,244,236,.79);
  font-size:.84rem;
  line-height:1.34;
  font-weight:500;
}
.soft-skills-page .soft-breakdown-card h3 span,
.soft-skills-page .soft-breakdown-card p span{display:block;}
.soft-skills-page .soft-improve-grid .training-mini-card{
  min-height:176px;
  display:grid;
  grid-template-rows:50px 2.5em 4.1em;
  gap:10px;
  align-items:center;
  justify-items:center;
}
.soft-skills-page .soft-improve-grid .training-mini-card h3,
.soft-skills-page .soft-improve-grid .training-mini-card p{
  text-align:center;
  margin-inline:auto;
}
.soft-skills-page .soft-process-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.soft-skills-page .soft-process-grid .training-process-card{
  text-align:center;
  justify-items:center;
}
.soft-skills-page .soft-process-grid .training-process-card h3,
.soft-skills-page .soft-process-grid .training-process-card p{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.soft-skills-page .soft-review-section .training-review-slider{
  max-width:1160px;
  margin-inline:auto;
  overflow:hidden;
}
.soft-skills-page .soft-review-section .training-slider-track{
  width:100%;
  padding:4px 0 12px;
  scroll-padding-inline:0;
  gap:16px;
}
.soft-skills-page .soft-review-section .training-review-card{
  scroll-snap-align:start;
  min-height:230px;
}
.soft-skills-page .soft-review-section .training-review-card .training-stars{
  color:var(--gold);
  letter-spacing:.06em;
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:900;
}
.soft-skills-page .soft-review-section .training-review-card p{
  max-width:46ch;
}
@media (min-width:960px){
  .soft-skills-page .soft-review-section .training-slider-track{
    grid-auto-columns:minmax(300px,calc((100% - 32px)/3));
  }
}
@media (max-width:980px){
  .soft-skills-page .soft-breakdown-grid,
  .soft-skills-page .soft-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .soft-skills-page .soft-breakdown-section .training-premium-panel{
    padding-left:18px;
    padding-right:18px;
  }
  .soft-skills-page .soft-breakdown-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .soft-skills-page .soft-breakdown-card{
    min-height:272px;
    grid-template-rows:58px 4.85em 6.45em;
    gap:10px;
    padding:18px 9px 17px;
    border-radius:22px;
  }
  .soft-skills-page .soft-breakdown-icon{
    width:52px;
    height:52px;
    border-radius:999px;
  }
  .soft-skills-page .soft-breakdown-icon svg,
  .soft-skills-page .soft-breakdown-icon img{
    width:26px;
    height:26px;
  }
  .soft-skills-page .soft-breakdown-card h3{
    font-size:.89rem;
    line-height:1.18;
  }
  .soft-skills-page .soft-breakdown-card p{
    font-size:.73rem;
    line-height:1.35;
  }
  .soft-skills-page .soft-improve-grid .training-mini-card{
    min-height:158px;
    grid-template-rows:48px 2.4em 3.8em;
  }
  .soft-skills-page .soft-process-grid{
    grid-template-columns:1fr;
  }
  .soft-skills-page .soft-process-grid .training-process-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:22px 18px;
    text-align:center;
  }
  .soft-skills-page .soft-process-grid .training-process-number{margin:0 auto;}
  .soft-skills-page .soft-process-grid .training-process-card h3{margin:0;text-align:center;}
  .soft-skills-page .soft-process-grid .training-process-card p{
    margin:0 auto;
    max-width:27ch;
    text-align:center;
  }
  .soft-skills-page .soft-review-section .training-slider-track{
    grid-auto-columns:minmax(260px,88%);
    padding-left:0;
    padding-right:0;
  }
}
@media (max-width:380px){
  .soft-skills-page .soft-breakdown-grid{gap:10px;}
  .soft-skills-page .soft-breakdown-card{
    min-height:264px;
    padding:16px 8px;
  }
  .soft-skills-page .soft-breakdown-card h3{font-size:.84rem;}
  .soft-skills-page .soft-breakdown-card p{font-size:.70rem;}
}


/* v157 accessibility, form, trust, performance pass */
.contact-form-shell {
  display: grid;
  gap: 22px;
  padding: 24px;
  border: 1px solid rgba(242,185,59,.28);
  border-radius: 26px;
  background: radial-gradient(circle at 88% 12%, rgba(242,185,59,.10), transparent 30%), rgba(5,24,25,.92);
  box-shadow: 0 20px 54px rgba(0,0,0,.24);
}
.contact-form-copy p,
.contact-form-note,
.contact-field-group small {
  color: rgba(255,248,234,.84);
}
.contact-form-assurance {
  margin: 16px 0 0;
  padding-left: 20px;
  color: rgba(255,248,234,.88);
  line-height: 1.65;
}
.contact-inline-form {
  display: grid;
  gap: 16px;
}
.contact-field-group {
  display: grid;
  gap: 7px;
}
.contact-field-group label {
  font-weight: 850;
  color: #fff8ea;
}
.contact-field-group input,
.contact-field-group textarea {
  width: 100%;
  border: 1px solid rgba(242,185,59,.38);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  color: #fff8ea;
  padding: 13px 14px;
  font: inherit;
  line-height: 1.45;
}
.contact-field-group textarea {
  resize: vertical;
  min-height: 150px;
}
.contact-field-group input::placeholder,
.contact-field-group textarea::placeholder {
  color: rgba(255,248,234,.62);
}
.contact-field-group input:focus-visible,
.contact-field-group textarea:focus-visible {
  border-color: #f2b93b;
  box-shadow: 0 0 0 4px rgba(242,185,59,.18);
}
.contact-form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contact-form-submit {
  width: fit-content;
}
.institutions-b2b-page .institutional-problems-section .training-card-grid-six {
  align-items: stretch;
}
.institutions-b2b-page .institutional-problems-section .training-mini-card {
  align-content: center;
  min-height: 176px;
}
.institutions-b2b-page .institutional-problems-section .training-mini-card h3 {
  max-width: 13ch;
  min-height: 2.16em;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 1rem;
  line-height: 1.08;
}
.institutions-b2b-page .institutional-problems-section .training-mini-card h3 span,
.institutions-b2b-page .institutional-problems-section .training-mini-card p span {
  display: block;
}
.institutions-b2b-page .institutional-problems-section .training-mini-card p {
  max-width: 22ch;
  min-height: 4.08em;
  font-size: .84rem;
  line-height: 1.36;
}

.institutions-b2b-page .institutions-program-section .training-card-grid-six {
  align-items: stretch;
}
.institutions-b2b-page .institutions-program-section .training-mini-card {
  align-content: center;
  min-height: 176px;
  background:
    radial-gradient(circle at 50% 0%, rgba(242,185,59,.08), transparent 38%),
    radial-gradient(circle at 12% 18%, rgba(18,198,189,.10), transparent 42%),
    linear-gradient(180deg, rgba(12,59,56,.74), rgba(6,24,24,.94));
  border-color: rgba(242,185,59,.36);
}
.institutions-b2b-page .institutions-program-section .training-mini-card h3 {
  max-width: 14ch;
  min-height: 2.16em;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 1rem;
  line-height: 1.08;
}
.institutions-b2b-page .institutions-program-section .training-mini-card h3 span,
.institutions-b2b-page .institutions-program-section .training-mini-card p span {
  display: block;
}
.institutions-b2b-page .institutions-program-section .training-mini-card p {
  max-width: 20ch;
  min-height: 4.08em;
  font-size: .84rem;
  line-height: 1.36;
}

@media (min-width: 780px) {
  .contact-form-shell {
    grid-template-columns: .9fr 1.1fr;
    align-items: start;
    padding: 32px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-review-track,
  .training-slider-track,
  .homepage-review-wall,
  .gallery-stories-track {
    scroll-behavior: auto !important;
  }
}


/* =========================================================
   v159 final card rhythm/cache-bump layer
   Scope: visual rhythm only. No layout rebuilds, no CTA/copy changes.
   Purpose: make card headers, supporting text, and CTA placement feel
   consistent across approved site sections.
   ========================================================= */
main :is(
  .course-card,
  .coursehub-v125-card,
  .training-card,
  .training-mini-card,
  .fees-plan-card,
  .fees-review-card,
  .training-review-card,
  .contact-option-card
) {
  display: flex;
  flex-direction: column;
}

main :is(
  .course-card,
  .coursehub-v125-card,
  .training-card,
  .training-mini-card,
  .fees-plan-card,
  .fees-review-card,
  .training-review-card,
  .contact-option-card,
  .soft-breakdown-card
) :is(h3, h4, strong) {
  line-height: 1.18;
  letter-spacing: -.02em;
  text-wrap: balance;
}

main :is(
  .coursehub-v125-card,
  .training-card,
  .training-mini-card,
  .fees-plan-card,
  .fees-review-card,
  .training-review-card,
  .contact-option-card,
  .soft-breakdown-card
) :is(p, small, .coursehub-v125-breakdown, .coursehub-v125-body, .coursehub-v125-best) {
  line-height: 1.58;
  text-wrap: balance;
}

main :is(
  .course-card,
  .coursehub-v125-card,
  .training-card,
  .training-mini-card,
  .fees-plan-card,
  .fees-review-card,
  .training-review-card,
  .contact-option-card
) :is(.btn, .course-link, .fees-detail-button) {
  margin-top: auto;
}

@media (min-width: 760px) {
  main :is(
    .course-card,
    .coursehub-v125-card,
    .training-card,
    .training-mini-card,
    .fees-plan-card,
    .fees-review-card,
    .training-review-card,
      .contact-option-card
  ) > :is(h3, h4, strong),
  main :is(.gallery-story-copy) > h3 {
    min-height: 2.36em;
  }

  main :is(.course-card) > ul {
    min-height: 4.65em;
  }

  main :is(.coursehub-v125-card) > .coursehub-v127-breakdown {
    min-height: 3.12em;
  }

  main :is(.coursehub-v125-card) > .coursehub-v125-body {
    min-height: 6.32em;
  }

  main :is(.coursehub-v125-card) > .coursehub-v125-best {
    min-height: 2.96em;
  }

  main :is(
    .training-card,
    .training-mini-card,
    .fees-plan-card,
      .contact-option-card
  ) > p {
    min-height: 4.74em;
  }

  main :is(.fees-review-card, .training-review-card) > p {
    min-height: 6.32em;
  }

  main :is(.gallery-story-copy) > p {
    min-height: 3.16em;
  }

  main :is(.gallery-story-copy) > small {
    min-height: 4.56em;
  }
}

@media (max-width: 759px) {
  main :is(
    .course-card,
    .coursehub-v125-card,
    .training-card,
    .training-mini-card,
    .fees-plan-card,
    .fees-review-card,
    .training-review-card,
      .contact-option-card,
    .soft-breakdown-card
  ) :is(h3, h4, strong, p, small) {
    text-wrap: balance;
  }
}


/* v160 homepage final-touch cleanup: hero emphasis, testimonial height, separate review section, and gold CTA button styling. */

.mobile-heading-break,
.mobile-card-break { display: none; }

/* =========================================================
   v162 Institutions visual hierarchy polish
   Scope: institutions page only. Clean card rhythm and grouped proof formatting.
   ========================================================= */
.institutions-b2b-page .training-card {
  text-align: center;
  justify-items: center;
  align-items: center;
}
.institutions-b2b-page .training-card h3 {
  max-width: 13ch;
  margin-inline: auto;
  text-align: center;
}
.institutions-b2b-page .training-card p {
  max-width: 24ch;
  margin-inline: auto;
  text-align: center;
}
.institutions-b2b-page .training-card-grid-four .training-card p {
  max-width: 25ch;
}
.institutions-b2b-page .training-card-grid-six .training-card p {
  max-width: 23ch;
}
@media (max-width: 759px) {
  .institutions-b2b-page .training-section-head h2 {
    max-width: 12.5ch;
    margin-inline: auto;
  }
  .institutions-b2b-page #institutional-problems-title {
    max-width: 20ch;
    font-size: clamp(1.85rem, 7.6vw, 2.28rem);
    line-height: 1.04;
  }
  .institutions-b2b-page #who-we-train-title {
    max-width: 16.8ch;
    font-size: clamp(2rem, 8.2vw, 2.55rem);
    line-height: 1.04;
  }
  .institutions-b2b-page #who-we-train-title .mobile-heading-break,
  .institutions-b2b-page .training-card-grid-four .training-card:nth-child(4) h3 .mobile-card-break {
    display: block;
  }
  .institutions-b2b-page .training-card {
    min-height: 238px;
    padding: 17px 12px;
  }
  .institutions-b2b-page .training-card-icon {
    margin-bottom: 10px;
  }
  .institutions-b2b-page .training-card h3 {
    min-height: 2.35em;
    font-size: 1rem;
    line-height: 1.08;
    text-wrap: balance;
  }
  .institutions-b2b-page .training-card-grid-four .training-card:nth-child(4) h3 {
    font-size: .94rem;
    max-width: 12ch;
  }
  .institutions-b2b-page .training-card p {
    min-height: 4.5em;
    font-size: .82rem;
    line-height: 1.5;
    text-wrap: balance;
  }
  .institutions-b2b-page .training-card-grid-four .training-card p {
    max-width: 21ch;
  }
  .institutions-b2b-page .institutional-problems-section .training-mini-card {
    min-height: 238px;
    padding: 18px 12px;
  }
  .institutions-b2b-page .institutional-problems-section .training-mini-card h3 {
    max-width: 12.5ch;
    min-height: 2.2em;
    font-size: .98rem;
    line-height: 1.08;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .institutions-b2b-page .institutional-problems-section .training-mini-card p {
    max-width: 20ch;
    min-height: 4.6em;
    font-size: .8rem;
    line-height: 1.45;
  }
  .institutions-b2b-page .institutions-program-section .training-mini-card {
    min-height: 238px;
    padding: 18px 12px;
  }
  .institutions-b2b-page .institutions-program-section .training-mini-card h3 {
    max-width: 13.5ch;
    min-height: 2.2em;
    font-size: .98rem;
    line-height: 1.08;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .institutions-b2b-page .institutions-program-section .training-mini-card p {
    max-width: 20ch;
    min-height: 4.6em;
    font-size: .8rem;
    line-height: 1.45;
  }
  .institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card {
    min-height: 220px;
    padding: 18px 12px;
  }
  .institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card h3 {
    max-width: 10.8ch;
    min-height: 2.25em;
    font-size: .96rem;
    line-height: 1.08;
  }
  .institutions-b2b-page .institutions-proof-section .institutions-proof-grid .training-card p {
    max-width: 20ch;
    min-height: 4.35em;
    font-size: .8rem;
    line-height: 1.45;
  }
  .institutions-b2b-page .institutions-proof-note p {
    max-width: 31ch;
    font-size: .88rem;
    line-height: 1.5;
  }
}




/* =========================================================
   v175 Arjun Lyngdoh authority page
   Clean NESkills dark-theme authority page and homepage authority strip.
   ========================================================= */
/* =========================================================
   v175 Arjun Lyngdoh authority page
   Scope: arjun-lyngdoh-communication-coach.html only
   ========================================================= */
.arjun-authority-page {
  background: #061011;
  color: var(--text-light, #fff8ea);
}
.arjun-authority-page main {
  overflow: hidden;
}
.authority-hero,
.authority-section,
.authority-framework,
.authority-proof,
.authority-final {
  position: relative;
  color: var(--text-light, #fff8ea);
  background:
    radial-gradient(circle at 16% 8%, rgba(242,185,59,.08), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(70,184,173,.08), transparent 28%),
    linear-gradient(180deg, #061011 0%, #071719 100%);
  border-top: 1px solid rgba(242,185,59,.16);
}
.authority-hero { padding: 54px 0 42px; }
.authority-shell {
  width: min(100% - 28px, 1160px);
  margin-inline: auto;
}
.authority-hero-grid {
  display: grid;
  gap: 22px;
  align-items: center;
  text-align: center;
}
.authority-hero-grid > div,
.authority-identity-card {
  justify-items: center;
  text-align: center;
}
.authority-hero h1,
.authority-lead {
  margin-left: auto;
  margin-right: auto;
}
.authority-actions {
  justify-content: center;
}
.authority-kicker,
.authority-section-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(242,185,59,.45);
  border-radius: 999px;
  background: rgba(242,185,59,.07);
  color: #f2c75b;
  padding: 7px 13px;
  font-size: .74rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.authority-hero h1 {
  max-width: 940px;
  margin: 14px 0 0;
  color: #fff8ea;
  font-size: clamp(2.3rem, 7vw, 5.2rem);
  line-height: .94;
  letter-spacing: -.06em;
  text-wrap: balance;
}
.authority-hero h1 span { color: #f2c75b; }
.authority-lead {
  max-width: 820px;
  margin: 16px 0 0;
  color: rgba(248,244,236,.82);
  font-size: clamp(.99rem, 1.45vw, 1.16rem);
  line-height: 1.55;
  text-wrap: balance;
}
.authority-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.authority-identity-card {
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 10%, rgba(242,185,59,.14), transparent 30%),
    linear-gradient(145deg, rgba(7,45,47,.76), rgba(5,20,22,.96));
  box-shadow: 0 24px 60px rgba(0,0,0,.28);
  padding: 18px;
}
.authority-initials {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, #f2b93b, #ffe08a);
  color: #151007;
  font-size: 1.45rem;
  font-weight: 1000;
  letter-spacing: -.04em;
  box-shadow: 0 18px 34px rgba(242,185,59,.18);
}
.authority-identity-card h2 {
  margin: 16px 0 4px;
  font-size: 1.55rem;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.authority-identity-card p {
  margin: 0;
  color: rgba(248,244,236,.78);
  line-height: 1.45;
  font-size: .95rem;
}
.authority-badge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}
.authority-badge {
  min-height: 82px;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 4px;
  border: 1px solid rgba(242,185,59,.22);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 10px 8px;
}
.authority-badge strong {
  color: #f2c75b;
  font-size: 1.12rem;
  line-height: 1;
}
.authority-badge span {
  color: rgba(248,244,236,.74);
  font-size: .72rem;
  line-height: 1.18;
  font-weight: 800;
}
.authority-section,
.authority-framework,
.authority-proof,
.authority-final {
  padding: 42px 0;
}
.authority-section-head {
  max-width: 820px;
  text-align: center;
  margin: 0 auto 22px;
}
.authority-section-head h2 {
  margin: 10px 0 0;
  font-size: clamp(1.65rem, 5.6vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.authority-section-head p {
  margin: 12px auto 0;
  color: rgba(248,244,236,.76);
  font-size: .98rem;
  line-height: 1.5;
  text-wrap: balance;
}
.authority-two-col {
  display: grid;
  gap: 16px;
  align-items: stretch;
}
.authority-panel,
.authority-card {
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 10%, rgba(242,185,59,.08), transparent 32%),
    rgba(255,255,255,.04);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
  padding: 20px;
  text-align: center;
}
.authority-panel h3,
.authority-card h3 {
  margin: 0 0 10px;
  font-size: 1.22rem;
  line-height: 1.08;
  letter-spacing: -.03em;
}
.authority-panel p,
.authority-card p {
  margin: 0;
  color: rgba(248,244,236,.78);
  font-size: .94rem;
  line-height: 1.52;
}
.authority-list {
  display: grid;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.authority-list li {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: rgba(248,244,236,.82);
  font-size: .94rem;
  line-height: 1.45;
  text-align: center;
}
.authority-list li::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-top: 0;
  border-radius: 999px;
  background: radial-gradient(circle, #f2b93b 0 35%, rgba(242,185,59,.16) 37% 100%);
  border: 1px solid rgba(242,185,59,.38);
}
.a3c3-grid,
.authority-expertise-grid,
.authority-proof-grid {
  display: grid;
  gap: 12px;
}
.a3c3-card {
  min-height: 184px;
  display: grid;
  justify-items: center;
  text-align: center;
  align-content: start;
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 10%, rgba(242,185,59,.10), transparent 30%),
    rgba(255,255,255,.04);
  padding: 18px;
}
.a3c3-card span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: rgba(242,185,59,.12);
  color: #f2c75b;
  font-weight: 1000;
}
.a3c3-card h3 {
  margin: 14px 0 8px;
  color: #fff8ea;
  font-size: 1.12rem;
  letter-spacing: -.025em;
}
.a3c3-card p {
  margin: 0;
  color: rgba(248,244,236,.76);
  font-size: .91rem;
  line-height: 1.48;
}
.authority-expertise-card {
  border: 1px solid rgba(242,185,59,.24);
  border-radius: 22px;
  background:
    radial-gradient(circle at 82% 10%, rgba(70,184,173,.10), transparent 30%),
    linear-gradient(145deg, rgba(7,45,47,.58), rgba(5,20,22,.88));
  color: #fff8ea;
  padding: 18px;
  min-height: 154px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  text-align: center;
}
.authority-expertise-card h3 {
  margin: 0 0 8px;
  font-size: 1.06rem;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.authority-expertise-card p {
  margin: 0;
  color: rgba(248,244,236,.76);
  font-size: .9rem;
  line-height: 1.45;
}
.authority-proof-card {
  min-height: 150px;
  display: grid;
  align-content: center;
  gap: 8px;
  text-align: center;
  border: 1px solid rgba(242,185,59,.26);
  border-radius: 24px;
  background: rgba(255,255,255,.04);
  padding: 18px;
}
.authority-proof-card strong {
  color: #f2c75b;
  font-size: clamp(1.35rem, 4vw, 2.05rem);
  line-height: 1;
}
.authority-proof-card span {
  color: rgba(248,244,236,.80);
  font-size: .85rem;
  line-height: 1.32;
  font-weight: 800;
}
.authority-link-cluster {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.authority-link-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(242,185,59,.30);
  background: rgba(255,255,255,.05);
  color: rgba(248,244,236,.86);
  font-size: .82rem;
  font-weight: 850;
}
.authority-faq {
  display: grid;
  gap: 10px;
  max-width: 900px;
  margin: 0 auto;
}
.authority-faq details {
  border: 1px solid rgba(242,185,59,.23);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 14px 16px;
  text-align: center;
}
.authority-faq summary {
  cursor: pointer;
  color: #fff8ea;
  font-weight: 900;
  line-height: 1.3;
}
.authority-faq p {
  margin: 10px 0 0;
  color: rgba(248,244,236,.76);
  line-height: 1.48;
}
.authority-final {
  text-align: center;
  padding-bottom: 52px;
}
.authority-final h2 {
  margin: 10px auto 0;
  max-width: 840px;
  font-size: clamp(1.9rem, 6.2vw, 4rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.authority-final p {
  max-width: 760px;
  margin: 14px auto 0;
  color: rgba(248,244,236,.78);
  line-height: 1.55;
}
@media (min-width: 720px) {
  .authority-hero-grid { grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 26px; }
  .authority-two-col { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .a3c3-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .authority-expertise-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .authority-proof-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 719px) {
  .authority-actions .btn,
  .authority-final .btn { width: 100%; }
  .authority-badge-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .authority-hero { padding-top: 38px; }
  .authority-section,
  .authority-framework,
  .authority-proof,
  .authority-final { padding: 34px 0; }
}
@media (max-width: 380px) {
  .authority-badge-grid { grid-template-columns: 1fr; }
  .authority-hero h1 { font-size: 2.05rem; }
}

/* Homepage founder authority strip */
.home-founder-authority {
  background:
    radial-gradient(circle at 12% 12%, rgba(242,185,59,.08), transparent 32%),
    radial-gradient(circle at 90% 20%, rgba(70,184,173,.08), transparent 32%),
    linear-gradient(180deg, #071719 0%, #061011 100%);
  color: var(--text-light);
  padding: 34px 0 38px;
  border-top: 1px solid rgba(242,185,59,.14);
  border-bottom: 1px solid rgba(242,185,59,.10);
}
.home-founder-authority-grid {
  display: grid;
  gap: 16px;
  align-items: stretch;
}
.home-founder-authority-copy {
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
}
.home-founder-authority-copy h2 {
  margin: 10px 0 0;
  color: #fff8ea;
  font-size: clamp(1.55rem, 5.4vw, 2.75rem);
  line-height: 1;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.home-founder-authority-copy p {
  margin: 12px auto 0;
  max-width: 780px;
  color: rgba(248,244,236,.78);
  font-size: .94rem;
  line-height: 1.55;
  text-wrap: balance;
}
.home-founder-authority-card {
  display: grid;
  gap: 9px;
  align-content: center;
  text-align: center;
  border: 1px solid rgba(242,185,59,.30);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 12%, rgba(242,185,59,.14), transparent 34%),
    linear-gradient(145deg, rgba(7,45,47,.72), rgba(5,20,22,.96));
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
  padding: 20px 18px;
}
.home-founder-authority-card strong {
  color: #f2c75b;
  font-size: 1.45rem;
  line-height: 1;
  letter-spacing: -.035em;
}
.home-founder-authority-card span {
  color: rgba(248,244,236,.76);
  font-size: .88rem;
  line-height: 1.45;
}
.authority-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  min-height: 38px;
  margin-top: 5px;
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f2b93b 0%, #ffe08a 100%);
  color: #151007;
  font-size: .82rem;
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(242,185,59,.18);
}
@media (min-width: 820px) {
  .home-founder-authority-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
    gap: 22px;
  }
  .home-founder-authority-copy {
    text-align: left;
    margin: 0;
  }
  .home-founder-authority-copy p {
    margin-left: 0;
  }
}

/* =========================================================
   End v174 Arjun Lyngdoh authority page
   ========================================================= */


/* =========================================================
   v180 Full-site visual rhythm and section differentiation
   Source-level section refinements, no !important
   ========================================================= */

.training-card,
.online-card,
.premium-training-page .training-card,
.institutions-b2b-page .training-card,
.authority-card,
.contact-card,
.plan-card {
  text-align: center;
}

.training-card h3,
.online-card h3,
.premium-training-page .training-card h3,
.institutions-b2b-page .training-card h3,
.authority-card h3,
.contact-card h3,
.plan-card h3 {
  text-wrap: balance;
}

.training-card p,
.online-card p,
.premium-training-page .training-card p,
.institutions-b2b-page .training-card p,
.authority-card p,
.contact-card p,
.plan-card p {
  text-wrap: balance;
}

@media (max-width: 760px) {
  .training-card,
  .online-card,
  .premium-training-page .training-card,
  .institutions-b2b-page .training-card,
  .authority-card,
  .contact-card,
  .plan-card {
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
  }

  .training-card img,
  .online-card img,
  .premium-training-page .training-card img,
  .institutions-b2b-page .training-card img,
  .authority-card img,
  .contact-card img,
  .plan-card img {
    margin-inline: auto;
  }
}

/* Subtle section-level color differentiation within the NESkills dark theme */
.home-authority-strip,
.authority-proof-section,
.institutions-proof-section {
  background:
    radial-gradient(circle at 16% 12%, rgba(222,187,67,.09), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(18,198,189,.08), transparent 24%),
    linear-gradient(135deg, rgba(10,44,42,.78), rgba(7,19,20,.96));
}

.gallery-practice-section,
.online-spoken-page .online-improvements,
.premium-training-page .training-outcomes {
  background:
    radial-gradient(circle at 10% 4%, rgba(18,198,189,.09), transparent 26%),
    radial-gradient(circle at 90% 8%, rgba(222,187,67,.075), transparent 26%),
    linear-gradient(180deg, #061617 0%, #071112 100%);
}

.institutions-b2b-page .institutions-program-section .training-card {
  background:
    radial-gradient(circle at 20% 8%, rgba(222,187,67,.10), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(18,198,189,.10), transparent 24%),
    linear-gradient(145deg, rgba(11,49,45,.78), rgba(6,23,22,.96));
}

.gallery-story-card,
.gallery-practice-card {
  background:
    radial-gradient(circle at 15% 8%, rgba(222,187,67,.11), transparent 30%),
    radial-gradient(circle at 88% 10%, rgba(18,198,189,.11), transparent 26%),
    linear-gradient(145deg, rgba(9,42,43,.80), rgba(7,18,19,.96));
}




/* v190 Online Communication Skills image replacement: scoped clean frames, no global patching. */
body.online-communication-page .comm-premium-hero .comm-hero-image-frame{
  aspect-ratio:4 / 3;
  align-self:center;
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(7,63,66,.64),rgba(3,16,17,.96));
  border:1px solid rgba(242,185,59,.34);
  box-shadow:0 28px 70px rgba(0,0,0,.34);
}
body.online-communication-page .comm-premium-hero .comm-hero-image-frame picture,
body.online-communication-page .comm-premium-hero .comm-hero-image-frame img{
  display:block;
  width:100%;
  height:100%;
}
body.online-communication-page .comm-premium-hero .comm-hero-image-frame img{
  object-fit:cover;
  object-position:center center;
}
@media (min-width:1080px){
  body.online-communication-page .comm-premium-hero .training-hero-shell{
    align-items:center;
  }
  body.online-communication-page .comm-premium-hero .comm-hero-image-frame{
    width:100%;
    max-width:560px;
    justify-self:end;
  }
}
@media (max-width:760px){
  body.online-communication-page .comm-premium-hero .comm-hero-image-frame{
    width:100%;
    border-radius:24px;
    aspect-ratio:4 / 3;
  }
  body.online-communication-page .comm-premium-hero .comm-hero-image-frame img{
    object-position:center center;
  }
}

/* =========================================================
   v196 Online Spoken English mobile-only process card alignment
   Scope: How Training Works section only.
   Mobile layout: number/icon on top, heading below, subtext below.
   ========================================================= */
@media (max-width: 759px) {
  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-card {
    width: 100% !important;
    min-height: 158px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    text-align: center !important;
    justify-items: center !important;
    padding: 22px 18px !important;
    border-radius: 26px !important;
  }

  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-card > span,
  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-card .training-process-number {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    margin: 0 auto !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border-radius: 999px !important;
    font-size: 1.18rem !important;
    line-height: 1 !important;
  }

  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-card h3 {
    width: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    display: block !important;
    align-self: center !important;
    justify-self: center !important;
    text-align: center !important;
    font-size: 1.12rem !important;
    line-height: 1.12 !important;
  }

  body.online-spoken-page.premium-training-page .spoken-process-section .training-process-card p {
    width: 100% !important;
    max-width: 28ch !important;
    margin: 0 auto !important;
    min-height: 0 !important;
    display: block !important;
    align-self: center !important;
    justify-self: center !important;
    text-align: center !important;
    font-size: .88rem !important;
    line-height: 1.34 !important;
    text-wrap: balance !important;
  }
}


/* =========================================================
   v197 Personality Development hero image replacement
   Scope: personality-development-training.html hero only.
   Keeps the new crawlable hero image in a clean 3:2 frame on desktop and mobile.
   ========================================================= */
.personality-page .personality-premium-hero .training-hero-media {
  aspect-ratio: 3 / 2;
}

.personality-page .personality-premium-hero .training-hero-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.personality-page .personality-premium-hero .training-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 959px) {
  .personality-page .personality-premium-hero .training-hero-media {
    aspect-ratio: 3 / 2;
    max-height: none;
  }
}


/* =========================================================
   v200 Soft Skills hero image replacement
   Scope: soft-skills-training.html hero only.
   Keeps the new crawlable hero image in a clean 3:2 frame on desktop and mobile.
   ========================================================= */
.soft-skills-page .soft-premium-hero .training-hero-media {
  aspect-ratio: 3 / 2;
}

.soft-skills-page .soft-premium-hero .training-hero-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.soft-skills-page .soft-premium-hero .training-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 959px) {
  .soft-skills-page .soft-premium-hero .training-hero-media {
    aspect-ratio: 3 / 2;
    max-height: none;
  }
}
