/* Reset */
html,
body,
h1,
h2,
h3,
h4,
p,
ul,
ol {
  margin: 0;
  padding: 0;
}
ul,
ol {
  list-style: none;
}
/* Переменные */
:root {
  /* Цвета */
  --color-primary: #002953;
  --color-primary-surface: #f5f7f9;
  --color-secondary: #ff6910;
  --color-secondary-surface: #ffffff;

  --color-text-on-primary: #ffffff;
  --color-text-primary: #002953;
  --color-text-tertiary: #abb8c3;
  --color-text-2: #333333;

  --color-divider: #c9cfe3;

  /* Градиенты */
  --gradient-primary: linear-gradient(180deg, #001d3c 0%, #003c78 100%);
  --gradient-secondary: linear-gradient(180deg, #013a73 0%, #002245 100%);
  --gradient-tertiary: linear-gradient(
    158.6deg,
    #002953 -38.56%,
    #004b98 79.97%
  );

  /* Текст */
  --font-family-base: 'Roboto', sans-serif;
  --font-size-xs: 13px;
  --font-size-sm: 18px;
  --font-size-base: 24px;
  --font-size-lg: 32px;
  --font-size-xl: 36px;
  --font-size-xxl: 56px;

  /* Интервалы */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-base: 18px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-xl2: 40px;
  --space-xxl: 56px;
  --space-xxxl: 64px;

  /* Контейнеры */
  --container-width: 1080px;

  /* Другое */
  --radius-base: 30px;
  --transition-base: 0.3s ease-in-out;
}

/* === Base === */
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  color: var(--color-text-on-primary);
  background-color: var(--color-primary-surface);
}
.container-ciks {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  box-sizing: content-box;
}
.h2 {
  font-size: var(--font-size-xl);
  font-weight: 700;
  line-height: 42px;

  color: var(--color-text-primary);
}
.h3 {
  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 28px;

  color: var(--color-text-on-primary);
}
.body-m {
  font-size: var(--font-size-sm);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;

  color: var(--color-text-2);
}
.body-m_medium {
  font-weight: 500;
}
.body-l {
  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 28px;

  color: var(--color-text-primary);
}
.body-s {
  font-weight: 400;
  font-size: 15px;
  line-height: 18px;

  color: var(--color-text-tertiary);
}

@media screen and (max-width: 320px) {
  .h2 {
    font-size: var(--font-size-base);
    font-weight: 600;
    line-height: 28px;

    color: var(--color-text-primary);
  }
  .body-l {
    font-size: var(--font-size-sm);
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text-2);
  }
}

/* === Breadcrumbs === */
.breadcrumbs__list {
  padding: var(--space-lg) 0;
  display: block;
  line-height: 15px;
}
.breadcrumbs__link {
  text-decoration: none;
  color: white;
}

.breadcrumbs__link:visited {
  color: var(--color-text-on-primary);
}

.breadcrumbs__item {
  vertical-align: top;
  display: inline;
  line-height: 15px;
  font-size: var(--font-size-xs);
  color: var(--color-text-on-primary);
}
.breadcrumbs__item::after {
  content: ' → ';
}
.breadcrumbs__item:last-child::after {
  content: '';
}

@media screen and (max-width: 320px) {
  .breadcrumbs__list {
    padding: 16.5px 0;
  }
}

/* === Page Hero === */
.page-hero {
  position: relative;
  color: var(--color-text-on-primary);

  background: url('./assets/decor1.svg') no-repeat right bottom,
    url('./assets/decor2.svg') no-repeat left top, var(--gradient-primary);

  background-size: auto, auto, cover;
}

.page-hero__section-title {
  border-bottom: 1px solid #ffffff4d;
  padding: 18.5px 0;

  font-size: 22px;
  font-weight: 400;
  line-height: 26px;
}

.page-hero__main {
  padding: var(--space-md) 0 var(--space-xxl);
}

.page-hero__conference {
  margin: 0 0 var(--space-md);
  font-size: clamp(var(--font-size-base), 2.96vw, var(--font-size-lg));
  line-height: clamp(28px, 3.51vw, 38px);
  color: var(--color-text-tertiary);
}
.page-hero__title {
  margin: 0;
  font-size: clamp(var(--font-size-xl), 5.185vw, var(--font-size-xxl));
  line-height: clamp(42px, 6.11vw, 66px);
  font-weight: 700;
}
.page-hero__description {
  margin-top: var(--space-base);

  font-size: clamp(var(--font-size-sm), 5.185vw, var(--font-size-base));
  line-height: clamp(24px, 6.11vw, 28px);

  color: var(--color-primary-surface);
}
.page-hero__meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: var(--space-xxl);
  gap: var(--space-md);
  flex-wrap: wrap;
}

