:root {
  --navy-950: #061a3a;
  --navy-900: #0a2550;
  --navy-800: #14335f;
  --green-700: #087f3d;
  --green-600: #0b934a;
  --green-500: #11a95a;
  --ink: #10264d;
  --muted: #5c6b82;
  --line: #e7ecf2;
  --soft: #f6f9f7;
  --white: #fff;
  --shadow: 0 20px 60px rgba(6, 26, 58, .09);
  --radius: 22px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

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

button,
input {
  font: inherit;
}

.container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

h1,
h2,
h3 {
  font-family: "Poppins", sans-serif;
  margin: 0;
}

p {
  margin: 0;
}

/* NAV */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(10, 37, 80, .07);
}

.nav-wrap {
  height: 78px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

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

.logo-crop {
  position: relative;
  display: block;
  overflow: hidden;
  flex: 0 0 auto;
}

.logo-crop img {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
}

.logo-crop-header {
  width: 115px;
  height: 62px;
}

.logo-crop-header img {
  width: 173px;
  left: -29px;
  top: -59px;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
}

.nav-link {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-900);
  padding: 29px 0;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 19px;
  height: 2px;
  background: var(--green-700);
  transition: right .2s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--green-700);
}

.nav-link:hover::after,
.nav-link.active::after {
  right: 0;
}

.nav-cta,
.mobile-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--green-700);
  color: #fff;
  border-radius: 12px;
  padding: 13px 18px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(8, 127, 61, .18);
  transition: transform .2s ease, background .2s ease;
}

.nav-cta:hover,
.mobile-cta:hover {
  transform: translateY(-2px);
  background: var(--green-600);
}

.nav-cta span,
.mobile-cta span {
  font-size: 17px;
}

.menu-button {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  padding: 9px;
  cursor: pointer;
}

.menu-button span {
  display: block;
  height: 2px;
  background: var(--navy-900);
  margin: 5px 0;
  border-radius: 4px;
}

.mobile-menu {
  display: none;
  border-top: 1px solid var(--line);
  background: #fff;
}

.mobile-menu-inner {
  padding: 12px 0 22px;
  display: grid;
  gap: 2px;
}

.mobile-menu-inner>a:not(.mobile-cta) {
  padding: 13px 4px;
  font-weight: 700;
}

/* HERO */
.hero {
  min-height: 625px;
  position: relative;
  overflow: hidden;
  background: #f5f7f5;
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .98) 31%, rgba(255, 255, 255, .72) 48%, rgba(255, 255, 255, .06) 75%);
}

.hero-glow {
  position: absolute;
  width: 560px;
  height: 560px;
  left: -280px;
  bottom: -380px;
  background: rgba(8, 127, 61, .10);
  border-radius: 50%;
  filter: blur(20px);
}

.hero-inner {
  min-height: 625px;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 0 70px;
}

.hero-copy {
  width: min(620px, 58%);
}

.eyebrow,
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--green-700);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.eyebrow>span:empty {
  display: none;
}

.hero h1 {
  margin-top: 18px;
  font-size: clamp(46px, 5.2vw, 72px);
  line-height: 1.02;
  letter-spacing: -.045em;
  color: var(--navy-900);
}

.hero h1 em {
  display: block;
  color: var(--green-700);
  font-style: normal;
}

.hero-lead {
  max-width: 590px;
  margin-top: 24px;
  color: #465a75;
  font-size: 18px;
  line-height: 1.7;
}

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

.button {
  min-height: 52px;
  padding: 0 20px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  font-weight: 700;
  font-size: 15px;
  transition: .2s ease;
}

.button span {
  font-size: 20px;
  line-height: 1;
}

.button-dark {
  background: var(--navy-950);
  color: #fff;
  box-shadow: 0 10px 25px rgba(6, 26, 58, .15);
}

.button-green {
  background: var(--green-700);
  color: #fff;
  box-shadow: 0 10px 25px rgba(8, 127, 61, .15);
}

.button-dark:hover,
.button-green:hover {
  transform: translateY(-2px);
}

.button-dark:hover {
  background: var(--navy-800);
}

.button-green:hover {
  background: var(--green-600);
}

.community-prompt {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 23px;
}

.prompt-label {
  color: #65748a;
  font-size: 13px;
}

.community-prompt strong {
  color: var(--green-700);
  font-size: 14px;
}

.community-prompt strong span {
  margin-left: 5px;
  font-size: 18px;
}

/* SECTION COMMON */
section {
  scroll-margin-top: 86px;
}

.section-intro {
  margin-bottom: 42px;
}

.section-intro.centered {
  text-align: center;
}

.section-intro h2,
.trust-head h2 {
  margin-top: 9px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.line-nowrap {
  white-space: nowrap;
}

/* AUDIENCE */
.audience-section {
  padding: 88px 0 92px;
  background: var(--navy-950);
  position: relative;
  overflow: hidden;
}

.audience-section::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  left: -260px;
  top: -250px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .018);
  pointer-events: none;
}

.audience-section .section-intro {
  position: relative;
  z-index: 1;
}

.audience-section .section-intro h2 {
  color: #fff;
}

.audience-section .kicker {
  color: #62d795;
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .18);
  position: relative;
  z-index: 1;
}

.audience-card {
  min-height: 215px;
  padding: 27px 26px 24px;
  display: flex;
  flex-direction: column;
  background: #fff;
  transition: background .2s ease, transform .2s ease;
}

.audience-card+.audience-card {
  border-left: 1px solid #dfe6ec;
}

.audience-card:hover {
  background: #f3faf6;
  transform: translateY(-2px);
}

.audience-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eaf7ef;
  color: var(--green-700);
  font-size: 27px;
  font-weight: 700;
}

.audience-card h3 {
  margin-top: 21px;
  font-size: 17px;
  color: var(--navy-900);
}

.audience-card p {
  margin-top: 8px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  max-width: 220px;
}

.arrow {
  margin-top: auto;
  padding-top: 18px;
  color: var(--green-700);
  font-size: 18px;
  font-weight: 700;
}

/* OFFERINGS */
.offerings-section {
  padding: 92px 0 105px;
  background: #fff;
  border-top: 1px solid #e8edf2;
}

.split-intro {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 70px;
  align-items: end;
}

.split-intro>p {
  max-width: 470px;
  justify-self: end;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}

.offering-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.offering-card {
  background: #fff;
  border: 1px solid #e2e8e4;
  border-radius: var(--radius);
  padding: 30px;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 35px rgba(6, 26, 58, .035);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.offering-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: #d7e3dc;
}

.offering-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.offering-top>span {
  font: 700 13px/1 Poppins, sans-serif;
  color: #9aa7b8;
}

.offering-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 27px;
}

.offering-icon.navy {
  background: var(--navy-950);
}

.offering-icon.green {
  background: var(--green-700);
}

.offering-card h3 {
  margin-top: 25px;
  font-size: 22px;
  letter-spacing: -.02em;
  color: var(--navy-900);
}

.offering-tag {
  margin-top: 5px;
  color: var(--green-700);
  font-weight: 700;
  font-size: 14px;
}

.offering-card>p:not(.offering-tag) {
  margin-top: 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.offering-card ul {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.offering-card li {
  position: relative;
  padding-left: 25px;
  color: #263b58;
  font-size: 14px;
}

.offering-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #eaf7ef;
  color: var(--green-700);
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
}

.text-link {
  margin-top: auto;
  padding-top: 28px;
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 800;
}

.text-link span {
  margin-left: 6px;
  font-size: 19px;
  vertical-align: -1px;
  transition: margin .2s ease;
}

.text-link:hover span {
  margin-left: 10px;
}

.green-link {
  color: var(--green-700);
}

.offerings-section .offering-card > .text-link {
  text-shadow: 0 0 8px rgba(24, 172, 82, .22);
  transition: text-shadow .2s ease;
}

.offerings-section .offering-card > .text-link:hover,
.offerings-section .offering-card > .text-link:focus-visible {
  text-shadow: 0 0 12px rgba(24, 172, 82, .48);
}

/* IMPACT */
.impact-section {
  padding: 0 0 92px;
  background: #f4f7fa;
}

.impact-panel {
  border-radius: 28px;
  padding: 45px 48px;
  background: linear-gradient(125deg, #061a3a 0%, #0a2550 72%, #0d3168 100%);
  color: #fff;
  display: grid;
  grid-template-columns: 1.1fr 1.9fr;
  gap: 50px;
  align-items: center;
  box-shadow: 0 24px 65px rgba(6, 26, 58, .17);
  position: relative;
  overflow: hidden;
}

.impact-panel::after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  right: -120px;
  bottom: -190px;
  border-radius: 50%;
  background: rgba(17, 169, 90, .12);
}

.kicker-light {
  color: #63d897;
}

.impact-heading h2 {
  margin-top: 10px;
  font-size: 31px;
  line-height: 1.18;
  letter-spacing: -.03em;
  max-width: 320px;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  z-index: 1;
}

.metric {
  padding: 4px 22px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.metric+.metric {
  border-left: 1px solid rgba(255, 255, 255, .18);
}

.metric strong {
  font: 700 29px/1 Poppins, sans-serif;
  letter-spacing: -.03em;
}

.metric span {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
}

.metric small {
  margin-top: 4px;
  color: #b9c7da;
  font-size: 11px;
  line-height: 1.45;
}

/* TRUST */
.trust-section {
  padding: 0 0 95px;
  background: #f7f9fb;
}

.trust-head {
  text-align: center;
}

.partner-strip {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.partner-logo {
  min-height: 112px;
  margin: 0;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 9px 24px rgba(6, 26, 58, .07);
}

.partner-logo img {
  display: block;
  width: 100%;
  max-width: 205px;
  height: 86px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.trust-section .partner-logo a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

/* CLOSING CTA */
.closing-cta {
  padding: 0 0 92px;
  background: #f7f9fb;
}

.cta-panel {
  background: linear-gradient(135deg, var(--navy-950) 0%, var(--navy-900) 100%);
  color: #fff;
  border-radius: 26px;
  padding: 44px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  position: relative;
  overflow: hidden;
}

.cta-panel::before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  left: -65px;
  bottom: -105px;
  border-radius: 50%;
  background: rgba(17, 169, 90, .14);
}

.cta-panel::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -110px;
  top: -170px;
  border: 55px solid rgba(255, 255, 255, .07);
  border-radius: 50%;
}

.cta-panel h2 {
  margin-top: 8px;
  font-size: 32px;
  letter-spacing: -.03em;
}

.cta-panel p {
  margin-top: 10px;
  max-width: 600px;
  color: rgba(255, 255, 255, .82);
  font-size: 15px;
  line-height: 1.65;
}

.cta-panel-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.button-white {
  background: #fff;
  color: var(--navy-900);
}

.button-outline {
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff;
}

.button-white:hover,
.button-outline:hover {
  transform: translateY(-2px);
}

/* FOOTER */
.footer {
  background: var(--navy-950);
  color: #fff;
}

.footer-grid {
  padding: 42px 0 32px;
  display: grid;
  grid-template-columns: 1.55fr .8fr .8fr .9fr 1.35fr;
  gap: 30px;
  align-items: start;
}

.logo-crop-footer {
  width: 135px;
  height: 72px;
}

.logo-crop-footer img {
  width: 203px;
  left: -34px;
  top: -70px;
}

.logo-white img {
  filter: brightness(0) invert(1);
}

#resources {
  scroll-margin-top: 96px;
}

.footer-brand p {
  margin-top: 12px;
  max-width: 300px;
  color: #b9c6d8;
  font-size: 12px;
  line-height: 1.55;
}

.socials {
  display: flex;
  gap: 7px;
  margin-top: 13px;
}

.socials a {
  width: 29px;
  height: 29px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #c7d2e1;
  font-size: 12px;
  font-weight: 700;
}

.socials a:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.footer h3 {
  font-size: 12px;
  margin-bottom: 12px;
  color: #fff;
}

.footer-grid>div:not(.footer-brand):not(.newsletter)>a {
  display: block;
  color: #b9c6d8;
  font-size: 12px;
  margin: 0 0 8px;
}

.footer-grid>div>a:hover {
  color: #fff;
}

.newsletter p {
  color: #b9c6d8;
  font-size: 12px;
  line-height: 1.5;
}

.newsletter form {
  display: flex;
  margin-top: 11px;
  gap: 7px;
}

.newsletter input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: none;
  border-radius: 9px;
  padding: 12px 13px;
  background: #fff;
  color: var(--navy-950);
  font-size: 12px;
}

.newsletter input:focus-visible {
  outline: 3px solid #72dfa1;
  outline-offset: 2px;
}

.newsletter button {
  border: 0;
  border-radius: 9px;
  padding: 0 15px;
  background: var(--green-700);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.newsletter button:hover {
  background: var(--green-600);
}

.newsletter-message {
  margin-top: 9px;
  color: #72dfa1 !important;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .10);
  padding: 15px 0 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #8292a9;
  font-size: 11px;
}

.footer-bottom b {
  color: #ef5b6c;
}

@media (max-width: 1080px) {
  .desktop-nav {
    gap: 18px;
  }

  .nav-wrap {
    gap: 18px;
  }

  .hero-copy {
    width: 60%;
  }

  .audience-card {
    padding: 24px 20px;
  }

  .offering-card {
    padding: 25px;
  }

  .impact-panel {
    grid-template-columns: 1fr;
  }

  .metrics {
    margin-top: -4px;
  }

  .footer-grid {
    grid-template-columns: 1.4fr repeat(3, .8fr);
  }

  .newsletter {
    grid-column: 1 / -1;
    max-width: 480px;
  }
}

@media (max-width: 820px) {
  .container {
    width: min(100% - 36px, 680px);
  }

  .desktop-nav,
  .nav-cta {
    display: none;
  }

  .menu-button {
    display: block;
  }

  .mobile-menu.open {
    display: block;
  }

  .hero {
    min-height: 700px;
  }

  .hero-inner {
    min-height: 700px;
    padding: 65px 0 48px;
    justify-content: center;
  }

  .hero-image {
    object-position: 68% center;
  }

  .hero-shade {
    background: linear-gradient(90deg, rgba(255, 255, 255, .99) 0%, rgba(255, 255, 255, .93) 62%, rgba(255, 255, 255, .25) 100%);
  }

  .hero-copy {
    width: 100%;
    max-width: 650px;
  }

  .hero h1 {
    font-size: clamp(42px, 8vw, 60px);
  }

  .audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .audience-card:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #dfe6ec;
  }

  .audience-card:nth-child(4) {
    border-top: 1px solid #dfe6ec;
  }

  .split-intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .split-intro>p {
    justify-self: start;
  }

  .offering-grid {
    grid-template-columns: 1fr;
  }

  .offering-card {
    min-height: auto;
  }

  .offering-card ul {
    grid-template-columns: repeat(2, 1fr);
  }

  .partner-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .cta-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .newsletter {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .container {
    width: min(100% - 28px, 500px);
  }

  .logo-crop-header {
    width: 104px;
    height: 56px;
  }

  .logo-crop-header img {
    width: 156px;
    left: -26px;
    top: -53px;
  }

  .hero {
    min-height: 720px;
  }

  .hero-inner {
    min-height: 720px;
    padding-top: 50px;
  }

  .hero-image {
    opacity: .35;
    object-position: 70% center;
  }

  .hero-shade {
    background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .93) 55%, rgba(255, 255, 255, .62) 100%);
  }

  .hero h1 {
    font-size: 43px;
  }

  .hero-lead {
    font-size: 16px;
    line-height: 1.65;
  }

  .hero-actions {
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .audience-section,
  .offerings-section,
  .trust-section {
    padding-top: 68px;
    padding-bottom: 72px;
  }

  .audience-grid {
    grid-template-columns: 1fr;
  }

  .audience-card,
  .audience-card:nth-child(3),
  .audience-card:nth-child(4) {
    border-left: 0;
    border-top: 1px solid #dfe6ec;
    min-height: 175px;
  }

  .audience-card:first-child {
    border-top: 0;
  }

  .offering-card {
    padding: 23px;
    border-radius: 18px;
  }

  .offering-card ul {
    grid-template-columns: 1fr;
  }

  .impact-panel {
    padding: 30px 24px;
    border-radius: 21px;
  }

  .impact-heading h2 {
    font-size: 27px;
  }

  .metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .metric {
    padding: 16px 13px;
    min-height: 105px;
  }

  .metric:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }

  .metric:nth-child(4) {
    border-top: 1px solid rgba(255, 255, 255, .18);
  }

  .partner-logo {
    min-height: 94px;
    padding: 7px 10px;
  }

  .partner-logo img {
    height: 72px;
  }

  .cta-panel {
    padding: 30px 24px;
    border-radius: 20px;
  }

  .cta-panel h2 {
    font-size: 27px;
  }

  .cta-panel-actions {
    width: 100%;
    flex-direction: column;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
    padding-top: 36px;
    padding-bottom: 28px;
  }

  .footer-brand,
  .newsletter {
    grid-column: 1 / -1;
  }

  .newsletter form {
    flex-direction: column;
  }

  .newsletter button {
    min-height: 44px;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

/* ======================================================
   ABOUT PAGE
   ====================================================== */
.about-hero {
  padding: 82px 0 88px;
  background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
  overflow: hidden;
}

.about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  gap: 74px;
  align-items: center;
}

.about-hero-copy {
  max-width: 650px;
}

.about-hero h1 {
  margin-top: 18px;
  font-size: clamp(40px, 4.35vw, 60px);
  line-height: 1.055;
  letter-spacing: -.045em;
  color: var(--navy-950);
}

.about-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.about-hero-lead {
  margin-top: 25px;
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.72;
}

.about-hero-actions {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.about-inline-link {
  font-size: 14px;
}

.about-hero-visual {
  position: relative;
  min-height: 510px;
}

.about-image-frame {
  position: absolute;
  inset: 0 0 0 42px;
  overflow: hidden;
  border-radius: 26px;
  background: var(--soft);
}

.about-image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(6, 26, 58, .14));
}

.about-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 63% center;
  display: block;
}

.since-card {
  position: absolute;
  left: 0;
  bottom: 34px;
  width: 164px;
  padding: 20px 18px;
  border-radius: 18px;
  background: var(--navy-950);
  color: #fff;
  box-shadow: 0 20px 52px rgba(6, 26, 58, .18);
}

.since-card span {
  display: block;
  color: #aebed2;
}

.since-card span {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.since-card strong {
  display: block;
  margin-top: 5px;
  font-family: "Poppins", sans-serif;
  font-size: 38px;
  line-height: 1;
}

.about-intro-section {
  padding: 96px 0;
  background: #fff;
}

.about-intro-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 92px;
  align-items: start;
}

.about-intro-grid h2 {
  margin-top: 13px;
  max-width: 510px;
  font-size: clamp(31px, 3vw, 43px);
  line-height: 1.14;
  letter-spacing: -.035em;
  color: var(--navy-950);
}

.about-intro-copy {
  padding-top: 4px;
}

.about-intro-copy p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.8;
}

.about-intro-copy p+p {
  margin-top: 18px;
}

.footprint-section {
  padding: 94px 0 100px;
  background: var(--navy-950);
  color: #fff;
}

.footprint-heading {
  margin-bottom: 44px;
}

.footprint-heading h2 {
  color: #fff;
}

.footprint-heading>p {
  color: #b7c4d5;
}

.footprint-layout {
  display: grid;
  grid-template-columns: 1.22fr .78fr;
  gap: 36px;
  align-items: stretch;
}

.office-list {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.office-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  padding: 29px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.office-marker {
  color: var(--green-500);
  font-size: 12px;
  font-weight: 700;
  padding-top: 4px;
}

.office-row small {
  color: #90a3bc;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 700;
}

.office-row h3 {
  margin-top: 4px;
  color: #fff;
  font-size: 27px;
}

.office-row p {
  margin-top: 7px;
  max-width: 600px;
  color: #b7c4d5;
  line-height: 1.65;
  font-size: 14px;
}

.compliance-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  color: #dce8f3;
  font-size: 13px;
  line-height: 1.45;
}

.compliance-list li {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.compliance-list li::before {
  content: "✓";
  color: var(--green-500);
  font-weight: 800;
}

.reach-panel {
  padding: 34px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .1);
}

.reach-label {
  color: #8dd9ae;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 700;
}

.reach-regions {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 19px 0 22px;
}

.reach-regions strong {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  font-family: "Poppins", sans-serif;
  font-size: 20px;
}

.reach-panel p {
  color: #b7c4d5;
  font-size: 14px;
  line-height: 1.65;
}

.who-we-work-with {
  padding: 96px 0;
  background: #fff;
}

