@font-face {
  font-family: "Suisse Intl";
  src: local("Suisse Intl Light"), local("SuisseIntl-Light"), local("Suisse Intl"),
    local("SuisseIntl-Regular");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Suisse Intl";
  src: local("Suisse Intl SemiBold"), local("SuisseIntl-SemiBold"),
    local("Suisse Intl Semibold");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Even Mono";
  src: local("Eglit Regular"), local("Eglit-Regular"), local("Eglit"),
    local("Even Mono Regular"), local("EvenMono-Regular"),
    url("../assets/fonts/Eglit-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-body: "Suisse Intl", -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    Arial, sans-serif;
  /* Плавно: ~20px на узком → 60px на широком (без рывков на брейкпоинтах) */
  --page-gutter: clamp(20px, 3.125vw, 60px);
  --grid-gap: 20px;
  --grid-columns: 4;
  --footer-grid-columns: 4;
  --header-height: 72px;
  --font-heading: clamp(36px, 4.2vw, 48px);
  --font-ui: 16px;
  --font-program-desc: 21px;
  --font-intro: 36px;
  --font-display: "Even Mono", var(--font-body);
  --home-copy-gap: 36px;
  --home-mobile-copy-slider-gap: clamp(56px, 16vw, 72px);
  --font-menu-label: 20pt;
  --font-ui-lh: 1.573;
  --font-program-desc-lh: 1.45;
  --font-ui-tracking: 0.02em;
  --border: #d2d2d2;
  --btn-border: var(--border);
  --menu-accent: #d42e00;
  --menu-sub-color: #9e9e9e;
  --home-slide-base-width: 438px;
  --home-slider-tallest: 582px;
  --home-slide-h: 582px;
  --home-slide-stagger: 160px;
  --home-slide-portrait-w: 438px;
  --home-slide-landscape-w: 1040px;
  --home-hero-pad-top: 100px;
  --cursor-color: var(--menu-accent);
  /* Лого: ~36px мобилка → 44px десктоп, без скачков */
  --logo-height: clamp(34.2px, 0.9025vw + 30.88px, 41.8px);
}

body,
:root {
  font-family: var(--font-body) !important;
  font-weight: 300;
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
}

.site-logo__img {
  height: var(--logo-height);
  width: auto;
  display: block;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: #fff;
  box-sizing: border-box;
  padding: 18px var(--page-gutter);
}

.site-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  min-height: 35px;
}

.site-header__left {
  justify-self: start;
  position: relative;
  z-index: 2;
}

.site-header__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: currentcolor;
  line-height: 0;
  z-index: 1;
}

.site-header__contact {
  justify-self: end;
  grid-column: 3;
  font-family: var(--font-body);
  font-size: var(--font-menu-label);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #000;
  text-decoration: none;
  text-transform: lowercase;
  position: relative;
  z-index: 2;
  padding: 12px 0 12px 24px;
  margin: -12px -8px -12px 0;
}

.site-header__contact:hover {
  color: var(--menu-accent);
}

.site-header__menu-btn {
  display: none;
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  z-index: 30;
  flex-shrink: 0;
}

.site-header__menu-dots {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}

.site-header__menu-dot {
  position: absolute;
  width: 3.76px;
  height: 3.76px;
  border-radius: 50%;
  background: #000;
  transform: translate(-50%, -50%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header__menu-dot:nth-child(1) {
  left: 19.88px;
  top: 13.88px;
}

.site-header__menu-dot:nth-child(2) {
  left: 26.88px;
  top: 24.88px;
}

.site-header__menu-dot:nth-child(3) {
  left: 12.88px;
  top: 24.88px;
}

.site-header.menu-open .site-header__menu-dot:nth-child(1) {
  transform: translate(-50%, -50%) translate(0, 4px);
}

.site-header.menu-open .site-header__menu-dot:nth-child(2) {
  transform: translate(-50%, -50%) translate(-4px, -2px);
}

.site-header.menu-open .site-header__menu-dot:nth-child(3) {
  transform: translate(-50%, -50%) translate(4px, -2px);
}

.page-heading,
._1yi5qkj3i._1cdr9td4._1yi5qkj3g {
  font-family: var(--font-body) !important;
  font-size: var(--font-heading) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
}

main {
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
  padding-top: calc(var(--header-height) + 32px) !important;
  box-sizing: border-box;
}

main > .box,
main > .box > .box,
main .news-grid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.page-home main {
  padding-top: 0 !important;
}

.news-grid {
  width: 100% !important;
  display: block !important;
}

.news-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}

.news-filter {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: #fff;
  color: #000;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: 1.2;
  padding: 8px 14px;
  min-height: 36px;
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.news-filter:hover {
  border-color: rgba(0, 0, 0, 0.35);
}

.news-filter.is-active {
  border-color: #000;
}

.news-grid__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--grid-gap);
  align-items: start;
}

.news-card {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  text-decoration: none !important;
  color: inherit !important;
  border: none !important;
  row-gap: 0 !important;
}

.news-card.is-hidden {
  display: none !important;
}

