﻿:root {
  --bg: #f6f2ee;
  --text: #22181b;
  --muted: #161616;
  --line: #ddd6cf;
  --line-strong: #a3a3a3;
  --white: #f3f2ee;
}

/* Mobile: make B2B about block match main about block (alignment, lines, background) */
@media (max-width: 767px) {
  .page--b2b .about__watermark {
    display: none;
  }

  .page--b2b .about__lead {
    max-width: 100%;
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.35;
  }

  .page--b2b .about .stats {
    margin-top: 34px;
    align-items: center;
    gap: 0;
    z-index: 0;
    isolation: isolate;
  }

  .page--b2b .about .stats::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 24px;
    width: min(88vw, 332px);
    height: 224px;
    transform: translateX(-50%);
    background: url("assets/images/about-watermark.webp") center center /
      contain no-repeat;
    opacity: 0.32;
    pointer-events: none;
    z-index: 0;
  }

  .page--b2b .about .stats__item {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 18px 0 20px;
    text-align: center;
  }

  .page--b2b .about .stats__item:last-child {
    padding-bottom: 0;
  }

  .page--b2b .about .stats__line {
    align-self: stretch;
    background: rgba(163, 163, 163, 0.5);
  }
}

/* Mobile: shift congress request background focus ~20% to the right */
@media (max-width: 767px) {
  .congress-page__request .congress-page__request-bg,
  .congress-page__request--shift-right .congress-page__request-bg,
  .congress-page__request.shift-right .congress-page__request-bg {
    object-position: 20% center;
  }

  /* Make the submit button white and full-width inside the request block */
  .congress-page__request .congress-page__request-submit.btn--light,
  .congress-page__request--shift-right
    .congress-page__request-submit.btn--light,
  .congress-page__request.shift-right
    .congress-page__request-submit.btn--light {
    width: 100%;
    background: #ffffff;
    color: #111;
    min-height: 48px;
    border: none;
  }

  .congress-page__request .congress-page__request-submit.btn--light:hover,
  .congress-page__request--shift-right
    .congress-page__request-submit.btn--light:hover,
  .congress-page__request.shift-right
    .congress-page__request-submit.btn--light:hover {
    background: #ffffff;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
  scroll-padding-top: 24px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Inter", "Gilroy", sans-serif;
  color: var(--text);
  background: #f6f2ee;
  overflow-x: clip;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

body.is-mobile-menu-open {
  overflow: hidden;
}

h1,
h2,
h3,
p {
  margin: 0;
}

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

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

.page {
  width: min(100%, 1440px);
  margin: 0 auto;
  background: var(--bg);
}

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

.section {
  margin-top: 140px;
}

.section-kicker {
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.section-kicker--center {
  text-align: center;
}

.section-kicker--light {
  color: #fff;
}

.section-title {
  margin-top: 24px;
  font-family: "Unbounded", sans-serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  max-width: 1240px;
}

.section-title--light {
  margin-top: 24px;
  color: #fff;
}

.section-lead {
  width: min(100%, 929px);
  margin-top: 16px;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.3;
}

.section-lead--full {
  width: 100%;
}

.btn {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 45px;
  padding: 0 20px;
  border-radius: 8px;
  border: 1px solid;
  overflow: hidden;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(255, 255, 255, 0.22) 50%,
    transparent 80%
  );
  transform: translateX(-120%);
  transition: transform 0.45s ease;
  pointer-events: none;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(34, 24, 27, 0.18);
}

.btn:hover::before {
  transform: translateX(120%);
}

.btn:active {
  transform: translateY(0);
}

.btn:focus-visible {
  outline: 2px solid rgba(243, 242, 238, 0.85);
  outline-offset: 2px;
}

.btn--light {
  width: 142px;
  border-color: #fff;
  color: #fff;
}

.btn--light:hover {
  background: rgba(243, 242, 238, 0.17);
}

.btn--dark {
  width: 142px;
  border-color: var(--text);
  color: var(--text);
}

.btn--dark:hover {
  background: var(--text);
  color: var(--white);
}

.hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: 800px;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  object-fit: cover;
  background: #000;
}

.hero__bg[data-hero-video] {
  cursor: pointer;
}

.hero__nav {
  position: absolute;
  top: 32px;
  left: 50%;
  width: min(100% - 48px, 1240px);
  transform: translateX(-50%);
  height: 59px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  z-index: 4;
}

.hero__menu {
  margin-top: 19px;
  display: flex;
  align-items: center;
}

.hero__menu--left {
  width: 427px;
  gap: 29px;
}

.hero__menu--right {
  width: 411px;
  gap: 32px;
}

.menu-link {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #fff;
  white-space: nowrap;
  text-transform: lowercase;
  transition: opacity 0.2s ease;
}

.menu-link:hover {
  opacity: 0.92;
}

.menu-trigger {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.has-caret::after {
  content: "";
  display: block;
  margin-left: 8px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.25s ease;
}

.menu-dropdown {
  position: relative;
}

.menu-dropdown__panel {
  position: absolute;
  top: calc(100% + 14px);
  left: -12px;
  width: 262px;
  padding: 10px;
  border: 1px solid rgba(243, 242, 238, 0.34);
  border-radius: 14px;
  background: linear-gradient(
    165deg,
    rgba(22, 22, 22, 0.92) 0%,
    rgba(34, 24, 27, 0.96) 100%
  );
  box-shadow: 0 20px 36px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
  z-index: 6;
}

.menu-dropdown__item {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: #f3f2ee;
  text-transform: lowercase;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

.menu-dropdown__item + .menu-dropdown__item {
  margin-top: 4px;
}

.menu-dropdown__item:hover,
.menu-dropdown__item:focus-visible {
  background: rgba(243, 242, 238, 0.16);
  transform: translateX(4px);
}

.menu-dropdown.is-open .menu-dropdown__panel {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.menu-dropdown.is-open .has-caret::after {
  transform: rotate(-135deg) translateY(0);
}

.hero__logo {
  position: relative;
  display: block;
  width: 190px;
  height: 59px;
}

.hero__logo img {
  width: 190px;
  height: 59px;
}

.hero__logo-image--dark {
  display: none;
}

.hero__logo--dark .hero__logo-image--light {
  display: none;
}

.hero__logo--dark .hero__logo-image--dark {
  display: block;
}

.hero__burger {
  --burger-color: #fff;
  display: none;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 9px;
  width: 35px;
  min-width: 35px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--burger-color);
  font: inherit;
  cursor: pointer;
}

.hero__burger--dark {
  --burger-color: #22181b;
}

.hero__burger-icon {
  position: relative;
  width: 35px;
  height: 26px;
}

.hero__burger-icon span {
  position: absolute;
  left: 0;
  width: 35px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition:
    transform 0.25s ease,
    opacity 0.2s ease;
}

.hero__burger-icon span:nth-child(1) {
  top: 0;
}

.hero__burger-icon span:nth-child(2) {
  top: 11px;
}

.hero__burger-icon span:nth-child(3) {
  top: 22px;
}

.hero__burger-label {
  margin-right: 1px;
  font-size: 8px;
  line-height: 1;
  text-transform: lowercase;
}

.hero__burger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.hero__burger[aria-expanded="true"] .hero__burger-icon span:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}

.hero__burger[aria-expanded="true"] .hero__burger-icon span:nth-child(2) {
  opacity: 0;
}

.hero__burger[aria-expanded="true"] .hero__burger-icon span:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}

.hero__play {
  position: absolute;
  top: 347px;
  left: 50%;
  transform: translateX(-50%);
  width: 65px;
  height: 75px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  z-index: 4;
  transition:
    transform 0.25s ease,
    filter 0.25s ease,
    opacity 0.25s ease;
}

.hero__play:hover {
  transform: translateX(-50%) scale(1.08);
  filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.33));
}

.hero__play:focus-visible {
  outline: 2px solid rgba(243, 242, 238, 0.8);
  outline-offset: 4px;
}

.hero__play img {
  width: 65px;
  height: 75px;
}

.hero.is-video-playing .hero__play {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) scale(0.94);
}

.hero__title {
  position: absolute;
  left: 50%;
  top: 622px;
  transform: translateX(-50%);
  width: min(100% - 48px, 1240px);
  font-family: "Unbounded", sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1.1;
  color: var(--white);
  text-transform: uppercase;
  text-align: center;
}

.about {
  position: relative;
}

.about__watermark {
  position: absolute;
  left: 315px;
  top: -70px;
  width: 610px;
  height: 403px;
  pointer-events: none;
}

.about__lead {
  width: 100%;
  max-width: 1245px;
  margin-top: 24px;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.35;
  position: relative;
  z-index: 2;
}

.about__lead-strong {
  font-family: Unbounded;
  font-weight: 400;
}