.work-with-head {
  max-width: 710px;
  margin-bottom: 44px;
}

.work-with-head h2 {
  margin-top: 13px;
  font-size: clamp(31px, 3vw, 43px);
  line-height: 1.14;
  letter-spacing: -.035em;
  color: var(--navy-950);
}

.client-types {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.client-type {
  min-height: 150px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  transition: background .2s ease, transform .2s ease;
}

.client-type:hover {
  background: var(--soft);
}

.client-type span {
  color: var(--green-700);
  font-size: 12px;
  font-weight: 700;
}

.client-type strong {
  max-width: 245px;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  line-height: 1.35;
  color: var(--navy-950);
}

.about-pillars {
  padding: 96px 0 104px;
  background: var(--soft);
}

.about-pillars-head {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.about-pillar-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.about-pillar-grid article {
  padding: 30px 28px 32px;
  background: #fff;
  border-top: 3px solid var(--navy-950);
}

.about-pillar-grid article:nth-child(2) {
  border-top-color: var(--green-700);
}

.pillar-number {
  color: #8c9aab;
  font-size: 12px;
  font-weight: 700;
}

.about-pillar-grid h3 {
  margin-top: 31px;
  color: var(--navy-950);
  font-size: 25px;
}

.about-pillar-grid p {
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.7;
  font-size: 14px;
}

.about-closing {
  padding: 96px 0;
  background: #fff;
}

.about-closing-panel {
  padding: 52px 56px;
  border-radius: 24px;
  background: var(--navy-950);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 44px;
  color: #fff;
}

.about-closing-panel h2 {
  margin-top: 10px;
  max-width: 680px;
  color: #fff;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
  letter-spacing: -.035em;
}

.about-closing-panel p {
  margin-top: 14px;
  max-width: 640px;
  color: #b7c4d5;
  line-height: 1.65;
}

.about-closing-actions {
  display: flex;
  gap: 12px;
  flex: 0 0 auto;
}

@media (max-width: 980px) {
  .about-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 42px;
  }

  .about-hero-visual {
    min-height: 440px;
  }

  .about-intro-grid {
    gap: 50px;
  }

  .footprint-layout {
    grid-template-columns: 1fr;
  }

  .reach-panel {
    max-width: none;
  }

  .client-types {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-closing-panel {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 820px) {
  .about-hero {
    padding: 62px 0 72px;
  }

  .about-hero-grid {
    grid-template-columns: 1fr;
  }

  .about-hero-copy {
    max-width: 680px;
  }

  .about-hero-visual {
    min-height: 430px;
    max-width: 620px;
    width: 100%;
  }

  .about-image-frame {
    left: 30px;
  }

  .about-intro-section,
  .who-we-work-with,
  .about-pillars,
  .about-closing {
    padding-top: 76px;
    padding-bottom: 80px;
  }

  .about-intro-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footprint-section {
    padding: 76px 0 82px;
  }

  .about-pillar-grid {
    grid-template-columns: 1fr;
  }

  .about-pillar-grid article {
    min-height: auto;
  }
}

@media (max-width: 560px) {
  .about-hero {
    padding-top: 48px;
  }

  .about-hero h1 {
    font-size: 37px;
  }

  .about-hero-lead {
    font-size: 16px;
  }

  .about-hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .about-inline-link {
    align-self: flex-start;
  }

  .about-hero-visual {
    min-height: 365px;
  }

  .about-image-frame {
    left: 16px;
    border-radius: 20px;
  }

  .since-card {
    width: 154px;
    padding: 19px;
    bottom: 20px;
    border-radius: 15px;
  }

  .since-card strong {
    font-size: 31px;
  }

  .about-intro-grid h2,
  .work-with-head h2 {
    font-size: 29px;
  }

  .office-row {
    grid-template-columns: 38px 1fr;
    gap: 9px;
  }

  .reach-panel {
    padding: 26px 23px;
  }

  .client-types {
    grid-template-columns: 1fr;
  }

  .client-type {
    min-height: 125px;
  }

  .about-pillar-grid {
    margin-top: 34px;
  }

  .about-closing-panel {
    padding: 31px 24px;
    border-radius: 20px;
  }

  .about-closing-panel h2 {
    font-size: 28px;
  }

  .about-closing-actions {
    width: 100%;
    flex-direction: column;
  }
}


/* =========================================================
   ABOUT PAGE — COMPACT REFINEMENTS
   ========================================================= */

/* Reduce vertical whitespace between About page sections. */
.about-page section {
  padding-top: 64px;
  padding-bottom: 64px;
}

/* If the page does not use .about-page on body/main, these known About sections
   still receive a tighter rhythm through adjacent main sections. */
body:has(.about-hero) main>section,
main:has(.about-hero)>section {
  padding-top: 64px;
  padding-bottom: 64px;
}

/* Compact "Who we work with" pathway tiles. */
.about-page .audience-grid,
.about-page .who-we-work-with-grid,
main:has(.about-hero) .audience-grid,
main:has(.about-hero) .who-we-work-with-grid {
  gap: 12px;
}

.about-page .audience-card,
.about-page .work-with-card,
.about-page .who-card,
main:has(.about-hero) .audience-card,
main:has(.about-hero) .work-with-card,
main:has(.about-hero) .who-card {
  min-height: 0;
  padding: 22px 20px;
}

/* Responsive About spacing */
@media (max-width: 900px) {

  .about-page section,
  body:has(.about-hero) main>section,
  main:has(.about-hero)>section {
    padding-top: 52px;
    padding-bottom: 52px;
  }
}

@media (max-width: 600px) {

  .about-page section,
  body:has(.about-hero) main>section,
  main:has(.about-hero)>section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .about-page .audience-card,
  .about-page .work-with-card,
  .about-page .who-card,
  main:has(.about-hero) .audience-card,
  main:has(.about-hero) .work-with-card,
  main:has(.about-hero) .who-card {
    padding: 18px 16px;
  }
}

/* Mentorship & accountability */
.mentorship-page .programme-detail-copy>p+p {
  margin-top: 14px;
}

.mentorship-section-head {
  max-width: 780px;
}

.mentorship-section-head h2,
.mentorship-support h2,
.mentorship-audience h2,
.mentorship-cycle h2,
.mentorship-waitlist h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.mentorship-section-head>p {
  margin-top: 16px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.72;
}

.mentorship-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 35px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.mentorship-pillars article {
  min-height: 190px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.mentorship-pillars h3,
.mentorship-audience h3 {
  color: var(--navy-900);
  font-size: 17px;
  line-height: 1.3;
}

.mentorship-pillars p,
.mentorship-audience p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

.mentorship-support {
  padding: 76px 0;
  background: var(--navy-950);
  color: #fff;
}

.mentorship-support-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: start;
}

.mentorship-support h2 {
  color: #fff;
}

.mentorship-support header>p:not(.kicker) {
  margin-top: 15px;
  max-width: 410px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.7;
}

.mentorship-support .button {
  margin-top: 26px;
}

.mentorship-journey {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.mentorship-journey article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.mentorship-journey span {
  color: #71dd9f;
  font-size: 10px;
  font-weight: 800;
  padding-top: 4px;
}

.mentorship-journey h3 {
  color: #fff;
  font-size: 17px;
}

.mentorship-journey p {
  margin-top: 6px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.58;
}

.mentorship-audience {
  padding: 76px 0;
  background: #f6f9f7;
}

.mentorship-audience-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 32px;
}

.mentorship-audience-grid article {
  padding: 27px;
  background: #fff;
  border-radius: 14px;
}

.mentorship-cycle {
  padding: 76px 0;
  background: var(--navy-900);
  color: #fff;
}

.mentorship-cycle header {
  max-width: 790px;
}

.mentorship-cycle h2 {
  color: #fff;
}

.mentorship-cycle h2 span {
  color: #69d798;
  font-weight: 500;
}

.mentorship-cycle header>p:not(.kicker) {
  margin-top: 14px;
  color: #bac8d8;
  font-size: 15px;
}

.mentorship-cycle ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
}

.mentorship-cycle li {
  position: relative;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .22);
}

.mentorship-cycle li:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -14px;
  top: -15px;
  color: #69d798;
  font-size: 22px;
}

.mentorship-cycle strong {
  color: #fff;
  font: 700 19px/1.2 "Poppins", sans-serif;
}

.mentorship-cycle li p {
  margin-top: 9px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.58;
}

.mentorship-waitlist {
  padding: 76px 0;
  background: #fff;
}

.mentorship-waitlist-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
  padding: 46px 50px;
  border-radius: 22px;
  background: #f6f9f7;
}

.mentorship-waitlist-panel>div {
  max-width: 760px;
}

