﻿/* Unified styles: Прогулка */
@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap");

/* ===== 01-block ===== */
.block-01-block {
      --bp-tablet: 1200px;
      --bp-mobile: 640px;
      --max-w: 1920px;
      --pad-d: 210px;
      --pad-t: 20px;
      --pad-m: 10px;
      --color-title: #ffffff;
      --color-nav: #000000;
      --overlay: rgba(255, 255, 255, 0.1);
      --title-gap-bottom: 75px;
      position: relative;
      isolation: isolate;
      max-width: var(--max-w);
      margin-inline: auto;
      overflow-x: hidden;
      font-family: "Raleway", system-ui, sans-serif;
      color: var(--color-title);
      background: #000000;
    }

    .block-01-block__media {
      position: absolute;
      inset: 0;
      z-index: 0;
    }

    .block-01-block__bg {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
    }

    .block-01-block__overlay {
      position: absolute;
      inset: 0;
      background: var(--overlay);
      pointer-events: none;
    }

    .block-01-block__shell {
      position: relative;
      z-index: 1;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: clamp(22rem, 100dvh, 1080px);
      padding-inline: var(--pad-m);
      /* Отступ под фиксированную шапку сайта (.site-header — высота var(--site-header-h)) */
      padding-block-start: calc(clamp(1.25rem, 3.8vw, 2.5625rem) + var(--site-header-h));
      /* Ровно 75px от нижней границы заголовка до низа блока */
      padding-block-end: var(--title-gap-bottom);
      text-align: center;
    }

    @media (min-width: 640px) {
      .block-01-block__shell {
        padding-inline: var(--pad-t);
      }
    }

    @media (min-width: 1200px) {
      .block-01-block__shell {
        padding-inline: var(--pad-d);
      }
    }

    .block-01-block__title {
      margin: 0;
      /* Заголовок внизу блока; отступ до низа — padding-block-end у .block-01-block__shell */
      margin-block-start: auto;
      margin-block-end: 0;
      padding: 0;
      max-width: 96.25rem;
      width: 100%;
      font-family: "Raleway", system-ui, sans-serif;
      font-weight: 600;
      /* Figma: 128px, SemiBold, uppercase, по центру */
      font-size: clamp(2.75rem, 3.6vw + 1.25rem, 8rem);
      line-height: 1.05;
      letter-spacing: 0;
      text-transform: uppercase;
      text-align: center;
      color: var(--color-title);
    }

    @media (max-width: 1199px) {
      .block-01-block__title {
        text-align: center;
      }
    }

