:root {
      --asclin-heading: #091321;
      --asclin-heading-soft: #3a434f;
      --asclin-navy: #11172d;
      --asclin-dark: #091321;
      --asclin-footer: #0a1320;
      --asclin-blue: #2f76a8;
      --asclin-orange: #e07c26;
      --asclin-page-bg: #f6f8fb;
      --asclin-card-bg: #f5f8fc;
      --asclin-badge-blue: #e6f1fa;
      --asclin-badge-grey: #eef3f7;
      --asclin-badge-grey-text: #526175;
      --asclin-placeholder: #d9d9d9;
      --asclin-hero-circle: #16222f;
      --asclin-hero-dot: #8296ab;
      --asclin-hero-line: #33465c;
      /* Фон секций — на весь экран, контент — не шире 1248px по центру */
      --asclin-gutter: max(96px, calc((100% - 1248px) / 2));
    }

    body {
      margin: 0;
      background: var(--asclin-page-bg);
    }

    /* Стили усилены против CSS темы сайта: селекторы со scope .asclin-home
       и !important на цветах, которые темы чаще всего перебивают. */

    .asclin-home,
    .asclin-home * {
      box-sizing: border-box;
      font-family: "Montserrat", Arial, sans-serif;
    }

    .asclin-home {
      width: 100%;
      background: #ffffff;
      color: var(--asclin-navy);
    }

    .asclin-home img {
      max-width: 100%;
    }

    /* ===================== HERO + ШАПКА ===================== */

    .asclin-home .hero {
      position: relative;
      background: var(--asclin-dark);
      color: #ffffff;
      padding: 28px var(--asclin-gutter) 72px;
      overflow: hidden;
    }

    /* Декор: крупные круги, точки и линии «нейросети» */
    .asclin-home .hero__decor {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .asclin-home .hero__circle {
      position: absolute;
      border-radius: 50%;
      background: var(--asclin-hero-circle);
    }

    .asclin-home .hero__circle--left {
      width: 560px;
      height: 560px;
      left: 60px;
      top: 120px;
    }

    .asclin-home .hero__circle--right {
      width: 640px;
      height: 640px;
      right: -40px;
      top: 60px;
    }

    .asclin-home .hero__dot {
      position: absolute;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: var(--asclin-hero-dot);
      opacity: .85;
    }

    .asclin-home .hero__line {
      position: absolute;
      height: 1px;
      background: var(--asclin-hero-line);
    }

    .asclin-home .hero__content {
      position: relative;
      max-width: 760px;
      margin: 86px auto 0;
      z-index: 1;
    }

    .asclin-home .hero__eyebrow {
      display: flex;
      align-items: center;
      gap: 22px;
      margin: 0;
      color: #e6ecf3;
      font-size: 18px;
      line-height: 1.2;
      font-weight: 400;
    }

    .asclin-home .hero__eyebrow::after {
      content: "";
      flex: 1;
      height: 1px;
      background: var(--asclin-hero-line);
    }

    .asclin-home .hero__title {
      margin: 18px 0 0;
      color: #ffffff !important;
      font-size: clamp(56px, 7.2vw, 104px);
      line-height: 1;
      font-weight: 700;
      letter-spacing: .01em;
      text-transform: uppercase;
    }

    .asclin-home .hero__subtitle {
      margin: 30px 0 0;
      max-width: 640px;
      color: #dfe6ee;
      font-size: 22px;
      line-height: 1.45;
      font-weight: 400;
    }

    .asclin-home .hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 40px;
    }

    .asclin-home a.hero__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 18px 36px;
      font-size: 16px;
      line-height: 1;
      font-weight: 600;
      text-decoration: none !important;
      transition: opacity .2s ease;
    }

    .asclin-home a.hero__btn:hover {
      opacity: .85;
    }

    .asclin-home a.hero__btn--primary {
      background: var(--asclin-orange) !important;
      color: #ffffff !important;
    }

    .asclin-home a.hero__btn--ghost {
      border: 1px solid rgba(255, 255, 255, .8);
      background: transparent;
      color: #ffffff !important;
    }

    /* ===================== АССОЦИАЦИЯ В ЦИФРАХ ===================== */

    .asclin-home .stats {
      background: var(--asclin-card-bg);
      padding: 54px var(--asclin-gutter);
    }

    .asclin-home .stats__title {
      margin: 0 0 36px;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      text-align: center;
      text-transform: none;
    }

    .asclin-home .stats__list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 28px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .asclin-home .stats__item {
      background: #ffffff;
      border-radius: 8px;
      padding: 28px 20px 30px;
      text-align: center;
    }

    .asclin-home .stats__value {
      display: block;
      color: var(--asclin-heading) !important;
      font-size: 44px;
      line-height: 1.1;
      font-weight: 700;
    }

    .asclin-home .stats__label {
      display: block;
      margin-top: 8px;
      color: var(--asclin-badge-grey-text);
      font-size: 15px;
      line-height: 1.2;
      font-weight: 400;
    }

    /* ===================== БЛИЖАЙШИЕ МЕРОПРИЯТИЯ ===================== */

    .asclin-home .events {
      background: #ffffff;
      padding: 66px var(--asclin-gutter) 70px;
    }

    .asclin-home .events__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin: 0 0 34px;
    }

    .asclin-home .events__title {
      margin: 0;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
    }

    .asclin-home a.events__all {
      color: var(--asclin-blue) !important;
      font-size: 15px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
    }

    .asclin-home a.events__all:hover {
      color: var(--asclin-orange) !important;
      text-decoration: underline;
    }

    .asclin-home .events__list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    /* Карточка-«билет»: тело + перфорация + вертикальные корешки справа */
    .asclin-home .event-card {
      position: relative;
      min-height: 328px;
      margin: 0;
      background: var(--asclin-card-bg);
      border-radius: 8px;
      display: flex;
      align-items: stretch;
      overflow: hidden;
      box-shadow: 0 8px 22px rgba(9, 19, 33, .10);
    }

    .asclin-home .event-card__body {
      flex: 1;
      min-width: 0;
      padding: 28px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
    }

    .asclin-home .event-card__stubs {
      position: relative;
      flex: 0 0 52px;
      display: flex;
      flex-direction: column;
      border-left: 2px dashed #c8d4e0;
    }

    /* «Просечки» билета сверху и снизу на линии перфорации */
    .asclin-home .event-card__stubs::before,
    .asclin-home .event-card__stubs::after {
      content: "";
      position: absolute;
      left: -10px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: #ffffff;
      box-shadow: inset 0 2px 5px rgba(9, 19, 33, .18);
      z-index: 1;
    }

    .asclin-home .event-card__stubs::before {
      top: -9px;
    }

    .asclin-home .event-card__stubs::after {
      bottom: -9px;
    }

    /* Корешок: пиктограмма, полная подпись всплывает при наведении */
    .asclin-home .event-card__stub {
      position: relative;
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff !important;
      cursor: default;
    }

    .asclin-home .event-card__stub svg {
      display: block;
    }

    .asclin-home .event-card__stub-label {
      position: absolute;
      top: 50%;
      right: calc(100% + 12px);
      transform: translateY(-50%) translateX(8px);
      background: #ffffff;
      border-radius: 6px;
      box-shadow: 0 6px 18px rgba(9, 19, 33, .22);
      padding: 9px 14px;
      color: var(--asclin-navy) !important;
      font-size: 12px;
      line-height: 1.2;
      font-weight: 600;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s ease, transform .2s ease;
      z-index: 2;
    }

    .asclin-home .event-card__stub:hover .event-card__stub-label {
      opacity: 1;
      transform: translateY(-50%) translateX(0);
    }

    .asclin-home .event-card__stub--format {
      background: var(--asclin-navy);
    }

    .asclin-home .event-card__stub--online {
      background: var(--asclin-blue);
    }

    .asclin-home .event-card__stub--stream {
      background: var(--asclin-blue);
    }

    .asclin-home .event-card__stub--pk {
      background: var(--asclin-orange);
    }

    .asclin-home .event-card__date {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      color: var(--asclin-orange) !important;
      font-weight: 600;
    }

    .asclin-home .event-card__day {
      font-size: 32px;
      line-height: 1.1;
    }

    .asclin-home .event-card__month {
      padding-top: 3px;
      font-size: 14px;
      line-height: 1.1;
    }

    .asclin-home .event-card__title {
      max-width: 277px;
      margin: 0;
      color: var(--asclin-navy) !important;
      font-size: 19px;
      line-height: 1.23;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-home a.event-card__button,
    .asclin-home a.news-card__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      border-radius: 8px;
      background: var(--asclin-navy) !important;
      padding: 16px 32px;
      color: #ffffff !important;
      font-size: 16px;
      line-height: 1;
      font-weight: 600;
      text-decoration: none !important;
      text-transform: none;
      transition: opacity .2s ease;
    }

    .asclin-home a.event-card__button:hover,
    .asclin-home a.event-card__button:focus,
    .asclin-home a.event-card__button:visited,
    .asclin-home a.news-card__button:hover,
    .asclin-home a.news-card__button:focus,
    .asclin-home a.news-card__button:visited {
      color: #ffffff !important;
      opacity: .85;
    }

    /* «Подробнее» прижата вниз, к строкам времени и адреса */
    .asclin-home .event-card__body a.event-card__button {
      margin-top: auto;
    }

    .asclin-home .event-card__meta {
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-width: 302px;
      color: var(--asclin-navy) !important;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 400;
    }

    .asclin-home .event-card__meta-row {
      display: flex;
      align-items: flex-start;
      gap: 8px;
    }

    .asclin-home .event-card__meta-row svg {
      flex-shrink: 0;
      margin-top: 1px;
      color: var(--asclin-blue);
    }

    /* Меньше трёх мероприятий: карточки растягиваются на всю строку
       и показывают больше — тип, анонс, направления, «Регистрация».
       Класс events__list--count-N ставит фрагмент Битрикса homepage-events.php. */
    .asclin-home .events__list--count-0,
    .asclin-home .events__list--count-1 {
      grid-template-columns: minmax(0, 1fr);
    }

    .asclin-home .events__list--count-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asclin-home .event-card__main,
    .asclin-home .event-card__side {
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
    }

    .asclin-home .event-card__side {
      width: 100%;
      margin-top: auto;
    }

    .asclin-home .event-card__top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
    }

    .asclin-home .event-card__badge {
      display: inline-flex;
      align-items: center;
      border-radius: 20px;
      background: var(--asclin-badge-blue);
      padding: 8px 14px;
      color: var(--asclin-blue) !important;
      font-size: 12px;
      line-height: 1;
      font-weight: 600;
      white-space: nowrap;
    }

    .asclin-home .events__list--count-0 .event-card__title,
    .asclin-home .events__list--count-1 .event-card__title,
    .asclin-home .events__list--count-2 .event-card__title {
      max-width: 620px;
      font-size: 23px;
      line-height: 1.25;
    }

    .asclin-home .event-card__text {
      max-width: 620px;
      margin: 0;
      color: var(--asclin-heading-soft) !important;
      font-size: 14px;
      line-height: 1.5;
      font-weight: 400;
    }

    .asclin-home .event-card__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .asclin-home .event-card__tag {
      margin: 0;
      border: 1px solid #dbe5ee;
      border-radius: 20px;
      background: #ffffff;
      padding: 6px 12px;
      color: var(--asclin-heading-soft) !important;
      font-size: 12px;
      line-height: 1.25;
      font-weight: 500;
    }

    .asclin-home .event-card__tag--more {
      color: var(--asclin-blue) !important;
      font-weight: 600;
    }

    .asclin-home .event-card__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .asclin-home .event-card__body .event-card__actions a.event-card__button {
      margin-top: 0;
    }

    .asclin-home a.event-card__button--ghost {
      border: 1px solid #c8d4e0;
      background: transparent !important;
      color: var(--asclin-navy) !important;
    }

    .asclin-home a.event-card__button--ghost:hover,
    .asclin-home a.event-card__button--ghost:focus,
    .asclin-home a.event-card__button--ghost:visited {
      color: var(--asclin-navy) !important;
      opacity: .7;
    }

    .asclin-home .events__list--count-1 .event-card__meta,
    .asclin-home .events__list--count-2 .event-card__meta {
      max-width: 460px;
    }

    /* Одно мероприятие: слева описание, справа адрес и кнопки */
    .asclin-home .events__list--count-1 .event-card {
      min-height: 300px;
    }

    .asclin-home .events__list--count-1 .event-card__body {
      display: grid;
      grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
      column-gap: 48px;
      align-items: stretch;
      padding: 36px 40px;
    }

    .asclin-home .events__list--count-1 .event-card__side {
      flex-direction: column-reverse;
      justify-content: space-between;
      margin-top: 0;
      padding-left: 40px;
      border-left: 1px solid #dbe5ee;
    }

    .asclin-home .events__list--count-1 .event-card__day {
      font-size: 44px;
      line-height: 1;
    }

    .asclin-home .events__list--count-1 .event-card__month {
      padding-top: 4px;
      font-size: 15px;
      line-height: 1.15;
    }

    /* Нет предстоящих: широкая плашка с кнопкой справа */
    .asclin-home .events__list--count-0 .event-card {
      min-height: 0;
    }

    .asclin-home .events__list--count-0 .event-card__body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      column-gap: 48px;
      row-gap: 10px;
      align-items: center;
      padding: 36px 40px;
    }

    .asclin-home .events__list--count-0 .event-card__body a.event-card__button {
      grid-column: 2;
      grid-row: 1 / span 2;
      margin-top: 0;
    }

    /* ===================== НОВОСТИ ===================== */

    .asclin-home .news {
      background: #ffffff;
      padding: 70px var(--asclin-gutter) 76px;
    }

    /* Заголовки всех разделов главной — единый размер 34px */
    .asclin-home .news__title,
    .asclin-home .partners__title {
      margin: 0 0 36px;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-home .news__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin: 0 0 34px;
    }

    .asclin-home .news__header .news__title {
      margin: 0;
    }

    .asclin-home a.news__all {
      color: var(--asclin-blue) !important;
      font-size: 15px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
    }

    .asclin-home a.news__all:hover {
      color: var(--asclin-orange) !important;
      text-decoration: underline;
    }

    .asclin-home .news__slider {
      position: relative;
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .asclin-home .slider-arrow {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      border: 0;
      background: transparent;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1;
      cursor: pointer;
      user-select: none;
      transition: opacity .2s ease;
    }

    .asclin-home .slider-arrow:hover {
      opacity: .6;
    }

    .asclin-home .news__viewport {
      flex: 1;
      overflow: hidden;
      border-radius: 8px;
    }

    .asclin-home .news__track {
      display: flex;
      transition: transform .4s ease;
    }

    .asclin-home .news-card {
      flex: 0 0 100%;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
      gap: 40px;
      background: var(--asclin-card-bg);
      border-radius: 8px;
      padding: 44px 48px;
    }

    .asclin-home .news-card__title {
      margin: 0 0 20px;
      color: var(--asclin-navy) !important;
      font-size: 19px;
      line-height: 1.35;
      font-weight: 700;
      text-transform: uppercase;
    }

    .asclin-home .news-card__text {
      margin: 0 0 28px;
      color: var(--asclin-navy);
      font-size: 15px;
      line-height: 1.5;
      font-weight: 400;
    }

    .asclin-home .news-card__image {
      align-self: stretch;
      min-height: 220px;
      border-radius: 4px;
      background: var(--asclin-placeholder);
    }

    .asclin-home .news__dots,
    .asclin-home .partners__dots {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin-top: 32px;
    }

    .asclin-home .news__dot {
      width: 10px;
      height: 10px;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background: #d4dae1;
      cursor: pointer;
    }

    .asclin-home .news__dot:hover {
      background: var(--asclin-orange);
    }

    .asclin-home .news__dot.is-active {
      background: var(--asclin-heading);
    }

    .asclin-home .news__dot.is-active:hover {
      background: var(--asclin-orange);
    }

    /* ===================== ОБРАЩЕНИЕ ПРЕЗИДЕНТА ===================== */

    .asclin-home .president {
      background: var(--asclin-card-bg);
      padding: 62px var(--asclin-gutter);
    }

    .asclin-home .president__inner {
      display: flex;
      align-items: flex-start;
      gap: 46px;
    }

    .asclin-home .president__photo {
      flex-shrink: 0;
      width: 170px;
      height: 168px;
      border-radius: 6px;
      background: var(--asclin-placeholder) linear-gradient(135deg, #26364d, #8fa6bd) center / cover no-repeat;
    }

    .asclin-home .president__title {
      margin: 0 0 22px;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-home .president__text {
      margin: 0 0 18px;
      max-width: 560px;
      color: var(--asclin-navy);
      font-size: 17px;
      line-height: 1.55;
      font-weight: 400;
    }

    /* Подпись обращения (правки 29.09): «к.м.н. А.А. Огурцова» — 15/600, под ней ссылка-должность */
    .asclin-home .president__name {
      margin: 0 0 6px;
      color: var(--asclin-heading);
      font-size: 15px;
      line-height: 1.3;
      font-weight: 600;
    }

    .asclin-home a.president__link {
      color: var(--asclin-blue) !important;
      font-size: 14px;
      line-height: 1.2;
      font-weight: 700;
      text-decoration: none;
    }

    .asclin-home a.president__link:hover {
      color: var(--asclin-orange) !important;
      text-decoration: underline;
    }

    /* ===================== ПАРТНЕРЫ ===================== */

    .asclin-home .partners {
      background: var(--asclin-card-bg);
      border-top: 1px solid #e7edf4;
      padding: 60px var(--asclin-gutter) 66px;
    }

    .asclin-home .partners__slider {
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .asclin-home .partners__viewport {
      flex: 1;
      overflow: hidden;
    }

    .asclin-home .partners__track {
      display: flex;
      transition: transform .4s ease;
    }

    /* Партнёров меньше, чем видимых слотов: копии для бесконечной ленты скрыты, ряд по центру */
    .asclin-home .partners__track.is-static {
      justify-content: center;
    }

    .asclin-home .partners__track.is-static [data-clone] {
      display: none;
    }

    /* Видно 5 логотипов, прокрутка по одному (по референсу) */
    .asclin-home .partners__slide {
      flex: 0 0 20%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 14px;
    }

    .asclin-home .partners__logo {
      width: 100%;
      max-width: 200px;
      height: 74px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 8px 12px;
      background: var(--asclin-placeholder);
      color: var(--asclin-navy) !important;
      font-size: 13px;
      line-height: 1.25;
      font-weight: 600;
      text-align: center;
    }

    /* Партнёр по ссылке: текстовая плашка (логотип ещё не загружен) и плашка с логотипом из админки */
    .asclin-home a.partners__logo {
      color: var(--asclin-navy) !important;
      text-decoration: none;
      transition: box-shadow .15s ease;
    }

    .asclin-home a.partners__logo:hover {
      box-shadow: 0 6px 18px rgba(9, 19, 33, .12);
    }

    .asclin-home .partners__logo--image {
      background: #ffffff;
      border: 1px solid #e7edf4;
      border-radius: 6px;
      padding: 8px 12px;
    }

    .asclin-home .partners__logo img {
      display: block;
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
    }

    .asclin-home .slider-arrow--circle {
      width: 40px;
      height: 40px;
      border: 1px solid #d7dee6;
      border-radius: 50%;
      background: #ffffff;
      color: #8b96a4 !important;
      font-size: 20px;
    }

    .asclin-home .slider-arrow--circle:hover {
      color: var(--asclin-heading) !important;
      border-color: #aebbc9;
      opacity: 1;
    }

    /* Пока прокрутка в эту сторону невозможна — стрелка не видна */
    .asclin-home .slider-arrow.is-hidden {
      visibility: hidden;
      pointer-events: none;
    }

    /* ===================== АДАПТИВ ===================== */

    @media (max-width: 1200px) {
      .asclin-home .hero,
      .asclin-home .stats,
      .asclin-home .events,
      .asclin-home .news,
      .asclin-home .president,
      .asclin-home .partners {
        padding-left: 40px;
        padding-right: 40px;
      }

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

      .asclin-home .events__list {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: min(400px, 85vw);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
      }

      .asclin-home .event-card {
        scroll-snap-align: start;
      }

      /* 1–2 мероприятия не прокручиваются, а встают сеткой */
      .asclin-home .events__list--count-0,
      .asclin-home .events__list--count-1,
      .asclin-home .events__list--count-2 {
        grid-auto-flow: row;
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
        padding-bottom: 0;
      }

      .asclin-home .events__list--count-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .asclin-home .news-card {
        grid-template-columns: 1fr;
        padding: 32px;
      }

      .asclin-home .partners__slide {
        flex-basis: 33.334%;
      }
    }

    @media (max-width: 900px) {
      .asclin-home .events__list--count-2 {
        grid-template-columns: minmax(0, 1fr);
      }

      .asclin-home .events__list--count-0 .event-card__body,
      .asclin-home .events__list--count-1 .event-card__body {
        display: flex;
        padding: 28px;
      }

      .asclin-home .events__list--count-1 .event-card__side {
        flex-direction: column;
        margin-top: 8px;
        padding-left: 0;
        border-left: 0;
      }
    }

    @media (max-width: 640px) {
      .asclin-home .event-card__top {
        flex-wrap: wrap;
      }

      .asclin-home .events__list--count-1 .event-card__day {
        font-size: 32px;
        line-height: 1.1;
      }

      .asclin-home .events__list--count-1 .event-card__month {
        padding-top: 3px;
        font-size: 14px;
      }

      .asclin-home .events__list--count-0 .event-card__title,
      .asclin-home .events__list--count-1 .event-card__title,
      .asclin-home .events__list--count-2 .event-card__title {
        font-size: 19px;
        line-height: 1.23;
      }

      .asclin-home .event-card__tags {
        display: none;
      }
    }

    /* ===================== ТЕЛЕФОН (по фрейму «Mobile — 390» mobile-homepage.svg, 30.09.2026) =====================
       Боковые отступы 20 px, все секции на белом фоне, карточки и кнопки во всю ширину (кнопки h=48),
       мероприятия и новости — столбиком, «Все мероприятия» / «Все новости» — кнопки под списком,
       партнёры — плитки в 2 колонки. Слайдеры новостей и партнёров на телефоне не листаются:
       копии слайдов скрыты, сдвиг ленты из скрипта отменён. */
    @media (max-width: 640px) {
      .asclin-home .hero,
      .asclin-home .stats,
      .asclin-home .events,
      .asclin-home .news,
      .asclin-home .president,
      .asclin-home .partners {
        padding-left: 20px;
        padding-right: 20px;
      }

      /* --- Первый экран --- */
      .asclin-home .hero {
        padding-top: 11px;
        padding-bottom: 36px;
      }

      .asclin-home .hero__circle--left {
        width: 320px;
        height: 320px;
        left: -200px;
        top: 290px;
      }

      .asclin-home .hero__circle--right {
        width: 340px;
        height: 340px;
        right: -180px;
        top: -140px;
      }

      .asclin-home .hero__line,
      .asclin-home .hero__dot {
        display: none;
      }

      .asclin-home .hero__dot:nth-child(3),
      .asclin-home .hero__dot:nth-child(4) {
        display: block;
        width: 10px;
        height: 10px;
      }

      .asclin-home .hero__dot:nth-child(3) {
        left: 295px !important;
        top: 115px !important;
      }

      .asclin-home .hero__dot:nth-child(4) {
        left: 115px !important;
        top: 85px !important;
      }

      .asclin-home .hero__content {
        margin-top: 54px;
      }

      .asclin-home .hero__eyebrow {
        font-size: 14px;
      }

      .asclin-home .hero__eyebrow::after {
        display: none;
      }

      .asclin-home .hero__title {
        font-size: 56px;
      }

      .asclin-home .hero__subtitle {
        margin-top: 10px;
        font-size: 16px;
        line-height: 24px;
      }

      .asclin-home .hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: 46px;
      }

      .asclin-home a.hero__btn {
        justify-content: center;
        height: 48px;
        padding: 0 20px;
        font-size: 15px;
      }

      .asclin-home a.hero__btn--primary {
        background: var(--asclin-orange) !important;
        color: #ffffff !important;
      }

      /* --- Заголовки секций --- */
      .asclin-home .stats__title,
      .asclin-home .news__title,
      .asclin-home .partners__title {
        font-size: 26px;
        line-height: 30px;
      }

      .asclin-home .events__title,
      .asclin-home .president__title {
        font-size: 24px;
        line-height: 30px;
      }

      /* --- Ассоциация в цифрах: строки-карточки «иконка · число · подпись» --- */
      .asclin-home .stats {
        background: #ffffff;
        padding-top: 32px;
        padding-bottom: 0;
      }

      .asclin-home .stats__title {
        margin-bottom: 22px;
        text-align: left;
      }

      .asclin-home .stats__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
      }

      .asclin-home .stats__item {
        display: flex;
        align-items: baseline;
        gap: 16px;
        min-height: 88px;
        background: var(--asclin-card-bg);
        padding: 20px 20px 20px 88px;
        position: relative;
        text-align: left;
      }

      .asclin-home .stats__item::before {
        content: "";
        position: absolute;
        left: 20px;
        top: 20px;
        width: 48px;
        height: 48px;
        border-radius: 10px;
        background: var(--asclin-badge-blue) center / 24px 24px no-repeat;
      }

      .asclin-home .stats__item:nth-child(4n+1)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f76a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M2 9h20M7 4V2M17 4V2'/%3E%3C/svg%3E");
      }

      .asclin-home .stats__item:nth-child(4n+2)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f76a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-5 4-7.5 8-7.5s7 2.5 8 7.5'/%3E%3C/svg%3E");
      }

      .asclin-home .stats__item:nth-child(4n+3)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f76a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6 7-12a7 7 0 0 0-14 0c0 6 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
      }

      .asclin-home .stats__item:nth-child(4n+4)::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f76a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3Z'/%3E%3C/svg%3E");
      }

      .asclin-home .stats__value {
        font-size: 34px;
        line-height: 48px;
      }

      .asclin-home .stats__label {
        margin-top: 0;
        font-size: 15px;
      }

      /* --- Кнопка «Все …» под списком (мероприятия, новости) --- */
      .asclin-home .events,
      .asclin-home .news {
        display: flex;
        flex-direction: column;
      }

      .asclin-home .events__header,
      .asclin-home .news__header {
        display: contents;
      }

      .asclin-home .events__header .events__title,
      .asclin-home .news__header .news__title {
        margin: 0 0 24px;
      }

      .asclin-home a.events__all,
      .asclin-home a.news__all {
        order: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 48px;
        margin-top: 20px;
        border: 1px solid #c8d4e0;
        border-radius: 24px;
        background: #ffffff;
        color: var(--asclin-navy) !important;
        font-size: 15px;
        text-decoration: none !important;
      }

      .asclin-home a.events__all:hover,
      .asclin-home a.news__all:hover {
        border-color: var(--asclin-orange);
        color: var(--asclin-orange) !important;
      }

      /* --- Ближайшие мероприятия: билеты столбиком, корешок справа --- */
      .asclin-home .events {
        padding-top: 26px;
        padding-bottom: 0;
      }

      .asclin-home .events__list,
      .asclin-home .events__list--count-0,
      .asclin-home .events__list--count-1,
      .asclin-home .events__list--count-2 {
        grid-auto-flow: row;
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        overflow: visible;
        scroll-snap-type: none;
        padding-bottom: 0;
      }

      .asclin-home .event-card,
      .asclin-home .events__list--count-1 .event-card {
        min-height: 0;
        box-shadow: none;
      }

      .asclin-home .event-card__body,
      .asclin-home .events__list--count-0 .event-card__body,
      .asclin-home .events__list--count-1 .event-card__body {
        padding: 24px;
        gap: 14px;
      }

      .asclin-home .event-card__stubs {
        flex-basis: 50px;
      }

      .asclin-home .event-card__title,
      .asclin-home .events__list--count-0 .event-card__title,
      .asclin-home .events__list--count-1 .event-card__title,
      .asclin-home .events__list--count-2 .event-card__title {
        max-width: none;
        margin-top: 6px;
        font-size: 18px;
        line-height: 24px;
      }

      .asclin-home .event-card__main,
      .asclin-home .event-card__side,
      .asclin-home .event-card__actions {
        width: 100%;
      }

      .asclin-home .event-card__body a.event-card__button {
        align-self: stretch;
        height: 44px;
        margin-top: 0;
        padding: 0 16px;
        font-size: 15px;
      }

      .asclin-home .event-card__actions a.event-card__button {
        flex: 1 1 0;
      }

      .asclin-home .event-card__meta {
        max-width: none;
        font-size: 13px;
        line-height: 18px;
      }

      /* --- Обращение председателя: заголовок, фото во всю ширину, текст --- */
      .asclin-home .president {
        background: #ffffff;
        padding-top: 32px;
        padding-bottom: 0;
      }

      .asclin-home .president__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
      }

      .asclin-home .president__inner > div:not(.president__photo) {
        display: contents;
      }

      .asclin-home .president__title {
        order: -1;
        margin-bottom: 20px;
      }

      /* Фото ещё нет — плейсхолдер «человечек + Фото готовится», как на карточках специалистов */
      .asclin-home .president__photo {
        position: relative;
        width: 100%;
        height: 240px;
        border-radius: 8px;
        background: #dfeaf4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 44' fill='none' stroke='%232f76a8' stroke-width='2'%3E%3Ccircle cx='18' cy='13' r='8'/%3E%3Cpath d='M2 42c2.2-9.6 8.8-14 16-14s13.8 4.4 16 14' stroke-linecap='round'/%3E%3C/svg%3E") center 78px / 58px 71px no-repeat;
      }

      .asclin-home .president__photo::after {
        content: "Фото готовится";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 12px;
        color: #748194;
        font-size: 12px;
        line-height: 18px;
        text-align: center;
      }

      .asclin-home .president__text {
        margin: 20px 0 16px;
        max-width: none;
        font-size: 15px;
        line-height: 24px;
      }

      .asclin-home a.president__link {
        align-self: flex-start;
        font-size: 13px;
        font-weight: 600;
      }

      /* --- Новости: карточки столбиком, картинка сверху, до трёх штук --- */
      .asclin-home .news {
        padding-top: 36px;
        padding-bottom: 0;
      }

      .asclin-home .news__slider {
        display: block;
      }

      .asclin-home .news__slider .slider-arrow,
      .asclin-home .news__dots,
      .asclin-home .news__track [data-clone] {
        display: none;
      }

      .asclin-home .news__viewport {
        overflow: visible;
      }

      .asclin-home .news__track {
        flex-direction: column;
        gap: 16px;
        transform: none !important;
        transition: none;
      }

      .asclin-home .news__track > .news-card:nth-child(n+4 of .news-card:not([data-clone])) {
        display: none;
      }

      .asclin-home .news-card {
        display: flex;
        flex-direction: column;
        flex: 0 0 auto;
        gap: 0;
        padding: 0;
        overflow: hidden;
      }

      .asclin-home .news-card__image {
        order: -1;
        flex: 0 0 172px;
        min-height: 0;
        border-radius: 8px 8px 0 0;
        background-size: cover;
        background-position: center;
      }

      .asclin-home .news-card__body {
        display: flex;
        flex-direction: column;
        padding: 26px 24px;
      }

      .asclin-home .news-card__title {
        margin: 0 0 12px;
        font-size: 16px;
        line-height: 22px;
        text-transform: none;
      }

      .asclin-home .news-card__text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
        margin: 0 0 18px;
        color: var(--asclin-badge-grey-text);
        font-size: 13px;
        line-height: 20px;
      }

      .asclin-home a.news-card__button {
        height: 40px;
        padding: 0 16px;
        font-size: 14px;
      }

      /* --- Партнёры: плитки в одну колонку (правки 29.09: у АНР, ВОН, РПЛ, АИЛБ нет логотипов — длинные названия
         текстом, в две колонки «противоэпилептическая» не помещается) --- */
      .asclin-home .partners {
        background: #ffffff;
        border-top: 0;
        padding-top: 32px;
        padding-bottom: 44px;
      }

      .asclin-home .partners__title {
        margin-bottom: 24px;
      }

      .asclin-home .partners__slider {
        display: block;
      }

      .asclin-home .partners__slider .slider-arrow,
      .asclin-home .partners__track [data-clone] {
        display: none;
      }

      .asclin-home .partners__track,
      .asclin-home .partners__track.is-static {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        transform: none !important;
        transition: none;
      }

      .asclin-home .partners__slide {
        padding: 0;
      }

      .asclin-home .partners__logo,
      .asclin-home .partners__logo--image {
        max-width: none;
        height: 76px;
        border: 1px solid #e3eaf2;
        border-radius: 8px;
        background: #ffffff;
        padding: 12px 16px;
        color: var(--asclin-navy) !important;
        font-size: 15px;
        font-weight: 700;
      }
    }


    /* «Ассоциация в цифрах»: показателей может быть от 1 до 8 — колонки подстраиваются под их число (на телефоне — как было) */
    @media (min-width: 641px) {
      .asclin-home .stats__list {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      }
    }