.stats {
  margin-top: 46px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.stats__item {
  width: 332px;
  text-align: right;
}

.stats__line {
  height: 1px;
  background: var(--line-strong);
}

.stats__item h3 {
  margin-top: 16px;
  font-family: "Unbounded", sans-serif;
  font-size: 54px;
  font-weight: 400;
  line-height: 1.1;
}

.stats__item p {
  margin-top: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.focus-cards {
  width: 1438px;
  margin: 139px auto 0;
}

.focus-cards__row {
  display: flex;
}

.focus-card {
  display: block;
  width: 474px;
  height: 460px;
  padding: 32px 30px 0 32px;
  border-right: 1px solid #ddd6cf;
}
.focus-card:nth-last-of-type(1) {
  border-right: none;
}
@media screen and (max-width: 768px) {
  .education-page__program-media img{
    object-fit: contain;
  }
  .focus-card {
    border-right: none;
  }
  .focus-card__media img {
    border-bottom: 1px solid #ddd6cf;
    padding-bottom: 24px !important;
  }
  .focus-card:nth-last-of-type(1) .focus-card__media img {
    border-bottom: none;
  }
  .focus-card .focus-card__media::after {
    bottom: 24px;
  }
  .focus-card .focus-card:nth-last-of-type(1) .focus-card__media::after {
    bottom: 0;
  }
}

.focus-card__title {
  height: 52px;
}

.focus-card__title span,
.focus-card__title h3 {
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.focus-card__media {
  position: relative;
  width: 410px;
  height: 366px;
  margin-top: 10px;
  overflow: hidden;
}

.focus-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.focus-card__media--c1::after {
  height: 135px;
}

.focus-card__media--c2::after {
  display: none;
}

.focus-card__media--c3::after {
  height: 140px;
}

.event-card {
  margin-top: 31px;
  height: 398px;
  display: grid;
  grid-template-columns: 820px 420px;
}

.event-card__media {
  position: relative;
}

.event-card__media-image {
  width: 820px;
  height: 398px;
  object-fit: cover;
}

.event-card__media-mobile {
  display: none;
}

.event-card__content {
  background: #171312;
  color: #fff;
  padding: 32px;
  display: flex;
  flex-direction: column;
}

.event-card__label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #ebebeb;
}

.event-card__content h3 {
  margin-top: 16px;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.event-card .btn {
  margin-top: 32px;
}

.event-card__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

.event-card__link img {
  width: 16px;
  height: 16px;
}

.learning .section-title--learning {
  max-width: 1240px;
  margin-top: 33px;
}

.learning .section-lead {
  margin-top: 16px;
}

.learning-grid {
  margin-top: 44px;
  display: grid;
  grid-template-columns: 400px 400px 400px;
  gap: 20px;
}

.learning-card {
  position: relative;
  height: 576px;
  overflow: hidden;
}

.learning-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.learning-card__content {
  position: absolute;
  top: 68px;
  left: 32px;
  right: 32px;
  color: #ebebeb;
  z-index: 1;
}

.learning-card__content h3 {
  width: 356px;
  margin-bottom: 21px;
  font-family: "Unbounded", sans-serif;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.17;
}

.learning-card__list {
  margin: 0;
  padding-left: 22px;
  width: 327px;
}

.learning-card__list li {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  list-style: disc;
}

.learning-card__list li:last-child {
  margin-bottom: 0;
}

.learning-card__list--featured strong {
  font-weight: 500;
}

.learning-card__list--featured .learning-card__author {
  display: block;
  font-size: 14px;
  font-weight: 600;
}

.learning-card__content--short .learning-card__list {
  width: 321px;
}

.reviews {
  width: 1030px;
  margin: 140px auto 0;
}

.reviews-grid {
  position: relative;
  margin-top: 32px;
  max-height: 553px;
  overflow: hidden;
  display: flex;
  gap: 14px;
  transition: max-height 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.reviews-grid.is-expanded {
  overflow: visible;
}

.reviews-column {
  width: 334px;
  display: flex;
  flex-direction: column;
  gap: 21px;
}

.review {
  border: 1px solid var(--line);
  border-radius: 32px;
  padding: 32px 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.review p + p {
  margin-top: 16px;
}

.review--short {
  height: 169px;
}

.review--short-large {
  height: 211px;
}

.review--short-mid {
  height: 190px;
}

.review--mid {
  height: 311px;
}

.review--tall {
  height: 316px;
}

.review--with-avatar p {
  margin-top: 0;
}

.review__avatar {
  position: absolute;
  top: 32px;
  left: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(34, 24, 27, 0.18);
  background: transparent;
}

.review--with-avatar {
  position: relative;
}

.reviews-grid__fade {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1030px;
  height: 210px;
  pointer-events: none;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.reviews-grid.is-expanded .reviews-grid__fade {
  opacity: 0;
  transform: translateY(16px);
}

.reviews__more {
  display: block;
  width: fit-content;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  text-transform: lowercase;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  transition: opacity 0.2s ease;
}

.reviews__more:hover {
  opacity: 0.72;
}

.b2b-grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, 310px);
}

.b2b-card {
  min-height: 292px;
  height: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 1199px) {
  .b2b-card {
    border-bottom: none;
    border-left: 1px solid var(--line);
    border-top: none;
  }
  .b2b-card:nth-last-of-type(1) {
    border-right: 1px solid var(--line);
  }
}

.b2b-card img {
  width: 46px;
  height: 46px;
  margin-top: 0;
}

.b2b-card h3 {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-card__list {
  margin-block: 16px;
  margin-bottom: 0;
  padding-left: 20px;
}

.b2b-card__list li {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  list-style: disc;
}

.b2b-card__list li:first-child {
  margin-top: 0;
}

.b2b .btn {
  display: flex;
  margin: 46px auto 0;
}

.team {
  margin-top: 132px;
}

.team-slider {
  margin-top: 24px;
}

.team-slider__viewport {
  width: 1240px;
  overflow: hidden;
}

/* Drag-to-scroll cursor states */
.team-slider__viewport {
  cursor: grab;
}

.team-slider__viewport.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.team-slider__track {
  display: flex;
  gap: 36px;
  transition: transform 0.3s ease;
}

.team-card {
  width: 295px;
  flex: 0 0 auto;
}

.team-card img {
  width: 295px;
  height: 407px;
  object-fit: cover;
}

.team-card h3 {
  margin-top: 16px;
  min-height: 52px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.team-card__line {
  width: 48px;
  height: 1px;
  margin-top: 16px;
  background: var(--line);
}

.team-card p {
  margin-top: 8px;
  min-height: 54px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

.team-slider__controls {
  margin-top: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.team-slider__progress {
  width: 1151px;
  height: 2px;
  background: var(--line);
}

.team-slider__progress-fill {
  width: 336px;
  height: 2px;
  background: var(--text);
}

.team-slider__arrows {
  width: 66px;
  display: flex;
  justify-content: space-between;
}

.team-slider__arrows button {
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
  position: relative;
}

#team-prev::before,
#team-next::before {
  content: "";
  position: absolute;
  top: 5px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--text);
  border-right: 2px solid var(--text);
}

#team-prev::before {
  left: 8px;
  transform: rotate(-135deg);
}

#team-next::before {
  left: 4px;
  transform: rotate(45deg);
}

.team-slider__arrows button:disabled {
  opacity: 0.35;
  cursor: default;
}

.partners {
  width: 100%;
  margin-top: 140px;
}

.partners h2 {
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  text-align: center;
}

.partners__strip {
  margin-top: 51px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.partners__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: partners-marquee 26s linear infinite;
}

.partners__track img {
  width: min(1440px, 100vw);
  max-width: none;
  flex: 0 0 min(1440px, 100vw);
  height: auto;
}

@keyframes partners-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.contact {
  position: relative;
  height: 497px;
  margin-top: 51px;
}

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

.contact__content {
  position: relative;
  z-index: 2;
  padding-top: 80px;
}

.contact-form {
  margin-top: 46px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.line-field {
  width: 400px;
}

.line-field span {
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
}

.line-field input {
  width: 100%;
  height: 33px;
  margin-top: 0;
  border: 0;
  border-bottom: 1px solid #fff;
  background: transparent;
  color: #fff;
  font: inherit;
  transition: border-color 0.2s ease;
}

.line-field input:focus {
  outline: none;
}

.line-field input.is-invalid {
  border-bottom-color: #ff6b6b;
}

.btn--contact {
  width: 186px;
  margin: 32px auto 0;
  color: #22181b;
  border-color: #f3f2ee;
  background: #f3f2ee;
}

.btn--contact:hover {
  color: #22181b;
  background: #fff;
}

.contact-form button[type="submit"].is-success:disabled {
  cursor: default;
  opacity: 1;
}

.footer {
  min-height: 294px;
  height: auto;
  padding-bottom: 36px;
}

.footer__grid {
  padding-top: 46px;
  display: grid;
  grid-template-columns: 330px 208px 295px;
  justify-content: space-between;
}

.footer h3 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.footer__links {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 190px 120px;
  gap: 20px;
}

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

.footer__links a {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.footer__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer__brand img {
  width: 190px;
  height: 59px;
}

.footer__brand a {
  color: #a3a3a3;
}

.footer__brand > a:first-child {
  margin-top: 0;
}

.footer__brand > a:nth-child(2) {
  margin-top: 107px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}

.footer__brand > a:nth-child(3) {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}

.footer__contacts {
  text-align: right;
}

.footer__contacts h3 {
  margin-left: auto;
}

.footer__social {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  gap: 10px;
  margin-top: 32px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
}

.footer__social svg {
  flex: 0 0 auto;
}

.footer__social + .footer__social {
  margin-top: 24px;
}

.footer__contacts a {
  display: block;
}

.footer__contacts .footer__social {
  display: inline-flex;
}

.footer__contacts > a:nth-of-type(3) {
  margin-top: 32px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

.footer__contacts > a:nth-of-type(4) {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

@media (max-width: 1439px) {
  .section-title,
  .learning .section-title--learning {
    max-width: 100%;
  }

  .focus-cards {
    width: min(100% - 2px, 1438px);
  }

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

  .focus-card {
    width: auto;
    height: auto;
    min-height: 430px;
    padding: clamp(20px, 2.2vw, 32px) clamp(18px, 2vw, 30px) 0;
  }

  .focus-card__media {
    width: 100%;
    height: clamp(280px, 30vw, 366px);
  }

  .event-card {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    height: auto;
  }

  .event-card__media-image {
    width: 100%;
    height: 100%;
  }

  .learning-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .learning-card__content h3,
  .learning-card__list,
  .learning-card__content--short .learning-card__list {
    width: 100%;
    max-width: none;
  }

  .reviews {
    width: min(100% - 48px, 1030px);
  }

  .reviews-column {
    width: calc((100% - 28px) / 3);
  }

  .reviews-grid__fade {
    width: 100%;
  }

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

  .team-slider__viewport {
    width: 100%;
  }

  .team-slider__progress {
    width: min(100%, 1151px);
    flex: 1;
  }

  .team-slider__progress-fill {
    width: 33%;
  }

  .contact {
    height: auto;
    min-height: 497px;
    padding-bottom: 56px;
  }

  .line-field {
    width: calc(50% - 10px);
  }

  .line-field:last-of-type {
    width: 100%;
  }

  .footer__grid {
    grid-template-columns: minmax(240px, 1fr) auto minmax(240px, 1fr);
    gap: 24px;
  }
}

@media (max-width: 1199px) {
  .section {
    margin-top: 112px;
  }

  .section-kicker {
    font-size: 20px;
  }

  .section-title {
    font-size: clamp(32px, 4vw, 38px);
  }

  .section-lead {
    font-size: 20px;
  }

  .hero {
    height: 680px;
  }

  .hero__nav {
    top: 24px;
    height: auto;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 20px;
  }

  .hero__menu {
    margin-top: 0;
  }

  .hero__menu--left {
    display: none;
  }

  .hero__menu--right {
    width: auto;
    margin-left: auto;
    gap: 18px;
    padding: 10px 14px;
    border: 1px solid rgba(243, 242, 238, 0.35);
    border-radius: 12px;
    background: rgba(22, 22, 22, 0.38);
    backdrop-filter: blur(10px);
  }

  .hero__title {
    top: auto;
    bottom: 78px;
    font-size: clamp(36px, 5vw, 48px);
  }

  .hero__play {
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .hero__play:hover {
    transform: translate(-50%, -50%) scale(1.08);
  }

  .about__watermark {
    left: 50%;
    top: -36px;
    width: min(56vw, 610px);
    height: auto;
    transform: translateX(-50%);
    opacity: 0.4;
  }

  .about__lead {
    font-size: 23px;
  }

  .stats {
    gap: 18px;
  }

  .stats__item {
    width: min(100%, 32%);
  }

  .stats__item h3 {
    font-size: clamp(40px, 4.5vw, 54px);
  }

  .stats__item p {
    font-size: 20px;
  }

  .focus-cards {
    margin-top: 112px;
  }

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

  .focus-card:last-child {
    grid-column: 1 / -1;
  }

  .event-card {
    grid-template-columns: 1fr;
    margin-top: 26px;
  }

  .event-card__media {
    aspect-ratio: 16 / 9;
  }

  .event-card__content {
    min-height: 280px;
    gap: 22px;
  }

  .event-card .btn {
    margin-top: 0;
  }

  .event-card__link {
    margin-left: 0;
  }

  .learning-grid {
    margin-top: 36px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .learning-card:last-child {
    grid-column: 1 / -1;
  }

  .reviews {
    margin-top: 112px;
  }

  .reviews-grid {
    max-height: 600px;
  }

  .review {
    border-radius: 26px;
    padding: 26px 20px;
  }

  .review--short,
  .review--short-large,
  .review--short-mid,
  .review--mid,
  .review--tall {
    height: auto;
  }

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

  .b2b-card {
    min-height: 0;
  }

  .b2b .btn {
    margin-top: 34px;
  }

  .team {
    margin-top: 112px;
  }

  .team-slider__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scroll-snap-type: x proximity;
    padding-bottom: 8px;
    scrollbar-width: none;
  }

  .team-slider__viewport::-webkit-scrollbar {
    display: none;
  }

  .team-slider__track {
    gap: 20px;
    width: max-content;
    transform: none !important;
  }

  .team-card {
    width: 280px;
    scroll-snap-align: start;
  }

  .team-slider__controls {
    display: none;
  }

  .partners {
    margin-top: 112px;
  }

  .partners__strip {
    margin-top: 36px;
  }

  .contact {
    margin-top: 40px;
    min-height: 0;
    padding: 72px 0 52px;
  }

  .contact__content {
    padding-top: 0;
  }

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

  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
  }

  .footer__brand {
    order: 3;
    grid-column: 1 / -1;
    align-items: flex-start;
  }

  .footer__brand > a:nth-child(2) {
    margin-top: 26px;
    text-align: left;
  }

  .footer__brand > a:nth-child(3) {
    margin-top: 12px;
    text-align: left;
  }

  .footer__contacts {
    text-align: left;
  }

  .footer__contacts h3 {
    margin-left: 0;
  }

  .footer__social {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .container {
    width: min(100% - 32px, 1240px);
  }

  .section {
    margin-top: 88px;
  }

  .section-kicker {
    font-size: 16px;
  }

  .section-title {
    margin-top: 16px;
    font-size: clamp(24px, 8vw, 32px);
  }

  .section-title--light {
    margin-top: 16px;
  }

  .section-lead {
    margin-top: 12px;
    font-size: 18px;
    line-height: 1.4;
  }

  .page.page--home .section-kicker {
    font-size: 20px;
  }

  .page.page--home .section-title {
    margin-top: 24px;
    font-size: 27px;
    line-height: 1.1;
  }

  .page.page--home .section-title--light {
    margin-top: 24px;
  }

  .page.page--home .section-lead {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.3;
  }

  .btn {
    height: 42px;
    font-size: 15px;
  }

  .hero {
    height: 620px;
  }

  .hero__nav {
    top: 18px;
    width: calc(100% - 32px);
    gap: 12px;
  }

  .hero__logo {
    width: 156px;
    height: auto;
  }

  .hero__logo img {
    width: 156px;
    height: auto;
  }

  .hero__menu--right {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 10px 12px;
  }

  .menu-link {
    font-size: 14px;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b) .hero {
    overflow: visible;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__nav {
    top: 28px;
    width: calc(100% - 32px);
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__logo {
    width: 154px;
    height: 48px;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__logo
    img {
    width: 154px;
    height: 48px;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__menu--left,
  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__menu--right {
    display: none;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__burger {
    display: inline-flex;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__nav {
    position: fixed;
    inset: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    transform: none;
    padding: 28px 16px 72px;
    background: #f6f2ee;
    z-index: 50;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__nav::after {
    content: "";
    position: absolute;
    left: 16px;
    width: calc(100% - 32px);
    bottom: 28px;
    height: auto;
    aspect-ratio: 610 / 408;
    background: url("assets/images/b2b/watermark-ed.svg") center bottom /
      contain no-repeat;
    opacity: 0.95;
    pointer-events: none;
    z-index: 0;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__nav
    > * {
    position: relative;
    z-index: 1;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__logo {
    order: 1;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__burger {
    order: 2;
    --burger-color: #22181b;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__menu--left,
  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__menu--right {
    display: flex;
    width: 100%;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__menu--left {
    order: 3;
    margin-top: 48px;
    gap: 16px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__menu--right {
    order: 4;
    margin-top: 24px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .hero__burger-label {
    display: none;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown {
    width: min(100%, 343px);
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-link,
  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-trigger {
    color: #22181b;
    font-size: 16px;
    line-height: 1.3;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-trigger {
    display: inline-flex;
    width: auto;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: opacity 0.2s ease;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-trigger:focus-visible {
    outline: 1px solid #22181b;
    outline-offset: 4px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown.is-open
    .menu-trigger {
    color: #22181b;
    opacity: 1;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-trigger.has-caret::after {
    margin-left: 8px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown__panel {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    transform: none;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition:
      max-height 0.34s ease,
      opacity 0.24s ease,
      margin-top 0.24s ease;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown.is-open
    .menu-dropdown__panel {
    transform: none;
    max-height: 220px;
    margin-top: 8px;
    opacity: 1;
    pointer-events: auto;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown__item {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(34, 24, 27, 0.82);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    text-transform: none;
    opacity: 0;
    transform: translateY(-2px);
    transition:
      color 0.2s ease,
      transform 0.2s ease,
      opacity 0.2s ease;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown.is-open
    .menu-dropdown__item {
    opacity: 1;
    transform: translateY(0);
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown.is-open
    .menu-dropdown__item:nth-child(2) {
    transition-delay: 0.04s;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown.is-open
    .menu-dropdown__item:nth-child(3) {
    transition-delay: 0.08s;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown__item
    + .menu-dropdown__item {
    margin-top: 10px;
  }

  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown__item:hover,
  .page:is(
      .page--home,
      .page--congress,
      .page--education,
      .page--b2b
    ).is-mobile-menu-open
    .menu-dropdown__item:focus-visible {
    background: transparent;
    color: #22181b;
    transform: translateX(2px);
  }

  .hero__play {
    width: 54px;
    height: 62px;
  }

  .hero__play img {
    width: 100%;
    height: 100%;
  }

  .hero__title {
    width: calc(100% - 32px);
    bottom: 48px;
    font-size: clamp(25px, 8vw, 35px);
  }

  .page.page--home .hero__title {
    font-size: 36px;
    line-height: 1.1;
  }

  .about__watermark {
    width: min(68vw, 430px);
  }

  .about__lead {
    margin-top: 18px;
    font-size: 20px;
    line-height: 1.4;
  }

  .stats {
    margin-top: 28px;
    flex-direction: column;
    gap: 22px;
  }

  .stats__item {
    width: 100%;
    text-align: left;
  }

  .page--home .about__watermark {
    display: none;
  }

  .page--home .about__lead {
    max-width: 100%;
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.35;
  }

  .page--home .about__lead-strong {
    font-family: "Unbounded", sans-serif;
    font-weight: 400;
  }

  .page--home .about .stats {
    margin-top: 34px;
    align-items: center;
    gap: 0;
    z-index: 0;
    isolation: isolate;
  }

  .page--home .about .stats::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 24px;
    width: min(88vw, 332px);
    height: 224px;
    transform: translateX(-50%);
    background: url("assets/images/about-watermark.webp") center center /
      contain no-repeat;
    opacity: 0.32;
    pointer-events: none;
    z-index: 0;
  }

  .page--home .about .stats__item {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 18px 0 20px;
    text-align: center;
  }

  .page--home .about .stats__item:last-child {
    padding-bottom: 0;
  }

  .page--home .about .stats__line {
    align-self: stretch;
    background: rgba(163, 163, 163, 0.5);
  }

  .page--home .about .stats__item h3 {
    margin-top: 14px;
    font-size: 58px;
    line-height: 0.95;
    letter-spacing: -0.05em;
  }

  .page--home .about .stats__item p {
    max-width: 280px;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.05;
  }

  .stats__item h3 {
    margin-top: 12px;
    font-size: 42px;
  }

  .stats__item p {
    font-size: 20px;
    font-weight: normal;
  }

  .focus-cards {
    margin-top: 88px;
    width: 100%;
  }

  .focus-cards__row {
    grid-template-columns: 1fr;
    gap: 1px;
  }

  .focus-card,
  .focus-card:last-child {
    grid-column: auto;
    padding: 20px 16px 0;
    min-height: 0;
  }

  .focus-card__title {
    height: auto;
  }

  .focus-card__title span,
  .focus-card__title h3 {
    font-size: 20px;
  }

  .focus-card__media {
    margin-top: 14px;
    height: 280px;
  }

  .event-card__content {
    padding: 24px 18px;
  }

  .event-card__content h3 {
    font-size: 22px;
  }

  .page--home .congress.container {
    width: min(100% - 32px, 1240px);
  }

  .page--home .congress .section-kicker {
    font-size: 20px;
    line-height: 1.1;
  }

  .page--home .congress .section-title {
    margin-top: 24px;
    font-size: 27px;
    line-height: 1.1;
  }

  .page--home .congress .section-lead {
    margin-top: 16px;
    line-height: 1.3;
  }

  .page--home .congress .event-card {
    margin-top: 40px;
  }

  .page--home .congress .event-card__media {
    overflow: hidden;
    background: #171312;
  }

  .page--home .congress .event-card__media-image {
    width: 100%;
    height: auto;
  }

  .page--home .congress .event-card__media-mobile {
    display: none;
  }

  .page--home .congress .event-card__content {
    min-height: 398px;
    padding: 32px;
    gap: 0;
    background: #22181b;
  }
  .page--home .congress .event-card__media-image{
    display: block !important;
  }

  .page--home .congress .event-card__content h3 {
    margin-top: 16px;
    font-size: 20px;
    line-height: 1.1;
  }

  .page--home .congress .event-card .btn {
    margin-top: 32px;
  }

  .page--home .congress .event-card__link {
    margin-top: 60px;
    margin-left: 0;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  .learning-grid {
    margin-top: 28px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .learning-card,
  .learning-card:last-child {
    grid-column: auto;
    height: 520px;
  }

  .page--home .learning-card {
    isolation: isolate;
  }

  .page--home .learning-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
  }

  .page--home .learning-card:nth-child(1)::before {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5) 41.607%,
      rgba(0, 0, 0, 0) 106.61%
    );
  }

  .page--home .learning-card:nth-child(2)::before {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5) 14.791%,
      rgba(0, 0, 0, 0) 99.976%
    );
  }

  .page--home .learning-card:nth-child(3)::before {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.6) 7.609%,
      rgba(0, 0, 0, 0) 100%
    );
  }

  .learning-card__content {
    top: 38px;
    left: 20px;
    right: 20px;
  }

  .page--home .learning-card__content {
    z-index: 2;
  }

  .learning-card__content h3 {
    margin-bottom: 16px;
    font-size: 22px;
  }

  .page--home .learning-card__content h3 {
    width: 100%;
    margin-bottom: 24px;
    font-size: 20px;
    line-height: 1.17;
  }

  .learning-card__list {
    padding-left: 18px;
  }

  .page--home .learning-card__list,
  .page--home .learning-card__content--short .learning-card__list {
    width: 100%;
  }

  .learning-card__list li {
    margin-bottom: 10px;
    font-size: 15px;
  }

  .reviews {
    width: min(100% - 32px, 1030px);
    margin-top: 88px;
  }

  .reviews-grid {
    margin-top: 24px;
    display: block;
    max-height: 480px;
  }

  .reviews-column {
    width: 100%;
    gap: 16px;
  }

  .reviews-column + .reviews-column {
    margin-top: 16px;
  }

  .review {
    padding: 24px 18px;
    border-radius: 24px;
    font-size: 15px;
  }

  .reviews-grid__fade {
    height: 120px;
  }

  .reviews__more {
    margin-top: 20px;
    font-size: 15px;
  }

  .b2b-grid {
    margin-top: 24px;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .b2b-card {
    padding: 16px;
  }

  .b2b-card + .b2b-card {
    border-top: 0;
  }

  .b2b-card h3 {
    font-size: 21px;
  }

  .b2b-card__list {
    padding-left: 18px;
  }

  .b2b-card__list li {
    font-size: 15px;
  }

  .b2b .btn {
    margin-top: 28px;
  }

  .team {
    margin-top: 88px;
  }

  .team-slider__track {
    gap: 14px;
  }

  .team-card {
    width: min(72vw, 280px);
  }

  .team-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 295 / 407;
  }

  .team-card h3 {
    font-size: 20px;
    min-height: 0;
  }

  .team-card p {
    min-height: 0;
  }

  .partners {
    margin-top: 88px;
  }

  .partners h2 {
    font-size: 20px;
  }

  .partners__strip {
    margin-top: 24px;
  }

  .partners__track {
    animation-duration: 29s;
  }

  .partners__track img {
    width: max(728px, 130vw);
    flex-basis: max(728px, 130vw);
  }

  .contact {
    margin-top: 28px;
    min-height: 786px;
    padding: 0;
  }

  .contact__bg {
    object-position: 66% 57%;
  }

  .contact__content {
    padding-top: 100px;
  }

  .contact-form {
    margin-top: 28px;
    gap: 16px;
  }

  .line-field,
  .line-field:last-of-type {
    width: 100%;
  }

  .btn--contact {
    width: 100%;
    margin: 8px 0 0;
  }

  .footer {
    padding-bottom: 32px;
  }

  .footer__grid {
    padding-top: 34px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer__brand {
    display: contents;
  }

  .footer__grid > section:first-child {
    order: 2;
  }

  .footer__contacts {
    order: 3;
  }

  .footer__brand > a {
    justify-self: start;
  }

  .footer__brand > a:first-child {
    order: 1;
  }

  .footer__brand > a:nth-child(2) {
    order: 4;
    margin-top: 0;
    text-align: left;
    font-size: 14px;
    line-height: 1.3;
  }

  .footer__brand > a:nth-child(3) {
    order: 5;
    margin-top: -12px;
    text-align: left;
    font-size: 14px;
    line-height: 1.3;
  }

  .footer h3 {
    font-size: 22px;
  }

  .page--home .footer h3 {
    font-size: 20px;
  }

  .footer__links {
    margin-top: 18px;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .footer__links ul {
    gap: 14px;
  }

  .footer__social {
    margin-top: 18px;
    font-size: 20px;
  }

  .footer__social + .footer__social {
    margin-top: 14px;
  }

  .footer__contacts > a:nth-of-type(3) {
    margin-top: 20px;
  }

  .footer__contacts > a:nth-of-type(4) {
    margin-top: 10px;
  }

  /* Mobile overrides: make hero full viewport, left-align title, sharpen burger bars, center header */
  .page:is(.page--home, .page--congress, .page--education, .page--b2b) .hero {
    height: 100dvh;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__title {
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 34px;
    transform: none;
    width: auto;
    text-align: left;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__nav {
    align-items: center;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__burger {
    display: inline-flex;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__burger {
    height: 35px;
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__burger-icon
    span {
    border-radius: 0;
  }
}

@media (max-width: 479px) {
  .container {
    width: min(100% - 24px, 1240px);
  }

  .hero {
    height: 580px;
  }

  .hero__nav {
    width: calc(100% - 24px);
  }

  .page:is(.page--home, .page--congress, .page--education, .page--b2b)
    .hero__nav {
    width: calc(100% - 32px);
  }

  .hero__menu--right {
    justify-content: flex-start;
  }

  .menu-link {
    font-size: 13px;
  }

  .hero__title {
    width: calc(100% - 24px);
    bottom: 34px;
  }

  .about__lead {
    font-size: 18px;
  }

  .stats__item h3 {
    font-size: 36px;
  }

  .focus-card__media {
    height: 240px;
  }

  .learning-card,
  .learning-card:last-child {
    height: 500px;
  }

  .review {
    padding: 20px 16px;
  }

  .team-card {
    width: min(82vw, 280px);
  }
}

/* Congress page */
.page--congress {
  background: var(--bg);
}

.congress-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 860px;
  overflow: hidden;
  background: #191212;
  color: #fff;
}

.congress-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
}

.congress-hero__veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 76% 28%,
      rgba(194, 72, 42, 0.42),
      transparent 38%
    ),
    linear-gradient(
      180deg,
      rgba(18, 13, 13, 0.42) 0%,
      rgba(18, 13, 13, 0.78) 52%,
      rgba(18, 13, 13, 0.95) 100%
    );
}

.congress-hero .hero__nav {
  z-index: 6;
}

.congress-hero .hero__menu--left,
.congress-hero .hero__menu--right {
  width: auto;
  gap: 24px;
}

.congress-hero__content {
  position: relative;
  z-index: 5;
  padding-top: 170px;
  padding-bottom: 128px;
  max-width: 1240px;
}

.congress-hero__meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.congress-hero__meta span {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(243, 242, 238, 0.6);
}

.congress-hero__eyebrow {
  margin-top: 72px;
  font-family: "Unbounded", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.congress-hero__brand {
  margin-top: 8px;
  font-family: "Unbounded", sans-serif;
  font-size: clamp(52px, 8.2vw, 132px);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.congress-hero__title {
  margin-top: 26px;
  width: min(100%, 820px);
  font-family: "Unbounded", sans-serif;
  font-size: clamp(24px, 3.4vw, 42px);
  font-weight: 400;
  line-height: 1.12;
  text-transform: uppercase;
}

.congress-hero__cta {
  width: auto;
  margin-top: 34px;
  padding-inline: 34px;
  border-color: #c2482a;
  border-radius: 999px;
  background: #c2482a;
  color: #fff;
}

.congress-hero__cta:hover {
  background: #a83f25;
  box-shadow: 0 14px 28px rgba(14, 9, 9, 0.35);
}

/* Simple fade slider for congress event card */
.congress-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 820 / 398;
  overflow: hidden;
  background: #000;
}

.congress-slider__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.congress-slider__img.is-active {
  opacity: 1;
}

.congress-intro .section-lead {
  margin-top: 20px;
}

.congress-intro__stats {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.congress-intro__stats article {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
}

.congress-intro__stats h3 {
  font-family: "Unbounded", sans-serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 1.1;
}

.congress-intro__stats p {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.3;
}

.congress-program__grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.congress-program__card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px 24px;
}

.congress-program__day {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  color: rgba(34, 24, 27, 0.72);
}

.congress-program__card h3 {
  margin-top: 10px;
  font-family: "Unbounded", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.congress-program__card ul {
  margin: 16px 0 0;
  padding-left: 20px;
}

.congress-program__card li {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.3;
}

.congress-program__card li:first-child {
  margin-top: 0;
}

.congress-tickets__grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ticket-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
}

.ticket-card__name {
  font-family: "Unbounded", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.ticket-card__price {
  margin-top: 12px;
  font-family: "Unbounded", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.1;
}

.ticket-card__desc {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.3;
}

.ticket-card .btn {
  width: 100%;
  margin-top: 26px;
}

.ticket-card--accent {
  border-color: #22181b;
  background: #22181b;
  color: #f3f2ee;
}

.ticket-card--accent .ticket-card__desc {
  color: rgba(243, 242, 238, 0.85);
}

.congress-speakers__grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.congress-speaker {
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: #faf7f4;
}

.congress-speaker img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.congress-speaker h3 {
  padding: 16px 16px 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.1;
}

.congress-speaker p {
  padding: 8px 16px 16px;
  font-size: 14px;
  line-height: 1.3;
}

@media (max-width: 1199px) {
  .congress-hero {
    min-height: 740px;
  }

  .congress-hero .hero__menu--right {
    gap: 18px;
  }

  .congress-hero__content {
    padding-top: 146px;
    padding-bottom: 92px;
  }

  .congress-hero__eyebrow {
    margin-top: 52px;
  }

  .congress-intro__stats,
  .congress-program__grid,
  .congress-tickets__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .congress-program__card:last-child,
  .ticket-card:last-child {
    grid-column: 1 / -1;
  }

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

@media (max-width: 767px) {
  .congress-hero {
    min-height: 680px;
  }

  .congress-hero .hero__menu--right {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    gap: 10px 16px;
  }

  .congress-hero__content {
    padding-top: 132px;
    padding-bottom: 74px;
  }

  .congress-hero__meta {
    gap: 8px 14px;
    font-size: 13px;
  }

  .congress-hero__eyebrow {
    margin-top: 38px;
    font-size: 13px;
    letter-spacing: 0.13em;
  }

  .congress-hero__title {
    width: 100%;
  }

  .congress-hero__cta {
    width: 100%;
    max-width: 360px;
  }

  .congress-intro__stats,
  .congress-program__grid,
  .congress-tickets__grid,
  .congress-speakers__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .congress-program__card:last-child,
  .ticket-card:last-child {
    grid-column: auto;
  }

  .congress-speaker img {
    height: 280px;
  }
}

@media (max-width: 479px) {
  .congress-hero {
    min-height: 640px;
  }

  .congress-hero .hero__menu--right {
    justify-content: flex-start;
  }

  .congress-hero__content {
    padding-top: 124px;
  }

  .congress-hero__brand {
    letter-spacing: -0.02em;
  }

  .congress-intro__stats h3,
  .ticket-card__price {
    font-size: 34px;
  }

  .congress-program__card,
  .ticket-card {
    border-radius: 18px;
    padding: 22px 18px;
  }
}

/* Congress page (Figma node 213:1257) */
.page--congress {
  background: var(--bg);
}

.page--congress .hero__nav {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: min(100% - 40px, 1258px);
  justify-content: flex-start;
}

.page--congress .menu-link {
  color: var(--text);
}

.page--congress .has-caret::after {
  color: var(--text);
}

.page--congress .hero__menu--left {
  width: 427px;
  gap: 29px;
  margin-right: 98px;
}

.page--congress .hero__logo {
  margin-right: 114px;
}

.page--congress .hero__menu--right {
  width: 429px;
  gap: 32px;
  justify-content: flex-start;
}

.congress-page__hero {
  padding-top: 32px;
}

.congress-page__hero-content {
  padding-top: 46px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.congress-page__hero-content h1 {
  width: 100%;
  font-family: "Unbounded", sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}

.congress-page__hero-content p {
  width: 100%;
  margin-top: 32px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.congress-page__hero-btn.btn--dark {
  width: auto;
  padding-inline: 24px;
  margin-top: 24px;
}

.congress-page__mosaic {
  --congress-mosaic-gap: 8px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 46px;
  overflow: hidden;
}

.congress-page__mosaic-inner {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--congress-mosaic-gap);
}

.congress-page__mosaic-row {
  display: flex;
  width: max-content;
  gap: var(--congress-mosaic-gap);
  will-change: transform;
  transform: translateZ(0);
}

.congress-page__mosaic-row--top {
  margin-left: -203px;
}

.congress-page__mosaic-row--bottom {
  margin-left: -11px;
}

.congress-page__mosaic-row.is-marquee-ready {
  gap: 0;
}

.congress-page__mosaic-row.is-marquee-ready:not(.is-js-marquee) {
  animation-duration: var(--congress-mosaic-duration, 34s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

.congress-page__mosaic-row--top.is-marquee-ready {
  animation-name: congress-mosaic-scroll-left;
}

.congress-page__mosaic-row--bottom.is-marquee-ready {
  animation-name: congress-mosaic-scroll-right;
}

.congress-page__mosaic-track {
  display: flex;
  gap: var(--congress-mosaic-gap);
  padding-right: var(--congress-mosaic-gap);
  flex: 0 0 auto;
  transform: translateZ(0);
}

@keyframes congress-mosaic-scroll-left {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(calc(-1 * var(--congress-mosaic-shift, 50%)), 0, 0);
  }
}

@keyframes congress-mosaic-scroll-right {
  from {
    transform: translate3d(calc(-1 * var(--congress-mosaic-shift, 50%)), 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.congress-page__mosaic-card {
  margin: 0;
  flex: 0 0 295px;
  height: 320px;
  overflow: hidden;
  contain: paint;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.congress-page__mosaic-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.congress-page__value {
  margin-top: 145px;
}

.congress-page__value .section-title {
  margin-top: 24px;
  max-width: 1052px;
}

.congress-page__value .section-lead {
  margin-top: 16px;
  font-size: 16px;
}

.congress-page__benefits {
  margin-top: 73px;
}

.congress-page__benefits-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

.congress-page__benefits-row--bottom {
  height: 274px;
}

.congress-page__benefit {
  height: 100%;
  padding: 0 20px;
  border-left: 1px solid var(--line);
  border-right: 0;
}

.congress-page__benefit-icon {
  display: inline-flex;
  width: 46px;
  height: 46px;
  color: var(--text);
}

.congress-page__benefits-row:first-child
  .congress-page__benefit:nth-child(2)
  .congress-page__benefit-icon {
  width: 48px;
}

.congress-page__benefit-icon svg {
  width: 100%;
  height: 100%;
}

.congress-page__benefit-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.congress-page__benefit h3 {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.congress-page__benefit ul {
  margin: 16px 0 0;
  padding-left: 24px;
}

.congress-page__benefit li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.congress-page__benefit li + li {
  margin-top: 8px;
}

.congress-page__upcoming {
  margin-top: 140px;
}

.congress-page__upcoming-title {
  font-family: "Unbounded", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.congress-page__event-card {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 820px) minmax(0, 420px);
  align-items: stretch;
}

.congress-page__event-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.congress-page__event-media,
.congress-page__event-content {
  height: 100%;
}

.congress-page__event-content {
  padding: 32px;
  background: #22181b;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.congress-page__event-content p {
  margin: 0;
  width: 356px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #eaeaea;
}

.congress-page__event-content h3 {
  margin-top: 16px;
  width: 356px;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.congress-page__event-content .btn {
  margin-top: 32px;
}

.congress-page__request {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 140px;
  min-height: 512px;
  color: #fff;
}

.congress-page__request-bg,
.congress-page__request-overlay {
  position: absolute;
  inset: 0;
}

.congress-page__request-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Optional modifier: shift background focus ~20% from the left (appears visually shifted right) */
.congress-page__request--shift-right .congress-page__request-bg,
.congress-page__request.shift-right .congress-page__request-bg {
  object-position: 20% center;
}

.congress-page__request-content {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  padding-bottom: 80px;
}

.congress-page__request-content .section-title {
  max-width: none;
}

.congress-page__request-lead {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.contact-form.congress-page__request-form {
  margin-top: 60px;
  display: flex;
  align-items: center;
  gap: 83px;
  flex-wrap: nowrap;
}

.congress-page__request-fields {
  width: min(100%, 925px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 23px;
}

.congress-page__line-field {
  display: block;
}

.congress-page__line-field--wide {
  grid-column: 1 / -1;
}

.congress-page__line-field span {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #fff;
}

.congress-page__line-field input {
  width: 100%;
  height: 33px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  background: transparent;
  color: #fff;
  font: inherit;
}

.congress-page__line-field input:focus {
  outline: none;
  border-bottom-color: #fff;
}

.congress-page__request-submit.btn--light {
  width: 186px;
  min-height: 45px;
  background: transparent;
}

.congress-page__request-submit.btn--light:hover {
  background: transparent;
}

.congress-page__archive {
  margin-top: 140px;
  min-height: 355px;
}

.congress-page__archive-title {
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.congress-page__archive-years {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 94px;
}

.congress-page__archive-year {
  padding: 0;
  border: 0;
  background: transparent;
  font-family: "Unbounded", sans-serif;
  font-size: 46px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  color: #ddd6cf;
  cursor: pointer;
  transition: color 0.2s ease;
}

.congress-page__archive-year.is-active {
  color: #22181b;
}

.congress-page__archive-year:focus-visible {
  outline: 1px solid rgba(34, 24, 27, 0.45);
  outline-offset: 4px;
}

.congress-page__archive-panels {
  margin-top: 19px;
  margin-left: -12px;
  display: grid;
  grid-template-columns: 240px 240px 260px;
  column-gap: 17px;
  min-height: 210px;
}

.congress-page__archive-panel {
  display: none;
}

.congress-page__archive-panel.is-open {
  display: block;
}

.congress-page__archive-items {
  margin: 0;
  padding-left: 36px;
}

.congress-page__archive-items li {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
}

.congress-page__archive-items li + li {
  margin-top: 18px;
}

.congress-page__archive-panel[data-year="2023"]
  .congress-page__archive-items
  li {
  max-width: 240px;
}

.congress-page__archive-links {
  margin-top: 15px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.congress-page__archive-item {
  width: 610px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ddd6cf;
  color: #22181b;
  text-decoration: none;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.congress-page__archive-item img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.partners--congress {
  margin-top: 122px;
}

.page--congress .footer {
  margin-top: 51px;
  padding-bottom: 24px;
  border-top: 1px solid var(--line);
}

.page--congress .footer__social {
  gap: 16px;
  font-weight: 600;
}

@media (max-width: 1199px) {
  .page--congress .hero__nav {
    justify-content: space-between;
  }

  .page--congress .hero__menu--left {
    margin-right: 0;
  }

  .page--congress .hero__logo {
    margin-right: 0;
  }

  .page--congress .hero__menu--right {
    width: auto;
    gap: 18px;
    justify-content: flex-start;
  }

  .congress-page__hero {
    padding-top: 24px;
  }

  .congress-page__hero-content {
    padding-top: 42px;
  }

  .congress-page__hero-content h1 {
    font-size: clamp(38px, 6vw, 54px);
  }

  .congress-page__mosaic-row--top,
  .congress-page__mosaic-row--bottom {
    margin-left: 0;
  }

  .congress-page__mosaic-card {
    flex-basis: 260px;
    height: 280px;
  }

  .congress-page__value {
    margin-top: 112px;
  }

  .congress-page__benefits {
    margin-top: 48px;
  }

  .congress-page__benefits-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto;
    padding: 0;
  }

  .congress-page__benefits-row:first-child,
  .congress-page__benefits-row--bottom {
    height: auto;
  }

  .congress-page__benefit {
    padding: 24px 20px;
  }

  .congress-page__benefits-row .congress-page__benefit:nth-child(3) {
    grid-column: 1 / -1;
  }

  .congress-page__upcoming {
    margin-top: 112px;
  }

  .congress-page__event-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .congress-page__event-media {
    /* match the slider aspect ratio on mobile to avoid gaps */
    aspect-ratio: 820 / 398;
  }

  .congress-page__event-content {
    min-height: 280px;
  }

  .congress-page__event-content p,
  .congress-page__event-content h3 {
    width: 100%;
  }

  .congress-page__request {
    margin-top: 112px;
    min-height: 0;
  }

  .congress-page__request-content {
    padding: 72px 0 64px;
  }

  .contact-form.congress-page__request-form {
    margin-top: 42px;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }

  .congress-page__request-fields {
    width: 100%;
  }

  .congress-page__request-submit.btn--light {
    width: 220px;
  }

  .congress-page__archive {
    margin-top: 120px;
    min-height: 0;
  }

  .congress-page__archive-years {
    margin-top: 18px;
    gap: 56px;
  }

  .congress-page__archive-year {
    font-size: 38px;
  }

  .congress-page__archive-panels {
    margin-top: 20px;
    margin-left: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 20px;
    min-height: 0;
  }

  .congress-page__archive-items li {
    font-size: 20px;
  }

  .congress-page__archive-links {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .congress-page__archive-item {
    width: auto;
    font-size: 20px;
  }

  .partners--congress {
    margin-top: 112px;
  }
}

@media (max-width: 767px) {
  .page.page--congress .hero__nav {
    top: 0;
    margin-bottom: 32px;
  }

  .page--congress .section-kicker {
    font-size: 20px;
  }

  .page--congress .section-title {
    margin-top: 24px;
    font-size: 27px;
    line-height: 1.1;
  }

  .page--congress .section-title--light {
    margin-top: 24px;
  }

  .page--congress .section-lead {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.3;
  }

  .congress-page__hero-content {
    padding-top: 0;
    gap: 0;
  }

  .congress-page__hero-content h1 {
    font-size: 36px;
    max-width: 347px;
  }

  .congress-page__hero-content p {
    max-width: 347px;
    margin-top: 32px;
    font-size: 16px;
  }

  .congress-page__hero-btn.btn--dark {
    width: auto;
    min-width: 303px;
    max-width: 100%;
    margin-top: 24px;
  }

  .congress-page__mosaic {
    --congress-mosaic-gap: 8px;
    margin-top: 32px;
  }

  .congress-page__mosaic-card {
    flex-basis: 239px;
    height: 190px;
  }

  .congress-page__value {
    margin-top: 88px;
  }

  .congress-page__benefits-row {
    grid-template-columns: 1fr;
  }

  .congress-page__benefits-row .congress-page__benefit:nth-child(3) {
    grid-column: auto;
  }
  .congress-page__benefits-row {
    border-right: none !important;
    border-bottom: none !important;
  }

  .congress-page__benefit {
    padding: 22px 16px;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .congress-page__benefit h3 {
    font-size: 20px;
  }

  .congress-page__benefit li {
    font-size: 15px;
  }

  .congress-page__upcoming-title {
    font-size: 27px;
  }

  .congress-page__event-card {
    margin-top: 18px;
  }

  .congress-page__event-content {
    padding: 24px 18px;
    min-height: 0;
  }

  .congress-page__event-content h3 {
    font-size: 20px;
  }

  .congress-page__request {
    margin-top: 88px;
  }

  .congress-page__request-content {
    padding: 56px 0 48px;
  }

  .congress-page__request-lead {
    margin-top: 12px;
    font-size: 16px;
  }

  .contact-form.congress-page__request-form {
    margin-top: 30px;
    gap: 22px;
  }

  .congress-page__request-fields {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .congress-page__line-field--wide {
    grid-column: auto;
  }

  .congress-page__request-submit.btn--light {
    width: min(100%, 320px);
  }

  .congress-page__archive {
    margin-top: 88px;
  }

  .congress-page__archive-title {
    font-size: 16px;
    line-height: 1.2;
  }

  .congress-page__archive-years {
    margin-top: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .congress-page__archive-year {
    font-size: clamp(46px, 13vw, 58px);
    line-height: 1;
  }

  .congress-page__archive-panels {
    margin-top: 0;
    display: block;
    min-height: 0;
  }

  .congress-page__archive-panel {
    display: block;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.32s ease;
  }

  .congress-page__archive-panel.is-open {
    margin: 8px 0 12px;
  }

  .congress-page__archive-items {
    padding-left: 30px;
    padding-bottom: 4px;
  }

  .congress-page__archive-items li {
    font-size: 20px;
    line-height: 1.35;
  }

  .congress-page__archive-items li + li {
    margin-top: 8px;
  }

  .congress-page__archive-links {
    display: block;
    margin-top: 24px;
  }

  .congress-page__archive-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #ddd6cf;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.1;
  }

  .congress-page__archive-item img {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  .partners--congress {
    margin-top: 88px;
  }

  .page--congress .footer h3 {
    font-size: 20px;
  }

  .page--congress .footer {
    margin-top: 34px;
  }
}

@media (max-width: 479px) {
  .congress-page__mosaic {
    --congress-mosaic-gap: 6px;
  }

  .congress-page__mosaic-card {
    flex-basis: min(72vw, 220px);
    height: 200px;
  }

  .congress-page__benefit h3 {
    font-size: 20px;
  }

  .congress-page__archive-item {
    font-size: 18px;
    padding: 10px 0;
  }

  .congress-page__archive-item img {
    width: 16px;
    height: 16px;
  }
}

/* Education page (Figma node 244:2) */
.page--education {
  background: var(--bg);
}

.page--education .hero__nav {
  justify-content: flex-start;
}

.page--education .hero__menu--left {
  width: 427px;
  gap: 29px;
  margin-right: 98px;
}

.page--education .hero__logo {
  margin-right: 114px;
}

.page--education .hero__menu--right {
  width: 411px;
  gap: 32px;
  justify-content: flex-start;
}

.education-page__hero {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  margin-left: calc(50% - 50vw);
  color: #fff;
  overflow: hidden;
}

.education-page__hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleY(-1) rotate(180deg);
}

/* Dark blurred overlay at the top to improve text readability (Figma style) */
.education-page__hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 40vh;
  background: #070707;
  opacity: 0.36;
  filter: blur(95.5px);
  -webkit-filter: blur(95.5px);
  pointer-events: none;
  z-index: 2;
}

.education-page__hero-content {
  position: relative;
  z-index: 3;
}

.education-page__hero-content {
  position: relative;
  z-index: 3;
  padding-top: 137px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.education-page__hero-content h1 {
  width: min(100%, 925px);
  font-family: "Unbounded", sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}

.education-page__hero-content p {
  width: min(100%, 715px);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.education-page__hero-btn.btn--light {
  width: auto;
  min-width: 195px;
  padding-inline: 24px;
}

.education-page__programs {
  margin-top: 140px;
}

.education-page__programs--second {
  margin-top: 180px;
}

.education-page__programs--third {
  margin-top: 140px;
}

.education-page__category-title {
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  text-align: center;
  padding-left: 16px;
}

.education-page__track-wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 58px;
  overflow: hidden;
}

.education-page__track {
  width: max-content;
  display: flex;
  gap: 20px;
  padding-left: 100px;
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  touch-action: pan-y;
}

.education-page__track-wrap--mobile {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 24px;
}

.education-page__track-wrap--mobile::-webkit-scrollbar {
  display: none;
}

.education-page__track--mobile {
  padding-right: 16px;
  transform: none !important;
  transition: none !important;
  will-change: auto;
  touch-action: pan-x;
}

/* cursor for draggable education track on desktop/mouse */
.education-page__track-wrap--mobile {
  cursor: grab;
}
.education-page__track-wrap--mobile.is-dragging {
  cursor: grabbing;
  user-select: none;
}

/* show grab cursor for the track wrap generally when draggable */
.education-page__track-wrap {
  cursor: grab;
}
.education-page__track-wrap.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.education-page__track--mobile .education-page__program-card-group {
  flex: 0 0 auto;
  width: min(610px, calc(100vw - 48px));
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.education-page__track--mobile .education-page__program-card,
.education-page__track--mobile .education-page__program-card--wide {
  width: calc(100% - 132px);
  padding: 20px 14px;
  gap: 14px;
}

.education-page__track--mobile .education-page__program-media,
.education-page__track--mobile .education-page__program-media--wide {
  width: 132px;
}

/* Mobile: convert education track to single-column cards (image on top, content below) and remove horizontal scroller */
@media (max-width: 767px) {
  .education-page__track-wrap--mobile {
    overflow-x: visible;
    overflow-y: visible;
    -webkit-overflow-scrolling: auto;
    overscroll-behavior-x: auto;
    scroll-snap-type: none;
    scroll-padding-left: 0;
    padding-left: 16px;
    padding-right: 16px;
  }

  .education-page__track {
    display: block;
    width: 100%;
    padding-left: 0;
    gap: 16px;
  }

  .education-page__track--mobile {
    padding-right: 0;
    transform: none !important;
    transition: none !important;
    will-change: auto;
    touch-action: auto;
  }

  .education-page__track--mobile .education-page__program-card-group {
    width: 100%;
    flex: 0 0 auto;
    display: block;
    margin-bottom: 16px;
  }

  .education-page__track--mobile .education-page__program-card,
  .education-page__track--mobile .education-page__program-card--wide {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 32px;
    padding-bottom: 64px;
    gap: 12px;
    box-sizing: border-box;
  }

  .education-page__track--mobile .education-page__program-media,
  .education-page__track--mobile .education-page__program-media--wide {
    width: 100%;
    height: 165px;
    margin-bottom: 8px;
    object-fit: cover;
  }

  /* remove track controls when cards are stacked (no scroller) */
  .education-page__track-controls {
    display: none;
  }

  /* ensure no hidden scrollbars remain */
  .education-page__track-wrap--mobile::-webkit-scrollbar {
    display: none;
  }
}

.education-page__cards-row {
  margin-top: 58px;
  display: flex;
  gap: 20px;
}

.education-page__program-card-group {
  width: 610px;
  height: 370px;
  display: flex;
  background: #22181b;
}

.education-page__program-card-group--wide {
  width: 1240px;
}

.education-page__program-card {
  width: 390px;
  height: 100%;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  color: #fff;
}

.education-page__program-card--wide {
  width: 610px;
}

.education-page__program-card h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  color: #ddd6cf;
}

.education-page__program-card p {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}
.education-page__program-card .author {
  margin-top: -16px;
  color: #ddd6cf;

  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 110%;
}

.education-page__program-card .btn {
  margin-top: auto;
  width: auto;
  min-width: 142px;
  align-self: flex-start;
  padding-inline: 24px;
}

.education-page__program-media {
  width: 220px;
  height: 370px;
  overflow: hidden;
  flex-shrink: 0;
}

.education-page__program-media--wide {
  width: 630px;
}

.education-page__program-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.education-page__track-controls {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.education-page__track-progress {
  width: 1152px;
  height: 6px;
  background: #ddd6cf;
}

.education-page__track-progress span {
  display: block;
  width: 53%;
  height: 100%;
  background: #22181b;
  transition: width 0.45s ease;
}

.education-page__track-arrows {
  width: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.education-page__track-arrow {
  width: 24px;
  height: 24px;
  border: 0;
  padding: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.education-page__track-arrow:hover {
  transform: translateY(-1px);
}

.education-page__track-arrow:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}

.education-page__track-arrow:focus-visible {
  outline: 1px solid rgba(34, 24, 27, 0.5);
  outline-offset: 2px;
  border-radius: 4px;
}

.education-page__track-arrow img {
  width: 24px;
  height: 24px;
}

.education-page__benefits {
  margin-top: 140px;
}

.education-page__benefits .section-title {
  margin-top: 24px;
  max-width: 1052px;
}

.education-page__benefits-row {
  display: grid;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  padding: 24px 0;
  min-height: 132px;
}

.education-page__benefits-row--top {
  margin-top: 58px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.education-page__benefits-row--bottom {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.education-page__benefit-item {
  padding: 0 20px;
  border-left: 1px solid var(--line);
  border-right: 0;
}

.education-page__benefit-item h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.education-page__benefit-item p {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.education-page__contact {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 140px;
  min-height: 422px;
  color: #fff;
}

.education-page__contact-bg,
.education-page__contact-overlay {
  position: absolute;
  inset: 0;
}

.education-page__contact-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.education-page__contact-overlay {
  background: rgba(34, 24, 27, 0.6);
}

.education-page__contact-content {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  padding-bottom: 80px;
}

.contact-form.education-page__contact-form {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.education-page__contact-fields {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.education-page__line-field span {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
}

.education-page__line-field input {
  width: 100%;
  height: 33px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  background: transparent;
  color: #fff;
  font: inherit;
}

.education-page__line-field input:focus {
  outline: none;
  border-bottom-color: #fff;
}

.education-page__contact-submit.btn--light {
  width: auto;
  padding-inline: 24px;
  min-height: 45px;
  background: transparent;
}

.education-page__contact-submit.btn--light:hover {
  background: transparent;
}

.page--education .footer {
  margin-top: 0;
  padding-bottom: 24px;
  border-top: 1px solid var(--line);
}

.page--education .footer__social {
  gap: 16px;
  font-weight: 600;
}

@media (max-width: 1199px) {
  .page--education .hero__nav {
    justify-content: space-between;
  }

  .page--education .hero__menu--left {
    margin-right: 0;
  }

  .page--education .hero__logo {
    margin-right: 0;
  }

  .page--education .hero__menu--right {
    width: auto;
    margin-left: auto;
  }

  .education-page__hero {
    min-height: 100vh;
  }

  .education-page__hero-content {
    padding-top: 120px;
    gap: 20px;
  }

  .education-page__hero-content h1 {
    font-size: clamp(36px, 5.8vw, 54px);
    max-width: 760px;
  }

  .education-page__track {
    padding-left: 24px;
  }

  .education-page__cards-row {
    flex-direction: column;
  }

  .education-page__program-card-group,
  .education-page__program-card-group--wide {
    width: 100%;
  }

  .education-page__program-card,
  .education-page__program-card--wide {
    width: calc(100% - 220px);
  }

  .education-page__program-media--wide {
    width: 220px;
  }

  .education-page__track-controls {
    align-items: center;
  }

  .education-page__track-progress {
    width: calc(100% - 88px);
  }

  .education-page__track-progress span {
    width: min(610px, 55%);
  }

  .education-page__benefits-row--top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .education-page__benefits-row--bottom {
    grid-template-columns: 1fr;
  }

  .education-page__contact-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .page--education .hero__logo {
    margin-right: 0;
  }

  .page--education .section-kicker {
    font-size: 20px;
  }

  .page--education .section-title {
    margin-top: 24px;
    font-size: 27px;
    line-height: 1.1;
  }

  .page--education .section-title--light {
    margin-top: 24px;
  }

  .page--education .section-lead {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.3;
  }

  .page--education .hero__menu--right {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }

  .education-page__hero {
    min-height: 100vh;
  }

  .education-page__hero-content {
    padding-top: 108px;
    gap: 18px;
  }

  .education-page__hero-content h1 {
    font-size: 27px;
    max-width: none;
  }

  .education-page__hero-content p {
    max-width: none;
    font-size: 16px;
  }

  .education-page__hero-btn.btn--light {
    width: 100%;
    max-width: 320px;
  }

  .education-page__programs {
    margin-top: 88px;
  }

  .education-page__programs--second,
  .education-page__programs--third {
    margin-top: 112px;
  }

  .education-page__category-title {
    font-size: 20px;
    text-align: left;
  }

  .education-page__track-wrap {
    margin-top: 42px;
  }

  .education-page__track-wrap--mobile {
    scroll-padding-left: 16px;
  }

  .education-page__track {
    gap: 12px;
    padding-left: 0;
  }

  .education-page__track--mobile .education-page__program-card-group {
    width: min(420px, calc(100vw - 32px));
  }

  .education-page__cards-row {
    margin-top: 42px;
    gap: 12px;
  }

  .education-page__program-card-group {
    height: auto;
    min-height: 0;
    flex-direction: column;
  }

  .education-page__program-card,
  .education-page__program-card--wide {
    width: 100%;
    padding: 24px 16px;
    gap: 18px;
    padding: 32px !important;
    padding-bottom: 64px !important;
  }

  .education-page__program-card h3 {
    font-size: 20px;
  }

  .education-page__program-card p {
    font-size: 15px;
  }

  .education-page__program-media,
  .education-page__program-media--wide {
    width: 100%;
    height: auto;
    order: -1;
    height: auto;
    aspect-ratio: 220 / 301;
  }

  .education-page__track-controls {
    margin-top: 12px;
  }

  .education-page__benefits {
    margin-top: 88px;
  }

  .education-page__benefits .section-title {
    font-size: 27px;
  }

  /* Strong mobile overrides placed at file end to ensure precedence */
  @media (max-width: 767px) {
    .page--education .education-page__track-controls {
      display: none !important;
    }

    .page--education
      .education-page__track--mobile
      .education-page__program-card-group {
      width: 100% !important;
      margin: 0 0 12px 0 !important;
      display: flex !important;
      flex-direction: column-reverse !important;
    }

    .page--education
      .education-page__track--mobile
      .education-page__program-card,
    .page--education
      .education-page__track--mobile
      .education-page__program-card--wide {
      width: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 32px !important;
      padding-bottom: 64px !important;
      box-sizing: border-box !important;
    }

    .page--education
      .education-page__track--mobile
      .education-page__program-media,
    .page--education
      .education-page__track--mobile
      .education-page__program-media--wide {
      width: 100% !important;
      margin-bottom: 8px !important;
      object-fit: cover !important;
      order: 0 !important;
      height: auto;
      aspect-ratio: 220 / 301;
    }
  }

  .education-page__benefits-row--top {
    margin-top: 42px;
    grid-template-columns: 1fr;
  }

  @media (max-width: 767px) {
    /* Remove left borders on stacked benefit items and add separators between them */
    .page--education .education-page__benefits-row {
      border-right: 0;
      border-bottom: 0;
      padding: 0;
    }

    .page--education .education-page__benefit-item {
      border-left: 0;
      padding: 16px 16px;
    }

    .page--education
      .education-page__benefit-item
      + .education-page__benefit-item {
      border-top: 1px solid var(--line);
    }
  }

  .education-page__benefit-item {
    padding: 0 16px;
  }

  .education-page__benefit-item h3 {
    font-size: 20px;
  }

  .education-page__benefit-item p {
    margin-top: 12px;
    font-size: 15px;
  }

  .education-page__contact {
    margin-top: 88px;
  }

  .education-page__contact-content {
    padding: 56px 0 48px;
  }

  .contact-form.education-page__contact-form {
    margin-top: 30px;
    gap: 24px;
    align-items: flex-start;
  }

  .page--education .footer h3 {
    font-size: 20px;
  }

  .education-page__contact-submit.btn--light {
    width: auto;
    max-width: 100%;
  }
}

/* B2B page (Figma node 247:803) */
.page--b2b {
  background: var(--bg);
}

.page--b2b .hero__nav {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: min(100% - 48px, 1240px);
  justify-content: flex-start;
}

.page--b2b .menu-link {
  color: var(--text);
}

.page--b2b .has-caret::after {
  color: var(--text);
}

.page--b2b .hero__menu--left {
  width: 427px;
  gap: 29px;
  margin-right: 98px;
}

.page--b2b .hero__logo {
  margin-right: 114px;
}

.page--b2b .hero__menu--right {
  width: 411px;
  gap: 32px;
  justify-content: flex-start;
}

.b2b-page__hero {
  padding-top: 32px;
}

.b2b-page__hero-image-wrap {
  margin-top: 32px;
}

.b2b-page__hero-image {
  width: 100%;
  height: 405px;
  object-fit: cover;
}

.b2b-page__hero-main {
  margin-top: 54px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.b2b-page__hero-main h1 {
  width: 392px;
  font-family: "Unbounded", sans-serif;
  font-size: 54px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}

.b2b-page__hero-copy {
  width: 505px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  transform: translateY(-15px);
}

.b2b-page__hero-copy p {
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.b2b-page__hero-btn.btn--dark {
  width: auto;
  padding-inline: 24px;
  align-self: flex-start;
}

.page--b2b .about .stats__item h3 {
  font-size: 38px;
}

.b2b-page__about {
  position: relative;
  margin-top: 184px;
}

.b2b-page__about-watermark {
  position: absolute;
  left: 50%;
  top: 40px;
  transform: translateX(-50%);
  width: 610px;
  pointer-events: none;
}

.b2b-page__about-lead {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  position: relative;
  z-index: 2;
}

.b2b-page__stats {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(3, 332px);
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.b2b-page__stat-item {
  text-align: right;
}

.b2b-page__stat-line {
  height: 1px;
  background: var(--line);
  margin-bottom: 16px;
}

.b2b-page__stat-item h3 {
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}

.b2b-page__stat-item p {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__center-title {
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
  text-align: center;
}

.b2b-page__case {
  margin-top: 140px;
}

.b2b-page__case-layout {
  margin-top: 58px;
  display: grid;
  grid-template-columns: 400px 840px;
}

.b2b-page__case-summary {
  min-height: 500px;
  padding: 32px;
  background: #22181b;
  color: #ddd6cf;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.b2b-page__case-summary h3 {
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  color: #f6f2ee;
  text-transform: uppercase;
}

.b2b-page__case-divider {
  height: 1px;
  background: rgba(246, 242, 238, 0.6);
}

.b2b-page__case-block p {
  margin: 0;
}

.b2b-page__case-block p:first-child {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__case-block p + p {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.b2b-page__case-block ul {
  margin: 16px 0 0;
  padding-left: 24px;
}

.b2b-page__case-block li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.b2b-page__case-block li + li {
  margin-top: 8px;
}

.b2b-page__case-summary .b2b-page__case-block li + li {
  margin-top: 0;
}

.b2b-page__case-details {
  min-height: 500px;
  padding: 32px;
  background: #fffbf8;
  color: #22181b;
}

.b2b-page__case-details > h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__case-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.b2b-page__case-detail-block h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__case-detail-block ul {
  margin: 16px 0 0;
  padding-left: 24px;
}

.b2b-page__case-detail-block li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.b2b-page__case-detail-block li + li {
  margin-top: 8px;
}

.b2b-page__services {
  margin-top: 140px;
}

.b2b-page__services-grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  height: 292px;
  border-right: 1px solid var(--line);
}

.b2b-page__service-item {
  padding: 0 20px;
  border-left: 1px solid var(--line);
  border-right: 0;
}

.b2b-page__service-item > img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.b2b-page__service-item:nth-child(2) > img {
  height: 43px;
}

.b2b-page__service-item h3 {
  margin: 8px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__service-item ul {
  margin: 16px 0 0;
  padding-left: 24px;
}

.b2b-page__service-item li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.b2b-page__service-item li + li {
  margin-top: 8px;
}

.b2b-page__workflow {
  margin-top: 140px;
}

.b2b-page__workflow-layout {
  margin-top: 58px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.b2b-page__steps {
  width: 505px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.b2b-page__step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.b2b-page__step > span {
  width: 34px;
  flex: 0 0 34px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__step h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.b2b-page__step p {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.b2b-page__workflow-media {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: -30px;
}

.b2b-page__workflow-media img:first-child {
  width: 295px;
  height: 322px;
  object-fit: cover;
}

.b2b-page__workflow-media img:last-child {
  width: 307px;
  height: 448px;
  object-fit: cover;
}

.b2b-page__contact {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 140px;
  min-height: 464px;
  color: #fff;
}

.b2b-page__contact-bg,
.b2b-page__contact-overlay {
  position: absolute;
  inset: 0;
}

.b2b-page__contact-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.b2b-page__contact-overlay {
  background: rgba(34, 24, 27, 0.6);
}

.b2b-page__contact-content {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  padding-bottom: 80px;
}

.b2b-page__contact-content .section-kicker,
.b2b-page__contact-content .section-title {
  max-width: 1240px;
}

.contact-form.b2b-page__contact-form {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.b2b-page__contact-fields {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.b2b-page__line-field span {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
}

.b2b-page__line-field input {
  width: 100%;
  height: 33px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  background: transparent;
  color: #fff;
  font: inherit;
}

.b2b-page__line-field input:focus {
  outline: none;
  border-bottom-color: #fff;
}

.b2b-page__contact-submit.btn--light {
  width: auto;
  padding-inline: 24px;
  min-height: 45px;
  background: transparent;
}

.b2b-page__contact-submit.btn--light:hover {
  background: transparent;
}

.page--b2b .footer {
  margin-top: 0;
  padding-bottom: 24px;
  border-top: 1px solid var(--line);
}

.page--b2b .footer__social {
  gap: 16px;
  font-weight: 600;
}

.page--b2b .footer__links a,
.page--b2b .footer__brand > a:nth-child(2),
.page--b2b .footer__brand > a:nth-child(3),
.page--b2b .footer__contacts > a:nth-of-type(3),
.page--b2b .footer__contacts > a:nth-of-type(4) {
  text-transform: lowercase;
}

.page--b2b .footer__brand > a:nth-child(2),
.page--b2b .footer__brand > a:nth-child(3) {
  color: var(--line-strong);
}

@media (max-width: 1199px) {
  .page--b2b .hero__nav {
    justify-content: space-between;
  }

  .page--b2b .hero__menu--left {
    margin-right: 0;
  }

  .page--b2b .hero__logo {
    margin-right: 0;
  }

  .page--b2b .hero__menu--right {
    width: auto;
    gap: 18px;
  }

  .b2b-page__hero-image {
    height: 340px;
  }

  .b2b-page__hero-main {
    margin-top: 32px;
    flex-direction: column;
    gap: 24px;
  }

  .b2b-page__hero-main h1 {
    width: 100%;
    font-size: clamp(40px, 7vw, 54px);
  }

  .b2b-page__hero-copy {
    width: 100%;
    max-width: 760px;
    transform: none;
    margin-bottom: 40px;
  }

  .b2b-page__about {
    margin-top: 132px;
  }

  .b2b-page__about-watermark {
    width: 520px;
    top: 94px;
  }

  .b2b-page__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .b2b-page__stat-item:last-child {
    grid-column: 1 / -1;
  }

  .b2b-page__case {
    margin-top: 112px;
  }

  .b2b-page__case-layout {
    margin-top: 48px;
    grid-template-columns: 1fr;
  }

  .b2b-page__services {
    margin-top: 112px;
  }

  .b2b-page__services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    height: auto;
    border-right: 0;
  }

  .b2b-page__service-item {
    padding: 24px 20px;
    border-right: 1px solid var(--line);
  }

  .b2b-page__workflow {
    margin-top: 132px;
  }

  .b2b-page__workflow-layout {
    margin-top: 48px;
    flex-direction: column;
  }

  .b2b-page__steps {
    width: 100%;
  }

  .b2b-page__workflow-media {
    width: 100%;
    margin-top: 0;
  }

  .b2b-page__workflow-media img:first-child {
    width: calc(100% - 6px);
    aspect-ratio: 168/179;
    height: auto;
  }

  .b2b-page__workflow-media img:last-child {
    width: calc(100% - 6px);
    aspect-ratio: 167/249;
    height: auto;
  }

  .b2b-page__contact {
    margin-top: 112px;
  }

  .b2b-page__contact-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .page.page--b2b .hero__nav {
    top: 0;
    margin-bottom: 16px;
  }

  .page--b2b .section-kicker {
    font-size: 20px;
  }

  .page--b2b .section-title {
    margin-top: 24px;
    font-size: 27px;
    line-height: 1.1;
  }

  .page--b2b .section-title--light {
    margin-top: 24px;
  }

  .page--b2b .section-lead {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.35;
  }

  .b2b-page__hero {
    padding-top: 24px;
  }

  .b2b-page__hero-image-wrap {
    margin-top: 24px;
  }

  .b2b-page__hero-image {
    height: auto;
    aspect-ratio: 1/1;
  }

  .b2b-page__hero-main {
    margin-top: 24px;
    gap: 18px;
  }

  .b2b-page__hero-main h1 {
    font-size: clamp(46px, 14vw, 54px);
  }

  .b2b-page__hero-copy p {
    font-size: 20px;
  }

  .b2b-page__hero-btn.btn--dark {
    width: auto;
    max-width: 100%;
  }

  .b2b-page__about {
    margin-top: 88px;
  }

  .b2b-page__about-watermark {
    width: min(92%, 420px);
    top: 118px;
  }

  .b2b-page__about-lead {
    margin-top: 18px;
    font-size: 18px;
  }

  .b2b-page__stats {
    margin-top: 32px;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .b2b-page__stat-item {
    grid-column: auto;
  }

  .b2b-page__stat-item h3 {
    font-size: 30px;
  }

  .b2b-page__stat-item p {
    font-size: 20px;
  }

  .b2b-page__center-title {
    font-size: 20px;
  }

  .b2b-page__case {
    margin-top: 88px;
  }

  .b2b-page__case-layout {
    margin-top: 42px;
  }

  .b2b-page__case-summary,
  .b2b-page__case-details {
    min-height: 0;
    padding: 32px;
  }

  .b2b-page__case-summary h3,
  .b2b-page__case-details > h3 {
    font-size: 20px;
  }

  .b2b-page__case-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .b2b-page__services {
    margin-top: 88px;
  }

  .b2b-page__services-grid {
    margin-top: 24px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .b2b-page__service-item {
    padding: 20px 16px;
  }

  .b2b-page__service-item h3 {
    font-size: 20px;
  }

  .b2b-page__service-item li {
    font-size: 15px;
  }

  .b2b-page__workflow {
    margin-top: 88px;
  }

  .b2b-page__workflow-layout {
    margin-top: 42px;
    gap: 18px;
  }

  .b2b-page__step > span,
  .b2b-page__step h3 {
    font-size: 20px;
  }

  .b2b-page__step p {
    font-size: 15px;
  }

  /* Stack images into vertical columns on mobile (flow by columns) */
  .b2b-page__workflow-media {
    display: block;
    column-count: 2;
    column-gap: 8px;
  }

  .b2b-page__workflow-media img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 8px;
    break-inside: avoid;
    object-fit: cover;
  }

  .b2b-page__contact {
    margin-top: 88px;
  }

  .b2b-page__contact-content {
    padding: 56px 0 48px;
  }

  .b2b-page__contact-content .section-title {
    font-size: 27px;
  }

  .contact-form.b2b-page__contact-form {
    margin-top: 30px;
    gap: 24px;
    align-items: flex-start;
  }

  .page--b2b .footer h3 {
    font-size: 20px;
  }

  .b2b-page__contact-submit.btn--light {
    width: auto;
    max-width: 100%;
  }
}

/* Mobile: align h2 headings to the left across the site where currently centered */
@media (max-width: 767px) {
  h2,
  .section-title,
  .section-title--light,
  .b2b-page__center-title {
    text-align: left;
  }
}

/* Mobile: b2b contact button white and full-width */
@media (max-width: 767px) {
  .page--b2b .b2b-page__contact .b2b-page__contact-submit.btn--light {
    width: 100%;
    background: #ffffff;
    color: #111;
    min-height: 48px;
    border: none;
    padding-inline: 16px;
    display: inline-block;
    box-sizing: border-box;
  }

  .page--b2b .b2b-page__contact .b2b-page__contact-submit.btn--light:hover {
    background: #ffffff;
  }
}

/* Mobile: adjust b2b services grid borders - remove left borders, add separators between stacked items */
@media (max-width: 767px) {
  .b2b-page__services-grid {
    grid-template-columns: 1fr;
    gap: 0;
    height: auto;
    border-right: 0;
  }

  .b2b-page__service-item {
    padding: 16px 20px;
    border-left: 0;
    border-right: 0;
  }

  .b2b-page__service-item + .b2b-page__service-item {
    border-top: 1px solid var(--line);
  }
}