/* ===== 02-block ===== */
.block-02-block {
      /* Совпадает с blocks/02-block/config.json → breakpoints (числа в @media — те же, в media нельзя подставить var): */
      /* tablet: 1200 — с max-width 1199px ниже десктопной сетки; mobile: 640 — с max-width 639px «мобильная»; mobileMin: 390 — мин. ширина макета */
      --bp-tablet: 1200px;
      --bp-mobile: 640px;
      --bp-mobile-min: 390px;
      --max-w: 1920px;
      --pad-d: 210px;
      --pad-t: 20px;
      --pad-m: 10px;
      --content: 1500px;
      --gap-cards: 20px;
      --color-accent: #14805d;
      --color-accent-rgb: 20, 128, 93;
      --color-eyebrow: #2c698d;
      --color-text: #000000;
      --color-muted: #555555;
      --color-filter-border: #9f9f9f;
      --color-card-bg: #eef0f4;
      --pad-section-y: clamp(5rem, 10vw, 10rem);
      position: relative;
      max-width: var(--max-w);
      margin-inline: auto;
      overflow-x: hidden;
      font-family: "Inter", system-ui, sans-serif;
      color: var(--color-text);
      background: #ffffff;
    }

    .block-02-block__state {
      position: fixed;
      left: -9999px;
      top: 0;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .block-02-block__container {
      box-sizing: border-box;
      max-width: var(--max-w);
      margin-inline: auto;
      padding-inline: var(--pad-m);
      padding-block: var(--pad-section-y);
    }

    /* ≥ mobile (640): paddingTablet из config */
    @media (min-width: 640px) {
      .block-02-block__container {
        padding-inline: var(--pad-t);
      }
    }

    /* ≥ tablet breakpoint (1200): paddingDesktop из config — десктопная вёрстка */
    @media (min-width: 1200px) {
      .block-02-block__container {
        padding-inline: var(--pad-d);
      }
    }

    .block-02-block__header {
      max-width: var(--content);
      margin-inline: auto;
      text-align: center;
    }

    .block-02-block__eyebrow {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: clamp(0.75rem, 2vw, 1.5rem);
      margin: 0 0 clamp(1.25rem, 2.5vw, 2.5rem);
    }

    .block-02-block__eyebrow-line {
      flex: 1 1 4rem;
      max-width: 18rem;
      height: 0;
      border: 0;
      border-top: 1px solid var(--color-eyebrow);
    }

    .block-02-block__eyebrow-text {
      margin: 0;
      flex: 0 1 auto;
      font-weight: 500;
      font-size: clamp(0.6875rem, 0.2vw + 0.65rem, 1rem);
      line-height: 1.2;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--color-eyebrow);
    }

    .block-02-block__title {
      margin: 0;
      font-weight: 600;
      font-size: clamp(0.875rem, 0.9vw + 0.55rem, 2rem);
      line-height: 1.3;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--color-text);
    }

    /* Полоса фильтров на всю ширину viewport (как у экрана) */
    .block-02-block__filters-strip {
      box-sizing: border-box;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
      margin-block-end: clamp(1.5rem, 3vw, 2rem);
      padding-inline: var(--pad-m);
    }

    @media (min-width: 640px) {
      .block-02-block__filters-strip {
        padding-inline: var(--pad-t);
      }
    }

    @media (min-width: 1200px) {
      .block-02-block__filters-strip {
        padding-inline: var(--pad-d);
      }
    }

    .block-02-block__filters {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: flex-start;
      gap: clamp(0.75rem, 1.5vw, 1.25rem);
      width: 100%;
      max-width: none;
      margin-inline: 0;
    }

    /* Десктоп (≥ 1200): четыре равные кнопки на всю ширину полосы */
    @media (min-width: 1200px) {
      .block-02-block__filters {
        flex-wrap: nowrap;
        justify-content: stretch;
        gap: 0.75rem;
      }
    }

    /*
      Компактные чипы: меньше макета Figma (26px), чтобы не перетягивали внимание на карточки.
      border-box — высота = padding + текст + border.
    */
    .block-02-block__filter {
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 0;
      padding: 10px 14px;
      border-radius: 2rem;
      border: 1px solid var(--color-filter-border);
      background: transparent;
      cursor: pointer;
      transition: all 0.2s ease;
      user-select: none;
      flex: 1 1 auto;
      min-width: min(100%, 9rem);
    }

    @media (min-width: 1200px) {
      .block-02-block__filter {
        flex: 1 1 0;
        min-width: 0;
      }
    }

    .block-02-block__filter-text {
      font-weight: 400;
      font-size: clamp(0.6875rem, 0.35vw + 0.48rem, 0.875rem);
      line-height: 1.25;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #6a6a6a;
    }

    /* Активный таб: рамка 2px — компенсация padding −1px с каждой стороны */
    #block-02-filter-ladoga:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-ladoga"],
    #block-02-filter-onega:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-onega"],
    #block-02-filter-beloe:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-beloe"],
    #block-02-filter-malye:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-malye"] {
      border-width: 2px;
      border-color: var(--color-accent);
      padding: 9px 13px;
    }

    #block-02-filter-ladoga:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-ladoga"] .block-02-block__filter-text,
    #block-02-filter-onega:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-onega"] .block-02-block__filter-text,
    #block-02-filter-beloe:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-beloe"] .block-02-block__filter-text,
    #block-02-filter-malye:checked ~ .block-02-block__container .block-02-block__filter[for="block-02-filter-malye"] .block-02-block__filter-text {
      font-weight: 500;
      color: #333333;
    }

    .block-02-block__panel {
      display: none;
    }

    #block-02-filter-ladoga:checked ~ .block-02-block__container .block-02-block__panel--ladoga,
    #block-02-filter-onega:checked ~ .block-02-block__container .block-02-block__panel--onega,
    #block-02-filter-beloe:checked ~ .block-02-block__container .block-02-block__panel--beloe,
    #block-02-filter-malye:checked ~ .block-02-block__container .block-02-block__panel--malye {
      display: block;
    }

    .block-02-block__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: var(--gap-cards);
      max-width: var(--content);
      margin-inline: auto;
    }

    /* < tablet (1200): 3 колонки — «планшет» по config.breakpoints.tablet */
    @media (max-width: 1199px) {
      .block-02-block__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    /* < mobile (640): 2 колонки — «мобильная» сетка по config.breakpoints.mobile */
    @media (max-width: 639px) {
      .block-02-block__grid {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.625rem, 2vw, var(--gap-cards));
      }
    }

    .block-02-block__card {
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0 0 1.25rem;
      border-radius: 1.25rem;
      background: var(--color-card-bg);
      overflow: hidden;
      transition: all 0.2s ease;
    }

    .block-02-block__card:hover {
      transform: translateY(-4px);
    }
    .block-02-block__card { cursor: pointer; }

    .block-02-block__media {
      position: relative;
      width: 100%;
      aspect-ratio: 360 / 298;
      overflow: hidden;
      border-radius: 1.25rem 1.25rem 0 0;
    }

    .block-02-block__img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .block-02-block__card-body {
      display: flex;
      flex-direction: column;
      gap: 0.375rem;
      padding-inline: 1.25rem;
      padding-block-start: 0.625rem;
      text-align: left;
    }

    .block-02-block__card-title {
      margin: 0;
      font-weight: 600;
      font-size: clamp(0.875rem, 0.45vw + 0.65rem, 1.625rem);
      line-height: 1.2;
      color: var(--color-text);
    }

    .block-02-block__card-title a {
      color: inherit;
      text-decoration: none;
    }

    .block-02-block__card-title a:hover,
    .block-02-block__card-title a:visited,
    .block-02-block__card-title a:focus,
    .block-02-block__card-title a:focus-visible,
    .block-02-block__card-title a:active {
      color: inherit;
      text-decoration: none;
    }

    .block-02-block__price {
      margin: 0;
      font-weight: 500;
      font-size: clamp(0.8125rem, 0.35vw + 0.6rem, 1.5rem);
      line-height: 1.2;
    }

    .block-02-block__price-strong {
      color: var(--color-accent);
    }

    .block-02-block__price-muted {
      color: var(--color-muted);
      font-weight: 500;
    }

    .block-02-block__footer {
      margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
      text-align: center;
    }

    .block-02-block__more {
      display: inline-block;
      font-weight: 400;
      font-size: clamp(0.75rem, 0.25vw + 0.65rem, 1.25rem);
      line-height: 1.2;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--color-accent);
      border-bottom: 1px solid var(--color-accent);
      transition: all 0.2s ease;
    }

    .block-02-block__more:hover,
    .block-02-block__more:focus-visible {
      opacity: 0.85;
    }