.news-card__media {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.news-card__media img,
.news-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__media span._10lhrgf0 {
  display: block;
  width: 100%;
  height: 100%;
}

.news-card__media span._10lhrgf0 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.size-245 .news-card__media {
  aspect-ratio: 438 / 245;
}

.size-355 .news-card__media {
  aspect-ratio: 438 / 355;
}

.size-438 .news-card__media {
  aspect-ratio: 1 / 1;
}

.size-582 .news-card__media {
  aspect-ratio: 438 / 582;
}

.size-916 .news-card__media {
  aspect-ratio: 9 / 16;
}

.news-card__footer {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 4px;
  align-items: start;
  margin-top: 8px;
  width: 100%;
}

.news-card__text {
  grid-column: 1;
  grid-row: 1 / 3;
  min-width: 0;
  padding-right: 8px;
}

.news-card__title {
  margin: 0 0 4px;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #181818;
  word-break: break-word;
}

.news-card__date {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  color: #666;
}

.news-card__tag {
  grid-column: 2;
  grid-row: 1;
  flex-shrink: 0;
  align-self: start;
  justify-self: end;
  appearance: none;
  border: 1px solid var(--border);
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: #fff;
  color: #000;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  padding: 4px 12px;
  min-height: 24px;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.news-card__tag:hover {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 1400px) {
  :root {
    --grid-columns: 3;
    --footer-grid-columns: 4;
  }

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

@media screen and (max-width: 1240px) {
  :root {
    --footer-grid-columns: 2;
  }
}

@media screen and (max-width: 1024px) {
  :root {
    --grid-columns: 2;
  }

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

@media screen and (max-width: 640px) {
  :root {
    --grid-gap: 16px;
    --grid-columns: 1;
  }

  .news-grid__items {
    grid-template-columns: 1fr;
  }

  .news-filters {
    gap: 6px;
    margin-bottom: 24px;
  }

  .news-filter,
  .news-card__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    line-height: 1.2;
    box-sizing: border-box;
  }
}

footer:not(.home-bottom) {
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
  box-sizing: border-box;
}

footer .vdg5k0,
footer ._15qa9yg2i {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.site-footer__grid {
  display: grid !important;
  grid-template-columns: repeat(var(--footer-grid-columns), minmax(0, 1fr)) !important;
  gap: var(--grid-gap) !important;
  width: 100% !important;
  max-width: none !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  align-items: start;
}

.site-footer__grid > div {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  flex-basis: auto !important;
  grid-column: auto !important;
  box-sizing: border-box;
}

.site-footer__grid > div > .box {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

footer ._13qg7xk2,
footer ._13qg7xk3,
footer a,
.site-footer__time,
.site-footer__online-text {
  font-family: var(--font-body) !important;
  font-size: var(--font-ui) !important;
  line-height: var(--font-ui-lh) !important;
  letter-spacing: var(--font-ui-tracking);
}

.site-footer__grid a {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  vertical-align: top;
}

.site-footer a:hover,
.site-footer .isnax90:hover,
.site-footer .isnax90:hover a {
  color: var(--menu-accent);
}

.site-footer a[href*="privacy-policy"] {
  white-space: nowrap;
}

.site-footer a[href*="privacy-policy"] br {
  display: none;
}

/* ~375px: RU «Политика конфиденциальности» overflows 2-col footer */
@media screen and (max-width: 480px) {
  .site-footer a[href*="privacy-policy"] {
    white-space: normal;
  }

  .site-footer a[href*="privacy-policy"] br {
    display: inline;
  }
}

.site-footer__online-text {
  color: var(--menu-accent);
}

.site-footer__time-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}

/* Brand: © + since (2 lines). Contact: optional city + email + time. */
.site-footer__brand,
.site-footer__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.site-footer__brand > p,
.site-footer__contact > p {
  margin: 0;
  line-height: var(--font-ui-lh) !important;
}

.site-footer__contact a[href^="mailto:"],
.site-footer__contact a[href^="mailto:"]:hover {
  text-decoration: underline;
}

.site-footer__copyright {
  display: inline;
  margin-right: 0.15em;
  font-size: inherit;
  line-height: inherit;
  vertical-align: baseline;
}

.site-footer__online {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.site-footer__online[hidden] {
  display: none;
}

.site-footer__online-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--menu-accent);
  flex-shrink: 0;
  transform: translateY(2px);
  animation: site-footer-online-blink 1.4s ease-in-out infinite;
}

@keyframes site-footer-online-blink {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.25;
  }
}

.site-header nav {
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@media screen and (max-width: 850px) {
  :root {
    --header-height: 64px;
  }

  .site-header__inner {
    grid-template-columns: 1fr auto 1fr;
  }

  .site-header__menu-btn {
    display: inline-flex;
    justify-self: end;
    grid-column: 3;
  }

  .site-header__contact {
    display: none;
  }

  .site-header__left .site-menu__label {
    display: none;
  }

  .site-header__left .site-menu__section {
    display: none;
  }

  .site-header:not(.menu-open) .site-header__left .site-menu__panel {
    display: none;
  }

  .site-header.menu-open .site-header__left .site-menu__panel {
    display: flex;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    min-width: 0;
    background: #fff;
    z-index: 20;
    padding: calc(var(--header-height) + 24px) var(--page-gutter) 24px;
  }
}

.page-home {
  background: #fff;
  display: flex;
  flex-direction: column;
}

.home-viewport {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  flex: 1 1 auto;
  min-height: 0;
}

.page-home .site-header.site-header--home {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: 30;
  --home-header-pad-top: 24px;
  padding: var(--home-header-pad-top) 0 0;
  background: #fff;
}

.page-home .site-header__home {
  align-items: start;
  row-gap: 0;
  grid-template-rows: auto auto;
}

.home-logo-lockup {
  grid-column: 1;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 28px);
  width: max-content;
  max-width: 100%;
  min-width: 0;
  justify-self: start;
  align-self: center;
}

.home-header__logo {
  line-height: 0;
  flex-shrink: 0;
}

.home-est,
.home-brand-tag {
  margin: 0;
  padding: 0;
  font-family: "Even Mono", ui-monospace, monospace;
  font-size: clamp(12px, 0.35vw + 11px, 16px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #000;
  text-transform: lowercase;
  white-space: nowrap;
  /* логотип SVG с хвостом «g»: поднимаем mono к оптическому центру кегля */
  transform: translateY(calc(var(--logo-height) * -0.12));
}

.home-est {
  flex: 0 1 auto;
  min-width: 0;
}

@media screen and (max-width: 639px) {
  .home-est {
    display: none;
  }
}

.home-brand-tag {
  grid-column: 3;
  grid-row: 1;
  justify-self: start;
  align-self: center;
  flex-shrink: 0;
}

/* brand bureau скрывается с 1100px */
@media screen and (max-width: 1100px) {
  .home-brand-tag {
    display: none !important;
  }
}

/* Главная: временно без est / brand bureau; презентация слева, лого по центру */
body.page-home:not(.page-expert) .home-est,
body.page-home:not(.page-expert) .home-brand-tag {
  display: none !important;
}

body.page-home:not(.page-expert) .site-header__home .home-logo-lockup {
  position: absolute;
  left: 50%;
  top: calc(var(--home-header-pad-top, 24px) + 3px);
  transform: translateX(-50%);
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: center;
  align-self: auto;
  z-index: 5;
  width: max-content;
  max-width: calc(100vw - var(--page-gutter) * 2 - 360px);
  min-width: 0;
  padding: 0;
  gap: 0;
  align-items: center;
  box-sizing: border-box;
}

@media screen and (max-width: 719px) {
  body.page-home:not(.page-expert) .site-header__home .home-logo-lockup {
    max-width: calc(100vw - var(--page-gutter) * 2 - 240px);
  }
}

body.page-home .home-btn-wrap--header-download {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  align-self: center;
  z-index: 6;
  flex-shrink: 0;
}

/* Homepage left nav: desktop = download, mobile = Меню (like speaker) */
body.page-home:not(.page-expert) .home-nav {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  align-self: center;
  z-index: 6;
  min-width: 0;
}

/* Download only in Меню; left chrome = Меню like speaker */
body.page-home:not(.page-expert) .home-btn-wrap--header-download {
  display: none !important;
}

body.page-home:not(.page-expert) .home-nav__dropdown {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
}

body.page-home:not(.page-expert) .home-nav__dropdown > .home-btn {
  width: max-content !important;
  min-width: 0 !important;
  justify-content: center;
  white-space: nowrap;
}

body.page-home:not(.page-expert) .home-nav .home-btn-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: auto;
  margin-top: 0;
  align-items: flex-start;
  gap: 8px;
}

body.page-home:not(.page-expert) .home-nav .home-btn-dropdown::before {
  left: 0;
  right: -240px;
}

body.page-home:not(.page-expert) .site-header .home-nav__dropdown:hover:not(.is-collapsed) > .home-btn,
body.page-home:not(.page-expert) .site-header .home-nav__dropdown:focus-within:not(.is-collapsed) > .home-btn,
body.page-home:not(.page-expert) .site-header .home-nav__dropdown.is-open > .home-btn {
  border-color: transparent;
  background: #fff;
  color: #000;
}

body.page-home:not(.page-expert) .site-header .home-nav__dropdown:hover:not(.is-collapsed) > .home-btn .home-btn__text,
body.page-home:not(.page-expert) .site-header .home-nav__dropdown:focus-within:not(.is-collapsed) > .home-btn .home-btn__text,
body.page-home:not(.page-expert) .site-header .home-nav__dropdown.is-open > .home-btn .home-btn__text {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* Связь = same size as Меню (base .home-btn padding) */
body.page-home:not(.page-expert) .home-actions .home-btn-wrap > .home-btn,
body.page-home:not(.page-expert) .home-floating-cta .home-btn-wrap > .home-btn {
  width: max-content !important;
  min-width: 0 !important;
  max-width: none;
  justify-content: center;
  white-space: nowrap;
}

body.page-home:not(.page-expert) .home-actions .home-btn-wrap,
body.page-home:not(.page-expert) .home-floating-cta .home-btn-wrap {
  width: max-content;
  max-width: none;
}

.home-actions {
  grid-column: 4;
  grid-row: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  align-self: center;
  position: relative;
  z-index: 20;
}

.home-floating-cta {
  position: fixed;
  top: var(--home-header-pad-top, 24px);
  right: var(--page-gutter);
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease,
    visibility 0.28s ease;
}

body.page-home.home-floating-cta-visible .home-floating-cta {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@media screen and (max-width: 719px) {
  .home-floating-cta .home-btn-wrap > .home-btn--dark {
    width: max-content !important;
    min-width: 0 !important;
    justify-content: center;
  }

  .home-floating-cta .home-btn-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    align-items: flex-end;
    min-width: 0;
  }

  .home-floating-cta .home-btn-wrap.is-open > .home-btn--dark {
    background: var(--menu-accent);
    border-color: var(--menu-accent);
    color: #fff;
  }

  .home-floating-cta .home-btn-wrap.is-open .home-btn-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

html[dir="rtl"] .home-floating-cta {
  right: auto;
  left: var(--page-gutter);
}

html[dir="rtl"] .home-floating-cta .home-btn-dropdown {
  right: auto;
  left: 0;
  align-items: flex-start;
}

@media (prefers-reduced-motion: reduce) {
  .home-floating-cta {
    transition: opacity 0.15s ease, visibility 0.15s ease;
    transform: none;
  }

  body.page-home.home-floating-cta-visible .home-floating-cta {
    transform: none;
  }
}

.page-home .site-header__home .home-intro {
  grid-column: 1;
  grid-row: 2;
  /* один ряд с about: нижние края на одной горизонтали */
  align-self: end;
  margin: 40px 0 0;
  max-width: none;
  padding: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-intro) !important;
  line-height: 1.4 !important;
  letter-spacing: -0.02em;
  color: #000;
}

.page-home .site-header__home .home-about {
  margin: 0;
  padding: 0;
  max-width: none;
  width: max-content;
  white-space: nowrap;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

.home-about-fit {
  grid-column: 3;
  grid-row: 2;
  /* на одном горизонтальном ряду с заголовком, но ниже — по нижнему краю */
  align-self: end;
  margin: 40px 0 0;
  min-width: 0;
  max-width: 100%;
}

.home-about__line {
  display: block;
  white-space: nowrap;
}

.home-break--mobile,
.home-about__mobile {
  display: none;
}

.home-about__desktop {
  display: block;
}

.home-intro__line {
  display: block;
}

.home-intro__line.home-intro__line--split {
  display: none;
}

/* Английский заголовок: всегда ровно 2 строки жёстким переносом */
.home-intro--two .home-intro__line {
  display: block !important;
  white-space: nowrap;
}

.page-home .site-header__menu-btn {
  display: none;
}

.home-mobile-header-actions,
.home-mobile-download {
  display: none;
}

.page-home .home-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--grid-gap) !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
}

.site-header__logo--home {
  position: static;
  transform: none;
  justify-self: start;
  align-self: start;
  line-height: 0;
}

@media screen and (min-width: 1201px) {
  .page-home .site-header__home .home-intro {
    width: max-content;
    font-size: var(--font-intro) !important;
    line-height: 1.4 !important;
  }

  .page-home .site-header__home .home-about-fit {
    grid-column: 3;
    grid-row: 2;
  }

  .page-home .site-header__home .home-intro .home-intro__line--wide {
    display: block;
  }

  .page-home .site-header__home .home-intro .home-intro__line.home-intro__line--split {
    display: none;
  }

  .home-intro__line {
    display: block;
    white-space: nowrap;
  }
}

@media screen and (max-width: 1240px) and (min-width: 720px) {
  .page-home .site-header__home .home-intro {
    font-size: clamp(32px, 3.1vw, 36px) !important;
    line-height: 1.32 !important;
    max-width: none;
    width: max-content;
  }

  .page-home .site-header__home .home-intro .home-intro__line {
    white-space: nowrap;
  }
}

@media screen and (max-width: 1200px) and (min-width: 720px) {
  .page-home .site-header__home .home-intro .home-intro__line--wide {
    display: none;
  }

  .page-home .site-header__home .home-intro .home-intro__line--split {
    display: block;
    white-space: nowrap;
  }
}

/* Планшет+/узкий десктоп: бюро и описание остаются справа от заголовка до ~720 */
@media screen and (max-width: 1200px) and (min-width: 720px) {
  .page-home .site-header__home {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto auto;
  }

  .page-home .site-header__home .home-actions {
    grid-column: 4;
    grid-row: 1;
  }

  .page-home .site-header__home .home-intro {
    grid-column: 1 / 3;
    grid-row: 2;
    margin-top: 28px;
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1.28 !important;
    max-width: none;
    width: max-content;
  }

  .page-home .site-header__home .home-about-fit {
    grid-column: 3 / 5;
    grid-row: 2;
    align-self: end;
    margin-top: 28px;
    max-width: 100%;
  }
}

@media screen and (max-width: 719px) {
  :root {
    --font-ui: 14px;
  }

  html,
  body {
    overflow-x: clip;
    max-width: 100%;
  }

  .home-intro {
    width: auto;
    max-width: 100%;
  }

  .page-home .site-header__home .home-intro .home-intro__line--wide {
    display: none;
  }

  .page-home .site-header__home .home-intro .home-intro__line--split {
    display: block;
  }

  .page-home .site-header__home .home-intro .home-intro__line {
    white-space: nowrap;
  }

  .page-home .site-header__home .home-about-fit {
    width: 100%;
    max-width: 100%;
    margin-top: 12px;
    overflow: visible;
  }

  .page-home .site-header__home .home-about {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    font-size: var(--font-ui) !important;
    line-height: var(--font-ui-lh) !important;
    letter-spacing: var(--font-ui-tracking);
    font-weight: 300;
    transform: none !important;
  }

  .page-home .site-header__home .home-intro {
    font-size: min(30px, calc((100vw - 40px) / 12.5)) !important;
    line-height: 1.28 !important;
  }

  .page-home .site-header__home .home-about .home-about__line {
    display: block;
    white-space: nowrap;
    font-size: inherit;
    line-height: inherit;
    max-width: 100%;
  }

  /* один стиль UI-текста: описание, бейджи, футер */
  .home-badge p,
  .page-home .site-footer,
  .page-home .site-footer a,
  .page-home .site-footer p,
  .page-home .site-header__home .home-about,
  .home-mobile-download__size,
  .home-btn,
  .lang-switch .lang-switch__btn {
    font-family: var(--font-body) !important;
    font-size: var(--font-ui) !important;
    line-height: var(--font-ui-lh) !important;
    letter-spacing: var(--font-ui-tracking);
    font-weight: 300;
  }
}

.home-btn-wrap {
  position: relative;
}

.home-btn-wrap--dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 20px;
}

.home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  border: 1px solid var(--border);
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: #fff;
  color: #000;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: 1.2;
  letter-spacing: var(--font-ui-tracking);
  text-decoration: none;
  padding: 10px 18px;
  box-sizing: border-box;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.home-btn--download {
  gap: 0;
}

.home-btn--download .home-btn__down,
.home-btn--download .home-btn__pdf,
.home-btn--download .home-btn__size {
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  margin-right: 0;
  color: var(--menu-accent);
  transform: translateX(-4px);
  transition: max-width 0.28s ease, opacity 0.28s ease, margin-right 0.28s ease, transform 0.28s ease;
}

.home-btn--download .home-btn__size {
  color: var(--menu-sub-color);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.home-btn--download:hover .home-btn__down {
  max-width: 1em;
  opacity: 1;
  margin-right: 6px;
  transform: translateX(0);
}

.home-btn--download:hover .home-btn__pdf {
  max-width: 2.5em;
  opacity: 1;
  margin-right: 4px;
  transform: translateX(0);
}

.home-btn--download:hover .home-btn__size {
  max-width: 4em;
  opacity: 1;
  margin-right: 8px;
  transform: translateX(0);
}

.home-btn--dark {
  background: #000;
  color: #fff;
  border-color: #000;
}

.home-btn--accent,
.eg-btn--accent {
  background: var(--menu-accent);
  color: #fff;
  border-color: var(--menu-accent);
}

.home-btn--plain {
  border-color: transparent;
  background: transparent;
}

.home-btn--plain:hover {
  border-color: transparent;
  background: transparent;
  color: var(--menu-accent);
}

/* Header contact CTA (outline): hover → no border, underline text */
.site-header .home-actions .home-btn-wrap--dropdown:hover:not(.is-collapsed) > .home-btn:not(.home-btn--dark),
.site-header .home-actions .home-btn-wrap--dropdown:focus-within:not(.is-collapsed) > .home-btn:not(.home-btn--dark),
.site-header .home-actions .home-btn-wrap--dropdown.is-open > .home-btn:not(.home-btn--dark),
.home-mobile-header-actions .home-btn-wrap--mobile:not(.is-open) > .home-btn:hover,
.home-mobile-header-actions .home-btn-wrap--mobile:not(.is-open) > .home-btn:focus-visible {
  border-color: transparent;
  background: #fff;
  color: #000;
}

.site-header .home-actions .home-btn-wrap--dropdown:hover:not(.is-collapsed) > .home-btn:not(.home-btn--dark) .home-btn__text,
.site-header .home-actions .home-btn-wrap--dropdown:focus-within:not(.is-collapsed) > .home-btn:not(.home-btn--dark) .home-btn__text,
.site-header .home-actions .home-btn-wrap--dropdown.is-open > .home-btn:not(.home-btn--dark) .home-btn__text,
.home-mobile-header-actions .home-btn-wrap--mobile:not(.is-open) > .home-btn:hover .home-btn__text,
.home-mobile-header-actions .home-btn-wrap--mobile:not(.is-open) > .home-btn:focus-visible .home-btn__text {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.home-btn--dropdown.home-btn--plain {
  padding-left: 18px;
  padding-right: 18px;
}

.home-btn--dark:hover,
.home-btn-wrap--dropdown:hover:not(.is-collapsed) > .home-btn--dark,
.home-btn-wrap--dropdown:focus-within:not(.is-collapsed) > .home-btn--dark,
.home-btn-wrap--dropdown.is-open > .home-btn--dark {
  background: var(--menu-accent);
  color: #fff;
  border-color: var(--menu-accent);
}

.home-btn__arrow {
  display: inline-block;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  margin-right: 0;
  transform: translateX(-4px);
  transition: max-width 0.28s ease, opacity 0.28s ease, margin-right 0.28s ease, transform 0.28s ease;
}

.home-btn--dropdown:hover .home-btn__arrow {
  max-width: 1em;
  opacity: 1;
  margin-right: 8px;
  transform: translateX(0);
}

.home-level__nav .home-btn:hover .home-btn__arrow,
.home-level__nav .home-btn:focus-visible .home-btn__arrow,
.page-expert .expert-about__nav .home-btn:hover .home-btn__arrow,
.page-expert .expert-about__nav .home-btn:focus-visible .home-btn__arrow {
  max-width: 1em;
  opacity: 1;
  margin-right: 8px;
  transform: translateX(0);
}

.home-level__nav .home-btn,
.page-expert .expert-about__nav .home-btn {
  justify-content: flex-start;
}

.home-btn-dropdown {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: calc(100% + 20px);
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  z-index: 30;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
}

.home-btn-dropdown::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -240px;
  right: 0;
  bottom: 0;
}

.home-btn-wrap--dropdown:hover:not(.is-collapsed) .home-btn-dropdown,
.home-btn-wrap--dropdown:focus-within:not(.is-collapsed) .home-btn-dropdown,
.home-btn-wrap--dropdown.is-open .home-btn-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.home-btn--dropdown {
  position: relative;
  width: auto;
  justify-content: flex-start;
  box-sizing: border-box;
}

.home-btn--dropdown::before {
  content: "";
  position: absolute;
  top: -4px;
  right: 100%;
  bottom: -4px;
  width: 240px;
}

.home-btn-dropdown .home-btn--dropdown .home-btn__arrow {
  max-width: 0;
  opacity: 0;
}

.home-btn-dropdown .home-btn--dropdown:hover .home-btn__arrow {
  max-width: 1em;
  opacity: 1;
  margin-right: 8px;
}

.page-home main {
  padding-top: 0 !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.home-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.home-bottom {
  margin-top: 0;
  padding: 24px 0 32px !important;
  background: #fff;
  border: none;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.page-home .site-footer {
  background: #fff;
  flex-shrink: 0;
  margin-top: 0;
}

.page-home .site-footer .vdg5k0 {
  border-top-color: var(--border);
}

.home-bottom__grid {
  align-items: end;
}

.home-badge {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 18px;
  min-width: 0;
}

.home-badge__icon {
  flex-shrink: 0;
  width: 17.6px;
  height: 32px;
  object-fit: contain;
  object-position: left bottom;
  display: block;
}

.home-badge p {
  margin: 0;
  padding-top: 0;
  transform: translateY(5px);
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
  flex: 1 1 auto;
  min-width: 0;
  /* широкий экран — одна строка; мобилка — см. ≤719 */
  max-width: none;
  white-space: nowrap;
}

.home-badge:nth-child(4) p br {
  display: none;
}

.home-badge:nth-child(1) p br,
.home-badge:nth-child(3) p br {
  display: none;
}

/* Wide: one line. Adaptive bands below turn these on. */
.home-badge:nth-child(2) p br {
  display: none;
}

  /*
  Адаптив бейджей (понятная лестница):
  1) широко — 4 кол., 1 строка
  2) ~1439–961 — 4 кол., 2 строки у всех сразу
  3) ~960–720 — 4 кол., 3 строки (в т.ч. 4-й бейдж)
  4) ≤719 — 4 равные строки: иконка + текст в одну линию без переноса
  */
@media screen and (max-width: 719px) {
  .home-bottom__grid,
  .page-home .home-bottom__grid {
    align-items: stretch;
    grid-template-columns: 1fr !important;
    row-gap: 18px;
  }

  .home-bottom__grid .home-badge {
    grid-column: auto;
    align-items: flex-end;
    gap: 12px;
    min-height: 0;
  }

  .home-badge__icon {
    width: 14px;
    height: 26px;
  }

  .home-badge p {
    white-space: nowrap !important;
    max-width: none;
    letter-spacing: 0;
    transform: translateY(5px);
    flex: 0 1 auto;
  }

  .home-badge p br,
  .home-badge:nth-child(1) p br,
  .home-badge:nth-child(2) p br,
  .home-badge:nth-child(3) p br,
  .home-badge:nth-child(4) p br {
    display: none !important;
  }
}

@media screen and (max-width: 1439px) and (min-width: 961px) {
  .home-badge p {
    white-space: normal;
    max-width: min(100%, 11.5em);
  }
  /* Latin shorter than RU — tighten so badge #1 joins the 2-line ladder */
  html[lang="en"] .home-badge p {
    max-width: min(100%, 9em);
  }
  html[lang="de"] .home-badge p {
    max-width: min(100%, 10.5em);
  }

  .home-badge:nth-child(4) p br {
    display: block;
  }
}

@media screen and (max-width: 960px) and (min-width: 720px) {
  .home-badge p {
    white-space: normal;
    max-width: min(100%, 7.4em);
  }

  /* Жёсткие 3 строки: Топ 100 / стратегов / Brand Hub */
  .home-badge:nth-child(2) p {
    max-width: none;
    white-space: normal;
  }

  .home-badge:nth-child(2) p br {
    display: block !important;
  }

  html[lang="en"] .home-badge p {
    max-width: min(100%, 5em);
  }

  .home-badge:nth-child(4) p br {
    display: block;
  }
}

@media screen and (min-width: 720px) {
  :root {
    /*
      Fit header + slider (incl. stagger) + badges into one viewport.
      Reserve ~header/badges/paddings, then scale slide height.
    */
    --home-first-screen-chrome: clamp(290px, 32vh, 370px);
    /* 765 ≈ slide+stagger + safety; on tall screens still allows full 582 */
    --home-slide-h: min(
      582px,
      max(280px, calc((100dvh - var(--home-first-screen-chrome)) * 582 / 765))
    );
    --home-slide-stagger: calc(var(--home-slide-h) * 160 / 582);
    --home-slide-portrait-w: calc(var(--home-slide-h) * 438 / 582);
    --home-slide-landscape-w: calc(var(--home-slide-h) * 1040 / 582);
    --home-hero-pad-top: clamp(16px, 4.2vh, 100px);
    --home-slider-tallest: var(--home-slide-h);
    --home-slide-base-width: var(--home-slide-portrait-w);
  }

  .home-viewport {
    min-height: 100dvh;
    flex: 0 0 auto;
  }

  .page-home {
    min-height: auto;
  }

  .page-home .home-main {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
  }

  .page-home .home-hero {
    flex: 0 0 auto;
    min-height: 0;
    max-height: none;
    height: auto;
    overflow-x: hidden;
    overflow-y: visible;
    padding-top: var(--home-hero-pad-top);
    padding-bottom: clamp(8px, 1vw, 16px);
  }

  .page-home .home-marquee {
    transform: none;
    overflow-x: hidden;
    overflow-y: visible;
  }

  .home-marquee__track {
    min-height: var(--home-slide-h);
    padding-bottom: 8px;
  }

  .page-home .home-slide.size-portrait {
    width: var(--home-slide-portrait-w);
    max-width: var(--home-slide-portrait-w);
  }

  .page-home .home-slide.size-landscape {
    width: var(--home-slide-landscape-w);
    max-width: var(--home-slide-landscape-w);
  }

  .page-home .home-slide__media,
  .page-home .home-slide.size-landscape .home-slide__media {
    height: var(--home-slide-h);
    max-height: var(--home-slide-h);
  }

  .page-home .home-slide.pos-low .home-slide__media {
    transform: translateY(0);
  }

  .page-home .site-header.site-header--home {
    --home-header-pad-top: clamp(12px, 2vh, 24px);
    padding-top: var(--home-header-pad-top);
  }

  .page-home .site-header__home .home-intro {
    margin-top: clamp(16px, 3.2vh, 40px);
    font-size: clamp(28px, 2.4vw + 1vh, var(--font-intro)) !important;
    line-height: 1.32 !important;
  }

  .page-home .site-header__home .home-about-fit {
    align-self: end;
    margin-top: clamp(16px, 3.2vh, 40px);
    /* +3px raise vs live bottom-align (desktop only) */
    transform: translateY(-3px);
  }

  .home-bottom {
    margin-top: auto;
    padding: clamp(8px, 1.2vh, 18px) 0 clamp(10px, 1.5vh, 18px) !important;
  }

}

/* Shorter laptop screens (13–14"): shrink slider harder so badges stay on first screen */
@media screen and (min-width: 720px) and (max-height: 1000px) {
  :root {
    --home-first-screen-chrome: clamp(300px, 34vh, 390px);
    --home-slide-h: min(
      582px,
      max(280px, calc((100dvh - var(--home-first-screen-chrome)) * 582 / 790))
    );
  }
}

.page-home footer:not(.home-bottom):not(.site-footer) {
  display: none;
}

/* Главная: лого по центру, H1 44px шрифт Eglit в одну строку, слайдер резиновый */
body.page-home .site-header__home .home-intro {
  font-family: var(--font-display);
  font-weight: 400 !important;
  white-space: nowrap;
}

body.page-home .home-intro [data-highlight-char] {
  display: inline-block;
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .home-intro [data-highlight-char] {
    transition: none !important;
    text-shadow: none !important;
  }
}

@media screen and (min-width: 720px) {
  body.page-home {
    --font-intro: 44px;
    --home-first-screen-chrome: clamp(360px, 42vh, 500px);
    --home-hero-pad-top: 0;
    --home-slide-h: min(
      582px,
      max(220px, calc((100dvh - var(--home-first-screen-chrome)) * 582 / 765))
    );
    --home-slide-stagger: calc(var(--home-slide-h) * 160 / 582);
    --home-slide-portrait-w: calc(var(--home-slide-h) * 438 / 582);
    --home-slide-landscape-w: calc(var(--home-slide-h) * 1040 / 582);
    --home-slider-tallest: var(--home-slide-h);
    --home-slide-base-width: var(--home-slide-portrait-w);
  }

  body.page-home .site-header.site-header--home {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  body.page-home .home-logo-lockup {
    /* centered via body.page-home:not(.page-expert) rule */
    top: calc(var(--home-header-pad-top, 24px) + 3px);
  }

  body.page-home .site-header__home {
    flex: 1 1 auto;
    min-height: 0;
    grid-template-rows: auto 1fr;
  }

  body.page-home .home-copy {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: 0;
    text-align: center;
    gap: var(--home-copy-gap, 36px);
  }

  body.page-home .site-header__home .home-intro {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    align-self: center;
    text-align: center;
    width: max-content;
    max-width: 100%;
    margin: 0;
    font-family: var(--font-display);
    font-weight: 400 !important;
    font-size: 44px !important;
    line-height: 1.1 !important;
    letter-spacing: 0;
    white-space: nowrap;
  }

  body.page-home .site-header__home .home-about-fit {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    align-self: center;
    text-align: center;
    margin: 0;
    transform: none;
    max-width: 100%;
  }

  body.page-home .site-header__home .home-about {
    width: max-content;
    max-width: 100%;
    text-align: center;
    transform: none !important;
  }

  body.page-home .home-main {
    margin-top: 0;
    flex: 0 0 auto;
  }

  body.page-home .home-hero {
    padding-bottom: 0;
  }

  body.page-home .home-marquee__track {
    padding-bottom: 0;
  }

  body.page-home .home-bottom {
    margin-top: 60px;
    padding-top: 0 !important;
  }
}

@media screen and (min-width: 720px) and (max-height: 1000px) {
  body.page-home {
    --home-first-screen-chrome: clamp(360px, 44vh, 520px);
    --home-slide-h: min(
      582px,
      max(200px, calc((100dvh - var(--home-first-screen-chrome)) * 582 / 790))
    );
  }
}

@media screen and (max-width: 719px) {
  body.page-home {
    --home-mobile-headline-y: 0px;
    --home-mobile-header-chrome: 0px;
  }

  body.page-home:not(.page-expert-share-detail) {
    /*
      Hero headline ~1/3 down the viewport on mobile (upper 2/3 zone).
      Chrome = header pad + logo row + legacy gap before copy.
      Use vh+dvh literals (not only custom props): Safari/Telegram can drop
      padding when dvh inside var() fails to substitute in calc().
    */
    --home-mobile-header-chrome: calc(var(--home-header-pad-top, 24px) + var(--logo-height) + 20px);
    --home-mobile-headline-y: 33.33vh;
    --home-mobile-headline-y-dvh: 33.33dvh;
  }

  body.page-home .home-btn-wrap--header-download {
    display: none !important;
  }

  body.page-home:not(.page-expert) .home-nav {
    position: absolute;
    top: var(--home-header-pad-top, 24px);
    left: var(--page-gutter);
    right: auto;
    grid-column: auto;
    grid-row: auto;
    justify-self: auto;
    align-self: auto;
    display: flex;
    align-items: center;
    height: var(--logo-height, 35px);
    max-width: calc(50% - 40px);
    min-width: 0;
    z-index: 32;
  }

  body.page-home:not(.page-expert) .home-nav__dropdown {
    display: block !important;
    position: relative;
    width: max-content;
    max-width: 100%;
  }

  body.page-home:not(.page-expert) .home-nav__dropdown > .home-btn {
    width: max-content !important;
    min-width: 0 !important;
    justify-content: center;
    white-space: nowrap;
  }

  body.page-home:not(.page-expert) .home-nav .home-btn-dropdown {
    position: absolute !important;
    top: calc(100% + 8px);
    left: 0;
    right: auto;
    margin-top: 0 !important;
    align-items: flex-start;
    gap: 8px;
  }

  body.page-home:not(.page-expert) .home-nav .home-btn-dropdown::before {
    left: 0;
    right: -240px;
  }

  body.page-home:not(.page-expert) .site-header .home-nav__dropdown:hover:not(.is-collapsed) > .home-btn,
  body.page-home:not(.page-expert) .site-header .home-nav__dropdown:focus-within:not(.is-collapsed) > .home-btn,
  body.page-home:not(.page-expert) .site-header .home-nav__dropdown.is-open > .home-btn {
    border-color: transparent;
    background: #fff;
    color: #000;
  }

  body.page-home:not(.page-expert) .site-header .home-nav__dropdown:hover:not(.is-collapsed) > .home-btn .home-btn__text,
  body.page-home:not(.page-expert) .site-header .home-nav__dropdown:focus-within:not(.is-collapsed) > .home-btn .home-btn__text,
  body.page-home:not(.page-expert) .site-header .home-nav__dropdown.is-open > .home-btn .home-btn__text {
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }

  body.page-home:not(.page-expert) .home-nav__menu-download {
    display: none;
  }

  body.page-home:not(.page-expert) .home-nav .home-btn--dropdown {
    align-self: flex-start;
  }

  body.page-home:not(.page-expert) #programs,
  body.page-home:not(.page-expert) #reputation,
  body.page-home:not(.page-expert) #watch {
    scroll-margin-top: calc(var(--home-header-pad-top, 24px) + var(--logo-height, 35px) + 16px);
  }

  body.page-home .home-copy {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--home-copy-gap, 36px);
    /* Min clearance under absolute logo/buttons; then ~1/3 viewport when units resolve */
    padding-top: max(
      calc(var(--logo-height, 35px) + 28px + env(safe-area-inset-top, 0px)),
      calc(var(--home-mobile-headline-y, 33.33vh) - var(--home-mobile-header-chrome)),
      calc(var(--home-mobile-headline-y-dvh, 33.33dvh) - var(--home-mobile-header-chrome))
    );
    padding-bottom: var(--home-mobile-copy-slider-gap);
    box-sizing: border-box;
  }

  /* Video/share cards: chrome reserved on header — zero extra copy pad */
  body.page-expert-share-detail .home-copy,
  body.page-expert-share-detail .expert-share-detail__stage .home-copy {
    padding-top: 0;
    padding-bottom: 0;
  }

  body.page-home .site-header__home .home-intro {
    grid-column: 1 / -1;
    justify-self: center;
    align-self: center;
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    font-family: var(--font-display);
    font-weight: 400 !important;
    font-size: clamp(22px, 7.2vw, 44px) !important;
    line-height: 1.1 !important;
    letter-spacing: 0;
    white-space: nowrap;
  }

  body.page-home .home-break--mobile {
    display: revert;
  }

  body.page-home .site-header__home .home-about-fit {
    grid-column: 1 / -1;
    justify-self: center;
    text-align: center;
    margin-top: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    align-self: center;
  }

  body.page-home .site-header__home .home-about {
    width: auto;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    transform: none !important;
  }

  body.page-home .home-about__desktop {
    display: none;
  }

  body.page-home .home-about__mobile {
    display: block;
  }

  body.page-home .site-header__home .home-about .home-about__line {
    white-space: nowrap;
    max-width: 100%;
  }

  body.page-home .home-bottom {
    margin-top: 20px;
    padding-top: 0 !important;
  }

  body.page-home:not(.page-expert) .home-mobile-download {
    display: none !important;
  }
}

@media screen and (max-width: 719px) {
  .page-home .home-bottom__grid {
    grid-template-columns: 1fr !important;
    row-gap: 18px;
    align-items: stretch;
  }

  .home-bottom__grid .home-badge {
    grid-column: auto;
  }
}

@media screen and (max-width: 719px) {
  .page-home .home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-home .site-header__menu-btn {
    display: none !important;
  }

  .home-mobile-header-actions {
    display: block;
    position: absolute;
    top: var(--home-header-pad-top, 24px);
    right: var(--page-gutter);
    z-index: 31;
  }

  /* logo centered like speaker page */
  .page-home .site-header__home .home-logo-lockup {
    align-items: center;
    gap: 0;
    max-width: calc(100vw - var(--page-gutter) * 2 - 240px);
    padding: 0;
    box-sizing: border-box;
  }

  .page-home .site-header__home .home-header__logo .site-logo__img {
    transform: translateY(4px);
  }

  .page-home .site-header__home .home-est {
    font-size: 13px;
    flex: 0 1 auto;
    min-width: 0;
    transform: translateY(calc(var(--logo-height) * -0.12));
  }

  .page-home .site-header__home .home-brand-tag {
    display: none;
  }

  .home-mobile-header-actions .home-btn-wrap--mobile > .home-btn {
    width: max-content !important;
    min-width: 0 !important;
    justify-content: center;
  }

  .home-mobile-header-actions .home-btn-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    align-items: flex-end;
    min-width: 0;
  }

  .home-mobile-header-actions .home-btn-wrap--mobile.is-open > .home-btn {
    background: var(--menu-accent);
    border-color: var(--menu-accent);
    color: #fff;
  }

  .home-mobile-header-actions .home-btn-wrap--mobile.is-open .home-btn-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .page-home .site-menu--mobile.site-menu--disabled {
    display: none !important;
    pointer-events: none;
  }

  .home-mobile-download {
    display: none !important;
  }

  .home-mobile-download__grid {
    align-items: center;
    justify-items: start;
  }

  .home-mobile-download__row {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 100%;
  }

  .home-mobile-download .home-btn--download {
    width: auto;
    max-width: 100%;
    flex: 0 1 auto;
    align-self: center;
    justify-self: start;
    background: var(--menu-accent);
    color: #fff;
    border-color: var(--menu-accent);
  }

  .home-mobile-download .home-btn--download .home-btn__down,
  .home-mobile-download .home-btn--download .home-btn__pdf,
  .home-mobile-download .home-btn--download .home-btn__size {
    display: none;
  }

  .home-mobile-download__size {
    flex: 0 0 auto;
    color: var(--menu-sub-color);
    font-family: var(--font-body);
    font-size: var(--font-ui);
    line-height: var(--font-ui-lh);
    letter-spacing: var(--font-ui-tracking);
    white-space: nowrap;
  }

  .home-btn--download-icons .home-btn__down,
  .home-btn--download-icons .home-btn__pdf,
  .home-btn--download-icons .home-btn__size {
    display: none;
  }

  .page-home .site-menu--mobile {
    position: fixed;
    inset: 0;
    z-index: 20;
    pointer-events: none;
    padding: 0;
    margin: 0;
    text-transform: none;
  }

  .page-home .site-header.menu-open .site-menu--mobile {
    pointer-events: auto;
  }

  .page-home .site-header.menu-open {
    background: #fff;
  }

  .page-home .site-header.menu-open .home-intro,
  .page-home .site-header.menu-open .home-about-fit,
  .page-home .site-header.menu-open .home-about,
  .page-home .site-header.menu-open .home-est,
  .page-home .site-header.menu-open .home-brand-tag,
  .page-home .site-header.menu-open .home-actions {
    display: none !important;
  }

  .page-home .site-header.menu-open .home-header__logo,
  .page-home .site-header.menu-open .site-header__menu-btn {
    position: relative;
    z-index: var(--eg-header-logo-z);
    background: #fff;
  }

  .page-home .site-header.menu-open .site-header__home {
    min-height: 0;
  }

  .page-home .site-menu--mobile .site-menu__panel {
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none !important;
    flex-direction: column;
    background: #fff;
    padding: calc(24px + 35px + 20px) var(--page-gutter) 32px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    z-index: var(--eg-overlay-z);
    min-width: 0;
  }

  .page-home .site-header.menu-open .site-menu--mobile .site-menu__panel {
    display: flex !important;
  }

  .mobile-menu {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    text-transform: none;
  }

  .mobile-menu__photo {
    display: block;
    width: 44.6vw;
    max-width: 245px;
    height: auto;
    border-radius: var(--eg-radius, 16px);
    margin: 0 0 24px;
  }

  .mobile-menu__intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    max-width: 100%;
  }

  .mobile-menu__intro p {
    margin: 0;
  }

  .mobile-menu__contact {
    width: 100%;
    margin-bottom: 40px;
  }

  .mobile-menu__contact.is-open .mobile-menu__cta {
    background: #000;
    border-color: #000;
    color: #fff;
  }

  .mobile-menu__links {
    display: flex;
    gap: 8px;
    width: 100%;
    margin-top: 8px;
  }

  .mobile-menu__links[hidden] {
    display: none;
  }

  .mobile-menu__link {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 6px;
    padding-right: 6px;
  }

  .mobile-menu__link:last-child {
    letter-spacing: -0.03em;
  }

  .mobile-menu__footer {
    width: 100%;
    margin-top: auto;
    padding-top: 0;
  }

  .mobile-menu__note {
    margin: 0 0 16px;
  }

  .mobile-menu__download {
    width: auto;
    align-self: flex-start;
    padding: 0;
  }

  body.page-home.menu-open {
    overflow: hidden;
  }

  .home-about-fit {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-top: 12px;
  }

  .home-intro {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-top: 20px;
  }

  .home-actions {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    display: none;
  }

  .page-home .home-hero {
    max-height: none;
    height: auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: visible;
  }

  .home-marquee__track {
    min-height: calc(582px + 160px);
    padding-bottom: 8px;
  }
}

@media screen and (max-width: 640px) {
  .page-home .home-grid {
    grid-template-columns: 1fr !important;
  }

  .page-home .home-bottom__grid {
    grid-template-columns: 1fr !important;
    row-gap: 18px;
    align-items: stretch;
  }

  .home-bottom__grid .home-badge {
    grid-column: auto;
  }

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

  .home-btn-wrap > .home-btn--download,
  .home-btn-wrap > .home-btn--dark {
    width: 100%;
  }

  .home-btn-dropdown {
    position: static;
    margin-top: 8px;
    align-items: stretch;
  }

  .home-btn--dropdown {
    width: auto;
    align-self: flex-end;
  }

  .home-btn-wrap--dropdown.is-open .home-btn-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

.page-home main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home-hero {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: visible;
  display: flex;
  align-items: flex-start;
  background: #fff;
  padding-top: var(--home-hero-pad-top);
  padding-bottom: clamp(12px, 1.5vw, 24px);
  box-sizing: border-box;
}

.page-home .home-hero {
  overflow-x: hidden;
  overflow-y: visible;
  padding-top: var(--home-hero-pad-top);
  padding-bottom: clamp(8px, 1vw, 16px);
}

.home-marquee {
  /* Keep slide order/scroll identical in RTL locales (html[dir=rtl]). */
  direction: ltr;
  unicode-bidi: isolate;
  width: 100%;
  box-sizing: border-box;
  /* Align first card with page content / H1 gutter; full-bleed main has no side pad. */
  padding-left: var(--page-gutter);
  overflow-x: hidden;
  overflow-y: visible;
  cursor: grab;
  /* Allow vertical page scroll; JS takes over only after horizontal lock. */
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.home-marquee.is-dragging {
  cursor: grabbing;
}

.home-marquee__slider {
  display: flex;
  width: max-content;
  will-change: transform;
  transition: none;
}

.home-marquee__track {
  display: flex;
  align-items: flex-start;
  gap: 16px !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  padding-right: 16px;
  flex-shrink: 0;
  min-height: var(--home-slide-h);
  padding-bottom: 8px;
}

.home-slide {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-shrink: 0;
  min-width: 0;
  overflow: visible;
  align-self: flex-start;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}

.page-home .home-slide.size-portrait {
  width: var(--home-slide-portrait-w);
  max-width: var(--home-slide-portrait-w);
}

.page-home .home-slide.size-landscape {
  width: var(--home-slide-landscape-w);
  max-width: var(--home-slide-landscape-w);
}

.page-home .home-slide__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: transparent;
  width: 100%;
  height: var(--home-slide-h);
  max-height: var(--home-slide-h);
  box-sizing: border-box;
  flex-shrink: 0;
  border: 0;
  outline: none;
  box-shadow: none;
}

.page-home .home-slide.size-landscape .home-slide__media {
  width: 100%;
  height: var(--home-slide-h);
  max-height: var(--home-slide-h);
}

.home-slide__media img,
.home-slide__media video {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  border: 0;
  outline: none;
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
}

/* Award badge — under slide card, 24px below rounded image */
.home-slide > .home-slide__award {
  position: static;
  z-index: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(0.4em + 2px);
  width: 100%;
  height: auto;
  margin: 24px 0 0;
  padding: 0;
  transform: none;
  pointer-events: none;
  color: #000;
  font-family: var(--font-body);
  font-size: clamp(11px, 2.75vw, 13px);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  direction: ltr;
  border-radius: 0;
  corner-shape: initial;
  flex-shrink: 0;
  box-sizing: border-box;
}

.home-slide > .home-slide__award .home-slide__award-text {
  display: block;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  transform: translateY(-1px);
}

.home-slide > .home-slide__award img.home-slide__award-laurel {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 23px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  corner-shape: initial;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

.home-slide > .home-slide__award img.home-slide__award-laurel--flip {
  transform: scaleX(-1);
}

/* Poster <img> stays visible until video is actually playing (avoids black flash). */
.home-slide__media--video .home-slide__poster {
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: opacity 0.35s ease;
}

.home-slide__media--video.is-playing .home-slide__poster {
  opacity: 0;
  pointer-events: none;
}

.home-slide__media--video video {
  position: relative;
  z-index: 0;
  background: transparent;
}

.home-slide.pos-high .home-slide__media,
.home-slide.pos-low .home-slide__media {
  transform: translateY(0);
}

/* Narrow desktop windows: also cap by width so cards don't overflow */
@media screen and (max-width: 1320px) and (min-width: 720px) {
  :root {
    --home-slide-h: min(
      582px,
      max(280px, calc((100dvh - var(--home-first-screen-chrome)) * 582 / 765)),
      calc(44.09vw)
    );
  }
}

@media screen and (max-width: 719px) {
  .page-home .home-hero {
    padding-top: 0;
  }

  .page-home .home-slide.size-portrait {
    width: clamp(180px, 62vw, 320px);
    max-width: 320px;
  }

  .page-home .home-slide.size-landscape {
    width: clamp(320px, 88vw, 720px);
    max-width: 720px;
  }

  .page-home .home-slide__media {
    width: 100%;
    max-width: none;
    height: clamp(239px, 82.4vw, 425px);
    max-height: 425px;
  }

  .page-home .home-slide.size-landscape .home-slide__media {
    width: 100%;
    max-width: none;
    height: clamp(179px, 49.3vw, 403px);
    max-height: 403px;
  }

  .home-marquee__track {
    gap: 16px;
    padding-right: 16px;
    min-height: clamp(239px, 82.4vw, 425px);
  }

  .page-home .home-slide.pos-low .home-slide__media {
    transform: translateY(0);
  }
}

video {
  display: block;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor a,
  html.has-custom-cursor button {
    cursor: none !important;
  }

  html.has-custom-cursor .home-marquee {
    cursor: grab !important;
  }

  html.has-custom-cursor .home-marquee.is-dragging {
    cursor: grabbing !important;
  }

  /* Over iframe embeds (Go, video): restore system cursor, hide frozen brand cursor */
  html.has-custom-cursor.is-over-embed,
  html.has-custom-cursor.is-over-embed body,
  html.has-custom-cursor.is-over-embed a,
  html.has-custom-cursor.is-over-embed button,
  html.has-custom-cursor.is-over-embed iframe,
  html.has-custom-cursor .home-go__frame {
    cursor: auto !important;
  }

  html.has-custom-cursor.is-over-embed .custom-cursor {
    opacity: 0 !important;
    visibility: hidden;
  }

  /* CSS fallback: iframe :hover is reliable even when parent mousemove stops */
  html.has-custom-cursor:has(iframe:hover) .custom-cursor,
  html.has-custom-cursor:has(.home-go__game:hover) .custom-cursor {
    opacity: 0 !important;
    visibility: hidden;
  }

  html.has-custom-cursor:has(iframe:hover),
  html.has-custom-cursor:has(iframe:hover) body,
  html.has-custom-cursor:has(iframe:hover) a,
  html.has-custom-cursor:has(iframe:hover) button,
  html.has-custom-cursor:has(.home-go__game:hover),
  html.has-custom-cursor:has(.home-go__game:hover) body {
    cursor: auto !important;
  }
}

.click-spark-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
}

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  /* не зависит от RTL на арабской версии: точка слева, координаты справа */
  direction: ltr;
  text-align: left;
  pointer-events: none;
  color: var(--cursor-color);
  font-family: var(--font-body);
  font-size: 8pt;
  line-height: 1.1;
  letter-spacing: -0.01em;
  transform: translate3d(var(--cursor-x, -100px), var(--cursor-y, -100px), 0);
  will-change: transform;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.custom-cursor.is-visible {
  opacity: 1;
}

.custom-cursor__dot {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.custom-cursor__coords {
  display: block;
  margin-top: 4px;
  margin-left: 11px;
}

.custom-cursor__line {
  display: block;
}

.site-menu {
  position: relative;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
  text-transform: lowercase;
  padding: 12px 24px 12px 8px;
  margin: -12px 0 -12px -8px;
}

.site-menu__label {
  display: block;
  user-select: none;
  cursor: pointer;
  font-size: var(--font-menu-label);
  line-height: 1.1;
}

.site-menu__panel {
  display: none;
  flex-direction: column;
  position: absolute;
  top: calc(100% - 10px);
  left: 0;
  min-width: 220px;
  z-index: 20;
  background: #fff;
  padding: 18px 24px 10px 8px;
}

.site-menu:not(.site-menu--mobile):hover .site-menu__panel,
.site-menu:not(.site-menu--mobile).is-open .site-menu__panel {
  display: flex;
}

.site-menu:hover .site-menu__label,
.site-menu.is-open .site-menu__label {
  color: var(--menu-accent);
}

.site-menu__section {
  display: flex;
  flex-direction: column;
}

.site-menu__item {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  color: inherit;
  text-align: left;
  cursor: pointer;
  text-transform: lowercase;
}

.site-menu__item:hover,
.site-menu__section.is-open > .site-menu__item {
  color: var(--menu-accent);
}

.site-menu__sub {
  list-style: none;
  margin: 0;
  padding: 0 0 6px;
  display: none;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  color: var(--menu-sub-color);
}

.site-menu__section.is-open .site-menu__sub {
  display: block;
}

.site-menu__sub li {
  margin: 0;
  padding: 0;
}

.site-menu__sub a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
}

.site-menu__sub a:hover {
  color: var(--menu-accent);
}

@media (hover: hover) and (pointer: fine) {
  html.has-custom-cursor .site-menu,
  html.has-custom-cursor .site-menu__item,
  html.has-custom-cursor .site-menu__sub a,
  html.has-custom-cursor .site-header__contact {
    cursor: none !important;
  }
}

/* Переключатель языков в футере — компактные кнопки, без растягивания */
.lang-switch {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  margin-top: 16px;
  box-sizing: border-box;
}

.lang-switch .lang-switch__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 2.75em;
  min-width: 40px;
  max-width: none;
  padding: 8px 0;
  border: 1px solid var(--border);
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: #fff;
  color: #000;
  font-family: var(--font-body);
  font-size: var(--font-ui);
  line-height: 1;
  letter-spacing: var(--font-ui-tracking);
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  transition: border-color 0.25s ease, color 0.25s ease;
}

.lang-switch .lang-switch__btn:hover,
.lang-switch .lang-switch__btn:focus-visible {
  border-color: #000;
  color: #000;
  text-decoration: none;
}

/* текущий язык в ряду не показываем — иначе 5 кнопок раздувают колонку на мобиле */
.lang-switch .lang-switch__btn--active {
  display: none;
}

.lang-switch .lang-switch__btn--soon {
  border-color: rgba(0, 0, 0, 0.12);
  color: var(--menu-sub-color);
  pointer-events: none;
}

@media screen and (max-width: 719px) {
  .lang-switch {
    gap: 5px;
    width: max-content;
    max-width: 100%;
  }

  .lang-switch .lang-switch__btn {
    width: 2.5em;
    min-width: 34px;
    padding: 7px 0;
    flex: 0 0 auto;
  }
}

@media screen and (max-width: 480px) {
  .lang-switch {
    gap: 4px;
  }

  .lang-switch .lang-switch__btn {
    width: 2.4em;
    min-width: 32px;
    padding: 7px 0;
  }
}

/* Арабская версия: RTL макет, переключатель языков остаётся LTR */
html[dir="rtl"] .lang-switch {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .home-btn--dropdown .home-btn__arrow {
  transform: scaleX(-1);
}

html[dir="rtl"] .home-level__nav .home-btn__arrow,
html[dir="rtl"] .page-expert .expert-about__nav .home-btn__arrow {
  transform: scaleX(-1) translateX(4px);
}

html[dir="rtl"] .home-level__nav .home-btn:hover .home-btn__arrow,
html[dir="rtl"] .home-level__nav .home-btn:focus-visible .home-btn__arrow,
html[dir="rtl"] .page-expert .expert-about__nav .home-btn:hover .home-btn__arrow,
html[dir="rtl"] .page-expert .expert-about__nav .home-btn:focus-visible .home-btn__arrow {
  transform: scaleX(-1) translateX(0);
}

html[dir="rtl"] .home-about-fit,
html[dir="rtl"] .home-intro {
  transform-origin: right top;
}

html[dir="rtl"] .page-home .site-header__home .home-about {
  transform-origin: right top;
}

html[dir="rtl"] .home-mobile-header-actions {
  right: auto;
  left: var(--page-gutter);
}

html[dir="rtl"] .home-mobile-header-actions .home-btn-dropdown {
  right: auto;
  left: 0;
  align-items: flex-start;
}

/* На RTL экшен-кнопки слева: hit-area дропдауна не должна уходить за левый край (иначе горизонтальный скролл). */
html[dir="rtl"] .home-btn-dropdown::before {
  left: 0;
  right: -240px;
}

html[dir="rtl"] .page-home,
html[dir="rtl"] .home-viewport,
html[dir="rtl"] .site-header {
  overflow-x: hidden;
}

html[dir="rtl"] .privacy-page ul {
  padding-left: 0;
  padding-right: 1.2em;
}

/* German hyphenation for long compound words */
html[lang="de"] .expert-lecture__text,
html[lang="de"] .expert-lecture__lead,
html[lang="de"] .expert-lecture__set,
html[lang="de"] .expert-lecture__line,
html[lang="de"] .home-level__text,
html[lang="de"] .home-level__p,
html[lang="de"] .home-level__line,
html[lang="de"] .home-years__bullets li,
html[lang="de"] .home-years__line,
html[lang="de"] .home-about__line {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* ——— Homepage: second screen (level / founder) ——— */

.page-home:not(.page-expert) {
  --home-block-gap: 200px;
  --home-block-gap-half: 100px;
  /* Match speaker page block rhythm (expert.css sets 100px on .page-expert) */
  --expert-block-gap-half: 100px;
}

@media screen and (max-width: 719px) {
  .page-home:not(.page-expert) {
    --home-block-gap: 140px;
    --home-block-gap-half: 70px;
    --expert-block-gap-half: 70px;
    --home-copy-gap: 25px;
  }
}

.page-home .home-level {
  box-sizing: border-box;
  min-height: auto;
  margin-top: 0;
  /* Match speaker .expert-about: large top inset after first screen */
  padding: 332px 0 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  /* Match speaker --expert-about-photo-gap-x (40px), not UI kit --grid-gap (20px) */
  --home-level-photo-gap-x: 40px;
  --home-level-photo-gap-y: 40px;
  --home-level-mobile-head-gap: var(--home-copy-gap, 36px);
  --home-level-mobile-tight-gap: 20px;
  --home-level-mobile-text-buttons-gap: calc(40px * var(--home-logo-mobile-scale, 0.7));
}

.page-home .home-level__grid {
  width: 100%;
  align-items: stretch;
}

body.page-home .home-grid.home-level__grid {
  gap: var(--home-level-photo-gap-y) var(--home-level-photo-gap-x) !important;
}

.page-home .home-level__aside {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-self: start;
  max-width: 100%;
  min-width: 0;
}

.page-home .home-level__identity {
  max-width: 100%;
}

.page-home .home-level__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: 0;
  color: #000;
  white-space: nowrap;
}

.page-home .home-level__role {
  margin: 8px 0 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #8a8a8a;
}

.page-home .home-level__role-line {
  display: block;
  white-space: nowrap;
}

@media screen and (min-width: 720px) {
  .page-home .home-level__role-line {
    display: inline;
    white-space: normal;
  }

  .page-home .home-level__role-line::after {
    content: none;
  }
}

.page-home .home-level__nav {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.page-home .home-level__photo {
  grid-column: 2;
  width: min(342px, 100%);
  max-width: 342px;
  aspect-ratio: 438 / 582;
  justify-self: start;
  align-self: start;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  box-sizing: border-box;
}

.page-home .home-level__photo img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  background: #ececec;
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
}

.page-home .home-level__bio {
  grid-column: 3 / -1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.page-home .home-level__title {
  margin: 0 0 20px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: 0;
  color: #000;
  white-space: nowrap;
}

.page-home .home-level__text {
  display: flex;
  flex-direction: column;
  gap: 1.1em;
}

.page-home .home-level__p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

@media screen and (min-width: 1201px) {
  .page-home .home-level__line {
    display: block;
    white-space: nowrap;
  }
}

.page-home .home-level__cta {
  margin-top: auto;
  padding-top: 28px;
  width: max-content;
}

@media screen and (max-width: 1200px) {
  .page-home .home-level {
    min-height: auto;
    padding: clamp(120px, 22vh, 332px) 0 0;
    align-items: stretch;
    --home-level-photo-gap-x: clamp(20px, 3vw, 40px);
    --home-level-photo-gap-y: clamp(20px, 3vw, 40px);
  }

  .page-home .home-level__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    align-items: stretch;
  }

  .page-home .home-level__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
  }

  .page-home .home-level__bio {
    display: flex;
    flex-direction: column;
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    align-self: stretch;
  }

  .page-home .home-level__photo {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    max-width: min(342px, 100%);
    aspect-ratio: 438 / 582;
    justify-self: start;
    align-self: start;
  }

  .page-home .home-level__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .page-home .home-level__identity {
    align-self: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    text-align: left;
    min-width: 0;
    flex: 0 0 auto;
  }

  .page-home .home-level__nav {
    margin-top: auto;
    align-items: flex-start;
    width: 100%;
  }

  .page-home .home-level__name {
    font-family: var(--font-display);
    font-size: clamp(22px, 3.2vw, 40px);
    line-height: 1.15;
    white-space: nowrap;
  }

  .page-home .home-level__role {
    margin-top: 16px;
  }

  .page-home .home-level__title {
    white-space: normal;
  }

  .page-home .home-level__text {
    gap: 20px;
  }

  .page-home .home-level__line {
    display: block;
    white-space: nowrap;
  }

  .page-home .home-level__line::after {
    content: none;
  }

  .page-home .home-level__cta {
    margin-top: auto;
    padding-top: 28px;
  }
}

@media screen and (max-width: 719px) {
  .page-home .home-level {
    min-height: auto;
    margin-top: 0;
    padding: clamp(84px, 15.4vh, 232px) 0 0;
    align-items: stretch;
    --home-level-photo-gap-x: 16px;
    --home-level-photo-gap-y: 20px;
  }

  body.page-home .home-grid.home-level__grid {
    grid-template-columns: minmax(0, 1fr) auto auto auto minmax(0, 1fr) !important;
    gap: 0 10px !important;
    justify-items: stretch;
  }

  .page-home .home-level__role,
  .page-home .home-level__photo,
  .page-home .home-level__name,
  .page-home .home-level__text {
    grid-column: 1 / -1;
  }

  .page-home .home-level__bio {
    display: contents;
  }

  .page-home .home-level__aside,
  .page-home .home-level__identity {
    display: contents;
  }

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

  .page-home .home-level__role {
    grid-row: 1;
    margin: 0 0 var(--home-level-mobile-head-gap, var(--home-copy-gap, 36px));
    font-family: var(--font-body);
    font-weight: 300;
    font-size: var(--font-ui);
    line-height: var(--font-ui-lh);
    letter-spacing: var(--font-ui-tracking);
    color: #000;
    text-align: center;
    width: 100%;
    max-width: 100%;
  }

  .page-home .home-level__role-line {
    display: block;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    max-width: 100%;
  }

  .page-home .home-level__role-line::after {
    content: none;
  }

  .page-home .home-level__photo {
    grid-row: 2;
    justify-self: center;
    width: clamp(180px, 62vw, 320px);
    max-width: 320px;
    aspect-ratio: 438 / 582;
    margin: 0 0 var(--home-level-mobile-head-gap, var(--home-copy-gap, 36px));
  }

  .page-home .home-level__photo img {
    width: 100%;
    height: 100%;
    aspect-ratio: unset;
  }

  .page-home .home-level__name {
    grid-row: 3;
    justify-self: center;
    text-align: center;
    margin: 0 0 var(--home-level-mobile-tight-gap, 20px);
    font-size: 20px;
    line-height: 1.15;
    white-space: nowrap;
  }

  .page-home .home-level__text {
    grid-row: 4;
    text-align: center;
    align-items: center;
    margin: 0 0 var(--home-level-mobile-text-buttons-gap, 28px);
    gap: 16px;
  }

  .page-home .home-level__text,
  .page-home .home-level__p {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  .page-home .home-level__line {
    display: block;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    max-width: 100%;
  }

  .page-home .home-level__line::after {
    content: none;
  }

  .page-home .home-level__nav {
    display: contents;
  }

  .page-home .home-level__nav > .home-btn:first-child {
    grid-row: 5;
    grid-column: 2;
    justify-self: end;
  }

  .page-home .home-level__nav > .home-btn:last-child {
    grid-row: 5;
    grid-column: 4;
    justify-self: start;
  }

  .page-home .home-level__cta {
    display: contents;
    margin-top: 0;
    padding-top: 0;
    width: auto;
  }

  .page-home .home-level__cta > .home-btn--dark {
    grid-row: 5;
    grid-column: 3;
    justify-self: center;
    width: auto;
    margin: 0;
  }
}

/* ——— Homepage: client logos marquee (under map) ——— */

.page-home .home-level--temp-hidden {
  display: none !important;
}

.page-home .home-years--after {
  padding-top: clamp(48px, 7vh, 88px);
}

.page-home .home-years__map picture {
  display: block;
  width: 100%;
}

.page-home .home-logos {
  --home-logo-h: 200px;
  --home-logo-gap: 12px;
  --home-logo-pad: 12px;
  --home-logo-w: 310px;
  --home-logo-img-scale: calc(4 / 3);
  width: 100%;
  margin: 80px 0 var(--expert-block-gap-half, 100px);
  height: var(--home-logo-h);
  overflow: hidden;
}

.page-home .home-logos .home-marquee__slider {
  height: var(--home-logo-h);
  align-items: center;
}

.page-home .home-logos .home-marquee__track {
  align-items: center;
  gap: var(--home-logo-gap);
  min-height: 0 !important;
  height: var(--home-logo-h);
  padding-bottom: 0;
}

.page-home .home-logos__item {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: var(--home-logo-w);
  height: var(--home-logo-h);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--border, #d2d2d2);
  border-radius: var(--eg-radius, 16px);
  corner-shape: var(--eg-corner-shape);
  background: #fff;
}

.page-home .home-logos__item img {
  display: block;
  width: auto;
  height: auto;
  max-width: calc(100% - var(--home-logo-pad) * 2);
  max-height: calc(100% - var(--home-logo-pad) * 2);
  transform: scale(var(--home-logo-img-scale));
  transform-origin: center center;
  opacity: 0.35;
  pointer-events: none;
  user-select: none;
}

.page-home .home-logos__item--wide img {
  width: auto;
  height: calc(100% - var(--home-logo-pad) * 2);
  max-width: calc(100% - var(--home-logo-pad) * 2);
  max-height: none;
}

.page-home .home-logos__item--wide-sm img {
  height: calc((100% - var(--home-logo-pad) * 2) / 1.5);
  max-width: calc((100% - var(--home-logo-pad) * 2) / 1.5);
}

.page-home .home-logos__item--lg img {
  max-width: calc((100% - var(--home-logo-pad) * 2) * 1.3);
  max-height: calc((100% - var(--home-logo-pad) * 2) * 1.3);
}

@media screen and (max-width: 719px) {
  .page-home .home-logos,
  .page-expert .expert-logos {
    --home-logo-mobile-scale: 0.7;
    --home-logo-h: calc(200px * var(--home-logo-mobile-scale));
    --home-logo-w: calc(310px * var(--home-logo-mobile-scale));
    --home-logo-gap: calc(12px * var(--home-logo-mobile-scale));
    --home-logo-pad: calc(12px * var(--home-logo-mobile-scale));
  }

  .page-home .home-logos {
    --home-logo-img-scale: calc(4 / 3 * var(--home-logo-mobile-scale));
    margin: calc(48px * var(--home-logo-mobile-scale)) 0 var(--expert-block-gap-half, 100px);
  }

  .page-home .home-logos__item,
  .page-expert .expert-logos__item {
    border-radius: calc(var(--eg-radius, 16px) * var(--home-logo-mobile-scale));
  }
}

/* ——— Homepage: years / reputation / skills ——— */

.page-home .home-years {
  box-sizing: border-box;
  padding: var(--expert-block-gap-half, clamp(48px, 8vh, 100px)) 0;
  background: #fff;
}

.page-home .home-years__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--home-copy-gap, 36px);
  margin: 0 auto var(--home-copy-gap, 36px);
  padding: 0 var(--page-gutter);
  max-width: 100%;
}

