
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html {
      overflow-x: clip;
      scroll-padding-top: -44px;
    }
    /* a11y-mode убран — используется полная панель слабовидящих ниже */
    body {
      --content-text-size: 16px;
      --content-text-weight: 400;
      --content-text-line-height: 1.1;
      --content-text-color: rgba(14,43,77,0.7);
      font-family: "Roboto", sans-serif;
      font-optical-sizing: auto;
      /* font-family: 'Inter', sans-serif; */
      /* font-family: Arial, sans-serif; */
      /* font-family: Verdana, sans-serif; */
      /* font-family: Tahoma, sans-serif; */
      /* font-family: 'Trebuchet MS', sans-serif; */
      /* font-family: 'Times New Roman', serif; */
      /* font-family: Georgia, serif; */
      /* font-family: Garamond, serif; */
      /* font-family: 'Courier New', monospace; */
      /* font-family: 'Brush Script MT', cursive; */
      background: #e8e8e8;
      color: #004770;
      /* color: #004770; */
      /* color: #164378; */
      /* color: rgba(14, 43, 77, 0.8); */
      /* color: rgba(29, 92, 163, 1); */
      /* color: #243842; */
      
    }
    .page-wrap {
      max-width: 1440px;
      margin: 0 auto;
    }

    /* ===================== HEADER ===================== */
    .header {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      z-index: 100;
      width: 100%;
      height: 68px;
      background: #dbdbdb;
      display: flex;
      align-items: center;
      padding: 0 40px 0 52px;
      gap: 16px;
    }
    .header__logo-wrap {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      text-decoration: none;
    }
    .header__logo-img {
      width: 49px;
      height: 63px;
      object-fit: contain;
      flex-shrink: 0;
    }
    .header__logo-copy {
      margin-left: 8px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1px;
      width: 145px;
      flex-shrink: 0;
    }
    .header__logo-text-img {
      height: 44px;
      width: 100%;
      object-fit: contain;
    }
    .header__logo-slogan {
      display: block;
      width: 124px;
      margin-left: 20px;
      font-size: 12px;
      font-weight: 500;
      line-height: 1;
      color: #004770;
      letter-spacing: 0.9px;
      white-space: nowrap;
      text-align: justify;
      text-align-last: justify;
    }
    .header__nav {
      flex: 1;
      display: flex;
      gap: clamp(20px, 4vw, 59px);
      align-items: center;
      justify-content: center;
      min-width: 0;
    }
    .header__nav a {
      text-decoration: none;
      font-size: clamp(15px, 1.4vw, 20px);
      color: #000;
      font-weight: 400;
      white-space: nowrap;
      position: relative;
      padding-bottom: 4px;
    }
    .header__nav a.active { font-weight: 600; }
    .header__nav a.active::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 0; right: 0;
      height: 3px;
      background: #305b84;
      border-radius: 2px;
    }
    .header__a11y {
      flex-shrink: 0;
      background: #305b84;
      border: none;
      border-radius: 26.5px;
      height: 49px;
      width: clamp(170px, 21vw, 302px);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      cursor: pointer;
    }
    .header__a11y-text {
      font-size: clamp(13px, 1.25vw, 18px);
      color: #fff;
      font-weight: 400;
      white-space: nowrap;
    }
    .header__a11y-icon { display: none; flex-shrink: 0; }
    /* === Бургер (только мобильные) === */
    .header__burger {
      display: none;
      flex-shrink: 0;
      margin-left: auto;
      background: none;
      border: none;
      cursor: pointer;
      flex-direction: column;
      gap: 5px;
      padding: 4px;
    }
    .header__burger span {
      display: block;
      width: 26px;
      height: 2px;
      background: #004770;
      border-radius: 2px;
      transition: 0.25s;
    }
    /* Мобильное меню */
    .header__mobile-nav {
      display: none;
      position: absolute;
      top: 68px;
      left: 0; right: 0;
      background: #dbdbdb;
      flex-direction: column;
      padding: 12px 24px 20px;
      gap: 0;
      z-index: 99;
      border-top: 1px solid rgba(0,0,0,0.08);
    }
    .header__mobile-nav.open { display: flex; }
    .header__mobile-nav a {
      font-size: 18px;
      font-weight: 400;
      color: #000;
      text-decoration: none;
      padding: 12px 0;
      border-bottom: 1px solid rgba(0,0,0,0.07);
    }
    .header__mobile-nav a:last-child { border-bottom: none; }
    .header__mobile-nav a.active { font-weight: 600; color: #305b84; }
    /* Медиа-запросы — шапка */
    @media (max-width: 1100px) {
      .header__nav { display: none; }
      .header__burger { display: flex; margin-left: auto; }
      /* Кнопка сжимается до иконки с глазом, идёт после бургера */
      .header__a11y {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        margin-left: 8px;
      }
      .header__a11y-text { display: none; }
      .header__a11y-icon { display: block; }
    }
    @media (max-width: 600px) {
      .header { padding:20px;}
      .header__logo-wrap { padding:0;}
      .header__logo-img { width: 34px; height: 44px; }
      .header__logo-copy { margin-left: 6px; width: 92px; }
      .header__logo-text-img { height: 28px; }
      .header__logo-slogan {  margin-left: 12px; font-size: 8px; letter-spacing: 0.65px; }
    }

    /* ===================== HERO ===================== */
    .hero {
      display: grid;
      width: 100%;
      min-height: 838px;
      overflow: hidden;
    }
    .hero__bg {
      grid-row: 1;
      grid-column: 1;
      align-self: start;
      justify-self: start;
      margin-left: 22%;
      margin-top: -3px;
      width: 83%; /* 22% + 83% = 105% → 5% за правым краем, обрезает overflow:hidden */
      height: 835px;
      -webkit-mask-image: url('assets/images/hero-bg-mask.webp');
      mask-image: url('assets/images/hero-bg-mask.webp');
      -webkit-mask-size: 1025px 940px;
      mask-size: 1025px 940px;
      -webkit-mask-position: 265px -142px;
      mask-position: 265px -142px;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
    }
    .hero__bg img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero__content {
      grid-row: 1;
      grid-column: 1;
      z-index: 1;
      margin-left: 62px;
      min-height: 838px;
      display: flex;
      flex-direction: column;
      padding-top: 120px;
      padding-bottom: 22px;
    }
    .hero__title {
      font-size: clamp(34px, 3.47vw, 50px);
      font-weight: 500;
      color: #004770;
      letter-spacing: -1.5px;
      line-height: 0.8279;
      width: clamp(320px, 38.5vw, 555px);
      margin-bottom: 29px;
    }
    .hero__desc {
      font-size: 16px;
      font-weight: 400;
      color: rgba(14,43,77,0.7);
      width: clamp(260px, 26.6vw, 383px);
      line-height: 1.4;
      margin-bottom: 71px;
    }
    .hero__why {
      font-size: clamp(24px, 2.43vw, 35px);
      font-weight: 500;
      color: #004770;
      letter-spacing: -1.05px;
      line-height: 1.002;
      white-space: nowrap;
      margin-bottom: 16px;
    }
    .hero__why-desc {
      font-size: 16px;
      font-weight: 400;
      color: rgba(14,43,77,0.7);
      width: clamp(260px, 26.6vw, 383px);
      line-height: 1.4;
    }
    .hero__buttons {
      margin-top: 60px;
      display: flex;
      gap: clamp(10px, 1.04vw, 15px);
    }
    .hero__btn {
      width: clamp(180px, 18.5vw, 267px);
      height: clamp(76px, 7.78vw, 112px);
      border: 2px solid #004770;
      border-radius: 64.5px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      background: transparent;
      text-align: center;
      text-decoration: none;
    }
    .hero__btn-line1 {
      font-size: clamp(20px, 2.08vw, 30px);
      font-weight: 500;
      color: #004770;
      letter-spacing: -0.9px;
      line-height: 1.002;
    }
    .hero__btn-line2 {
      font-size: clamp(16px, 1.67vw, 24px);
      font-weight: 500;
      color: #004770;
      letter-spacing: -0.9px;
      line-height: 1.002;
    }

    /* ===================== CARDS (СИАЛИЯ-ЮГ / СИАЛИЯ) ===================== */
    .branch-card {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
      margin: 0 61px;
      margin-bottom: 73px;
      background: #f3f3f3;
      border-radius: 20px;
      overflow: hidden;
    }
    #sialiya-yug {
      margin-top: 98px;
    }

    /* Photos block */
    .branch-card__photos {
      position: relative;
      padding: 25px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 2fr 1fr;
      gap: 12px;
      width: auto;
    }
    .branch-card__photo-main {
      grid-column: 1 / -1;
      width: 100%;
      aspect-ratio: 2 / 1;
      border-radius: 20px;
      object-fit: cover;
      display: block;
    }
    .branch-card__photo-sm {
      width: 100%;
      aspect-ratio: 5 / 3;
      border-radius: 20px;
      object-fit: cover;
    }
    .branch-card__photo-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 5 / 3;
      border-radius: 20px;
      overflow: hidden;
    }
    .branch-card__photo-wrap .branch-card__photo-sm {
      width: 100%;
      height: 100%;
      aspect-ratio: unset;
      border-radius: 0;
    }
    .branch-card__more-photos {
      position: absolute;
      bottom: 8px;
      right: 8px;
      background: rgba(217,217,217,0.5);
      backdrop-filter: blur(5px);
      border-radius: 65px;
      height: 33px;
      width: 115px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      text-decoration: none;
    }
    .branch-card__more-photos span {
      font-size: 17px;
      font-weight: 500;
      color: #004770;
      letter-spacing: -0.51px;
    }

    /* Info block */
    .branch-card__info {
      padding: 25px 25px 0;
    }
    .branch-card__name {
      font-size: 50px;
      font-weight: 500;
      color: #004770;
      letter-spacing: -1.5px;
      line-height: 0.8279;
      white-space: nowrap;
      margin-bottom: 12px;
    }
    .branch-card__address {
      font-size: 20px;
      font-weight: 500;
      color: rgba(14,43,77,0.6)!important;
     /* color:red; */
      line-height: 1.002;
      margin-bottom: 16px;
      
    }
    .branch-card__address strong {
      font-size: 20px;
      font-weight: 500;
      color: #004770;
    }
    .branch-card__desc {
      font-size: 22px;
      font-weight: 400;
      color: #004770;
      /* letter-spacing: -0.3px; */
      line-height: 1.1;
       color: rgba(14,43,77,0.7);
      width: auto;
    }

    /* Reviews & buttons row */
    .branch-card__meta {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 12px 25px;
      flex-wrap: wrap;
    }

    .branch-card__reviews {
      position: relative;
      height: 60px;
      flex: 1 1 200px;
      text-decoration: none;
      color: inherit;
      cursor: pointer;
      max-width: 309px;
      min-width: 0;
      overflow: hidden;
    }
    .branch-card__reviews img:first-child {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: fill;
    }
    .branch-card__reviews-inner {
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      display: flex;
      align-items: center;
      padding-left: clamp(12px, 2vw, 33px);
      gap: clamp(6px, 1vw, 12px);
    }
    .branch-card__reviews-label {
      font-size: 20px;
      font-weight: 600;
      color: #004770;
      letter-spacing: -0.6px;
    }
    .branch-card__stars {
      position: relative;
      display: inline-block;
      flex-shrink: 0;
      line-height: 1;
      white-space: nowrap;
    }
    .stars-bg,
    .stars-fill {
      font-size: 20px;
      letter-spacing: 2px;
      line-height: 1;
    }
    .stars-bg { color: #ccc; }
    .stars-fill {
      position: absolute;
      top: 0; left: 0;
      overflow: hidden;
      color: #f5b800;
    }

    .branch-card__btn-gallery,
    .branch-card__btn-more {
      position: relative;
      height: 60px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      text-decoration: none;
    }
    .branch-card__btn-gallery { width: 139px; }
    .branch-card__btn-more { width: 164px; }
    .branch-card__btn-gallery img,
    .branch-card__btn-more img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: fill;
    }
    .branch-card__btn-gallery span,
    .branch-card__btn-more span {
      position: relative;
      font-size: 20px;
      font-weight: 600;
      letter-spacing: -0.6px;
    }
    .branch-card__btn-gallery span { color: rgba(255,255,255,0.9); }
    .branch-card__btn-more-south span,
    .branch-card__btn-more-main span { color: #004770; }


    /* ===== Grid-area назначения для карточек ===== */
    /* Сиалия-Юг: фото слева, инфо+мета справа */
    #sialiya-yug .branch-card__photos { grid-column: 1; grid-row: 1 / 3; }
    #sialiya-yug .branch-card__info   { grid-column: 2; grid-row: 1; }
    #sialiya-yug .branch-card__meta   { grid-column: 2; grid-row: 2; }
    #sialiya-yug .pricing             { grid-column: 1 / -1; grid-row: 3; }

    /* Сиалия: инфо+мета слева, фото справа */
    #sialiya .branch-card__info   { grid-column: 1; grid-row: 1; }
    #sialiya .branch-card__meta   { grid-column: 1; grid-row: 2;  }
    #sialiya .branch-card__photos { grid-column: 2; grid-row: 1 / 3; }
    #sialiya .pricing             { grid-column: 1 / -1; grid-row: 3; }


    /* Inline badge in meta row (Сиалия) */
    .branch-card__meta-badge {
      background: rgba(217,217,217,0.5);
      backdrop-filter: blur(5px);
      border-radius: 65px;
      height: 33px;
      width: 115px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      cursor: pointer;
      text-decoration: none;
    }
    .branch-card__meta-badge span {
      font-size: 17px;
      font-weight: 500;
      color: #004770;
      letter-spacing: -0.51px;
    }

    /* Pricing col gap */
    .pricing__col--gap { margin-right: 2px; }
    .pricing__col--wide { flex: 1; }

    /* Pricing table */
    .pricing {
      position: relative;
      grid-column: 1 / -1;
      height: auto;
      padding: 0 25px 16px;
    }
    .pricing__note {
      margin-top: 8px;
      font-size: 22px;
      font-weight: 500;
      color: #004770;
      line-height: 1;
      white-space: normal;
      text-align: center;
    }
    .pricing__note strong { font-weight: 600; }
    .pricing__cols {
      height: auto;
      display: flex;
    }
    .pricing__col {
      flex: 1;
      min-width: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .pricing__top {
      flex: 1;
      min-height: 54px;
      border-radius: 25px 25px 0 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .pricing__bottom {
      flex: 1;
      min-height: 54px;
      border-radius: 0 0 25px 25px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .pricing__col--blue .pricing__top  { background: #305b84; }
    .pricing__col--blue .pricing__bottom { background: rgba(48,91,132,0.7); }
    .pricing__col--yellow .pricing__top  { background: #dccb01; }
    .pricing__col--yellow .pricing__bottom { background: rgba(220,203,1,0.6); }
    .pricing__label {
      font-size: 36px;
      font-weight: 500;
      /* letter-spacing: -1.2px; */
      line-height: 1;
      text-align: center;
      white-space: nowrap;
    }
    .pricing__price {
      font-size: 40px;
      font-weight: 500;
      letter-spacing: -1.1px;
      line-height: 1;
      text-align: center;
    }
    .pricing__col--blue .pricing__label,
    .pricing__col--blue .pricing__price { color: rgba(255,255,255,0.9); }
    .pricing__col--yellow .pricing__label { color: #3c424a; }
    .pricing__col--yellow .pricing__price { color: #3c424a; }

    /* Great Vibes — всегда Regular (400), браузер иначе синтезирует bold для h2 */
    .section__heading,
    .details__heading,
    .schedule__heading,
    .services__heading,
    .documents__heading,
    .contacts__heading { font-weight: 400; }

    /* ===================== SECTIONS WITH GOOD VIBES HEADINGS ===================== */
    #about,
    #services,
    #documents,
    #contacts {
      scroll-margin-top: 84px;
    }

    .section {
      margin: 0 61px;
      padding: 60px 0;
    }
    .section__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 90px;
      color: #004770;
      letter-spacing: 4.5px;
      line-height: normal;
      margin-bottom: 40px;
    }
    .section__text {
      font-size: 16px;
      font-weight: 400;
      color:  rgb(14, 43, 77);
      line-height: 1;
    }

    /* ===================== ПОДРОБНЕЕ ===================== */
    .details { margin: 0 61px; padding: 60px 0; }
    .details__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 80px;
      color: #004770;
      letter-spacing: 3.5px;
      margin-bottom: 40px;
      /* margin-left: 23px; */
      scroll-margin-top: 35vh;
    }
    .details__text {
      font-size: 18px;
      font-weight: 400;
      /* color: #004770; */
      /* margin-left: 30px; */
      max-width: 1288px;
      width: 100%;
      line-height: 1.4;
      margin-bottom: 40px;
    }

    /* ===================== РЕЖИМ ДНЯ ===================== */
    .schedule {
      margin: 0 61px;
      padding: 60px 0;
    }
    .schedule__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 90px;
      color: #004770;
      letter-spacing: 4.5px;
      margin-bottom: 40px;
    }
    .schedule__table {
      display: flex;
      flex-direction: column;
    }

    .schedule__row {
      display: flex;
      gap: 20px;
      /* line-height: 1.3;
      color: rgba(14, 43, 77, 0.7); */
    }

    .schedule__time {
      font-size: 18px;
      font-weight: 600;
      /* color: #004770; */
      white-space: nowrap;
      width: 130px;
      flex-shrink: 0;
    }

    .schedule__item {
      font-size: 18px;
      font-weight: 500;
      /* color: #004770; */
    }

    /* ===================== УСЛУГИ ===================== */
    .services {
      margin: 0 61px;
      padding: 40px 0 60px;
    }
    .services__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 90px;
      color: #004770;
      letter-spacing: 4.5px;
      margin-bottom: 20px;
    }
    .services__desc {
      font-size: 18px;
      font-weight: 500;
      color: rgba(14,43,77,0.7);
      line-height: 1;
      margin-bottom: 30px;
    }
    .services__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px 30px;
    }
    .service-item {
      background: rgba(48,91,132,0.1);
      border-radius: 37.5px;
      height: 61px;
      display: flex;
      align-items: center;
      padding-left: 0;
      gap: 10px;
    }
    .service-item__icon-wrap {
      width: 61px;
      align-self: stretch;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(48,91,132,0.1);
      border-radius: 37.5px;
    }
    .service-item__icon {
      object-fit: contain;
    }
    /* Индивидуальные размеры иконок по Figma */
    .services__grid .service-item:nth-child(1) .service-item__icon { width: 53px; height: 52px; }
    .services__grid .service-item:nth-child(2) .service-item__icon { width: 56px; height: 55px; }
    .services__grid .service-item:nth-child(3) .service-item__icon { width: 32px; height: 32px; }
    .services__grid .service-item:nth-child(4) .service-item__icon { width: 41px; height: 41px; }
    .services__grid .service-item:nth-child(5) .service-item__icon { width: 37px; height: 56px; }
    .services__grid .service-item:nth-child(6) .service-item__icon { width: 46px; height: 46px; }
    .service-item__text {
      font-size: 13px;
      font-weight: 600;
      color: #004770;
      line-height: 1;
    }

    /* ===================== ДОКУМЕНТЫ ===================== */
    .documents {
      margin: 0 61px;
      padding: 40px 0 60px;
    }
    .documents__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 90px;
      color: #004770;
      letter-spacing: 4.5px;
      margin-bottom: 20px;
    }
    .documents__desc {
      font-size: 18px;
      font-weight: 500;
      color: #004770;
      line-height: 1;
      margin-bottom: 30px;
    }
    .documents__grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      grid-template-rows: auto auto;
      gap: 8px 30px;
    }
    /* Верхние 3 овала: span 2 из 6 → равные */
    .documents__grid .doc-item:nth-child(-n+3) { grid-column: span 2; }
    /* Нижние 2 овала: span 3 из 6 → равные между собой */
    .documents__grid .doc-item:nth-child(n+4) { grid-column: span 3; }
    .doc-item {
      background: rgba(48,91,132,0.1);
      border-radius: 37.5px;
      height: 61px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      text-align: center;
      padding: 0 20px;
      text-decoration: none;
      transition: background 0.2s;
    }
    .doc-item--wide {
      grid-column: span 3;
    }
    .doc-item:hover { background: rgba(48,91,132,0.18); }
    .doc-item span {
      font-size: 13px;
      font-weight: 600;
      color: #004770;
      line-height: 1;
    }

    /* ===================== КОНТАКТЫ ===================== */
    .contacts {
      margin: 0 61px;
      padding: 40px 0 60px;
    }
    .contacts__heading {
      font-family: 'Great Vibes', cursive;
      font-size: 90px;
      color: #004770;
      letter-spacing: 4.5px;
      margin-bottom: 20px;
    }
    .contacts__phone {
      font-size: 18px;
      font-weight: 500;
      color: #004770;
      margin-bottom: 8px;
    }
    .contacts__phone strong,
    .contacts__email strong { font-weight: 600; }
    .contacts__email {
      font-size: 18px;
      font-weight: 500;
      color: #004770;
    }

    /* ===================== FOOTER ===================== */
    .footer {
      width: 100%;
      height: 362px;
      background: #102f56;
      position: relative;
    }
    .footer__logo {
      position: absolute;
      left: 61px;
      top: 64px;
    }
    .footer__logo img {
      height: 55px;
      width: auto;
    }
    .footer__tagline {
      position: absolute;
      left: 61px;
      top: 140px;
      font-size: 16px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      line-height: normal;
      letter-spacing: 0.48px;
    }
    .footer__cta {
      position: absolute;
      left: 63px;
      top: 221px;
      width: 291px;
      height: 61px;
      background: none;
      border: 1px solid #fff;
      border-radius: 65px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .footer__cta span {
      font-size: 25px;
      font-weight: 400;
      color: rgba(255,255,255,0.85);
      letter-spacing: 0.75px;
    }
    .footer__nav-title {
      position: absolute;
      left: 508px;
      top: 93px;
      font-size: 28px;
      font-weight: 400;
      color: rgba(255,255,255,0.95);
    }
    .footer__nav {
      position: absolute;
      left: 508px;
      top: 133px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .footer__nav a {
      font-size: 16px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      text-decoration: none;
      letter-spacing: 0.48px;
    }
    .footer__contacts-title {
      position: absolute;
      left: 780px;
      top: 93px;
      font-size: 28px;
      font-weight: 400;
      color: rgba(255,255,255,0.95);
    }
    .footer__contacts-block {
      position: absolute;
      left: 780px;
      top: 140px;
    }
    .footer__contacts-row {
      display: flex;
      gap: 8px;
      align-items: baseline;
      margin-bottom: 18px;
    }
    .footer__contacts-label {
      font-size: 16px;
      font-weight: 400;
      color: rgba(255,255,255,0.95);
      letter-spacing: 0.48px;
      width: 68px;
      flex-shrink: 0;
    }
    .footer__contacts-value {
      font-size: 16px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      /* letter-spacing: 0.48px; */
      line-height: 1.3;
    }
    .footer__line {
      position: absolute;
      left: 61px;
      right: 61px;
      bottom: 44px;
      height: 1px;
      background: rgba(255,255,255,0.3);
    }
    .footer__copyright {
      position: absolute;
      left: 61px;
      bottom: 16px;
      font-size: 12px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      letter-spacing: 0.36px;
    }
    .footer__policy {
      text-decoration: none;
      position: absolute;
      right: 307px;
      bottom: 16px;
      font-size: 12px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      letter-spacing: 0.36px;
      cursor: pointer;
    }
    .footer__terms {
      text-decoration: none;
      position: absolute;
      right: 61px;
      bottom: 16px;
      font-size: 12px;
      font-weight: 400;
      color: rgba(255,255,255,0.8);
      letter-spacing: 0.36px;
      cursor: pointer;
    }

    /* ===================== CALCULATOR MODAL ===================== */
    .modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.5);
      z-index: 200;
      align-items: center;
      justify-content: center;
    }
    .modal-overlay.open { display: flex; }
    .calculator {
      width: 660px;
      max-width: 95vw;
      background: #fff;
      border-radius: 20px;
      overflow: hidden;
      position: relative;
    }
    .calc__header {
      background: #305b84;
      height: 68px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 52px;
    }
    .calc__header h2 {
      font-size: 20px;
      font-weight: 600;
      color: #fff;
      white-space: nowrap;
    }
    .calc__body {
      padding: 28px 32px 32px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px 24px;
    }
    .calc__field {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .calc__label {
      font-size: 14px;
      font-weight: 500;
      color: #004770;
    }
    .calc__input {
      width: 100%;
      height: 46px;
      border: 2px solid #c5d4e3;
      border-radius: 10px;
      padding: 0 16px;
      font-size: 15px;
      font-family: 'Inter', sans-serif;
      color: #004770;
      outline: none;
      appearance: none;
      transition: border-color 0.2s;
    }
    .calc__input:focus { border-color: #305b84; }
    .calc__input::placeholder { color: rgba(0,0,0,0.4); }
    .calc__input.error { border-color: #d94040; }
    .calc__gender {
      display: flex;
      align-items: center;
      gap: 24px;
      height: 46px;
      border: 2px solid #c5d4e3;
      border-radius: 10px;
      padding: 0 16px;
      width: 100%;
    }
    .calc__gender.error { border-color: #d94040; }
    .calc__gender label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 15px;
      font-weight: 400;
      color: #004770;
      cursor: pointer;
    }
    .calc__gender input[type=radio] {
      width: 16px;
      height: 16px;
      accent-color: #305b84;
    }
    .calc__consent {
      grid-column: span 2;
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding-top: 4px;
      cursor: pointer;
    }
    .calc__checkbox {
      width: 18px;
      height: 18px;
      border: 2px solid #305b84;
      border-radius: 4px;
      flex-shrink: 0;
      cursor: pointer;
      accent-color: #305b84;
      margin-top: 2px;
    }
    .calc__checkbox.error { outline: 2px solid #d94040; outline-offset: 1px; }
    .calc__consent-text {
      font-size: 13px;
      font-weight: 400;
      color: rgba(0,0,0,0.7);
      line-height: 1.3;
      user-select: none;
    }
    .calc__consent-text strong { font-weight: 500; color: #004770; }
    .calc__consent-text a { color: #305b84; }
    .calc__submit-wrap {
      grid-column: span 2;
    }
    .calc__submit {
      width: 100%;
      height: 50px;
      background: #305b84;
      border-radius: 10px;
      border: none;
      font-size: 16px;
      font-weight: 500;
      color: #fff;
      font-family: 'Inter', sans-serif;
      cursor: pointer;
      transition: background 0.2s;
    }
    .calc__submit:hover { background: #004770; }
    .calc__close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 36px;
      height: 36px;
      background: none;
      border: none;
      cursor: pointer;
      font-size: 22px;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* =====================================================================
       АДАПТИВНОСТЬ
       ===================================================================== */

    /* ── Общие паттерны ── */
    @media (max-width: 1100px) {
      /* Отступы секций */
      .section,
      .details,
      .schedule,
      .services,
      .documents,
      .contacts { margin: 0 12px; }

      .branch-card { margin: 0 32px 60px; }
      #sialiya-yug { margin-top: 60px; }

      /* Заголовки */
      .services__heading,
      .documents__heading,
      .contacts__heading,
      .section__heading,
      .details__heading,
      .schedule__heading { font-size: 70px; }

      /* Сетки услуг и документов: 3 → 2 колонки */
      .services__grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .documents__grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .documents__grid .doc-item:nth-child(-n+3) { grid-column: span 1; }
      .documents__grid .doc-item:nth-child(n+4)  { grid-column: span 1; }
      .documents__grid .doc-item.doc-item--wide   { grid-column: span 2; }
    }

    /* ── Планшет / широкий мобайл ── */
    
    /* Branch cards: margin при средних экранах */
    @media (max-width: 1350px) {
      .branch-card { margin: 0 32px 60px; }
      #sialiya-yug { margin-top: 60px; }
    }

    /* Pricing: шрифт уменьшается на средних экранах (до 900px уже свои правила) */
    @media (max-width: 1100px) {
      .pricing__label { font-size: clamp(18px, 2.8vw, 40px); }
      .pricing__price { font-size: clamp(18px, 2.8vw, 40px); }
    }
@media (max-width: 900px) {
      /* HERO — вертикальная раскладка */
      .hero {
        display: flex;
        flex-direction: column;
        min-height: auto;
      }
      .hero__bg {
        grid-row: unset;
        grid-column: unset;
        align-self: unset;
        justify-self: unset;
        margin-left: 0;
        margin-top: 0;
        width: 100%;
        height: 340px;
        order: 1;
      }
      .hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .hero__content {
        grid-row: unset;
        grid-column: unset;
        z-index: auto;
        order: 2;
        margin-left: 0;
        min-height: auto;
        padding: 32px 32px 40px;
        width: 100%;
      }
      .hero__title {
        font-size: 32px;
        width: auto;
        margin-bottom: 16px;
      }
      .hero__desc {
        font-size: 15px;
        width: auto;
        margin-bottom: 20px;
      }
      .hero__why {
        font-size:18px;
        font-weight: 600;
        white-space: normal;
        margin-bottom: 8px;
      }
      .hero__why-desc {
        font-size: 15px;
        width: auto;
        margin-bottom: 24px;
      }
      .hero__buttons {
        margin-top: 0;
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
      }
      .hero__btn {
        width: auto;
        flex: 1 1 200px;
        height: 70px;
        padding: 0 16px;
      }
      .hero__btn-line1 { font-size: 20px; }
      .hero__btn-line2 { font-size: 16px; }

      /* BRANCH CARDS — вертикальная раскладка */
      .branch-card {
        display: flex;
        flex-direction: column;
        height: auto !important;
        margin: 0 20px 40px;
        border-radius: 20px;
        padding-bottom: 20px;
      }
      #sialiya-yug { margin-top: 40px; }

      .branch-card__photos {
        position: relative;
        top: 0; left: 0; right: auto;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 16px 16px 0;
        width: auto;
        grid-template-columns: unset;
        grid-template-rows: unset;
      }
      .branch-card__photos--left,
      .branch-card__photos--right { left: 0; right: auto; }
      .branch-card__photo-main {
        grid-column: auto;
        width: 100%;
        height: 220px;
        object-fit: cover;
      }
      .branch-card__photo-sm {
        width: calc(50% - 4px);
        height: 140px;
        object-fit: cover;
      }
      .branch-card__photo-wrap {
        width: calc(50% - 4px);
        height: 140px;
        aspect-ratio: unset;
      }
      .branch-card__photo-wrap .branch-card__photo-sm {
        height: 100%;
      }

      .branch-card__info {
        position: relative;
        top: 0; left: 0; right: 0;
        padding: 16px 16px 0;
        width: 100% !important;
      }
      .branch-card__info--left,
      .branch-card__info--right { left: 0; width: auto; }
      .branch-card__name { font-size: 32px; }
      .branch-card__address { margin-top: 12px; font-size: 16px; }
      .branch-card__address strong { font-size: 14px; }
      .branch-card__desc { font-size: 15px; margin-top: 12px; width: auto; }

      .branch-card__meta {
        position: relative;
        top: auto; left: 0; right: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px 16px;
        align-self: center;
      }
      .branch-card__meta-south,
      .branch-card__meta-main { left: 0; }
      .branch-card__reviews { flex: 1 1 180px; }
      .branch-card__btn-gallery,
      .branch-card__btn-more { flex: 0 0 auto; }

      .pricing {
        border-radius: 0 0 20px 20px;
        padding: 16px;
      }
      .pricing__note {
        font-size: 15px;
      }
      .pricing__cols {
        position: relative;
        top: 0;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }
      .pricing__col { flex: 1; min-width: 0; }
      .pricing__col--yellow { flex: 1 0 100%; order: -1; }
      .pricing__col--wide { flex: 1 0 100%; order: -1; }

      /* Секции о пансионатах */
      .section { padding: 40px 0; }
      .section__text { font-size: 18px; }
      .details__text { width: 100%; margin-left: 0; font-size: 16px; margin-bottom: 40px; }
      .schedule__table { flex-direction: column; gap: 0; }
      .schedule__time { width: 110px; }
      .schedule__time, .schedule__item { font-size: 16px; }

      /* Сетки: 2 → 1 колонка на узком */
      .services__grid { grid-template-columns: 1fr 1fr; }
      .documents__grid { grid-template-columns: 1fr 1fr; }
    }

    /* ── Мобайл ── */
    @media (max-width: 600px) {
      .section,
      .details,
      .schedule,
      .services,
      .documents,
      .contacts { margin: 0 12px; padding: 12px; }

      .branch-card { margin: 0 12px 32px; }
      #sialiya-yug { margin-top: 24px; }

      /* Заголовки ещё меньше */
      .services__heading,
      .documents__heading,
      .contacts__heading,
      .section__heading,
      .details__heading,
      .schedule__heading { font-size: 30px; letter-spacing: 2px; margin-left: 0; margin-bottom: 10px;   }

      /* Hero */
      .hero__bg { height: 260px; }
      .hero__content { padding: 24px 16px 32px; }
      .hero__title { font-size: 26px; }
      .hero__btn { height: 60px; }
      .hero__btn-line1 { font-size: 17px; }
      .hero__btn-line2 { font-size: 14px; }

      /* Услуги и документы — 1 колонка */
      .services__grid { grid-template-columns: 1fr; }
      .documents__grid { grid-template-columns: 1fr; }
      .documents__grid .doc-item:nth-child(-n+3),
      .documents__grid .doc-item:nth-child(n+4) { grid-column: span 1; }
      .doc-item--wide { grid-column: span 1; }

      .services__desc,
      .documents__desc { font-size: 16px; }

      /* Контакты */
      .contacts__phone,
      .contacts__email { font-size: 16px; }

      /* Фото карточек пансионатов */
      .branch-card__photo-main { height: 180px; }
      .branch-card__photo-sm { height: 110px; }
      .branch-card__photo-wrap { height: 110px; }
      .branch-card__name { font-size: 26px; }

      /* Цены — мелкий шрифт на мобильном */
      .pricing__label { font-size: 18px; }
      .pricing__price { font-size: 22px; }
      .pricing__top,
      .pricing__bottom { padding: 6px 4px; }
      .pricing__col--gap { margin-right: 0; }
    }

    /* ── Адаптив ФУТЕРА ── */
    @media (max-width: 1050px) {
      .footer {
        height: auto !important;
        padding: 40px 32px 24px;
        display: flex;
        flex-direction: column;
        gap: 20px;
      }
      /* Убираем absolute у всех элементов футера */
      .footer__logo,
      .footer__tagline,
      .footer__cta,
      .footer__nav-title,
      .footer__nav,
      .footer__contacts-title,
      .footer__contacts-block,
      .footer__line,
      .footer__copyright,
      .footer__policy,
      .footer__terms {
        position: relative;
        left: auto; right: auto; top: auto; bottom: auto;
      }
      /* Logo & tagline */
      .footer__tagline { font-size: 14px; line-height: 1.3; }
      /* CTA кнопка */
      .footer__cta { width: auto; align-self: flex-start; height: 48px; padding: 0 24px; }
      /* Nav + Contacts — два столбца */
      .footer__mid {
        display: flex;
        gap: 32px;
        flex-wrap: wrap;
      }
      .footer__nav-col,
      .footer__contacts-col {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      .footer__contacts-col { flex: 1 1 240px; }
      /* Bottom bar */
      .footer__bottom {
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .footer__line {
        position: relative;
        left: 0; right: 0;
        width: 100%;
        height: 1px;
        background: rgba(255,255,255,0.3);
      }
      .footer__bottom-links {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
      }
      .footer__copyright,
      .footer__policy,
      .footer__terms { font-size: 11px; }
    }

    @media (max-width: 600px) {

      .mobile-block {
        display: block;
      }

      .footer { padding: 32px 16px 20px; gap: 16px; }
      .footer__cta span { font-size: 18px; }
      .footer__contacts-label { width: auto; }
      .footer__mid { flex-direction: column; gap: 24px; }
    }

    /* Единый стиль информационного текста на всех разрешениях */
    .hero__desc,
    .hero__why-desc,
    .branch-card__address,
    .branch-card__address strong,
    .branch-card__desc,
    .pricing__note,
    .pricing__note strong,
    .section__text,
    .details__text,
    .details__text p,
    .schedule__row,
    .schedule__time,
    .schedule__item,
    .services > .details__text,
    .documents > .details__text,
    .contacts__phone,
    .contacts__phone strong,
    .contacts__email,
    .contacts__email strong {
      font-family: "Roboto", sans-serif;
      font-size: var(--content-text-size);
      font-weight: var(--content-text-weight);
      line-height: var(--content-text-line-height);
      color: var(--content-text-color);
      letter-spacing: 0;
    }


    /* ── Reset маски Hero на мобайле ── */
    @media (max-width: 900px) {
      .hero__bg {
        -webkit-mask-image: none !important;
        mask-image: none !important;
        overflow: hidden;
        border-radius: 0;
      }
      .hero__bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    /* ===================== УВЕДОМЛЕНИЕ ===================== */
    .notif {
      background: #fff;
      border-radius: 20px;
      padding: 48px 40px 40px;
      width: 420px;
      max-width: 90vw;
      text-align: center;
      position: relative;
    }
    .notif__close {
      position: absolute;
      top: 16px;
      right: 16px;
    }
    .notif__icon {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: #305b84;
      color: #fff;
      font-size: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 24px;
    }
    .notif__title {
      font-size: 28px;
      font-weight: 700;
      color: #004770;
      margin-bottom: 16px;
    }
    .notif__text {
      font-size: 16px;
      color: rgba(14,43,77,0.7);
      line-height: 1.3;
      margin-bottom: 32px;
    }
    .notif__btn {
      background: #305b84;
      color: #fff;
      border: none;
      border-radius: 50px;
      height: 52px;
      padding: 0 40px;
      font-size: 17px;
      font-weight: 500;
      cursor: pointer;
      width: 100%;
    }
    .notif__btn:hover { background: #004770; }

    /* ── Попап контактов ── */
    .contact-popup {
      background: #fff;
      border-radius: 20px;
      padding: 48px 40px 40px;
      width: 400px;
      max-width: 90vw;
      text-align: center;
      position: relative;
    }
    .contact-popup__title {
      font-size: 26px;
      font-weight: 700;
      color: #004770;
      margin-bottom: 10px;
    }
    .contact-popup__subtitle {
      font-size: 15px;
      color: rgba(14,43,77,0.6);
      line-height: 1.3;
      margin-bottom: 28px;
    }
    .contact-popup__phone {
      display: block;
      font-size: 26px;
      font-weight: 700;
      color: #305b84;
      text-decoration: none;
      margin-bottom: 10px;
    }
    .contact-popup__phone:hover { color: #004770; }
    .contact-popup__email {
      display: block;
      font-size: 16px;
      color: #305b84;
      text-decoration: none;
      margin-bottom: 32px;
    }
    .contact-popup__email:hover { color: #004770; }
    .contact-popup__close-btn { margin-top: 0; }

    /* Поле уточнения психического заболевания */
    .calc__mental-detail {
      display: none;
      margin-top: 8px;
    }

    /* ── Калькулятор — адаптив ── */
    @media (max-width: 768px) {
      .calculator {
        width: 95vw;
        max-height: 90vh;
        overflow-y: auto;
        border-radius: 16px;
      }
      .calc__header h2 { font-size: 18px; white-space: normal; text-align: center; padding: 0 40px; }
      .calc__header { height: auto; padding: 20px; }
      .calc__body {
        padding: 24px 20px;
        grid-template-columns: 1fr;
        gap: 16px;
      }
      .calc__field { grid-column: span 1 !important; }
      .calc__input,
      .calc__submit { width: 100%; }
      .calc__consent, .calc__submit-wrap { grid-column: span 1; }
      .calc__gender { flex-direction: row; flex-wrap: wrap; gap: 16px; }
    }

    /* ===================== ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ ===================== */

    /* --- Панель --- */
    .a11y-panel {
      display: none;
      background: #eef2f6;
      border-bottom: 2px solid #305b84;
      position: -webkit-sticky;
      position: sticky;
      top: 68px;
      z-index: 99;
      width: 100%;
    }
    .a11y-panel.open { display: block; }
    .a11y-panel__inner {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 16px;
      padding: 10px 52px;
    }
    .a11y-panel__label {
      font-size: 13px;
      font-weight: 500;
      color: #555;
      white-space: nowrap;
    }
    .a11y-panel__group { display: flex; gap: 4px; }
    .a11y-panel__btn {
      padding: 4px 12px;
      font-size: 14px;
      border: 1px solid #aaa;
      background: #fff;
      cursor: pointer;
      border-radius: 4px;
      color: #333;
      line-height: 1.3;
    }
    .a11y-panel__btn:hover:not(.a11y-panel__btn--active) { background: #d0dce8; }
    .a11y-panel__btn--active {
      background: #305b84 !important;
      color: #fff !important;
      border-color: #305b84 !important;
    }
    .a11y-panel__btn--bw { background: #fff; color: #000; }
    .a11y-panel__btn--wb { background: #000; color: #fff; border-color: #555; }
    .a11y-panel__btn--yb { background: #f9f214; color: #000; border-color: #bba800; }
    .a11y-panel__sep {
      width: 1px;
      height: 22px;
      background: #ccc;
      flex-shrink: 0;
    }
    .a11y-panel__reset {
      font-size: 13px;
      font-weight: 500;
      background: none;
      border: 1px solid #aaa;
      border-radius: 4px;
      padding: 4px 12px;
      cursor: pointer;
      color: #555;
      white-space: nowrap;
    }
    .a11y-panel__reset:hover { background: #d0dce8; }
    @media (max-width: 900px) {
      .a11y-panel__inner { padding: 8px 16px; gap: 6px 12px; }
      .a11y-panel__label { font-size: 12px; }
      .a11y-panel__btn { font-size: 12px; padding: 3px 8px; }
    }
    @media (max-width: 600px) {
      .a11y-panel__sep { display: none; }
    }

    /* --- Размер шрифта: зумируем только контент, шапка и панель не трогаются --- */
    html.a11y-fs-1 .page-content { zoom: 1.25; }
    html.a11y-fs-2 .page-content { zoom: 1.5; }

    /* --- Межбуквенный интервал --- */
    html.a11y-spacing-1 .page-content { letter-spacing: 0.08em; line-height: 1.9; word-spacing: 0.15em; }
    html.a11y-spacing-2 .page-content { letter-spacing: 0.16em; line-height: 2.2; word-spacing: 0.3em; }

    /* --- Изображения --- */
    html.a11y-no-images img { visibility: hidden !important; }

    /* ---- Цветовые схемы ---- */
    /* Подход: таргетируем крупные блоки, не трогаем панель и шапку,
       для активных кнопок схем используем outline — он не конфликтует с их bg */

    /* Активная кнопка цветовой схемы — outline, чтобы не перебивать bg Б/Ч и Ж/Ч */
    .a11y-panel__btn--bw.a11y-panel__btn--active,
    .a11y-panel__btn--wb.a11y-panel__btn--active,
    .a11y-panel__btn--yb.a11y-panel__btn--active {
      outline: 3px solid #305b84 !important;
      outline-offset: 2px !important;
    }

    /* БЕЛЫЙ (Ч/Б): чёрный текст на белом фоне */
    html.a11y-scheme-white,
    html.a11y-scheme-white body { background-color: #fff !important; color: #000 !important; }
    /* Контентные блоки */
    html.a11y-scheme-white .page-content,
    html.a11y-scheme-white .hero,
    html.a11y-scheme-white .hero__content,
    html.a11y-scheme-white .branch-card,
    html.a11y-scheme-white .branch-card__info,
    html.a11y-scheme-white .pricing,
    html.a11y-scheme-white .pricing__col,
    html.a11y-scheme-white .section,
    html.a11y-scheme-white .details,
    html.a11y-scheme-white .schedule,
    html.a11y-scheme-white .services,
    html.a11y-scheme-white .service-item,
    html.a11y-scheme-white .documents__grid,
    html.a11y-scheme-white .doc-item,
    html.a11y-scheme-white .contacts,
    html.a11y-scheme-white .footer { background-color: #fff !important; }
    /* Шапка в белом режиме */
    html.a11y-scheme-white .header { background-color: #fff !important; border-bottom: 2px solid #ccc !important; }
    /* Текст */
    html.a11y-scheme-white p, html.a11y-scheme-white h1, html.a11y-scheme-white h2,
    html.a11y-scheme-white h3, html.a11y-scheme-white span, html.a11y-scheme-white li,
    html.a11y-scheme-white label, html.a11y-scheme-white button,
    html.a11y-scheme-white .header__nav a,
    html.a11y-scheme-white .header__mobile-nav a { color: #000 !important; }
    html.a11y-scheme-white a { color: #00008b !important; }
    /* Кнопка «Версия для слабовидящих» — текст всегда белый */
    html.a11y-scheme-white .header__a11y,
    html.a11y-scheme-white .header__a11y span { color: #fff !important; }
    html.a11y-scheme-white .hero__bg { display: none !important; }
    html.a11y-scheme-white .modal-overlay { background: rgba(0,0,0,0.6) !important; }

    /* ЧЁРНЫЙ (Б/Ч): инверсия через filter */
    html.a11y-scheme-black body { background: #000 !important; }
    html.a11y-scheme-black .page-content { filter: invert(1); }
    html.a11y-scheme-black .page-content img,
    html.a11y-scheme-black .page-content video { filter: invert(1); }
    html.a11y-scheme-black .header { filter: invert(1); }
    /* .a11y-panel не трогаем — она вне page-content, на чёрном body выглядит нормально */

    /* ЖЁЛТЫЙ (Ж/Ч): чёрный текст на жёлтом фоне */
    html.a11y-scheme-yellow,
    html.a11y-scheme-yellow body { background-color: #f9f214 !important; color: #000 !important; }
    /* Контентные блоки */
    html.a11y-scheme-yellow .page-content,
    html.a11y-scheme-yellow .hero,
    html.a11y-scheme-yellow .hero__content,
    html.a11y-scheme-yellow .branch-card,
    html.a11y-scheme-yellow .branch-card__info,
    html.a11y-scheme-yellow .pricing,
    html.a11y-scheme-yellow .pricing__col,
    html.a11y-scheme-yellow .section,
    html.a11y-scheme-yellow .details,
    html.a11y-scheme-yellow .schedule,
    html.a11y-scheme-yellow .services,
    html.a11y-scheme-yellow .service-item,
    html.a11y-scheme-yellow .documents__grid,
    html.a11y-scheme-yellow .doc-item,
    html.a11y-scheme-yellow .contacts,
    html.a11y-scheme-yellow .footer { background-color: #f9f214 !important; }
    /* Шапка в жёлтом режиме */
    html.a11y-scheme-yellow .header { background-color: #f9f214 !important; border-bottom: 2px solid #000 !important; }
    /* Текст */
    html.a11y-scheme-yellow p, html.a11y-scheme-yellow h1, html.a11y-scheme-yellow h2,
    html.a11y-scheme-yellow h3, html.a11y-scheme-yellow span, html.a11y-scheme-yellow li,
    html.a11y-scheme-yellow label, html.a11y-scheme-yellow button,
    html.a11y-scheme-yellow .header__nav a,
    html.a11y-scheme-yellow .header__mobile-nav a { color: #000 !important; }
    html.a11y-scheme-yellow a { color: #00008b !important; }
    html.a11y-scheme-yellow .header__a11y,
    html.a11y-scheme-yellow .header__a11y span { color: #fff !important; }
    html.a11y-scheme-yellow .hero__bg { display: none !important; }
    html.a11y-scheme-yellow .modal-overlay { background: rgba(0,0,0,0.6) !important; }
  