/* ===== 03-block ===== */
.section-trn {
      --trn-max-width: 1920px;
      --trn-pad-desktop: 210px;
      --trn-pad-tablet: 20px;
      --trn-pad-mobile: 10px;
      /* совместимость с классами фильтра блока 02 (.block-02-block__filters-strip) */
      --pad-m: var(--trn-pad-mobile);
      --pad-t: var(--trn-pad-tablet);
      --pad-d: var(--trn-pad-desktop);
      --color-filter-border: #9f9f9f;
      --trn-bg: #eef1f4;
      --trn-text: #111111;
      --trn-muted: #666666;
      --trn-accent: #14805d;
      --trn-line: #2c698d;
      --trn-card-bg: #f7f7f7;
      --trn-gap: 20px;
      background: var(--trn-bg);
      color: var(--trn-text);
      overflow-x: hidden;
      font-family: "Inter", system-ui, sans-serif;
    }

    .section-trn-container {
      box-sizing: border-box;
      max-width: var(--trn-max-width);
      margin-inline: auto;
      padding: 160px var(--trn-pad-desktop);
    }

    .trn-head { text-align: center; }
    .trn-eyebrow {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 20px;
      margin: 0 0 40px;
    }
    .trn-eyebrow-line { height: 1px; background: var(--trn-line); }
    .trn-eyebrow-text {
      margin: 0;
      color: var(--trn-line);
      text-transform: uppercase;
      font-size: 14px;
      line-height: 1.2;
      font-weight: 500;
    }
    .trn-title {
      margin: 0;
      font-size: clamp(18px, 1.2vw + 12px, 32px);
      line-height: 1.3;
      font-weight: 600;
      text-transform: uppercase;
    }

    .trn-grid {
      margin-top: 40px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--trn-gap);
      align-items: start;
    }

    .trn-card {
      background: var(--trn-card-bg);
      border-radius: 12px;
      overflow: hidden;
      transition: all 0.2s ease;
    }
    .trn-card:hover { transform: translateY(-4px); }
    .trn-card { cursor: pointer; }
    .section-trn .trn-card--no-card-link {
      cursor: default;
    }
    .section-trn .trn-card--no-card-link:hover {
      transform: none;
    }

    .trn-media { aspect-ratio: 487 / 390; }
    .trn-img { display: block; width: 100%; height: 100%; object-fit: cover; }

    .trn-body { padding: 10px 12px 12px; }
    .trn-name {
      margin: 0 0 6px;
      font-size: clamp(17px, 0.3vw + 15px, 32px);
      line-height: 1.2;
      font-weight: 600;
    }

    .trn-meta { margin: 0; }
    .trn-meta-row {
      margin: 0;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 8px;
      padding-bottom: 3px;
      font-size: clamp(14px, 0.2vw + 12px, 16px);
      line-height: 1.3;
      color: var(--trn-muted);
    }
    .trn-meta-row dt,
    .trn-meta-row dd { margin: 0; }
    .trn-meta-row dd { text-align: right; }

    .trn-more {
      display: inline-block;
      margin-top: 2px;
      color: var(--trn-accent);
      text-decoration: none;
      font-size: clamp(14px, 0.25vw + 12px, 20px);
      line-height: 1.2;
      transition: all 0.2s ease;
    }
    .trn-more:hover,
    .trn-all:hover { opacity: 0.85; }

    .trn-footer { margin: 22px 0 0; text-align: center; }
    .trn-all {
      color: var(--trn-accent);
      text-decoration: none;
      text-transform: uppercase;
      border-bottom: 1px solid var(--trn-accent);
      font-size: 16px;
      line-height: 1.2;
      transition: all 0.2s ease;
    }

    /* tablet: <= 1200 */
    @media (max-width: 1200px) {
      .section-trn-container { padding-inline: var(--trn-pad-tablet); }
      .trn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    /* mobile: <= 640 */
    @media (max-width: 640px) {
      .section-trn-container {
        padding-inline: var(--trn-pad-mobile);
        padding-top: 90px;
        padding-bottom: 90px;
      }
      .trn-grid { grid-template-columns: 1fr; }
      .trn-eyebrow { margin-bottom: 24px; }
      .trn-title { font-size: 20px; }
    }

    /* mobileMin: <= 390 */
    @media (max-width: 390px) {
      .section-trn-container { padding-inline: 10px; }
      .trn-eyebrow { gap: 8px; margin-bottom: 18px; }
      .trn-eyebrow-text { font-size: 11px; }
      .trn-title { font-size: 16px; line-height: 1.25; }
      .trn-meta-row {
        grid-template-columns: 1fr;
        gap: 2px;
      }
      .trn-meta-row dd { text-align: left; }
    }

    /* Фильтр «наш транспорт» по озёрам — та же логика, что у block-02 */
    .section-trn__state {
      position: fixed;
      left: -9999px;
      top: 0;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .section-trn__panel {
      display: none;
    }

    #section-trn-filter-ladoga:checked ~ .section-trn-container .section-trn__panel--ladoga,
    #section-trn-filter-onega:checked ~ .section-trn-container .section-trn__panel--onega,
    #section-trn-filter-beloe:checked ~ .section-trn-container .section-trn__panel--beloe,
    #section-trn-filter-malye:checked ~ .section-trn-container .section-trn__panel--malye {
      display: block;
    }

    #section-trn-filter-ladoga:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-ladoga"],
    #section-trn-filter-onega:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-onega"],
    #section-trn-filter-beloe:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-beloe"],
    #section-trn-filter-malye:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-malye"] {
      border-width: 2px;
      border-color: var(--trn-accent);
      padding: 9px 13px;
    }

    #section-trn-filter-ladoga:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-ladoga"] .block-02-block__filter-text,
    #section-trn-filter-onega:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-onega"] .block-02-block__filter-text,
    #section-trn-filter-beloe:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-beloe"] .block-02-block__filter-text,
    #section-trn-filter-malye:checked ~ .section-trn-container .block-02-block__filter[for="section-trn-filter-malye"] .block-02-block__filter-text {
      font-weight: 500;
      color: #333333;
    }

    .section-trn__empty {
      box-sizing: border-box;
      max-width: 42rem;
      margin-inline: auto;
      padding: clamp(2rem, 5vw, 3.5rem) 1rem;
      text-align: center;
    }

    .section-trn__empty-text {
      margin: 0;
      font-size: clamp(0.875rem, 0.4vw + 0.75rem, 1.0625rem);
      line-height: 1.45;
      color: var(--trn-muted);
    }

    .section-trn__empty-cta {
      margin: 1.25rem 0 0;
      text-align: center;
    }