.page-home .home-years__copy .home-intro {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400 !important;
  font-size: 44px !important;
  line-height: 1.1 !important;
  letter-spacing: 0;
  white-space: nowrap;
  color: #000;
}

.page-home .home-years__copy .home-about-fit {
  margin: 0;
  transform: none;
  align-self: center;
  max-width: 100%;
}

.page-home .home-years__copy .home-about {
  margin: 0;
  width: max-content;
  max-width: min(100%, 52em);
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

@media screen and (min-width: 720px) {
  .page-home .home-years__copy .home-about__line {
    display: block;
    white-space: nowrap;
  }
}

.page-home .home-years__map {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 80px 0 40px;
  padding: 0 var(--page-gutter);
}

.page-home .home-years__map-svg,
.page-home .home-years__map img,
.page-home .home-years__map object {
  display: block;
  width: 100%;
  height: auto;
}

.page-home .home-years__grid {
  align-items: start;
}

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

.page-home .home-years__col--reputation {
  grid-column: 1;
  max-width: 420px;
  width: 100%;
  min-width: 0;
}

.page-home .home-years__col--skills {
  grid-column: 3;
}

.page-home .home-years__col--experience {
  grid-column: 4;
}

.page-home .home-years__badge {
  display: block;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #000;
  white-space: nowrap;
  text-align: left;
}

.page-home .home-years__bullets {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.35em;
}

.page-home .home-years__rep-icons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 60px;
}