@media screen and (max-width: 320px) {
  .page-hero {
    background: var(--gradient-primary);
  }
  .page-hero__section-title {
    padding: 5.5px 0;
  }
  .page-hero__main {
    padding-bottom: var(--space-xl2);
  }
  .page-hero__meta {
    margin-top: var(--space-xl2);
  }
}

/* === Event Meta === */
.event-meta {
  letter-spacing: 0;
}

.event-meta__image {
  margin-top: 30px;
  height: 49px;
  display: block;
}
.event-meta__address {
  font-style: normal;
  font-size: var(--font-size-sm);
  margin-top: var(--space-md);
  line-height: 21px;
}

.event-meta__when {
  display: flex;
  flex-flow: column nowrap;
  gap: var(--space-xs);
}
.event-meta__time {
  font-weight: bold;
  font-size: var(--font-size-xl);
  line-height: 42px;
}
.event-meta__icon {
  display: inline-flex;
  margin-right: var(--space-sm);
  width: 24px;
  height: 24px;
  vertical-align: bottom;
}

.event-meta__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.event-meta__venue {
  font-size: var(--font-size-sm);
  line-height: 21px;
  font-style: normal;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 320px) {
  .event-meta__image {
    margin-top: 0;
  }
}

/* === Button === */
.button {
  font-family: var(--color-primary);
  font-weight: 500;
  font-size: var(--font-size-sm);
  line-height: 24px;

  border-radius: var(--radius-base);
  border: 1px solid black;

  padding: calc(var(--space-base) - 1px);

  cursor: pointer;

  transition: var(--transition-base);
}
.button:active {
  transform: scale(0.98);
}
.button_view_primary {
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
  border-color: var(--color-primary);
}
.button_view_secondary {
  background-color: var(--color-secondary);
  color: var(--color-text-on-primary);
  border-color: var(--color-secondary);
}
.button_view_transparent-light {
  background-color: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.button_view_transparent-light:hover {
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
}
.button_view_transparent-dark {
  background-color: transparent;
  color: var(--color-text-on-primary);
  border-color: var(--color-text-on-primary);
}
.button_full-width {
  flex: 1;
  width: 100%;
}

/* === Why === */
.why {
  padding: var(--space-xxxl) 0;
}
.why__title {
  margin-bottom: 26px;
}
.why__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space-lg);
  row-gap: calc(var(--space-lg) + 2px);
}
.why__item {
  flex: 1 1 calc(50% - var(--space-lg));

  position: relative;
  color: var(--color-text-on-primary);
  min-width: 288px;

  font-size: var(--font-size-sm);
  line-height: 24px;

  min-height: 164px;
  box-sizing: border-box;
}

.why__item .why__item-background {
  background: var(--color-primary);
}
.why__item_highlight .why__item-background {
  background: var(--color-secondary);
}

.why__item-background {
  width: 100%;
  height: 100%;
  border-radius: var(--radius-base);
  padding: var(--space-lg) 96px var(--space-lg) var(--space-lg);
  box-sizing: border-box;
  /* вырезаем угол */
  clip-path: polygon(
    calc(100% - 104px) 0px,
    calc(100% - 104px) 0px,
    calc(100% - 99.133733px) 0.3926505px,
    calc(100% - 94.517504px) 1.529424px,
    calc(100% - 90.213071px) 3.3485535px,
    calc(100% - 86.282192px) 5.788272px,
    calc(100% - 82.786625px) 8.7868125px,
    calc(100% - 79.788128px) 12.282408px,
    calc(100% - 77.348459px) 16.2132915px,
    calc(100% - 75.529376px) 20.517696px,
    calc(100% - 74.392637px) 25.1338545px,
    calc(100% - 74px) 30px,
    calc(100% - 74px) 44px,
    calc(100% - 74px) 44px,
    calc(100% - 73.607363px) 48.8661455px,
    calc(100% - 72.470624px) 53.482304px,
    calc(100% - 70.651541px) 57.7867085px,
    calc(100% - 68.211872px) 61.717592px,
    calc(100% - 65.213375px) 65.2131875px,
    calc(100% - 61.717808px) 68.211728px,
    calc(100% - 57.786929px) 70.6514465px,
    calc(100% - 53.482496px) 72.470576px,
    calc(100% - 48.866267px) 73.6073495px,
    calc(100% - 44px) 74px,
    calc(100% - 30px) 74px,
    calc(100% - 30px) 74px,
    calc(100% - 25.133733px) 74.3926505px,
    calc(100% - 20.517504px) 75.529424px,
    calc(100% - 16.213071px) 77.3485535px,
    calc(100% - 12.282192px) 79.788272px,
    calc(100% - 8.786625px) 82.7868125px,
    calc(100% - 5.7881279999999px) 86.282408px,
    calc(100% - 3.348459px) 90.2132915px,
    calc(100% - 1.529376px) 94.517696px,
    calc(100% - 0.39263700000004px) 99.1338545px,
    calc(100% - 1.1368683772162e-13px) 104px,
    100% 100%,
    0px 100%,
    0px 0px,
    calc(100% - 104px) 0px
  );
}
.why__item_highlight .why__item-text {
  color: var(--color-secondary-surface);
}