/* ===== 04-block ===== */
.section-off {
      --off-max: 1920px;
      --off-pad-d: 210px;
      --off-pad-t: 20px;
      --off-pad-m: 10px;
      --off-line: #2c698d;
      --off-muted: #666565;
      --off-bg: #ffffff;
      --off-card-bg: #eef1f4;
      --off-gap: 20px;
      font-family: "Inter", system-ui, sans-serif;
      color: #000000;
      background: var(--off-bg);
      overflow-x: hidden;
    }

    .section-off-container {
      box-sizing: border-box;
      max-width: var(--off-max);
      margin-inline: auto;
      padding: 160px var(--off-pad-d);
    }

    .off-head { text-align: center; }
    .off-eyebrow {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      margin: 0 0 24px;
    }
    .off-eyebrow-line { height: 1px; background: var(--off-line); }
    .off-eyebrow-text {
      margin: 0;
      color: var(--off-line);
      font-size: clamp(11px, 0.22vw + 10px, 14px);
      font-weight: 500;
      line-height: 1.2;
      text-transform: uppercase;
      letter-spacing: 0.02em;
    }
    .off-title {
      margin: 0;
      font-size: clamp(16px, 0.8vw + 12px, 32px);
      line-height: 1.3;
      font-weight: 600;
      text-transform: uppercase;
      max-width: 1500px;
      margin-inline: auto;
    }

    .off-grid {
      margin-top: 30px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--off-gap);
    }

    .off-card {
      background: var(--off-card-bg);
      border-radius: 20px;
      overflow: hidden;
      transition: all 0.2s ease;
    }
    .off-card:hover { transform: translateY(-4px); }
    .off-card { cursor: pointer; }
    .off-card--static {
      cursor: default;
    }
    .off-card--static:hover {
      transform: none;
    }

    .section-off--directions .section-off-container {
      padding-top: 100px;
    }
    .off-media { aspect-ratio: 740 / 440; }
    .off-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .off-body { padding: 10px 20px 18px; }
    .off-card-title {
      margin: 0;
      font-size: clamp(18px, 0.45vw + 16px, 26px);
      line-height: 1.2;
      font-weight: 600;
    }
    .off-card-title-link {
      color: inherit;
      text-decoration: none;
    }
    .off-card-title-link:hover { opacity: 0.85; }
    .off-card-text {
      margin: 5px 0 0;
      font-size: clamp(14px, 0.35vw + 12px, 20px);
      line-height: 1.35;
      color: var(--off-muted);
    }

    /* tablet <= 1200 */
    @media (max-width: 1200px) {
      .section-off-container { padding-inline: var(--off-pad-t); }
      .off-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    /* mobile <= 640 */
    @media (max-width: 640px) {
      .section-off--directions .section-off-container {
        padding-top: 70px;
      }
      .section-off-container {
        padding-inline: var(--off-pad-m);
        padding-top: 90px;
        padding-bottom: 90px;
      }
      .off-head { text-align: center; }
      .off-grid { grid-template-columns: 1fr; }
      .off-title { font-size: clamp(16px, 1.1vw + 13px, 22px); }
      .off-body { padding: 10px 12px 14px; }
    }

    /* mobileMin <= 390 */
    @media (max-width: 390px) {
      .section-off-container { padding-inline: 10px; }
      .off-eyebrow { gap: 8px; margin-bottom: 14px; }
      .off-eyebrow-text { font-size: 11px; }
      .off-title { font-size: 15px; line-height: 1.25; }
      .off-card-title { font-size: 18px; }
      .off-card-text { font-size: 14px; }
    }

/* ===== 05-block ===== */
.section-adv {
      --adv-max: 1920px;
      --adv-pad-d: 210px;
      --adv-pad-t: 20px;
      --adv-pad-m: 10px;
      --adv-bg: #eef1f4;
      --adv-line: #2c698d;
      --adv-border: #14805d;
      --adv-text: #111111;
      --adv-muted: #666565;
      --adv-gap: 20px;
      background: var(--adv-bg);
      color: var(--adv-text);
      overflow-x: hidden;
      font-family: "Inter", "SF Pro Text", system-ui, sans-serif;
    }

    .section-adv-container {
      box-sizing: border-box;
      max-width: var(--adv-max);
      margin-inline: auto;
      padding: 160px var(--adv-pad-d);
    }

    .adv-head { text-align: center; }
    .adv-eyebrow {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      margin: 0 0 24px;
    }
    .adv-eyebrow-line { height: 1px; background: var(--adv-line); }
    .adv-eyebrow-text {
      margin: 0;
      font-size: clamp(11px, 0.22vw + 10px, 14px);
      line-height: 1.2;
      font-weight: 500;
      text-transform: uppercase;
      color: var(--adv-line);
    }
    .adv-title {
      margin: 0;
      font-size: clamp(18px, 0.9vw + 12px, 32px);
      line-height: 1.3;
      font-weight: 500;
      text-transform: uppercase;
      max-width: 1500px;
      margin-inline: auto;
    }

    .adv-grid {
      margin-top: 32px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: var(--adv-gap);
    }

    .adv-card {
      min-height: 316px;
      border: 1px solid var(--adv-border);
      border-radius: 20px;
      background: #ffffff;
      padding: 162px 20px 20px;
      box-sizing: border-box;
      transition: all 0.2s ease;
    }
    .adv-card:hover { transform: translateY(-4px); }

    .adv-card-title {
      margin: 0;
      font-size: clamp(14px, 0.25vw + 12px, 20px);
      line-height: 1.25;
      font-weight: 400;
      text-transform: uppercase;
      overflow-wrap: break-word;
      word-wrap: break-word;
      hyphens: auto;
    }
    .adv-card-text {
      margin: 15px 0 0;
      font-size: clamp(14px, 0.2vw + 12px, 16px);
      line-height: 1.35;
      font-weight: 400;
      color: var(--adv-muted);
    }

    /* tablet <= 1200 */
    @media (max-width: 1200px) {
      .section-adv-container { padding-inline: var(--adv-pad-t); }
      .adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .adv-card { min-height: 280px; padding-top: 120px; }
      .adv-card-title {
        font-size: clamp(13px, 0.22vw + 11px, 18px);
      }
    }

    /* mobile <= 640 */
    @media (max-width: 640px) {
      .section-adv-container {
        padding-inline: var(--adv-pad-m);
        padding-top: 90px;
        padding-bottom: 90px;
      }
      .adv-grid { grid-template-columns: 1fr; }
      .adv-title { font-size: clamp(16px, 1.05vw + 13px, 22px); }
      .adv-card { min-height: 240px; padding-top: 96px; }
    }

    /* mobileMin <= 390 */
    @media (max-width: 390px) {
      .section-adv-container { padding-inline: 10px; }
      .adv-eyebrow { gap: 8px; margin-bottom: 14px; }
      .adv-eyebrow-text { font-size: 11px; }
      .adv-title { font-size: 15px; line-height: 1.25; }
      .adv-card { min-height: 220px; padding-top: 88px; }
      .adv-card-title { font-size: 14px; line-height: 1.3; }
      .adv-card-text { font-size: 14px; }
    }

/* ===== 06-block ===== */
.section-loc {
      --loc-max: 1920px;
      --loc-pad-d: 210px;
      --loc-pad-t: 20px;
      --loc-pad-m: 10px;
      --loc-line: #2c698d;
      --loc-text: #111111;
      --loc-muted: #666565;
      --loc-green: #14805d;
      --loc-arrow-border: #9f9f9f;
      --loc-arrow-border-active: #000000;
      --loc-gap: 20px;
      overflow-x: hidden;
      color: var(--loc-text);
      font-family: "Inter", "SF Pro Text", "SF Pro", system-ui, sans-serif;
    }

    .section-loc-container {
      box-sizing: border-box;
      max-width: var(--loc-max);
      margin-inline: auto;
      padding: 160px var(--loc-pad-d);
    }

    .loc-eyebrow {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      margin: 0;
    }
    .loc-eyebrow-line { height: 1px; background: var(--loc-line); }
    .loc-eyebrow-text {
      margin: 0;
      color: var(--loc-line);
      text-transform: uppercase;
      font-size: clamp(11px, 0.22vw + 10px, 14px);
      line-height: 1.2;
      font-weight: 500;
    }

    .loc-slider { margin-top: 40px; }
    .loc-slider-viewport { position: relative; min-height: 368px; }
    .loc-slide {
      display: none;
      /* minmax(0,1fr): при битой картинке трек не сжимается до нуля — колонки остаются пополам */
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: var(--loc-gap);
    }
    .loc-slide.is-active { display: grid; }

    .loc-slide-media {
      min-width: 0;
      border-radius: 20px;
      overflow: hidden;
      background: #e8ecf0;
    }

    .loc-slide-media img {
      width: 100%;
      height: auto;
      min-height: 368px;
      object-fit: cover;
      border-radius: 20px;
      display: block;
    }

    .loc-slide-content { min-height: 232px; }
    .loc-title {
      margin: 0;
      font-size: clamp(22px, 0.9vw + 12px, 32px);
      line-height: 1.2;
      font-weight: 600;
      text-transform: uppercase;
    }
    .loc-text {
      margin: 20px 0 0;
      font-size: clamp(14px, 0.35vw + 12px, 20px);
      line-height: 1.4;
      color: var(--loc-muted);
      min-height: 120px;
    }
    .loc-link {
      margin-top: 30px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--loc-green);
      text-decoration: none;
      font-size: clamp(14px, 0.35vw + 12px, 20px);
      line-height: 1.2;
      font-weight: 500;
      transition: all 0.2s ease;
    }
    .loc-link:hover { opacity: 0.85; }
    .loc-link-arrow { line-height: 1; font-size: 1.1em; }

    .loc-controls {
      margin-top: 30px;
      display: flex;
      justify-content: center;
      gap: 20px;
    }
    .loc-arrow {
      width: 70px;
      height: 70px;
      border-radius: 999px;
      border: 1px solid var(--loc-arrow-border);
      background: #ffffff;
      color: var(--loc-arrow-border);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      line-height: 1;
      cursor: pointer;
      transition: all 0.2s ease;
      padding: 0;
    }
    .loc-arrow-next {
      border-color: var(--loc-arrow-border-active);
      color: var(--loc-arrow-border-active);
    }
    .loc-arrow:hover { opacity: 0.85; transform: translateY(-2px); }

    @media (max-width: 1200px) {
      .section-loc-container { padding-inline: var(--loc-pad-t); }
      .loc-slide { grid-template-columns: 1fr; }
      .loc-slide-media img { min-height: 320px; }
      .loc-slide-content { min-height: auto; }
      .loc-text { min-height: auto; }
    }

    @media (max-width: 640px) {
      .section-loc-container {
        padding-inline: var(--loc-pad-m);
        padding-top: 90px;
        padding-bottom: 90px;
      }
      .loc-eyebrow { gap: 12px; }
      .loc-title { font-size: clamp(20px, 1.05vw + 15px, 26px); }
      .loc-slide-media img { min-height: 250px; }
      .loc-arrow {
        width: 56px;
        height: 56px;
        font-size: 24px;
      }
    }

    @media (max-width: 390px) {
      .section-loc-container { padding-inline: 10px; }
      .loc-eyebrow-text { font-size: 11px; }
      .loc-title { font-size: 20px; }
      .loc-text { font-size: 14px; }
      .loc-link { font-size: 14px; }
      .loc-slide-media img { min-height: 220px; }
      .loc-controls { gap: 12px; }
      .loc-arrow {
        width: 48px;
        height: 48px;
        font-size: 20px;
      }
    }