.page-home .home-years__rep-icons-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
}

.page-home .home-years__rep-icon {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex: 0 0 auto;
}

.page-home .home-years__rep-icon--wide {
  width: calc(96px * 0.85);
  height: calc(48px * 0.85);
  margin-left: 5px;
}

.page-home .home-years__bullets li {
  position: relative;
  margin: 0;
  padding-left: 1.05em;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

.page-home .home-years__bullets li::before {
  content: "∙";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  color: #000;
}

/* Desktop / mid columns: hard line spans */
@media screen and (min-width: 801px) {
  .page-home .home-years__line {
    display: block;
    white-space: nowrap;
  }

  /* Locale / long reputation lines: wrap inside ~420px column */
  .page-home .home-years__col--reputation .home-years__line {
    white-space: normal;
    overflow-wrap: break-word;
  }
}

/*
  360–800 (tabs, until competencies sit beside reputation):
  keep .home-years__line hard breaks from the mark-up (as on reference),
  soft-wrap only inside an overflowing line — never merge spans into one flow.
*/
@media screen and (max-width: 800px) and (min-width: 360px) {
  .page-home .home-years__line {
    display: block !important;
    white-space: normal !important;
    overflow-wrap: break-word;
  }

  .page-home .home-years__line::after {
    content: none !important;
  }
}

@media screen and (max-width: 359px) {
  .page-home .home-years__line {
    display: inline;
    white-space: normal;
  }

  .page-home .home-years__line::after {
    content: none;
  }
}

.page-home .home-years__groups {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.page-home .home-years__group-title {
  margin: 0 0 0.35em;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

.page-home .home-years__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.15em;
}

.page-home .home-years__list li {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

/* 801–1080: Опыт under Репутация, Компетенции справа, gap ≥32px */
@media screen and (max-width: 1080px) and (min-width: 801px) {
  body.page-home .home-grid.home-years__grid {
    column-gap: 32px !important;
    row-gap: 48px !important;
  }

  .page-home .home-years__col--reputation {
    grid-column: 1 / 3;
    grid-row: 1;
    min-width: 0;
  }

  .page-home .home-years__col--skills {
    grid-column: 3 / -1;
    grid-row: 1 / span 2;
    min-width: 0;
    align-self: start;
  }

  .page-home .home-years__col--experience {
    grid-column: 1 / 3;
    grid-row: 2;
    min-width: 0;
  }

  .page-home .home-years__line {
    display: inline;
    white-space: normal;
  }

  .page-home .home-years__line::after {
    content: none;
  }

  .page-home .home-years__bullets li {
    overflow-wrap: break-word;
  }
}

/* ≤800: years as mobile tags (gap to competencies would drop below 32px) */
@media screen and (max-width: 800px) {
  .page-home .home-years__tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    grid-column: 1 / -1;
    margin: 0 0 28px;
  }

  .page-home .home-years__tab {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 10px 18px;
    border: 1px solid var(--border);
    border-radius: var(--eg-radius, 16px);
    corner-shape: var(--eg-corner-shape);
    background: #fff;
    font-family: var(--font-body);
    font-weight: 300;
    font-size: var(--font-ui);
    line-height: 1.2;
    letter-spacing: var(--font-ui-tracking);
    color: #000;
    white-space: nowrap;
    cursor: pointer;
    box-sizing: border-box;
  }

  .page-home .home-years__tab.is-active {
    background: #000;
    border-color: #000;
    color: #fff;
  }

  .page-home .home-years__col .home-years__badge {
    display: none;
  }

  .page-home .home-years__col--reputation,
  .page-home .home-years__col--skills,
  .page-home .home-years__col--experience {
    grid-column: 1 / -1;
  }

  .page-home .home-years__col:not(.is-active) {
    display: none;
  }

  .page-home .home-years__bullets {
    gap: 1.35em;
  }

  .page-home .home-years__grid {
    row-gap: 40px;
  }
}

@media screen and (max-width: 719px) {
  .page-home .home-years {
    padding: var(--expert-block-gap-half, clamp(48px, 8vh, 100px)) 0;
  }

  .page-home .home-years__copy .home-intro {
    font-size: clamp(28px, 8vw, 36px) !important;
    white-space: normal;
  }

  .page-home .home-years__copy .home-intro .home-about__line {
    display: block;
    white-space: nowrap;
    max-width: 100%;
  }

  .page-home .home-years__copy .home-about {
    width: 100%;
    max-width: 100%;
  }

  .page-home .home-years__copy .home-about__line {
    display: block;
    white-space: nowrap;
    max-width: 100%;
  }

  .page-home .home-years__copy .home-about__line::after {
    content: none;
  }

  .page-home .home-years__map {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 801px) {
  .page-home .home-years__tabs {
    display: none;
  }

  .page-home .home-years__col {
    display: block;
  }
}

/* ——— Homepage: go game ——— */

.page-home .home-go {
  box-sizing: border-box;
  padding: clamp(56px, 9vh, 120px) var(--page-gutter) clamp(64px, 10vh, 140px);
  background: #fff;
}

.page-home .home-go__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--home-copy-gap, 36px);
  margin: 0 auto clamp(20px, 3vh, 32px);
  max-width: 100%;
}

.page-home .home-go__copy .home-intro {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #000;
}

.page-home .home-go__copy .home-about-fit {
  margin: 0;
  transform: none;
  align-self: center;
  max-width: 100%;
}

.page-home .home-go__copy .home-about {
  margin: 0;
  width: max-content;
  max-width: min(100%, 52em);
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--font-ui);
  line-height: var(--font-ui-lh);
  letter-spacing: var(--font-ui-tracking);
  color: #000;
}