.mentorship-waitlist-panel>div>p:not(.kicker) {
  margin-top: 15px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.mentorship-waitlist-panel small {
  display: block;
  margin-top: 18px;
  color: #52647d;
  font-size: 12px;
  line-height: 1.55;
}

.mentorship-waitlist-panel .button {
  flex: 0 0 auto;
}

.mentorship-closing p {
  margin-top: 13px;
  max-width: 650px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .mentorship-pillars {
    grid-template-columns: repeat(2, 1fr);
  }

  .mentorship-support-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .mentorship-cycle ol {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
  }

  .mentorship-cycle li:nth-child(2)::after {
    display: none;
  }

  .mentorship-waitlist-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 600px) {

  .mentorship-pillars,
  .mentorship-audience-grid,
  .mentorship-cycle ol {
    grid-template-columns: 1fr;
  }

  .mentorship-pillars article {
    min-height: 0;
  }

  .mentorship-cycle li::after {
    display: none;
  }

  .mentorship-support,
  .mentorship-audience,
  .mentorship-cycle,
  .mentorship-waitlist {
    padding: 50px 0;
  }

  .mentorship-waitlist-panel {
    padding: 31px 24px;
  }
}


/* Final About page spacing refinements */
.about-hero {
  padding-top: 58px;
  padding-bottom: 38px;
}

.about-intro-section {
  padding-top: 42px;
  padding-bottom: 68px;
}

.footprint-section {
  padding-top: 68px;
  padding-bottom: 68px;
}

.who-we-work-with {
  padding-top: 68px;
  padding-bottom: 68px;
}

.about-pillars {
  padding-top: 68px;
  padding-bottom: 72px;
}

.about-closing {
  padding-top: 68px;
  padding-bottom: 68px;
}

.work-with-head {
  margin-bottom: 30px;
}

/* Smaller, denser client-type tiles */
.client-type {
  min-height: 104px;
  padding: 18px 20px;
}

.client-type strong {
  font-size: 16px;
}

.client-type span {
  font-size: 11px;
}

@media (max-width: 820px) {
  .about-hero {
    padding-top: 48px;
    padding-bottom: 38px;
  }

  .about-intro-section,
  .footprint-section,
  .who-we-work-with,
  .about-pillars,
  .about-closing {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .about-intro-section {
    padding-top: 38px;
  }

  .client-type {
    min-height: 92px;
    padding: 16px 18px;
  }
}

@media (max-width: 560px) {
  .about-hero {
    padding-top: 38px;
    padding-bottom: 34px;
  }

  .about-intro-section,
  .footprint-section,
  .who-we-work-with,
  .about-pillars,
  .about-closing {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .about-intro-section {
    padding-top: 32px;
  }

  .client-type {
    min-height: 78px;
    padding: 15px 16px;
  }
}

/* =========================================================
   DATA WIRED — SERVICES PAGE
   Scoped to .services-page so the shared site stays stable.
   ========================================================= */

.services-page .services-hero {
  padding: 66px 0 72px;
  background:
    radial-gradient(circle at 92% 12%, rgba(17, 169, 90, .10), transparent 25%),
    linear-gradient(180deg, #f7faf8 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line);
}

.services-hero-grid {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 76px;
  align-items: center;
}

.services-hero-copy {
  max-width: 690px;
}

.services-page .services-hero h1 {
  margin-top: 18px;
  max-width: 690px;
  color: var(--navy-950);
  font-size: clamp(44px, 4.8vw, 64px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.services-page .services-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.services-hero-lead {
  max-width: 630px;
  margin-top: 23px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.72;
}

.services-hero-actions {
  margin-top: 29px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}

.services-text-link {
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 800;
}

.services-text-link span {
  margin-left: 7px;
  color: var(--green-700);
}

.services-problem-panel {
  padding: 28px 30px 20px;
  background: var(--navy-950);
  color: #fff;
  border-radius: 22px;
  box-shadow: 0 24px 65px rgba(6, 26, 58, .14);
}

.panel-label {
  color: #7cdea6;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.services-problem-panel ul {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
}

.services-problem-panel li {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 12px;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #d7e1ed;
  font-size: 14px;
  line-height: 1.5;
}

.services-problem-panel li span {
  color: var(--green-500);
  font-size: 11px;
  font-weight: 800;
  padding-top: 2px;
}

.services-intro {
  padding: 68px 0;
  background: #fff;
}

.services-intro-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 80px;
  align-items: end;
}

.services-intro h2,
.services-section-head h2,
.services-process-head h2,
.services-clients h2,
.services-closing h2 {
  margin-top: 11px;
  color: var(--navy-950);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
  letter-spacing: -.035em;
}

.services-intro-grid>p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.services-capabilities {
  padding: 70px 0 76px;
  background: var(--navy-950);
  color: #fff;
}

.services-section-head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}

.services-section-head h2 {
  color: #fff;
  max-width: 680px;
}

.services-section-head>p {
  max-width: 470px;
  justify-self: end;
  color: #b9c7d8;
  font-size: 14px;
  line-height: 1.7;
}

.capability-list {
  border-top: 1px solid rgba(255, 255, 255, .15);
}

.capability-row {
  display: grid;
  grid-template-columns: 72px 1.05fr .95fr;
  gap: 34px;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.capability-number {
  color: var(--green-500);
  font-size: 12px;
  font-weight: 800;
  padding-top: 4px;
}

.capability-copy h3 {
  color: #fff;
  font-size: 22px;
  letter-spacing: -.025em;
}

.capability-copy p {
  margin-top: 9px;
  max-width: 520px;
  color: #b7c4d5;
  font-size: 14px;
  line-height: 1.65;
}

.capability-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 18px;
  align-content: start;
}

.capability-items li {
  position: relative;
  padding-left: 16px;
  color: #e0e8f1;
  font-size: 13px;
  line-height: 1.45;
}

.capability-items li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  background: var(--green-500);
  border-radius: 50%;
}

.services-process {
  padding: 72px 0 76px;
  background: var(--soft);
}

.services-process-head {
  max-width: 730px;
}

.services-process-head>p {
  margin-top: 13px;
  max-width: 650px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.process-grid {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #dce4df;
  border-left: 1px solid #dce4df;
}

.process-grid article {
  padding: 27px 28px 30px;
  min-height: 220px;
  background: #fff;
  border-right: 1px solid #dce4df;
  border-bottom: 1px solid #dce4df;
}

.process-grid article>span {
  color: var(--green-700);
  font-size: 11px;
  font-weight: 800;
}

.process-grid h3 {
  margin-top: 32px;
  color: var(--navy-950);
  font-size: 22px;
}

.process-grid p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.services-clients {
  padding: 70px 0;
  background: #fff;
}

.services-clients-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 72px;
  align-items: center;
}

.services-clients h2 {
  color: #fff;
}

.services-clients {
  background: var(--navy-900);
  color: #fff;
}

.client-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.client-chip-grid span {
  min-height: 74px;
  display: flex;
  align-items: center;
  padding: 16px 18px;
  border-right: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  color: #e5ecf4;
  font-size: 14px;
  font-weight: 700;
}

.services-closing {
  padding: 68px 0;
  background: #fff;
}

.services-closing-panel {
  padding: 44px 48px;
  border-radius: 24px;
  background: var(--navy-950);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.services-closing h2 {
  color: #fff;
  max-width: 650px;
}

.services-closing-panel p {
  margin-top: 12px;
  max-width: 650px;
  color: #b9c7d8;
  font-size: 14px;
  line-height: 1.65;
}

.services-closing-panel .button {
  flex: 0 0 auto;
}

@media (max-width: 980px) {
  .services-hero-grid {
    gap: 45px;
  }

  .services-intro-grid,
  .services-section-head,
  .services-clients-grid {
    gap: 45px;
  }

  .capability-row {
    grid-template-columns: 55px 1fr;
  }

  .capability-items {
    grid-column: 2;
  }
}

@media (max-width: 820px) {
  .services-page .services-hero {
    padding: 50px 0 58px;
  }

  .services-hero-grid,
  .services-intro-grid,
  .services-section-head,
  .services-clients-grid {
    grid-template-columns: 1fr;
  }

  .services-hero-copy {
    max-width: 700px;
  }

  .services-problem-panel {
    max-width: 650px;
  }

  .services-intro,
  .services-capabilities,
  .services-process,
  .services-clients,
  .services-closing {
    padding-top: 56px;
    padding-bottom: 58px;
  }

  .services-section-head {
    margin-bottom: 26px;
  }

  .services-section-head>p {
    justify-self: start;
  }

  .process-grid {
    grid-template-columns: 1fr;
  }

  .process-grid article {
    min-height: 0;
  }

  .services-closing-panel {
    flex-direction: column;
    align-items: flex-start;
    padding: 36px;
  }
}

@media (max-width: 560px) {
  .services-page .services-hero {
    padding: 38px 0 46px;
  }

  .services-page .services-hero h1 {
    font-size: 40px;
  }

  .services-hero-lead {
    font-size: 16px;
  }

  .services-hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 17px;
  }

  .services-text-link {
    align-self: flex-start;
  }

  .services-problem-panel {
    padding: 24px 22px 13px;
    border-radius: 18px;
  }

  .services-intro,
  .services-capabilities,
  .services-process,
  .services-clients,
  .services-closing {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .services-intro h2,
  .services-section-head h2,
  .services-process-head h2,
  .services-clients h2,
  .services-closing h2 {
    font-size: 29px;
  }

  .capability-row {
    grid-template-columns: 34px 1fr;
    gap: 15px;
    padding: 24px 0;
  }

  .capability-copy h3 {
    font-size: 20px;
  }

  .capability-items {
    grid-column: 2;
    grid-template-columns: 1fr;
  }

  .process-grid {
    margin-top: 30px;
  }

  .process-grid article {
    padding: 23px 21px 25px;
  }

  .client-chip-grid {
    grid-template-columns: 1fr;
  }

  .client-chip-grid span {
    min-height: 62px;
  }

  .services-closing-panel {
    padding: 29px 24px;
    border-radius: 20px;
  }

  .services-closing-panel .button {
    width: 100%;
  }
}


/* =========================================================
   SERVICES CAPABILITIES — CARD GRID
   ========================================================= */

.services-page .services-capabilities {
  padding: 72px 0 78px;
  background: #f8faf9;
  color: var(--ink);
}

.services-page .capabilities-heading {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 36px;
}

.services-page .capabilities-heading h2 {
  margin-top: 10px;
  max-width: 690px;
  color: var(--navy-900);
  font-family: "Poppins", sans-serif;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
  font-weight: 700;
}

.services-page .capabilities-heading>p {
  max-width: 470px;
  justify-self: end;
  color: var(--muted);
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.services-page .capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.services-page .capability-card {
  position: relative;
  min-height: 390px;
  padding: 28px 26px 26px;
  background: #fff;
  border: 1px solid #dde5df;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 28px rgba(6, 26, 58, .025);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.services-page .capability-card:hover {
  transform: translateY(-4px);
  border-color: #cbdad0;
  box-shadow: 0 16px 40px rgba(6, 26, 58, .08);
}

.services-page .capability-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  color: var(--green-700);
}

.services-page .capability-icon svg {
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.services-page .capability-card-number {
  position: absolute;
  top: 29px;
  right: 26px;
  color: #9aa7b8;
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
}

.services-page .capability-card h3 {
  max-width: 310px;
  color: var(--navy-900);
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -.025em;
  font-weight: 700;
}

.services-page .capability-card>p {
  margin-top: 11px;
  color: var(--muted);
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.65;
}

.services-page .capability-card ul {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 9px;
}

.services-page .capability-card li {
  position: relative;
  padding-left: 18px;
  color: #31445f;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.45;
}

.services-page .capability-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  background: var(--green-500);
  border-radius: 50%;
}

/* Neutralise the previous dark/list capability layout. */
.services-page .services-capabilities .services-section-head,
.services-page .services-capabilities .capability-list,
.services-page .services-capabilities .capability-row {
  all: unset;
}

@media (max-width: 980px) {
  .services-page .capability-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-page .capabilities-heading {
    gap: 42px;
  }
}

@media (max-width: 820px) {
  .services-page .services-capabilities {
    padding-top: 56px;
    padding-bottom: 60px;
  }

  .services-page .capabilities-heading {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 30px;
  }

  .services-page .capabilities-heading>p {
    justify-self: start;
  }
}

@media (max-width: 600px) {
  .services-page .services-capabilities {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .services-page .capability-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .services-page .capability-card {
    min-height: 0;
    padding: 24px 22px 23px;
    border-radius: 17px;
  }

  .services-page .capability-icon {
    margin-bottom: 16px;
  }

  .services-page .capability-card-number {
    top: 25px;
    right: 22px;
  }

  .services-page .capability-card h3 {
    font-size: 19px;
  }
}


/* =========================================================
   SERVICES PAGE — SITE SYSTEM ALIGNMENT
   Uses the same Poppins + DM Sans hierarchy as Home/About.
   ========================================================= */

.services-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.services-page h1,
.services-page h2,
.services-page h3 {
  font-family: "Poppins", sans-serif;
}

.services-page .services-hero h1 {
  margin-top: 18px;
  max-width: 690px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
  font-weight: 700;
}

.services-page .services-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.services-page .services-hero-lead {
  max-width: 620px;
  margin-top: 24px;
  color: #465a75;
  font-size: 17px;
  line-height: 1.7;
}

.services-page .services-intro h2,
.services-page .capabilities-heading h2,
.services-page .services-process-head h2,
.services-page .services-clients h2,
.services-page .services-closing h2 {
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
  font-weight: 700;
}

.services-page .capability-card h3,
.services-page .process-grid h3 {
  color: var(--navy-900);
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.services-page .capability-card>p,
.services-page .capability-card li,
.services-page .services-problem-panel li,
.services-page .services-intro-grid>p,
.services-page .services-process-head>p,
.services-page .process-grid p,
.services-page .capabilities-heading>p,
.services-page .services-closing-panel p {
  font-family: "DM Sans", system-ui, sans-serif;
}

.services-page .kicker,
.services-page .eyebrow,
.services-page .panel-label,
.services-page .capability-card-number {
  font-family: "DM Sans", system-ui, sans-serif;
}

/* Keep cards visually consistent with the homepage aesthetic:
   restrained radius, lighter borders, limited shadow. */
.services-page .capability-card {
  border-radius: var(--radius);
  border: 1px solid #e2e8e4;
  box-shadow: 0 10px 35px rgba(6, 26, 58, .035);
}

.services-page .capability-card:hover {
  box-shadow: var(--shadow);
}

/* Match the compact page rhythm established on About. */
.services-page .services-hero {
  padding-top: 58px;
  padding-bottom: 62px;
}

.services-page .services-intro,
.services-page .services-capabilities,
.services-page .services-process,
.services-page .services-clients,
.services-page .services-closing {
  padding-top: 68px;
  padding-bottom: 68px;
}

@media (max-width: 820px) {
  .services-page .services-hero {
    padding-top: 48px;
    padding-bottom: 54px;
  }

  .services-page .services-intro,
  .services-page .services-capabilities,
  .services-page .services-process,
  .services-page .services-clients,
  .services-page .services-closing {
    padding-top: 54px;
    padding-bottom: 58px;
  }
}

@media (max-width: 560px) {
  .services-page .services-hero {
    padding-top: 38px;
    padding-bottom: 46px;
  }

  .services-page .services-hero h1 {
    font-size: 38px;
    line-height: 1.08;
  }

  .services-page .services-intro,
  .services-page .services-capabilities,
  .services-page .services-process,
  .services-page .services-clients,
  .services-page .services-closing {
    padding-top: 46px;
    padding-bottom: 48px;
  }
}

/* =========================================================
   SERVICES — WHO WE SUPPORT + CLOSING CTA REFINEMENT
   ========================================================= */

.services-page .services-clients {
  padding: 68px 0 72px;
  background: #fff;
  color: var(--ink);
}

.services-page .services-clients-head {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}

.services-page .services-clients-head h2 {
  margin-top: 9px;
  max-width: 650px;
  color: var(--navy-900);
  font-family: "Poppins", sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
  font-weight: 700;
}

.services-page .services-clients-head>p {
  max-width: 500px;
  justify-self: end;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.services-page .client-path-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.services-page .client-path {
  min-height: 132px;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: center;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: background .2s ease;
}

.services-page .client-path:hover {
  background: #f6faf7;
}

.services-page .client-path>span {
  grid-row: 1 / 3;
  padding-top: 2px;
  color: var(--green-700);
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 700;
}

.services-page .client-path strong {
  color: var(--navy-900);
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  line-height: 1.35;
}

.services-page .client-path small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

/* Standalone closing panel, visually separated from the footer. */
.services-page .services-closing {
  padding: 72px 0;
  background: #fff;
}

.services-page .services-closing-inner {
  min-height: 310px;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 58px;
  padding-right: 58px;
  border-radius: 26px;
  background: var(--navy-950);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 70px;
}

.services-page .services-closing-copy {
  max-width: 720px;
}

.services-page .services-closing h2,
.services-page .services-closing #services-closing-title {
  margin-top: 10px;
  max-width: 650px;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.12;
  letter-spacing: -.035em;
  font-weight: 700;
}

.services-page .services-closing p {
  margin-top: 14px;
  max-width: 650px;
  color: #becbdd;
  font-size: 15px;
  line-height: 1.7;
}

.services-page .services-closing-button {
  flex: 0 0 auto;
  background: #fff;
  color: var(--navy-950);
  white-space: nowrap;
}

.services-page .services-closing-button:hover {
  background: #edf3ef;
}

/* Retire previous markup styles safely. */
.services-page .services-closing-panel,
.services-page .client-chip-grid {
  display: none;
}

@media (max-width: 900px) {
  .services-page .services-closing {
    padding: 54px 0;
  }

  .services-page .services-clients-head {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .services-page .services-clients-head>p {
    justify-self: start;
  }

  .services-page .client-path-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-page .services-closing-inner {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    padding-left: 36px;
    padding-right: 36px;
    gap: 28px;
    padding-top: 54px;
    padding-bottom: 56px;
  }
}

@media (max-width: 600px) {
  .services-page .services-closing {
    padding: 46px 0;
  }

  .services-page .services-clients {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .services-page .client-path-grid {
    grid-template-columns: 1fr;
  }

  .services-page .client-path {
    min-height: 105px;
    padding: 18px 18px;
  }

  .services-page .services-closing-inner {
    padding-top: 48px;
    padding-bottom: 50px;
    padding-left: 24px;
    padding-right: 24px;
    border-radius: 20px;
  }

  .services-page .services-closing-button {
    width: 100%;
  }
}


/* =========================================================
   TRAINING PAGE
   ========================================================= */

.training-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.training-page h1,
.training-page h2,
.training-page h3 {
  font-family: "Poppins", sans-serif;
}

.training-hero {
  padding: 58px 0 64px;
  background: linear-gradient(180deg, #f7faf8 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line);
}

.training-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 72px;
  align-items: center;
}

.training-hero-copy {
  max-width: 680px;
}

.training-page .training-hero h1 {
  margin-top: 18px;
  color: var(--navy-900);
  font-size: clamp(31.33px, calc(4.4vw - 10.67px), 49.33px);
  line-height: 1.06;
  letter-spacing: -.042em;
  font-weight: 700;
}

.training-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.training-hero-lead {
  max-width: 620px;
  margin-top: 24px;
  color: #465a75;
  font-size: 17px;
  line-height: 1.7;
}

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

.training-hero-panel {
  padding: 34px;
  background: var(--navy-950);
  color: #fff;
  border-radius: var(--radius);
}

.training-panel-label {
  color: #63d897;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.training-hero-panel h2 {
  margin-top: 12px;
  color: #fff;
  font-size: 28px;
  line-height: 1.18;
  letter-spacing: -.03em;
}

.training-hero-panel>p {
  margin-top: 12px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.65;
}

.training-panel-points {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-left: 1px solid rgba(255, 255, 255, .14);
}

.training-panel-points span {
  min-height: 64px;
  display: flex;
  align-items: center;
  padding: 13px 15px;
  border-right: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  color: #e3ebf3;
  font-size: 12px;
  font-weight: 700;
}

.training-paths,
.ai-curriculum-section,
.training-learning-model {
  padding: 68px 0;
  background: #fff;
}

.training-section-head {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}

.training-section-head h2,
.training-organisations h2,
.training-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
  font-weight: 700;
}

.training-section-head>p {
  max-width: 470px;
  justify-self: end;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.training-path-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #dfe6e2;
  border-left: 1px solid #dfe6e2;
}

.training-path-card {
  min-height: 270px;
  padding: 26px 24px;
  border-right: 1px solid #dfe6e2;
  border-bottom: 1px solid #dfe6e2;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.path-number {
  color: var(--green-700);
  font-size: 11px;
  font-weight: 800;
}

.training-path-card h3 {
  margin-top: 28px;
  color: var(--navy-900);
  font-size: 19px;
  line-height: 1.3;
}

.training-path-card p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.training-path-card a {
  margin-top: auto;
  padding-top: 20px;
  color: var(--green-700);
  font-size: 13px;
  font-weight: 800;
}

.live-training-section {
  padding: 70px 0 76px;
  background: var(--navy-950);
}

.live-training-head h2 {
  color: #fff;
}

.live-training-head>p {
  color: #bac8d8;
}

.featured-programme {
  display: grid;
  grid-template-columns: 1fr 330px;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
}

.programme-main {
  padding: 36px 38px 34px;
}

.programme-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.programme-badges span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #eaf7ef;
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
}

.programme-main h3 {
  margin-top: 20px;
  color: var(--navy-900);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.programme-summary {
  margin-top: 12px;
  max-width: 690px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.programme-meta {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.programme-meta>div {
  min-height: 78px;
  padding: 14px 16px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.programme-meta small {
  display: block;
  color: #7a8798;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.programme-meta strong {
  display: block;
  margin-top: 7px;
  color: var(--navy-900);
  font-size: 13px;
}

.programme-curriculum-link {
  display: inline-flex;
  gap: 8px;
  margin-top: 22px;
  color: var(--green-700);
  font-size: 13px;
  font-weight: 800;
}

.programme-price {
  padding: 36px 30px;
  background: #f5f8f6;
  border-left: 1px solid #dfe6e2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.price-label {
  color: var(--green-700);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.dual-price {
  margin-top: 14px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.dual-price strong {
  color: var(--navy-950);
  font: 700 34px/1 "Poppins", sans-serif;
  letter-spacing: -.04em;
}

.dual-price span {
  color: #7e8b9d;
  font-size: 12px;
}

.programme-price p {
  margin-top: 15px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.programme-price .button {
  margin-top: 23px;
}

.ai-curriculum-section {
  background: var(--soft);
}

.training-curriculum-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid #dce4df;
  border-left: 1px solid #dce4df;
}

.training-curriculum-grid article {
  min-height: 285px;
  padding: 24px 22px;
  background: #fff;
  border-right: 1px solid #dce4df;
  border-bottom: 1px solid #dce4df;
  display: flex;
  flex-direction: column;
}

.training-curriculum-grid article>span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.training-curriculum-grid h3 {
  margin-top: 25px;
  color: var(--navy-900);
  font-size: 18px;
  line-height: 1.3;
}

.training-curriculum-grid p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.training-curriculum-grid small {
  margin-top: auto;
  padding-top: 20px;
  color: #304762;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
}

.training-organisations {
  padding: 70px 0;
  background: var(--navy-900);
  color: #fff;
}

.training-org-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 72px;
  align-items: center;
}

.training-organisations h2 {
  color: #fff;
}

.training-organisations p {
  margin-top: 14px;
  max-width: 600px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.7;
}

.training-organisations .button {
  margin-top: 24px;
}

.training-org-list {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.training-org-list>div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.training-org-list span {
  color: var(--green-500);
  font-size: 11px;
  font-weight: 800;
}

.training-org-list strong {
  color: #eef3f7;
  font-size: 14px;
}

.learning-model-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #dce4df;
  border-left: 1px solid #dce4df;
}

.learning-model-grid article {
  min-height: 185px;
  padding: 24px;
  border-right: 1px solid #dce4df;
  border-bottom: 1px solid #dce4df;
}

.learning-model-grid span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.learning-model-grid h3 {
  margin-top: 28px;
  color: var(--navy-900);
  font-size: 19px;
}

.learning-model-grid p {
  margin-top: 9px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.training-closing {
  margin-bottom: 36px;
  padding: 64px 0;
  background: var(--navy-950);
}

.training-page .training-closing {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  border-radius: 24px;
}

.training-page .training-closing > .container {
  width: 100%;
  padding-inline: 40px;
}

.training-closing-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
}

.training-closing h2 {
  color: #fff;
  max-width: 700px;
}

.training-closing p {
  margin-top: 12px;
  max-width: 700px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.65;
}

.training-closing-actions {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

@media (max-width: 1020px) {
  .training-path-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .training-curriculum-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .training-curriculum-grid article:last-child {
    grid-column: 1 / -1;
    min-height: 220px;
  }
}

@media (max-width: 820px) {
  .training-hero {
    padding-top: 48px;
    padding-bottom: 54px;
  }

  .training-hero-grid,
  .training-section-head,
  .training-org-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .training-section-head {
    gap: 17px;
  }

  .training-section-head>p {
    justify-self: start;
  }

  .training-paths,
  .live-training-section,
  .ai-curriculum-section,
  .training-organisations,
  .training-learning-model {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .featured-programme {
    grid-template-columns: 1fr;
  }

  .programme-price {
    border-left: 0;
    border-top: 1px solid #dfe6e2;
  }

  .learning-model-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .training-closing-grid {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .training-hero {
    padding-top: 38px;
    padding-bottom: 46px;
  }

  .training-page .training-hero h1 {
    font-size: 27.33px;
    line-height: 1.08;
  }

  .training-page .training-closing {
    width: calc(100% - 28px);
    border-radius: 20px;
  }

  .training-page .training-closing > .container {
    padding-inline: 24px;
  }

  .training-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .training-panel-points,
  .training-path-grid,
  .training-curriculum-grid,
  .learning-model-grid {
    grid-template-columns: 1fr;
  }

  .training-curriculum-grid article:last-child {
    grid-column: auto;
  }

  .programme-main,
  .programme-price {
    padding: 27px 23px;
  }

  .programme-main h3 {
    font-size: 25px;
  }

  .programme-meta {
    grid-template-columns: 1fr;
  }

  .training-paths,
  .live-training-section,
  .ai-curriculum-section,
  .training-organisations,
  .training-learning-model {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .training-closing {
    padding: 50px 0;
    margin-bottom: 24px;
  }

  .training-closing-actions {
    width: 100%;
    flex-direction: column;
  }

  .training-closing-actions .button {
    width: 100%;
  }
}


/* =========================================================
   TRAINING PAGE — CLEAR PROGRAMME GRID
   ========================================================= */

.training-programmes-section {
  padding: 68px 0 74px;
  background: #fff;
}

.training-programmes-head {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.training-programmes-head h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.training-programmes-head p {
  margin: 12px auto 0;
  max-width: 690px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.training-course-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.training-course-card {
  min-height: 360px;
  padding: 24px 22px 22px;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
  background: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.training-course-card:hover {
  transform: translateY(-3px);
  border-color: #cfdad3;
  box-shadow: 0 14px 35px rgba(6, 26, 58, .07);
}

.training-course-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 14px;
  display: grid;
  place-items: center;
  color: var(--green-700);
}

.training-course-card h3 {
  color: var(--navy-900);
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.training-course-card h3 span {
  font-size: .9em;
}

.training-course-card p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.training-course-card>a {
  margin-top: auto;
  padding-top: 20px;
  color: var(--green-700);
  font-size: 12px;
  font-weight: 800;
}

.training-course-card>a span {
  margin-left: 5px;
}

.powerbi-icon {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
}

.powerbi-icon span {
  width: 8px;
  border-radius: 4px 4px 0 0;
  background: #e7ae00;
}

.powerbi-icon span:nth-child(1) {
  height: 22px;
}

.powerbi-icon span:nth-child(2) {
  height: 35px;
}

.powerbi-icon span:nth-child(3) {
  height: 45px;
}

.powerbi-icon span:nth-child(4) {
  height: 28px;
}

.excel-icon {
  width: 58px;
  height: 58px;
  border-radius: 8px;
  background: #087f3d;
  color: #fff;
  font: 700 31px/1 "Poppins", sans-serif;
}

.ai-icon {
  color: #7a2de2;
  font: 700 28px/1 "Poppins", sans-serif;
}

.ml-icon,
.whatsapp-icon {
  width: 58px;
  height: 58px;
  border: 2px solid var(--green-700);
  border-radius: 50%;
  font: 700 28px/1 "Poppins", sans-serif;
}

.looker-icon {
  position: relative;
}

.looker-icon div {
  width: 34px;
  height: 34px;
  border: 8px solid #4d8df7;
  border-radius: 50%;
}

.looker-icon span {
  position: absolute;
  width: 8px;
  height: 20px;
  background: #4d8df7;
  border-radius: 4px;
  transform: rotate(35deg);
  top: 5px;
  left: 37px;
}

.live-training-teaser .training-section-head {
  margin-bottom: 30px;
}

/* =========================================================
   LIVE AI TRAINING PAGE
   ========================================================= */

.live-ai-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.live-ai-page h1,
.live-ai-page h2,
.live-ai-page h3 {
  font-family: "Poppins", sans-serif;
}

.live-ai-hero {
  padding: 58px 0 66px;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.live-ai-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 72px;
  align-items: center;
}

.live-ai-hero-copy h1 {
  margin-top: 18px;
  max-width: 700px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.live-ai-hero-copy h1 em {
  color: var(--green-700);
  font-style: normal;
}

.live-ai-hero-copy>p {
  margin-top: 24px;
  max-width: 650px;
  color: #465a75;
  font-size: 17px;
  line-height: 1.7;
}

.live-ai-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.live-ai-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.live-ai-meta span {
  padding: 7px 10px;
  background: #eef6f1;
  color: var(--green-700);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.live-ai-price-card {
  padding: 36px;
  background: var(--navy-950);
  color: #fff;
  border-radius: 22px;
}

.live-ai-price-card>span {
  color: #63d897;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.live-ai-price-card>div {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 16px;
}

.live-ai-price-card strong {
  font: 700 40px/1 "Poppins", sans-serif;
}

.live-ai-price-card small {
  color: #9fb0c5;
}

.live-ai-price-card p {
  margin-top: 16px;
  color: #c1ccda;
  font-size: 14px;
  line-height: 1.65;
}

.live-ai-price-card .button {
  margin-top: 24px;
}

.live-ai-why,
.live-ai-audience,
.live-ai-info {
  padding: 68px 0;
  background: #fff;
}

.live-ai-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: end;
}

.live-ai-split h2,
.live-ai-section-head h2,
.live-ai-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.live-ai-split>p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.live-ai-curriculum {
  padding: 70px 0 76px;
  background: var(--navy-950);
}

.live-ai-section-head {
  max-width: 760px;
  margin-bottom: 32px;
}

.live-ai-curriculum .live-ai-section-head h2,
.live-ai-curriculum .live-ai-section-head p {
  color: #fff;
}

.live-ai-section-head p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.live-ai-day-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .15);
  border-left: 1px solid rgba(255, 255, 255, .15);
}

.live-ai-day-grid article {
  min-height: 310px;
  padding: 24px 22px;
  border-right: 1px solid rgba(255, 255, 255, .15);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
  display: flex;
  flex-direction: column;
}

.live-ai-day-grid article>span {
  color: var(--green-500);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.live-ai-day-grid h3 {
  margin-top: 26px;
  color: #fff;
  font-size: 18px;
  line-height: 1.3;
}

.live-ai-day-grid p {
  margin-top: 10px;
  color: #b8c5d5;
  font-size: 13px;
  line-height: 1.6;
}

.live-ai-day-grid small {
  margin-top: auto;
  padding-top: 20px;
  color: #e4ebf3;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
}

.live-ai-audience-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.live-ai-audience-grid span {
  min-height: 66px;
  padding: 15px 17px;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 700;
}

.live-ai-format {
  padding: 68px 0;
  background: var(--navy-900);
}

.light-head h2 {
  color: #fff;
}

.live-ai-format-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .15);
  border-left: 1px solid rgba(255, 255, 255, .15);
}

.live-ai-format-grid article {
  min-height: 190px;
  padding: 23px;
  border-right: 1px solid rgba(255, 255, 255, .15);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.live-ai-format-grid span {
  color: var(--green-500);
  font-size: 10px;
  font-weight: 800;
}

.live-ai-format-grid h3 {
  margin-top: 26px;
  color: #fff;
  font-size: 18px;
}

.live-ai-format-grid p {
  margin-top: 9px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.6;
}

.live-ai-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.live-ai-info-grid article {
  padding: 26px;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
}

.live-ai-info-grid h3 {
  color: var(--navy-900);
  font-size: 18px;
}

.live-ai-info-grid p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.live-ai-closing {
  margin-bottom: 36px;
  padding: 62px 0;
  background: var(--navy-950);
}

.live-ai-closing-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.live-ai-closing h2 {
  color: #fff;
  max-width: 700px;
}

.live-ai-closing p {
  margin-top: 12px;
  max-width: 700px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 1020px) {
  .training-course-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .live-ai-day-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .live-ai-day-grid article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {

  .training-programmes-section,
  .live-ai-why,
  .live-ai-audience,
  .live-ai-info,
  .live-ai-format,
  .live-ai-curriculum {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .live-ai-hero {
    padding-top: 48px;
    padding-bottom: 54px;
  }

  .live-ai-hero-grid,
  .live-ai-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .live-ai-format-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .live-ai-closing-grid {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .training-programmes-section {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .training-course-grid,
  .live-ai-day-grid,
  .live-ai-format-grid,
  .live-ai-info-grid,
  .live-ai-audience-grid {
    grid-template-columns: 1fr;
  }

  .training-course-card {
    min-height: 0;
  }

  .live-ai-hero {
    padding-top: 38px;
    padding-bottom: 46px;
  }

  .live-ai-hero-copy h1 {
    font-size: 38px;
  }

  .live-ai-day-grid article:last-child {
    grid-column: auto;
  }

  .live-ai-closing {
    margin-bottom: 24px;
  }
}


/* =========================================================
   CONTACT PAGE
   ========================================================= */

.contact-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.contact-page h1,
.contact-page h2,
.contact-page h3 {
  font-family: "Poppins", sans-serif;
}

.contact-hero {
  padding: 58px 0 70px;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.contact-hero-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 76px;
  align-items: start;
}

.contact-intro {
  padding-top: 18px;
}

.contact-intro h1 {
  margin-top: 18px;
  max-width: 650px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.contact-intro h1 em {
  color: var(--green-700);
  font-style: normal;
}

.contact-lead {
  margin-top: 24px;
  max-width: 600px;
  color: #465a75;
  font-size: 16px;
  line-height: 1.72;
}

.contact-reasons {
  margin-top: 34px;
  border-top: 1px solid #dce4df;
}

.contact-reasons>div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 13px;
  padding: 15px 0;
  border-bottom: 1px solid #dce4df;
}

.contact-reasons>div>span {
  padding-top: 2px;
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.contact-reasons p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.contact-reasons strong {
  display: block;
  margin-bottom: 3px;
  color: var(--navy-900);
  font-size: 14px;
}

.contact-form-wrap {
  padding: 34px 36px 36px;
  background: #fff;
  border: 1px solid #dfe6e2;
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(6, 26, 58, .07);
}

.contact-form-head>span {
  color: var(--green-700);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.contact-form-head h2 {
  margin-top: 7px;
  color: var(--navy-900);
  font-size: 28px;
  letter-spacing: -.03em;
}

.contact-form-head p {
  margin-top: 8px;
  max-width: 600px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.contact-form {
  margin-top: 26px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-field {
  margin-bottom: 16px;
}

.form-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--navy-900);
  font-size: 12px;
  font-weight: 700;
}

.form-field label span {
  color: var(--green-700);
}

.form-field label small {
  color: #7d8999;
  font-weight: 500;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #d7dfda;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: 14px/1.4 "DM Sans", system-ui, sans-serif;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.form-field input,
.form-field select {
  height: 48px;
  padding: 0 14px;
}

.form-field textarea {
  resize: vertical;
  min-height: 130px;
  padding: 13px 14px;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: #9aa4b1;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--green-600);
  box-shadow: 0 0 0 3px rgba(11, 147, 74, .09);
}

.contact-submit {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.contact-submit:disabled {
  cursor: wait;
  opacity: .7;
  transform: none;
}

.contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-form-status:not(:empty) {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #d7dfda;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
}

.contact-form-status[data-state="sending"] {
  color: var(--navy-900);
  background: #f6f9f7;
}

.contact-form-status[data-state="success"] {
  color: #075c30;
  background: #effaf3;
  border-color: #bde5ca;
}

.contact-form-status[data-state="error"] {
  color: #8a241b;
  background: #fff4f2;
  border-color: #edc6bf;
}

.contact-form-note {
  margin-top: 10px;
  text-align: center;
  color: #84909e;
  font-size: 10px;
}

.contact-presence {
  padding: 68px 0;
  background: #fff;
}

.contact-presence-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 72px;
  align-items: center;
}

.contact-presence h2,
.contact-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.contact-presence-grid>div:first-child>p {
  margin-top: 13px;
  max-width: 570px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.contact-location-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #dce4df;
  border-left: 1px solid #dce4df;
}

.contact-location-grid article {
  min-height: 150px;
  padding: 22px;
  border-right: 1px solid #dce4df;
  border-bottom: 1px solid #dce4df;
}

.contact-location-grid span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.contact-location-grid h3 {
  margin-top: 27px;
  color: var(--navy-900);
  font-size: 18px;
}

.contact-location-grid p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.contact-closing {
  margin-bottom: 36px;
  padding: 62px 0;
  background: var(--navy-950);
}

.contact-page .contact-closing {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  border-radius: 24px;
}

.contact-page .contact-closing > .container {
  width: 100%;
  padding-inline: 40px;
}

.contact-closing-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 72px;
  align-items: end;
}

.contact-page .contact-closing-grid {
  grid-template-columns: 1fr;
}

.contact-page .contact-closing h2 {
  max-width: none;
}

.contact-closing h2 {
  max-width: 720px;
  color: #fff;
}

.contact-closing-grid>p {
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 900px) {

  .contact-hero-grid,
  .contact-presence-grid,
  .contact-closing-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .contact-intro {
    padding-top: 0;
  }
}

@media (max-width: 620px) {
  .contact-hero {
    padding: 38px 0 48px;
  }

  .contact-intro h1 {
    font-size: 38px;
  }

  .contact-form-wrap {
    padding: 27px 22px;
    border-radius: 18px;
  }

  .form-row,
  .contact-location-grid {
    grid-template-columns: 1fr;
  }

  .contact-presence {
    padding: 48px 0;
  }

  .contact-location-grid article {
    min-height: 115px;
  }

  .contact-closing {
    margin-bottom: 24px;
    padding: 50px 0;
  }

  .contact-page .contact-closing {
    width: calc(100% - 28px);
    border-radius: 20px;
  }

  .contact-page .contact-closing > .container {
    padding-inline: 24px;
  }
}


/* =========================================================
   COMMUNITY PAGE
   ========================================================= */

.community-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.community-page h1,
.community-page h2,
.community-page h3 {
  font-family: "Poppins", sans-serif;
}

.community-hero {
  padding: 58px 0 66px;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.community-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 72px;
  align-items: center;
}

.community-hero h1 {
  margin-top: 18px;
  color: var(--navy-900);
  font-size: clamp(22px, 2.9vw, 40px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.community-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.community-hero-grid>div>p {
  margin-top: 24px;
  max-width: 650px;
  color: #465a75;
  font-size: 17px;
  line-height: 1.7;
}

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

.community-hero-panel {
  padding: 34px;
  background: var(--navy-950);
  color: #fff;
  border-radius: var(--radius);
}

.community-hero-panel>span {
  color: #63d897;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.community-hero-panel h2 {
  margin-top: 11px;
  color: #fff;
  font-size: 28px;
  line-height: 1.18;
  letter-spacing: -.03em;
}

.community-hero-panel>p {
  margin-top: 11px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.65;
}

.community-principles {
  margin-top: 25px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-left: 1px solid rgba(255, 255, 255, .14);
}

.community-principles div {
  min-height: 83px;
  padding: 14px;
  border-right: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.community-principles strong {
  display: block;
  font-size: 13px;
}

.community-principles small {
  display: block;
  margin-top: 4px;
  color: #9fb0c4;
  font-size: 10px;
  line-height: 1.4;
}

.community-programmes,
.featured-events {
  padding: 68px 0;
  background: #fff;
}

.community-section-head {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}

.community-section-head h2,
.deal-copy h2,
.datacamp-community h2,
.community-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.community-section-head>p {
  max-width: 470px;
  justify-self: end;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.community-programme-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #dce4df;
  border-left: 1px solid #dce4df;
}

.community-programme-grid article {
  min-height: 265px;
  padding: 25px 23px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #dce4df;
  border-bottom: 1px solid #dce4df;
}

.community-programme-grid article>span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.community-programme-grid h3 {
  margin-top: 27px;
  color: var(--navy-900);
  font-size: 19px;
  line-height: 1.3;
}

.community-programme-grid p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

.community-programme-grid a {
  margin-top: auto;
  padding-top: 20px;
  color: var(--green-700);
  font-size: 12px;
  font-weight: 800;
}

.dataxplore-section {
  padding: 70px 0 76px;
  background: var(--navy-950);
}

.dataxplore-head h2 {
  color: #fff;
}

.dataxplore-head>p {
  color: #bac8d8;
}

.dataxplore-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 180px;
  gap: 10px;
}

.dataxplore-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #102b51;
}

.dataxplore-gallery .gallery-wide {
  grid-column: span 2;
}

.dataxplore-gallery .gallery-tall {
  grid-row: span 2;
}

.dataxplore-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dataxplore-gallery figcaption {
  position: absolute;
  left: 15px;
  bottom: 13px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.gallery-note {
  margin-top: 14px;
  color: #91a5be;
  font-size: 11px;
}

.deal-section {
  padding: 68px 0;
  background: #f6f9f7;
}

.deal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.deal-copy p {
  margin-top: 13px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.deal-copy .text-link {
  display: inline-block;
  margin-top: 8px;
}

.deal-highlights {
  border-top: 1px solid #dce4df;
}

.deal-highlights>div {
  display: grid;
  grid-template-columns: 34px 155px 1fr;
  gap: 14px;
  padding: 17px 0;
  border-bottom: 1px solid #dce4df;
  align-items: start;
}

.deal-highlights span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  padding-top: 3px;
}

.deal-highlights strong {
  color: var(--navy-900);
  font-size: 13px;
}

.deal-highlights p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.datacamp-community {
  padding: 68px 0;
  background: var(--navy-900);
  color: #fff;
}

.datacamp-community-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.datacamp-community h2 {
  color: #fff;
}

.datacamp-community-grid>div:first-child>p {
  margin-top: 13px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.7;
}

.datacamp-community .button {
  margin-top: 23px;
}

.datacamp-points {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.datacamp-points>div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.datacamp-points span {
  color: var(--green-500);
  font-size: 10px;
  font-weight: 800;
}

.datacamp-points strong {
  color: #eef3f7;
  font-size: 13px;
}

.featured-event-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.featured-event-grid article {
  min-height: 210px;
  padding: 24px;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
}

.featured-event-grid span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.featured-event-grid h3 {
  margin-top: 27px;
  color: var(--navy-900);
  font-size: 18px;
  line-height: 1.3;
}

.featured-event-grid p {
  margin-top: 9px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.community-video-section {
  padding: 70px 0 76px;
  background: #f6f9f7;
}

.video-head h2 {
  color: var(--navy-900);
}

.community-video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.video-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
}

.video-placeholder {
  aspect-ratio: 16/9;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--navy-950), var(--navy-800));
  color: #fff;
}

.video-embed {
  aspect-ratio: 16/9;
  background: var(--navy-950);
}

.video-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-placeholder span {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding-left: 3px;
  font-size: 18px;
}

.video-card>div:last-child {
  padding: 20px;
}

.video-card small {
  color: var(--green-700);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
}

.video-card h3 {
  margin-top: 7px;
  color: var(--navy-900);
  font-size: 17px;
  line-height: 1.35;
}

.video-card p {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.community-closing {
  margin-bottom: 36px;
  padding: 62px 0;
  background: var(--navy-950);
}

.community-closing-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.community-closing h2 {
  color: #fff;
  max-width: 760px;
}

.community-closing p {
  margin-top: 12px;
  max-width: 720px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.65;
}

.community-closing-actions {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

@media(max-width:1000px) {

  .community-programme-grid,
  .featured-event-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dataxplore-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media(max-width:820px) {

  .community-hero-grid,
  .community-section-head,
  .deal-grid,
  .datacamp-community-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .community-section-head {
    gap: 17px;
  }

  .community-section-head>p {
    justify-self: start;
  }

  .community-programmes,
  .featured-events,
  .deal-section,
  .datacamp-community,
  .community-video-section,
  .dataxplore-section {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .community-video-grid {
    grid-template-columns: 1fr;
  }

  .community-closing-grid {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media(max-width:600px) {
  .community-hero {
    padding: 38px 0 46px;
  }

  .community-hero h1 {
    font-size: 18px;
  }

  .community-hero-actions {
    flex-direction: column;
  }

  .community-principles,
  .community-programme-grid,
  .featured-event-grid {
    grid-template-columns: 1fr;
  }

  .dataxplore-gallery {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 145px;
  }

  .dataxplore-gallery .gallery-wide {
    grid-column: span 2;
  }

  .dataxplore-gallery .gallery-tall {
    grid-row: span 1;
  }

  .deal-highlights>div {
    grid-template-columns: 30px 1fr;
  }

  .deal-highlights p {
    grid-column: 2;
  }

  .community-closing {
    margin-bottom: 24px;
  }

  .community-closing-actions {
    width: 100%;
    flex-direction: column;
  }

  .community-closing-actions .button {
    width: 100%;
  }
}


/* =========================================================
   COMMUNITY — IMAGE-LED PROGRAMME CARDS
   ========================================================= */

.community-story-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.story-card-datacamp {
  order: 1;
}

.story-card-deal {
  order: 2;
}

.story-card-dataxplore {
  order: 3;
}

.story-card-mentorship {
  order: 4;
}

.community-story-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dde5e0;
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(6, 26, 58, .035);
  transition: transform .22s ease, box-shadow .22s ease;
}

.community-story-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.community-story-image {
  position: relative;
  display: block;
  height: 245px;
  overflow: hidden;
  background: var(--navy-900);
}

.community-story-image img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.community-story-card:hover .community-story-image img {
  transform: scale(1.025);
}

.story-image-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 80% 20%, rgba(17, 169, 90, .35), transparent 28%),
    linear-gradient(135deg, #061a3a, #0a2550);
  color: #fff;
}

.story-dataxplore .story-image-fallback {
  background:
    radial-gradient(circle at 15% 20%, rgba(122, 45, 226, .25), transparent 32%),
    linear-gradient(135deg, #061a3a, #14335f);
}

.story-deal .story-image-fallback {
  background:
    radial-gradient(circle at 85% 15%, rgba(17, 169, 90, .32), transparent 30%),
    linear-gradient(135deg, #0a2550, #061a3a);
}

.story-mentorship .story-image-fallback {
  background:
    radial-gradient(circle at 20% 80%, rgba(17, 169, 90, .28), transparent 34%),
    linear-gradient(135deg, #061a3a, #102e55);
}

.story-image-fallback span {
  color: #69d99a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}

.story-image-fallback strong {
  margin-top: 7px;
  max-width: 330px;
  font: 700 24px/1.2 "Poppins", sans-serif;
}

.community-story-body {
  position: relative;
  min-height: 210px;
  padding: 26px 27px 18px;
  display: flex;
  flex-direction: column;
}

.story-number {
  position: absolute;
  top: 28px;
  right: 27px;
  color: #99a6b5;
  font-size: 10px;
  font-weight: 800;
}

.community-story-body h3 {
  padding-right: 42px;
  color: var(--navy-900);
  font-size: 21px;
  line-height: 1.25;
}

.community-story-body>p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.story-link {
  margin-top: 14px;
  padding-top: 0;
  color: var(--green-700);
  font-size: 13px;
  font-weight: 800;
}

/* =========================================================
   COMMUNITY PROGRAMME DETAIL PAGES
   ========================================================= */

.community-detail-page {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
}

.community-detail-page h1,
.community-detail-page h2,
.community-detail-page h3 {
  font-family: "Poppins", sans-serif;
}

.programme-detail-hero {
  padding: 58px 0 66px;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.programme-detail-grid {
  display: grid;
  grid-template-columns: 1.03fr .97fr;
  gap: 70px;
  align-items: center;
}

.programme-detail-copy h1 {
  margin-top: 18px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.programme-detail-copy h1 em {
  color: var(--green-700);
  font-style: normal;
}

.programme-detail-copy>p {
  margin-top: 23px;
  max-width: 650px;
  color: #465a75;
  font-size: 16px;
  line-height: 1.72;
}

.programme-detail-actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}

.programme-detail-actions .text-link {
  margin: 0;
  padding: 0;
}

.programme-detail-image {
  position: relative;
  margin: 0;
  min-height: 390px;
  overflow: hidden;
  border-radius: 22px;
  background: var(--navy-900);
  box-shadow: 0 20px 55px rgba(6, 26, 58, .12);
}

.programme-detail-image img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 390px;
  object-fit: cover;
  display: block;
}

.programme-detail-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 80% 20%, rgba(17, 169, 90, .3), transparent 30%),
    linear-gradient(135deg, #061a3a, #14335f);
  color: #fff;
}

.programme-detail-fallback span {
  color: #67d895;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}

.programme-detail-fallback strong {
  margin-top: 8px;
  max-width: 390px;
  font: 700 29px/1.17 "Poppins", sans-serif;
}

.programme-detail-intro {
  padding: 68px 0;
  background: #fff;
}

.programme-detail-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: end;
}

.programme-detail-split h2,
.programme-detail-heading h2,
.programme-detail-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.programme-detail-split>p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.programme-detail-points {
  padding: 68px 0;
}

.dark-detail {
  background: var(--navy-950);
  color: #fff;
}

.programme-detail-heading {
  max-width: 760px;
  margin-bottom: 32px;
}

.dark-detail .programme-detail-heading h2 {
  color: #fff;
}

.programme-detail-heading>p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.programme-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .15);
  border-left: 1px solid rgba(255, 255, 255, .15);
}

.programme-feature-grid article {
  min-height: 210px;
  padding: 24px;
  border-right: 1px solid rgba(255, 255, 255, .15);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.programme-feature-grid span {
  color: var(--green-500);
  font-size: 10px;
  font-weight: 800;
}

.programme-feature-grid h3 {
  margin-top: 28px;
  color: #fff;
  font-size: 18px;
}

.programme-feature-grid p {
  margin-top: 9px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.6;
}

.dataxplore-detail-gallery {
  padding: 68px 0 76px;
  background: #f6f9f7;
}

.detail-gallery {
  margin-top: 28px;
}

.dataxplore-detail-gallery .dataxplore-gallery figure {
  background: #dfe7e2;
}

.dataxplore-detail-gallery .dataxplore-gallery img {
  min-width: 100%;
}

.programme-detail-closing {
  margin-bottom: 36px;
  padding: 60px 0;
  background: var(--navy-950);
}

.programme-detail-closing-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

.programme-detail-closing h2 {
  color: #fff;
  max-width: 720px;
}

/* Data Wired × DataCamp partnership */
.datacamp-partnership-page .datacamp-link {
  color: inherit;
  text-decoration: none;
}

.datacamp-partnership-page .datacamp-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.datacamp-partnership-page .cohort-grid {
  max-width: none;
}

.datacamp-partnership-page .programme-detail-closing {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  border-radius: 24px;
}

.datacamp-partnership-page .programme-detail-closing > .container {
  width: 100%;
  padding-inline: 40px;
}

.datacamp-partnership-page .detail-copy p+p,
.datacamp-partnership-page .cohort-card p+p,
.datacamp-partnership-page .challenge-layout p+p,
.datacamp-partnership-page .mailing-panel p+p,
.datacamp-partnership-page .regional-grid p+p {
  margin-top: 16px;
}

.datacamp-partnership-page .detail-copy {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.datacamp-partnership-page .feature-grid-three {
  grid-template-columns: repeat(3, 1fr);
}

.datacamp-partnership-page .programme-detail-heading>p {
  max-width: 660px;
  color: #bac8d8;
}

.cohort-section,
.challenge-section,
.mailing-section,
.regional-section {
  padding: 76px 0;
}

.mailing-section {
  background: #f6f9f7;
}

.cohort-card h2,
.challenge-heading h2,
.mailing-panel h2,
.regional-grid h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.cohort-section,
.regional-section {
  background: #fff;
}

.cohort-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.cohort-card {
  min-height: 430px;
  padding: 39px;
  border: 1px solid var(--line);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cohort-card>p:not(.kicker) {
  margin-top: 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.cohort-card .text-link {
  margin-top: auto;
  padding-top: 28px;
}

.cohort-card-dark {
  background: var(--navy-950);
  border-color: var(--navy-950);
}

.cohort-card-dark h2 {
  color: #fff;
}

.cohort-card-dark>p:not(.kicker) {
  color: #bac8d8;
}

.cohort-card-dark .text-link {
  color: #7ce0a7;
}

.challenge-section {
  background: var(--navy-950);
  color: #fff;
}

.challenge-heading {
  max-width: 760px;
}

.challenge-heading h2 {
  color: #fff;
}

.challenge-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 80px;
  margin-top: 34px;
  align-items: start;
}

.challenge-layout h3 {
  color: #fff;
  font-size: 24px;
  line-height: 1.25;
}

.challenge-layout p {
  margin-top: 13px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.72;
}

.challenge-date {
  margin-top: 24px !important;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #fff !important;
  font: 700 20px/1.2 "Poppins", sans-serif;
}

.challenge-date span {
  color: #71dd9f;
  font: 800 10px/1.2 "DM Sans", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.challenge-layout .button {
  margin-top: 25px;
}

.challenge-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.datacamp-partnership-page .challenge-timeline-heading {
  margin: 0 0 14px;
  color: #fff;
  font: 700 18px/1.3 "Poppins", sans-serif;
}

.challenge-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 20px;
  padding: 21px 0 21px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.challenge-timeline li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 25px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green-500);
}

.challenge-timeline span {
  color: #71dd9f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.challenge-timeline strong {
  color: #fff;
  font-size: 16px;
}

.datacamp-partnership-page .challenge-timeline small {
  display: block;
  margin-top: 5px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.5;
}

.mailing-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
  padding: 46px 50px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 35px rgba(6, 26, 58, .06);
}

.mailing-panel>div {
  max-width: 740px;
}

.mailing-panel>div>p:not(.kicker),
.regional-grid>div {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.mailing-panel .button {
  flex: 0 0 auto;
}

.regional-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 72px;
  align-items: start;
}

@media (max-width: 900px) {
  .datacamp-partnership-page .cohort-grid {
    grid-template-columns: 1fr;
  }

  .datacamp-partnership-page .feature-grid-three {
    grid-template-columns: repeat(2, 1fr);
  }

  .cohort-grid,
  .challenge-layout,
  .regional-grid {
    grid-template-columns: 1fr;
  }

  .challenge-layout,
  .regional-grid {
    gap: 36px;
  }

  .mailing-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 600px) {

  .datacamp-partnership-page .programme-detail-closing {
    width: calc(100% - 28px);
    border-radius: 20px;
  }

  .datacamp-partnership-page .programme-detail-closing > .container {
    padding-inline: 24px;
  }


  .cohort-section,
  .challenge-section,
  .mailing-section,
  .regional-section {
    padding: 50px 0;
  }

  .datacamp-partnership-page .feature-grid-three {
    grid-template-columns: 1fr;
  }

  .cohort-card {
    min-height: 0;
    padding: 29px 24px;
  }

  .datacamp-partnership-page .cohort-card {
    padding: 29px 24px;
  }

  .mailing-panel {
    padding: 31px 24px;
  }

  .challenge-timeline li {
    grid-template-columns: 76px 1fr;
    gap: 12px;
  }
}

@media (max-width: 900px) {

  .community-story-grid,
  .programme-detail-grid,
  .programme-detail-split {
    grid-template-columns: 1fr;
  }

  .programme-detail-grid,
  .programme-detail-split {
    gap: 36px;
  }

  .programme-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .programme-detail-closing-grid {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 600px) {
  .community-story-grid {
    grid-template-columns: 1fr;
  }

  .community-story-image {
    height: 210px;
  }

  .community-story-body {
    min-height: 200px;
    padding: 23px 21px;
  }

  .programme-detail-hero {
    padding: 38px 0 46px;
  }

  .programme-detail-copy h1 {
    font-size: 38px;
  }

  .programme-detail-image,
  .programme-detail-image img {
    min-height: 290px;
    height: 290px;
  }

  .programme-detail-intro,
  .programme-detail-points,
  .dataxplore-detail-gallery {
    padding-top: 48px;
    padding-bottom: 50px;
  }

  .programme-feature-grid {
    grid-template-columns: 1fr;
  }

  .programme-detail-closing {
    margin-bottom: 24px;
  }
}

/* DataXplore 2023 */
.dataxplore-event-intro {
  padding: 50px 0;
  background: #f6f9f7;
}

.dataxplore-event-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: end;
}

.dataxplore-event-grid h2,
.dataxplore-section-head h2,
.dataxplore-media-head h2,
.dataxplore-video h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.dataxplore-event-grid header>p:not(.kicker) {
  margin-top: 14px;
  color: var(--green-700);
  font-weight: 700;
}

.dataxplore-event-grid dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.dataxplore-event-grid dl div {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.dataxplore-event-grid dt {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dataxplore-event-grid dd {
  margin: 0;
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.dataxplore-programme {
  padding: 58px 0;
  background: var(--navy-950);
}

.dataxplore-section-head {
  max-width: 720px;
}

.dataxplore-section-head h2 {
  color: #fff;
}

.dataxplore-section-head>p:not(.kicker) {
  margin-top: 14px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.7;
}

.dataxplore-days {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 28px;
}

.dataxplore-days article {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .17);
}

.dataxplore-days span {
  color: #70da9d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.dataxplore-days h3 {
  margin-top: 22px;
  color: #fff;
  font-size: 21px;
  line-height: 1.3;
}

.dataxplore-days p {
  margin-top: 11px;
  color: #bac8d8;
  font-size: 14px;
  line-height: 1.68;
}

.dataxplore-media {
  padding: 76px 0;
  background: #fff;
}

.dataxplore-media-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
}

.gallery-controls {
  display: flex;
  gap: 8px;
}

.gallery-scroll {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--navy-900);
  font-size: 21px;
  cursor: pointer;
  transition: .2s ease;
}

.gallery-scroll:hover {
  border-color: var(--green-700);
  background: var(--green-700);
  color: #fff;
}

.dataxplore-scroll-gallery {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  margin-top: 30px;
  padding: 0 0 13px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--green-700) #edf2ef;
  scrollbar-width: thin;
}

.dataxplore-scroll-gallery figure {
  position: relative;
  flex: 0 0 min(410px, 78vw);
  height: 300px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  scroll-snap-align: start;
  background: var(--navy-900);
}

.dataxplore-scroll-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.dataxplore-scroll-gallery figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.gallery-scroll-note {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.dataxplore-video {
  padding: 76px 0;
  background: #f6f9f7;
}

.dataxplore-video-grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 72px;
  align-items: center;
}

.dataxplore-video header>p:not(.kicker) {
  margin-top: 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.dataxplore-video .text-link {
  display: inline-block;
  margin-top: 24px;
}

.dataxplore-video-frame {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px;
  background: var(--navy-950);
  box-shadow: 0 18px 38px rgba(6, 26, 58, .13);
}

.dataxplore-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.dataxplore-testimonial {
  padding: 76px 0;
  background: #fff;
}

.dataxplore-testimonial .container {
  max-width: 900px;
}

.dataxplore-testimonial blockquote {
  margin: 18px 0 0;
  color: var(--navy-900);
  font: 600 clamp(18px, 2vw, 26px)/1.38 "Poppins", sans-serif;
  letter-spacing: -.028em;
}

.testimonial-name {
  margin-top: 25px;
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 800;
}

.testimonial-name span {
  display: block;
  margin-top: 4px;
  color: var(--green-700);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 900px) {

  .dataxplore-event-grid,
  .dataxplore-video-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .dataxplore-days {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

  .dataxplore-event-intro,
  .dataxplore-programme,
  .dataxplore-media,
  .dataxplore-video,
  .dataxplore-testimonial {
    padding: 50px 0;
  }

  .dataxplore-event-grid dl div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .dataxplore-days article {
    padding: 26px 23px;
  }

  .dataxplore-media-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .dataxplore-scroll-gallery figure {
    height: 250px;
  }

  .dataxplore-video-frame {
    border-radius: 12px;
  }
}

.dataxplore-page .programme-detail-closing {
  margin: 0;
  padding: 0 0 76px;
  background: #fff;
}

.dataxplore-page .programme-detail-closing-grid {
  padding: 54px 72px;
  border-radius: 32px;
  background: var(--navy-950);
}

.dataxplore-page .programme-detail-closing .button {
  min-width: 230px;
}

@media (max-width: 900px) {
  .dataxplore-page .programme-detail-closing-grid {
    padding: 44px 48px;
  }
}

@media (max-width: 600px) {
  .dataxplore-page .programme-detail-closing {
    padding-bottom: 50px;
  }

  .dataxplore-page .programme-detail-closing-grid {
    padding: 32px 24px;
    border-radius: 22px;
  }

  .dataxplore-page .programme-detail-closing .button {
    min-width: 0;
  }
}

/* DEAL 2026 */
.deal-overview {
  padding: 68px 0;
  background: #fff;
}

.deal-overview-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 72px;
  align-items: start;
}

.deal-overview h2,
.deal-section-head h2,
.deal-timeline h2,
.deal-recognition h2,
.deal-media h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.deal-overview-grid>div {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.deal-overview-grid p+p {
  margin-top: 16px;
}

.deal-impact {
  padding: 72px 0;
  background: var(--navy-950);
}

.deal-section-head {
  max-width: 720px;
}

.deal-section-head h2 {
  color: #fff;
}

.deal-section-head>p:not(.kicker) {
  margin-top: 13px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.7;
}

.deal-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 33px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.deal-impact-grid article {
  min-height: 210px;
  padding: 25px;
  border-right: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.deal-impact-grid span {
  color: #70da9d;
  font-size: 10px;
  font-weight: 800;
}

.deal-impact-grid h3 {
  margin-top: 27px;
  color: #fff;
  font-size: 18px;
}

.deal-impact-grid p {
  margin-top: 9px;
  color: #bac8d8;
  font-size: 13px;
  line-height: 1.62;
}

.deal-timeline {
  padding: 76px 0;
  background: #f6f9f7;
}

.deal-timeline header {
  max-width: 700px;
}

.deal-timeline ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.deal-timeline li {
  padding: 23px 0 0;
  border-top: 2px solid var(--green-700);
}

.deal-timeline span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.deal-timeline h3 {
  margin-top: 15px;
  color: var(--navy-900);
  font-size: 17px;
  line-height: 1.35;
}

.deal-timeline p {
  margin-top: 9px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

.deal-recognition {
  padding: 76px 0;
  background: #fff;
}

.deal-recognition-panel {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 70px;
  padding: 48px 52px;
  border-radius: 24px;
  background: var(--navy-900);
}

.deal-recognition h2 {
  color: #fff;
}

.deal-recognition p:not(.kicker) {
  margin-top: 15px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.7;
}

.deal-partners {
  align-self: center;
  padding-left: 34px;
  border-left: 1px solid rgba(255, 255, 255, .18);
}

.deal-partners>p {
  margin: 0 !important;
  color: #70da9d !important;
  font-size: 10px !important;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.deal-partners ul {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.deal-partners li {
  padding: 9px 0;
  color: #fff;
  font-size: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.deal-page .deal-partners a:hover,
.deal-page .deal-partners a:focus-visible {
  color: #7ce0a7;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.deal-gallery-section {
  padding: 76px 0;
  background: #f6f9f7;
}

.deal-workshop-gallery {
  background: #fff;
}

.deal-scroll-gallery {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  margin-top: 30px;
  padding-bottom: 13px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--green-700) #edf2ef;
  scrollbar-width: thin;
}

.deal-scroll-gallery figure {
  position: relative;
  flex: 0 0 min(410px, 78vw);
  height: 300px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--navy-900);
  scroll-snap-align: start;
}

.deal-scroll-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.deal-scroll-gallery figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.deal-media {
  padding: 76px 0;
  background: #f6f9f7;
}

.deal-media-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 72px;
  align-items: center;
}

.deal-page .deal-media-grid {
  grid-template-columns: 1fr;
  gap: 32px;
}

.deal-media header>p:not(.kicker) {
  margin-top: 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.deal-press {
  display: grid;
  gap: 12px;
  margin-top: 23px;
}

.deal-press .text-link {
  margin: 0;
}

.deal-page .deal-press {
  gap: 6px;
}

.deal-page .deal-press .text-link {
  padding-top: 0;
}

.deal-video-frame {
  overflow: hidden;
  border-radius: 18px;
  background: var(--navy-950);
  box-shadow: 0 18px 38px rgba(6, 26, 58, .13);
}

.deal-page .deal-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.deal-video-frame iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
}

.deal-video-frame>div {
  display: flex;
  gap: 18px;
  padding: 14px 18px;
}

.deal-video-frame a {
  color: #7ce0a7;
  font-size: 12px;
  font-weight: 700;
}

.deal-page .programme-detail-closing {
  margin: 0;
  padding: 40px 0 76px;
  background: #fff;
}

.deal-page .programme-detail-closing-grid {
  padding: 54px 72px;
  border-radius: 32px;
  background: var(--navy-950);
}

.deal-page .programme-detail-closing .button {
  min-width: 230px;
}

@media (max-width: 900px) {

  .deal-overview-grid,
  .deal-recognition-panel,
  .deal-media-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .deal-impact-grid {
    grid-template-columns: 1fr;
  }

  .deal-timeline ol {
    grid-template-columns: repeat(2, 1fr);
  }

  .deal-partners {
    padding: 0;
    border: 0;
  }

  .deal-page .programme-detail-closing-grid {
    padding: 44px 48px;
  }
}

@media (max-width: 600px) {

  .deal-overview,
  .deal-impact,
  .deal-timeline,
  .deal-recognition,
  .deal-gallery-section,
  .deal-media {
    padding: 50px 0;
  }

  .deal-timeline ol {
    grid-template-columns: 1fr;
  }

  .deal-recognition-panel {
    padding: 32px 24px;
    border-radius: 20px;
  }

  .deal-scroll-gallery figure {
    height: 250px;
  }

  .deal-page .deal-video-grid {
    grid-template-columns: 1fr;
  }

  .deal-video-frame>div {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .deal-page .programme-detail-closing {
    padding-bottom: 50px;
  }

  .deal-page .programme-detail-closing-grid {
    padding: 32px 24px;
    border-radius: 22px;
  }

  .deal-page .programme-detail-closing .button {
    min-width: 0;
  }
}

/* Legal pages */
.legal-page {
  color: var(--ink);
}

.legal-page h1,
.legal-page h2 {
  font-family: "Poppins", sans-serif;
}

.legal-hero {
  padding: 64px 0;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.legal-hero h1 {
  margin-top: 16px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.legal-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.legal-hero>.container>p:not(.eyebrow):not(.legal-updated) {
  max-width: 680px;
  margin-top: 20px;
  color: #465a75;
  font-size: 16px;
  line-height: 1.72;
}

.legal-updated {
  margin-top: 23px;
  color: var(--green-700);
  font-size: 12px;
  font-weight: 800;
}

.legal-content {
  padding: 72px 0 86px;
  background: #fff;
}

.legal-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 760px);
  gap: 80px;
  align-items: start;
}

.legal-nav {
  position: sticky;
  top: 105px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.legal-nav p {
  margin-bottom: 11px;
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.legal-nav a {
  display: block;
  padding: 8px 0;
  color: #52647d;
  font-size: 13px;
  line-height: 1.35;
}

.legal-nav a:hover {
  color: var(--green-700);
}

.legal-article section+section {
  margin-top: 44px;
  padding-top: 44px;
  border-top: 1px solid var(--line);
}

.legal-article h2 {
  color: var(--navy-900);
  font-size: 25px;
  letter-spacing: -.025em;
}

.legal-article p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.legal-article a {
  color: var(--green-700);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .legal-nav {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 22px;
  }

  .legal-nav p {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .legal-hero {
    padding: 46px 0;
  }

  .legal-content {
    padding: 50px 0;
  }

  .legal-nav {
    grid-template-columns: 1fr;
  }

  .legal-article section+section {
    margin-top: 34px;
    padding-top: 34px;
  }
}

/* FAQ */
.faq-page {
  color: var(--ink);
}

.faq-page h1,
.faq-page h2 {
  font-family: "Poppins", sans-serif;
}

.faq-hero {
  padding: 64px 0;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
  border-bottom: 1px solid var(--line);
}

.faq-hero h1 {
  margin-top: 16px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.faq-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.faq-hero>.container>p:not(.eyebrow) {
  max-width: 610px;
  margin-top: 20px;
  color: #465a75;
  font-size: 16px;
  line-height: 1.72;
}

.faq-content {
  padding: 72px 0;
  background: #fff;
}

.faq-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 790px);
  gap: 80px;
  align-items: start;
}

.faq-nav {
  position: sticky;
  top: 105px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.faq-nav p {
  margin-bottom: 11px;
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.faq-nav a {
  display: block;
  padding: 8px 0;
  color: #52647d;
  font-size: 13px;
  line-height: 1.35;
}

.faq-nav a:hover {
  color: var(--green-700);
}

.faq-groups section+section {
  margin-top: 50px;
}

.faq-groups header {
  margin-bottom: 20px;
}

.faq-groups h2 {
  margin-top: 9px;
  color: var(--navy-900);
  font-size: 28px;
  letter-spacing: -.03em;
}

.faq-groups details {
  border-top: 1px solid var(--line);
}

.faq-groups details:last-child {
  border-bottom: 1px solid var(--line);
}

.faq-groups summary {
  position: relative;
  padding: 20px 40px 20px 0;
  color: var(--navy-900);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}

.faq-groups summary::-webkit-details-marker {
  display: none;
}

.faq-groups summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 17px;
  color: var(--green-700);
  font-size: 25px;
  font-weight: 400;
}

.faq-groups details[open] summary::after {
  content: "−";
}

.faq-groups details p {
  max-width: 700px;
  padding: 0 34px 20px 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.faq-groups details a {
  color: var(--green-700);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-closing {
  padding: 0 0 76px;
  background: #fff;
}

.faq-closing-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
  padding: 54px 72px;
  border-radius: 32px;
  background: var(--navy-950);
}

.faq-closing h2 {
  margin-top: 10px;
  max-width: 710px;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.faq-closing p:not(.kicker) {
  margin-top: 12px;
  color: #bac8d8;
  font-size: 15px;
}

.faq-closing .button {
  min-width: 210px;
}

@media (max-width: 900px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .faq-nav {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 22px;
  }

  .faq-nav p {
    grid-column: 1 / -1;
  }

  .faq-closing-panel {
    align-items: flex-start;
    flex-direction: column;
    padding: 44px 48px;
  }
}

@media (max-width: 600px) {

  .faq-hero,
  .faq-content {
    padding: 50px 0;
  }

  .faq-nav {
    grid-template-columns: 1fr;
  }

  .faq-closing {
    padding-bottom: 50px;
  }

  .faq-closing-panel {
    padding: 32px 24px;
    border-radius: 22px;
  }

  .faq-closing .button {
    min-width: 0;
  }
}

/* Community closing CTA */
.community-closing {
  margin: 0;
  padding: 0 0 76px;
  background: #fff;
}

.community-closing-grid {
  padding: 54px 72px;
  border-radius: 32px;
  background: var(--navy-950);
}

.community-closing h2 {
  max-width: 760px;
  font-size: clamp(26px, 2.5vw, 34px);
}

@media (max-width: 900px) {
  .community-closing-grid {
    padding: 44px 48px;
  }
}

@media (max-width: 600px) {
  .community-closing {
    padding-bottom: 50px;
  }

  .community-closing-grid {
    padding: 32px 24px;
    border-radius: 22px;
  }
}

/* Events & experiences */
.events-page h1,
.events-page h2,
.events-page h3 {
  font-family: "Poppins", sans-serif;
}

.events-hero {
  padding: 62px 0 70px;
  background: linear-gradient(180deg, #f7faf8 0%, #fff 100%);
}

.events-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 72px;
  align-items: center;
}

.events-hero h1 {
  margin-top: 17px;
  color: var(--navy-900);
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
  letter-spacing: -.042em;
}

.events-hero h1 em {
  color: var(--green-700);
  font-style: normal;
}

.events-hero-grid>div>p:not(.eyebrow) {
  max-width: 660px;
  margin-top: 21px;
  color: #465a75;
  font-size: 16px;
  line-height: 1.72;
}

.events-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 19px;
  margin-top: 27px;
}

.events-hero-panel {
  min-height: 350px;
  padding: 35px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 23px;
  background: radial-gradient(circle at 86% 15%, rgba(32, 188, 101, .32), transparent 28%), var(--navy-950);
}

.events-hero-panel span {
  color: #70da9d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.events-hero-panel strong {
  margin-top: 13px;
  color: #fff;
  font: 700 clamp(30px, 3vw, 42px)/1.12 "Poppins", sans-serif;
  letter-spacing: -.035em;
}

.events-hero-panel p {
  margin-top: 12px !important;
  color: #bac8d8 !important;
  font-size: 14px !important;
}

.events-upcoming,
.events-programmes,
.events-previous,
.events-stay {
  padding: 76px 0;
}

.events-upcoming,
.events-previous {
  background: #fff;
}

.events-programmes,
.events-stay {
  background: #f6f9f7;
}

.events-head {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 72px;
  align-items: end;
  margin-bottom: 34px;
}

.events-head h2,
.events-coming h2,
.events-stay h2,
.events-closing h2 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.events-head>p {
  max-width: 470px;
  justify-self: end;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.events-upcoming-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.event-card {
  min-height: 390px;
  padding: 31px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
}

.event-card>span,
.events-programme-grid article>div>span {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
}

.event-card-webinar {
  background: var(--navy-950);
  border-color: var(--navy-950);
}

.event-label {
  color: var(--green-700);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
}

.event-card h3 {
  margin-top: 11px;
  color: var(--navy-900);
  font-size: 23px;
  line-height: 1.25;
}

.event-card>div>p:not(.event-label) {
  margin-top: 12px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.event-card-webinar>span,
.event-card-webinar .event-label {
  color: #72dfa1;
}

.event-card-webinar h3 {
  color: #fff;
}

.event-card-webinar>div>p:not(.event-label) {
  color: #bac8d8;
}

.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.event-meta span {
  padding: 7px 9px;
  border-radius: 5px;
  background: #edf4ef;
  color: #36506f;
  font-size: 11px;
  font-weight: 700;
}

.event-card-webinar .event-meta span {
  background: rgba(255, 255, 255, .1);
  color: #d8e2ed;
}

.event-card .text-link {
  display: inline-block;
  margin-top: 22px;
}

.event-card-webinar .text-link {
  color: #7ce0a7;
}

.events-coming {
  padding: 0 0 76px;
  background: #fff;
}

.events-page .events-coming {
  padding: 76px 0;
  background: #f6f9f7;
}

.events-coming-panel,
.events-closing-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
  padding: 50px 60px;
  border-radius: 28px;
  background: var(--navy-900);
}

.events-coming h2,
.events-closing h2 {
  max-width: 720px;
  color: #fff;
}

.events-coming p:not(.kicker),
.events-closing p:not(.kicker) {
  margin-top: 12px;
  max-width: 680px;
  color: #bac8d8;
  font-size: 15px;
  line-height: 1.65;
}

.events-programme-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.events-programme-grid article {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  overflow: hidden;
  border-radius: 17px;
  background: #fff;
}

.events-programme-grid img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  object-position: center top;
}

.events-programme-grid article>div {
  padding: 28px;
}

.events-programme-grid h3,
.events-previous-grid h3 {
  margin-top: 10px;
  color: var(--navy-900);
  font-size: 20px;
  line-height: 1.32;
}

.events-programme-grid p:not(.event-label),
.events-previous-grid p:not(.event-label),
.events-intro-copy {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.63;
}

.events-programme-grid .text-link,
.events-previous-grid .text-link {
  display: inline-block;
  margin-top: 22px;
}

.events-intro-copy {
  max-width: 750px;
  margin-top: -16px;
  margin-bottom: 27px;
  font-size: 15px;
}

.events-previous-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.events-previous-grid article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.events-previous-grid img {
  width: 100%;
  height: 205px;
  display: block;
  object-fit: cover;
  object-position: center top;
}

.events-previous-grid article>div {
  padding: 23px;
}

.events-past-placeholder {
  display: flex;
  align-items: flex-end;
  min-height: 330px;
  background: radial-gradient(circle at 80% 20%, rgba(15, 154, 78, .16), transparent 25%), #f3f7f4;
}

.events-watch {
  padding: 76px 0;
  background: var(--navy-950);
}

.events-watch .events-head h2 {
  color: #fff;
}

.events-watch .events-head>p {
  color: #bac8d8;
}

.events-video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.events-video-grid a {
  position: relative;
  min-height: 210px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 15px;
  background: linear-gradient(145deg, #123766, #071d3d);
}

.events-video-grid a::before {
  content: "";
  position: absolute;
  width: 100px;
  height: 100px;
  top: -35px;
  right: -22px;
  border: 24px solid rgba(112, 218, 157, .19);
  border-radius: 50%;
}

.events-video-grid span {
  position: relative;
  color: #72dfa1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.events-video-grid strong {
  position: relative;
  margin-top: 10px;
  color: #fff;
  font: 700 20px/1.3 "Poppins", sans-serif;
}

.events-video-grid i {
  position: absolute;
  top: 23px;
  right: 23px;
  color: #fff;
  font-size: 21px;
  font-style: normal;
}

.events-stay-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
  padding: 47px 50px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 35px rgba(6, 26, 58, .06);
}

.events-stay-grid>div {
  max-width: 750px;
}

.events-stay-grid>div>p:not(.kicker) {
  margin-top: 14px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.events-stay-grid .button {
  flex: 0 0 auto;
}

.events-closing {
  padding: 0 0 76px;
  background: #f6f9f7;
}

.events-closing-panel>div:last-child {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

@media (max-width: 900px) {

  .events-hero-grid,
  .events-head,
  .events-upcoming-grid,
  .events-programme-grid,
  .events-media-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .events-head>p {
    justify-self: start;
  }

  .events-previous-grid,
  .events-video-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .events-coming-panel,
  .events-stay-grid,
  .events-closing-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 600px) {

  .events-hero,
  .events-upcoming,
  .events-programmes,
  .events-previous,
  .events-watch,
  .events-stay {
    padding: 50px 0;
  }

  .events-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .events-hero-panel {
    min-height: 270px;
  }

  .event-card {
    min-height: 0;
    padding: 26px 22px;
  }

  .events-coming,
  .events-closing {
    padding: 0 0 50px;
  }

  .events-page .events-coming {
    padding: 50px 0;
  }

  .events-coming-panel,
  .events-closing-panel,
  .events-stay-grid {
    padding: 32px 24px;
    border-radius: 22px;
  }

  .events-programme-grid article {
    grid-template-columns: 1fr;
  }

  .events-programme-grid img {
    height: 215px;
    min-height: 0;
  }

  .events-previous-grid,
  .events-video-grid {
    grid-template-columns: 1fr;
  }

  .events-closing-panel>div:last-child {
    width: 100%;
    flex-direction: column;
  }

  .events-closing-panel .button {
    width: 100%;
  }
}

/* Events page refinements */
.events-hero h1 {
  font-size: clamp(22px, 2.9vw, 40px);
}

.event-card,
.event-card-training {
  background: var(--navy-950);
  border-color: var(--navy-950);
}

.event-card>span,
.event-card .event-label {
  color: #72dfa1;
}

.event-card h3 {
  color: #fff;
}

.event-card>div>p:not(.event-label) {
  color: #bac8d8;
}

.event-card .event-meta span {
  background: rgba(255, 255, 255, .1);
  color: #d8e2ed;
}

.event-card .text-link {
  color: #7ce0a7;
}

.events-coming-panel {
  padding-top: 38px;
  padding-bottom: 38px;
}

.events-coming h2 {
  font-size: clamp(24px, 2vw, 32px);
}

.events-upcoming {
  padding-top: 48px;
}

.events-upcoming .event-card {
  min-height: 0;
  padding-bottom: 14px;
}

/* Resources */
.resources-page h1, .resources-page h2, .resources-page h3 { font-family: "Poppins", sans-serif; }.resources-hero { padding: 62px 0 70px; background: linear-gradient(180deg, #f7faf8 0%, #fff 100%); }.resources-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: center; }.resources-hero h1 { margin-top: 17px; color: var(--navy-900); font-size: clamp(42px, 4.4vw, 60px); line-height: 1.06; letter-spacing: -.042em; }.resources-hero h1 em { color: var(--green-700); font-style: normal; }.resources-hero-grid > div > p:not(.eyebrow) { max-width: 650px; margin-top: 16px; color: #465a75; font-size: 16px; line-height: 1.72; }.resources-hero .button { margin-top: 27px; }.resources-hero aside { min-height: 350px; padding: 35px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 23px; background: radial-gradient(circle at 86% 15%, rgba(32,188,101,.32), transparent 28%), var(--navy-950); }.resources-hero aside span { color: #70da9d; font-size: 10px; font-weight: 800; letter-spacing: .1em; }.resources-hero aside strong { margin-top: 13px; color: #fff; font: 700 clamp(29px, 3vw, 40px)/1.15 "Poppins", sans-serif; letter-spacing: -.035em; }.resources-hero aside p { margin-top: 12px; color: #bac8d8; font-size: 14px; }
.resources-featured { padding: 76px 0; background: #fff; }.resources-featured-grid { display: grid; grid-template-columns: .8fr 1fr .75fr; gap: 54px; align-items: start; }.resources-featured h2, .resources-head h2, .resources-reports h2, .resources-connect h2, .resources-closing h2 { margin-top: 10px; color: var(--navy-900); font-size: clamp(28px, 3vw, 40px); line-height: 1.15; letter-spacing: -.03em; }.resources-featured header > p:not(.kicker) { margin-top: 14px; color: var(--green-700); font-size: 16px; font-weight: 700; line-height: 1.55; }.resources-featured-copy { color: var(--muted); font-size: 15px; line-height: 1.72; }.resources-featured-copy p + p { margin-top: 15px; }.resources-featured-copy .button { margin-top: 25px; }.resources-checklist { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.resources-checklist li { position: relative; padding: 12px 0 12px 25px; border-bottom: 1px solid var(--line); color: #425a77; font-size: 13px; line-height: 1.45; }.resources-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--green-700); font-weight: 800; }
.resources-guides, .resources-connect { padding: 76px 0; background: #f6f9f7; }.resources-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: end; margin-bottom: 34px; }.resources-head > p { max-width: 470px; justify-self: end; color: var(--muted); font-size: 15px; line-height: 1.7; }.resources-guide-card { display: grid; grid-template-columns: 48px 1fr auto; gap: 23px; align-items: center; padding: 30px; border-radius: 17px; background: #fff; }.resources-guide-card > span { color: var(--green-700); font-size: 10px; font-weight: 800; }.resource-label { color: var(--green-700); font-size: 10px; font-weight: 800; letter-spacing: .09em; }.resources-guide-card h3 { margin-top: 9px; color: var(--navy-900); font-size: 22px; }.resources-guide-card div > p:not(.resource-label) { margin-top: 9px; max-width: 660px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.resources-reports { padding: 76px 0; background: var(--navy-950); }.resources-reports-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: center; }.resources-reports h2 { color: #fff; }.resources-reports header > p:not(.kicker) { margin-top: 14px; max-width: 650px; color: #bac8d8; font-size: 15px; line-height: 1.7; }.resources-reports .button { margin-top: 24px; }.resources-reports aside { min-height: 220px; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,255,255,.17); border-radius: 17px; }.resources-reports aside span { color: #70da9d; font-size: 10px; font-weight: 800; letter-spacing: .1em; }.resources-reports aside strong { margin-top: 13px; color: #fff; font: 700 25px/1.3 "Poppins", sans-serif; }
.resources-connect-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.resources-connect article { padding: 34px; border-radius: 18px; background: #fff; }.resources-connect article > p:not(.kicker) { margin-top: 14px; max-width: 530px; color: var(--muted); font-size: 14px; line-height: 1.7; }.resources-connect .button { margin-top: 25px; }.resources-closing { padding: 0 0 76px; background: #f6f9f7; }.resources-closing-panel { display: flex; align-items: center; justify-content: space-between; gap: 55px; padding: 50px 60px; border-radius: 28px; background: var(--navy-900); }.resources-closing h2 { max-width: 760px; color: #fff; }.resources-closing p:not(.kicker) { margin-top: 12px; max-width: 650px; color: #bac8d8; font-size: 15px; line-height: 1.65; }
@media (max-width: 900px) { .resources-hero-grid, .resources-featured-grid, .resources-head, .resources-reports-grid { grid-template-columns: 1fr; gap: 36px; }.resources-head > p { justify-self: start; }.resources-connect-grid { grid-template-columns: 1fr; }.resources-closing-panel { align-items: flex-start; flex-direction: column; } }
@media (max-width: 600px) { .resources-hero, .resources-featured, .resources-guides, .resources-reports, .resources-connect { padding: 50px 0; }.resources-hero aside { min-height: 270px; }.resources-guide-card { grid-template-columns: 1fr; gap: 13px; padding: 26px 23px; }.resources-closing { padding-bottom: 50px; }.resources-closing-panel { padding: 32px 24px; border-radius: 22px; }.resources-closing-panel .button { width: 100%; } }

.resources-page .resources-hero h1 {
  font-size: clamp(36.67px, calc(4.4vw - 5.33px), 54.67px);
}

.resources-page .resources-reports-grid {
  grid-template-columns: 1fr;
}

/* AI Stack Bootcamp landing page */
.ai-stack-page h1,.ai-stack-page h2,.ai-stack-page h3,.ai-stack-page h4{font-family:"Poppins",sans-serif}.stack-hero{padding:70px 0 76px;background:radial-gradient(circle at 84% 22%,rgba(32,188,101,.13),transparent 24%),linear-gradient(180deg,#f4faf6,#fff)}.stack-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.stack-pretitle{margin-top:19px;color:var(--green-700);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.stack-hero h1{margin-top:14px;max-width:750px;color:var(--navy-900);font-size:clamp(42px,4.65vw,67px);line-height:1.05;letter-spacing:-.05em}.stack-hero h1 em,.stack-build-card em{color:var(--green-700);font-style:normal}.stack-lede{max-width:680px;margin-top:24px;color:#465a75;font-size:17px;line-height:1.72}.stack-hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:29px}.text-link{color:var(--navy-900);font-size:13px;font-weight:800}.text-link span{padding-left:5px;color:var(--green-700)}.stack-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.stack-meta span{padding:7px 10px;border:1px solid #dce9e1;border-radius:999px;color:#375b4a;font-size:11px;font-weight:700}.stack-meta b{color:var(--green-700)}.stack-build-card{padding:37px;border-radius:24px;background:var(--navy-950);box-shadow:0 20px 50px rgba(6,25,51,.16);color:#fff}.card-label,.day-number,.cohort-tag{color:#69d999;font-size:10px;font-weight:800;letter-spacing:.11em}.stack-build-card h2{margin-top:17px;font-size:30px;line-height:1.16;letter-spacing:-.035em}.stack-build-card ol{margin:29px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.15)}.stack-build-card li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:12px;color:#c5d1df;line-height:1.5}.stack-build-card li>b{color:#69d999;font-size:10px}.stack-build-card strong{display:block;color:#fff;font-size:13px}.stack-build-card>p{margin-top:20px;color:#9fb0c5;font-size:12px}.stack-date-bar{background:var(--green-700);color:#fff}.stack-date-bar .container{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:25px}.stack-date-bar p{display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:12px}.stack-date-bar p span{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.09em}.stack-date-bar p i{font-style:normal;opacity:.75}.stack-date-bar p small{font-size:11px;opacity:.82}.stack-date-bar a{white-space:nowrap;color:#fff;font-size:12px;font-weight:800}.stack-date-bar a span{padding-left:5px}.stack-intro,.stack-transformation,.stack-outcomes,.stack-cohorts,.stack-faq{padding:82px 0}.stack-intro-grid{display:grid;grid-template-columns:.62fr 1.12fr 1fr;gap:45px;align-items:start}.stack-intro h2,.stack-section-heading h2,.stack-outcomes h2,.stack-trust h2,.stack-final h2{margin-top:8px;color:var(--navy-900);font-size:clamp(29px,3.2vw,44px);line-height:1.14;letter-spacing:-.04em}.stack-intro p{color:var(--muted);font-size:15px;line-height:1.75}.stack-intro p+p{margin-top:15px}.stack-audience,.stack-curriculum,.stack-trust,.stack-final{padding:82px 0;background:var(--navy-950)}.stack-section-heading{max-width:820px;margin-bottom:35px}.stack-section-heading h2{color:var(--navy-900)}.stack-section-heading p{margin-top:13px;color:var(--muted);font-size:15px;line-height:1.7}.stack-audience .stack-section-heading h2,.stack-curriculum .stack-section-heading h2,.stack-trust h2,.stack-final h2{color:#fff}.stack-curriculum .stack-section-heading p{color:#bac8d8}.centered{text-align:center;margin-left:auto;margin-right:auto}.stack-check-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(255,255,255,.16);border-bottom:0}.stack-check-grid p{position:relative;margin:0;padding:20px 22px 20px 48px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);color:#d4deea;font-size:14px;line-height:1.5}.stack-check-grid p:before{content:"✓";position:absolute;left:22px;color:#6ddd9c;font-weight:800}.stack-before-after{display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch}.stack-before-after article{padding:38px;border:1px solid var(--line);border-radius:20px}.stack-before-after article>span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.before>span{color:#a86464}.after{background:#eff9f2;border-color:#cfe9d7!important}.after>span{color:var(--green-700)}.stack-before-after h3{margin-top:14px;color:var(--navy-900);font-size:23px;line-height:1.27}.stack-before-after ul,.stack-day-grid ul,.cohort-grid ul{margin:22px 0 0;padding:0;list-style:none}.stack-before-after li,.stack-day-grid li,.cohort-grid li{position:relative;padding:0 0 12px 22px;color:var(--muted);font-size:13px;line-height:1.5}.stack-before-after li:before,.stack-day-grid li:before,.cohort-grid li:before{content:"•";position:absolute;left:4px;color:var(--green-700);font-weight:800}.stack-arrow{align-self:center;text-align:center;color:var(--green-700);font-size:29px;font-weight:800}.stack-day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stack-day-grid article{display:flex;flex-direction:column;min-height:480px;padding:29px;border:1px solid rgba(255,255,255,.17);border-radius:18px}.stack-day-grid h3{margin-top:18px;color:#fff;font-size:23px;line-height:1.2}.day-summary{margin-top:12px;color:#b7c7da;font-size:13px;line-height:1.62}.stack-day-grid h4{margin-top:25px;color:#6ddd9c;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.stack-day-grid li{color:#d3ddea}.stack-day-grid ul{margin-top:12px}.day-output{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#b7c7da;font-size:12px;line-height:1.55}.day-output b{display:block;color:#fff;margin-bottom:4px}.stack-outcomes{background:#f4f8f6}.stack-outcomes-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.stack-outcomes-grid>div>p{margin-top:14px;max-width:430px;color:var(--muted);font-size:15px;line-height:1.7}.outcome-list{border-top:1px solid var(--line)}.outcome-list p{display:grid;grid-template-columns:38px 1fr;gap:12px;max-width:none!important;margin:0!important;padding:15px 0;border-bottom:1px solid var(--line);color:#38516c!important;font-size:14px!important;line-height:1.45!important}.outcome-list b{color:var(--green-700);font-size:11px}.stack-included{padding:82px 0;background:#fff}.included-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.included-grid article{padding:28px;border:1px solid #dfe7e2;border-radius:18px}.included-grid>b{color:var(--green-700);font:700 27px/1 "Poppins",sans-serif}.included-grid h3{margin-top:22px;color:var(--navy-900);font-size:17px}.included-grid p{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.6}.stack-trust-grid,.stack-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.stack-trust p,.stack-final p{color:#c1cfdd;font-size:15px;line-height:1.75}.cohort-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:auto}.cohort-grid article{padding:35px;border:1px solid var(--line);border-radius:20px;background:#fff}.cohort-grid .cohort-featured{border:2px solid var(--green-700);box-shadow:0 14px 30px rgba(18,100,52,.1)}.cohort-grid h3{margin-top:16px;color:var(--navy-900);font-size:29px;letter-spacing:-.03em}.cohort-year{margin-top:5px;color:var(--muted);font-size:13px}.cohort-price{margin-top:29px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cohort-price small{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.cohort-price strong{display:block;margin-top:5px;color:var(--navy-900);font:700 28px/1.1 "Poppins",sans-serif}.cohort-grid li{padding-bottom:9px}.cohort-grid .button{width:100%;margin-top:18px;justify-content:center}.cohort-note{margin:18px auto 0;max-width:700px;text-align:center;color:#75879a;font-size:12px;line-height:1.5}.stack-faq{background:#f4f8f6}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.faq-grid details{padding:18px 20px;border:1px solid #dfe7e2;border-radius:12px;background:#fff}.faq-grid summary{cursor:pointer;color:var(--navy-900);font-size:14px;font-weight:800;line-height:1.45}.faq-grid p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.65}.stack-final{margin-bottom:36px}.final-links{display:flex;flex-wrap:wrap;gap:11px}.button-light{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff}.button-light:hover{background:#fff;color:var(--navy-900)}
@media(max-width:900px){.stack-hero-grid,.stack-intro-grid,.stack-outcomes-grid,.stack-trust-grid,.stack-final-grid{grid-template-columns:1fr;gap:38px}.stack-intro-grid{gap:16px}.stack-day-grid{grid-template-columns:1fr}.stack-day-grid article{min-height:0}.included-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.stack-hero,.stack-intro,.stack-audience,.stack-transformation,.stack-curriculum,.stack-outcomes,.stack-included,.stack-trust,.stack-cohorts,.stack-faq{padding:54px 0}.stack-hero h1{font-size:40px}.stack-build-card{padding:27px}.stack-date-bar .container{padding-top:16px;padding-bottom:16px;align-items:flex-start;flex-direction:column}.stack-date-bar p{gap:8px 12px}.stack-check-grid,.faq-grid,.cohort-grid,.included-grid{grid-template-columns:1fr}.stack-check-grid p{border-right:0}.stack-before-after{grid-template-columns:1fr;gap:12px}.stack-arrow{transform:rotate(90deg);height:36px}.stack-before-after article{padding:27px}.stack-section-heading{margin-bottom:27px}.cohort-grid article{padding:27px}.stack-final{margin-bottom:24px}.final-links .button{width:100%;justify-content:center}}

/* Conversion refinements - AI Stack Bootcamp */
.stack-hero h1{font-size:clamp(29px,3.72vw,54px)}
.stack-hero-actions{gap:12px}.stack-hero-actions .button{min-width:210px;justify-content:center}
.build-intro{margin-top:14px!important;color:#d4deea!important;font-size:13px!important;line-height:1.62}.stack-build-card li{grid-template-columns:32px 1fr;gap:10px;padding:18px 0}.stack-build-card strong{margin-bottom:3px;font-size:13px}.build-close{margin-top:20px!important;color:#74dda0!important;font-size:12px!important;font-weight:700;line-height:1.55}
.stack-audience{background:linear-gradient(135deg,#280f1a 0%,#15203a 100%)}.stack-audience .stack-section-heading h2{max-width:780px}.stack-check-grid{border:0;gap:12px;background:transparent}.stack-check-grid p{min-height:84px;padding:21px 21px 21px 52px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.055);color:#e7dbe0;font-size:14px}.stack-check-grid p:before{content:"×";left:20px;top:17px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #d57883;border-radius:50%;color:#f19ba5;font-size:17px;font-weight:500}.stack-check-grid p:hover{border-color:rgba(241,155,165,.65);background:rgba(255,255,255,.09)}
.stack-final{width:min(1360px,calc(100% - 64px));margin:0 auto 36px;border-radius:28px;overflow:hidden}.stack-final .container{padding-left:60px;padding-right:60px}.stack-final-grid{min-height:300px}.stack-final h2{max-width:640px}
@media(max-width:600px){.stack-hero h1{font-size:27px}.stack-hero-actions{align-items:stretch;flex-direction:column}.stack-hero-actions .button{width:100%}.stack-check-grid p{min-height:0}.stack-final{width:calc(100% - 32px);margin-bottom:24px;border-radius:22px}.stack-final .container{padding-left:24px;padding-right:24px}.stack-final-grid{min-height:0}}

/* Claude AI Bootcamp — presentation refresh (approved copy retained) */
.live-ai-page .stack-hero{position:relative;overflow:hidden;padding:82px 0 88px;background:radial-gradient(circle at 89% 18%,rgba(32,188,101,.25),transparent 21%),radial-gradient(circle at 5% 90%,rgba(36,96,172,.09),transparent 29%),linear-gradient(135deg,#f4faf6 0%,#fff 62%,#eef8f2 100%)}
.live-ai-page .stack-hero:before{display:none}
.live-ai-page .stack-hero-grid{position:relative;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:64px}
.live-ai-page .stack-hero-copy{padding:12px 0}
.live-ai-page .eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #cfe5d7;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 5px 16px rgba(7,33,63,.04)}
.live-ai-page .stack-pretitle{margin-top:22px;font-size:11px;letter-spacing:.13em}
.live-ai-page .stack-hero h1{max-width:670px;margin-top:17px;font-size:clamp(42px,4.2vw,62px);line-height:1.04}
.live-ai-page .stack-hero h1 em{display:block}
.live-ai-page .stack-lede{max-width:600px;margin-top:22px;font-size:17px;line-height:1.72}
.live-ai-page .stack-hero-actions{margin-top:31px;gap:12px}
.live-ai-page .stack-hero-actions .button{min-height:56px;padding:0 24px;font-size:14px}
.live-ai-page .stack-hero-actions .button:nth-child(2){border:1px solid #bfd4c5;background:#fff;color:var(--navy-900);box-shadow:none}
.live-ai-page .stack-hero-actions .button:nth-child(2):hover{background:#f5faf6}
.live-ai-page .stack-hero-note{max-width:600px;margin-top:19px!important;padding:13px 15px;border-left:3px solid var(--green-700);border-radius:0 10px 10px 0;background:rgba(32,188,101,.08);color:#38516c!important;font-size:12px!important}
.live-ai-page .stack-meta{max-width:620px;gap:9px;margin-top:22px}
.live-ai-page .stack-meta span{display:inline-flex;align-items:center;min-height:35px;padding:8px 12px;border-color:#d7e7dc;background:#fff;color:#375b4a;font-size:11px;box-shadow:0 5px 14px rgba(7,33,63,.04)}
.live-ai-page .stack-meta span:last-child{order:-1;min-height:52px;gap:9px;padding:8px 17px;border:0;border-radius:13px;background:var(--navy-950);box-shadow:0 12px 25px rgba(6,26,58,.18);color:#fff;font-size:12px}
.live-ai-page .stack-meta span:last-child b{color:#75dfa2;font:700 21px/1 "Poppins",sans-serif;letter-spacing:-.04em}
.live-ai-page .stack-meta span:last-child s{color:#9fb0c5;font-weight:700;text-decoration-thickness:1.5px}
.live-ai-page .stack-meta span:last-child i,.live-ai-page .cohort-price i{padding:6px 8px;border-radius:999px;background:#e5f5ea;color:var(--green-700);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.live-ai-page .stack-build-card{position:relative;padding:39px 38px 35px;border:1px solid rgba(111,220,157,.22);border-radius:26px;background:radial-gradient(circle at 92% 5%,rgba(32,188,101,.25),transparent 26%),linear-gradient(145deg,#071f3c,#0c294a);box-shadow:0 25px 55px rgba(6,25,51,.2)}
.live-ai-page .stack-build-card>*{position:relative;z-index:1}
.live-ai-page .stack-build-card h2{margin-top:16px;font-size:clamp(27px,2.2vw,33px)}
.live-ai-page .stack-build-card ol{margin-top:25px}
.live-ai-page .stack-build-card li{grid-template-columns:35px 1fr;padding:18px 0 18px 1px}
.live-ai-page .stack-build-card li{position:relative}
.live-ai-page .stack-build-card li:not(:last-child):after{position:absolute;z-index:1;top:31px;bottom:-31px;left:14px;width:1px;background:linear-gradient(#6ddd9c,rgba(109,221,156,.4));content:""}
.live-ai-page .stack-build-card li>b{position:relative;z-index:2;display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(111,220,157,.5);border-radius:50%;background:#12395a;font-size:9px}
.live-ai-page .stack-build-card strong{margin-bottom:4px;font-size:14px}
.live-ai-page .stack-date-bar{display:none}
.live-ai-page .stack-audience{position:relative;padding:94px 0;background:linear-gradient(120deg,#190e23,#102744 64%,#10342a)}
.live-ai-page .stack-audience .stack-section-heading{margin-bottom:30px}
.live-ai-page .stack-audience .stack-section-heading h2{max-width:800px;font-size:clamp(31px,3.2vw,46px)}
.live-ai-page .stack-audience .stack-section-heading h3{margin-top:20px;color:#83e5aa;font-size:13px;letter-spacing:.02em}
.live-ai-page .stack-check-grid{grid-template-columns:repeat(4,1fr);gap:11px;border:0}
.live-ai-page .stack-check-grid p{min-height:0;padding:18px 15px 18px 42px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:#e3e9ef;font-size:13px;line-height:1.52}
.live-ai-page .stack-check-grid p:before{top:17px;left:16px;width:17px;height:17px;border:1px solid #d57883;border-radius:50%;color:#f19ba5;font-size:13px}
.live-ai-page .stack-check-grid p:hover{transform:translateY(-2px);border-color:rgba(117,223,162,.52);background:rgba(255,255,255,.1)}
.live-ai-page .stack-transformation{position:relative;padding:100px 0 105px;background:#fff}
.live-ai-page .stack-before-after{grid-template-columns:1fr 76px 1fr;gap:0;max-width:1080px;margin:auto}
.live-ai-page .stack-before-after article{padding:42px 38px;border-radius:22px}
.live-ai-page .stack-before-after .before{border-color:#efdadd;background:linear-gradient(145deg,#fffafb,#fff3f4)}
.live-ai-page .stack-before-after .after{border:1px solid #143759!important;background:radial-gradient(circle at 90% 10%,rgba(32,188,101,.23),transparent 25%),var(--navy-950)}
.live-ai-page .stack-before-after .after h3{color:#fff}
.live-ai-page .stack-before-after .after li{color:#c9d7e6}
.live-ai-page .stack-before-after .before li:before{content:"×";color:#d57883}
.live-ai-page .stack-before-after .after li:before{content:"✓";color:#75dfa2}
.live-ai-page .stack-before-after .after>span{color:#75dfa2}
.live-ai-page .stack-before-after h3{font-size:26px}
.live-ai-page .stack-before-after li{padding-bottom:13px;font-size:13px}
.live-ai-page .stack-arrow{position:relative;z-index:2;display:grid;width:46px;height:46px;place-items:center;align-self:center;justify-self:center;border:7px solid #fff;border-radius:50%;background:var(--green-700);box-shadow:0 8px 22px rgba(18,100,52,.22);color:#fff;font-size:21px}
.live-ai-page .stack-included{padding:96px 0;background:linear-gradient(180deg,#eff8f2,#fff)}
.live-ai-page .included-grid{gap:15px}
.live-ai-page .included-grid article{min-height:235px;padding:30px 26px;border:0;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(6,26,58,.08)}
.live-ai-page .included-grid article>b{display:block;color:var(--green-700);font-size:clamp(39px,3.5vw,52px);letter-spacing:-.07em}
.live-ai-page .included-grid h3{margin-top:29px;font-size:18px}
.live-ai-page .stack-trust{position:relative;overflow:hidden;padding:94px 0;background:linear-gradient(120deg,#071d39,#12375b)}
.live-ai-page .stack-trust:after{position:absolute;right:5%;bottom:-80px;width:290px;height:290px;border:45px solid rgba(112,218,157,.12);border-radius:50%;content:""}
.live-ai-page .stack-trust-grid{position:relative;z-index:1;gap:95px}
.live-ai-page .stack-cohorts{padding:104px 0;background:#f7faf8}
.live-ai-page .cohort-grid{max-width:980px;gap:20px}
.live-ai-page .cohort-grid article{position:relative;overflow:hidden;padding:37px 38px;border:1px solid #d9e7de;border-radius:22px;box-shadow:0 10px 28px rgba(6,26,58,.06)}
.live-ai-page .cohort-grid article:before{position:absolute;top:0;left:0;width:100%;height:5px;background:#a9c6b3;content:""}
.live-ai-page .cohort-grid .cohort-featured{border:2px solid var(--green-700);background:linear-gradient(145deg,#fff,#f1faf4);box-shadow:0 18px 36px rgba(18,100,52,.14)}
.live-ai-page .cohort-grid .cohort-featured:before{background:var(--green-700)}
.live-ai-page .cohort-tag{display:inline-flex;padding:7px 9px;border-radius:999px;background:#e5f5ea;color:var(--green-700)}
.live-ai-page .cohort-grid h3{font-size:32px}
.live-ai-page .cohort-price{margin-top:25px;padding:18px 0}
.live-ai-page .cohort-price strong{margin-top:0;font-size:39px;letter-spacing:-.055em}
.live-ai-page .cohort-price>div{display:flex;align-items:center;gap:11px;margin-top:5px}
.live-ai-page .cohort-price s{color:#71869f;font-size:16px;font-weight:700;text-decoration-thickness:1.5px}
.live-ai-page .cohort-grid ul{margin-top:21px}
.live-ai-page .cohort-grid .button{min-height:57px;margin-top:17px;font-size:14px}
.live-ai-page .cohort-note{margin-top:22px}
.live-ai-page .cohort-social-proof{margin:10px auto 0;text-align:center;color:var(--green-700);font-size:13px;font-weight:800}
.live-ai-page .stack-testimonials{padding:96px 0;background:#f4f8f6}
.live-ai-page .stack-testimonials .stack-section-heading{max-width:840px}
.live-ai-page .testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.live-ai-page .testimonial-grid figure{display:flex;min-height:310px;flex-direction:column;margin:0;padding:31px 30px 28px;border:1px solid #dce6e0;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(6,26,58,.05)}
.live-ai-page .testimonial-stars{margin-bottom:19px;color:#d59615;font-size:17px;letter-spacing:2px;line-height:1}
.live-ai-page .testimonial-grid blockquote{margin:0;color:#38516c;font-size:16px;line-height:1.72}
.live-ai-page .testimonial-grid figcaption{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding-top:24px;border-top:1px solid #dfe7e2}
.live-ai-page .testimonial-grid figcaption strong{color:var(--navy-900);font-size:14px}
.live-ai-page .testimonial-grid figcaption span{color:#7489a4;font-size:12px;line-height:1.5}
.live-ai-page .stack-faq{padding:94px 0;background:#fff}
.live-ai-page .faq-grid{gap:12px}
.live-ai-page .faq-grid details{padding:20px 21px;border-color:#dfe9e2;border-radius:14px;transition:border-color .2s ease,box-shadow .2s ease}
.live-ai-page .faq-grid details[open]{border-color:#9dcdb0;box-shadow:0 8px 20px rgba(6,26,58,.06)}
.live-ai-page .faq-grid summary{padding-right:25px;font-size:14px}
.live-ai-page .stack-final{background:radial-gradient(circle at 88% 13%,rgba(32,188,101,.28),transparent 23%),var(--navy-950)}

@media(max-width:900px){
  .live-ai-page .stack-hero{padding:63px 0 70px}.live-ai-page .stack-hero-grid{grid-template-columns:1fr;gap:36px}.live-ai-page .stack-build-card{max-width:680px}.live-ai-page .stack-check-grid{grid-template-columns:repeat(2,1fr)}.live-ai-page .stack-before-after{grid-template-columns:1fr 58px 1fr}.live-ai-page .included-grid{grid-template-columns:repeat(2,1fr)}.live-ai-page .testimonial-grid{grid-template-columns:1fr}.live-ai-page .testimonial-grid figure{min-height:0}.live-ai-page .stack-trust-grid{gap:35px}
}
@media(max-width:600px){
  .live-ai-page .stack-hero{padding:48px 0 54px}.live-ai-page .stack-hero:before{display:none}.live-ai-page .stack-hero h1{font-size:36px;letter-spacing:-.045em}.live-ai-page .stack-lede{font-size:15px}.live-ai-page .stack-hero-actions .button{width:100%;min-height:55px}.live-ai-page .stack-meta{gap:7px}.live-ai-page .stack-meta span{font-size:10px}.live-ai-page .stack-meta span:last-child{width:100%;justify-content:center}.live-ai-page .stack-build-card{padding:29px 25px}.live-ai-page .stack-audience,.live-ai-page .stack-transformation,.live-ai-page .stack-included,.live-ai-page .stack-trust,.live-ai-page .stack-cohorts,.live-ai-page .stack-testimonials,.live-ai-page .stack-faq{padding:62px 0}.live-ai-page .stack-audience .stack-section-heading h2{font-size:31px}.live-ai-page .stack-audience .stack-section-heading h3{font-size:12px}.live-ai-page .stack-check-grid{grid-template-columns:1fr;gap:8px}.live-ai-page .stack-check-grid p{padding-top:14px;padding-bottom:14px}.live-ai-page .stack-check-grid p:before{top:13px}.live-ai-page .stack-before-after{grid-template-columns:1fr;gap:8px}.live-ai-page .stack-before-after article{padding:29px 24px}.live-ai-page .stack-before-after h3{font-size:23px}.live-ai-page .stack-arrow{transform:rotate(90deg);width:40px;height:40px;border-width:5px;margin:-3px auto;z-index:3}.live-ai-page .included-grid{grid-template-columns:1fr 1fr;gap:10px}.live-ai-page .included-grid article{min-height:205px;padding:22px 18px}.live-ai-page .included-grid h3{margin-top:22px;font-size:16px}.live-ai-page .included-grid p{font-size:12px}.live-ai-page .testimonial-grid figure{padding:25px 22px}.live-ai-page .testimonial-grid blockquote{font-size:15px}.live-ai-page .stack-trust-grid{grid-template-columns:1fr}.live-ai-page .cohort-grid article{padding:30px 25px}.live-ai-page .cohort-grid h3{font-size:29px}.live-ai-page .cohort-price strong{font-size:36px}.live-ai-page .faq-grid{grid-template-columns:1fr}.live-ai-page .stack-final .container{padding-left:27px;padding-right:27px}
}

/* Focused layout corrections */
.live-ai-page .stack-audience .stack-section-heading h2{font-size:clamp(1.733rem,calc(3.4vw - .667rem),3.333rem);line-height:1.08}
.live-ai-page .stack-before-after{position:relative}
.live-ai-page .stack-arrow{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;justify-self:center;align-self:center;margin:0;transform:none}
.live-ai-page .stack-final{padding:64px 0}
.live-ai-page .stack-final-grid{min-height:260px;align-items:center}
.live-ai-page .stack-final h2{max-width:640px;font-size:clamp(1.5rem,calc(3.5vw - 1rem),3rem);line-height:1.05}
.live-ai-page .stack-final .final-links{align-items:center;align-self:center}
@media(max-width:600px){
  .live-ai-page .stack-audience .stack-section-heading h2{font-size:20.33px}
  .live-ai-page .stack-final{padding:54px 0}
  .live-ai-page .stack-final h2{font-size:clamp(2.2rem,9vw,2.7rem)}
  .live-ai-page .stack-arrow{transform:rotate(90deg);margin:-3px auto}
}

/* Live AI hero and section order refresh */
.live-ai-page .stack-hero{padding:68px 0 76px}
.live-ai-page .stack-hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:58px}
.live-ai-page .stack-hero-copy{padding:6px 0}
.live-ai-page .stack-hero h1{max-width:645px;font-size:clamp(42px,4vw,60px)}
.live-ai-page .stack-hero-visual{position:relative;min-height:500px}
.live-ai-page .stack-hero-visual:before{position:absolute;z-index:0;top:-18px;right:-18px;width:72%;height:72%;border-radius:26px;background:#dff4e7;content:""}
.live-ai-page .stack-hero-visual img{position:absolute;z-index:1;inset:0;width:100%;height:100%;border-radius:24px;object-fit:cover;object-position:center;box-shadow:0 24px 50px rgba(6,25,51,.16)}
.live-ai-page .hero-visual-chip{position:absolute;z-index:2;right:-26px;padding:14px 18px;border:1px solid rgba(255,255,255,.75);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 13px 30px rgba(6,25,51,.14);color:#38516c;font-size:12px;line-height:1.45}
.live-ai-page .hero-visual-chip strong{color:var(--navy-900)}
.live-ai-page .hero-visual-chip-top{top:20%}
.live-ai-page .hero-visual-chip-bottom{right:auto;bottom:10%;left:-28px}
.live-ai-page .stack-hero-actions .button{min-width:185px}
.live-ai-page .stack-build{padding:96px 0;background:linear-gradient(180deg,#fff 0%,#eff8f2 100%)}
.live-ai-page .stack-build-card{max-width:980px;margin:auto}

@media(max-width:900px){
  .live-ai-page .stack-hero{padding:58px 0 64px}
  .live-ai-page .stack-hero-grid{grid-template-columns:1fr;gap:38px}
  .live-ai-page .stack-hero-visual{width:min(100%,680px);min-height:480px}
  .live-ai-page .stack-build{padding:72px 0}
}

@media(max-width:600px){
  .live-ai-page .stack-hero{padding:46px 0 54px}
  .live-ai-page .stack-hero-visual{min-height:360px}
  .live-ai-page .stack-hero-visual:before{top:-10px;right:-10px;border-radius:20px}
  .live-ai-page .stack-hero-visual img{border-radius:18px}
  .live-ai-page .hero-visual-chip{right:12px;padding:10px 12px;font-size:10px}
  .live-ai-page .hero-visual-chip-top{top:14px}
  .live-ai-page .hero-visual-chip-bottom{right:auto;bottom:14px;left:12px}
  .live-ai-page .stack-build{padding:62px 0}
}

/* Reference-style Claude AI hero */
.live-ai-page .training-hero-ref{padding:0;background:#fff;overflow:hidden}
.live-ai-page .training-hero-ref-wrap{position:relative;isolation:isolate;width:min(1180px,calc(100% - 48px));min-height:775px;margin:auto;overflow:hidden}
.live-ai-page .training-hero-ref-visual{position:absolute;z-index:0;inset:0 0 0 auto;width:57.5%;overflow:hidden}
.live-ai-page .training-hero-ref-visual:after{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 3%,rgba(255,255,255,.86) 15%,rgba(255,255,255,.08) 44%,transparent 58%);content:""}
.live-ai-page .training-hero-ref-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.live-ai-page .training-hero-ref-copy{position:relative;z-index:3;width:min(54%,785px);padding:78px 0 72px}
.live-ai-page .hero-ref-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;padding:12px 15px;border:1px solid #c9e4d2;border-radius:999px;background:rgba(255,255,255,.82);color:#078447;font-size:14px;font-weight:800;letter-spacing:.13em;line-height:1;text-transform:uppercase}
.live-ai-page .hero-ref-eyebrow span{width:8px;height:8px;border-radius:50%;background:#078447}
.live-ai-page .hero-ref-course{margin-top:29px;color:#078447;font-size:13px;font-weight:800;letter-spacing:.13em;line-height:1.45;text-transform:uppercase}
.live-ai-page .training-hero-ref h1{max-width:760px;margin:25px 0 0;color:#061d43;font-size:clamp(50px,4.45vw,72px);font-weight:800;line-height:1.08;letter-spacing:-.066em}
.live-ai-page .training-hero-ref h1 em{display:inline;color:#078447;font-style:normal}
.live-ai-page .hero-ref-lede{max-width:665px;margin:34px 0 0;color:#273f66;font-size:21px;line-height:1.46}
.live-ai-page .hero-ref-details{display:flex;align-items:flex-start;max-width:760px;margin-top:39px}
.live-ai-page .hero-ref-details>div{display:flex;align-items:flex-start;gap:12px;min-height:67px;padding:0 19px;border-right:1px solid #d7e0e7}
.live-ai-page .hero-ref-details>div:first-child{padding-left:0}
.live-ai-page .hero-ref-details>div:last-child{padding-right:0;border-right:0}
.live-ai-page .hero-detail-icon{display:block;flex:0 0 auto;width:30px;height:30px;color:#058145;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.live-ai-page .hero-ref-details p{margin:0;color:#274365;font-size:12px;line-height:1.43;white-space:nowrap}
.live-ai-page .hero-ref-details strong{display:block;color:#071d43;font-size:16px;line-height:1.2}
.live-ai-page .hero-ref-details small{display:block;margin-top:4px;font-size:12px;line-height:1.35}
.live-ai-page .hero-ref-price{gap:8px!important;min-width:143px}
.live-ai-page .hero-ref-price p{white-space:normal}
.live-ai-page .hero-ref-price small{margin:0;color:#40536b;font-size:14px;font-weight:700}
.live-ai-page .hero-ref-price strong{margin-top:2px;font-size:18px;text-shadow:0 0 8px rgba(24,199,104,.5),0 0 24px rgba(7,132,71,.35)}
.live-ai-page .hero-ref-price b{display:inline-block;margin-top:7px;padding:6px 11px;border-radius:18px;background:#078447;color:#fff;font-size:12px;letter-spacing:.04em;white-space:nowrap;box-shadow:0 0 12px rgba(33,210,113,.5),0 0 28px rgba(7,132,71,.35)}
.live-ai-page .hero-ref-cta-row{display:flex;align-items:center;gap:18px;margin-top:57px}
.live-ai-page .hero-ref-cta{min-width:332px;min-height:84px;justify-content:space-between;padding:0 34px;border-radius:16px;font-size:21px;font-weight:800;box-shadow:0 14px 28px rgba(0,113,59,.2)}
.live-ai-page .hero-ref-cta span{font-size:36px;font-weight:400;line-height:1}
.live-ai-page .hero-ref-proof{display:flex;align-items:center;gap:13px;min-width:340px;margin:0;padding:14px 17px;border:1px solid #d8eee1;border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(7,33,63,.06);color:#38516c;font-size:14px;line-height:1.35}
.live-ai-page .hero-ref-proof svg{width:37px;height:37px;flex:0 0 auto;fill:none;stroke:#078447;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.live-ai-page .hero-ref-proof .hero-proof-icon{width:43px;height:33px;fill:#078447;stroke:none}
.live-ai-page .hero-ref-proof strong{color:#061d43;font-size:14px}

@media(max-width:1170px){
  .live-ai-page .training-hero-ref-wrap{min-height:735px}
  .live-ai-page .training-hero-ref-copy{width:61%;padding-top:64px}
  .live-ai-page .training-hero-ref h1{font-size:clamp(45px,4.8vw,61px)}
  .live-ai-page .hero-ref-lede{font-size:18px;max-width:600px}
  .live-ai-page .hero-ref-details>div{padding:0 12px}
  .live-ai-page .hero-ref-details strong{font-size:14px}
  .live-ai-page .hero-ref-details small{font-size:11px}
  .live-ai-page .hero-ref-cta-row{margin-top:43px}
  .live-ai-page .hero-ref-cta{min-width:270px;min-height:71px;font-size:18px}
  .live-ai-page .hero-ref-proof{min-width:0;padding:12px;font-size:12px}
  .live-ai-page .hero-ref-proof strong{font-size:12px}
}

@media(max-width:820px){
  .live-ai-page .training-hero-ref-wrap{display:flex;width:100%;min-height:0;flex-direction:column;padding:52px 24px 0}
  .live-ai-page .training-hero-ref-copy{width:100%;padding:0}
  .live-ai-page .training-hero-ref h1{font-size:clamp(39px,8vw,56px)}
  .live-ai-page .hero-ref-lede{margin-top:25px;font-size:17px}
  .live-ai-page .hero-ref-details{flex-wrap:wrap;gap:17px;margin-top:31px}
  .live-ai-page .hero-ref-details>div{min-height:0;padding:0 17px 0 0;border:0}
  .live-ai-page .hero-ref-cta-row{flex-wrap:wrap;margin:34px 0 42px}
  .live-ai-page .hero-ref-proof{min-width:300px}
  .live-ai-page .training-hero-ref-visual{position:relative;width:calc(100% + 48px);height:540px;margin:0 -24px}
  .live-ai-page .training-hero-ref-visual:after{background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 35%)}
}

@media(max-width:560px){
  .live-ai-page .training-hero-ref-wrap{padding:42px 18px 0}
  .live-ai-page .hero-ref-eyebrow{gap:11px;font-size:11px;letter-spacing:.24em}
  .live-ai-page .hero-ref-eyebrow span{width:10px;height:10px}
  .live-ai-page .training-hero-ref h1{margin-top:24px;font-size:38px;line-height:1.1}
  .live-ai-page .hero-ref-lede{font-size:16px;line-height:1.55}
  .live-ai-page .hero-ref-details{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px}
  .live-ai-page .hero-ref-details>div{gap:9px;padding:0}.live-ai-page .hero-detail-icon{width:22px;height:22px}
  .live-ai-page .hero-ref-details strong{font-size:13px}.live-ai-page .hero-ref-details small{font-size:10px}
  .live-ai-page .hero-ref-price b{font-size:9px}
  .live-ai-page .hero-ref-cta-row{display:block;margin-bottom:32px}.live-ai-page .hero-ref-cta{width:100%;min-width:0;min-height:65px;padding:0 25px;font-size:18px}
  .live-ai-page .hero-ref-proof{min-width:0;margin-top:14px;font-size:12px}.live-ai-page .hero-ref-proof strong{font-size:12px}
  .live-ai-page .training-hero-ref-visual{width:calc(100% + 36px);height:430px;margin:0 -18px}.live-ai-page .training-hero-ref-visual>img{object-position:center 42%}
}

/* Keep the portrait as a distinct, rounded hero visual. */
@media(min-width:821px){
  .live-ai-page .training-hero-ref-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,480px);align-items:center;gap:42px;min-height:720px;padding:50px 0;overflow:visible}
  .live-ai-page .training-hero-ref-copy{grid-column:1;grid-row:1;width:auto;padding:0}
  .live-ai-page .training-hero-ref-visual{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:620px;border-radius:28px;overflow:visible;box-shadow:none;transform:translateX(32px)}
  .live-ai-page .training-hero-ref-visual:before{position:absolute;z-index:0;top:26px;right:-22px;bottom:-22px;left:34px;border-radius:28px;background:#071d43;content:""}
  .live-ai-page .training-hero-ref-visual:after{display:none}
  .live-ai-page .training-hero-ref-visual>img{position:relative;z-index:1;border-radius:28px;object-position:center 48%;box-shadow:0 20px 45px rgba(6,25,51,.15)}
}

@media(min-width:821px) and (max-width:1080px){
  .live-ai-page .training-hero-ref-wrap{grid-template-columns:minmax(0,1fr) minmax(370px,420px);gap:28px}
  .live-ai-page .training-hero-ref-visual{height:570px}
}

/* Match the registration and social-proof controls as a paired row. */
.live-ai-page .hero-ref-cta,.live-ai-page .hero-ref-proof{min-height:72px;box-sizing:border-box}

/* Brighter discounted-price treatment, shared by the hero and cohort cards. */
.live-ai-page .cohort-price>div{position:relative;isolation:isolate}
.live-ai-page .cohort-price>div:before{position:absolute;z-index:-1;top:-20px;left:35px;width:220px;height:76px;border-radius:50%;background:radial-gradient(ellipse,rgba(77,224,139,.25) 0%,rgba(77,224,139,.1) 42%,transparent 72%);content:"";filter:blur(5px)}
.live-ai-page .cohort-price strong{position:relative;text-shadow:0 0 9px rgba(24,199,104,.48),0 0 26px rgba(7,132,71,.28)}
.live-ai-page .cohort-price i{box-shadow:0 0 11px rgba(33,210,113,.46),0 0 25px rgba(7,132,71,.24)}
.live-ai-page .cohort-grid article,.live-ai-page .cohort-grid .cohort-featured{border-width:2px;border-color:var(--green-700)}

/* Eight-point reduction for the desktop hero headline. */
@media(min-width:821px){
  .live-ai-page .training-hero-ref h1{font-size:clamp(39px,calc(4.45vw - 10.67px),61px)}
}

/* Tablet and mobile refinements for the live training page. */
@media(max-width:820px){
  .live-ai-page .training-hero-ref-wrap{padding:46px 24px 34px;overflow:visible}
  .live-ai-page .training-hero-ref-copy{max-width:680px}
  .live-ai-page .hero-ref-lede{max-width:640px}
  .live-ai-page .training-hero-ref-visual{width:100%;height:520px;margin:0;overflow:visible;border-radius:22px}
  .live-ai-page .training-hero-ref-visual:before{position:absolute;z-index:0;top:18px;right:-14px;bottom:-14px;left:22px;border-radius:22px;background:#071d43;content:""}
  .live-ai-page .training-hero-ref-visual:after{display:none}
  .live-ai-page .training-hero-ref-visual>img{position:relative;z-index:1;border-radius:22px;box-shadow:0 14px 30px rgba(6,25,51,.14)}
  .live-ai-page .hero-ref-cta-row{gap:14px}
  .live-ai-page .hero-ref-cta{min-width:260px}
  .live-ai-page .hero-ref-proof{flex:1;min-width:280px}
}

@media(max-width:700px){
  .live-ai-page .stack-before-after,.live-ai-page .cohort-grid,.live-ai-page .faq-grid{grid-template-columns:1fr}
  .live-ai-page .stack-arrow{transform:rotate(90deg);width:40px;height:40px;border-width:5px;margin:-3px auto;z-index:3}
  .live-ai-page .stack-check-grid{grid-template-columns:1fr}
  .live-ai-page .stack-check-grid p{min-height:0}
}

@media(max-width:560px){
  .live-ai-page .training-hero-ref-wrap{padding:38px 18px 30px}
  .live-ai-page .hero-ref-eyebrow{padding:10px 12px;font-size:10px;letter-spacing:.12em}
  .live-ai-page .hero-ref-course{margin-top:22px;font-size:10px;letter-spacing:.1em;line-height:1.55}
  .live-ai-page .training-hero-ref h1{font-size:clamp(32px,9.7vw,38px);line-height:1.08}
  .live-ai-page .hero-ref-lede{font-size:15px;line-height:1.55}
  .live-ai-page .hero-ref-details{grid-template-columns:1fr 1fr;gap:17px 8px}
  .live-ai-page .hero-ref-price{min-width:0}
  .live-ai-page .hero-ref-cta-row{display:grid;grid-template-columns:1fr;margin:30px 0}
  .live-ai-page .hero-ref-cta,.live-ai-page .hero-ref-proof{width:100%;min-width:0;min-height:64px}
  .live-ai-page .hero-ref-cta{font-size:17px}
  .live-ai-page .hero-ref-proof{padding:11px 13px;font-size:11px}
  .live-ai-page .hero-ref-proof strong{font-size:11px}
  .live-ai-page .training-hero-ref-visual{height:400px;border-radius:20px}
  .live-ai-page .training-hero-ref-visual:before{top:14px;right:-10px;bottom:-10px;left:16px;border-radius:20px}
  .live-ai-page .training-hero-ref-visual>img{border-radius:20px;object-position:center 43%}
  .live-ai-page .stack-transformation,.live-ai-page .stack-included,.live-ai-page .stack-build,.live-ai-page .stack-cohorts,.live-ai-page .stack-testimonials,.live-ai-page .stack-faq{padding-top:54px;padding-bottom:54px}
}

/* Trainer introductions */
.live-ai-page .stack-trainers{padding:96px 0;background:linear-gradient(180deg,#fff 0%,#f4faf6 100%)}
.live-ai-page .stack-trainers .stack-section-heading{max-width:780px}
.live-ai-page .trainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.live-ai-page .trainer-card{display:grid;grid-template-columns:260px minmax(0,1fr);overflow:hidden;border:1px solid #d7e7dc;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(6,26,58,.06)}
.live-ai-page .trainer-card>img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 18%}
.live-ai-page .trainer-card-copy{padding:28px 25px}
.live-ai-page .trainer-role{color:var(--green-700);font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1.5;text-transform:uppercase}
.live-ai-page .trainer-card h3{margin-top:11px;color:var(--navy-900);font-size:22px;line-height:1.18;letter-spacing:-.035em}
.live-ai-page .trainer-card-copy>p:not(.trainer-role){margin-top:14px;color:#4d647d;font-size:12px;line-height:1.62}
.live-ai-page .trainer-card-copy .trainer-highlight{margin:17px -3px 0;padding:13px 14px;border-left:3px solid var(--green-700);border-radius:0 10px 10px 0;background:#e9f7ee;color:#174a35;font-size:12px;font-weight:700;line-height:1.57}

/* Clear transition from trainer profiles to participant experiences. */
.live-ai-page .stack-trainers{position:relative;border-bottom:1px solid #cfe3d5}
.live-ai-page .stack-trainers:after{position:absolute;bottom:-3px;left:50%;width:88px;height:5px;border-radius:999px;background:var(--green-700);content:"";transform:translateX(-50%)}
.live-ai-page .stack-testimonials{border-top:1px solid #dbe9df;background:#eef6f1}

@media(max-width:1050px){
  .live-ai-page .trainer-grid{grid-template-columns:1fr}
  .live-ai-page .trainer-card{grid-template-columns:280px minmax(0,1fr)}
  .live-ai-page .trainer-card>img{min-height:390px}
}

@media(max-width:600px){
  .live-ai-page .stack-trainers{padding:54px 0}
  .live-ai-page .trainer-grid{gap:14px}
  .live-ai-page .trainer-card{grid-template-columns:1fr}
  .live-ai-page .trainer-card>img{height:300px;min-height:0;object-position:center 18%}
  .live-ai-page .trainer-card-copy{padding:24px 21px 25px}
  .live-ai-page .trainer-card h3{font-size:22px}
}

/* Training registration page */
.registration-page{background:var(--soft,#f6f9f7);color:var(--ink,#10264d)}.registration-section{padding:72px 0 88px;background:linear-gradient(180deg,#fff 0%,var(--soft,#f6f9f7) 100%)}.registration-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1fr);gap:clamp(42px,6vw,86px);align-items:start}.registration-copy{position:sticky;top:110px}.registration-back{display:inline-block;margin-bottom:34px;color:var(--muted,#5c6b82);font-weight:700;text-decoration:none}.registration-copy h1{font-family:Poppins,sans-serif;font-size:clamp(38px,4vw,58px);line-height:1.04;letter-spacing:-.035em;color:var(--navy-950,#061a3a);margin:14px 0 18px}.registration-copy>p{color:var(--muted,#5c6b82);font-size:17px;line-height:1.7}.registration-summary{margin-top:34px;padding:28px;border:1px solid var(--line,#e7ecf2);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(6,26,58,.06)}.registration-summary small{color:var(--green-700,#087f3d);font-weight:800;letter-spacing:.1em}.registration-summary h2{font-family:Poppins,sans-serif;font-size:18px;line-height:1.4;color:var(--navy-950,#061a3a)}.registration-summary p{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line,#e7ecf2);padding:12px 0;margin:0;font-size:14px}.registration-summary p span{color:var(--muted,#5c6b82)}.registration-summary p strong{text-align:right}.registration-card{padding:clamp(28px,4vw,48px);border:1px solid var(--line,#e7ecf2);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(6,26,58,.09)}.registration-card h2{font-family:Poppins,sans-serif;font-size:30px;margin:7px 0 5px;color:var(--navy-950,#061a3a)}.registration-card>p{color:var(--muted,#5c6b82);font-size:14px;margin:0 0 28px}.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.registration-fields label{display:flex;flex-direction:column;gap:8px;color:var(--navy-900,#0a2550);font-size:13px;font-weight:700}.registration-fields .wide{grid-column:1/-1}.registration-fields input,.registration-fields select{width:100%;min-height:50px;padding:0 14px;border:1px solid #d8e0e9;border-radius:9px;background:#fff;color:var(--ink,#10264d);font:inherit;font-size:15px}.registration-fields input:focus,.registration-fields select:focus{outline:none;border-color:var(--green-600,#0b934a);box-shadow:0 0 0 3px rgba(11,147,74,.1)}.registration-fields small{color:var(--muted,#5c6b82);font-weight:400}.registration-consent{display:flex;gap:10px;align-items:flex-start;margin:24px 0 20px;color:var(--muted,#5c6b82);font-size:13px}.registration-consent input{margin-top:3px;accent-color:var(--green-600,#0b934a)}.registration-submit{width:100%;min-height:54px;justify-content:center;border:0;cursor:pointer}.registration-submit:disabled{opacity:.65}.registration-note{text-align:center;color:var(--muted,#5c6b82);font-size:11px;margin-top:14px}.registration-message{padding:13px 15px;margin-bottom:18px;border-radius:8px;font-size:13px}.registration-message.success{background:rgba(11,147,74,.09);color:#076b36}.registration-message.error{background:#fff0f0;color:#9b1c1c}.reg-hp{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}@media(max-width:960px){.registration-grid{grid-template-columns:1fr}.registration-copy{position:static}}@media(max-width:600px){.registration-section{padding:42px 0 62px}.registration-copy h1{font-size:36px}.registration-fields{grid-template-columns:1fr}.registration-fields .wide{grid-column:auto}.registration-card{padding:26px 20px}.registration-summary p{flex-direction:column;gap:4px}.registration-summary p strong{text-align:left}}