.why__item .why__item-text {
  color: var(--color-text-on-primary);
}

.why__icon {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
  width: 64px;
  min-width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.why__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 320px) {
  .why {
    padding: var(--space-xl) 0;
  }
  .why__list {
    row-gap: var(--space-lg);
  }
  .why__item-background {
    clip-path: none;
    padding: 88px var(--space-sm) var(--space-sm) var(--space-sm);
  }
  .why__icon {
    left: 8px;
    top: 8px;
  }
  .why__item-text {
    padding: 0 var(--space-sm);
  }
}

/* === Agenda === */
.agenda {
  padding: 82px 0 63px;

  background: url('./assets/decor3.svg') no-repeat right bottom 166px,
    url('./assets/decor4.svg') no-repeat left top 267px,
    var(--gradient-secondary);

  background-size: auto, auto, cover;
  position: relative;
  overflow: hidden;
}
.agenda::before {
  content: '';
  width: 632px;
  height: 662px;
  position: absolute;
  bottom: 215px;
  right: -400px;
  border-radius: 50%;
  background-color: #0056ae;
  filter: blur(200px);
  z-index: 0;
}

.agenda::after {
  content: '';
  width: 739px;
  height: 874px;
  position: absolute;
  top: 140px;
  left: -438px;
  border-radius: 50%;
  background-color: #0056aeb2;
  filter: blur(200px);
  z-index: 0;
}

.agenda__title {
  margin-bottom: var(--space-lg);
  color: var(--color-secondary-surface);
  position: relative;
  z-index: 1;
}
.agenda__table {
  padding: var(--space-lg) 0;
  position: relative;
  z-index: 1;
}

.agenda__divider {
  margin: var(--space-lg) 0;
  border: none;
  border-bottom: 1px solid var(--color-divider);
}

.agenda__list-title {
  padding: 9px var(--space-xl2);
  border-radius: var(--radius-base);
  border: 1px solid var(--color-secondary-surface);
  color: var(--color-secondary-surface);
  margin: var(--space-md) 0;
  width: fit-content;
}

.agenda__item {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-md);
}
.agenda__item:last-child {
  margin-bottom: 0;
}

.agenda__time {
  color: var(--color-secondary-surface);
  width: 103px;
  min-width: 103px;

  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
  line-height: clamp(18px, 2.22vw, 24px);
}
.agenda__name {
  color: var(--color-secondary-surface);

  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
  line-height: clamp(18px, 2.22vw, 24px);
}
.agenda__description {
  color: var(--color-text-tertiary);
  margin-top: var(--space-xs);

  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
  line-height: clamp(18px, 2.22vw, 24px);
}
.agenda__item_highlight .agenda__time {
  color: var(--color-secondary);
}
.agenda__item_highlight .agenda__name {
  color: var(--color-secondary);
}

@media screen and (max-width: 320px) {
  .agenda {
    background: var(--gradient-primary);
    padding: var(--space-xl2) 0;
  }
  .agenda::before,
  .agenda::after {
    display: none;
  }
  .agenda__title {
    margin-bottom: var(--space-md);
  }
  .agenda__time {
    width: 85px;
  }
}

/* === Audience === */
.audience {
  padding: var(--space-xxxl) 0;
}
.audience__title {
  margin-bottom: var(--space-xl);
}
.audience__list {
  display: flex;
  flex-flow: row wrap;
  gap: var(--space-lg);
}
.audience__item {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;

  flex: 1 1 calc(50% - var(--space-lg));
  min-width: 288px;
  padding-left: var(--space-lg);
  box-sizing: border-box;

  position: relative;
  border-radius: var(--radius-base);

  background: var(--color-secondary-surface);
  color: var(--color-text-primary);
}
.audience__item-cubes {
  width: 114px;
  min-width: 114px;
  height: 104px;
  display: block;
}

