  :root {
      /* Палитра голубые и светло-голубые */
      --blue-deep: #0f2c3d;
      --blue-mid: #1a4a5c;
      --blue-lake: #2a6a7e;
      --blue-soft: #4a8a9e;
      --blue-pale: #c8e0e8;
      --blue-light: #e0f0f5;
      --sand: #e8ddd0;
      --sand-dark: #c9b8a3;
      --gold: #c89d5c;
      --gold-light: #e8c97a;
      --cream: #f7f3ec;
      --white: #ffffff;
      --text-dark: #1a2b32;
      --text-soft: #4a5b62;
      --shadow: 0 20px 60px rgba(15, 44, 61, 0.12);
      --shadow-soft: 0 8px 32px rgba(15, 44, 61, 0.08);
      --radius: 4px 10px 4px 10px;
      ;
      --transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  }

  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }

  html {
      scroll-behavior: smooth;
  }

  @font-face {
      font-family: 'Yiggivoo Unicode';
      src: url('../fonts/yiggivoo-unicode.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;

      font-display: swap;

  }


  /* ------------ */
  .branch-svg,
  .river-svg,
  .falling-leaf,
  .dew-drop,
  .firefly {
      will-change: transform, opacity;
  }

  @media (max-width:768px) {
      .nature-layer {
          display: none;
      }

      #about,
      #News,
      #video,
      #campsite,
      #accommodation,
      #News,
      #announcements,
      #not_found {
          background-color: #c8e0e8;
          background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='6' viewBox='0 0 100 6'><path d='M0,3 Q12.5,0 25,3 T50,3 T75,3 T100,3' stroke='rgba(255,255,255,0.15)' stroke-width='2' fill='none'/></svg>");
          background-repeat: repeat-x repeat-y;
          background-size: 100px 6px;
      }

      #contacts {
          background: #e0f0f5;
      }

      .label {
          background: #A2CDDB !important;
      }

      #News,
      #announcements,
      #not_found {
          padding: 40px 8px !important;
      }
  }


  /* =================== */



  .slide__title,
  .logo__name,
  .logo__sub {
      font-family: 'Yiggivoo Unicode', sans-serif !important;
  }


  body {
      font-family: 'Roboto', sans-serif;
      font-weight: 400;
      color: var(--text-dark);

      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
  }

  img {
      display: block;
      max-width: 100%;
      height: auto;
  }

  a {
      text-decoration: none;
      color: inherit;
      transition: color var(--transition);
  }

  ul {
      list-style: none;
  }

  /* NATURE LAYER */
  .nature-layer {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      z-index: 1;
      overflow: hidden;
  }

  .branch-svg,
  .river-svg {
      position: absolute;
      opacity: 0;
      will-change: transform, opacity;
      overflow: visible;
  }

  .dew-drop {
      position: absolute;
      border-radius: 50%;
      opacity: 0;
      will-change: transform, opacity;
      background: radial-gradient(circle at 30% 30%, rgba(180, 220, 245, 0.8), rgba(100, 180, 220, 0.2));
      box-shadow: 0 0 18px rgba(140, 200, 235, 0.35);
  }

  .firefly {
      position: absolute;
      border-radius: 50%;
      opacity: 0;
      will-change: transform, opacity;
      background: radial-gradient(circle, rgba(170, 220, 250, 0.8), rgba(130, 190, 230, 0));
      box-shadow: 0 0 10px rgba(130, 190, 230, 0.5);
  }

  .falling-leaf {
      position: absolute;
      pointer-events: none;
      will-change: transform, opacity;
  }


  .mist {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 32%;

      background: linear-gradient(to top, rgba(150, 200, 225, 0.25), transparent);

      opacity: 0;


      pointer-events: none;
  }

  .slider,
  .section,
  .footer {
      position: relative;
      z-index: 1;
  }

  .section--dark {
      position: relative;
      z-index: 1;
  }

  /* ОБЩИЕ СТИЛИ */
  .section {
      max-width: 1360px;
      margin: 0 auto;
      padding: 80px 40px;
      box-sizing: border-box;
      width: 100%;
  }

  @media (max-width: 768px) {
      .section {
          padding: 60px 20px;
      }
  }

  .section--dark {
      background-color: var(--blue-deep);
      color: var(--cream);
  }

  .section--dark .label {
      color: var(--blue-lake);
  }

  .section--dark .heading {
      color: var(--cream);
  }

  .section--dark .body-text {
      color: rgba(255, 255, 255, 0.75);
  }

  .section__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-bottom: 56px;
      gap: 30px;
  }

  @media (max-width: 768px) {
      .section__head {
          flex-direction: column;
          align-items: flex-start;
          gap: 16px;
      }

      .section__head .body-text {
          text-align: left !important;
          max-width: 100% !important;
      }
  }

  .section__head-right {
      font-size: 15px;
      font-weight: 500;
      color: var(--gold);

      padding-bottom: 2px;
      white-space: nowrap;
  }

  .section--dark .section__head-right {
      color: var(--gold-light);

  }

  .label {
      display: inline-block;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--blue-lake);
      background: var(--blue-pale);
      padding: 4px 16px;
      border-radius: 4px 10px 4px 10px;
      margin-bottom: 12px;
  }

  .heading {
      font-family: 'Roboto', sans-serif;
      font-weight: 600;
      line-height: 1.15;
      letter-spacing: -0.02em;
  }

  .heading.h1 {
      font-size: clamp(2.4rem, 5vw, 4rem);
  }

  .heading.h2 {
      font-size: clamp(2rem, 3.8vw, 3.2rem);
  }

  .body-text {
      font-size: 17px;
      line-height: 1.7;
      color: var(--text-soft);
  }

  .btn-gold {
      display: inline-block;
      background: var(--gold);
      color: var(--white);
      font-weight: 600;
      font-size: 14px;
      padding: 14px 34px;

      border-radius: 4px 10px 4px 10px;
      cursor: pointer;
      transition: all var(--transition);
      letter-spacing: 0.3px;
      box-shadow: 0 4px 20px rgba(200, 157, 92, 0.35);
  }

  .btn-gold:hover {
      background: #b5874e;
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(200, 157, 92, 0.45);
  }

  .btn-outline {
      display: inline-block;
      background: transparent;
      color: var(--white);
      font-weight: 500;
      font-size: 14px;
      padding: 14px 34px;
      border-radius: 4px 10px 4px 10px;
      border: 1.5px solid rgba(255, 255, 255, 0.3);
      transition: all var(--transition);
      letter-spacing: 0.3px;
  }

  .btn-outline:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: var(--gold);
      transform: translateY(-2px);
  }

  .reveal {
      opacity: 1;
      transform: translateY(40px);
      transition: opacity 0.8s ease, transform 0.8s ease;
  }

  .reveal.visible {
      opacity: 1;
      transform: translateY(0);
  }

  .reveal-delay-1 {
      transition-delay: 0.12s;
  }

  .reveal-delay-2 {
      transition-delay: 0.24s;
  }

  .reveal-delay-3 {
      transition-delay: 0.36s;
  }

  /* HEADER */
  .header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 999;
      padding: 18px 40px;
      transition: all var(--transition);
      background: transparent;
  }

  .header.scrolled {
      background: rgba(15, 44, 61, 0.94);
      backdrop-filter: blur(16px);

      padding: 12px 40px;
      box-shadow: 0 4px 30px rgba(0, 0, 0, 0.18);
  }

  .header__inner {
      max-width: 1420px;

      margin: 0 auto;
      display: flex;
      align-items: center;

      justify-content: space-between;
      gap: 20px;
  }

  .logo {
      display: flex;
      align-items: center;
      gap: 12px;
      color: var(--white);
  }

  .logo__icon {
      width: 60px;
  }

  .logo__name {
      font-weight: 500;
      font-size: 20px;
      letter-spacing: -0.3px;
  }

  .logo__sub {
      font-size: 12px;
      font-weight: 300;
      letter-spacing: 1.5px;
      color: var(--white);
  }

  .nav {
      display: flex;
      gap: 32px;
      font-weight: 400;
      font-size: 14px;
  }

  .nav a {
      color: rgba(255, 255, 255, 0.8);
      position: relative;
      padding: 4px 0;
  }

  .nav a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: width var(--transition);
  }

  .nav a:hover {
      color: var(--white);
  }

  .nav a:hover::after {
      width: 100%;
  }

  .header__cta {
      display: flex;
      align-items: center;
      gap: 28px;
  }

  .header__phone {
      color: rgba(255, 255, 255, 0.85);
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.3px;
  }

  .header__phone:hover {
      color: var(--gold-light);
  }

  .header__book-desktop {
      padding: 10px 28px;
      font-size: 13px;
  }

  .burger {
      display: none;
      background: transparent;
      border: none;
      color: var(--white);
      cursor: pointer;
      padding: 4px;
  }

  @media (max-width: 992px) {

      .nav,
      .header__cta .header__phone {
          display: none;
      }

      .burger {
          display: block;
      }

      .header {
          padding: 14px 20px;
      }

      .header.scrolled {
          padding: 10px 20px;
      }
  }

  .mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      height: 100dvh;
      /* корректно на мобильных (учитывает адресную строку) */
      background: var(--blue-deep);
      padding: 100px 40px 40px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      transform: translateX(100%);
      transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
      z-index: 998;

      overflow-y: auto;
      /* ← включает вертикальный скролл */
      -webkit-overflow-scrolling: touch;
      /* ← плавный скролл на iOS */
      overscroll-behavior: contain;
      /* ← не «дёргает» фон при скролле */
  }

  .mobile-menu.open {
      transform: translateX(0);
  }

  .mobile-menu a {
      color: rgba(255, 255, 255, 0.85);
      font-size: 20px;
      font-weight: 400;
      padding: 12px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .mobile-menu .btn-gold {
      align-self: flex-start;
      margin-top: 20px;
      padding: 14px 40px;
  }

  /* SLIDER */
  .slider {
      position: relative;
      height: 100vh;
      height: 100dvh;
      /* корректно на мобильных с адресной строкой */
      min-height: 600px;
      /* было 700 — уменьшили */
      max-height: 1100px;
      background: var(--blue-deep);
      z-index: 2;
      overflow: hidden;
      /* ← важно, чтобы контент не вылезал */
  }

  /* Ноутбуки с низкой высотой — уменьшаем минимум */
  @media (min-width: 993px) and (max-height: 800px) {
      .slider {
          min-height: 500px;
      }
  }

  @media (min-width: 993px) and (max-height: 700px) {
      .slider {
          min-height: 450px;
      }
  }

  .slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 1.2s ease;
  }

  .slide.active {
      opacity: 1;
      z-index: 2;
  }

  .slide__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: brightness(0.55) saturate(1.1);

  }

  .slide__overlay {

      position: absolute;
      inset: 0;

  }

  .slider__content {
      position: absolute;
      left: 3%;
      right: 0;
      bottom: clamp(100px, 35vh, 500px);
      max-width: 1420px;
      margin: 0 auto;
      z-index: 3;
      color: var(--white);
      box-sizing: border-box;
  }

  /* Ноутбуки с низкой высотой  */
  @media (min-width: 993px) and (max-height: 800px) {
      .slider__content {
          bottom: clamp(80px, 44vh, 325px);
      }
  }

  @media (min-width: 993px) and (max-height: 700px) {
      .slider__content {
          bottom: 60px;
      }
  }

  /* Мобильные — оставляем как было */
  @media (max-width: 768px) {
      .slider__content {
          bottom: clamp(80px, 15vh, 140px);
          padding: 0 20px;
      }
  }

  @media (max-width: 480px) {
      .slider__content {
          bottom: 70px;
          padding: 0 16px;
      }
  }

  .slide__tag {
      display: inline-block;
      background: rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(4px);
      padding: 6px 20px;
      border-radius: 4px 10px 4px 10px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: clamp(12px, 2vh, 24px);
  }

  .slide__sub {
      font-size: clamp(0.95rem, 1.4vw, 1.25rem);
      font-weight: 300;
      opacity: 0.85;
      margin-bottom: clamp(20px, 3vh, 40px);
      max-width: 520px;
  }

  /* Низкие экраны — уменьшаем отступы */
  @media (min-width: 993px) and (max-height: 800px) {
      .slide__tag {
          margin-bottom: 14px;
          padding: 5px 16px;
          font-size: 11px;
      }

      .slide__sub {
          margin-bottom: 22px;
          font-size: 0.95rem;
      }
  }

  @media (min-width: 993px) and (max-height: 700px) {
      .slide__tag {
          margin-bottom: 10px;
      }

      .slide__sub {
          margin-bottom: 16px;
          font-size: 0.9rem;
      }
  }

  /* Мобильные — как было */
  @media (max-width: 768px) {
      .slide__tag {
          font-size: 10px;
          padding: 4px 16px;
          margin-bottom: 16px;
      }

      .slide__sub {
          font-size: 0.95rem;
          max-width: 100%;
          margin-bottom: 30px;
      }
  }

  @media (max-width: 480px) {
      .slide__sub {
          font-size: 0.85rem;
      }
  }

  .slide__title {
      font-family: 'Roboto', sans-serif;
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -0.02em;
      margin-bottom: clamp(10px, 1.5vh, 16px);
      transition: transform 0.1s ease-out;

      /* vmin учитывает И ширину, И высоту — идеально для ноутбуков */
      font-size: clamp(1.5rem, 6vmin, 4.375rem);
  }

  /* Планшеты и маленькие ноутбуки */
  @media (max-width: 992px) {
      .slide__title {
          font-size: clamp(1.6rem, 5.5vmin, 3.25rem);
      }
  }

  /* НОУТБУКИ С НИЗКОЙ ВЫСОТОЙ — ключевой медиа-запрос */
  @media (min-width: 993px) and (max-height: 800px) {
      .slide__title {
          font-size: clamp(1.6rem, 5vmin, 3rem);
          /* макс 48px вместо 70 */
      }
  }

  @media (min-width: 993px) and (max-height: 700px) {
      .slide__title {
          font-size: clamp(1.5rem, 4.5vmin, 2.5rem);
          /* макс 40px */
          line-height: 1.1;
      }
  }

  /* Мобильные */
  @media (max-width: 768px) {
      .slide__title {
          font-size: clamp(1.6rem, 7vw, 2.4rem);
          margin-bottom: 12px;
      }
  }

  @media (max-width: 480px) {
      .slide__title {
          font-size: clamp(1.4rem, 6vw, 1.8rem);
      }
  }

  .slide__title span {
      font-weight: 400;
      /* font-style: italic; */
      color: var(--gold-light);
  }

  /* .slide__sub {
      font-size: clamp(1rem, 1.4vw, 1.25rem);
      font-weight: 300;
      opacity: 0.85;
      margin-bottom: 40px;
      max-width: 520px;
  } */

  .slide__btns {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
  }

  .slider__progress-container {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: rgba(255, 255, 255, 0.15);
      z-index: 4;
  }

  .slider__progress-bar {
      height: 100%;
      width: 0%;
      background: var(--gold);
      transition: width 0.1s linear;
  }

  .slider__controls {
      position: absolute;
      bottom: 12px;
      right: 40px;
      z-index: 4;
      display: flex;
      align-items: center;
      gap: 16px;
  }

  @media (max-width: 768px) {
      .slider__controls {
          bottom: 12px !important;
          right: 20px;
          gap: 12px;
      }
  }

  .slider__btn {
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255, 255, 255, 0.15);
      background: transparent;
      color: #fff;
      border-radius: 50%;
      cursor: pointer;
      transition: all var(--transition);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
  }

  .slider__btn:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: var(--gold);
  }

  .slider__count {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.4);
      font-weight: 400;
      letter-spacing: 0.5px;
      min-width: 50px;
      text-align: center;
  }


  /* ABOUT */
  .about__top {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 40px;
      align-items: start;
      margin-bottom: 60px;
  }

  @media (max-width: 992px) {
      .about__top {
          grid-template-columns: 1fr;
          gap: 24px;
      }

      .about__top .divider {
          display: none;
      }


  }

  .about__left .heading {
      margin-bottom: 8px;
  }

  .divider {
      width: 2px;
      height: 140px;
      background: var(--sand-dark);
      opacity: 0.3;
      border-radius: 2px;
      align-self: stretch;
  }

  .about__right {
      display: flex;
      flex-direction: column;
      gap: 20px;
  }

  .about__right a {
      font-weight: 500;
      color: var(--gold);

      align-self: flex-start;
      padding-bottom: 2px;
  }

  .mosaic {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      grid-template-rows: auto 1fr;
      gap: 20px;
      border-radius: var(--radius);
      overflow: hidden;
  }

  @media (max-width: 768px) {
      .mosaic {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
      }
  }

  .mosaic__main {
      grid-row: 1 / 3;
      position: relative;
      overflow: hidden;
      border-radius: var(--radius);
  }

  .mosaic__main img {
      width: 100%;
      height: 100%;
      min-height: 420px;
      object-fit: cover;
      transition: transform 1s ease;
  }

  .mosaic__main:hover img {
      transform: scale(1.03);
  }

  .mosaic__label-bottom {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
      color: white;
      padding: 40px 24px 18px;
      font-size: 13px;
      font-weight: 300;
      letter-spacing: 0.5px;
  }

  .mosaic__top {
      position: relative;
      overflow: hidden;
      border-radius: 4px 10px 4px 10px;
  }

  .mosaic__top img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      transition: transform 1s ease;
  }

  .mosaic__top:hover img {
      transform: scale(1.04);
  }

  .mosaic__top-label {
      position: absolute;
      top: 16px;
      left: 16px;
      background: rgba(0, 0, 0, 0.55);
      backdrop-filter: blur(6px);
      color: white;
      padding: 6px 18px;
      border-radius: 4px 10px 4px 10px;
      font-size: 12px;
      font-weight: 400;
  }

  .mosaic__bottom {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
  }

  .mosaic__badge {
      background: var(--gold);
      border-radius: 4px 10px 4px 10px;
      padding: 24px 20px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: var(--white);
  }

  .mosaic__badge-num {
      font-family: 'Roboto', sans-serif;
      font-size: 2.8rem;
      font-weight: 700;
      line-height: 1;
  }

  .mosaic__badge-txt {
      font-size: 14px;
      font-weight: 400;
      margin-top: 6px;
      opacity: 0.9;
  }

  .mosaic__wildlife {
      position: relative;
      overflow: hidden;
      border-radius: 4px 10px 4px 10px;
  }

  .mosaic__wildlife img {
      width: 100%;
      height: 100%;
      min-height: 140px;
      object-fit: cover;
      transition: transform 1s ease;
  }

  .mosaic__wildlife:hover img {
      transform: scale(1.06);
  }

  .mosaic__wildlife-label {
      position: absolute;
      bottom: 12px;
      left: 12px;
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px);
      color: white;
      padding: 4px 16px;
      border-radius: 4px 10px 4px 10px;
      font-size: 11px;
      font-weight: 400;
  }

  /* SERVICES */
  .services__grid {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 60px;
      align-items: start;
  }

  @media (max-width: 992px) {
      .services__grid {
          grid-template-columns: 1fr;
          gap: 40px;
      }
  }

  .services__list {
      display: flex;
      flex-direction: column;
      gap: 12px;
  }

  .service-item {
      display: flex;
      align-items: center;
      gap: 16px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: 4px 10px 4px 10px;
      padding: 18px 20px;
      cursor: pointer;
      transition: all 0.4s ease;
      text-align: left;
      width: 100%;
      color: rgba(255, 255, 255, 0.7);
  }

  .service-item:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(200, 157, 92, 0.3);
  }

  .service-item.active {
      background: rgba(200, 157, 92, 0.15);
      border-color: var(--gold);
      color: var(--white);
  }

  .service-item__icon {
      font-size: 24px;
      flex-shrink: 0;
  }

  .service-item__body {
      flex: 1;

  }

  .service-item__title {
      font-weight: 600;
      font-size: 16px;
      color: inherit;
  }

  .service-item__desc {
      font-size: 13px;
      opacity: 0.7;
      margin-top: 2px;
  }

  .service-item__tag {
      font-size: 10px;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      background: rgba(255, 255, 255, 0.06);
      padding: 4px 12px;
      border-radius: 4px 10px 4px 10px;
      color: rgba(255, 255, 255, 0.5);
  }

  .service-item.active .service-item__tag {
      background: var(--gold);
      color: var(--white);
  }

  .service-extras {
      display: flex;
      gap: 10px;
      margin-top: 16px;
      flex-wrap: wrap;
  }

  .service-extra {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.5);
      background: rgba(255, 255, 255, 0.04);
      padding: 6px 18px;
      border-radius: 100px;
      border: 1px solid rgba(255, 255, 255, 0.06);
  }

  .service__panel {
      position: relative;
      border-radius: 4px 10px 4px 10px;
      overflow: hidden;
      aspect-ratio: 4 / 3;
      background: var(--blue-deep);
  }

  .service__panel img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transition: opacity 0.8s ease;
  }

  .service__panel img.active {
      opacity: 1;
  }

  .service__panel-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(15, 44, 61, 0.75), transparent 60%);
      z-index: 2;
  }

  .service__panel-content {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 40px 32px 32px;
      z-index: 3;
      color: var(--white);
  }

  .service__panel-title {
      font-family: 'Roboto', sans-serif;
      font-size: 1.8rem;
      font-weight: 600;
  }

  .service__panel-desc {
      font-size: 15px;
      opacity: 0.85;
      margin: 8px 0 20px;
      max-width: 320px;
  }


  /* ===== BREADCRUMB — основной ===== */
  .breadcrumb {
      font-family: 'Roboto', sans-serif;
      font-size: 14px;
      font-weight: 600;
      color: #2A6A7E;
      margin-bottom: 20px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      line-height: 1.4;
  }

  .breadcrumb a {
      color: inherit;
      text-decoration: none;
      transition: color 0.25s ease;
      overflow-wrap: anywhere;
      word-break: break-word;
  }

  .breadcrumb a:hover {
      color: #C89D5C;
  }

  .breadcrumb span {
      white-space: nowrap;
      overflow-wrap: anywhere;
  }

  @media (max-width: 768px) {
      .breadcrumb {
          font-size: 11px;
          gap: 4px 6px;
          margin-bottom: 16px;
          line-height: 1.5;
      }

      /* Ничего не скрываем — всё переносится на новые строки */
  }

  /* ========== ANNOUNCEMENTS ========== */



  .announcements__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
  }

  .announcement-card {
      background: var(--white);
      border-radius: 4px 10px 4px 10px;
      box-shadow: var(--shadow-soft);
      transition: all var(--transition);
      overflow: hidden;
  }

  .announcement-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
  }

  /* Карточки с фото */
  .announcement-card--highlight,
  .announcement-card--with-image {
      display: grid;
      grid-template-columns: 1fr 1fr;
      padding: 0 !important;
      height: 260px;
  }

  /* Контент слева */
  .announcement-card__content {
      padding: 32px 32px;
      display: flex;
      flex-direction: column;
  }

  /* Обёртка для картинки (контролируем размер) */
  .announcement-card__image-wrapper {
      position: relative;
      overflow: hidden;
      /* Картинка будет растягиваться на всю высоту */
      display: flex;
      align-items: stretch;
  }

  /* Сам контейнер картинки */
  .announcement-card__image {
      width: 100%;
      height: 100%;
      overflow: hidden;
  }

  .announcement-card__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      max-width: none !important;
      transition: transform var(--transition);
  }



  .announcement-card__image img {
      transform: scale(1.05);
  }

  /* Синяя карточка */
  .announcement-card--highlight {
      background: var(--blue-deep);
      color: var(--cream);
      border-color: transparent;

  }

  .announcement-card--highlight .announcement-card__date {
      color: var(--gold-light);
  }

  .announcement-card--highlight .announcement-card__desc {
      color: rgba(255, 255, 255, 0.75);
  }

  .announcement-card--highlight .announcement-card__link {
      color: var(--gold-light);
      border-color: var(--gold-light);
  }

  /* Белая карточка */
  .announcement-card--with-image {
      background: var(--white);
  }

  /* Текст */
  .announcement-card__date {
      font-size: 12px;
      font-weight: 500;
      color: var(--blue-lake);
      letter-spacing: 0.5px;
  }

  .announcement-card__title {
      font-family: 'Roboto', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      margin: 12px 0 10px;
      line-height: 1.3;
  }

  .announcement-card__desc {
      font-size: 15px;
      color: var(--text-soft);
      line-height: 1.6;
      margin: 0;
  }

  .announcement-card__link {
      display: inline-block;
      margin-top: auto;
      padding-top: 6px;
      font-weight: 500;
      color: var(--gold);

      padding-bottom: 2px;
      font-size: 14px;
      text-decoration: none;
      align-self: flex-start;
  }

  /* ===== АДАПТИВ ===== */
  @media (max-width: 900px) {
      .announcements__grid {
          grid-template-columns: 1fr;
      }

      .announcement-card--highlight,
      .announcement-card--with-image {
          grid-template-columns: 1fr;
          height: auto;
          margin: 7px;
      }

      /* Обёртка для картинки на мобильных */
      .announcement-card__image-wrapper {
          height: 240px;
          order: -1;
      }

      .announcement-card__image {
          height: 100%;
      }

      .announcement-card__image img {
          position: relative;
      }

      .announcement-card__content {
          padding: 24px 22px;
      }
  }

  @media (max-width: 480px) {
      .announcement-card__image-wrapper {
          height: 180px;
      }

      .announcement-card__content {
          padding: 20px 18px;
      }

      .announcement-card__title {
          font-size: 1rem;
      }
  }

  /* GALLERY */
  .gallery__grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 16px;
  }

  @media (max-width: 992px) {
      .gallery__grid {
          grid-template-columns: repeat(3, 1fr);
      }
  }

  @media (max-width: 600px) {
      .gallery__grid {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  .gallery__item {
      position: relative;
      overflow: hidden;
      border-radius: var(--radius);
      aspect-ratio: 1 / 1;
      cursor: pointer;
  }

  .gallery__item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
  }

  .gallery__item:hover img {
      transform: scale(1.06);
  }

  .gallery__item-overlay {
      position: absolute;
      inset: 0;
      background: rgba(15, 44, 61, 0.35);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity var(--transition);
  }

  .gallery__item:hover .gallery__item-overlay {
      opacity: 1;

  }

  .gallery__item-icon {

      font-size: 28px;
      color: white;
      /* background: rgba(255, 255, 255, 0.15); */
      /* backdrop-filter: blur(4px); */
      padding: 12px;
      /* border-radius: 50% !important;
      border: 1px solid rgba(255, 255, 255, 0.2); */
  }

  .lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(0, 0, 0, 0.9);
      backdrop-filter: blur(12px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
  }

  .lightbox.open {
      opacity: 1;
      pointer-events: auto;
  }

  .lightbox img {
      max-width: 90vw;
      max-height: 85vh;
      object-fit: contain;
      border-radius: 8px;
      box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6);
  }

  .lightbox__close {
      position: absolute;
      top: 30px;
      right: 40px;
      font-size: 40px;
      color: rgba(255, 255, 255, 0.6);
      cursor: pointer;
      transition: color var(--transition);
      font-weight: 300;
      line-height: 1;
  }

  .lightbox__close:hover {
      color: var(--white);
  }

  /* VIDEO */
  .video__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
  }

  @media (max-width: 992px) {
      .video__grid {
          grid-template-columns: 1fr 1fr;
      }
  }

  @media (max-width: 600px) {
      .video__grid {
          grid-template-columns: 1fr;
      }
  }

  .video-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      cursor: pointer;
      transition: all var(--transition);
  }

  .video-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow);
  }

  .video-card__preview {
      position: relative;
      overflow: hidden;
  }

  .video-card__preview img {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      transition: transform 0.6s ease;
  }

  .video-card:hover .video-card__preview img {
      transform: scale(1.04);
  }

  .video-card__play {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(0, 0, 0, 0.25);
      transition: background var(--transition);
  }

  .video-card:hover .video-card__play {
      background: rgba(0, 0, 0, 0.1);
  }

  .video-card__play-icon {
      width: 60px;
      height: 60px;
      background: var(--gold);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      color: var(--white);
      transition: transform var(--transition);
      box-shadow: 0 8px 30px rgba(200, 157, 92, 0.4);
  }

  .video-card:hover .video-card__play-icon {
      transform: scale(1.08);
  }

  .video-card__body {
      padding: 20px 24px 24px;
  }

  .video-card__title {
      font-weight: 600;
      font-size: 16px;
      line-height: 1.4;
      color: var(--text-dark);
  }

  .video-card__date {
      display: block;
      font-size: 13px;
      color: var(--text-soft);
      margin-top: 6px;
  }

  /* NEWS */
  .news__grid {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 24px;
  }

  @media (max-width: 992px) {
      .news__grid {
          grid-template-columns: 1fr;
      }
  }

  .news-feat {
      position: relative;
      border-radius: 4px 10px 4px 10px;
      overflow: hidden;
      aspect-ratio: 4 / 3;
  }

  .news-feat__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
  }

  .news-feat:hover .news-feat__img {
      transform: scale(1.03);
  }

  .news-feat__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(15, 44, 61, 0.75), transparent 50%);
  }

  .news-feat__body {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 30px 28px 28px;
      color: var(--white);
  }

  .news-feat__meta {
      display: flex;
      gap: 16px;
      font-size: 12px;
      font-weight: 400;
      opacity: 0.8;
  }

  .news-feat__title {
      font-family: 'Roboto', sans-serif;
      font-size: 1.5rem;
      font-weight: 600;
      margin: 10px 0 8px;
      line-height: 1.25;
  }

  .news-feat__excerpt {
      font-size: 15px;
      opacity: 0.85;
      max-width: 480px;
  }

  .news__stack {
      display: flex;
      flex-direction: column;
      gap: 15px;
  }

  .news-card {
      display: flex;
      gap: 18px;
      background: rgba(255, 255, 255, 0.04);
      border-radius: var(--radius);
      padding: 16px;
      border: 1px solid rgba(255, 255, 255, 0.04);
      transition: all var(--transition);
  }

  .news-card:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(255, 255, 255, 0.08);
  }

  .news-card__img-wrap {
      flex-shrink: 0;
      width: 110px;
      height: 100px;
      border-radius: 4px 10px 4px 10px;
      overflow: hidden;
  }

  .news-card__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  .news-card__body {
      flex: 1;
      display: flex;
      flex-direction: column;
  }

  .news__cat {
      font-size: 10px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--gold-light);
  }

  .news-card__title {
      font-family: 'Roboto', sans-serif;
      font-size: 1.05rem;
      font-weight: 600;
      line-height: 1.3;
      margin: 4px 0 6px;
  }

  .news-card__excerpt {
      font-size: 14px;
      opacity: 0.7;
      line-height: 1.5;
  }

  .news-card__date {
      font-size: 12px;
      opacity: 0.5;
      margin-top: auto;
      padding-top: 8px;
  }

  /* CONTACTS */
  .contacts__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 60px;
  }

  .contacts-wrapper {
      width: 1000px;
      margin: auto;
      display: flex;
      flex-direction: column;
      gap: 24px;
  }

  .contacts-address .contacts__item-label {
      margin-bottom: 4px;
  }

  .contacts-address .contacts__item-val {
      line-height: 1.5;
  }

  /* --- Три колонки: телефоны / почта / режим работы --- */
  .contacts-cols {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px 32px;
  }

  @media (max-width: 992px) {
      .contacts-cols {
          grid-template-columns: 1fr 1fr;
          gap: 20px 24px;
      }

      .acc-card__overlay {
          display: none !important;
      }
  }

  .contacts-col__title {
      font-weight: 600;
      margin-bottom: 12px;
      opacity: 0.85;
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.04em;

  }

  .contacts-col__items {
      display: flex;
      flex-direction: column;
      gap: 14px;
  }

  .tel-gr {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
  }

  @media (max-width:768px) {
      .tel-gr {
          grid-template-columns: 1fr;

      }
  }


  .contacts__item {
      display: block;
  }

  .contacts__item-label {
      font-size: 13px;
      opacity: 0.7;
      margin-bottom: 2px;
  }






  .contacts__item-val {
      font-size: 15px;
      line-height: 1.4;
  }

  .contacts__item-val a {
      color: inherit;
      text-decoration: none;
  }

  .contacts__item-val a:hover {
      text-decoration: underline;
  }

  @media (max-width: 992px) {
      .contacts__grid {
          grid-template-columns: 1fr;
          gap: 20px;
      }

      .contacts-wrapper {
          width: 100%;
      }
  }

  .contacts__items {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 24px;
      margin: 28px 0 32px;
  }

  .contacts__item {
      display: block !important;
      gap: 18px;

  }

  .contacts__icon {
      font-size: 22px;
      flex-shrink: 0;
      margin-top: 2px;
  }

  .contacts__item-label {
      font-size: 13px;
      font-weight: 500;
      color: var(--text-soft);
      text-transform: uppercase;
      letter-spacing: 0.5px;
  }

  .contacts__item-val {
      font-weight: 500;
      font-size: 16px;
  }

  .contacts__hours {
      display: flex;
      gap: 40px;
      padding-top: 24px;
      border-top: 1px solid rgba(0, 0, 0, 0.06);
  }

  .contacts__hour-day {
      font-size: 13px;
      color: var(--text-soft);
  }

  .contacts__hour-val {
      font-weight: 500;
      font-size: 16px;
  }

  #main-img {
      display: flex;
      justify-content: space-between;
  }

  /* ===== СОЦИАЛЬНЫЕ СЕТИ ===== */
  .contacts__social {
      margin-top: 40px;
      padding-top: 32px;
      border-top: 2px solid rgba(0, 0, 0, 0.06);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
  }

  .contacts__social-label {
      font-size: 14px;
      font-weight: 500;
      color: var(--text-soft);
      letter-spacing: 0.5px;
  }

  .contacts__social-icons {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      justify-content: center;
  }

  .contacts__social-link {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--blue-light);
      color: var(--blue-deep);
      transition: all var(--transition);
      text-decoration: none;
  }



  .contacts__social-link svg {
      width: 22px;
      height: 22px;
      fill: currentColor;
  }

  /* Адаптив для соцсетей */
  @media (max-width: 768px) {
      .contacts__social {
          margin-top: 32px;
          padding-top: 24px;
      }

      .contacts__social-icons {
          gap: 12px;
      }

      .contacts__social-link {
          width: 44px;
          height: 44px;
      }

      .contacts__social-link svg {
          width: 20px;
          height: 20px;
      }
  }

  @media (max-width: 480px) {
      .contacts__social-link {
          width: 40px;
          height: 40px;
      }

      .contacts__social-link svg {
          width: 18px;
          height: 18px;
      }
  }




  .form-box {
      background: var(--white);
      padding: 40px 36px;
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
  }

  .form-box h3 {
      font-family: 'Roboto', sans-serif;
      font-size: 1.6rem;
      font-weight: 600;
      margin-bottom: 24px;
  }

  .form {
      display: flex;
      flex-direction: column;
      gap: 18px;
  }

  .form__row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
  }

  @media (max-width: 480px) {
      .form__row {
          grid-template-columns: 1fr;
      }
  }

  .form input,
  .form select,
  .form textarea {
      width: 100%;
      padding: 14px 18px;
      border: 1.5px solid #d8e6ec;
      border-radius: 12px;
      font-family: 'Roboto', sans-serif;
      font-size: 14px;
      background: var(--blue-light);
      transition: all var(--transition);
      color: var(--text-dark);
  }

  .form input:focus,
  .form select:focus,
  .form textarea:focus {
      outline: none;
      border-color: var(--blue-soft);
      box-shadow: 0 0 0 4px rgba(74, 138, 158, 0.18);
  }

  .form textarea {
      resize: vertical;
      min-height: 100px;
  }

  .form__submit {
      background: var(--blue-deep);
      color: var(--white);
      font-weight: 600;
      font-size: 15px;
      padding: 16px;
      border: none;
      border-radius: 60px;
      cursor: pointer;
      transition: all var(--transition);
      margin-top: 4px;
  }

  .form__submit:hover {
      background: #1a4a5c;
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(15, 44, 61, 0.3);
  }

  .footer {
      background: var(--blue-deep);
      color: rgba(255, 255, 255, 0.6);
      padding: 24px 40px;
      border-top: 1px solid rgba(255, 255, 255, 0.04);
      position: relative;
      z-index: 2;
  }

  .footer__inner {
      max-width: 1360px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 16px;
      font-size: 13px;
  }

  .footer-logo-wrapper {
      display: flex;
  }

  @media (max-width: 768px) {
      .footer {
          padding: 20px;
      }

      .footer__inner {
          flex-direction: column;
          text-align: center;
      }
  }

  .footer__copy {
      display: flex;
      align-items: center;
      gap: 8px;
  }

  .footer__links {
      display: flex;
      gap: 24px;
      flex-wrap: wrap;
  }

  .footer__links a {
      color: rgba(255, 255, 255, 0.5);
      transition: color var(--transition);
  }

  .footer__links a:hover {
      color: var(--gold-light);
  }

  @media (max-width: 480px) {
      .slide__btns {
          flex-direction: column;
          align-items: flex-start;
          gap: 12px;
      }

      .btn-gold,
      .btn-outline {
          padding: 12px 24px;
          font-size: 13px;
          width: 100%;
          text-align: center;
      }

      .mosaic__bottom {
          grid-template-columns: 1fr;
      }

      .mosaic__main img {
          min-height: 280px;
      }

      .service__panel {
          aspect-ratio: 4 / 3;
      }

      .news-card {
          flex-direction: column;
          padding: 0;
          background: transparent;
          border: none;
      }

      .news-card__img-wrap {
          width: 100%;
          height: auto;
          aspect-ratio: 16 / 9;
          border-radius: 12px;
      }

      .news-card__body {
          padding: 12px 0;
      }

      .lightbox__close {
          top: 16px;
          right: 20px;
          font-size: 32px;
      }

      .form-box {
          padding: 28px 20px;
      }
  }



  /* ======================================== */
  /* ===== ПОЛНЫЙ АДАПТИВ ДЛЯ ВСЕХ СЕКЦИЙ ===== */
  /* ======================================== */

  /* ===== ДЛЯ ПЛАНШЕТОВ  (до 992px) ===== */
  @media (max-width: 992px) {


      /* Общие отступы */
      .section {

          padding: 60px 30px;
      }




      /* Хедер */
      .header {
          padding: 14px 20px;
      }

      .header.scrolled {
          padding: 10px 20px;
      }

      .nav,
      .header__cta .header__phone,
      .header__book-desktop {
          display: none;
      }

      .burger {
          display: block;
      }

      /* Слайдер */
      .slider {
          min-height: 500px;
          /* height: 80vh; */
      }

      .slider__content {
          bottom: 100px;

          padding: 0 30px;
      }


      /* .slide__title {

          font-size: clamp(1.75rem, 4.5vw, 3.25rem);

      } */

      .slide__sub {
          font-size: 1rem;
          max-width: 400px;
      }

      .slider__controls {
          bottom: 30px;
          right: 30px;
      }

      /* About */
      .about__top {
          grid-template-columns: 1fr;
          gap: 24px;
      }

      .about__top .divider {
          display: none;
      }

      .mosaic {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
      }

      .mosaic__main {
          grid-row: auto;
      }

      .mosaic__main img {
          min-height: 300px;
      }

      .mosaic__top img {
          height: 200px;
      }

      .mosaic__bottom {
          grid-template-columns: 1fr 1fr;
      }

      /* Services */
      .services__grid {
          grid-template-columns: 1fr;
          gap: 40px;
      }

      .service__panel {
          aspect-ratio: 4 / 3;
      }

      /* Announcements */
      .announcements__grid {
          grid-template-columns: 1fr;
      }

      .announcement-card--highlight,
      .announcement-card--with-image {
          grid-template-columns: 1fr;
          grid-template-rows: auto 1fr;
      }

      .announcement-card__image-wrapper {
          height: 220px;
          order: -1;
      }

      .announcement-card__image img {
          position: relative;
      }

      .announcement-card__content {
          padding: 24px 22px;
      }

      /* Gallery */
      .gallery__grid {
          grid-template-columns: repeat(3, 1fr);
      }

      /* Video */
      .video__grid {
          grid-template-columns: 1fr 1fr;
      }

      /* News */
      .news__grid {
          grid-template-columns: 1fr;
      }

      .news-feat {
          aspect-ratio: 4 / 3;
      }

      /* Contacts */
      .contacts__grid {
          grid-template-columns: 1fr;
          gap: 40px;
      }

      .contacts__items {
          grid-template-columns: 1fr 1fr;
          gap: 20px;
      }

      #main-img {
          display: grid;
          grid-template-columns: repeat(2, 1fr);

          grid-template-rows: repeat(3, auto);
          gap: 12px;
          justify-items: center;
          align-items: center;
      }

      /* Footer */
      .footer {
          padding: 20px 30px;
      }

      .footer__inner {
          flex-direction: column;
          text-align: center;
          gap: 12px;
      }
  }

  /* ===== ДЛЯ МОБИЛЬНЫХ (до 768px) ===== */
  @media (max-width: 768px) {

      /* Общие отступы */
      .section {
          padding: 50px 20px;
      }

      .section__head {
          flex-direction: column;
          align-items: flex-start;
          gap: 16px;
          margin-bottom: 40px;
      }

      .section__head .body-text {
          text-align: left !important;
          max-width: 100% !important;
      }

      .heading.h1 {
          font-size: clamp(2rem, 5vw, 2.8rem);
      }

      .heading.h2 {
          font-size: clamp(1.6rem, 4vw, 2.2rem);
      }

      .body-text {
          font-size: 15px;
      }

      /* Хедер */
      .header {
          padding: 12px 16px;
      }

      .logo__name {
          font-size: 17px;
      }

      .logo__sub {
          font-size: 10px;
      }

      .logo__icon {
          width: 45px;
      }

      /* Слайдер */
      .slider {
          min-height: 400px;
          height: 70vh;
      }

      .slider__content {
          bottom: 80px;
          padding: 0 20px;
      }

      .slide__tag {
          font-size: 10px;
          padding: 4px 16px;
          margin-bottom: 16px;
      }

      .slide__title {
          font-size: clamp(2rem, 5vw, 2.8rem);
          margin-bottom: 12px;
      }

      .slide__sub {
          font-size: 0.95rem;
          max-width: 100%;
          margin-bottom: 30px;
      }

      .slide__btns {
          flex-direction: column;
          align-items: flex-start;
          gap: 12px;
          width: 100%;
      }

      .btn-gold,
      .btn-outline {
          padding: 12px 24px;
          font-size: 13px;
          width: 100%;
          text-align: center;
      }

      .slider__controls {
          bottom: 20px;
          right: 20px;
          gap: 10px;
      }

      .slider__btn {
          width: 38px;
          height: 38px;
          font-size: 14px;
      }

      .slider__count {
          font-size: 12px;
          min-width: 40px;
      }

      /* About */
      .about__top {
          gap: 20px;
          margin-bottom: 40px;
      }

      .mosaic__main img {
          min-height: 240px;
      }

      .mosaic__top img {
          height: 160px;
      }

      .mosaic__bottom {
          grid-template-columns: 1fr;
          gap: 16px;
      }

      .mosaic__badge {
          padding: 20px;
      }

      .mosaic__badge-num {
          font-size: 2.2rem;
      }

      .mosaic__wildlife img {
          min-height: 120px;
      }

      .mosaic__label-bottom {
          font-size: 12px;
          padding: 30px 18px 14px;
      }

      /* Services */
      .services__grid {
          gap: 30px;
      }

      .service-item {
          padding: 14px 16px;
          gap: 12px;
      }

      .service-item__icon {
          font-size: 20px;
      }

      .service-item__title {
          font-size: 14px;
      }

      .service-item__desc {
          font-size: 12px;
      }

      .service__panel-content {
          padding: 30px 20px 20px;
      }

      .service__panel-title {
          font-size: 1.4rem;
      }

      .service__panel-desc {
          font-size: 13px;
      }

      /* Announcements */
      .announcement-card__image-wrapper {
          height: 200px;
      }

      .announcement-card__content {
          padding: 20px 18px;
      }

      .announcement-card__title {
          font-size: 1.1rem;
          margin: 8px 0 6px;
      }

      .announcement-card__desc {
          font-size: 14px;
      }

      .announcement-card__link {
          font-size: 13px;
          padding-top: 14px;
      }

      /* Gallery */
      .gallery__grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 12px;
      }

      .gallery__item-icon {
          font-size: 22px;
          padding: 10px;
      }

      /* Video */
      .video__grid {
          grid-template-columns: 1fr;
          gap: 20px;
      }

      .video-card__body {
          padding: 16px 18px 18px;
      }

      .video-card__title {
          font-size: 14px;
      }

      .video-card__play-icon {
          width: 50px;
          height: 50px;
          font-size: 18px;
      }

      /* News */
      .news__grid {
          gap: 20px;
      }

      .news-feat {
          aspect-ratio: 4 / 3;
      }

      .news-feat__title {
          font-size: 1.2rem;
      }

      .news-feat__body {
          padding: 24px 20px 20px;
      }

      .news-feat__excerpt {
          font-size: 14px;
      }

      .news-card {
          padding: 14px;
          gap: 14px;
      }

      .news-card__img-wrap {
          width: 90px;
          height: 80px;
      }

      .news-card__title {
          font-size: 0.95rem;
      }

      .news-card__excerpt {
          font-size: 13px;
      }

      /* Contacts */
      .contacts__grid {
          gap: 30px;
      }

      .contacts__items {
          grid-template-columns: 1fr;
          gap: 16px;
          margin: 20px 0 24px;
      }

      .contacts__item {
          gap: 14px;
      }

      .contacts__item-label {
          font-size: 12px;
      }

      .contacts__item-val {
          font-size: 14px;
      }

      .contacts__social {
          margin-top: 32px;
          padding-top: 24px;
      }

      .contacts__social-icons {
          gap: 12px;
      }

      .contacts__social-link {
          width: 44px;
          height: 44px;
      }

      .contacts__social-link svg {
          width: 20px;
          height: 20px;
      }



      /* Footer */
      .footer {
          padding: 16px 20px;
      }

      .footer__inner {
          gap: 10px;
          font-size: 12px;
      }

      .footer__links {
          gap: 16px;
          justify-content: center;
      }
  }

  /* ===== ДЛЯ МАЛЕНЬКИХ ТЕЛЕФОНОВ (до 480px) ===== */
  @media (max-width: 480px) {

      /* Общие отступы */
      .section {
          padding: 40px 16px;
      }

      .section__head {
          margin-bottom: 30px;
          gap: 12px;
      }

      .label {
          font-size: 10px;
          padding: 3px 12px;
      }

      .heading.h1 {
          font-size: 1.8rem;
      }

      .heading.h2 {
          font-size: 1.4rem;
      }

      .body-text {
          font-size: 14px;
      }

      .section__head-right {
          font-size: 13px;
      }

      /* Хедер */
      .header {
          padding: 10px 14px;
      }

      .logo__name {
          font-size: 15px;
      }

      .logo__sub {
          font-size: 9px;
      }

      .logo__icon {
          width: 38px;
      }

      .burger svg {
          width: 24px;
          height: 24px;
      }

      /* Слайдер */
      .slider {
          min-height: 350px;
          height: 65vh;
      }

      .slider__content {
          bottom: 70px;
          padding: 0 16px;
      }

      .slide__title {
          font-size: 1.6rem;
      }

      .slide__sub {
          font-size: 0.85rem;
      }

      .slider__controls {
          bottom: 16px;
          right: 16px;
          gap: 8px;
      }

      .slider__btn {
          width: 34px;
          height: 34px;
          font-size: 12px;
      }

      /* About */
      .mosaic__main img {
          min-height: 200px;
      }

      .mosaic__top img {
          height: 140px;
      }

      .mosaic__badge {
          padding: 16px;
      }

      .mosaic__badge-num {
          font-size: 1.8rem;
      }

      .mosaic__badge-txt {
          font-size: 12px;
      }

      .mosaic__wildlife img {
          min-height: 100px;
      }

      /* Services */
      .service-item {
          padding: 12px 14px;
          gap: 10px;
      }

      .service-item__icon {
          font-size: 18px;
      }

      .service-item__title {
          font-size: 13px;
      }

      .service__panel {
          aspect-ratio: 4 / 3;
      }

      .service__panel-title {
          font-size: 1.2rem;
      }

      .service__panel-desc {
          font-size: 12px;
          margin: 4px 0 12px;
      }

      .service-extras {
          gap: 6px;
      }

      .service-extra {
          font-size: 11px;
          padding: 4px 12px;
      }

      /* Announcements */
      .announcement-card__image-wrapper {
          height: 160px;
      }

      .announcement-card__content {
          padding: 16px 14px;
      }

      .announcement-card__title {
          font-size: 1rem;
          margin: 6px 0 4px;
      }

      .announcement-card__desc {
          font-size: 13px;
      }

      .announcement-card__link {
          font-size: 12px;
          padding-top: 12px;
      }

      /* Gallery */
      .gallery__grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 10px;
      }

      .gallery__item-icon {
          font-size: 18px;
          padding: 8px;
      }

      /* Video */
      .video__grid {
          gap: 16px;
      }

      .video-card__body {
          padding: 14px 14px 16px;
      }

      .video-card__title {
          font-size: 13px;
      }

      .video-card__play-icon {
          width: 44px;
          height: 44px;
          font-size: 16px;
      }

      /* News */
      .news__grid {
          gap: 16px;
      }

      .news-feat {
          aspect-ratio: 4 / 3;
      }

      .news-feat__title {
          font-size: 1rem;
      }

      .news-feat__body {
          padding: 18px 16px 16px;
      }

      .news-feat__excerpt {
          font-size: 13px;
      }

      .news-feat__meta {
          font-size: 11px;
          gap: 12px;
      }

      .news-card {
          flex-direction: column;
          padding: 0;
          background: transparent;
          border: none;
          gap: 10px;
      }

      .news-card__img-wrap {
          width: 100%;
          height: auto;
          aspect-ratio: 16 / 9;
          border-radius: 12px;
      }

      .news-card__body {
          padding: 0;
      }

      .news-card__title {
          font-size: 0.9rem;
      }

      .news-card__excerpt {
          font-size: 12px;
      }

      /* Contacts */
      .contacts__grid {
          gap: 24px;
      }

      .contacts__items {
          gap: 14px;
          margin: 16px 0 20px;
      }

      .contacts__item {
          gap: 12px;
      }

      .contacts__item-label {
          font-size: 11px;
      }

      .contacts__item-val {
          font-size: 13px;
      }

      .contacts__social {
          margin-top: 24px;
          padding-top: 20px;
          gap: 12px;
      }

      .contacts__social-label {
          font-size: 12px;
      }

      .contacts__social-link {
          width: 38px;
          height: 38px;
      }

      .contacts__social-link svg {
          width: 17px;
          height: 17px;
      }

      .contacts__social-icons {
          gap: 10px;
      }




      /* Форма */
      .form-box {
          padding: 20px 16px;
      }

      .form-box h3 {
          font-size: 1.2rem;
          margin-bottom: 16px;
      }

      .form__row {
          grid-template-columns: 1fr;
          gap: 12px;
      }

      .form input,
      .form select,
      .form textarea {
          padding: 12px 14px;
          font-size: 13px;
      }

      .form__submit {
          padding: 14px;
          font-size: 14px;
      }

      /* Footer */
      .footer {
          padding: 14px 16px;
      }

      .footer__inner {
          font-size: 11px;
          gap: 8px;
      }

      .footer__links {
          gap: 12px;
          flex-direction: column;
          align-items: center;
      }

      /* Lightbox */
      .lightbox__close {
          top: 16px;
          right: 20px;
          font-size: 32px;
      }

      .lightbox img {

          max-width: 95vw;

          max-height: 80vh;
      }

      /* Мобильное меню */
      .mobile-menu {

          padding: 80px 24px 30px;
          height: 100dvh;
          overflow-y: auto;

          -webkit-overflow-scrolling: touch;


      }

      .mobile-menu a {
          font-size: 18px;
          padding: 10px 0;
      }

      .mobile-menu .btn-gold {
          padding: 12px 30px;
          font-size: 13px;
      }
  }

  /* ===== ДЛЯ ОЧЕНЬ МАЛЕНЬКИХ ЭКРАНОВ (до 360px) ===== */
  @media (max-width: 360px) {
      .section {
          padding: 30px 12px;
      }

      .heading.h1 {
          font-size: 1.5rem;
      }

      .heading.h2 {
          font-size: 1.2rem;
      }

      .slide__title {
          font-size: 1.3rem;
      }

      .announcement-card__content {
          padding: 14px 12px;
      }

      .announcement-card__title {
          font-size: 0.9rem;
      }

      .contacts__social-link {
          width: 34px;
          height: 34px;
      }

      .contacts__social-link svg {
          width: 15px;
          height: 15px;
      }



      .gallery__grid {
          grid-template-columns: 1fr 1fr;
          gap: 8px;
      }
  }

  /* ===== ДЛЯ ПЛАНШЕТОВ В АЛЬБОМНОЙ ОРИЕНТАЦИИ ===== */
  @media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
      .slider {
          min-height: 450px;
          height: 80vh;
      }

      .slide__title {
          font-size: 3rem;
      }

      .mosaic__main img {
          min-height: 350px;
      }

      .announcement-card__image-wrapper {
          height: 200px;
      }

      .contacts__items {
          grid-template-columns: 1fr 1fr;
      }
  }

  /* ===== ДЛЯ БОЛЬШИХ ЭКРАНОВ (от 1400px) ===== */
  @media (min-width: 1400px) {
      /* .section {
          padding: 100px 60px;
      } */

      .heading.h1 {
          font-size: 4.5rem;
      }

      .heading.h2 {
          font-size: 3.5rem;
      }

      .announcement-card__content {
          padding: 40px 40px;
      }

      .announcement-card__title {
          font-size: 1rem;
      }

      .announcement-card__desc {
          font-size: 14px;
      }


  }


  /* ========================================================== */
  .banner {
      position: relative;
      width: 100%;
      height: 425px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .banner__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }

  @media (max-width: 768px) {
      .banner {
          height: 280px;
      }
  }

  @media (max-width: 480px) {
      .banner {
          height: 250px;
      }



  }

  .container {
      max-width: 1360px;
      margin: 0 auto;
      padding: 0 20px;
      box-sizing: border-box;
      width: 100%;
  }

  @media (max-width:768px) {
      .container {

          padding: 0 !important;

      }
  }


  .section-title {
      font-family: 'Roboto', sans-serif;
      font-size: 40px;
      font-weight: 700;
      color: #1f1f1f;
      margin: 0 0 36px;
  }

  .accommodation-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
  }

  .acc-card {
      display: block;
      border-radius: 4px 10px 4px 10px;
      overflow: hidden;
      background: transparent;
      text-decoration: none;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      position: relative;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
  }



  .acc-card__image {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 10.2;
      overflow: hidden;
  }

  .acc-card__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.55s ease;
  }

  .acc-card:hover .acc-card__image img {
      transform: scale(1.05);
  }

  /* Заголовок поверх картинки СВЕРХУ с размытием */
  .acc-card__header {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      color: #fff;
      font-size: 20px;
      font-weight: 500;
      text-align: center;
      line-height: 1.3;
      transition: background 0.3s ease;
      z-index: 10;
      min-height: 70px;
      display: flex;
      justify-content: center;
      align-items: center;
      pointer-events: none;
  }

  /* При наведении меняется только фон, размытие остается */
  .acc-card:hover .acc-card__header {
      background: #C89D5C;
  }

  /* Оверлей при ховере - под заголовком */
  .acc-card__overlay {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 22px 26px;
      text-align: center;
      color: #fff;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
      z-index: 5;
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
  }

  .acc-card:hover .acc-card__overlay {
      opacity: 1;
      visibility: visible;
  }

  .acc-card__icon {
      margin-bottom: 12px;
      opacity: 0.92;
  }

  .acc-card__icon svg {
      stroke: #fff;
  }

  .acc-card__desc {
      font-size: 13.5px;
      line-height: 1.55;
      margin: 0 0 16px;
      max-width: 400px;
      opacity: 0.95;
  }

  .acc-card__btn {
      display: inline-block;
      padding: 7px 20px;
      border: 1.5px solid rgba(255, 255, 255, 0.75);
      border-radius: 4px 10px 4px 10px;
      font-size: 13.5px;
      font-weight: 500;
      color: #fff;
      transition: all 0.25s ease;
  }

  .acc-card:hover .acc-card__btn {
      background: #C89D5C;
      border-color: #C89D5C;
      color: #fff;
  }

  @media (max-width: 768px) {
      .acc-card__header {
          font-size: 17px;
          padding: 16px 20px;
          min-height: 60px;
      }


  }

  @media (max-width: 480px) {
      .acc-card__header {
          font-size: 14px;
          padding: 12px 16px;
          min-height: 50px;
      }

      .acc-card__overlay {
          padding: 16px 16px;
      }

      .acc-card__desc {
          font-size: 12.5px;
          margin-bottom: 12px;
      }
  }

  /* ================= ОСНОВНЫЕ СТИЛИ СЕКЦИИ ================= */
  .campsite {
      padding: 80px 40px;
      max-width: 1360px;
      margin: 0 auto;
      font-family: 'Roboto', sans-serif;
      color: #2c3e50;
      box-sizing: border-box;
      width: 100%;
  }

  .campsite__title {

      font-size: clamp(24px, 5vw, 38px);
      font-weight: 700;
      margin-bottom: 40px;
      color: #1b3b2b;

      position: relative;
  }

  .campsite__title::after {
      content: '';
      display: block;
      width: 60px;
      height: 3px;
      background: #c89d5c;
      margin: 12px auto 0;
      border-radius: 2px;
  }

  /* ================= СТАЙЛИНГ СЛАЙДЕРА ================= */
  /* Контейнер для стопки */
  .campsite__slider-wrapper {
      position: relative;
      width: 100%;
      max-width: 750px;
      margin: 0 auto 50px auto;
      padding: 40px 0;
  }

  .campsite-swiper {
      width: 100%;
      height: 400px;
      padding-bottom: 40px;
      overflow: visible !important;

  }

  .campsite-swiper .swiper-slide {
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
      background-color: #fff;
  }

  .campsite-swiper .swiper-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  /* Кастомизация точек (пагинации) */
  .campsite-swiper .swiper-pagination-bullet {
      background: #c89d5c;
      opacity: 0.4;
      transition: all 0.3s ease;
  }

  .campsite-swiper .swiper-pagination-bullet-active {
      opacity: 1;
      width: 24px;
      border-radius: 10px;
  }

  /* Кастомные точки карусели */
  .slick-dots {
      bottom: -35px;
  }

  .slick-dots li button:before {
      font-size: 12px;
      color: #c89d5c;
      opacity: 0.3;
      transition: all 0.3s;
  }

  .slick-dots li.slick-active button:before {
      color: #c89d5c;
      opacity: 1;
      transform: scale(1.3);
  }

  /* ================= СЕТКА И БЛОКИ ИНФОРМАЦИИ ================= */
  .campsite__content {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 40px;
      align-items: start;
  }

  /* Левая часть — Информационная карточка */
  .campsite__info {
      background: #ffffff;
      border-radius: 4px 10px 4px 10px;
      padding: 35px;
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
      border: 1px solid rgba(200, 157, 92, 0.15);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
  }

  .campsite__badge {
      display: inline-block;
      background: linear-gradient(135deg, #c89d5c 0%, #E5B722 100%);
      color: #fff;
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
      padding: 6px 16px;
      border-radius: 4px 10px 4px 10px;
      margin-bottom: 20px;
      box-shadow: 0 4px 12px rgba(200, 157, 92, 0.3);
  }

  .campsite__text {
      font-size: 16px;
      line-height: 1.7;
      color: #4a5568;
      margin-bottom: 25px;
  }

  /* Выделенная карточка цены */
  .campsite__price-box {
      background: #fdfbf7;
      padding: 16px 20px;
      border-radius: 4px 10px 4px 10px;
      margin-bottom: 20px;
  }

  .campsite__price-value {
      font-size: 20px;
      font-weight: 700;
      color: #1b3b2b;
  }

  .campsite__subtext {
      font-size: 13px;
      color: #8c98a4;
      line-height: 1.5;
      margin-bottom: 6px;
  }

  .campsite__download-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #c89d5c;
      font-weight: 600;
      font-size: 14px;
      text-decoration: none;
      margin-top: 15px;
      padding: 10px 0;
      transition: color 0.2s ease;
  }

  .campsite__download-btn:hover {
      color: #1b3b2b;
  }

  /* Стильные чипсы удобств */
  .campsite__features {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 25px;
      padding-top: 25px;
      border-top: 1px solid #edf2f7;
  }

  .campsite__feature-chip {
      display: flex;
      align-items: center;
      gap: 8px;
      background: #f4f6f8;
      padding: 8px 16px;
      border-radius: 4px 10px 4px 10px;
      font-size: 13px;
      font-weight: 500;
      color: #2d3748;
      transition: all 0.2s ease;
  }

  .campsite__feature-chip__img {
      width: 20px;

  }

  .campsite__feature-chip:hover {
      background: #eef2f5;
      transform: translateY(-2px);
  }

  /* Правая часть — Боковой блок контактов */
  .campsite__contacts-card {
      background: #fdfbf7;
      color: #ffffff;
      padding: 35px 30px;
      border-radius: 4px 10px 4px 10px;
      box-shadow: 0 20px 40px rgba(27, 59, 43, 0.2);
      display: flex;
      flex-direction: column;
      justify-content: space-between;

      /* ===== STICKY-ПОВЕДЕНИЕ (только десктоп) ===== */
      position: sticky;
      top: 100px;
      /* отступ от верха окна при прилипании */
      align-self: start;
      /* прибить к верху grid-ячейки */
      max-height: calc(100vh - 120px);
      /* чтобы не вылезала за экран */
      overflow-y: auto;
      /* если контента больше — скролл внутри */
  }

  .campsite__contact-group {
      margin-bottom: 20px;
  }

  .campsite__contact-label {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #c89d5c;
      font-weight: 600;
      margin-bottom: 6px;
  }

  .campsite__contact-val {
      font-size: 14px;
      color: #4a5568;
      line-height: 1.5;
      margin-bottom: 6px;
  }

  .campsite__contact-val a {
      color: #4a5568;
      text-decoration: none;
      border-bottom: 1px dashed #c89d5c;
      transition: border-color 0.2s;
  }

  .campsite__contact-val a:hover {

      border-bottom-style: solid;
  }

  .campsite__book-btn {


      background: #C89D5C;


      color: #ffffff;
      text-align: center;
      padding: 16px;
      border-radius: 4px 10px 4px 10px;
      font-weight: 600;

      text-decoration: none;
      display: block;
      box-shadow: 0 8px 20px rgba(200, 157, 92, 0.3);
      transition: all 0.3s ease;
      margin-top: 15px;
  }

  .campsite__book-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 25px rgba(200, 157, 92, 0.4);
  }

  /* Мобильная адаптивность */
  @media (max-width: 992px) {
      .campsite {
          overflow: hidden;
      }

      .campsite__content {
          grid-template-columns: 1fr;
          align-items: start;
          /* на всякий случай */
      }

      .campsite__contacts-card {
          position: static;
          /* отключаем sticky */
          top: auto;
          max-height: none;
          overflow-y: visible;
          align-self: stretch;
      }



      .campsite__slide img {
          height: 300px;
      }

  }

  /* ===== MASONRY ===== */
  .masonry {
      max-width: 1300px;
      width: 100%;
      margin: 2rem auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 180px;
      gap: 12px;
  }

  .masonry-item {
      position: relative;
      border-radius: 20px 8px 20px 8px;
      overflow: hidden;
      background: #0f2c3d;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
          0 1px 4px rgba(0, 0, 0, 0.02);
      transition: transform 0.25s ease, box-shadow 0.3s ease;
      cursor: default;
      display: block;
      width: 100%;
      height: 100%;
      min-width: 0;
      min-height: 0;
  }

  .masonry-item img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      transition: transform 0.4s ease;
  }

  .masonry-item:hover {
      transform: scale(1.02) translateY(-3px);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
      z-index: 10;
      background: #c89d5c;
  }

  /* ===== Паттерн 4×4, повторяется каждые 10 ячеек ===== */
  .masonry-item:nth-child(10n + 1) {
      grid-column: span 1;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 2) {
      grid-column: span 2;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 3) {
      grid-column: span 1;
      grid-row: span 2;
  }

  .masonry-item:nth-child(10n + 4) {
      grid-column: span 2;
      grid-row: span 2;
  }

  .masonry-item:nth-child(10n + 5) {
      grid-column: span 1;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 6) {
      grid-column: span 1;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 7) {
      grid-column: span 1;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 8) {
      grid-column: span 2;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 9) {
      grid-column: span 1;
      grid-row: span 1;
  }

  .masonry-item:nth-child(10n + 10) {
      grid-column: span 1;
      grid-row: span 1;
  }

  /* ===== Доборные ячейки — всегда 1×1, независимо от паттерна ===== */
  .masonry-item--filler {
      grid-column: span 1 !important;
      grid-row: span 1 !important;
  }

  /* ===== Текст в ячейках ===== */
  .masonry-item p {
      font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: clamp(14px, 2.5vw, 22px);
      font-weight: 500;
      color: #fff;
      text-align: center;
      margin: 0;
      padding: 0.5rem;
      line-height: 1.3;
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      transform: translateY(-50%);
      z-index: 2;
  }

  /* ===== Скругления ===== */
  .masonry-item:nth-child(3n) {
      border-radius: 16px 32px 16px 32px;
  }

  .masonry-item:nth-child(5n+2) {
      border-radius: 32px 8px 32px 8px;
  }

  .masonry-item:nth-child(7n+4) {
      border-radius: 8px 32px 8px 32px;
  }

  /* ===== АДАПТИВ MASONRY ===== */

  @media (max-width: 1024px) {
      .masonry {
          grid-template-columns: repeat(3, 1fr);
          grid-auto-rows: 150px;

          gap: 10px;
      }

      .masonry-item:nth-child(3n) {
          border-radius: 20px 8px 20px 8px !important;
      }

      .masonry-item:nth-child(5n+2) {
          border-radius: 20px 8px 20px 8px !important;
      }

      .masonry-item:nth-child(7n+4) {
          border-radius: 20px 8px 20px 8px !important;
      }
  }

  @media (max-width: 700px) {

      /* Скрываем картинки */
      .masonry-item--placeholder {
          display: none !important;
      }

      /* Сбрасываем ВСЕ размеры от паттерна 10n для всех ячеек */
      .masonry-item {

          grid-column: span 1 !important;

          grid-row: span 1 !important;
      }

      /* Сетка 2 колонки, все ячейки одинаковой высоты */

      .masonry {

          grid-template-columns: repeat(2, 1fr);

          grid-auto-rows: 110px;
          /* ← высота каждой ячейки */

          grid-auto-flow: row;


          gap: 10px;
      }

      /* Убираем «широкий» паттерн — все ячейки 1×1 */
      .masonry-item:nth-child(5n + 1) {
          grid-column: span 1;
      }
  }

  @media (max-width: 450px) {
      .masonry {
          grid-auto-rows: 120px;
          gap: 6px;
      }

      /* Текст в ячейках на маленьких экранах */
      .masonry-item p {
          font-size: 14px;
          padding: 0.4rem;
      }
  }

  .masonry-item:hover {
      background: #c89d5c;
  }

  /* ===== КНОПКА С ТРЕМЯ ШЕВРОНАМИ РАЗНОГО РАЗМЕРА ===== */
  .scroll-hint {
      position: absolute;
      bottom: 1%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      border: 1.5px solid rgba(255, 255, 255, 0.15);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1px;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
      color: rgba(255, 255, 255, 0.95);
      padding: 0 8px;
  }



  /* ===== РАЗНЫЙ РАЗМЕР ДЛЯ КАЖДОЙ СТРЕЛКИ ===== */
  .chevron {
      display: block;
      opacity: 0.20;
      animation: chevronPulse 2.4s ease-in-out infinite;
      transition: stroke 0.3s;
  }

  /* Верхняя — самая большая */
  .chevron:nth-child(1) {
      width: 20px;
      height: 20px;
      animation-delay: 0s;
  }

  /* Средняя — чуть меньше */
  .chevron:nth-child(2) {
      width: 16px;
      height: 16px;
      animation-delay: 0.8s;
  }

  /* Нижняя — самая маленькая */
  .chevron:nth-child(3) {
      width: 12px;
      height: 12px;
      animation-delay: 1.6s;
  }

  @keyframes chevronPulse {

      0%,
      100% {
          opacity: 0.15;
          transform: translateY(0) scale(0.9);
      }

      50% {
          opacity: 1;
          transform: translateY(5px) scale(1);
      }
  }

  /* Адаптив */
  @media (max-width: 1024px) {
      .scroll-hint {
          display: none;
      }


  }





  /* ============= */
  /* ===================================================== */
  /* ===== РУКОВОДСТВО ===== */
  /* ===================================================== */

  /* --- Общие переменные блока --- */
  .leadership__top,
  .leadership__grid {
      font-family: 'Roboto', sans-serif;
  }

  /* ===== ВЕРХНИЙ БЛОК: директор + контакты ===== */
  .leadership__top {
      display: grid;
      grid-template-columns: 1.6fr 1fr;
      gap: 24px;
      margin-bottom: 32px;
  }

  /* --- Большая карточка директора --- */
  .leader-featured {
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      background: #0f2c3d;
      color: #fff;
      border-radius: 8px;
      overflow: hidden;
      min-height: 260px;
  }

  .leader-featured__info {
      padding: 100px 34px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
  }

  .leader-featured__role {
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #c89d5c;
      margin-bottom: 20px;
  }

  .leader-featured__name {
      font-family: 'Roboto', sans-serif;
      font-size: 26px;
      font-weight: 500;
      line-height: 1.25;
      margin: 0 0 24px;
      color: #fff;
  }

  .leader-featured__surname {
      display: block;
      font-size: 30px;
      font-weight: 600;
      letter-spacing: 0.5px;
      margin-bottom: 4px;
  }

  .leader-featured__phones {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 32px;
      font-size: 14px;
      color: rgba(255, 255, 255, 0.85);
      margin-bottom: 26px;
      padding-top: 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .leader-featured__actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
  }

  .leader-featured__btn {
      display: inline-block;
      padding: 10px 22px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 4px 10px 4px 10px;
      font-size: 13px;
      font-weight: 500;

      color: #fff;
      text-decoration: none;
      transition: all 0.3s ease;
      background: transparent;
  }

  .leader-featured__btn:hover {
      background: #c89d5c;
      border-color: #c89d5c;
      color: #fff;
  }

  .leader-featured__photo {
      position: relative;
      overflow: hidden;
      background: #1a4a5c;
  }

  .leader-featured__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
  }

  /* --- Правый блок с общими контактами --- */
  .leader-contacts {
      background: #0f2c3d;
      color: #fff;
      border-radius: 8px;
      padding: 32px 30px;
      display: flex;
      flex-direction: column;
      gap: 22px;
      justify-content: center;
  }

  .leader-contacts__label {
      font-size: 14px;
      font-weight: 600;
      color: #c89d5c;
      margin-bottom: 4px;
  }

  .leader-contacts__val {
      font-size: 15px;
      color: rgba(255, 255, 255, 0.92);
      line-height: 1.5;
  }

  .leader-contacts__val a {
      color: rgba(255, 255, 255, 0.92);
      text-decoration: none;
  }

  .leader-contacts__val a:hover {
      color: #c89d5c;
  }

  /* ===== СЕТКА КАРТОЧЕК РУКОВОДСТВА ===== */
  .leadership__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
  }

  /* --- Карточка --- */
  .leader-card {
      background: #fff;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 24px rgba(15, 44, 61, 0.08);
      display: flex;
      flex-direction: column;
      transition: transform 0.35s ease, box-shadow 0.35s ease;
  }

  .leader-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(15, 44, 61, 0.14);
  }

  /* --- Фото --- */
  .leader-card__photo {
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      background: #f0f0f0;
  }

  .leader-card__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      transition: transform 0.5s ease;
  }

  .leader-card:hover .leader-card__photo img {
      transform: scale(1.04);
  }

  /* --- Заглушка «силуэт» --- */
  .leader-card__photo--empty {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f7f7f7;
  }

  .leader-card__photo--empty svg {
      width: 55%;
      height: 55%;
      opacity: 0.85;
  }

  /* --- Тело карточки --- */
  .leader-card__body {
      padding: 22px 22px 24px;
      display: flex;
      flex-direction: column;
      flex: 1;
      border-top: 3px solid #c89d5c;
  }

  .leader-card__name {
      font-family: 'Roboto', sans-serif;
      font-size: 16px;
      font-weight: 400;
      line-height: 1.3;
      color: #1a2b32;
      margin: 0 0 8px;
  }

  .leader-card__surname {
      display: block;
      font-size: 17px;
      font-weight: 700;
      text-transform: uppercase;
      color: #1a2b32;
      margin-bottom: 2px;
  }

  .leader-card__role {
      font-size: 13.5px;
      color: #c89d5c;
      font-weight: 500;
      line-height: 1.4;
      margin: 0 0 16px;
  }

  .leader-card__role-sub {
      display: inline-block;
      font-size: 12.5px;
      color: #c89d5c;
      font-weight: 400;
  }

  .leader-card__phone {
      font-size: 14px;
      color: #1a2b32;
      font-weight: 500;
      margin: auto 0 0;
      padding-top: 10px;
  }

  /* ===== АДАПТИВ ===== */

  /* Планшет */
  @media (max-width: 1100px) {
      .leadership__grid {
          grid-template-columns: repeat(3, 1fr);
      }
  }

  @media (max-width: 992px) {
      .leadership__top {
          grid-template-columns: 1fr;
      }

      .leader-featured {
          grid-template-columns: 1fr;
      }

      .leader-featured__photo {
          order: -1;
          height: 280px;
      }

      .leadership__grid {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  /* Мобильные */
  @media (max-width: 600px) {
      .leadership__grid {
          grid-template-columns: 1fr;
          gap: 18px;
      }

      .leader-featured__info {
          padding: 24px 22px;
      }

      .leader-featured__name {
          font-size: 22px;
      }

      .leader-featured__surname {
          font-size: 25px;
      }

      .leader-featured__photo {
          height: 240px;
      }

      .leader-contacts {
          padding: 24px 22px;
      }

      .leader-card__body {
          padding: 18px 18px 20px;
      }

      .leader-card__surname {
          font-size: 16px;
      }
  }


  /* ===================================================== */
  /* ===== МОДАЛЬНАЯ ФОРМА «НАПИСАТЬ ПИСЬМО» ===== */
  /* ===================================================== */

  /* --- Оверлей --- */
  .contact-modal {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      /* ← КРИТИЧНО: без этого окно не покажется */
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: rgba(15, 44, 61, 0.65);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
  }

  .contact-modal.is-open {
      opacity: 1;
      visibility: visible;
  }

  /* --- Само окно --- */
  .contact-modal__dialog {
      position: relative;
      width: 100%;
      max-width: 520px;
      max-height: 90vh;
      overflow-y: auto;
      background: #ffffff;
      border-radius: 8px;
      padding: 40px 40px 36px;
      box-shadow: 0 40px 80px rgba(15, 44, 61, 0.35);
      transform: translateY(20px) scale(0.98);
      transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .contact-modal.is-open .contact-modal__dialog {
      transform: translateY(0) scale(1);
  }

  /* --- Кнопка закрытия (крестик в правом верхнем углу) --- */
  .contact-modal__close {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      color: #6b7a82;
      padding: 0;
      transition: background 0.25s ease, color 0.25s ease;
  }

  .contact-modal__close:hover {
      background: #f0f4f6;
      color: #0f2c3d;
  }

  .contact-modal__close svg {
      display: block;
      pointer-events: none;
      /* клик всегда попадает на кнопку */
  }

  /* --- Заголовок --- */
  .contact-modal__title {
      font-family: 'Roboto', sans-serif;
      font-size: 26px;
      font-weight: 600;
      color: #1a2b32;
      margin: 0 0 8px;
      padding-right: 40px;
  }

  .contact-modal__subtitle {
      font-size: 14.5px;
      color: #6b7a82;
      line-height: 1.55;
      margin: 0 0 26px;
  }

  /* --- Поля формы --- */
  .contact-modal__field {
      margin-bottom: 18px;
  }

  .contact-modal__field label {

      font-size: 13.5px;
      font-weight: 500;
      color: #1a2b32;
      margin-bottom: 6px;
  }

  .contact-modal__req {
      color: #c89d5c;
      font-weight: 600;
  }

  .contact-modal__field input,
  .contact-modal__field textarea {
      width: 100%;
      padding: 12px 14px;
      border: 1.5px solid #d8e0e6;
      border-radius: 4px 10px 4px 10px;
      font-family: 'Roboto', sans-serif;

      font-size: 14.5px;
      color: #1a2b32;
      background: #f9fbfc;
      transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  }

  .contact-modal__field input::placeholder,
  .contact-modal__field textarea::placeholder {
      color: #9aa8b0;
  }

  .contact-modal__field input:focus,
  .contact-modal__field textarea:focus {
      outline: none;
      border-color: #c89d5c;
      background: #ffffff;
      box-shadow: 0 0 0 4px rgba(200, 157, 92, 0.15);
  }

  .contact-modal__field textarea {
      resize: vertical;
      min-height: 120px;
      line-height: 1.5;
  }

  /* --- Кнопка отправки --- */
  .contact-modal__submit {
      display: block;
      width: 100%;
      padding: 14px;
      margin-top: 8px;
      background: #c89d5c;
      color: #ffffff;
      border: none;

      border-radius: 4px 10px 4px 10px;
      font-family: 'Roboto', sans-serif;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: 0.3px;
      cursor: pointer;
      transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  }

  .contact-modal__submit:hover {
      background: #b5874e;
      transform: translateY(-1px);
      box-shadow: 0 8px 22px rgba(200, 157, 92, 0.35);
  }

  .contact-modal__submit:active {
      transform: translateY(0);
  }

  .contact-modal__submit:disabled {
      opacity: 0.7;
      cursor: default;
      transform: none;
      box-shadow: none;
  }

  /* --- Адаптив --- */
  @media (max-width: 600px) {
      .contact-modal {
          padding: 12px;
      }

      .contact-modal__dialog {
          padding: 32px 22px 26px;
          max-height: 92vh;
      }

      .contact-modal__title {
          font-size: 22px;
      }

      .contact-modal__subtitle {
          font-size: 13.5px;
          margin-bottom: 20px;
      }
  }

  /* ===== ЦИТАТА ДИРЕКТОРА ===== */
  .leader-featured__quote {
      position: relative;
      margin: 0 0 22px;
      padding: 18px 0 18px 24px;
      border-left: 2px solid rgba(200, 157, 92, 0.55);
  }

  .leader-featured__quote-mark {
      position: absolute;
      top: -6px;
      left: 14px;
      color: rgba(200, 157, 92, 0.22);
      pointer-events: none;
  }

  .leader-featured__quote-text {
      font-family: 'Playfair Display', 'Yiggivoo Unicode', serif;
      font-style: italic;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.92);
      margin: 0 0 12px;
      letter-spacing: 0.1px;
      position: relative;
      z-index: 1;
  }

  .leader-featured__quote-author {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      font-weight: 500;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: #c89d5c;
      margin: 0;
  }

  .leader-featured__quote-line {
      display: inline-block;
      width: 24px;
      height: 1px;
      background: #c89d5c;
      opacity: 0.7;
  }

  /* Адаптив */
  @media (max-width: 992px) {
      .leader-featured__quote {
          padding-left: 20px;
      }

      .leader-featured__quote-text {
          font-size: 16px;
      }
  }



  @media (max-width: 600px) {
      .leader-featured__quote {
          padding: 14px 0 14px 16px;
          margin-bottom: 18px;
      }

      .leader-featured__quote-mark {
          width: 26px;
          height: 20px;
          top: -4px;
          left: 10px;
      }

      .leader-featured__quote-text {
          font-size: 15px;
          line-height: 1.5;
      }

      .leader-featured__quote-author {
          font-size: 11px;
          letter-spacing: 1px;
      }
  }




  /* ===== ИКОНКИ В ШАПКЕ (поиск + слабовидящие) ===== */
  .header__icon-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      background: transparent;
      border: 1.5px solid rgba(255, 255, 255, 0.18);
      border-radius: 50%;
      color: rgba(255, 255, 255, 0.85);
      cursor: pointer;
      transition: all var(--transition);
      flex-shrink: 0;
  }

  .header__icon-btn:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: var(--gold);
      color: var(--gold-light);
      transform: translateY(-2px);
  }

  .header__icon-btn:active {
      transform: translateY(0);
  }

  .header__icon-btn svg {
      display: block;
  }

  /* --- Иконки в мобильном меню --- */
  .mobile-menu__icons {
      display: flex;
      gap: 12px;
      margin: 16px 0 4px;
      flex-wrap: wrap;
  }

  .mobile-menu__icons .header__icon-btn {
      width: auto;
      height: auto;
      padding: 10px 18px;
      border-radius: 4px 10px 4px 10px;
      gap: 10px;
      font-size: 14px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.85);
      border-color: rgba(255, 255, 255, 0.12);
  }

  .mobile-menu__icons .header__icon-btn span {
      display: inline;
  }

  .mobile-menu__icons .header__icon-btn:hover {
      background: rgba(200, 157, 92, 0.15);
      border-color: var(--gold);
      color: #fff;
      transform: none;
  }

  /* --- Адаптив: прячем иконки в шапке на планшетах/мобильных --- */
  @media (max-width: 992px) {
      .header__cta .header__icon-btn {
          display: none;
      }
  }

  /* --- Активное состояние (например, когда включён режим слабовидящих) --- */
  .header__icon-btn.is-active {
      background: var(--gold);
      border-color: var(--gold);
      color: #fff;
  }

  /* ===== РЕЖИМ ДЛЯ СЛАБОВИДЯЩИХ (пример базовой реализации) ===== */
  body.vision-mode {
      font-size: 118%;
      line-height: 1.8;
  }

  body.vision-mode .header,
  body.vision-mode .footer {
      background: #000 !important;
  }

  body.vision-mode a,
  body.vision-mode .nav a,
  body.vision-mode .body-text,
  body.vision-mode .heading {
      color: #fff !important;
  }

  body.vision-mode img {
      filter: contrast(1.15) saturate(0.9);
  }

  body.vision-mode .btn-gold,
  body.vision-mode .btn-outline {
      outline: 2px solid #fff;
      outline-offset: 2px;

  }



  /* ===== МОДАЛЬНОЕ ОКНО ПОИСКА ===== */
  .search-modal {
      position: fixed;
      inset: 0;
      z-index: 10001;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding: 12vh 20px 20px;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
  }

  .search-modal.is-open {
      opacity: 1;
      visibility: visible;
  }

  .search-modal__overlay {
      position: absolute;
      inset: 0;
      background: rgba(15, 44, 61, 0.65);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
  }

  .search-modal__dialog {
      position: relative;
      width: 100%;
      max-width: 680px;
      background: #ffffff;
      border-radius: 8px;
      padding: 40px 40px 32px;
      box-shadow: 0 40px 80px rgba(15, 44, 61, 0.35);
      transform: translateY(-24px) scale(0.98);
      transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
      z-index: 2;
  }

  .search-modal.is-open .search-modal__dialog {
      transform: translateY(0) scale(1);
  }

  .search-modal__close {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: none;
      border-radius: 50%;
      color: #6b7a82;
      cursor: pointer;
      transition: background 0.25s ease, color 0.25s ease;
  }

  .search-modal__close:hover {
      background: #f0f4f6;
      color: #0f2c3d;
  }

  .search-modal__title {
      font-family: 'Roboto', sans-serif;
      font-size: 26px;
      font-weight: 600;
      color: #1a2b32;
      margin: 0 0 8px;
      padding-right: 44px;
  }

  .search-modal__subtitle {
      font-size: 14.5px;
      color: #6b7a82;
      line-height: 1.55;
      margin: 0 0 24px;
  }

  .search-modal__field {
      display: flex;
      align-items: center;
      background: #f9fbfc;
      border: 1.5px solid #d8e0e6;
      border-radius: 8px;
      padding: 4px 4px 4px 14px;
      transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  }

  .search-modal__field:focus-within {
      border-color: #c89d5c;
      background: #ffffff;
      box-shadow: 0 0 0 4px rgba(200, 157, 92, 0.15);
  }

  .search-modal__icon {
      flex-shrink: 0;
      color: #9aa8b0;
      margin-right: 10px;
  }

  .search-modal__field input {
      flex: 1;
      border: none;
      background: transparent;
      padding: 14px 8px;
      font-family: 'Roboto', sans-serif;
      font-size: 16px;
      color: #1a2b32;
      outline: none;
      min-width: 0;
  }

  .search-modal__field input::placeholder {
      color: #9aa8b0;
  }

  .search-modal__submit {
      flex-shrink: 0;
      padding: 12px 26px;
      background: #c89d5c;
      color: #ffffff;
      border: none;
      border-radius: 6px;
      font-family: 'Roboto', sans-serif;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.25s ease, transform 0.25s ease;
  }

  .search-modal__submit:hover {
      background: #b5874e;
      transform: translateY(-1px);
  }

  .search-modal__hints {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid #edf2f7;
      font-size: 13.5px;
  }

  .search-modal__hints-label {
      color: #6b7a82;
      font-weight: 500;
      margin-right: 4px;
  }

  .search-modal__hints a {
      display: inline-block;
      padding: 5px 14px;
      background: #e0f0f5;
      color: #2a6a7e;
      border-radius: 100px;
      font-weight: 500;
      transition: all 0.25s ease;
  }

  .search-modal__hints a:hover {
      background: #c89d5c;
      color: #ffffff;
  }

  /* --- Адаптив --- */
  @media (max-width: 600px) {
      .search-modal {
          padding: 8vh 12px 12px;
      }

      .search-modal__dialog {
          padding: 30px 20px 24px;
      }

      .search-modal__title {
          font-size: 21px;
      }

      .search-modal__subtitle {
          font-size: 13.5px;
          margin-bottom: 18px;
      }

      .search-modal__field {
          flex-wrap: wrap;
          padding: 10px 12px;
          gap: 10px;
      }

      .search-modal__field input {
          padding: 8px 4px;
          font-size: 15px;
          flex: 1 1 100%;
      }

      .search-modal__submit {
          width: 100%;
          padding: 12px;
      }

      .search-modal__icon {
          display: none;
      }
  }

  /* --- Доступность: скрытый текст для screen reader --- */
  .screen-reader-text {
      position: absolute !important;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
  }

  /* --- Блокировка скролла при открытом модальном окне --- */
  body.search-modal-open {
      overflow: hidden;
  }

  /* ===== РЕЗУЛЬТА ТЫ ПОИСКАС КАРТИНКОЙ ===== */
  .search-result {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 8px;
      align-items: stretch;
  }

  .search-card {
      display: flex;
      flex-direction: column;
      background: var(--white);
      border-radius: 4px 10px 4px 10px;
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      transition: transform 0.35s ease, box-shadow 0.35s ease;
      height: 100%;

      /* чтобы карточки в ряду были одной высоты */
  }

  .search-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
  }

  /* --- Картинка -   -- */
  .search-card__image-wrap {
      display: block;
      width: 100%;
      position: relative;
      overflow: hidden;
      background: var(--blue-light);
      aspect-ratio: 16 / 9;
      align-self: stretch;
  }

  .search-card__image {
      width: 100%;

      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s ease;
      max-width: none;
  }

  .search-card:hover .search-card__image {
      transform: scale(1.06);
  }

  /* Заглушка, если нет миниатюры */
  .search-card__image--placeholder {

      background: var(--blue-light);
  }

  /* --- Текстовая часть --- */
  .search-card__body {
      padding: 22px 24px;
      display: flex;
      flex-direction: column;
  }

  .search-card__meta {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      font-size: 12px;
      font-weight: 500;
      color: var(--text-soft);
      margin-bottom: 8px;
      letter-spacing: 0.3px;
  }

  .search-card__date {
      color: var(--blue-lake);
  }

  .search-card__type {
      display: inline-block;
      padding: 3px 10px;
      background: var(--blue-pale);
      color: var(--blue-lake);
      border-radius: 4px 10px 4px 10px;
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.8px;
  }

  .search-card__title {
      font-family: 'Roboto', sans-serif;
      font-size: 1.15rem;
      font-weight: 600;
      line-height: 1.3;
      margin: 0 0 10px;
      color: var(--text-dark);
  }

  .search-card__title a {
      color: inherit;
      text-decoration: none;
      transition: color 0.25s ease;
  }

  .search-card__title a:hover {
      color: var(--gold);
  }

  .search-card__desc {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--text-soft);
      margin: 0 0 16px;
  }

  .search-card__link {
      margin-top: auto;
      align-self: flex-start;
      font-size: 14px;
      font-weight: 600;
      color: var(--gold);
      padding-bottom: 2px;
      border-bottom: 1px solid transparent;
      transition: border-color 0.25s ease, color 0.25s ease;
  }

  .search-card__link:hover {
      color: #b5874e;
      border-bottom-color: #b5874e;
  }

  /* ===== ПАГИНАЦИЯ ===== */
  .search-pagination .nav-links {
      display: flex;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
  }

  .search-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      height: 42px;
      padding: 0 14px;
      background: var(--white);
      color: var(--text-dark);
      border-radius: 4px 10px 4px 10px;
      font-weight: 500;
      font-size: 14px;
      box-shadow: var(--shadow-soft);
      transition: all 0.25s ease;
  }

  .search-pagination .page-numbers:hover {
      background: var(--blue-light);
      color: var(--blue-deep);
  }

  .search-pagination .page-numbers.current {
      background: var(--gold);
      color: var(--white);
  }

  /* ===== АДАПТИВ     ===== */

  /* Планшет */
  @media (max-width: 992px) {
      .search-result {
          grid-template-columns: 1fr;
      }
  }

  /* Мобильные */
  @media (max-width: 768px) {
      .search-card {
          grid-template-columns: 1fr;
      }

      .search-card__image-wrap {
          width: 100% !important;
          aspect-ratio: 16 / 9;
      }

      .search-card__body {
          padding: 20px;
      }

      .search-card__title {
          font-size: 1.05rem;
      }

      .search-card__desc {
          font-size: 14px;
      }
  }

  /* Маленькие телефоны */
  @media (max-width: 480px) {
      .search-card__body {
          padding: 16px;
      }

      .search-card__title {
          font-size: 1rem;
      }

      .search-card__desc {
          font-size: 13px;
          margin-bottom: 12px;
      }

      .search-card__link {
          font-size: 13px;
      }
  }



  /* Анонсы — описание в 3 строк */
  .announcement-card__desc {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;

  }

  /* Большая новость — описание в 3 строки */
  .news-feat__excerpt {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }



  /* Маленькие новости — описание в 3 строки */
  .news-card__excerpt {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }


  /* Карточки новостей  теперь это ссылки */
  a.news-feat,
  a.news-card {
      display: flex;
      text-decoration: none;
      color: inherit;
  }



  /* ===== СТРА НИЦА  404 ===== */
  .error404 {
      margin: 0 auto;

      text-align: center;
  }

  .error404__code {
      font-family: 'Roboto', sans-serif;
      font-size: clamp(6rem, 18vw, 12rem);
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.04em;
      color: var(--gold);
      margin-bottom: 16px;
      position: relative;
  }

  .error404__code::after {
      content: '';
      display: block;
      width: 60px;
      height: 3px;
      background: var(--gold);
      border-radius: 2px;
      margin: 22px auto 0;
      opacity: 0.6;
  }

  .error404__title {
      margin: 0 0 18px;
      color: var(--text-dark);
  }

  .error404__text {
      max-width: 540px;
      margin: 0 auto 36px;
      color: var(--text-soft);
  }

  .error404__actions {
      display: flex;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
      margin-bottom: 56px;
  }

  .error404__search-btn {
      border-color: var(--blue-lake);
      color: var(--blue-deep);
      background: transparent;
  }

  .error404__search-btn:hover {
      background: var(--blue-light);
      border-color: var(--blue-lake);
  }

  /* Ссылки */
  .error404__links {
      padding-top: 32px;
      border-top: 1px solid rgba(0, 0, 0, 0.08);
  }

  .error404__links-label {
      display: block;
      font-size: 13px;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      color: var(--text-soft);
      margin-bottom: 18px;
  }

  .error404__links-grid {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 10px;
  }

  .error404__link {
      display: inline-block;
      padding: 8px 20px;
      background: var(--blue-light);
      color: var(--blue-deep);
      border-radius: 4px 10px 4px 10px;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.25s ease;
  }

  .error404__link:hover {
      background: var(--gold);

      color: #fff;
      transform: translateY(-2px);
  }

  /* Адаптив */
  @media (max-width: 600px) {
      .error404__actions {
          flex-direction: column;
          align-items: stretch;
          margin-bottom: 40px;
      }

      .error404__actions .btn-gold,
      .error404__actions .btn-outline {
          width: 100%;
          text-align: center;
      }

      .error404__text {
          font-size: 15px;
      }
  }



  /* ===== БЛОК НАЙДЕННЫХ КАТЕГОРИЙ ===== */
  .search-terms-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
  }

  @media (max-width: 768px) {
      .search-terms-grid {
          grid-template-columns: 1fr;

      }


  }




  /* ============================================================ */
  /* ===== ВЫПАДАЮЩЕЕ МЕНЮ (DESKTOP) — 1-й и 2-й уровни ===== */
  /* ============================================================ */

  /* --- Пункты со вложенностью --- */
  .nav li {
      position: relative;
  }

  /* Стрелочка у пунктов со вложенностью */
  .nav li.menu-item-has-children>a::before {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg);
      margin-right: 8px;
      margin-bottom: 2px;
      transition: transform 0.25s ease;
      vertical-align: middle;
      opacity: 0.7;
  }

  .nav li.menu-item-has-children:hover>a::before {
      transform: rotate(45deg) translateY(2px);
      opacity: 1;
  }

  /* --- Выпадающая панель (общая для 1 и 2 уровня) --- */
  .nav .sub-menu {
      position: absolute;
      top: calc(100% + 10px);
      left: 0;
      min-width: 240px;
      background: var(--blue-deep, #0f2c3d);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 4px 10px 4px 10px;
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
      padding: 8px 0;
      list-style: none;
      margin: 0;

      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
      z-index: 1000;
  }

  /* Показываем 1-й уровень при наведении */
  .nav li:hover>.sub-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
  }

  /* Пункты внутри выпадашки */
  .nav .sub-menu li {
      position: relative;
      margin: 0;
  }

  .nav .sub-menu a {
      display: block;
      padding: 10px 18px;
      color: rgba(255, 255, 255, 0.85);
      font-size: 14px;
      font-weight: 400;
      text-decoration: none;
      transition: background 0.2s ease, color 0.2s ease;
      white-space: nowrap;
  }

  .nav .sub-menu a:hover {
      background: rgba(200, 157, 92, 0.15);
      color: #e8c97a;
  }

  /* Убираем «золотую подчёркивающую» полоску у ссылок внутри выпадашки */
  .nav .sub-menu a::after {
      display: none;
  }

  /* ===== 2-й уровень (вложенное подменю) ===== */

  /* Стрелочка вправо у пункта с вложенностью внутри выпадашки */
  .nav .sub-menu li.menu-item-has-children>a::after {
      content: '';
      position: absolute;
      right: 14px;
      top: 50%;
      width: 6px;
      height: 6px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: translateY(-50%) rotate(-45deg);
      opacity: 0.7;
      transition: transform 0.25s ease;
  }

  .nav .sub-menu li.menu-item-has-children:hover>a::after {
      transform: translateY(-50%) rotate(-45deg) translateX(2px);
      opacity: 1;
  }

  /* Само подменю 2-го уровня — выезжает вправо */
  .nav .sub-menu .sub-menu {
      top: -8px;
      left: 100%;
      margin-left: 4px;
      transform: translateX(-6px);
  }

  .nav .sub-menu li:hover>.sub-menu {
      opacity: 1;
      visibility: visible;
      transform: translateX(0);
  }

  /* ============================================================ */
  /* ===== ВЫПАДАЮЩЕЕ МЕНЮ (MOBILE) ===== */
  /* ===== Мобильное меню — раскрывающийся аккордеон      ===== */
  /* ============================================================ */

  .mobile-menu__list {
      list-style: none;
      margin: 0;
      padding: 0;
      width: 100%;
  }

  .mobile-menu__list li {
      position: relative;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .mobile-menu__list a {
      display: block;
      color: rgba(255, 255, 255, 0.85);
      font-size: 18px;
      font-weight: 400;
      padding: 14px 40px 14px 0;
      text-decoration: none;
  }

  /* Кнопка-стрелка для раскрытия подменю (создаётся через JS, см. ниже) */
  .mobile-menu__toggle {
      position: absolute;
      top: 0;
      right: 0;
      width: 44px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: none;
      color: rgba(255, 255, 255, 0.7);
      cursor: pointer;

  }


  .mobile-menu__toggle svg {
      transition: transform 0.3s ease;
  }

  .mobile-menu__list li.is-open>.mobile-menu__toggle svg {
      transform: rotate(180deg);
  }

  /* Само подменю — скрыто, раскрывается по клику */
  .mobile-menu__list .sub-menu {
      list-style: none;
      margin: 0;
      padding: 0 0 0 16px;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
  }

  .mobile-menu__list li.is-open>.sub-menu {
      max-height: 800px;
      /* достаточно, чтобы вместить длинное подменю */
  }

  .mobile-menu__list .sub-menu li {
      border-bottom: none;
  }

  .mobile-menu__list .sub-menu a {
      font-size: 16px;
      padding: 10px 0;
      color: rgba(255, 255, 255, 0.7);
  }

  /* 2-й уровень внутри мобильного меню */
  .mobile-menu__list .sub-menu .sub-menu {
      padding-left: 16px;
  }

  .mobile-menu__list .sub-menu .sub-menu a {
      font-size: 15px;
      color: rgba(255, 255, 255, 0.55);
  }



  /* Не подчёркивать родительские пункты с вложенностью при наведении */

  .nav li.menu-item-has-children>a::after,

  .nav li.menu-item-has-children:hover>a::after {

      display: none !important;


      width: 0 !important;
  }




  @media (max-width: 1024px) {
      html {
          scroll-behavior: auto;
      }

      .nature-layer {
          display: none !important;
      }

      .header.scrolled {
          backdrop-filter: none;
          -webkit-backdrop-filter: none;
          background: rgba(15, 44, 61, 0.98);
      }

      .slide__img {
          filter: brightness(0.6);
      }

      .slide {
          transition: opacity 0.4s ease;
      }

      .slide:not(.active) {

          visibility: hidden;

      }

      .reveal {

          transition: opacity 0.4s ease, transform 0.4s ease;
      }

  }



  html,
  body {
      overscroll-behavior-y: none;
  }


  /* ============================================================ */
  /* ===== ОТКЛЮЧЕНИЕ АНИМАЦИЙ И СЛОЁВ ПРИ ВКЛЮЧЁННОМ BVI ====== */
  /* ============================================================ */

  /* ============================================================ */
  /* ===== ПЕРЕБИВАЕМ БЕЛЫЙ ФОН BVI ДЛЯ КАРТИНОК И СЛАЙДЕРА ===== */
  /* ============================================================ */

  /* Возвращаем прозрачный фон всем img и их контейнерам */
  body .bvi-body[data-bvi-theme] img:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] picture:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] svg:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] video:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] canvas:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .slide:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .slide__img:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .slide__overlay:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .slider:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .slider__content:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .mosaic__main:not(.bvi-no-styles),

  body .bvi-body[data-bvi-theme] .mosaic__top:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .mosaic__wildlife:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .gallery__item:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .video-card__preview:not(.bvi-no-styles),






  body .bvi-body[data-bvi-theme] .news-feat:not(.bvi-no-styles),

  body .bvi-body[data-bvi-theme] .news-card__img-wrap:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .announcement-card__image:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .announcement-card__image-wrapper:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .service__panel:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .service__panel img:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .acc-card__image:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .leader-card__photo:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .leader-featured__photo:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .search-card__image-wrap:not(.bvi-no-styles),
  body .bvi-body[data-bvi-theme] .search-card__image:not(.bvi-no-styles) {
      background-color: transparent !important;
  }

  /* Картинки — принудительно видимы */
  body .bvi-body[data-bvi-theme] img:not(.bvi-no-styles) {
      display: block !important;

      visibility: visible !important;
      opacity: 1 !important;
  }

  /* Слайдер: активный слайд виден */
  body .bvi-body[data-bvi-theme] .slide:not(.bvi-no-styles) {
      opacity: 1 !important;
      visibility: visible !important;
  }





  /* ===== ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ (DESKTOP) ===== */
  .header__lang {
      position: relative;
      display: inline-flex;
      align-items: center;
  }

  /* Кнопка текущего языка */
  .header__lang-toggle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      white-space: nowrap;
  }

  .header__lang-toggle .flag {
      width: 20px;
      height: 14px;
      object-fit: cover;
      border-radius: 2px;
      flex-shrink: 0;
  }

  .header__lang-toggle .header__lang-name {
      font-size: 13px;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.9);
      text-transform: uppercase;
      letter-spacing: 0.04em;




      line-height: 1;
  }

  .header__lang-toggle:hover .header__lang-name {
      color: #e8c97a;
  }

  /* Выпадашка */
  .header__lang-dropdown {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      min-width: 180px;
      background: var(--blue-deep, #0f2c3d);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 4px 10px 4px 10px;
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
      padding: 8px 0;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
      z-index: 1000;
  }

  .header__lang:hover .header__lang-dropdown,
  .header__lang.is-open .header__lang-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
  }

  .header__lang-dropdown ul,
  .header__lang-dropdown ul li,
  .header__lang-dropdown ul ul {
      list-style: none !important;
      list-style-type: none !important;
      margin: 0 !important;
      padding: 0 !important;
  }

  .header__lang-dropdown ul li::before,
  .header__lang-dropdown ul li::marker {
      content: none !important;
      display: none !important;
  }

  .header__lang-dropdown li {
      margin: 0;
  }

  .header__lang-dropdown a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 16px;
      color: rgba(255, 255, 255, 0.85);
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      transition: background 0.2s ease, color 0.2s ease;
  }

  .header__lang-dropdown a:hover {
      background: rgba(200, 157, 92, 0.15);
      color: #e8c97a;
  }

  .header__lang-dropdown img.flag {
      width: 20px;
      height: 14px;
      object-fit: cover;
      border-radius: 2px;
      flex-shrink: 0;
  }

  .header__lang-dropdown li.current-lang a {
      color: #e8c97a;
      font-weight: 600;
  }

  @media (max-width: 992px) {
      .header__cta .header__lang {
          display: none;
      }

      .mobile-menu__lang a {
          margin-bottom: 6px;
      }
  }

  /* ===== ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ (MOBILE) ===== */
  .mobile-menu__lang {
      margin: 16px 0 8px;
      padding-top: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .mobile-menu__lang ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;

      gap: 10px;
  }

  .mobile-menu__lang li {
      margin: 0;
  }

  .mobile-menu__lang a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 16px;
      background: rgba(255, 255, 255, 0.06);
      border-radius: 4px 10px 4px 10px;
      color: rgba(255, 255, 255, 0.85);
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;

      transition: background 0.2s ease, color 0.2s ease;
  }

  .mobile-menu__lang a:hover,
  .mobile-menu__lang li.current-lang a {

      background: rgba(200, 157, 92, 0.2);

      color: #e8c97a;
  }

  .mobile-menu__lang img.flag {
      width: 20px;
      height: 14px;

      object-fit: cover;

      border-radius: 2px;
  }

  .header__lang-dropdown li::marker,
  .mobile-menu__lang li::marker {
      content: '' !important;
      color: transparent !important;
      font-size: 0 !important;
  }







  /* ============================================================ */
  /* ===== ОПТИМИЗАЦИЯ ДЕСКТОПНОГО ХЕДЕРА ПОД РАЗНЫЕ ЭКРАНЫ ===== */
  /* ============================================================ */

  /* --- Базовые улучшения гибкости --- */
  .header__inner {
      gap: clamp(12px, 1.5vw, 24px);
  }

  .nav {
      gap: clamp(16px, 1.8vw, 32px);
      flex-wrap: nowrap;
      min-width: 0;
  }

  .nav a {
      white-space: nowrap;
      font-size: clamp(13px, 0.95vw, 14px);
  }

  .logo__name {
      font-size: clamp(16px, 1.3vw, 20px);
  }

  .logo__sub {
      font-size: clamp(10px, 0.85vw, 12px);
  }

  .logo__icon {
      width: clamp(44px, 4vw, 60px);
      height: auto;
  }

  .header__cta {
      gap: clamp(10px, 1.2vw, 28px);
      flex-shrink: 0;
  }

  .header__phone {
      font-size: clamp(12px, 0.95vw, 14px);
      white-space: nowrap;
  }

  .header__book-desktop {
      padding: clamp(8px, 0.8vw, 10px) clamp(16px, 2vw, 28px);
      font-size: clamp(12px, 0.9vw, 13px);
      white-space: nowrap;
  }

  .header__icon-btn {
      width: clamp(34px, 2.8vw, 40px);
      height: clamp(34px, 2.8vw, 40px);
  }

  /* ============================================================ */
  /* ===== БОЛЬШИЕ МОНИТОРЫ (1600px+) ===== */
  /* ============================================================ */
  @media (min-width: 1600px) {
      .header {
          padding: 20px 60px;
      }

      .header.scrolled {
          padding: 14px 60px;
      }

      .nav {
          gap: 36px;
      }

      .header__cta {
          gap: 32px;
      }
  }

  /* ============================================================ */
  /* ===== СРЕДНИЕ МОНИТОРЫ (1280–1599px) ===== */
  /* ============================================================ */
  @media (min-width: 1280px) and (max-width: 1599px) {
      .header {
          padding: 16px 32px;
      }

      .header.scrolled {
          padding: 11px 32px;
      }

      .nav {
          gap: 24px;
      }

      .header__cta {
          gap: 20px;
      }
  }

  /* ============================================================ */
  /* ===== НОУТБУКИ (1100–1279px) ===== */
  /* ============================================================ */
  @media (min-width: 1100px) and (max-width: 1279px) {
      .header {
          padding: 14px 24px;
      }

      .header.scrolled {
          padding: 10px 24px;
      }

      .nav {
          gap: 18px;
      }

      .header__cta {
          gap: 14px;
      }

      .header__phone {
          font-size: 13px;
      }

      .header__book-desktop {
          padding: 9px 18px;
          font-size: 12px;
      }

      .logo__icon {
          width: 48px;
      }
  }

  /* ============================================================ */
  /* ===== МАЛЕНЬКИЕ НОУТБУКИ / ПЛАНШЕТЫ ЛАНДШАФТ (993–1099px) ===== */
  /* ============================================================ */
  @media (min-width: 993px) and (max-width: 1099px) {
      .header {
          padding: 12px 18px;
      }

      .header.scrolled {
          padding: 9px 18px;
      }

      .nav {
          gap: 14px;
      }

      .nav a {
          font-size: 12.5px;
      }

      .header__cta {
          gap: 10px;
      }

      /* Скрываем телефон — не помещается */
      .header__cta .header__phone {
          display: none;
      }

      .header__book-desktop {
          padding: 8px 16px;
          font-size: 12px;
      }

      .logo__icon {
          width: 44px;
      }

      .logo__name {
          font-size: 17px;
      }

      .logo__sub {
          font-size: 10px;
      }

      .header__icon-btn {
          width: 36px;
          height: 36px;
      }
  }

  /* ============================================================ */
  /* ===== ЗАЩИТА ОТ ПЕРЕПОЛНЕНИЯ ===== */
  /* ============================================================ */
  .nav,
  .header__cta,
  .header__inner {
      min-width: 0;
  }

  .nav {
      overflow: visible;
  }

  .accommodation-pagination {

      margin-top: 40px;
  }

  @media (max-width: 600px) {
      .accommodation-pagination .page-numbers {
          min-width: 36px;
          height: 36px;
          font-size: 13px;
          padding: 0 10px;
      }
  }



  @media(max-width:768px) {
      .entry-content {
          padding: 0 !important;
          border: none !important;
          background: transparent !important;
          box-shadow: none !important;
      }
  }

  /* для брони  */
  .bron {
      max-width: 1220px;
      position: relative;
      z-index: 1000;
  }

  @media (max-width:768px) {

      .nw-fc-obj {

          --nw-basis: 40px !important;

      }

  }


  /* .bron2 {
      position: absolute;
      left: 50%;
      top: 20%;
      transform: translateX(-50%);
      z-index: 5;
      width: 100%;
      max-width: 1280px;
      box-sizing: border-box;
  } */
  .bron2 {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      z-index: 5;

      /* Адаптивный отступ сверху:  */
      top: clamp(40px, 18vh, 150px);
      width: calc(100% - 40px);
      max-width: 1280px;
      box-sizing: border-box;
      padding: 0;
      margin: 0 auto;
  }

  /* Планшеты и маленькие ноутбуки*/
  @media (max-width: 992px) {
      .bron2 {
          top: clamp(30px, 14vh, 160px);
          width: calc(100% - 32px);

      }
  }

  /* Низкие ноутбуки */
  @media (min-width: 993px) and (max-height: 800px) {
      .bron2 {
          top: clamp(30px, 20vh, 120px);
      }
  }

  @media (min-width: 993px) and (max-height: 700px) {
      .bron2 {
          top: 30px;
      }
  }

  #bookMobileBTn {
      display: none;
  }

  #bookMobileBTn2 {
      display: none;
  }

  @media(max-width:992px) {

      .bron,
      .bron2 {
          display: none;
      }

      #bookMobileBTn {
          display: block;
      }

      .slider__content {
          left: 0;
          padding: 10px;
      }

      #bookMobileBTn2 {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          bottom: 20px;
          top: auto;
          z-index: 5;
          width: 80%;

          max-width: 420px;

          display: block;

      }

      #btn1Link {

          background: var(--blue-soft);
      }

  }