.page-home .home-go__copy .home-about__line {
  display: block;
}

.page-home .home-go__game {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 100%;
}

.page-home .home-go__frame {
  display: block;
  width: min(100%, 600px);
  height: 640px;
  border: 0;
  background: transparent;
}

.page-home .home-go__cta {
  display: flex;
  justify-content: center;
  margin: calc(clamp(32px, 5vh, 48px) - 60px) auto 0;
  padding: 0 var(--page-gutter);
}

@media screen and (max-width: 719px) {
  .page-home .home-go {
    padding: 48px var(--page-gutter) 56px;
  }

  .page-home .home-go__copy .home-intro {
    font-size: 16px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: normal;
  }

  .page-home .home-go__copy .home-intro .home-about__line {
    display: block !important;
    white-space: nowrap !important;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .page-home .home-go__copy .home-about {
    width: auto;
    max-width: 100%;
    white-space: normal;
    text-wrap: pretty;
  }

  .page-home .home-go__copy .home-about-fit .home-about__line {
    display: inline;
    white-space: normal;
  }

  .page-home .home-go__copy .home-about-fit .home-about__line::after {
    content: none;
  }

  .page-home .home-go__frame {
    width: 100%;
    height: clamp(420px, calc(92vw + 64px), 640px);
  }
}

/* ——— Mobile ≤719px: auto-flow body copy, no clip / orphan hard-breaks ——— */
@media screen and (max-width: 719px) {
  /* наборный текст: жёсткие spans текут одной колонкой с автопереносом */
  body.page-home .site-header__home .home-about .home-about__line,
  body.page-home .home-about-fit .home-about__line,
  .page-home .home-about > .home-about__desktop .home-about__line,
  .page-home .home-about > .home-about__mobile .home-about__line,
  .page-home .home-level__line,
  .page-home .home-level__role-line,
  .page-home .home-years__copy .home-about .home-about__line,
  .page-home .home-years__line,
  .page-home .home-go__copy .home-about-fit .home-about__line,
  .page-home .expert-lectures--programs .home-intro + .home-about-fit .home-about__line,
  .page-expert .expert-reel__copy .home-about__line,
  .page-expert .expert-lectures__copy .home-about__line,
  .page-expert .expert-events__copy .home-about__line,
  .page-expert .expert-about__line {
    display: inline !important;
    white-space: normal !important;
    width: auto !important;
    max-width: none !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  body.page-home .site-header__home .home-about .home-about__line::after,
  body.page-home .home-about-fit .home-about__line::after,
  .page-home .home-about > .home-about__desktop .home-about__line::after,
  .page-home .home-about > .home-about__mobile .home-about__line::after,
  .page-home .home-level__line::after,
  .page-home .home-level__role-line::after,
  .page-home .home-years__copy .home-about .home-about__line::after,
  .page-home .home-years__line::after,
  .page-home .home-go__copy .home-about-fit .home-about__line::after,
  .page-expert .expert-reel__copy .home-about__line::after,
  .page-expert .expert-lectures__copy .home-about__line::after,
  .page-expert .expert-events__copy .home-about__line::after,
  .page-expert .expert-about__line::after {
    /* Spaces live in markup / copy-breaks join — avoid double gaps */
    content: none;
  }

  body.page-home .site-header__home .home-about,
  .page-home .home-about-fit .home-about,
  .page-home .home-years__copy .home-about,
  .page-home .home-level__p,
  .page-home .home-level__text,
  .page-expert .expert-about__p,
  .page-expert .site-header__home .home-about {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  /* жёсткие переносы: шапка спикера, роль у портрета, заголовок Го
     body.page-expert — выше specificity, чем body.page-home soft-flow */
  body.page-expert .site-header__home .home-about .home-about__line,
  body.page-expert .expert-about__role-line,
  .page-home .home-go__copy .home-intro .home-about__line {
    display: block !important;
    white-space: nowrap !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.page-expert .site-header__home .home-about .home-about__line::after,
  body.page-expert .expert-about__role-line::after,
  .page-home .home-go__copy .home-intro .home-about__line::after {
    content: none !important;
  }

  .page-expert .expert-about__text,
  .page-expert .expert-about__p,
  .page-expert .expert-about__role,
  .page-expert .site-header__home .home-about {
    text-align: center !important;
  }

  /* заголовки секций: можно переносить, но блоками по строкам из разметки */
  .page-home .home-years__copy .home-intro .home-about__line,
  .page-home .expert-lectures--programs .home-intro .home-about__line,
  .page-home .site-header__home .home-intro .home-intro__line,
  .page-expert .expert-share__copy .home-intro,
  .page-home .expert-share__copy .home-intro {
    display: block;
    white-space: normal !important;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .page-home .home-years__copy .home-intro .home-about__line::after,
  .page-home .expert-lectures--programs .home-intro .home-about__line::after {
    content: none;
  }

  .page-home .home-years__tab,
  .page-expert .expert-share__filters .news-filter,
  .page-home .expert-share__filters .news-filter,
  .page-expert .expert-events__filters .news-filter,
  .page-home .expert-events__filters .news-filter {
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* ——— Mobile ≤399px: keep overflow clipped; type = footer ——— */
@media screen and (max-width: 399px) {
  html,
  body {
    overflow-x: clip;
    max-width: 100%;
  }

  .page-home .home-about,
  .page-home .home-level__p,
  .page-home .home-level__role,
  .page-home .home-years__copy .home-about,
  .page-home .home-years__bullets li,
  .page-home .home-years__list li,
  .page-home .expert-lecture--program .expert-lecture__lead,
  .page-home .expert-lecture--program .expert-lecture__set,
  .page-home .expert-lecture--service .expert-service__lead,
  .page-home .expert-service__desc,
  .page-home .expert-service__name,
  .home-badge p {
    font-size: var(--font-ui) !important;
    line-height: var(--font-ui-lh) !important;
  }
}
