/* Programme records ----------------------------------------------------- */
.fp-program-page {
  background: #020807;
}
.fp-program-main {
  overflow: hidden;
  background: #020807;
}
.fp-program-container {
  position: relative;
  z-index: 1;
  width: min(1190px, calc(100% - 48px));
  margin: 0 auto;
}
.fp-program-hero {
  position: relative;
  display: flex;
  isolation: isolate;
  overflow: hidden;
  background-color: #020807;
  background-image: var(--fp-program-hero-image);
  background-position: center;
  background-size: cover;
}
.fp-program-hero__wash,
.fp-program-architecture__wash,
.fp-program-reviews__wash {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}
.fp-program-hero__wash {
  background: linear-gradient(90deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .42) 46%, rgba(0, 0, 0, .16) 100%), linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .42));
}
.fp-program-hero__content {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100% - 48px));
  margin: 0 auto;
  padding-top: 294px;
}
.fp-program-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 22px;
  padding: 13px 32px;
  border: 1px solid rgba(234, 233, 233, .65);
  border-radius: 500px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 5.5vw, 82px);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -4px;
}
.fp-program-hero__divider {
  display: flex;
  width: 210px;
  height: 18px;
  align-items: center;
  margin: 30px 0 26px;
}
.fp-program-hero__divider::before {
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, .9);
  content: "";
}
.fp-program-hero__divider span {
  display: block;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  margin-left: -6px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #020807;
}
.fp-program-hero__lead {
  max-width: 740px;
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-size: 22px;
  line-height: 1.28;
  letter-spacing: -1px;
}
.fp-program-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 48px;
}
.fp-program-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: 18px 24px 18px 28px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 12px;
  font-size: 16px;
  line-height: 1;
  transition: transform 180ms ease, background 180ms ease;
}
.fp-program-button span,
.fp-program-text-link span {
  font-size: 22px;
  line-height: 1;
}
.fp-program-button--primary {
  min-width: 235px;
  border-color: #c8f36a;
  background: #c8f36a;
  color: #07110a;
}
.fp-program-button--ghost {
  min-width: 235px;
  background: rgba(0, 0, 0, .16);
  color: #fff;
}
.fp-program-button:hover,
.fp-program-button:focus-visible,
.fp-program-text-link:hover,
.fp-program-text-link:focus-visible {
  transform: translateY(-2px);
}
.fp-program-button--ghost:hover,
.fp-program-button--ghost:focus-visible {
  background: rgba(255, 255, 255, .12);
}
.fp-program-hero__hint {
  position: absolute;
  z-index: 1;
  right: 48px;
  bottom: 38px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .7);
  font-size: 14px;
  letter-spacing: -.5px;
}
.fp-program-hero__hint span {
  font-size: 20px;
}
.fp-program-section {
  position: relative;
  padding: 90px 0;
}
.fp-program-section-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  text-align: center;
}
.fp-program-section-heading .fp-program-eyebrow {
  margin-bottom: 20px;
  border-color: rgba(0, 0, 0, .22);
  color: #142018;
}
.fp-program-section-heading--dark .fp-program-eyebrow {
  border-color: rgba(234, 233, 233, .55);
  color: #fff;
}
.fp-program-section-heading h2 {
  max-width: 920px;
  margin: 0;
  color: #0b120d;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -3px;
}
.fp-program-section-heading--dark h2 {
  color: #fff;
}
.fp-program-audience,
.fp-program-benefits,
.fp-program-pricing {
  background: #f4f4f0;
  color: #0b120d;
}
.fp-program-audience {
}
.fp-program-audience--recruitment {
}
.fp-program-audience__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 64px;
}
.fp-program-audience--recruitment .fp-program-audience__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fp-program-audience-card,
.fp-program-benefit-card {
  padding: 28px;
  border: 1px solid rgba(0, 0, 0, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .5);
}
.fp-program-card-number {
  display: block;
  color: #81a725;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-audience-card p,
.fp-program-benefit-card p,
.fp-program-format-card p,
.fp-program-module-card p,
.fp-program-curriculum__item p,
.fp-program-schedule__row p {
  margin: 22px 0 0;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -.7px;
}
.fp-program-audience-card p {
  max-width: 290px;
}
.fp-program-benefits {
}
.fp-program-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 60px;
}
.fp-program-benefit-card {
}
.fp-program-benefit-card h3,
.fp-program-format-card h3,
.fp-program-module-card h3,
.fp-program-curriculum__item h3,
.fp-program-schedule__row h3,
.fp-program-price-card h3 {
  margin: 42px 0 0;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -1px;
}
.fp-program-format,
.fp-program-architecture,
.fp-program-reviews {
  isolation: isolate;
  overflow: hidden;
  background: #06100a;
  color: #fff;
}
.fp-program-format {
}
.fp-program-format__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 60px;
}
.fp-program-format-card,
.fp-program-module-card {
  padding: 28px;
  border: 1px solid rgba(234, 233, 233, .35);
  border-radius: 22px;
  background: rgba(255, 255, 255, .08);
}
.fp-program-format-card h3,
.fp-program-module-card h3 {
  color: #fff;
}
.fp-program-format-card p,
.fp-program-module-card p {
  color: rgba(255, 255, 255, .78);
}
.fp-program-bonus {
  margin: 58px auto 0;
  color: #c8f36a;
  font-size: 24px;
  line-height: 1.1;
  text-align: center;
  letter-spacing: -1px;
}
.fp-program-architecture {
  background-image: var(--fp-program-architecture-image);
  background-position: center;
  background-size: cover;
}
.fp-program-architecture__wash {
  background: linear-gradient(180deg, rgba(3, 12, 8, .68), rgba(3, 12, 8, .88));
}
.fp-program-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 64px;
}
.fp-program-module-card {
}
.fp-program-schedule,
.fp-program-curriculum {
  width: min(960px, 100%);
  margin: 60px auto 0;
}
.fp-program-schedule__row,
.fp-program-curriculum__item {
  display: grid;
  grid-template-columns: 70px 1fr 1.5fr;
  gap: 24px;
  align-items: start;
  padding: 26px 0;
  border-top: 1px solid rgba(234, 233, 233, .28);
}
.fp-program-schedule__row > span,
.fp-program-curriculum__item > span {
  color: #c8f36a;
  font-size: 18px;
}
.fp-program-schedule__row h3,
.fp-program-curriculum__item h3 {
  margin: 0;
  color: #fff;
}
.fp-program-schedule__row p,
.fp-program-curriculum__item p {
  margin: 0;
  color: rgba(255, 255, 255, .76);
}
.fp-program-expert {
  background: #eff0ec;
  color: #0b120d;
}
.fp-program-expert__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 90px;
  align-items: center;
}
.fp-program-expert__copy .fp-program-eyebrow {
  border-color: rgba(0, 0, 0, .22);
  color: #142018;
}
.fp-program-expert__copy h2 {
  max-width: 540px;
  margin: 0;
  color: #0b120d;
  font-size: clamp(40px, 4.2vw, 60px);
  font-weight: 500;
  line-height: .97;
  letter-spacing: -3px;
}
.fp-program-expert__name {
  margin: 42px 0 0;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1.5px;
}
.fp-program-expert__role {
  margin: 12px 0 0;
  color: rgba(11, 18, 13, .68);
  font-size: 17px;
}
.fp-program-expert__bio {
  max-width: 510px;
  margin: 32px 0 0;
  color: rgba(11, 18, 13, .82);
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -.7px;
}
.fp-program-text-link {
  display: inline-flex;
  align-items: center;
  gap: 38px;
  margin-top: 38px;
  border-bottom: 1px solid rgba(11, 18, 13, .65);
  padding-bottom: 10px;
  color: #0b120d;
  font-size: 16px;
  transition: transform 180ms ease;
}
.fp-program-expert__visual {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(190px, .65fr);
  gap: 16px;
  align-items: end;
}
.fp-program-expert__portrait {
  height: 660px;
  overflow: hidden;
  border-radius: 30px;
  background: #d8ded0;
}
.fp-program-expert__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.fp-program-expert__stats {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.fp-program-expert__stats > div {
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 20px;
  background: rgba(255, 255, 255, .48);
}
.fp-program-expert__stats strong,
.fp-program-expert__stats span {
  display: block;
}
.fp-program-expert__stats strong {
  color: #6f921e;
  font-size: 38px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -2px;
}
.fp-program-expert__stats span {
  margin-top: 16px;
  color: rgba(11, 18, 13, .72);
  font-size: 14px;
  line-height: 1.2;
}
.fp-program-expert--lead {
  background: #e9ede6;
}
.fp-program-pricing {
}
.fp-program-pricing__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 62px;
}
.fp-program-price-card {
  padding: 28px;
  border: 1px solid rgba(0, 0, 0, .16);
  border-radius: 22px;
  background: #fff;
}
.fp-program-price-card h3 {
  margin: 0;
  font-size: 24px;
}
.fp-program-price-card strong {
  display: block;
  margin-top: 58px;
  color: #6f921e;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: -2px;
}
.fp-program-price-card p {
  margin: 20px 0 0;
  color: rgba(11, 18, 13, .72);
  line-height: 1.25;
}
.fp-program-price-card .fp-program-text-link {
  margin-top: 38px;
}
.fp-program-reviews {
  background-image: var(--fp-program-reviews-image);
  background-position: center;
  background-size: cover;
}
.fp-program-reviews__wash {
  background: rgba(2, 8, 7, .75);
}
.fp-program-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 62px;
}
.fp-program-review-card {
  margin: 0;
  padding: 32px;
  border: 1px solid rgba(234, 233, 233, .36);
  border-radius: 24px;
  background: rgba(255, 255, 255, .1);
}
.fp-program-review-card p {
  margin: 0;
  color: #fff;
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: -1px;
}
.fp-program-review-card cite {
  display: block;
  margin-top: 42px;
  color: #c8f36a;
  font-size: 16px;
  font-style: normal;
}
@media (max-width: 960px) {
  .fp-program-hero {
  }
  .fp-program-hero__content {
    padding-top: 220px;
  }
  .fp-program-hero h1 {
    letter-spacing: -2px;
  }
  .fp-program-hero__lead {
    font-size: 19px;
  }
  .fp-program-section {
    padding: 72px 0;
  }
  .fp-program-audience__grid,
  .fp-program-audience--recruitment .fp-program-audience__grid,
  .fp-program-benefits__grid,
  .fp-program-format__grid,
  .fp-program-module-grid,
  .fp-program-pricing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fp-program-expert__layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .fp-program-expert__portrait {
    height: 560px;
  }
  .fp-program-expert__visual {
    width: min(720px, 100%);
    margin: 0 auto;
  }
  .fp-program-contact {
  }
}
@media (max-width: 560px) {
  .fp-program-container,
  .fp-program-hero__content {
    width: calc(100% - 32px);
  }
  .fp-program-hero {
    background-position: 62% center;
  }
  .fp-program-hero__content {
    padding-top: 170px;
  }
  .fp-program-hero h1 {
    font-size: 45px;
    line-height: .96;
  }
  .fp-program-eyebrow {
    padding: 11px 18px;
    font-size: 13px;
  }
  .fp-program-hero__lead {
    font-size: 17px;
  }
  .fp-program-hero__actions {
    flex-direction: column;
    align-items: stretch;
    margin-top: 34px;
  }
  .fp-program-button {
    width: 100%;
  }
  .fp-program-hero__hint {
    right: 16px;
    bottom: 22px;
  }
  .fp-program-section-heading h2,
  .fp-program-expert__copy h2 {
    font-size: 36px;
    letter-spacing: -2px;
  }
  .fp-program-audience__grid,
  .fp-program-audience--recruitment .fp-program-audience__grid,
  .fp-program-benefits__grid,
  .fp-program-format__grid,
  .fp-program-module-grid,
  .fp-program-pricing__grid,
  .fp-program-reviews__grid {
    grid-template-columns: 1fr;
    margin-top: 42px;
  }
  .fp-program-audience-card,
  .fp-program-benefit-card,
  .fp-program-format-card,
  .fp-program-module-card {
  }
  .fp-program-format-card h3,
  .fp-program-module-card h3,
  .fp-program-benefit-card h3 {
    margin-top: 28px;
  }
  .fp-program-schedule__row,
  .fp-program-curriculum__item {
    grid-template-columns: 42px 1fr;
    gap: 12px;
  }
  .fp-program-schedule__row p,
  .fp-program-curriculum__item p {
    grid-column: 2;
  }
  .fp-program-expert__visual {
    grid-template-columns: 1fr;
  }
  .fp-program-expert__portrait {
    height: 440px;
  }
  .fp-program-expert__stats {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fp-program-price-card {
  }
  .fp-program-review-card p {
    font-size: 19px;
  }
  .fp-program-reviews {
  }
}
/* Figma programme pages ------------------------------------------------- */
.fp-program-page {
  overflow-x: hidden;
  background: #fff;
  color: #000;
}
.fp-program-main { background: #fff; }
.fp-program-container { position: relative; z-index: 1; width: min(1190px, calc(100% - 48px)); height: 100%; margin: 0 auto; }
.fp-program-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 15px 40px;
  border: 1px solid rgba(234, 233, 233, .75);
  border-radius: 500px;
  color: inherit;
  font-size: 16px;
  line-height: 12px;
  letter-spacing: -1px;
  white-space: nowrap;
}
.fp-program-section-heading { position: absolute; z-index: 2; top: 50px; left: 50%; display: flex; width: min(1190px, calc(100% - 48px)); flex-direction: column; align-items: center; gap: 20px; transform: translateX(-50%); text-align: center; }
.fp-program-section-heading h2 { max-width: 1093px; margin: 0; font-size: 48px; font-weight: 500; line-height: 1.08; letter-spacing: -2px; }
.fp-program-section-heading--dark { color: #fff; }
.fp-program-section-heading--dark .fp-program-eyebrow { border-color: rgba(255,255,255,.35); }
.fp-program-text-link { display: inline-flex; align-items: center; gap: 12px; color: inherit; font-size: 18px; line-height: 1.1; text-decoration: none; }
.fp-program-text-link span { font-size: 24px; line-height: 1; }
.fp-program-text-link:hover { opacity: .72; }
.fp-program-hero { position: relative; display: block; height: 900px; padding: 0; overflow: hidden; isolation: isolate; background: #020807 var(--fp-program-hero-bg) center/cover no-repeat; color: #fff; }
.fp-program-hero::after { position: absolute; z-index: 0; inset: 0; background: rgba(0,0,0,.08); content: ''; pointer-events: none; }
.fp-program-hero__inner { z-index: 1; }
.fp-program-hero__inner { position: relative; width: 100%; height: 100%; }
.fp-program-hero__title { position: absolute; top: 273px; left: 50%; display: flex; width: 433px; flex-direction: column; align-items: center; gap: 30px; transform: translateX(-50%); text-align: center; line-height: 1; }
.fp-program-hero__title .fp-program-eyebrow { width: 100%; padding: 0; border: 0; border-radius: 0; }
.fp-program-hero h1 { width: 100%; max-width: none; margin: 0; font-size: 48px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-hero__lead { position: absolute; top: 550px; left: 50%; width: 476px; transform: translateX(-50%); text-align: center; }
.fp-program-hero__lead h2 { margin: 0 0 8px; font-size: 24px; font-weight: 500; line-height: 24px; letter-spacing: -1px; }
.fp-program-hero__lead p { width: 476px; max-width: 100%; margin: 0 auto; color: rgba(255,255,255,.78); font-size: 16px; line-height: 14px; letter-spacing: -1px; }
.fp-program-hero__actions { display: flex; width: 476px; height: 64px; flex-wrap: nowrap; justify-content: flex-start; gap: 10px; margin-top: 30px; }
.fp-program-hero__actions .fp-program-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 0;
  padding: 20px 40px;
  height: 64px;
  border: 0;
  border-radius: 20px;
  background: transparent;
  color: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1px;
  transition: background 180ms ease, transform 180ms ease;
}
.fp-program-hero__actions .fp-program-text-link img { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.fp-program-hero__actions .fp-program-text-link:first-child { width: 254px; flex: 0 0 254px; }
.fp-program-hero__actions .fp-program-text-link:last-child { width: 212px; flex: 0 0 212px; }
.fp-program-hero__actions .fp-program-text-link:hover,
.fp-program-hero__actions .fp-program-text-link:focus-visible {
  opacity: 1;
  background: rgba(255, 255, 255, .18);
  transform: translateY(-2px);
}
.fp-program-audience, .fp-program-benefits, .fp-program-format, .fp-program-pricing, .fp-program-reviews { position: relative; overflow: hidden; background: #fff; color: #000; }
.fp-program-audience::before, .fp-program-benefits::before, .fp-program-reviews::before { position: absolute; width: 650px; height: 650px; border-radius: 50%; background: radial-gradient(circle, rgba(190,255,0,.25), rgba(86,255,188,.09) 38%, transparent 70%); content: ''; filter: blur(22px); pointer-events: none; }
.fp-program-audience::before { top: -180px; left: -180px; }
.fp-program-benefits::before { right: -160px; bottom: -190px; }
.fp-program-reviews::before { top: -220px; left: -210px; }
.fp-program-audience, .fp-program-benefits, .fp-program-format, .fp-program-pricing,
.fp-program-reviews, .fp-program-architecture, .fp-program-expert, .fp-program-contact {
  padding: 50px 0 48px;
}
.fp-program-audience__grid { position: absolute; top: 247px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(3, 1fr); column-gap: 10px; row-gap: 50px; transform: translateX(-50%); }
.fp-program-audience--recruitment .fp-program-audience__grid { top: 247px; grid-template-columns: repeat(4, 1fr); row-gap: 10px; }
.fp-program-audience-card { min-width: 0; }
.fp-program-audience-card__number { position: relative; height: 109px; overflow: hidden; color: #000; }
.fp-program-audience-card__number span { position: absolute; top: -16px; left: 5px; color: rgba(0,0,0,.1); font-size: 150px; font-weight: 500; line-height: 1; letter-spacing: -8px; }
.fp-program-audience-card__number strong { position: absolute; top: 22px; left: 5px; color: rgba(0,0,0,.82); font-size: 120px; font-weight: 500; line-height: .75; letter-spacing: -7px; }
.fp-program-audience-card p { margin: 0; padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; color: rgba(0,0,0,.8); font-size: 16px; line-height: 1.2; letter-spacing: -1px; }
.fp-program-audience--recruitment::before { display: none; }
.fp-program-audience--recruitment .fp-program-section-heading .fp-program-eyebrow { margin-bottom: 0; }
.fp-program-audience--recruitment .fp-program-section-heading h2 { line-height: 1; letter-spacing: -1px; }
.fp-program-audience__glow { position: absolute; z-index: 0; top: -490px; left: -489px; display: flex; width: 1083.773px; height: 1134.913px; align-items: center; justify-content: center; pointer-events: none; }
.fp-program-audience__glow > div { flex: none; transform: rotate(-73.01deg) scaleY(-1); }
.fp-program-audience__glow > div > div { position: relative; width: 927px; height: 850px; }
.fp-program-audience__glow img { position: absolute; inset: -18.56% -17.02%; display: block; width: 134.04%; max-width: none; height: 137.12%; }
.fp-program-audience--recruitment .fp-program-audience__grid { top: 295px; width: 1190px; max-width: calc(100vw - 48px); margin: 0; }
.fp-program-audience--recruitment .fp-program-audience-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; background: #fff; box-sizing: border-box; }
.fp-program-audience--recruitment .fp-program-audience-card h3 { width: 100%; margin: 0; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-audience--recruitment .fp-program-audience-card p { margin: 0; padding: 0; border: 0; border-radius: 0; color: rgba(0,0,0,.8); font-size: 16px; line-height: 1; letter-spacing: -1px; }
.fp-program-benefits__grid { position: absolute; top: 277px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(4, 1fr); gap: 10px; transform: translateX(-50%); }
.fp-program-benefit-card { padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; }
.fp-program-card-number { display: block; color: rgba(0,0,0,.34); font-size: 16px; line-height: 1; }
.fp-program-benefit-card h3 { margin: 22px 0 8px; font-size: 20px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-benefit-card p { margin: 0; color: rgba(0,0,0,.7); font-size: 16px; line-height: 1.2; letter-spacing: -1px; }
.fp-program-format__grid { position: absolute; top: 244px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(3, 1fr); gap: 10px; transform: translateX(-50%); }
.fp-program-format-card { padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; }
.fp-program-format-card h3 { margin: 30px 0 12px; font-size: 24px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-format-card p { margin: 0; color: rgba(0,0,0,.7); font-size: 16px; line-height: 1.2; letter-spacing: -1px; }
.fp-program-bonus { position: absolute; right: 0; bottom: 42px; left: 0; margin: 0; color: rgba(0,0,0,.7); font-size: 16px; text-align: center; }
.fp-program-format--recruitment::before { display: none; }
.fp-program-format--recruitment .fp-program-section-heading { top: 100px; }
.fp-program-format--recruitment .fp-program-section-heading h2 { line-height: 1; letter-spacing: -1px; }
.fp-program-format--recruitment .fp-program-format__grid { top: 235px; display: flex; width: 1190px; max-width: calc(100vw - 48px); flex-direction: column; gap: 10px; margin: 0; }
.fp-program-format--recruitment .fp-program-format__row { display: flex; width: 100%; gap: 10px; }
.fp-program-format--recruitment .fp-program-format__row--bottom { justify-content: space-between; }
.fp-program-format--recruitment .fp-program-format__row-group { display: flex; gap: 10px; }
.fp-program-format--recruitment .fp-program-format-card { display: flex; width: 290px; min-width: 290px; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; background: #fff; box-sizing: border-box; }
.fp-program-format--recruitment .fp-program-format-card h3 { margin: 0; color: #000; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-format--recruitment .fp-program-format-card p { margin: 0; color: rgba(0,0,0,.8); font-size: 16px; line-height: 1; letter-spacing: -1px; }
.fp-program-format__glow { position: absolute; z-index: 0; top: 181px; right: -596.53px; display: flex; width: 1192.531px; height: 1251.519px; align-items: center; justify-content: center; pointer-events: none; }
.fp-program-format__glow > div { flex: none; transform: rotate(75.04deg) scaleY(-1); }
.fp-program-format__glow > div > div { position: relative; width: 1039.81px; height: 956.479px; }
.fp-program-format__glow img { position: absolute; inset: -16.5% -4.33% -5.37% -15.18%; display: block; width: 119.51%; max-width: none; height: 122.74%; }
.fp-program-format--recruitment .fp-program-bonus { top: 737px; right: auto; bottom: auto; left: 50%; display: flex; width: 1190px; max-width: calc(100vw - 48px); align-items: center; gap: 10px; padding: 15px 30px; border: 1px solid #eae9e9; border-radius: 500px; background: #fff; box-sizing: border-box; color: #000; text-align: left; transform: translateX(-50%); }
.fp-program-format--recruitment .fp-program-bonus img { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
.fp-program-format--recruitment .fp-program-bonus span { opacity: .8; font-size: 16px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-architecture { position: relative; overflow: hidden; background: #082a25 var(--fp-program-architecture-bg) center/cover no-repeat; color: #fff; }
.fp-program-architecture::after, .fp-program-expert::after { position: absolute; z-index: 0; inset: 0; background: rgba(0,25,21,.18); content: ''; pointer-events: none; }
.fp-program-module-grid { position: absolute; top: 246px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(3, 1fr); gap: 50px 10px; transform: translateX(-50%); }
.fp-program-module-card { padding: 40px 30px; border: 1px solid rgba(255,255,255,.15); border-radius: 30px; background: rgba(255,255,255,.1); }
.fp-program-module-label, .fp-program-curriculum__item .fp-program-module-label { display: block; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1; }
.fp-program-module-line { display: block; height: 1px; margin: 20px 0; background: rgba(255,255,255,.3); }
.fp-program-module-card h3 { margin: 0 0 12px; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-module-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.2; letter-spacing: -1px; }
.fp-program-architecture .fp-program-card-number { color: rgba(255,255,255,.5); }
.fp-program-architecture__cta { position: absolute; bottom: 48px; left: 50%; display: flex; width: 100%; align-items: center; justify-content: center; padding: 20px 30px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; color: #fff; font-size: 18px; text-decoration: none; transform: translateX(-50%); box-sizing: border-box; }
.fp-program-architecture__cta span { margin-left: 12px; font-size: 24px; }
.fp-program-curriculum, .fp-program-schedule { position: absolute; top: 246px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(3, 1fr); gap: 50px 10px; transform: translateX(-50%); }
.fp-program-curriculum__item, .fp-program-schedule__row { padding: 40px 30px; border: 1px solid rgba(255,255,255,.15); border-radius: 30px; background: rgba(255,255,255,.1); }
.fp-program-curriculum__item > span:not(.fp-program-module-label), .fp-program-schedule__row > span { color: rgba(255,255,255,.5); font-size: 16px; }
.fp-program-curriculum__item h3, .fp-program-schedule__row h3 { margin: 0 0 12px; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-curriculum__item p, .fp-program-schedule__row p { margin: 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.2; letter-spacing: -1px; }
.fp-program-architecture--recruitment::after { background: rgba(0,0,0,.3); }
.fp-program-architecture--recruitment .fp-program-section-heading { top: 75px; }
.fp-program-architecture--recruitment .fp-program-section-heading .fp-program-eyebrow { margin: 0; padding: 0; border: 0; border-radius: 0; }
.fp-program-architecture--recruitment .fp-program-section-heading h2 { line-height: 1; letter-spacing: -1px; opacity: .8; }
.fp-program-recruitment-modules { position: absolute; top: 272px; left: 50%; display: flex; width: 1191px; max-width: calc(100vw - 48px); flex-direction: column; gap: 50px; transform: translateX(-50%); }
.fp-program-recruitment-modules__row-group { display: flex; width: 100%; flex-direction: column; gap: 10px; }
.fp-program-recruitment-modules__rule { position: relative; width: 100%; height: 39px; }
.fp-program-recruitment-modules__rule-line { position: absolute; top: 0; left: 50%; display: block; width: 1190px; max-width: 100%; height: 1px; transform: translateX(-50%); }
.fp-program-recruitment-modules__rule-node { position: absolute; top: 0; display: block; width: 42.1667px; height: 5.3333px; transform: translateX(-50%) rotate(90deg); transform-origin: 50% 0; }
.fp-program-recruitment-modules__rule-node:nth-of-type(2) { left: 16.67%; }
.fp-program-recruitment-modules__rule-node:nth-of-type(3) { left: 50%; }
.fp-program-recruitment-modules__rule-node:nth-of-type(4) { left: 83.33%; }
.fp-program-recruitment-modules__row-group--final .fp-program-recruitment-modules__rule-node { left: 16.67%; }
.fp-program-recruitment-modules__cards { display: flex; width: 100%; align-items: flex-end; gap: 10px; }
.fp-program-recruitment-module { display: flex; width: 390px; min-width: 390px; flex-direction: column; align-items: flex-start; gap: 20px; padding: 40px 30px; border: 1px solid rgba(255,255,255,.2); border-radius: 30px; background: rgba(0,0,0,0); box-sizing: border-box; color: #fff; }
.fp-program-recruitment-module__label { display: block; width: 100%; flex: 0 0 auto; color: #fff; font-size: 18px; line-height: 1; letter-spacing: -1px; }
.fp-program-recruitment-module__line { display: block; width: 100%; height: 1px; flex: 0 0 auto; opacity: 1; }
.fp-program-recruitment-module__body { display: flex; width: 100%; flex-direction: column; gap: 20px; color: #fff; font-size: 16px; line-height: 1; letter-spacing: -1px; }
.fp-program-recruitment-module__body h3 { width: 100%; margin: 0; color: #fff; font-size: 16px; font-weight: 500; line-height: 1; letter-spacing: -1px; }
.fp-program-recruitment-module__items { display: flex; width: 100%; flex-direction: column; gap: 10px; }
.fp-program-recruitment-module__body p { width: 100%; margin: 0; color: #fff; font-size: 16px; line-height: 1; letter-spacing: -1px; }
.fp-program-recruitment-modules__row-group--final .fp-program-recruitment-module { height: auto; }
.fp-program-recruitment-modules__row-group--final .fp-program-recruitment-module__body h3 { font-size: 16px; }
.fp-program-recruitment-modules__row-group--final .fp-program-recruitment-modules__cards { justify-content: space-between; }
.fp-program-recruitment-modules__cta { display: inline-flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 0; padding: 20px 40px; border: 1px solid rgba(0,0,0,.1); border-radius: 20px; color: #fff; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -1px; text-decoration: none; }
.fp-program-recruitment-modules__cta img { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.fp-program-expert { position: relative; overflow: hidden; background: #082a25 var(--fp-program-expert-bg) center/cover no-repeat; color: #fff; }
.fp-program-expert .fp-program-section-heading { top: 12px; }
.fp-program-expert__layout { position: absolute; top: 209px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: 390px 1fr; gap: 10px; transform: translateX(-50%); }
.fp-program-expert__person { position: relative; width: 390px; }
.fp-program-expert__portrait { width: 390px; height: 469px; overflow: hidden; border-radius: 30px; background: #1c423b; }
.fp-program-expert__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.fp-program-expert__bio { position: relative; z-index: 2; margin-top: -63px; padding: 30px; border-radius: 30px; background: #fff; color: #000; }
.fp-program-expert__bio h3 { margin: 0 0 16px; font-size: 40px; font-weight: 500; line-height: .95; letter-spacing: -2px; }
.fp-program-expert__bio p { margin: 0; color: rgba(0,0,0,.65); font-size: 18px; line-height: 1.15; }
.fp-program-expert__stats { display: grid; grid-template-columns: repeat(3, 1fr); align-self: end; padding: 40px 30px; border: 1px solid rgba(255,255,255,.15); border-radius: 30px; background: rgba(255,255,255,.1); }
.fp-program-expert__stats div { display: flex; flex-direction: column; gap: 14px; padding: 0 25px; }
.fp-program-expert__stats div + div { border-left: 1px solid rgba(255,255,255,.22); }
.fp-program-expert__stats strong { font-size: 40px; font-weight: 500; line-height: 1; letter-spacing: -2px; }
.fp-program-expert__stats span { color: rgba(255,255,255,.7); font-size: 16px; line-height: 1.15; }
.fp-program-pricing__grid { position: absolute; top: 277px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(4, 1fr); gap: 10px; transform: translateX(-50%); }
.fp-program-price-card { padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; }
.fp-program-price-card h3 { margin: 0 0 36px; font-size: 24px; font-weight: 500; }
.fp-program-price-card strong { display: block; font-size: 36px; font-weight: 500; letter-spacing: -2px; }
.fp-program-price-card p { margin: 20px 0 0; color: rgba(0,0,0,.7); font-size: 16px; line-height: 1.2; }
.fp-program-price-card .fp-program-text-link { margin-top: 38px; }
.fp-program-reviews__grid { position: absolute; top: 239px; left: 50%; display: grid; width: 1190px; max-width: calc(100% - 48px); grid-template-columns: repeat(2, 1fr); gap: 10px; transform: translateX(-50%); }
.fp-program-review-card { margin: 0; padding: 40px 30px; border: 1px solid #eae9e9; border-radius: 30px; background: #fff; }
.fp-program-review-card p { margin: 0; color: rgba(0,0,0,.75); font-size: 18px; line-height: 1.25; letter-spacing: -1px; }
.fp-program-review-card cite { display: block; margin-top: 40px; color: #000; font-size: 18px; font-style: normal; }
.fp-program-contact { position: relative; overflow: hidden; background: #06251f var(--fp-program-contact-bg) center/cover no-repeat; color: #fff; }
.fp-program-contact__overlay { position: absolute; z-index: 0; inset: 0; background: rgba(0,0,0,.2); }
.fp-program-contact .fp-program-section-heading { top: 18px; }
.fp-program-contact .fp-program-section-heading h2 { font-size: 48px; }
.fp-program-contact__form { position: absolute; z-index: 1; top: 215px; left: 50%; display: flex; width: 826px; max-width: calc(100% - 48px); flex-direction: column; gap: 10px; transform: translateX(-50%); }
.fp-program-contact__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.fp-program-contact__form label:not(.fp-program-contact__consent) { display: block; }
.fp-program-contact__form input[type="text"], .fp-program-contact__form input[type="tel"], .fp-program-contact__form input[type="email"], .fp-program-contact__form textarea { display: block; width: 100%; box-sizing: border-box; padding: 18px 30px; border: 1px solid rgba(234,233,233,.55); border-radius: 10px; outline: none; background: rgba(0,0,0,.08); color: #fff; font: inherit; font-size: 16px; }
.fp-program-contact__form textarea { resize: vertical; }
.fp-program-contact__form input::placeholder, .fp-program-contact__form textarea::placeholder { color: rgba(255,255,255,.72); }
.fp-program-contact__consent { display: flex; align-items: flex-start; gap: 12px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.2; }
.fp-program-contact__consent input { margin-top: 2px; accent-color: #fff; }
.fp-program-contact__form button { display: flex; align-items: center; justify-content: space-between; padding: 20px 30px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 16px; cursor: pointer; }
.fp-program-contact__form button span { font-size: 24px; }
.fp-program-architecture--lead .fp-program-container { height: auto; padding-bottom: 71px; }
@media (max-width: 800px) {
  .fp-program-container, .fp-program-section-heading { width: calc(100% - 32px); }
  .fp-program-section-heading h2, .fp-program-hero h1, .fp-program-contact .fp-program-section-heading h2 { font-size: 34px; line-height: 1.05; }
  .fp-program-hero { height: 720px; }
  .fp-program-hero__title { top: 205px; width: calc(100% - 32px); }
  .fp-program-hero__lead { top: 430px; width: calc(100% - 32px); }
  .fp-program-hero__actions { gap: 18px; flex-wrap: wrap; }
  .fp-program-audience, .fp-program-audience--recruitment { padding: 52px 0 64px; }
  .fp-program-audience__grid, .fp-program-audience--recruitment .fp-program-audience__grid { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; grid-template-columns: 1fr; gap: 28px; transform: none; margin: 190px auto 0; }
  .fp-program-audience--recruitment .fp-program-audience__grid { margin-top: 150px; }
  .fp-program-audience-card__number { height: 75px; }
  .fp-program-audience-card__number span { font-size: 100px; }
  .fp-program-audience-card__number strong { top: 18px; font-size: 82px; }
  .fp-program-audience-card p { padding: 26px 24px; }
  .fp-program-benefits { padding: 52px 0 64px; }
  .fp-program-benefits__grid, .fp-program-format__grid { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; grid-template-columns: 1fr; transform: none; margin: 180px auto 0; }
  .fp-program-benefit-card { height: auto; }
  .fp-program-format { padding: 52px 0 80px; }
  .fp-program-format__grid { margin-top: 160px; }
  .fp-program-bonus { position: relative; right: auto; bottom: auto; left: auto; margin: 40px 16px 0; text-align: center; }
  .fp-program-architecture, .fp-program-page--superkarera .fp-program-architecture, .fp-program-page--recruitment-school .fp-program-architecture, .fp-program-page--akselerator .fp-program-architecture { padding: 52px 0 72px; }
  .fp-program-architecture--lead .fp-program-container { padding-bottom: 0; }
  .fp-program-super-modules { width: calc(100% - 32px); max-width: none; margin: 190px auto 0; }
  .fp-program-super-modules__rule { display: none; }
  .fp-program-super-modules__cards { grid-template-columns: 1fr; gap: 28px; }
  .fp-program-super-modules .fp-program-module-card { width: 100%; height: auto; }
  .fp-program-super-modules .fp-program-module-card__body { height: auto; }
  .fp-program-module-grid, .fp-program-curriculum, .fp-program-schedule { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; grid-template-columns: 1fr; transform: none; margin: 190px auto 0; }
  .fp-program-architecture__cta { position: relative; bottom: auto; left: auto; width: calc(100% - 32px); margin: 36px auto 0; transform: none; }
  .fp-program-expert { padding: 52px 0 72px; }
  .fp-program-expert__layout { position: relative; top: auto; left: auto; width: calc(100% - 32px); grid-template-columns: 1fr; transform: none; margin: 180px auto 0; }
  .fp-program-expert__person, .fp-program-expert__portrait { width: 100%; }
  .fp-program-expert__portrait { height: 390px; }
  .fp-program-expert__stats { grid-template-columns: 1fr; gap: 24px; }
  .fp-program-expert__stats div { padding: 0; }
  .fp-program-expert__stats div + div { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.22); border-left: 0; }
  .fp-program-pricing { padding: 52px 0 72px; }
  .fp-program-pricing__grid, .fp-program-reviews__grid { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; grid-template-columns: 1fr; transform: none; margin: 180px auto 0; }
  .fp-program-reviews, .fp-program-page--superkarera .fp-program-reviews, .fp-program-page--recruitment-school .fp-program-reviews, .fp-program-page--akselerator .fp-program-reviews, .fp-program-page--liderskiy-praktikum .fp-program-reviews, .fp-program-page--dream-team .fp-program-reviews { padding: 52px 0 72px; }
  .fp-program-contact { padding-bottom: 72px; }
  .fp-program-contact__form { top: 210px; width: calc(100% - 32px); max-width: none; }
  .fp-program-contact__row { grid-template-columns: 1fr; }
}
/* SuperКарьера: exact Figma refinements */
.fp-program-page--superkarera .fp-program-hero .fp-program-eyebrow {
  padding: 0;
  border: 0;
  border-radius: 0;
}
.fp-program-page--superkarera .fp-program-hero__title {
  width: 433px;
}
.fp-program-page--superkarera .fp-program-hero h1 {
  margin-top: 0;
  white-space: nowrap;
}
.fp-program-page--superkarera .fp-program-hero__lead h2 { margin-bottom: 8px; }
.fp-program-page--superkarera .fp-program-hero__actions { gap: 10px; margin-top: 30px; }
.fp-program-page--superkarera .fp-program-hero__actions .fp-program-text-link {
  padding: 20px 40px;
  border-radius: 20px;
  font-size: 18px;
}
.fp-program-page--superkarera .fp-program-section-heading--plain { top: 94px; }
.fp-program-page--superkarera .fp-program-audience::before {
  z-index: 0;
  top: -758px;
  right: -817px;
  left: auto;
  width: 1413px;
  height: 1410px;
  border-radius: 0;
  background: url("assets/images/dev-education-glow.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(136.36deg) scaleY(-1);
  filter: none;
}
.fp-program-page--superkarera .fp-program-audience::after {
  position: absolute;
  z-index: 0;
  top: -725px;
  left: -615px;
  width: 1387px;
  height: 1404px;
  background: url("assets/images/dev-education-glow.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(53.61deg) scaleY(-1);
  content: '';
  pointer-events: none;
}
.fp-program-page--superkarera .fp-program-audience__grid {
  width: 1190px;
  max-width: calc(100vw - 48px);
  margin-top: 0;
}
.fp-program-page--superkarera .fp-program-audience-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.fp-program-page--superkarera .fp-program-audience-card p {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  overflow: hidden;
}
.fp-program-page--superkarera .fp-program-audience__note {
  position: absolute;
  top: 813px;
  left: 50%;
  display: flex;
  width: 1190px;
  max-width: calc(100vw - 48px);
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  box-sizing: border-box;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 500px;
  background: #fff;
  transform: translateX(-50%);
  color: rgba(0,0,0,.8);
  font-size: 16px;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-page--superkarera .fp-program-audience__note span { flex: 1; }
.fp-program-page--superkarera .fp-program-benefits::before {
  z-index: 0;
  top: 28px;
  right: -608px;
  bottom: auto;
  left: auto;
  width: 1265px;
  height: 1156px;
  border-radius: 0;
  background: url("assets/images/programs/superkarera/benefits-glow-right.svg") center/975.849px 1110.805px no-repeat;
  transform: rotate(79.89deg) scaleY(-1);
  filter: none;
}
.fp-program-page--superkarera .fp-program-benefits::after {
  position: absolute;
  z-index: 0;
  top: -157px;
  right: 777px;
  bottom: auto;
  left: auto;
  width: 1480px;
  height: 1412px;
  border-radius: 0;
  background: url("assets/images/programs/superkarera/benefits-glow-left.svg") center/1153.358px 1000.414px no-repeat;
  transform: rotate(-26.67deg) scaleY(-1);
  content: '';
  pointer-events: none;
}
.fp-program-page--superkarera .fp-program-benefits__grid {
  width: 1190px;
  max-width: calc(100vw - 48px);
  margin-top: 0;
}
.fp-program-page--superkarera .fp-program-benefit-card--ordered {
  box-sizing: border-box;
  background: #fff;
}
.fp-program-page--superkarera .fp-program-benefits .fp-program-section-heading h2 {
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-super-modules {
  position: relative;
  top: auto;
  left: auto;
  display: flex;
  width: 1190px;
  max-width: calc(100vw - 48px);
  flex-direction: column;
  gap: 50px;
  margin: 246px auto 0;
}
.fp-program-super-modules__row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fp-program-super-modules__rule {
  position: relative;
  width: 100%;
  height: 39px;
}
.fp-program-super-modules__rule > img:first-child {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
}
.fp-program-super-modules__rule > img:not(:first-child) {
  position: absolute;
  top: 0;
  display: block;
  width: 39px;
  height: 5.333px;
  transform: rotate(90deg) translateY(-5.333px);
  transform-origin: left top;
}
.fp-program-super-modules__rule > img:nth-child(2) { left: 200px; }
.fp-program-super-modules__rule > img:nth-child(3) { left: 600px; }
.fp-program-super-modules__rule > img:nth-child(4) { left: 1000px; }
.fp-program-super-modules__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.fp-program-super-modules .fp-program-module-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 30px;
  box-sizing: border-box;
}
.fp-program-super-modules .fp-program-module-line {
  width: 100%;
  height: 1px;
  margin: 0;
  object-fit: fill;
}
.fp-program-super-modules .fp-program-module-card__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.fp-program-super-modules .fp-program-module-card h3,
.fp-program-super-modules .fp-program-module-card p { margin: 0; }
.fp-program-architecture--lead .fp-program-architecture__cta {
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  justify-content: space-between;
  width: 1190px;
  max-width: calc(100vw - 48px);
  margin: 30px auto 0;
  box-sizing: border-box;
  padding: 20px 40px;
  transform: none;
}
.fp-program-architecture--lead .fp-program-architecture__cta img { width: 24px; height: 24px; }
@media (max-width: 800px) {
  .fp-program-architecture--lead .fp-program-container { padding-bottom: 0; }
  .fp-program-super-modules { width: calc(100% - 32px); max-width: none; margin: 190px auto 0; }
  .fp-program-super-modules__rule { display: none; }
  .fp-program-super-modules__cards { grid-template-columns: 1fr; gap: 28px; }
  .fp-program-super-modules .fp-program-module-card { width: 100%; height: auto; }
  .fp-program-super-modules .fp-program-module-card__body { height: auto; }
  .fp-program-architecture--lead .fp-program-architecture__cta { width: calc(100% - 32px); margin: 36px auto 0; }
}
.fp-program-page--superkarera .fp-program-audience__note img { width: 40px; height: 40px; flex: 0 0 40px; }
.fp-program-page--superkarera .fp-program-benefit-card--ordered { padding: 40px 30px; }
.fp-program-page--superkarera .fp-program-benefit-card--ordered ol { margin: 0; padding-left: 24px; color: rgba(0,0,0,.8); font-size: 16px; line-height: 1; letter-spacing: -1px; }
.fp-program-page--superkarera .fp-program-benefit-card--ordered li { padding-left: 0; }
.fp-program-architecture--lead .fp-program-section-heading--dark .fp-program-eyebrow,
.fp-program-expert--lead .fp-program-section-heading--dark .fp-program-eyebrow,
.fp-program-contact--lead .fp-program-section-heading--dark .fp-program-eyebrow {
  padding: 15px 40px;
  border-color: transparent;
}
.fp-program-expert--lead .fp-program-section-heading--dark .fp-program-eyebrow { border: 0; }
.fp-program-page--superkarera .fp-program-pricing .fp-program-section-heading { top: 122px; width: 1093px; max-width: calc(100vw - 48px); }
.fp-program-page--superkarera .fp-program-pricing .fp-program-section-heading .fp-program-eyebrow { width: 136px; height: 42px; margin-bottom: 0; padding: 15px 40px; border: 0; border-radius: 500px; background: #f5f5f5; box-sizing: border-box; color: #000; line-height: 12px; }
.fp-program-page--superkarera .fp-program-pricing .fp-program-section-heading h2 { width: 1093px; max-width: 100%; line-height: 35px; letter-spacing: -1px; opacity: .8; }
.fp-program-page--superkarera .fp-program-pricing__grid { top: 319px; width: 1190px; max-width: calc(100vw - 48px); margin-top: 0; grid-template-columns: repeat(4, 1fr); gap: 10px; align-items: stretch; }
.fp-program-page--superkarera .fp-program-price-card { display: flex; width: 290px; flex-direction: column; gap: 0; padding: 40px 30px; box-sizing: border-box; border: 0; border-radius: 30px; background: #f5f5f5; }
.fp-program-page--superkarera .fp-program-price-card__head { display: flex; width: 100%; flex-direction: column; align-items: center; gap: 20px; }
.fp-program-page--superkarera .fp-program-price-card__head h3 { margin: 0; font-size: 18px; font-weight: 500; line-height: 13px; text-align: center; }
.fp-program-page--superkarera .fp-program-price-card__head strong { display: block; width: 100%; height: 33px; margin: 0; padding: 10px 30px; box-sizing: border-box; border: 1px solid rgba(0,0,0,.2); border-radius: 500px; background: #fff; color: #000; font-size: 18px; font-weight: 500; line-height: 13px; text-align: center; letter-spacing: -1px; }
.fp-program-page--superkarera .fp-program-price-card__limit { width: 100%; height: 12px; margin: 20px 0 0; color: rgba(0,0,0,.5); font-size: 16px; line-height: 12px; text-align: center; }
.fp-program-page--superkarera .fp-program-price-card__line { display: block; width: 230px; height: 1px; flex: 0 0 1px; margin-top: 20px; }
.fp-program-page--superkarera .fp-program-price-card ol { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 30px; padding: 0 0 0 24px; color: rgba(0,0,0,.5); font-size: 16px; line-height: 14.4px; letter-spacing: -.8px; }
.fp-program-page--superkarera .fp-program-price-card ol li { line-height: 14.4px; }
.fp-program-page--superkarera .fp-program-price-card:not(.fp-program-price-card--base) ol { letter-spacing: -1px; }
.fp-program-page--superkarera .fp-program-price-card:not(.fp-program-price-card--base) .fp-program-price-card__note { letter-spacing: -1px; }
.fp-program-page--superkarera .fp-program-price-card--base ol { padding-left: 0; list-style: none; }
.fp-program-page--superkarera .fp-program-price-card__note { margin: 10px 0 30px; color: rgba(0,0,0,.5); font-size: 16px; line-height: 14.4px; flex: 0 0 auto; }
.fp-program-page--superkarera .fp-program-price-card--base ol li:first-child { font-size: 0; line-height: 0; }
.fp-program-page--superkarera .fp-program-price-card--base ol li:first-child::before { display: block; content: 'Самостоятельная работа\Aна платформе в удобное время'; white-space: pre-line; color: rgba(0,0,0,.5); font-size: 16px; line-height: 14.4px; letter-spacing: -.8px; }
.fp-program-page--superkarera .fp-program-price-card--base ol li { line-height: 15.5px; }
.fp-program-page--superkarera .fp-program-price-card--base ol li:first-child::before { line-height: 15.5px; }
.fp-program-page--superkarera .fp-program-price-card__cta { display: flex; width: 100%; height: 48px; flex: 0 0 48px; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 15px; margin-top: auto; padding: 12px 40px; box-sizing: border-box; border: 1px solid rgba(0,0,0,.1); border-radius: 500px; color: rgba(0,0,0,.8); font-size: 18px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; }
.fp-program-page--superkarera .fp-program-price-card__cta img { display: block; width: 24px; height: 24px; }
.fp-program-page--superkarera .fp-program-price-card__cta span { font-size: 24px; }
.fp-program-page--superkarera .fp-program-price-card:not(.fp-program-price-card--base) ol li:nth-child(5)::marker { content: '4. '; }
.fp-program-page--superkarera .fp-program-price-card:not(.fp-program-price-card--base) ol li:nth-child(6)::marker { content: '5. '; }
.fp-program-page--superkarera .fp-program-reviews {
  background: #fff;
  color: #000;
}
.fp-program-page--superkarera .fp-program-reviews::before {
  z-index: 0;
  top: -758px;
  right: -817.59px;
  bottom: auto;
  left: auto;
  width: 1412.59px;
  height: 1409.79px;
  border-radius: 0;
  background: url("assets/images/programs/superkarera/reviews-glow-right.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(136.36deg) scaleY(-1);
  filter: none;
}
.fp-program-page--superkarera .fp-program-reviews::after {
  position: absolute;
  z-index: 0;
  top: -391.81px;
  left: -535.88px;
  width: 1360.36px;
  height: 1387.41px;
  background: url("assets/images/programs/superkarera/reviews-glow-left.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(58.27deg) scaleY(-1);
  content: '';
  pointer-events: none;
}
.fp-program-page--superkarera .fp-program-reviews .fp-program-section-heading {
  top: 42px;
  width: 683px;
  max-width: calc(100vw - 48px);
}
.fp-program-page--superkarera .fp-program-reviews .fp-program-eyebrow {
  border-color: transparent;
  background: #f5f5f5;
  color: #000;
}
.fp-program-page--superkarera .fp-program-reviews .fp-program-section-heading h2 {
  line-height: 1;
  letter-spacing: -1px;
  opacity: .8;
}
.fp-program-page--superkarera .fp-program-reviews__control {
  position: absolute;
  z-index: 2;
  top: 239px;
  left: 50%;
  display: flex;
  width: 1190px;
  max-width: calc(100vw - 48px);
  justify-content: flex-end;
  transform: translateX(-50%);
}
.fp-program-page--superkarera .fp-program-reviews__control img {
  display: block;
  width: 55px;
  height: 45px;
}
.fp-program-page--superkarera .fp-program-reviews__grid {
  top: 304px;
  width: 1190px;
  max-width: calc(100vw - 48px);
  margin-top: 0;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.fp-program-page--superkarera .fp-program-review-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 30px;
  box-sizing: border-box;
  border: 1px solid #eae9e9;
  border-radius: 30px;
  background: #fff;
}
.fp-program-page--superkarera .fp-program-review-card cite {
  display: block;
  margin: 0;
  color: #000;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-page--superkarera .fp-program-review-card p {
  margin: 0;
  color: rgba(0,0,0,.8);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-contact--lead .fp-program-section-heading { width: 1077px; max-width: calc(100vw - 48px); }
.fp-program-contact--lead .fp-program-section-heading h2 { line-height: 1; letter-spacing: -1px; }
.fp-program-contact--lead .fp-program-contact__form {
  top: 215px;
  width: 886px;
  max-width: calc(100vw - 48px);
  gap: 10px;
  padding: 40px 30px;
  border-radius: 30px;
  background: rgba(56, 55, 55, 0.2);
  box-shadow: inset 0 0 0 1px #eae9e9;
  box-sizing: border-box;
}
.fp-program-contact--lead .fp-program-contact__form button {
  height: 69px;
  margin-top: 10px;
  padding: 20px 50px;
  box-sizing: border-box;
  border: 1px solid #eae9e9;
  border-radius: 20px;
  background: transparent;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.fp-program-contact--lead .fp-program-contact__consent {
  margin-top: 5px;
  align-items: center;
  gap: 15px;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-contact--lead .fp-program-contact__consent input { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; accent-color: transparent; }
.fp-program-contact--lead .fp-program-contact__form label:not(.fp-program-contact__consent) { display: flex; align-items: center; gap: 20px; padding: 10px 30px; border: 1px solid #eae9e9; border-radius: 10px; box-sizing: border-box; }
.fp-program-contact--lead .fp-program-contact__form label:not(.fp-program-contact__consent) img { width: 40px; height: 40px; flex: 0 0 40px; }
.fp-program-contact--lead .fp-program-contact__form label:not(.fp-program-contact__consent) input { padding: 0; border: 0; background: transparent; }
.fp-program-contact--lead .fp-program-contact__form > label:not(.fp-program-contact__consent) { width: 100%; }
.fp-program-contact--lead .fp-program-contact__form button { padding: 20px 50px; border-radius: 20px; font-size: 18px; }
@media (max-width: 800px) {
  .fp-program-page--superkarera .fp-program-hero__title { width: calc(100% - 32px); }
  .fp-program-page--superkarera .fp-program-hero h1 { white-space: normal; }
  .fp-program-page--superkarera .fp-program-audience__note { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; margin: 42px auto 0; transform: none; border-radius: 30px; }
  .fp-program-expert--lead .fp-program-expert__layout { grid-template-columns: 1fr; }
  .fp-program-expert--lead .fp-program-expert__person { height: auto; }
  .fp-program-expert--lead .fp-program-expert__bio { height: auto; }
  .fp-program-expert--lead .fp-program-expert__facts { width: 100%; height: auto; grid-template-columns: 1fr; grid-template-rows: none; }
  .fp-program-expert--lead .fp-program-expert__facts > div:last-child { grid-column: auto; }
  .fp-program-page--superkarera .fp-program-pricing__grid { top: auto; }
}
/* Final mobile corrections: section headings participate in the flow so no
   card can slide underneath a heading at narrow widths. */
@media (max-width: 800px) {
  .fp-program-audience .fp-program-section-heading,
  .fp-program-benefits .fp-program-section-heading,
  .fp-program-format .fp-program-section-heading,
  .fp-program-architecture .fp-program-section-heading,
  .fp-program-expert .fp-program-section-heading,
  .fp-program-pricing .fp-program-section-heading,
  .fp-program-reviews .fp-program-section-heading {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
  }
  .fp-program-audience__grid,
  .fp-program-audience--recruitment .fp-program-audience__grid,
  .fp-program-benefits__grid,
  .fp-program-format__grid,
  .fp-program-module-grid,
  .fp-program-curriculum,
  .fp-program-schedule,
  .fp-program-expert__layout,
  .fp-program-pricing__grid,
  .fp-program-reviews__grid { margin-top: 72px; }
  .fp-program-audience__glow { left: -620px; }
  .fp-program-audience--recruitment .fp-program-audience-card { height: auto; }
  .fp-program-hero__actions { width: 100%; height: auto; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 18px; }
  .fp-program-hero__actions .fp-program-text-link:first-child,
  .fp-program-hero__actions .fp-program-text-link:last-child { width: auto; flex: 0 1 auto; }
}
/* Programme pages: natural CSS flow, without section height calculations. */
body.fp-program-page .fp-program-main > section:not(.fp-program-hero) {
  height: auto;
  padding: 50px 0 48px;
}
body.fp-program-page .fp-program-container { display: flow-root; height: auto; }
body.fp-program-page .fp-program-architecture--lead .fp-program-container { padding-bottom: 0; }
body.fp-program-page .fp-program-section-heading {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin: 0 auto;
}
body.fp-program-page .fp-program-pricing .fp-program-section-heading {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin: 0 auto;
}
body.fp-program-page .fp-program-audience__grid,
body.fp-program-page .fp-program-benefits__grid,
body.fp-program-page .fp-program-format__grid,
body.fp-program-page .fp-program-super-modules,
body.fp-program-page .fp-program-recruitment-modules,
body.fp-program-page .fp-program-module-grid,
body.fp-program-page .fp-program-curriculum,
body.fp-program-page .fp-program-schedule,
body.fp-program-page .fp-program-expert__layout,
body.fp-program-page .fp-program-pricing__grid,
body.fp-program-page .fp-program-reviews__grid,
body.fp-program-page .fp-program-contact__form {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin-top: 60px;
}
body.fp-program-page .fp-program-audience__grid,
body.fp-program-page .fp-program-benefits__grid,
body.fp-program-page .fp-program-format__grid,
body.fp-program-page .fp-program-super-modules,
body.fp-program-page .fp-program-recruitment-modules,
body.fp-program-page .fp-program-module-grid,
body.fp-program-page .fp-program-curriculum,
body.fp-program-page .fp-program-schedule,
body.fp-program-page .fp-program-expert__layout,
body.fp-program-page .fp-program-pricing__grid,
body.fp-program-page .fp-program-reviews__grid,
body.fp-program-page .fp-program-contact__form {
  margin-right: auto;
  margin-left: auto;
}
body.fp-program-page .fp-program-audience__note,
body.fp-program-page .fp-program-bonus {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
  margin: 40px auto 0;
}
body.fp-program-page .fp-program-reviews__control {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  transform: none;
  margin: 32px auto 0;
}
body.fp-program-page .fp-program-architecture__cta {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
  margin: 30px auto 0;
}
body.fp-program-page .fp-program-super-modules .fp-program-module-card,
body.fp-program-page .fp-program-audience--recruitment .fp-program-audience-card,
body.fp-program-page .fp-program-format--recruitment .fp-program-format-card,
body.fp-program-page .fp-program-benefit-card,
body.fp-program-page .fp-program-price-card {
  height: auto;
}
body.fp-program-page .fp-program-super-modules .fp-program-module-card__body { height: auto; }
@media (max-width: 800px) {
  body.fp-program-page .fp-program-main > section:not(.fp-program-hero) { padding: 52px 0 72px; }
  body.fp-program-page .fp-program-audience__grid,
  body.fp-program-page .fp-program-benefits__grid,
  body.fp-program-page .fp-program-format__grid,
  body.fp-program-page .fp-program-module-grid,
  body.fp-program-page .fp-program-curriculum,
  body.fp-program-page .fp-program-schedule,
  body.fp-program-page .fp-program-expert__layout,
  body.fp-program-page .fp-program-pricing__grid,
  body.fp-program-page .fp-program-reviews__grid,
  body.fp-program-page .fp-program-contact__form { width: calc(100% - 32px); max-width: none; margin-top: 72px; }
  body.fp-program-page .fp-program-super-modules,
  body.fp-program-page .fp-program-recruitment-modules { width: calc(100% - 32px); max-width: none; margin-top: 72px; }
  body.fp-program-page .fp-program-super-modules__rule { display: none; }
  body.fp-program-page .fp-program-super-modules__cards { grid-template-columns: 1fr; gap: 28px; }
  body.fp-program-page .fp-program-super-modules .fp-program-module-card { width: 100%; }
  body.fp-program-page .fp-program-audience__note,
  body.fp-program-page .fp-program-bonus { width: calc(100% - 32px); max-width: none; }
  body.fp-program-page .fp-program-architecture__cta { width: calc(100% - 32px); }
}
/* Recruitment School reviews reuse the two-card lead review layout. */
.fp-program-page--recruitment-school .fp-program-reviews {
  background: #fff;
  color: #000;
}
.fp-program-page--recruitment-school .fp-program-reviews::before {
  z-index: 0;
  top: -758px;
  right: -817.59px;
  bottom: auto;
  left: auto;
  width: 1412.59px;
  height: 1409.79px;
  border-radius: 0;
  background: url("assets/images/programs/recruitment-school/reviews-glow-right.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(136.36deg) scaleY(-1);
  filter: none;
}
.fp-program-page--recruitment-school .fp-program-reviews::after {
  position: absolute;
  z-index: 0;
  top: -391.81px;
  left: -535.88px;
  width: 1360.36px;
  height: 1387.41px;
  background: url("assets/images/programs/recruitment-school/reviews-glow-left.svg") center/1039.81px 956.479px no-repeat;
  transform: rotate(58.27deg) scaleY(-1);
  content: '';
  pointer-events: none;
}
.fp-program-page--recruitment-school .fp-program-reviews .fp-program-section-heading {
  top: 18px;
  width: 683px;
  max-width: calc(100vw - 48px);
}
.fp-program-page--recruitment-school .fp-program-reviews .fp-program-eyebrow {
  margin-bottom: 0;
  box-sizing: border-box;
  border-color: #eae9e9;
  background: #fff;
  color: #000;
}
.fp-program-page--recruitment-school .fp-program-reviews .fp-program-section-heading h2 {
  line-height: 1;
  letter-spacing: -1px;
  opacity: .8;
}
.fp-program-page--recruitment-school .fp-program-reviews__control {
  position: absolute;
  z-index: 2;
  top: 215px;
  left: 50%;
  display: flex;
  width: 1190px;
  max-width: calc(100vw - 48px);
  justify-content: flex-end;
  transform: translateX(-50%);
}
.fp-program-page--recruitment-school .fp-program-reviews__control img {
  display: block;
  width: 55px;
  height: 45px;
}
.fp-program-page--recruitment-school .fp-program-reviews__grid {
  top: 280px;
  width: 1190px;
  max-width: calc(100vw - 48px);
  margin-top: 0;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.fp-program-page--recruitment-school .fp-program-review-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 30px;
  box-sizing: border-box;
  border: 1px solid #eae9e9;
  border-radius: 30px;
  background: #fff;
}
.fp-program-page--recruitment-school .fp-program-review-card cite {
  display: block;
  margin: 0;
  color: #000;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-page--recruitment-school .fp-program-review-card p {
  margin: 0;
  color: rgba(0,0,0,.8);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}
.fp-program-page--recruitment-school .fp-program-review-card p + p { margin-top: 14px; }
@media (max-width: 800px) {
  .fp-program-page--recruitment-school .fp-program-reviews { padding: 52px 0 72px; }
  .fp-program-page--recruitment-school .fp-program-reviews .fp-program-section-heading { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; transform: none; margin: 0 auto; }
  .fp-program-page--recruitment-school .fp-program-reviews__control { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; margin: 72px auto 0; transform: none; }
  .fp-program-page--recruitment-school .fp-program-reviews__grid { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; grid-template-columns: 1fr; margin: 20px auto 0; transform: none; }
  .fp-program-page--recruitment-school .fp-program-review-card { height: auto; }
}
@media (max-width: 800px) {
  .fp-program-format--recruitment .fp-program-section-heading { top: auto; }
  .fp-program-format--recruitment .fp-program-format__grid { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; margin: 160px auto 0; transform: none; }
  .fp-program-format--recruitment .fp-program-format__row,
  .fp-program-format--recruitment .fp-program-format__row-group { width: 100%; flex-direction: column; gap: 28px; }
  .fp-program-format--recruitment .fp-program-format-card { width: 100%; min-width: 0; height: auto; }
  .fp-program-format--recruitment .fp-program-bonus { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: calc(100% - 32px); max-width: none; margin: 40px auto 0; transform: none; }
  .fp-program-format__glow { right: -820px; }
}
@media (max-width: 800px) {
  .fp-program-architecture--recruitment .fp-program-section-heading { top: auto; }
  .fp-program-recruitment-modules { position: relative; top: auto; left: auto; width: calc(100% - 32px); max-width: none; margin: 180px auto 0; transform: none; }
  .fp-program-recruitment-modules__cards { flex-direction: column; }
  .fp-program-recruitment-module { width: 100%; min-width: 0; height: auto; }
  .fp-program-recruitment-modules__cta { align-self: flex-start; }
}
@media (max-width: 800px) {
  .fp-program-audience .fp-program-section-heading,
  .fp-program-benefits .fp-program-section-heading,
  .fp-program-format .fp-program-section-heading,
  .fp-program-architecture .fp-program-section-heading,
  .fp-program-expert .fp-program-section-heading,
  .fp-program-pricing .fp-program-section-heading,
  .fp-program-reviews .fp-program-section-heading {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
  }
  .fp-program-audience__grid,
  .fp-program-audience--recruitment .fp-program-audience__grid,
  .fp-program-benefits__grid,
  .fp-program-format__grid,
  .fp-program-module-grid,
  .fp-program-curriculum,
  .fp-program-schedule,
  .fp-program-expert__layout,
  .fp-program-pricing__grid,
  .fp-program-reviews__grid { margin-top: 72px; }
  .fp-program-hero__actions { width: auto; flex-direction: row; flex-wrap: nowrap; justify-content: center; gap: 22px; }
}
/* Programme pages: keep content blocks in normal CSS flow. The Figma-matched hero above remains an exact positioned composition. */
body.fp-program-page .fp-program-expert__person,
body.fp-program-page .fp-program-expert__facts {
  height: auto;
}
body.fp-program-page .fp-program-expert__portrait {
  height: auto;
  aspect-ratio: 390 / 469;
}
body.fp-program-page .fp-program-expert__facts {
  grid-template-rows: none;
  grid-auto-rows: auto;
}
/* Shared lead-expert block: one flow component reused by every programme. */
body.fp-program-page .fp-program-expert--lead {
  height: auto;
  padding: 50px 0 48px;
}
body.fp-program-page .fp-program-expert--lead .fp-program-section-heading {
  position: relative;
  top: auto;
  left: auto;
  width: min(1093px, calc(100% - 48px));
  margin: 0 auto;
  transform: none;
}
body.fp-program-page .fp-program-expert--lead .fp-program-section-heading h2 {
  line-height: 1;
  letter-spacing: -1px;
}
body.fp-program-page .fp-program-expert--lead .fp-program-section-heading .fp-program-eyebrow { margin: 0; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__layout {
  position: relative;
  top: auto;
  left: auto;
  display: grid;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 60px auto 0;
  transform: none;
  grid-template-columns: minmax(0, 390px) minmax(0, 790px);
  align-items: start;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__person {
  width: 100%;
  height: auto;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__portrait {
  width: 100%;
  height: auto;
  aspect-ratio: 390 / 469;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio {
  display: flex;
  height: auto;
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
  box-sizing: border-box;
  border: 1px solid #eae9e9;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-copy {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio h3 {
  margin: 0;
  line-height: 1;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio > p { margin: 0; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-stats {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 20px;
  margin: 0;
  padding: 0;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-line { display: block; width: 100%; height: 1px; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-stats-row { display: flex; width: 100%; align-items: center; justify-content: space-between; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-stats-row > span { display: flex; flex-direction: column; gap: 7px; align-items: center; color: rgba(0,0,0,.65); font-size: 16px; line-height: 1; text-align: center; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-stats strong { color: #000; font-size: 24px; font-weight: 500; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__bio-divider { display: block; width: 30px; height: 1px; transform: rotate(90deg); }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__stats { display: none; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts {
  display: grid;
  width: 100%;
  height: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-rows: auto;
  gap: 10px;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div {
  display: flex;
  min-width: 0;
  height: auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 30px;
  padding: 30px 20px;
  box-sizing: border-box;
  border-radius: 30px;
  background: rgba(174,174,174,.2);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -1px;
}
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div > img { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__fact-icon { display: flex; width: 40px; height: 40px; flex: 0 0 40px; align-items: center; justify-content: center; overflow: hidden; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__fact-icon img { display: block; width: 21px; height: 21px; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div > p { width: 100%; margin: 0; color: #fff; font-size: 16px; line-height: 1; letter-spacing: -1px; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div:last-child { grid-column: 1 / span 2; align-items: center; justify-content: center; }
body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div:last-child p { width: min(745px, 100%); }
/* When an Igor profile is selected, show his reusable career information
 * beside the same programme expert card instead of leaving the right column
 * empty. The content still comes entirely from the selected expert record. */
body.fp-program-page .fp-program-expert--career .fp-program-expert__layout {
  grid-template-columns: minmax(0, 390px) minmax(0, 790px);
  align-items: start;
}
body.fp-program-page .fp-program-expert--career .fp-program-expert__stats { display: none; }
body.fp-program-page .fp-program-expert__career { min-width: 0; }
body.fp-program-page .fp-program-expert__career .fp-career { width: 100%; flex: 0 1 auto; }
body.fp-program-page .fp-program-expert__career .fp-career__intro,
body.fp-program-page .fp-program-expert__career .fp-industry,
body.fp-program-page .fp-program-expert__career .fp-career__outro { box-sizing: border-box; }
@media (max-width: 800px) {
  body.fp-program-page .fp-program-expert--lead .fp-program-section-heading { width: calc(100% - 32px); }
  body.fp-program-page .fp-program-expert--lead .fp-program-expert__layout,
  body.fp-program-page .fp-program-expert--career .fp-program-expert__layout { width: 100%; grid-template-columns: 1fr; margin-top: 72px; }
  body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts { grid-template-columns: 1fr; }
  body.fp-program-page .fp-program-expert--lead .fp-program-expert__facts > div:last-child { grid-column: auto; }
}

/* The programme frontend reuses the exact expert layouts from FP: Эксперт.
 * The selected record controls both the copy and the composition: Natalia is
 * rendered as person + facts, while Igor is rendered as career + person. */
body.fp-program-page .fp-program-expert__team-layout {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  transform: none;
}

body.fp-program-page .fp-program-expert__team-layout.fp-team__top {
  align-items: flex-start;
  margin-top: 83px;
}

body.fp-program-page .fp-program-expert__team-layout.fp-team__bottom {
  align-items: flex-start;
  margin-top: 100px;
}

body.fp-program-page .fp-program-expert__team-layout .fp-person,
body.fp-program-page .fp-program-expert__team-layout .fp-team-facts,
body.fp-program-page .fp-program-expert__team-layout .fp-career {
  box-sizing: border-box;
}

@media (max-width: 960px) {
  body.fp-program-page .fp-program-expert__team-layout.fp-team__top,
  body.fp-program-page .fp-program-expert__team-layout.fp-team__bottom {
    width: 100%;
  }
}

@media (max-width: 800px) {
  body.fp-program-page .fp-program-expert__team-layout.fp-team__top,
  body.fp-program-page .fp-program-expert__team-layout.fp-team__bottom {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 72px;
  }
}