@media screen and (max-width: 320px) {
  .audience {
    padding: var(--space-xl2) 0 var(--space-lg);
  }
  .audience__item {
    padding: var(--space-md) 0 var(--space-md) var(--space-md);
  }
}

/* === Discussion === */
.discussion {
  padding: 0 0 46px;
}

.discussion__container {
  display: flex;
  flex-flow: column nowrap;
}

.discussion__title {
  margin-bottom: var(--space-lg);
  color: var(--color-text-primary);
}

.discussion__content {
  display: flex;
  flex-flow: row wrap;
  gap: var(--space-lg);
  margin-bottom: 55px;
}

.discussion__content_second-row {
  gap: 22px;
}

.discussion__content:last-child {
  margin-bottom: 0;
}

.discussion__block {
}
.discussion__block-title {
  margin-bottom: 20px;

  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 28px;

  color: var(--color-text-primary);
}

.discussion__content_second-row .discussion__block-title {
  margin-bottom: var(--space-lg);
}

.discussion__topic-wrapper {
  flex: 1;
}
.discussion__format-wrapper {
  flex: 2;
}
.discussion__format {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
  height: calc(100% - 48px);
  box-sizing: border-box;
}

@media screen and (max-width: 320px) {
  .discussion__block-title {
    margin-bottom: var(--space-md);
  }
  .discussion__content {
    margin-bottom: var(--space-xl2);
  }
  .discussion {
    padding: 0 0 var(--space-xl2);
  }
}

.card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px var(--space-lg);
  border-radius: var(--radius-base);
  color: var(--color-text-on-primary);
  min-width: 288px;
  min-height: 72px;
  box-sizing: border-box;
}

.card__text {
  color: var(--color-text-on-primary);
}

.card__icon img {
  display: block;
  width: 24px;
  min-width: 24px;
  height: 24px;
}

.card_primary {
  background: var(--gradient-secondary);
  width: 100%;
}

.card_accent {
  background: var(--color-secondary);
  flex: 1;
}

.discussion__participants {
  margin-bottom: var(--space-xl);
}

.discussion__subtitle {
  margin-bottom: var(--space-md);
}

.discussion__logos-wrapper {
  flex: 1.008 0;
}

.moderator-card__wrapper {
  flex: 1 10;
}

.discussion__logos {
  display: flex;
  flex-wrap: wrap;
  column-gap: 11px;
  row-gap: 12px;
}

.discussion__logo {
  background: var(--color-secondary-surface);

  border-radius: var(--radius-base);
  padding: var(--space-md);

  display: flex;
  align-items: center;
  justify-content: center;

  height: 73px;
  min-width: 124px;
  box-sizing: border-box;
  flex: 1 2 calc(25% - 33px);

  color: var(--color-text-primary);
}

.discussion__logo_double {
  flex: 2 1 calc(50% - 11px);
  min-width: 260px;
}
.discussion__logo img {
  object-fit: contain;
  max-width: 100px;
}
.discussion__logo_double > img {
  width: 178px;
  object-fit: contain;
  max-width: 178px;
}

.moderator-card {
  display: flex;
  align-items: center;
  background: var(--color-primary);
  border-radius: var(--radius-base);
  padding: 10px;
  color: var(--color-secondary-surface);
  gap: 20px;
  box-sizing: border-box;
  min-height: 158px;
  max-height: 204px;
}

.moderator-card__image img {
  border-radius: var(--radius-base);
  width: clamp(116px, 13.61vw, 147px);
  object-fit: cover;
}
.moderator-card__content {
  display: flex;
  flex-flow: column nowrap;
  gap: 10px;
}

.moderator-card__tag {
  display: inline-block;
  color: var(--color-secondary-surface);
  padding: 9px 29px;
  border-radius: var(--radius-base);
  border: 1px solid var(--color-secondary-surface);
  align-self: flex-start;
  letter-spacing: 0px;
}

.moderator-card__name {
  color: var(--color-secondary-surface);

  font-size: clamp(var(--font-size-sm), 2.22vw, var(--font-size-base));
  font-weight: 600;
  line-height: 28px;

  color: var(--color-secondary-surface);
}

.moderator-card__desc {
  color: var(--color-text-tertiary);
}