/* ===== 07-block ===== */
.section-cta {
      --cta-max: 1920px;
      --cta-pad-d: 210px;
      --cta-pad-t: 20px;
      --cta-pad-m: 10px;
      --cta-bg: #eef1f4;
      --cta-title: #000000;
      --cta-text: #666565;
      --cta-call: #2c698d;
      --cta-write: #14805d;
      font-family: "Inter", "SF Pro Text", "SF Pro", system-ui, sans-serif;
      background: var(--cta-bg);
      color: var(--cta-title);
      overflow-x: hidden;
    }

    .section-cta-container {
      box-sizing: border-box;
      max-width: var(--cta-max);
      margin-inline: auto;
      padding: 160px var(--cta-pad-d);
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .cta-title {
      margin: 0;
      max-width: 1266px;
      text-align: center;
      text-transform: uppercase;
      font-family: "Raleway", "Inter", "SF Pro", system-ui, sans-serif;
      font-weight: 600;
      font-size: clamp(34px, 2.1vw + 10px, 70px);
      line-height: 1.05;
    }

    .cta-text {
      margin: 20px 0 0;
      max-width: 740px;
      text-align: center;
      color: var(--cta-text);
      font-size: clamp(14px, 0.35vw + 12px, 20px);
      line-height: 1.2;
      font-weight: 400;
    }

    .cta-actions {
      margin-top: 36px;
      width: 100%;
      max-width: 740px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .cta-btn {
      box-sizing: border-box;
      min-height: 56px;
      border-radius: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 16px 24px;
      text-decoration: none;
      text-transform: uppercase;
      color: #ffffff;
      font-size: clamp(14px, 0.25vw + 12px, 18px);
      line-height: 1;
      font-weight: 500;
      letter-spacing: -0.01em;
      transition: all 0.2s ease;
    }

    .cta-btn-call { background: var(--cta-call); }
    .cta-btn-write { background: var(--cta-write); }
    .cta-btn:hover { opacity: 0.85; }

    @media (max-width: 1200px) {
      .section-cta-container { padding-inline: var(--cta-pad-t); }
      .cta-actions { max-width: 640px; gap: 16px; }
    }

    @media (max-width: 640px) {
      .section-cta-container {
        padding-inline: var(--cta-pad-m);
        padding-top: 90px;
        padding-bottom: 90px;
      }

      .cta-title {
        font-size: clamp(28px, 1.25vw + 18px, 40px);
        line-height: 1.08;
      }

      .cta-text {
        margin-top: 16px;
        font-size: 14px;
        line-height: 1.3;
      }

      .cta-actions {
        margin-top: 24px;
        grid-template-columns: 1fr;
        gap: 12px;
      }

      .cta-btn {
        width: 100%;
        min-height: 52px;
      }
    }

    @media (max-width: 390px) {
      .section-cta-container { padding-inline: 10px; }
      .cta-title { font-size: 24px; }
      .cta-text { font-size: 14px; }
      .cta-btn {
        min-height: 48px;
        font-size: 14px;
      }
    }

/* ===== 08-block ===== */
.section-08-hero-image {
      --section-08-bg: #dfe3ea;
      --section-08-h-desktop: 733px;
      --section-08-h-tablet: 520px;
      --section-08-h-mobile: 340px;
      --section-08-h-mobile-min: 260px;
      background: var(--section-08-bg);
      overflow-x: hidden;
      overflow-y: hidden;
      line-height: 0;
      height: var(--section-08-h-desktop);
    }

    .section-08-hero-image__picture {
      display: block;
      width: 100%;
      height: 100%;
    }

    .section-08-hero-image__img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
    }

    @media (max-width: 1200px) {
      .section-08-hero-image {
        height: var(--section-08-h-tablet);
      }
    }

    @media (max-width: 640px) {
      .section-08-hero-image {
        height: var(--section-08-h-mobile);
      }
    }

    @media (max-width: 390px) {
      .section-08-hero-image {
        height: var(--section-08-h-mobile-min);
      }
    }

/* ===== WordPress: главная как в build/index.html — меню только в блоке hero ===== */
body.veter-home-landing:not(.wp-admin) .site-header.site-header--top-menu {
      display: none !important;
    }