/* === Discussion-topics === */
.discussion-topics {
  padding: 0 0 45px;
}
.discussion-topics__title {
  margin-bottom: 19px;
  color: var(--color-text-primary);
}
.discussion-topics__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.topic-card {
  background: var(--color-secondary-surface);
  border-radius: var(--radius-base);
  padding: var(--space-lg);
  box-shadow: var(--shadow-sm);
}
.topic-card:has(.topic-card__notes) {
  padding: var(--space-lg) var(--space-lg) 14px;
}
.topic-card__title {
  color: var(--color-text-primary);
}
.topic-card__points {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 19px;
  margin-left: 39px;
}
.topic-card__points li {
  position: relative;
  color: var(--color-text-2);

  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
  line-height: clamp(18px, 2.22vw, 24px);
}
.topic-card__points li::before {
  content: url('assets/check.svg');
  position: absolute;
  left: -39px;
  color: var(--color-accent);
  width: 24px;
  min-width: 24px;
  height: 24px;
  display: block;
}
.topic-card__notes {
  margin-top: 10px;

  display: flex;
  flex-direction: column;
  gap: 10px;
}
.topic-card__note {
  font-size: 14px;
  line-height: 24px;
  text-align: right;

  color: var(--color-text-tertiary);
}

@media screen and (max-width: 320px) {
  .discussion-topics {
    padding: 0 0 var(--space-xl2);
  }
  .discussion-topics__list {
    gap: var(--space-md);
  }
  .topic-card__note {
    text-align: left;
  }
}

/* === Conference === */
.conference {
  background: url('./assets/decor5.svg') no-repeat right bottom,
    url('./assets/decor6.svg') no-repeat left bottom, var(--color-primary);

  color: #ffffff;
  position: relative;
  padding: var(--space-xl2) 0 var(--space-xxxl);
  overflow: hidden;
  position: relative;
}
.conference::before {
  content: '';
  width: 632px;
  height: 632px;
  position: absolute;
  bottom: -285px;
  right: -419px;
  border-radius: 50%;
  background-color: #0056ae;
  filter: blur(200px);
  z-index: 0;
}

.conference::after {
  content: '';
  width: 632px;
  height: 632px;
  position: absolute;
  bottom: -285px;
  left: -419px;
  border-radius: 50%;
  background-color: #0056ae;
  filter: blur(200px);
  z-index: 0;
}
.conference__container {
  position: relative;
  z-index: 1;
}
.conference__title {
  color: var(--color-secondary-surface);
  margin-bottom: var(--space-lg);
}
.conference__details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
}
.conference__item {
  background-color: var(--color-secondary-surface);
  color: var(--color-primary);
  padding: var(--space-lg);
  border-radius: var(--radius-base);
}
.conference__item_orange {
  background-color: var(--color-secondary);
  color: var(--color-text-on-primary);
}
.conference__item_blue {
  background: var(--gradient-tertiary);
  color: var(--color-text-on-primary);
}
.conference__item_gray {
  background-color: #d8e2eb;
  color: var(--color-text-2);
}
.conference__item_gray .conference__item-title {
  color: var(--color-primary);
}

.conference__item_double {
  grid-row: span 2 / span 2;
  grid-column-start: 2;
  grid-row-start: 1;
}

.conference__item-container {
  padding: var(--space-lg) 0;
}

.conference__item-title {
  margin-bottom: 9px;
}

.conference__item-text {
  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
}

.conference__item_with-image {
  display: flex;
  flex-flow: row nowrap;
  gap: 19px;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.conference__item_with-image .conference__item-text {
  font-size: 18px;
}

.conference__image {
  max-height: 250px;
  width: clamp(128px, 19.26vw, 208px);
  object-fit: contain;
  object-position: bottom;
  align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .conference__item.conference__item_double {
    grid-column-start: 1;
    grid-row-start: 3;
  }
  .conference__details {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 320px) {
  .conference {
    padding: var(--space-xl2) 0;
    background: var(--gradient-primary);
  }
}

/* === Registration === */
.registration {
  padding: 45px 0 0;
}
.registration_padding_big {
  padding: 75px 0 0;
}
.registration__content {
  display: flex;
  flex-direction: column;
  gap: 22px;
  background-color: var(--color-primary);
  border-radius: var(--radius-base);
  padding: var(--space-lg);
  overflow: hidden;
}
.registration__content-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.registration__header {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.registration__title {
  font-size: var(--font-size-xl);
  line-height: 42px;
  color: var(--color-text-on-primary);
}
.registration__title_flex {
  font-size: clamp(var(--font-size-base), 3.33vw, var(--font-size-xl));
  line-height: clamp(28px, 3.88vw, 42px);
}
.registration__note {
  display: flex;
  gap: var(--space-sm);
  flex-flow: row nowrap;
  align-items: center;
  color: var(--color-text-tertiary);

  font-size: clamp(15px, 1.66vw, var(--font-size-sm));
  line-height: clamp(18px, 2.22vw, 24px);
}
.registration__icon {
  width: 24px;
  height: 24px;
  min-height: 24px;
  align-self: flex-start;
}
.registration__icon img {
  object-fit: contain;
  display: block;
}
.registration__text {
  color: var(--color-text-on-primary);

  font-size: var(--font-size-sm);
  line-height: 21px;
}
.registration__mail-link {
  color: var(--color-secondary);
  text-decoration: underline;
}
.registration__mail-link:visited {
  color: var(--color-secondary);
}
.registration__buttons {
  display: flex;
  flex-flow: row wrap;
  justify-content: end;
  column-gap: 26px;
  row-gap: 8px;
  margin-top: 17px;
}
.registration__buttons_margin_big {
  margin-top: var(--space-lg);
}

.registration__button {
  flex: 1;
  max-width: 313px;
}

@media screen and (max-width: 320px) {
  .registration {
    padding: 26px 0 0;
  }
  .registration_padding_big {
    padding: 38px 0 0;
  }
}

/* === Partners === */
.partners {
  padding: var(--space-xxxl) 0;
}
.partners__title {
  margin-bottom: var(--space-lg);
  color: var(--color-text-primary);
}
.partners__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
}
.partners__item {
  background: var(--color-secondary-surface);
  border-radius: var(--radius-base);
  padding: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;

  flex: 1;

  min-width: 288px;
  max-width: 344px;
  height: 117px;
  box-sizing: border-box;
}
.partners__logo {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

@media screen and (max-width: 320px) {
  .partners {
    padding: 22px 0 var(--space-xl2);
  }
}

/* === Map === */
.map {
  min-height: 577px;
  position: relative;
}
.map__background {
  background-image: url('assets/map.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 577px;
  position: absolute;
  top: 0;
  left: 0;
}

.map__container {
  position: relative;
}

.contact-card {
  position: absolute;
  top: 72px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);

  background-color: var(--color-secondary-surface);
  border-radius: var(--radius-base);

  padding: var(--space-lg);
  margin-right: var(--space-md);

  color: var(--color-primary);

  max-width: 422px;
  box-sizing: border-box;

  z-index: 10;
}

.contact-card__icon {
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin-right: var(--space-xs);
  align-self: flex-start;
}
.contact-card__icon img {
  object-fit: contain;
}

.contact-card__date {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-lg);
}

.contact-card__date-value {
  display: inline-flex;
  align-items: center;
  line-height: 21px;
}

.contact-card__image {
  width: 100%;
  height: 181px;
  object-fit: cover;
}

.contact-card__divider {
  margin: 0;
  border: none;
  border-bottom: 1px solid #c0cbd4;
}

@media screen and (max-width: 768px) {
  .map {
    display: flex;
    flex-direction: column;
    gap: 19px;
  }
  .map__container {
    display: contents;
  }
  .map__background {
    position: relative;
    background-image: url(assets/map-small.png);
  }
  .contact-card {
    position: relative;
    top: 0;
    /* margin-right: 0; */
    margin: 0 auto;
  }
}

.contacts {
  padding: var(--space-xl) 0 49px;
}
.contacts__list {
  display: flex;
  flex-wrap: wrap;
  gap: 23px;
  justify-content: center;
}
.contacts__card {
  background: var(--color-primary);
  color: var(--color-text-on-primary);

  border-radius: var(--radius-base);
  padding: var(--space-lg);

  box-sizing: border-box;
  flex: 1 1;
  min-width: 288px;

  display: flex;
  flex-direction: column;
  gap: 11px;
}
.contacts__name {
  font-size: 20px;
  font-weight: 500;
  line-height: 23px;
}
.contacts__role {
  font-size: 16px;
}
.contacts__info {
  display: flex;
  align-items: center;

  font-weight: 500;
  font-size: clamp(16px, 1.66vw, 18px);
  line-height: 21px;
}
.contacts__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 7px;
}
.contacts__link {
  color: var(--color-text-on-primary);
  text-decoration: none;
  align-self: flex-end;
}
.contacts__link:hover {
  text-decoration: underline;
}
