/* ==========================================================================
   Sentora / Prestige Wellness — головний файл стилів
   Порядок: base → layout → components → sections (кожна секція = ACF layout).
   Збірка (npm run build) склеює всі @import в один dist/assets/css/main.css.
   ========================================================================== */

/* Base */
/* assets/css/base/tokens.css */
/* ==========================================================================
   Design tokens — Sentora / Prestige Wellness
   Джерело: Figma → сторінка «Design System» + фактичні значення з макетів «Website».
   ========================================================================== */

:root {
  /* ---- Colors ---- */
  --c-black: #000000;          /* основний текст у макетах */
  --c-ink: #11110f;            /* primary text / CTA (Design System) */
  --c-white: #ffffff;
  --c-canvas: #f5f4f1;         /* warm page background */
  --c-stone: #e4e2db;          /* панелі (Sentora collection, CTA) */
  --c-stone-20: rgba(228, 226, 219, 0.2); /* фон блоку Selected Projects */
  --c-chip: #faf9f8;           /* плашка-тег на картці проєкту */
  --c-warm-gray: #bfb7ae;
  --c-muted: #77736e;

  --c-line: rgba(0, 0, 0, 0.1);        /* тонкі розділювачі */
  --c-line-strong: rgba(0, 0, 0, 0.2); /* рамка кнопки Contact us на білому */
  --c-line-light: rgba(255, 255, 255, 0.3); /* лінії й рамки на фото */
  --c-line-light-soft: rgba(255, 255, 255, 0.1);
  --c-line-stone: #d8d7d0;     /* розділювачі на бежевій панелі */
  --c-line-form: #ceccbc;      /* підкреслення полів форми */

  /* ---- Typography ---- */
  --ff-sans: "Commuters Sans", "Commissioner", "Helvetica Neue", Arial, sans-serif;
  --ff-serif: "Spectrum MT Std", "Spectral", Georgia, serif;
  --fw-light: 300;
  --fw-regular: 400;

  /* ---- Layout ---- */
  --frame: 1440px;             /* ширина макета */
  --gutter: 100px;             /* бокові поля на десктопі */
  --col-gap: 40px;             /* проміжок між колонками (387 + 40 + 387 …) */
  --header-h: 72px;

  /* ---- Motion ---- */
  --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --t-fast: 0.2s;
  --t-base: 0.35s;
}

@media (max-width: 1240px) {
  :root { --gutter: 60px; }
}

@media (max-width: 767px) {
  :root {
    --gutter: 30px;            /* мобільні макети 390 px мають поля 30 px */
    --col-gap: 15px;
  }
}

/* assets/css/base/fonts.css */
/* ==========================================================================
   Fonts
   Commuters Sans (Pangram Pangram) і Spectrum MT Std (Monotype) — комерційні шрифти.
   Файли в src/assets/fonts/ (woff2 + woff):
     CommutersSans-Light, CommutersSans-Regular, CommutersSans-LightItalic, SpectrumMTStd-Regular

   ⚠ ЗАРАЗ Commuters Sans — DEMO-версія Fontspring (лише для перегляду, не для продакшну).
   У demo цифра «4» і майже вся пунктуація (- & + / @ ' " ( ) % # тощо) замінені водяним знаком «DEMO».
   Тому unicode-range нижче обмежує demo-шрифт літерами, цифрами без «4» і , . : ; ?,
   а решту символів браузер бере із запасного Commissioner.
   ПІСЛЯ ПОКУПКИ ЛІЦЕНЗІЇ: замініть файли з тими самими іменами і видаліть три рядки unicode-range.
   ========================================================================== */

@font-face {
  font-family: "Commuters Sans";
  src: url("../fonts/CommutersSans-Light.woff2") format("woff2"),
       url("../fonts/CommutersSans-Light.woff") format("woff");
  unicode-range: U+0020, U+002C, U+002E, U+0030-0033, U+0035-0039, U+003A-003B, U+003F, U+0041-005A, U+0061-007A; /* DEMO: прибрати після покупки */
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Commuters Sans";
  src: url("../fonts/CommutersSans-LightItalic.woff2") format("woff2"),
       url("../fonts/CommutersSans-LightItalic.woff") format("woff");
  unicode-range: U+0020, U+002C, U+002E, U+0030-0033, U+0035-0039, U+003A-003B, U+003F, U+0041-005A, U+0061-007A; /* DEMO: прибрати після покупки */
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Commuters Sans";
  src: url("../fonts/CommutersSans-Regular.woff2") format("woff2"),
       url("../fonts/CommutersSans-Regular.woff") format("woff");
  unicode-range: U+0020, U+002C, U+002E, U+0030-0033, U+0035-0039, U+003A-003B, U+003F, U+0041-005A, U+0061-007A; /* DEMO: прибрати після покупки */
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Spectrum MT Std";
  src: url("../fonts/SpectrumMTStd-Regular.woff2") format("woff2"),
       url("../fonts/SpectrumMTStd-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Запасний шрифт (OFL), поки немає файлів Commuters Sans */
@font-face {
  font-family: "Commissioner";
  src: url("../fonts/Commissioner-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Commissioner";
  src: url("../fonts/Commissioner-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* assets/css/base/base.css */
/* ==========================================================================
   Reset + base typography
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--ff-sans);
  font-weight: var(--fw-light);
  font-size: 15px;
  line-height: 1;
  color: var(--c-black);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, picture, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, textarea, select { font: inherit; color: inherit; }
address { font-style: normal; }

:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

.icon { flex: none; }

/* ---------- Layout ---------- */

.container {
  width: 100%;
  max-width: var(--frame);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* 3-колонкова сітка макета: 387 + 40 + 387 + 40 + 386 = 1240 */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--col-gap);
}

/* 2 колонки по 600 px з проміжком 40 px */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
}

@media (max-width: 767px) {
  .grid-3, .grid-2 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Typography (desktop 1440 / mobile 390) ----------
   Увага: у Figma line-height «99.93%» рахується від власної висоти рядка шрифту (intrinsic),
   а не від кегля. Для Commuters Sans це ≈ 1.2 від кегля (15 px → 18 px, 13 px → 15.6 px). */

.t-h1 {
  font-weight: var(--fw-light);
  font-size: min(60px, 4.1667vw);
  line-height: 0.9;
  text-transform: uppercase;
}

.t-h2 {
  font-weight: var(--fw-light);
  font-size: min(45px, 3.125vw);
  line-height: 0.99;
  text-transform: uppercase;
}

.t-h3 {
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 1.11;
  text-transform: uppercase;
}

.t-eyebrow {
  display: block;
  font-weight: var(--fw-light);
  font-size: 15px;
  line-height: 0.9;
  opacity: 0.4;
}

.t-body {
  font-weight: var(--fw-light);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.t-body p + p { margin-top: 1.2em; } /* порожній рядок між абзацами, як у Figma */

.t-lead {
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.04em;
}

.t-caption {
  font-weight: var(--fw-light);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.07em;
}

.t-link-lg {
  font-weight: var(--fw-light);
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.07em;
}

@media (max-width: 767px) {
  .t-h1 { font-size: 35px; }
  .t-h2 { font-size: 25px; }
  .t-h3 { font-size: 15px; }
  .t-eyebrow { font-size: 12px; }
  .t-body { font-size: 13px; line-height: 15px; } /* Figma округлює 13 × 1.2 до 15 px */
  .t-lead { font-size: 13px; line-height: 1.23; }
  .t-caption { font-size: 12px; }
  .t-link-lg { font-size: 14px; }
}

/* ---------- Buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 43px;
  padding: 0 19px;
  border: 1px solid transparent;
  font-family: var(--ff-sans);
  font-weight: var(--fw-regular);
  font-size: 15px;
  line-height: 0.9;
  white-space: nowrap;
  transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);
}

.btn--white { background: var(--c-white); color: var(--c-black); }
.btn--white:hover { background: var(--c-stone); }

.btn--dark { background: var(--c-black); color: var(--c-white); }
.btn--dark:hover { background: #2a2a28; }

.btn--ghost-light { border-color: var(--c-line-light); color: var(--c-white); }
.btn--ghost-light:hover { border-color: var(--c-white); }

.btn--ghost { border-color: var(--c-line); color: var(--c-black); }
.btn--ghost:hover { border-color: var(--c-black); }

.btn--tall { height: 50px; }

@media (max-width: 767px) {
  .btn { height: 50px; font-size: 14px; padding: 0 15px; }
  .btn--block-m { display: flex; width: 100%; }
}

/* ---------- Arrow link list (Prima Glass →) ---------- */

.arrow-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: opacity var(--t-fast) var(--ease);
}
.arrow-link:hover { opacity: 0.6; }
.arrow-link .icon--arrow-right { width: 7px; height: 8px; }

/* ---------- Responsive visibility ---------- */

@media (min-width: 768px) { .only-mobile { display: none !important; } }
@media (max-width: 767px) { .only-desktop { display: none !important; } }


/* Layout */
/* assets/css/layout/header.css */
/* ==========================================================================
   Header (desktop 1440: висота 72, лінія знизу; mobile 390: логотип + бургер)
   ========================================================================== */

.site-header {
  position: relative;
  z-index: 50;
  height: var(--header-h);
  color: var(--c-black);
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
}

/* Прозора шапка поверх hero (головна) */
.site-header--overlay {
  position: absolute;
  inset: 0 0 auto;
  color: var(--c-white);
  background: transparent;
  border-bottom-color: var(--c-line-light);
}

/* Липка шапка після прокрутки (додається JS) */
.site-header.is-sticky {
  position: fixed;
  inset: 0 0 auto;
  color: var(--c-black);
  background: var(--c-white);
  border-bottom-color: var(--c-line);
  animation: header-in var(--t-base) var(--ease);
}
@keyframes header-in { from { transform: translateY(-100%); } to { transform: none; } }

.site-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  max-width: var(--frame);
  margin-inline: auto;
  padding: 0 98px 0 105px; /* логотип x=105, кнопка закінчується на 1342 */
}

.site-header__logo { display: block; color: inherit; }
.site-header__logo .icon--logo { width: 118px; height: 30px; }

/* ---------- Primary nav ---------- */

.site-nav {
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  transform: translateX(-50%);
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
  height: 100%;
}

.site-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  line-height: 0.9;
  white-space: nowrap;
  transition: opacity var(--t-fast) var(--ease);
}
.site-nav__link:hover { opacity: 0.6; }
.site-nav__link .icon--chevron-down { width: 11px; height: 7px; margin-top: 1px; transition: transform var(--t-fast) var(--ease); }

/* Активний пункт: крапка 5 px зліва + Regular */
.site-nav__item.is-active > .site-nav__link { font-weight: var(--fw-regular); }
.site-nav__item.is-active > .site-nav__link::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-radius: 50%;
  background: currentColor;
}

/* Dropdown (у макеті не намальований — стилістика мобільного меню, біла панель) */
.site-nav__dropdown {
  position: absolute;
  top: calc(100% + 1px);
  left: -30px;
  min-width: 300px;
  padding: 28px 30px;
  color: var(--c-black);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-top: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), visibility 0s linear var(--t-fast);
}
.site-nav__dropdown--cols { min-width: 420px; }
.site-nav__dropdown--cols .site-nav__sub { columns: 2; column-gap: 40px; }

.site-nav__item--has-sub:hover .site-nav__dropdown,
.site-nav__item--has-sub:focus-within .site-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.site-nav__item--has-sub:hover .icon--chevron-down { transform: rotate(180deg); }

.site-nav__sub li { break-inside: avoid; }
.site-nav__sub li + li { margin-top: 14px; }
.site-nav__dropdown--cols .site-nav__sub li { margin: 0 0 14px; }
.site-nav__sub a {
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: opacity var(--t-fast) var(--ease);
}
.site-nav__sub a:hover { opacity: 0.5; }

/* ---------- CTA ---------- */

.site-header__cta {
  display: inline-flex;
  align-items: center;
  height: 41px;
  margin-left: auto;
  padding: 0 26px;
  border: 1px solid var(--c-line-strong);
  font-weight: var(--fw-regular);
  font-size: 15px;
  line-height: 0.9;
  white-space: nowrap;
  transition: border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}
.site-header--overlay .site-header__cta { border-color: var(--c-line-light); }
.site-header__cta:hover { border-color: currentColor; }

.site-header__burger { display: none; }

/* ---------- Tablet ---------- */

@media (max-width: 1180px) {
  .site-header__inner { padding-inline: var(--gutter); }
  .site-nav__list { gap: 28px; }
}

/* ---------- Mobile (390) ---------- */

@media (max-width: 1023px) {
  .site-nav, .site-header__cta { display: none; }

  .site-header { height: 70px; border-bottom: 0; }

  .site-header__inner { padding: 0 var(--gutter); }

  .site-header__logo .icon--logo { width: 104px; height: 26px; }

  .site-header__burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 -6px 0 auto;
  }
  .site-header__burger .icon--burger { width: 29px; height: 8px; }
}

/* ==========================================================================
   Mobile menu (iPhone 17 – 2/3/4): чорний екран, акордеони Expertise / Products
   ========================================================================== */

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  padding: 22px var(--gutter) 44px;
  overflow-y: auto;
  color: var(--c-white);
  background: var(--c-black);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--t-base) var(--ease), visibility 0s linear var(--t-base);
}
.mobile-menu.is-open {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.mobile-menu__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.mobile-menu__logo .icon--logo { width: 104px; height: 26px; }
.mobile-menu__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: -8px -10px 0 0;
}
.mobile-menu__close .icon--close { width: 20px; height: 19px; }

.mobile-menu__nav { margin-top: 141px; }

.mobile-menu__item { border-bottom: 1px solid var(--c-line-light-soft); }

.mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 0 19px;
  font-weight: var(--fw-light);
  font-size: 15px;
  line-height: 0.9;
  text-align: left;
  text-transform: uppercase;
}
.mobile-menu__item:first-child .mobile-menu__link { padding-top: 0; }
.mobile-menu__toggle .icon--chevron-down { width: 11px; height: 7px; margin-right: 1px; transition: transform var(--t-fast) var(--ease); }
.mobile-menu__toggle[aria-expanded="true"] .icon--chevron-down { transform: rotate(180deg); }

.mobile-menu__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--t-base) var(--ease);
}
.mobile-menu__toggle[aria-expanded="true"] + .mobile-menu__panel { grid-template-rows: 1fr; }
.mobile-menu__panel > ul { min-height: 0; overflow: hidden; }

.mobile-menu__sub { padding: 0 0 0 15px; }
.mobile-menu__sub li { padding-bottom: 12px; break-inside: avoid; }
.mobile-menu__sub li:last-child { padding-bottom: 20px; }
.mobile-menu__sub--cols {
  /* grid замість columns: Safari на iOS не розкриває multi-column усередині акордеона 0fr → 1fr */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 15px;
  row-gap: 12px;
  align-content: start;
}
.mobile-menu__sub--cols li,
.mobile-menu__sub--cols li:last-child { padding-bottom: 0; }
.mobile-menu__sub--cols li:nth-child(5) { padding-bottom: 20px; } /* останній рядок сітки */
.mobile-menu__sub a {
  display: inline-block;
  font-weight: var(--fw-regular);
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: 0.04em;
}

.mobile-menu__cta { width: 100%; height: 50px; margin-top: 58px; font-size: 14px; }

body.menu-open { overflow: hidden; }

@media (min-width: 1024px) {
  .mobile-menu { display: none; }
}

/* assets/css/layout/footer.css */
/* ==========================================================================
   Footer (Main 1440: логотип → лінія → 3 колонки → нижній ряд;
           mobile 390: Contacts зверху, далі Navigation | Office, legal | social)
   ========================================================================== */

.site-footer {
  padding: 130px 0 32px;
  color: var(--c-black);
  background: var(--c-white);
}

.site-footer__logo {
  display: block;
  width: 146px;
  margin: 0 auto;
}
.site-footer__logo .icon--logo { width: 146px; height: 37px; }

.site-footer__grid {
  display: grid;
  grid-template-columns: 263px minmax(0, 1fr) 387px;
  grid-template-areas:
    "nav    office contacts"
    "legal  legal  social";
  margin-top: 35px;
  padding-top: 58px;
  border-top: 1px solid var(--c-line);
}

.site-footer__col--nav { grid-area: nav; }
.site-footer__col--office { grid-area: office; position: relative; }
.site-footer__col--contacts { grid-area: contacts; }

.site-footer__title {
  margin-bottom: 30px;
  font-weight: var(--fw-light);
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.site-footer__links { line-height: 0.9; }
.site-footer__links li + li { margin-top: 14.5px; }
.site-footer__links a,
.site-footer__careers,
.site-footer__legal a {
  display: inline-block;
  font-size: 15px;
  line-height: 0.9;
  opacity: 0.5;
  transition: opacity var(--t-fast) var(--ease);
}
.site-footer__links a:hover,
.site-footer__careers:hover,
.site-footer__legal a:hover { opacity: 1; }

.site-footer__address {
  font-size: 15px;
  line-height: 1.2;
  opacity: 0.5;
}
.site-footer__address p + p { margin-top: 3px; }

/* Careers стоїть на одному рівні з After-Sales */
.site-footer__careers { position: absolute; left: 0; top: 160px; }

.site-footer__contacts dt {
  font-size: 15px;
  line-height: 1.2;
  opacity: 0.5;
}
.site-footer__contacts dd {
  margin: 8px 0 0;
  font-weight: var(--fw-regular);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
.site-footer__contacts dd + dt { margin-top: 19px; }
.site-footer__contacts a { transition: opacity var(--t-fast) var(--ease); }
.site-footer__contacts a:hover { opacity: 0.6; }

.site-footer__legal {
  grid-area: legal;
  display: grid;
  grid-template-columns: 263px auto;
  align-items: center;
  margin-top: 209px;
}

.site-footer__social {
  grid-area: social;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 196px;
}

.site-footer__social-link,
.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  transition: opacity var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);
}
.site-footer__social-link { color: var(--c-white); background: var(--c-black); }
.site-footer__social-link:hover { opacity: 0.7; }
.site-footer__social-link .icon--linkedin { width: 15px; height: 15px; }
.site-footer__social-link .icon--instagram { width: 13px; height: 13px; }

.site-footer__top {
  margin-left: auto;
  border: 1px solid var(--c-line-strong);
}
.site-footer__top:hover { background: var(--c-stone); }
.site-footer__top .icon--arrow-up { width: 8px; height: 7px; }

.site-footer__credit {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--c-line);
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
  opacity: 0.3;
}

/* ---------- Tablet ---------- */
@media (min-width: 768px) and (max-width: 1240px) {
  .site-footer__grid { grid-template-columns: 220px minmax(0, 1fr) auto; column-gap: 30px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .site-footer__grid { grid-template-columns: 150px minmax(0, 1fr) auto; }
  .site-footer__contacts dd { font-size: 14px; }
  .site-footer__legal { grid-template-columns: 180px auto; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .site-footer { padding: 70px 0 24px; }

  .site-footer__logo { width: 110px; }
  .site-footer__logo .icon--logo { width: 110px; height: 28px; }

  .site-footer__grid {
    grid-template-columns: 187px minmax(0, 1fr);
    grid-template-areas:
      "contacts contacts"
      "nav      office"
      "legal    social";
    margin-top: 25px;
    padding-top: 53px;
  }

  .site-footer__title {
    margin-bottom: 23px;
    font-size: 14px;
  }

  .site-footer__contacts dt { font-size: 12px; line-height: 1.192; }
  .site-footer__contacts dd { margin-top: 3px; font-size: 13px; }
  .site-footer__contacts dd + dt { margin-top: 23px; }

  .site-footer__col--nav,
  .site-footer__col--office { margin-top: 65px; }

  .site-footer__links { font-size: 12px; }
  .site-footer__links li + li { margin-top: 10px; }
  .site-footer__links a,
  .site-footer__careers,
  .site-footer__legal a { font-size: 12px; }
  .site-footer__address { font-size: 12px; }
  .site-footer__careers { top: 121px; }

  .site-footer__legal {
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    margin-top: 60px;
  }
  .site-footer__legal a:first-child { order: 2; } /* у мобільному макеті Cookie вище Privacy */

  .site-footer__social { align-self: start; margin-top: 60px; }

  .site-footer__credit { margin-top: 46px; }
}

/* Вузькі телефони (<390): колонки ділять ширину порівну, Careers — потоком під адресою */
@media (max-width: 389px) {
  .site-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 15px; }
  .site-footer__careers { position: static; margin-top: 10px; }
}


/* Components (спільні блоки для кількох сторінок) */
/* assets/css/components/section-head.css */
/* ==========================================================================
   Section head — eyebrow у першій колонці, заголовок + текст з другої колонки
   (Main: What We Do / About; внутрішні сторінки: Who We Are тощо)
   ========================================================================== */

.section-head { align-items: start; }

.section-head__eyebrow { margin-top: 10px; }

.section-head__main { grid-column: 2 / span 2; }

.section-head__title { max-width: 787px; }

.section-head__text {
  max-width: 519px;
  margin-top: 25px;
}

/* Варіант: текст у двох колонках (About на головній) */
.section-head__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
  margin-top: 58px;
}

@media (max-width: 767px) {
  .section-head__eyebrow { margin-top: 0; }
  .section-head__main { grid-column: auto; margin-top: 20px; }
  .section-head__title { max-width: 250px; }
  .section-head__text { max-width: none; margin-top: 31px; }
  .section-head__cols { grid-template-columns: 1fr; row-gap: 1em; margin-top: 31px; }
}

/* assets/css/components/stat.css */
/* ==========================================================================
   Stat — «250 + PROJECTS» / лінія / підпис
   ========================================================================== */

.stat { max-width: 408px; }

.stat__value {
  display: flex;
  align-items: baseline;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--c-line);
  max-width: 387px;
  white-space: nowrap;
}

.stat__num {
  font-weight: var(--fw-light);
  font-size: min(45px, 3.125vw);
  line-height: 1.2;
  letter-spacing: 0.07em;
}

.stat__plus {
  margin-left: 1px;
  font-family: var(--ff-serif);
  font-size: min(30px, 2.0833vw);
  line-height: 1.2;
  letter-spacing: 0.07em;
}

.stat__unit {
  margin-left: 21px;
  font-weight: var(--fw-light);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.stat__flags {
  display: flex;
  align-items: center;
  gap: 4px;
  align-self: center;
  font-size: 14px;
  letter-spacing: 0.07em;
}
.stat__flags img:first-child { width: 32px; height: 33px; }
.stat__flags img:last-child { width: 26px; height: 27px; }

.stat__text {
  margin-top: 20px;
  font-weight: var(--fw-light);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.stat__text--caps-gap { letter-spacing: 0.07em; }

@media (max-width: 767px) {
  .stat__num { font-size: 30px; }
  .stat__plus { font-size: 15px; letter-spacing: 0.07em; }
  .stat__unit { margin-left: 12px; font-size: 15px; }
  .stat__value { padding-bottom: 2px; }
  .stat__text { margin-top: 20px; font-size: 13px; }
  .stat__flags img:first-child { width: 31px; height: 31px; }
  .stat__flags img:last-child { width: 25px; height: 25px; }
}

/* assets/css/components/projects.css */
/* ==========================================================================
   Projects slider — «Experience, Built.» (Main) / «Selected … Projects» (продуктові сторінки)
   Картки 601×396, проміжок 30 px, трек виходить за правий край екрана.
   ========================================================================== */

.projects {
  padding: 132px 0 113px;
  background: var(--c-stone-20);
  overflow: hidden;
}

/* Варіант без фону і відступів (внутрішні сторінки) */
.projects--plain { padding: 0; background: none; }

.projects__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 387px;
  grid-template-areas:
    "eyebrow ."
    "title   stat";
  column-gap: var(--col-gap);
  align-items: start;
  margin-left: -1px; /* у макеті блок починається з x = 99 */
}
.projects__eyebrow { grid-area: eyebrow; }
.projects__title { grid-area: title; max-width: 583px; }
.projects__eyebrow + .projects__title { margin-top: 42px; }
.projects__stat { grid-area: stat; margin-top: 37px; }

.projects__slider { margin-top: 84px; }
.projects--plain .projects__slider { margin-top: 45px; }

.projects__track {
  display: flex;
  gap: 30px;
  margin: 0 calc(-1 * var(--gutter));
  padding: 0 var(--gutter);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  scrollbar-width: none;
  cursor: grab;
}
.projects__track::-webkit-scrollbar { display: none; }
.projects__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.projects__track.is-dragging a { pointer-events: none; }

.project-card {
  flex: 0 0 601px;
  scroll-snap-align: start;
}
.project-card:first-child { margin-left: -1px; }

.project-card__link { display: block; }

.project-card__media {
  position: relative;
  height: 396px;
  overflow: hidden;
}
.project-card__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}
.project-card__link:hover .project-card__media > img { transform: scale(1.03); }

/* ---------- Галерея в картці (кілька фото проєкту) ---------- */
.project-card__slides {
  display: flex;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.project-card__slides::-webkit-scrollbar { display: none; }
.project-card__slides > img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  scroll-snap-align: start;
}
.project-card__counter {
  position: absolute;
  left: 19px;
  bottom: 17px;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--c-white);
  pointer-events: none;
}
.project-card__next {
  position: absolute;
  right: 4px;
  bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--c-white);
  transition: opacity var(--t-fast) var(--ease);
}
.project-card__next:hover { opacity: 0.6; }
.project-card__next .icon--slider-arrow { width: 16px; height: 16px; }

.project-card__tag {
  position: absolute;
  left: 20px;
  top: 20px;
  padding: 5px 7px;
  background: var(--c-chip);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.07em;
  color: rgba(0, 0, 0, 0.7);
}

.project-card__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  width: 600px;
  max-width: 100%;
  margin-top: 24px;
  padding-top: 12px;
  border-top: 1px solid var(--c-line);
}

.project-card__title {
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 0.99;
  text-transform: uppercase;
}

.project-card__place {
  display: flex;
  align-items: center;
  gap: 11px;
  flex: none;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.07em;
  opacity: 0.5;
  white-space: nowrap;
}
.project-card__place img { width: 16px; height: 16px; }

.projects__nav {
  /* стрілки слайдера (оновлений макет: і на desktop — під картками, зліва) */
  display: flex;
  gap: 32px;
  margin-top: 40px;
}
.projects__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  transition: opacity var(--t-fast) var(--ease);
}
.projects__arrow:hover:not(:disabled) { opacity: 0.6; }
.projects__arrow .icon--slider-arrow { width: 20px; height: 20px; }
.projects__arrow--prev { transform: scaleX(-1); }
.projects__arrow:disabled { opacity: 0.25; cursor: default; }

.projects__more {
  display: flex;
  justify-content: center;
  margin-top: 45px;
}

/* Головна: заголовок у 2 рядки, статистика справа трохи вище заголовка */
.projects--home .projects__title { max-width: 434px; }
.projects--home .projects__stat { margin-top: 37px; } /* 42 (відступ заголовка) − 5 */
.projects--home .projects__stat .stat__text { width: 408px; }
.projects--home .projects__slider { margin-top: 50px; }

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .projects { padding: 72px 0 70px; background: none; } /* на мобільному фон білий */
  .projects--plain { padding: 0; }

  .projects__head {
    grid-template-columns: 1fr;
    grid-template-areas: "eyebrow" "title";
    margin-left: 0;
  }
  .projects__eyebrow + .projects__title { margin-top: 20px; }
  .projects__title { max-width: 330px; }

  /* статистика переїжджає під слайдер */
  .projects .container { display: flex; flex-direction: column; }
  .projects__head { display: contents; }
  .projects__eyebrow { order: 1; }
  .projects__title { order: 2; }
  .projects__slider { order: 3; margin-top: 35px; }
  .projects__stat,
  .projects--home .projects__stat { order: 4; margin: 29px 0 0; max-width: none; }
  .projects--home .projects__stat .stat__text { width: auto; }
  .projects--home .projects__slider { margin-top: 35px; }
  .projects__more { order: 5; }
  .projects__stat .stat__value { max-width: none; }

  .projects--plain .projects__slider { margin-top: 30px; }

  .projects__track { gap: 15px; }
  .project-card { flex-basis: 330px; }
  .project-card:first-child { margin-left: 0; }
  .project-card__media { height: 324px; }
  .project-card__tag { left: 12px; top: 12px; padding: 5px 7px 4px; font-size: 12px; }

  .project-card__meta { width: auto; margin-top: 15px; padding-top: 14px; }
  .project-card__title { font-weight: var(--fw-light); font-size: 15px; }
  .project-card__place { gap: 7px; font-size: 11px; }
  .project-card__place img { width: 13px; height: 13px; }

  .projects__nav {
    display: flex;
    gap: 22px;
    margin-top: 16px;
  }
  .projects__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    transition: opacity var(--t-fast) var(--ease);
  }
  .projects__arrow .icon--slider-arrow { width: 14px; height: 14px; }
  .projects__arrow--prev { transform: scaleX(-1); }
  .projects__arrow:disabled { opacity: 0.2; }

  .projects__more { display: none; }
}

/* assets/css/components/image-band.css */
/* ==========================================================================
   Image band — фото на всю ширину з затемненням і центрованим CTA
   (Main: «Great wellness is engineered before it is built»)
   ========================================================================== */

.image-band {
  position: relative;
  display: flex;
  justify-content: center;
  height: 732px;
  overflow: hidden;
  color: var(--c-white);
  background: #26241f;
  text-align: center;
}

.image-band__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Для фото без «запеченого» затемнення додайте модифікатор image-band--dim */
.image-band--dim::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.37);
}

.image-band__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 211px;
}

.image-band__title { max-width: 510px; line-height: 0.9; }

.image-band__text { max-width: 579px; margin-top: 29px; }

.image-band__btn { margin-top: 51px; }

@media (max-width: 767px) {
  .image-band { height: 609px; }
  .image-band__content { padding: 155px var(--gutter) 0; }
  .image-band__title { max-width: 270px; line-height: 0.94; }
  .image-band__text { max-width: 328px; margin-top: 35px; }
  .image-band__btn { width: 257px; margin-top: 50px; }
}

/* Варіант «Let's Talk About Your Project» (продуктові сторінки, Sauna 2600:460) */
.image-band--talk { height: 754px; }
.image-band--talk .image-band__content { padding-top: 253px; }
.image-band--talk .image-band__title { max-width: 518px; color: var(--c-stone); }
.image-band--talk .image-band__text { max-width: 404px; line-height: 1.11; }
.image-band--talk .image-band__btn { margin-top: 41px; }

@media (max-width: 767px) {
  .image-band--talk { height: 527px; }
  .image-band--talk .image-band__content { padding-top: 140px; }
  .image-band--talk .image-band__title { max-width: 300px; }
}

/* assets/css/components/form-cta.css */
/* ==========================================================================
   Contact form CTA — фото з заголовком + форма на бежевій панелі
   (Main 6062–6879; mobile: форма поверх фото білим)
   ========================================================================== */

.form-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--frame);
  min-height: 817px;
  margin: 125px auto 0;
}

.form-cta__media {
  position: relative;
  overflow: hidden;
  color: var(--c-white);
  background: #2b2925;
}
.form-cta__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.form-cta__intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 92px 100px 59px;
}
.form-cta__title { max-width: 583px; line-height: 0.9; }
.form-cta__text {
  max-width: 397px;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.04em;
}

.form-cta__panel {
  display: flex;
  justify-content: flex-start;
  padding: 190px 0 0 142px;
  background: var(--c-stone);
}

/* ---------- Form ---------- */

.lead-form { width: 435px; }

/* Два поля в ряд (First name | Last name, Email | Phone); на мобільному — стовпчиком */
.lead-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 23px;
}

.lead-form__field {
  position: relative;
  display: block;
  height: 34px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--c-line-form);
  cursor: text;
}
.lead-form__field--area { height: 116px; margin-bottom: 29px; }

.lead-form__label {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.07em;
  opacity: 0.7;
  pointer-events: none;
  transition: transform var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);
  transform-origin: left top;
}
.lead-form__field.is-filled .lead-form__label,
.lead-form__field:focus-within .lead-form__label { transform: translateY(-14px) scale(0.8); opacity: 0.45; }
.lead-form__field--select .lead-form__label { transform: none !important; }
.lead-form__field--select.is-filled .lead-form__label { opacity: 0; }

.lead-form__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  letter-spacing: 0.04em;
  outline: none;
  appearance: none;
  resize: none;
}
textarea.lead-form__input { padding-top: 22px; }

/* Телефон з вибором країни (intl-tel-input): прапор + код зліва, підпис зсувається праворуч від них */
.lead-form__field--phone .iti { position: absolute; inset: 0; display: block; }
.lead-form__field--phone .iti__country-container { bottom: 12px; }
.lead-form__field--phone .iti__selected-country { padding: 0 6px 0 0; color: inherit; background: none; }
.lead-form__field--phone .iti__selected-dial-code { color: inherit; font-size: 15px; letter-spacing: 0.04em; }
.lead-form__field--phone .iti__arrow { border-top-color: currentColor; opacity: 0.6; }
.lead-form__field--phone .iti__arrow--up { border-bottom-color: currentColor; }
.lead-form__field--phone .lead-form__label { left: var(--phone-offset, 0); }
.lead-form__field--phone.is-filled .lead-form__label,
.lead-form__field--phone:focus-within .lead-form__label { left: 0; }
.iti--container .iti__dropdown-content,
.iti__dropdown-content { color: var(--c-black); font-size: 14px; }
select.lead-form__input { cursor: pointer; }
select.lead-form__input option { color: var(--c-black); }

.lead-form__field--select .icon--select-chevron {
  position: absolute;
  right: 0;
  top: 2px;
  width: 13px;
  height: 8px;
  opacity: 0.5;
  pointer-events: none;
}

.lead-form__submit { margin-left: 89px; }

.lead-form__field.is-invalid { border-bottom-color: #b5453a; }

/* 1.8.0: згоди (Privacy Policy, розсилки) і Cloudflare Turnstile перед кнопкою */
.lead-form__consents { display: grid; row-gap: 12px; margin: -6px 0 26px; }
.lead-form__check {
  position: relative;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  column-gap: 11px;
  align-items: start;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.lead-form__check span { opacity: 0.8; }
.lead-form__check a { text-decoration: underline; text-underline-offset: 0.15em; }
.lead-form__checkbox {
  width: 14px;
  height: 14px;
  margin: 1px 0 0;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  opacity: 0.7;
  appearance: none;
  cursor: pointer;
}
.lead-form__checkbox:checked {
  opacity: 1;
  background: currentColor;
  box-shadow: inset 0 0 0 2px var(--lead-form-bg, #fff);
}
.lead-form__checkbox:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.lead-form__check.is-invalid span { color: #b5453a; opacity: 1; }
.lead-form__check.is-invalid .lead-form__checkbox { border-color: #b5453a; opacity: 1; }
.form-cta .lead-form { --lead-form-bg: var(--c-stone); }
.contact-us-hero .lead-form { --lead-form-bg: #2b2925; }
.lead-form__captcha { margin: -8px 0 24px; min-height: 65px; }

/* 1.9.0: мульти-вибір (Products or Services of Interest) */
.lead-form__field--multi { cursor: pointer; }
.lead-form__multi-toggle { text-align: left; color: inherit; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding-right: 24px; }
.lead-form__multi-toggle span { display: block; overflow: hidden; text-overflow: ellipsis; }
.lead-form__field--multi.is-filled .lead-form__label { opacity: 0; }
.lead-form__field--multi.is-open .icon--select-chevron { transform: rotate(180deg); }
.lead-form__options {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 1px);
  z-index: 20;
  max-height: 260px;
  padding: 8px 0;
  overflow-y: auto;
  background: var(--c-white);
  color: var(--c-black);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}
.lead-form__option {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  padding: 8px 14px;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.lead-form__option:hover { background: var(--c-canvas); }
.lead-form__option input {
  width: 14px;
  height: 14px;
  margin: 1px 0 0;
  border: 1px solid currentColor;
  border-radius: 0;
  appearance: none;
  cursor: pointer;
}
.lead-form__option input:checked { background: currentColor; box-shadow: inset 0 0 0 2px var(--c-white); }
.lead-form--contact .lead-form__check.is-invalid span { color: #ff9d8f; }
.lead-form--contact .lead-form__check.is-invalid .lead-form__checkbox { border-color: #ff9d8f; }
@media (max-width: 767px) {
  .form-cta .lead-form { --lead-form-bg: #2b2925; }
  .contact-us-hero .lead-form { --lead-form-bg: var(--c-stone); }
  .lead-form--contact .lead-form__check.is-invalid span { color: #b5453a; }
  .lead-form--contact .lead-form__check.is-invalid .lead-form__checkbox { border-color: #b5453a; }
  .lead-form__check { font-size: 11px; }
}

.lead-form__note { margin-top: 14px; font-size: 13px; letter-spacing: 0.04em; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .form-cta__intro { padding-inline: var(--gutter); }
  .form-cta__panel { padding: 190px var(--gutter) 80px; justify-content: center; }
  .lead-form { width: 100%; max-width: 435px; }
}

/* ---------- Mobile (390): все поверх фото ---------- */
@media (max-width: 767px) {
  .form-cta {
    position: relative;
    display: block;
    min-height: 715px;
    margin-top: 59px;
    overflow: hidden;
    color: var(--c-white);
    background: #2b2925;
  }
  .form-cta__media { position: static; }
  .form-cta__img { object-position: 30% 50%; }
  .form-cta__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.55) 100%);
  }

  .form-cta__intro {
    z-index: 1;
    height: auto;
    padding: 66px var(--gutter) 0;
    align-items: center;
    text-align: center;
  }
  .form-cta__title { max-width: 338px; line-height: 0.98; }
  .form-cta__text { max-width: 319px; margin-top: 25px; font-size: 13px; line-height: 1.23; }

  .form-cta__panel {
    position: relative;
    z-index: 1;
    display: block;
    padding: 41px var(--gutter) 70px;
    background: none;
  }

  .lead-form { max-width: none; }
  .lead-form__row { display: block; }
  .lead-form__field { height: 29px; margin-bottom: 25px; }
  .lead-form__field--area { height: 109px; margin-bottom: 25px; }
  .lead-form__label { font-size: 12px; }
  .lead-form__input { color: var(--c-white); }
  .lead-form__field--select .icon--select-chevron { color: var(--c-white); }

  .lead-form__submit {
    display: flex;
    width: 100%;
    margin: 0;
    background: var(--c-white);
    color: var(--c-black);
  }
}

/* assets/css/components/page-hero.css */
/* ==========================================================================
   Page hero (внутрішні сторінки): breadcrumbs, H1, лід зліва; фото 700×749 справа впритул до шапки.
   Sauna 2600:399: crumbs y=187, H1 y=304, лід y=556, фото x=740 y=72.
   Mobile: crumbs y=108, H1 y=149, лід +25, фото 390×450 на всю ширину +40.
   ========================================================================== */

.page-hero {
  position: relative;
  max-width: var(--frame);
  min-height: 749px;
  margin: 0 auto;
  /* лід стоїть на фіксованій висоті 556 px від верху сторінки, якщо заголовок не довший */
  --hero-title-min: 252px;
}

.page-hero__content {
  max-width: 640px;
  padding-top: 115px;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  row-gap: 6px;
  font-size: 15px;
  line-height: 0.9;
  opacity: 0.4;
}
.breadcrumbs li { display: flex; }
.breadcrumbs li + li::before { content: "/"; margin: 0 19px; }
.breadcrumbs a { transition: opacity var(--t-fast) var(--ease); }
.breadcrumbs a:hover { opacity: 0.6; }

.page-hero__title {
  max-width: 623px;
  min-height: var(--hero-title-min);
  margin-top: 104px;
  margin-left: -2px; /* у макеті x = 98 */
}

.page-hero__lead { max-width: 524px; }

.page-hero__media {
  position: absolute;
  right: 0;
  top: 0;
  width: 700px;
  height: 749px;
  overflow: hidden;
}
.page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1240px) {
  .page-hero__content { max-width: calc(100% - 52%); }
  .page-hero__media { width: 48%; }
  .page-hero__title { overflow-wrap: break-word; }
}

/* Планшет: фото поруч уже не вміщається — ставимо під текст, як на мобільному */
@media (max-width: 1023px) {
  .page-hero { min-height: 0; --hero-title-min: 0; }
  .page-hero__content { max-width: 640px; padding-top: 60px; }
  .page-hero__title { margin-top: 60px; max-width: 600px; }
  .page-hero__lead { margin-top: 30px; }
  .page-hero__media {
    position: relative;
    width: 100%;
    height: 60vw;
    max-height: 640px;
    margin-top: 50px;
  }
}

@media (max-width: 767px) {
  .page-hero { min-height: 0; --hero-title-min: 0; }
  .page-hero__content { max-width: none; padding-top: 38px; }
  .breadcrumbs ol { font-size: 12px; row-gap: 5px; }
  .breadcrumbs li + li::before { margin: 0 10px; }
  .page-hero__title { margin: 30px 0 0; max-width: 330px; }
  .page-hero__lead { margin-top: 25px; }
  .page-hero__media {
    position: relative;
    width: 100%;
    height: 450px;
    margin-top: 40px;
  }
}

/* assets/css/components/feature-list.css */
/* ==========================================================================
   Feature list — «Sauna Environments We Create», «What We Design and Deliver» …
   Рядок: іконка | назва (x = 380 або 487) | текст (x = 740), розділювачі 1240 px.

   <section class="feature-list [feature-list--name-wide]">
     <div class="container">
       <h2 class="feature-list__title t-h2">…</h2>
       <ul class="feature-list__items">
         <li class="feature-list__item">
           <span class="feature-list__icon"><img src="assets/img/….png" width="68" height="68" alt=""></span>
           <h3 class="feature-list__name t-h3">Finnish Sauna</h3>
           <p class="feature-list__text t-body">…</p>
         </li>
       </ul>
     </div>
   </section>
   ========================================================================== */

.feature-list { --fl-name-x: 280px; }          /* назва з x = 380 (Hammams, Ice & Snow) */
.feature-list--name-wide { --fl-name-x: 387px; } /* назва з x = 487 (Sauna) */

.feature-list__title { max-width: 617px; }

.feature-list__items { margin-top: 41px; }

.feature-list__item {
  display: grid;
  grid-template-columns: var(--fl-name-x) calc(640px - var(--fl-name-x)) minmax(0, 1fr);
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid var(--c-line);
}

.feature-list__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 22px;
  overflow: visible;
}
.feature-list__icon img {
  flex: none;
  max-width: none;
  width: auto;
  max-height: 68px;
}

.feature-list__name { max-width: 213px; }

.feature-list__text { max-width: 587px; }

@media (max-width: 1240px) {
  .feature-list__item { grid-template-columns: 80px 260px minmax(0, 1fr); }
}
/* планшет/вузький desktop: назва не ширша за свою колонку (інакше довгі назви налазять на текст) */
@media (min-width: 768px) and (max-width: 1240px) {
  .feature-list .feature-list__item > * { min-width: 0; }
  .feature-list .feature-list__item .feature-list__name { max-width: min(100% - 24px, 240px) !important; overflow-wrap: break-word; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .feature-list__title { max-width: 250px; margin: 0 auto; text-align: center; }

  .feature-list__items { margin-top: 29px; }

  .feature-list__item {
    grid-template-columns: 60px minmax(0, 1fr);
    grid-template-areas:
      "icon name"
      ".    text";
    padding: 24px 0 25px;
  }
  .feature-list__item:first-child { padding-top: 14px; }
  .feature-list__icon { grid-area: icon; width: 28px; height: 28px; justify-content: flex-start; align-self: center; }
  .feature-list__icon img { width: 28px; max-height: 28px; object-fit: contain; } /* на мобільному іконки 28 px (правка клієнта: були замалі) */
  .feature-list__name { grid-area: name; max-width: 223px; }
  .feature-list__text { grid-area: text; max-width: 271px; margin-top: 12px; }
}


/* Sections */
/* assets/css/sections/hero-home.css */
/* ==========================================================================
   Hero — головна (Main 2600:5 / iPhone 17 – 1)
   ========================================================================== */

.hero-home {
  position: relative;
  height: 842px;
  overflow: hidden;
  color: var(--c-white);
  background: #1b1a18;
}

.hero-home__bg,
.hero-home__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-home__bg img { object-fit: cover; object-position: 50% 100%; }

.hero-home__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 207px;
  text-align: center;
}

.hero-home__title { max-width: 557px; }
.hero-home__text { max-width: 520px; margin-top: 20px; }

.hero-home__actions {
  display: flex;
  gap: 15px;
  margin-top: 60px;
}

/* ---------- Logos ---------- */

.hero-home__logos {
  position: absolute;
  left: 0;
  right: 0;
  top: 625px;
  height: 179px;
  overflow: hidden;
}

.logo-marquee {
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  margin-inline: auto;
}
.logo-marquee img { max-width: none; }

/* 1.8.3: 10 логотипів — стрічка, що прокручується, на всіх ширинах (розміри — з атрибутів width/height зображень) */
.logo-marquee { margin: 0; animation: marquee 48s linear infinite; }
.logo-marquee:hover { animation-play-state: paused; }
.logo-marquee li { flex: none; margin-right: 44px; }

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .hero-home { height: 741px; }

  .hero-home__bg img { object-position: 50% 100%; } /* окреме мобільне фото, затемнення вже в ньому */

  .hero-home__content {
    align-items: stretch;
    padding: 149px var(--gutter) 0;
    text-align: left;
  }
  .hero-home__title { max-width: 285px; }
  .hero-home__text { max-width: none; margin-top: 34px; }

  .hero-home__actions {
    position: absolute;
    left: var(--gutter);
    right: var(--gutter);
    top: 421px;
    flex-direction: column;
    gap: 10px;
    margin: 0;
  }

  .hero-home__logos { top: 594px; height: 117px; overflow: hidden; }

  .logo-marquee { animation-duration: 36s; }
  .logo-marquee li { margin-right: 20px; zoom: 0.65; } /* як у макеті 390: логотипи ×0.65 */
}

/* Вузькі телефони (<390): H1 не вміщається в 35 px, а абсолютні кнопки наїжджають на лід */
@media (max-width: 389px) {
  .hero-home__content { padding-top: 120px; }
  .hero-home__title { font-size: clamp(28px, 9.4vw, 35px); }
  .hero-home__text { margin-top: 20px; }
  .hero-home__actions { position: static; margin-top: 30px; }
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .logo-marquee { animation: none !important; }
}

/* assets/css/sections/intro-cards.css */
/* ==========================================================================
   Intro + 3 cards (Main → What We Do)
   ========================================================================== */

.intro-cards { padding-top: 130px; }

.intro-cards__list { margin-top: 50px; }

.intro-card__img {
  width: 100%;
  height: 235px;
  object-fit: cover;
}

.intro-card__title { margin-top: 39px; }

.intro-card__text { margin-top: 20px; max-width: 382px; }

@media (max-width: 767px) {
  .intro-cards { padding-top: 70px; }

  .intro-cards__list { row-gap: 28px; margin-top: 34px; }

  .intro-card__img { height: 201px; }
  .intro-card__title { margin-top: 25px; }
  .intro-card__text { margin-top: 10px; max-width: none; }
}

/* assets/css/sections/scale.css */
/* ==========================================================================
   Scale — «We Work at Every Scale of Wellness» (Main 1844–2430)
   ========================================================================== */

.scale {
  padding-top: 108px;
  text-align: center;
}

.scale__eyebrow { margin: 0 auto; }

.scale__title {
  max-width: 418px;
  margin: 39px auto 0;
}

.scale__visual {
  position: relative;
  height: 332px;
  margin-top: 29px;
}
.scale__img { position: absolute; }
.scale__img--1 { left: 149px; top: 0; width: 428px; height: 292px; }
.scale__img--2 { left: 659px; top: 14px; width: 431px; height: 287px; }

.scale__steps {
  position: relative;
  height: 37px;
  border-top: 1px solid var(--c-line);
  text-align: left;
}

.scale__step {
  position: absolute;
  top: 18px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.scale__step::before {
  content: "";
  position: absolute;
  left: 0;
  top: -22px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dot, #ccc);
}
.scale__step:nth-child(1) { left: 0;     --dot: #cccccc; }
.scale__step:nth-child(2) { left: 271px; --dot: #999999; }
.scale__step:nth-child(3) { left: 471px; --dot: #666666; }
.scale__step:nth-child(4) { left: 790px; --dot: #333333; }
.scale__step:nth-child(5) { left: 1025px; --dot: #000000; }

@media (max-width: 1240px) {
  .scale__visual { display: flex; justify-content: center; gap: 80px; height: auto; padding-bottom: 30px; }
  .scale__img { position: static; width: 40% !important; height: auto !important; }
  .scale__step:nth-child(2) { left: 22%; }
  .scale__step:nth-child(3) { left: 38%; }
  .scale__step:nth-child(4) { left: 64%; }
  .scale__step:nth-child(5) { left: auto; right: 0; }
}

/* 1241–1439: ілюстрації абсолютні в координатах 1240 — центруємо блок, щоб праве фото не виходило за контейнер */
@media (min-width: 1241px) and (max-width: 1439px) {
  .scale__visual { left: calc((100% - 1240px) / 2); }
}

/* Між 768 і 1439: підписи потоком (flex), щоб не налазили і не вилазили за контейнер */
@media (min-width: 768px) and (max-width: 1439px) {
  .scale__steps {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    height: auto;
    padding-top: 18px;
  }
  .scale__step,
  .scale__step:nth-child(n) { position: relative; top: auto; left: auto; right: auto; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .scale__step { white-space: normal; }
  .scale__step:nth-child(-n + 2),
  .scale__step:nth-child(4) { flex: none; } /* короткі підписи — в один рядок, переносяться лише довгі */
}

/* ---------- Mobile (390): вертикальна шкала з підписами по черзі ---------- */
@media (max-width: 767px) {
  .scale { padding-top: 70px; }

  .scale__title { max-width: 316px; margin-top: 20px; }

  .scale .container { display: flex; flex-direction: column; }
  .scale__visual { display: contents; }
  .scale__img { position: static; margin: 0 auto; }
  .scale__img--1 { order: 1; width: 268px !important; height: 184px !important; margin-top: 22px; }
  .scale__steps { order: 2; }
  .scale__img--2 { order: 3; width: 273px !important; height: 182px !important; margin-top: -20px; transform: translateX(-4px); }

  .scale__steps {
    height: auto;
    width: 100%;
    margin-top: 19px;
    padding: 0 0 0;
    z-index: 1; /* підписи поверх білого фону ілюстрації, як у Figma */
    border-top: 0;
  }
  .scale__steps::before {
    content: "";
    position: absolute;
    left: calc(50% - 0.5px); /* центр лінії = 50%; усі крапки центровані на ній */
    top: 7px;
    bottom: 3px;
    width: 1px;
    background: var(--c-line);
  }
  .scale__step,
  .scale__step:nth-child(n) {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    display: block;
    width: 50%;
    height: 48px;
    font-size: 13px;
    white-space: normal;
  }
  .scale__step:last-child { height: auto; }
  .scale__step::before { top: 4px; }

  /* непарні — праворуч від лінії, парні — ліворуч (вирівняні по правому краю) */
  .scale__step:nth-child(odd) { margin-left: 50%; padding-left: 21px; }
  .scale__step:nth-child(odd)::before { left: -3.5px; }
  .scale__step:nth-child(even) { padding-right: 24px; text-align: right; }
  .scale__step:nth-child(even)::before { left: auto; right: -3.5px; }
  .scale__step:nth-child(3),
  .scale__step:nth-child(5) { padding-right: 30px; }
}

/* assets/css/sections/collection.css */
/* ==========================================================================
   Sentora collection — фото зліва + бежева панель справа (Main 2564–3381)
   ========================================================================== */

.collection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--frame);
  min-height: 817px;
  margin: 134px auto 0;
}

.collection__media {
  position: relative;
  overflow: hidden;
  color: var(--c-white);
}
.collection__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection__img { transition: opacity 0.5s var(--ease); }
/* hover-фото моделі накладається поверх основного (див. main.js → data-collection) */
.collection__img--hover { opacity: 0; }
.collection__img--hover.is-visible { opacity: 1; }

.collection__caption {
  position: absolute;
  left: 100px;
  bottom: 38px;
  max-width: 209px;
  font-weight: var(--fw-regular);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.collection__brand {
  position: absolute;
  left: 499px;
  bottom: 43px;
  width: 162px;
  height: 30px;
}

.collection__panel {
  position: relative;
  padding: 42px 100px 0 70px;
  background: var(--c-stone);
}

.collection__title { max-width: 617px; margin-top: 42px; }

.collection__text {
  max-width: 529px;
  margin-top: 26px;
  line-height: 19px;
}
.collection__text p + p { margin-top: 19px; }

.collection__cats { margin-top: 62px; }

.collection__cat {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: start;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--c-line-stone);
}
.collection__cat + .collection__cat {
  align-items: center;
  padding: 20px 0;
}

.collection__models li + li { margin-top: 13px; }
.collection__models .arrow-link {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.collection__explore {
  position: absolute;
  left: 70px;
  right: 100px;
  bottom: 41px;
  padding-top: 14px;
  border-top: 1px solid var(--c-line-stone);
}
.collection__explore::after { content: none; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .collection__caption { left: var(--gutter); }
  .collection__brand { left: auto; right: 40px; }
  .collection__panel { padding-right: var(--gutter); padding-left: 50px; padding-bottom: 120px; }
  .collection__explore { right: var(--gutter); left: 50px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .collection__brand { top: 40px; bottom: auto; right: var(--gutter); }
  .collection__panel { padding-left: 40px; }
  .collection__explore { left: 40px; }
  .collection__cat,
  .collection__cat + .collection__cat { grid-template-columns: minmax(0, 1fr); row-gap: 16px; align-items: start; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .collection {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 71px;
    background: var(--c-stone);
  }

  .collection__media { height: 475px; }
  .collection__img { object-position: 50% 100%; }

  .collection__caption {
    left: var(--gutter);
    top: 28px;
    bottom: auto;
    max-width: 184px;
    font-size: 12px;
  }
  .collection__brand {
    left: auto;
    right: 30px;
    top: 28px;
    bottom: auto;
    width: 134px;
    height: 25px;
  }

  .collection__panel { padding: 40px var(--gutter) 70px; }
  .collection__title { margin-top: 20px; max-width: 330px; }
  .collection__text { margin-top: 30px; line-height: 15px; }
  .collection__text p + p { margin-top: 15px; }

  .collection__cats { margin-top: 30px; }
  .collection__cat { grid-template-columns: 175px minmax(0, 1fr); padding-bottom: 18px; }
  .collection__cat + .collection__cat { padding: 20px 0; }
  .collection__models li + li { margin-top: 13px; }
  .collection__models .arrow-link { font-size: 13px; }

  .collection__explore-btn { margin-top: 56px; }
}

/* assets/css/sections/about-stats.css */
/* ==========================================================================
   About + stats (Main 5268–5937)
   ========================================================================== */

.about-stats { padding-top: 133px; }

.about-stats__eyebrow { margin-top: 0; }
.about-stats__title { max-width: 640px; }

.about-stats .section-head__cols > div { max-width: 378px; }

.about-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 387px);
  column-gap: 39px;
  row-gap: 25px;
  margin-top: 45px;
}

.about-stats__item { max-width: none; }
.about-stats__item .stat__value { height: 58px; align-items: baseline; padding-bottom: 0; }
.about-stats__item--offices .stat__unit { margin-left: 21px; }
.about-stats__item--flags .stat__value { align-items: flex-end; padding-bottom: 5px; }
.about-stats__item .stat__text { white-space: nowrap; }

@media (max-width: 1240px) {
  .about-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1241px) and (max-width: 1439px) {
  .about-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1439px) {
  .about-stats__item .stat__text { white-space: normal; }
}
/* Планшет: колонка eyebrow забирає третину ширини — основний блок на всю ширину під eyebrow */
@media (min-width: 768px) and (max-width: 1023px) {
  .about-stats .section-head__main { grid-column: 1 / -1; margin-top: 30px; }
  .about-stats .section-head__cols > div { max-width: none; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .about-stats { padding-top: 70px; }

  .about-stats__title { max-width: 330px; }
  .about-stats .section-head__cols { row-gap: 40px; margin-top: 28px; }

  .about-stats__grid {
    grid-template-columns: 154px 156px;
    column-gap: 20px;
    row-gap: 28px;
    margin-top: 31px;
  }
  /* мобільний порядок: 3 / 250+, потім 11+ / прапори */
  .about-stats__item--offices { order: 1; }
  .about-stats__item--projects { order: 2; }
  .about-stats__item--years { order: 3; }
  .about-stats__item--flags { order: 4; }

  .about-stats__item .stat__value { height: 38px; }
  .about-stats__item--flags .stat__value { padding-bottom: 5px; }
  .about-stats__item .stat__text { margin-top: 16px; white-space: normal; }
  .about-stats__item--offices .stat__text { max-width: 134px; }
  .about-stats__item--years .stat__text { max-width: 139px; }
}

@media (max-width: 389px) {
  .about-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* pages/about-us.css */
/* ==========================================================================
   About (desktop 2600:254, mobile 2701:4066)
   ========================================================================== */

/* ---------- Hero: фото 720×817 (x = 721), а не 700×749 ---------- */
.page-hero--about { min-height: 817px; }
.page-hero--about .page-hero__media { width: 719px; height: 817px; }
@media (min-width: 768px) { .page-hero--about .page-hero__title { margin-top: 101px; } } /* з реальним шрифтом H1 на 3 px нижче за макет */

/* ---------- Who We Are (y 1019 → 1569) ---------- */
.about-us-who { padding-top: 130px; }

.about-us-who__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--col-gap);
  row-gap: 50px;
  align-items: end;
}

.about-us-who__head {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  padding-left: 3px; /* у макеті x = 103 */
}

.about-us-who__text { max-width: 387px; }
.about-us-who__text--side { max-width: 388px; }

.about-us-who__img {
  width: 100%;
  height: 405px;
  object-fit: cover;
}

.about-us-who__stats { grid-column: 1 / -1; padding-left: 3px; }
.about-us-who__stat { max-width: none; }
.about-us-who__stat .stat__value { max-width: 387px; height: 58px; padding-bottom: 0; }
.about-us-who__stat .stat__unit { margin-left: 23px; }

/* ---------- Showroom (y 1700, 720 + 720 × 820) ---------- */
.about-us-showroom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--frame);
  min-height: 820px;
  margin: 131px auto 0;
}

.about-us-showroom__media { position: relative; overflow: hidden; }
.about-us-showroom__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-us-showroom__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 98px 100px 66px 70px;
  background: var(--c-stone);
}

.about-us-showroom__stats {
  display: grid;
  row-gap: 29px;
  width: 100%;
  max-width: 550px;
  margin-top: 60px;
}
.about-us-showroom__stat { max-width: none; }
.about-us-showroom__stat .stat__value { max-width: none; height: 58px; padding-bottom: 0; }
.about-us-showroom__stat .stat__unit { margin-left: 20px; }
.about-us-showroom__stat .stat__text { max-width: 365px; font-size: 15px; letter-spacing: 0.04em; }

.about-us-showroom__text { max-width: 472px; margin-top: 51px; }

.about-us-showroom__location {
  display: flex;
  align-items: flex-start;
  gap: 26px;
  margin-top: auto;
  max-width: 424px;
}
.about-us-showroom__location img { flex: none; width: 31px; height: 31px; }

/* ---------- CTA (y 2650) ---------- */
.about-us-cta { padding-top: 130px; }
.about-us-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.about-us-cta__title { max-width: 723px; line-height: 0.99; }
.about-us-cta__text {
  max-width: 387px;
  margin-top: 30px;
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: 0.04em;
}
.about-us-cta__btn { margin-top: 64px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .page-hero--about .page-hero__media { width: 48%; }
  .about-us-showroom__panel { padding-inline: 60px; }
}

/* Планшет (768–1023): hero-фото під текстом (див. components/page-hero.css); Who We Are у 2 колонки + фото на всю ширину */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero--about { min-height: 0; }
  .page-hero--about .page-hero__media { width: 100%; height: 60vw; max-height: 640px; }
  .page-hero--about .page-hero__title { margin-top: 60px; }

  .about-us-who__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-us-who__head { display: block; grid-column: 1; grid-row: 1; }
  .about-us-who__head .about-us-who__text { margin-top: 30px; }
  .about-us-who__text { max-width: none; }
  .about-us-who__text--side { grid-column: 2; grid-row: 1; }
  .about-us-who__img { grid-column: 1 / -1; grid-row: 2; height: 50vw; max-height: 460px; }
  .about-us-who__stats { grid-row: 3; }
  .about-us-who__stat .stat__unit { margin-left: 12px; font-size: 16px; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .page-hero--about { min-height: 0; }
  .page-hero--about .page-hero__media { width: 100%; height: 353px; }
  .page-hero--about .page-hero__title { margin-top: 28px; }

  .about-us-who { padding-top: 70px; }
  .about-us-who__grid { display: flex; flex-direction: column; align-items: stretch; row-gap: 0; }
  .about-us-who__head { display: block; padding-left: 0; }
  .about-us-who__title { margin-top: 20px; }
  .about-us-who__head .about-us-who__text { margin-top: 30px; }
  .about-us-who__text { max-width: none; }

  .about-us-who__stats { order: 1; display: grid; row-gap: 28px; margin-top: 26px; padding-left: 0; }
  .about-us-who__stat .stat__text { margin-top: 22px; }
  .about-us-who__stat .stat__value { max-width: none; height: 38px; }
  .about-us-who__stat .stat__unit { margin-left: 13px; }
  .about-us-who__img { order: 2; height: 345px; margin-top: 30px; }
  .about-us-who__text--side { order: 3; margin-top: 30px; }

  .about-us-showroom { display: flex; flex-direction: column-reverse; min-height: 0; margin-top: 70px; }
  .about-us-showroom__media { height: 449px; }
  .about-us-showroom__panel { padding: 70px var(--gutter) 35px; }
  .about-us-showroom__title { order: 1; }
  .about-us-showroom__text { order: 2; margin-top: 35px; max-width: none; }
  .about-us-showroom__stats { order: 3; margin-top: 28px; row-gap: 17px; }
  .about-us-showroom__stat .stat__value { height: 38px; }
  .about-us-showroom__stat .stat__unit { margin-left: 15px; }
  .about-us-showroom__stat .stat__text { margin-top: 22px; font-size: 13px; }
  .about-us-showroom__location { order: 4; margin-top: 30px; gap: 20px; }
  .about-us-showroom__location img { width: 24px; height: 24px; }

  .about-us-cta { padding-top: 70px; }
  .about-us-cta__title { max-width: 300px; }
  .about-us-cta__text { max-width: 330px; margin-top: 25px; font-size: 13px; line-height: 1.23; }
  .about-us-cta__btn { width: 257px; margin-top: 35px; }
}

/* pages/after-sales.css */
/* ==========================================================================
   After-Sales / Service (desktop 2600:2797, mobile 3001:701)
   ========================================================================== */

/* ---------- Intro: crumbs y 187, H1 y 185 (x 527), фото 387×476 y 303 ---------- */
.after-sales-intro { padding-top: 113px; }

.after-sales-intro__grid {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  grid-template-areas:
    "crumbs head"
    "img    body";
  column-gap: var(--col-gap);
  align-items: start;
}

.after-sales-intro__crumbs { grid-area: crumbs; margin-top: 2px; }

.after-sales-intro__head { grid-area: head; }
.after-sales-intro__title { max-width: 820px; font-size: min(45px, 3.125vw); line-height: 0.97; }
.after-sales-intro__lead { max-width: 640px; margin-top: 0; }

.after-sales-intro__body {
  grid-area: body;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  max-width: 815px;
  margin-top: 30px;
  padding-top: 0;
  border-bottom: 1px solid var(--c-line);
}

.after-sales-intro__img {
  grid-area: img;
  width: 387px;
  height: 476px;
  margin-top: 30px;
  object-fit: cover;
}

.after-sales-intro__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
  margin-top: 52px;
  padding-bottom: 40px;
}
.after-sales-intro__cols > div:first-child { max-width: 373px; }
.after-sales-intro__cols > div:last-child { max-width: 393px; }
/* текстовий блок у макеті 393 px (x 953 → 1346), тобто на 6 px заходить за поле — інакше «diagnostics» переноситься */
/* на 1440 це рівно 386 | 40 | 400; на 1241–1439 колонки стискаються пропорційно, а не вилазять за екран */
@media (min-width: 1241px) { .after-sales-intro__cols { grid-template-columns: minmax(0, 386fr) minmax(0, 400fr); margin-right: -13px; } }

/* ---------- What We Offer (y 909) ---------- */
.after-sales-services { padding-top: 129px; }

.after-sales-services__grid {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: var(--col-gap);
  align-items: start;
}

.after-sales-services__title { margin-top: 26px; max-width: 300px; }

.after-sales-services__list {
  display: grid;
  grid-template-columns: repeat(2, 386px);
  column-gap: 40px;
  margin-top: 38px;
}

.after-sales-services__item {
  /* однакові відступи до ліній: елементи рядка тягнуться на висоту рядка, вміст — по центру */
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  min-height: 84px;
  padding: 24px 0;
  border-bottom: 1px solid var(--c-line);
}
.after-sales-services__item:nth-child(-n+2) { min-height: 57px; padding-top: 0; }
.after-sales-services__item img { width: 30px; height: 30px; }

/* ---------- Need Support (image-band, 1440×527) ---------- */
.image-band--support { height: 527px; margin-top: 126px; }
.image-band--support .image-band__content { padding-top: 162px; }
.image-band--support .image-band__title { max-width: 723px; line-height: 0.99; }
.image-band--support .image-band__text { max-width: 407px; margin-top: 30px; line-height: 20px; letter-spacing: 0.07em; }
.image-band--support .image-band__btn { margin-top: 45px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .after-sales-intro__grid,
  .after-sales-services__grid { grid-template-columns: 320px minmax(0, 1fr); }
  .after-sales-intro__img { width: 100%; }
  .after-sales-services__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .after-sales-intro { padding-top: 38px; }
  .after-sales-intro__grid { display: flex; flex-direction: column; }
  .after-sales-intro__lead { order: 1; }
  .after-sales-intro__img { order: 2; }
  .after-sales-intro__cols { order: 3; }
  .after-sales-intro__crumbs { margin-top: 0; }
  .after-sales-intro__head { margin-top: 28px; }
  .after-sales-intro__title { font-size: 35px; line-height: 0.9; max-width: 330px; }
  .after-sales-intro__lead { margin-top: 25px; max-width: 323px; }
  .after-sales-intro__img { width: 100%; height: 400px; margin-top: 40px; }
  .after-sales-intro__body { display: contents; }
  .after-sales-intro__cols {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--c-line);
  }
  .after-sales-intro__cols > div { max-width: none !important; }
  .after-sales-intro__cols p + p { margin-top: 20px; }

  .after-sales-services { padding-top: 70px; }
  .after-sales-services__grid { display: block; }
  .after-sales-services__head { text-align: center; }
  .after-sales-services__title { max-width: none; margin-top: 20px; }
  .after-sales-services__list { display: block; margin-top: 35px; }
  .after-sales-services__item,
  .after-sales-services__item:nth-child(-n+2) {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 0;
    padding: 0 0 25px;
  }
  .after-sales-services__item + .after-sales-services__item { padding-top: 24px; }
  .after-sales-services__item img { width: 44px; height: 44px; margin-left: -7px; } /* гліф ≈ 26 px (PNG з полями) */
  /* мобільний порядок як у макеті: зліва-направо по рядках */

  .image-band--support { height: 527px; margin-top: 70px; }
  .image-band--support .image-band__bg { object-position: 64% 50%; } /* у макеті інший масштаб фото — тримаємо техніка в кадрі */
  .image-band--support .image-band__content { padding-top: 172px; }
  .image-band--support .image-band__title { max-width: 364px; }
  .image-band--support .image-band__text { max-width: 213px; margin-top: 25px; line-height: 1.23; letter-spacing: 0.04em; }
  .image-band--support .image-band__btn { margin-top: 35px; }
}

/* ---------- Проміжні ширини (не впливає на 1440 і 390) ---------- */
@media (min-width: 1241px) {
  .after-sales-services__list { grid-template-columns: repeat(2, minmax(0, 386px)); }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* інтро: фото | лід, текст у 2 колонки — на всю ширину під ними */
  .after-sales-intro__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "crumbs head"
      "img    lead"
      "cols   cols";
  }
  .after-sales-intro__img { height: auto; aspect-ratio: 387 / 476; }
  .after-sales-intro__body { display: contents; }
  .after-sales-intro__lead { grid-area: lead; margin-top: 30px; }
  .after-sales-intro__cols {
    grid-area: cols;
    margin-top: 50px;
    border-bottom: 1px solid var(--c-line);
  }
  .after-sales-intro__cols > div:first-child,
  .after-sales-intro__cols > div:last-child { max-width: none; }

  /* послуги: заголовок над списком, список на всю ширину */
  .after-sales-services__grid { display: block; }
  .after-sales-services__list { margin-top: 40px; }
}

/* pages/cold-plunges.css */
/* Cold Plunges (2600:910 / 2832:6496) */
.page-cold-plunges .feature-list__name { max-width: 267px; }
.page-hero--cold-plunges .page-hero__title { max-width: 546px; }
.page-cold-plunges .feature-list__title { max-width: 479px; }
@media (max-width: 767px) {
  .page-cold-plunges .feature-list__title { max-width: 250px; }
}
@media (max-width: 767px) {
  .page-hero--cold-plunges .page-hero__title { max-width: 330px; }
}
@media (min-width: 768px) {
  .page-cold-plunges .product-intro__text p + p { margin-top: 30px; }
  .page-cold-plunges .feature-list__item:nth-child(1) .feature-list__name { max-width: 338px; }
  .page-cold-plunges .feature-list__item:nth-child(2) .feature-list__name { max-width: 253px; }
  .page-cold-plunges .feature-list__item:nth-child(1) .feature-list__text { max-width: 565px; }
  .page-cold-plunges .feature-list__item:nth-child(2) .feature-list__text { max-width: 554px; }
  .page-cold-plunges .feature-list__item:nth-child(3) .feature-list__text { max-width: 600px; }
  /* у макеті футер на цій сторінці починається через 97 px після проєктів (а не 130) */
  .page-cold-plunges .site-footer { padding-top: 97px; }
}

/* pages/consulting.css */
/* ==========================================================================
   Design Consultancy (desktop 2600:2635, mobile 2701:4339)
   ========================================================================== */

/* Текстові блоки сторінки мають трекінг 1.05 px (0.07em) замість 0.04em */
.consulting-text { letter-spacing: 0.07em; }

/* ---------- Intro: crumbs y 187, H1 x 527 y 185, фото 387×476 y 391, лінія y 867 ---------- */
.consulting-intro { padding-top: 113px; }

.consulting-intro__grid {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  grid-template-areas:
    "crumbs title"
    "media  body";
  column-gap: var(--col-gap);
  row-gap: 75px;
  align-items: start;
}

.consulting-intro__crumbs { grid-area: crumbs; margin-top: 2px; }

.consulting-intro__title {
  grid-area: title;
  max-width: 820px;
  font-size: min(45px, 3.125vw);
  line-height: 0.97;
}

.consulting-intro__media { grid-area: media; display: block; }
.consulting-intro__media img { width: 387px; height: 476px; object-fit: cover; }

.consulting-intro__body {
  grid-area: body;
  align-self: stretch;
  max-width: 815px;
  border-bottom: 1px solid var(--c-line);
}

.consulting-intro__lead { max-width: 736px; }

.consulting-intro__cols {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: var(--col-gap);
  margin-top: 52px;
  padding-bottom: 40px;
}
.consulting-intro__cols > div { max-width: 386px; }
/* Commuters трохи ширший за макет — без цього «wellness» переноситься в 1-му рядку */
.consulting-intro__cols > div:first-child { max-width: 396px; margin-right: -10px; }
.consulting-intro__cols p + p { margin-top: 1.2em; }

/* ---------- Consulting Capabilities (y 997): рядки 700 | 40 | 700, крок 415 ---------- */
.consulting-caps { padding-top: 130px; }

.consulting-caps__title { max-width: 400px; margin-left: 3px; }

.consulting-caps__list {
  display: grid;
  row-gap: 50px;
  max-width: var(--frame);
  margin: 1px auto 0;
}

.consulting-cap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  align-items: start;
}

.consulting-cap__img {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 365px;
  object-fit: cover;
}

.consulting-cap__body {
  grid-column: 1;
  grid-row: 1;
  padding: 75px 0 0 calc(var(--gutter) + 3px);
}
.consulting-cap__body .consulting-cap__text { max-width: 448px; }

.consulting-cap--img-left .consulting-cap__img { grid-column: 1; }
.consulting-cap--img-left .consulting-cap__body { grid-column: 2; padding-left: 67px; padding-right: var(--gutter); }
.consulting-cap--img-left .consulting-cap__text { max-width: 487px; }

.consulting-cap__title { max-width: 331px; line-height: 1.11; }
/* у пунктах 3 і 5 (текст на рядок довший) заголовок у макеті на 10 px вище */
@media (min-width: 768px) {
  .consulting-cap:nth-child(3) .consulting-cap__body,
  .consulting-cap:nth-child(5) .consulting-cap__body { padding-top: 65px; }
}

.consulting-cap__text { margin-top: 28px; }
.consulting-cap__text p + p { margin-top: 1.2em; }

/* ---------- What We Consult On (y 3657): схема 898×536 по центру ---------- */
.consulting-diagram { padding-top: 130px; text-align: center; }

.consulting-diagram__title { margin-top: 29px; }

.consulting-diagram__scroller {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.consulting-diagram__img {
  flex: none;
  width: 898px;
  height: 536px;
  margin-left: 8px; /* у макеті центр схеми зміщений на +4 px */
}

.consulting-diagram__progress { display: none; }

/* ---------- How We Work (фон y 4395, висота 777) ---------- */
.consulting-process {
  min-height: 777px;
  margin-top: 85px;
  padding: 130px 0 0;
  background: var(--c-stone);
  overflow: hidden;
}

.consulting-process__head { text-align: center; }
.consulting-process__intro { max-width: 444px; margin: 30px auto 0; letter-spacing: 0.07em; }

.consulting-process__slider { position: relative; margin-top: 49px; }

.consulting-process__track {
  display: flex;
  gap: 40px;
  margin-right: calc(-1 * var(--gutter));
  padding: 94px var(--gutter) 0 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
}
.consulting-process__track::-webkit-scrollbar { display: none; }
.consulting-process__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }

.consulting-step {
  position: relative;
  flex: 0 0 280px;
  min-height: 274px;
  scroll-snap-align: start;
}

/* дуги-з'єднувачі: над непарними кроками, під парними */
.consulting-step::before {
  content: "";
  position: absolute;
  left: 102px;
  top: -95px;
  width: 224px;
  height: 68px;
  background: url("../img/consulting-arc-up.svg") no-repeat 0 0 / 100% 100%;
  pointer-events: none;
}
.consulting-step:nth-child(even)::before {
  left: 104px;
  top: 201px;
  width: 267px;
  height: 67px;
  background-image: url("../img/consulting-arc-down.svg");
}
.consulting-step:nth-child(4)::before { left: 147px; }
.consulting-step:last-child::before { display: none; }

.consulting-step__title {
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 1.11;
  text-transform: uppercase;
  white-space: nowrap;
}
.consulting-step__num {
  margin-left: 4px;
  vertical-align: top;
  font-weight: var(--fw-light);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.04em;
  opacity: 0.4;
}

.consulting-step__text {
  max-width: 281px;
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.consulting-step:first-child .consulting-step__text { max-width: 242px; }

.consulting-process__nav {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  display: flex;
  gap: 24px;
}
.consulting-process__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 17px;
  transition: opacity var(--t-fast) var(--ease);
}
.consulting-process__arrow .icon--arrow-right { width: 16px; height: 17px; }
.consulting-process__arrow--prev { transform: scaleX(-1); }
.consulting-process__arrow:disabled { opacity: 0.2; cursor: default; }
.consulting-process__arrow--prev:disabled { visibility: hidden; }

/* ---------- We don't stop at the drawing (y 5302) ---------- */
.consulting-delivery { padding-top: 130px; }

.consulting-delivery__eyebrow { margin: 0 0 0 3px; }
.consulting-delivery__title { max-width: 443px; }

.consulting-delivery__cols {
  display: grid;
  grid-template-columns: 386px minmax(0, 1fr);
  column-gap: 40px;
  margin-top: 51px;
}
.consulting-delivery__col > .t-body,
.consulting-delivery__col.t-body { max-width: 399px; }
.consulting-delivery__col p + p { margin-top: 1.2em; }

.consulting-delivery__stages {
  display: grid;
  grid-template-columns: repeat(2, 201px);
  row-gap: 28px;
  margin-top: 21px;
}
.consulting-delivery__col > .t-body { min-height: 162px; }
.consulting-delivery__stages li {
  display: flex;
  align-items: center;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.07em;
}
/* порядок як у макеті: 1-ша колонка fabrication/logistics/installation */
.consulting-delivery__stages li:nth-child(-n+3) { grid-column: 1; }
.consulting-delivery__stages li:nth-child(n+4) { grid-column: 2; }
.consulting-delivery__stages li:nth-child(1),
.consulting-delivery__stages li:nth-child(4) { grid-row: 1; }
.consulting-delivery__stages li:nth-child(2),
.consulting-delivery__stages li:nth-child(5) { grid-row: 2; }
.consulting-delivery__stages li:nth-child(3),
.consulting-delivery__stages li:nth-child(6) { grid-row: 3; }

.consulting-delivery__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 26px;
  height: 15px;
  margin-right: 29px;
  overflow: visible;
}
.consulting-delivery__icon img { flex: none; max-width: none; }

/* ---------- CTA (image-band 1440×527) ---------- */
.image-band--consulting { height: 527px; margin-top: 130px; }
.image-band--consulting .image-band__content { padding-top: 130px; }
.image-band--consulting .image-band__title { max-width: 723px; line-height: 0.99; }
.image-band--consulting .image-band__text { max-width: 387px; margin-top: 31px; line-height: 1.2; letter-spacing: 0.07em; }
.image-band--consulting .image-band__btn { margin-top: 66px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .consulting-intro__grid { grid-template-columns: 320px minmax(0, 1fr); }
  .consulting-intro__media img { width: 100%; }
  .consulting-intro__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consulting-delivery__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consulting-delivery__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consulting-diagram__scroller { overflow: hidden; }
  .consulting-diagram__img { max-width: calc(100% - 2 * var(--gutter)); height: auto; margin-left: 0; }
  .consulting-cap--img-left .consulting-cap__body { padding-left: 0; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .consulting-intro { padding-top: 38px; }
  .consulting-intro__grid { display: flex; flex-direction: column; row-gap: 0; }
  .consulting-intro__crumbs { margin-top: 0; }
  .consulting-intro__title { margin-top: 30px; font-size: 30px; line-height: 0.9; max-width: 329px; }
  .consulting-intro__body { display: contents; }
  .consulting-intro__lead { order: 1; max-width: 322px; margin-top: 25px; }
  .consulting-intro__media { order: 2; width: calc(100% + 2 * var(--gutter)); max-width: none; margin: 40px calc(-1 * var(--gutter)) 0; }
  .consulting-intro__media img { width: 100%; height: 353px; }
  .consulting-intro__cols {
    order: 3;
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--c-line);
    letter-spacing: 0.04em;
  }
  .consulting-intro__cols > div,
  .consulting-intro__cols > div:first-child { max-width: none; margin-right: 0; }
  .consulting-intro__cols p + p,
  .consulting-cap__text p + p { margin-top: 1.2em; }

  .consulting-caps { padding-top: 69px; }
  .consulting-caps__title { max-width: 250px; margin-left: 0; }
  .consulting-caps__list { row-gap: 30px; margin-top: 30px; padding: 0 var(--gutter); }
  .consulting-cap,
  .consulting-cap--img-left { display: block; }
  .consulting-cap__img { height: 200px; }
  .consulting-cap__body,
  .consulting-cap--img-left .consulting-cap__body { padding: 25px 0 0; }
  .consulting-cap__title { max-width: 230px; }
  .consulting-cap__text,
  .consulting-cap--img-left .consulting-cap__text { max-width: none; margin-top: 10px; }
  .consulting-cap:first-child .consulting-cap__text { letter-spacing: 0.04em; } /* у макеті трекінг 4% лише тут */
  .consulting-cap:nth-child(2) .consulting-cap__text { max-width: 324px; }

  .consulting-diagram { padding-top: 70px; }
  .consulting-diagram__head { max-width: 310px; }
  .consulting-diagram__title { margin-top: 20px; }
  .consulting-diagram__scroller {
    display: block;
    margin-top: 25px;
    padding: 0 6px 0 24px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .consulting-diagram__scroller::-webkit-scrollbar { display: none; }
  .consulting-diagram__img { width: 615px; height: 367px; max-width: none; margin: 0; }
  .consulting-diagram__progress {
    position: relative;
    display: block;
    height: 5px;
    margin: 0 var(--gutter);
    border-radius: 40px;
    background: rgba(228, 226, 219, 0.3);
    overflow: hidden;
  }
  .consulting-diagram__progress span {
    display: block;
    width: 47%;
    height: 100%;
    border-radius: 40px;
    background: var(--c-stone);
  }

  .consulting-process { min-height: 588px; margin-top: 120px; padding: 70px 0 70px; }
  .consulting-process__head { text-align: left; }
  .consulting-process__intro { max-width: 330px; margin: 20px 0 0; }
  .consulting-process__slider { display: flex; flex-direction: column; margin-top: 0; }
  .consulting-process__track { order: 1; gap: 40px; padding: 113px var(--gutter) 0 0; }
  .consulting-step { flex-basis: 228px; min-height: 194px; }
  .consulting-step:first-child { flex-basis: 167px; }
  .consulting-step::before { left: 128px; top: -60px; width: 145px; height: 44px; }
  .consulting-step:first-child::before { left: 70px; }
  .consulting-step:nth-child(even)::before { left: 129px; top: 150px; width: 145px; height: 44px; }
  .consulting-step__title { font-size: 15px; }
  .consulting-step__num { margin-left: 5px; font-size: 7px; }
  .consulting-step__text,
  .consulting-step:first-child .consulting-step__text { max-width: 228px; margin-top: 15px; font-size: 13px; line-height: 15px; }
  .consulting-step:first-child .consulting-step__text { max-width: 172px; } /* у Figma 165, але Commuters ширший на ~2% */
  .consulting-process__nav { position: static; order: 2; margin-top: 9px; gap: 19px; }
  .consulting-process__arrow,
  .consulting-process__arrow .icon--arrow-right { width: 12px; height: 13px; }
  .consulting-process__arrow--prev:disabled { visibility: visible; }

  .consulting-delivery { padding-top: 70px; }
  .consulting-delivery__eyebrow { margin-left: 0; }
  .consulting-delivery .section-head__main { margin-top: 20px; }
  .consulting-delivery__title { max-width: 250px; }
  .consulting-delivery__cols { grid-template-columns: 1fr; row-gap: 30px; margin-top: 30px; }
  .consulting-delivery__col > .t-body,
  .consulting-delivery__col.t-body { max-width: none; }
  .consulting-delivery__col > .t-body { min-height: 0; }
  .consulting-delivery__stages { grid-template-columns: 176px minmax(0, 1fr); row-gap: 20px; margin-top: 30px; }
  .consulting-delivery__stages li { font-size: 13px; line-height: 15px; }
  .consulting-delivery__col p + p { margin-top: 1.2em; }
  .consulting-delivery__icon { width: 20px; height: 13px; margin-right: 15px; }
  .consulting-delivery__icon img { transform: scale(0.7); }

  .image-band--consulting { height: 528px; margin-top: 70px; }
  /* мобільний кадр фото інший (2701:4563) — у WP: окреме поле image_mobile */
  .image-band--consulting { background: #1d1c1a url("../img/consulting-cta-m.jpg") center bottom / cover no-repeat; }
  .image-band--consulting .image-band__bg { display: none; }
  .image-band--consulting .image-band__content { padding-top: 155px; }
  .image-band--consulting .image-band__title { max-width: 300px; line-height: 0.99; }
  .image-band--consulting .image-band__text { max-width: 330px; margin-top: 25px; line-height: 1.23; letter-spacing: 0.04em; }
  .image-band--consulting .image-band__btn { margin-top: 35px; }
}

/* ---------- Проміжні ширини (не впливає на 1440 і 390) ---------- */
@media (min-width: 768px) and (max-width: 1240px) {
  /* ручний перенос з макету 1440 на вузьких колонках дає «рваний» рядок */
  .consulting-intro__cols br { display: none; }

  /* етапи: текстові колонки поруч, список іконок — на всю ширину під ними */
  .consulting-delivery__cols { row-gap: 0; }
  .consulting-delivery__col:first-child { display: contents; }
  .consulting-delivery__col > .t-body { min-height: 0; }
  .consulting-delivery__stages {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, max-content);
    column-gap: clamp(24px, calc((100vw - 940px) / 2), 60px);
    margin-top: 40px;
  }
  .consulting-delivery__stages li:nth-child(n) { grid-column: auto; grid-row: auto; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* інтро: фото | лід, двоколонковий текст — на всю ширину під ними */
  .consulting-intro__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "crumbs title"
      "media  lead"
      "cols   cols";
    row-gap: 50px;
  }
  .consulting-intro__media img { height: auto; aspect-ratio: 387 / 476; }
  .consulting-intro__body { display: contents; }
  .consulting-intro__lead { grid-area: lead; }
  .consulting-intro__cols {
    grid-area: cols;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
    border-bottom: 1px solid var(--c-line);
  }
  .consulting-intro__cols > div,
  .consulting-intro__cols > div:first-child { max-width: none; margin-right: 0; }

  .consulting-delivery__stages { grid-template-columns: repeat(2, max-content); column-gap: 50px; }
}

@media (max-width: 389px) {
  .consulting-delivery__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 10px; }
  .consulting-delivery__icon { margin-right: 10px; }
}
@media (max-width: 359px) {
  .consulting-delivery__stages { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
  .consulting-delivery__stages li:nth-child(n) { grid-column: 1; grid-row: auto; }
}

/* pages/contact-us.css */
/* ==========================================================================
   Contacts (desktop 2600:2515, mobile 3001:890)
   ========================================================================== */

/* ---------- Hero: бежева ліва половина + форма поверх фото ---------- */
.contact-us-hero {
  background: linear-gradient(90deg, var(--c-stone) 0 51.39%, transparent 51.39%); /* 740 / 1440 */
}
.contact-us-hero__title { max-width: 602px; }
@media (min-width: 768px) { .contact-us-hero__title { margin-top: 101px; } } /* з реальним шрифтом H1 на 3 px нижче за макет */
.contact-us-hero__lead { max-width: 422px; }

.contact-us-hero__media {
  display: flex;
  justify-content: flex-start;
  padding: 119px 0 0 111px; /* форма з x = 851, y = 191 */
  color: var(--c-white);
  background: #1c1915;
}
.contact-us-hero__media .contact-us-hero__img {
  position: absolute;
  inset: 0;
}

/* ---------- Form (модифікатор .lead-form) ---------- */
.lead-form--contact { position: relative; width: 478px; }

.lead-form--contact .lead-form__field {
  height: 30px;
  margin-bottom: 27px;
  border-bottom-color: rgba(206, 204, 188, 0.36);
}
.lead-form--contact .lead-form__field--area { height: 117px; margin-bottom: 28px; }
.lead-form--contact .lead-form__label { opacity: 0.9; }
.lead-form--contact .lead-form__input { padding-bottom: 8px; color: var(--c-white); }
.lead-form--contact select.lead-form__input option { color: var(--c-black); }
.lead-form--contact .lead-form__field--select .icon--select-chevron { right: 0; top: -3px; width: 12px; height: 6px; }

.lead-form--contact .lead-form__submit { display: flex; margin: 0 auto; }

/* ---------- Office details (y 821 → 1538) ---------- */
.contact-us-office {
  display: grid;
  grid-template-columns: 740px minmax(0, 1fr);
  max-width: var(--frame);
  min-height: 717px;
  margin: 0 auto;
}

.contact-us-office__content { padding: 127px 40px 60px var(--gutter); }

.contact-us-office__list {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  row-gap: 72px;
  margin-top: 143px;
}
.contact-us-office__item--location { grid-column: 1 / -1; }

.contact-us-office__icon { width: 32px; height: 32px; }
.contact-us-office__item--location .contact-us-office__icon { margin-left: -4px; }

.contact-us-office__label { margin-top: 41px; line-height: 0.99; }
.contact-us-office__value { display: block; margin-top: 12px; transition: opacity var(--t-fast) var(--ease); }
a.contact-us-office__value:hover { opacity: 0.6; }

.contact-us-office__map { position: relative; display: block; overflow: hidden; background: #e5e5e5; }
.contact-us-office__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1); /* сіра карта, як у макеті */
}

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .contact-us-hero__media { padding: 119px var(--gutter) 60px; justify-content: center; }
  .lead-form--contact { width: 100%; max-width: 478px; }
  .contact-us-office { grid-template-columns: 52% 48%; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .contact-us-hero { background: var(--c-stone); padding-bottom: 70px; }
  .contact-us-hero__title { font-size: 33px; }
  .contact-us-hero__media {
    height: auto;
    margin-top: 41px;
    padding: 0 var(--gutter);
    color: inherit;
    background: none;
  }
  .contact-us-hero__media .contact-us-hero__img { display: none; }

  .lead-form--contact { width: 100%; max-width: none; }
  .lead-form--contact .lead-form__field { margin-bottom: 24px; border-bottom-color: var(--c-line); }
  .lead-form--contact .lead-form__field--area { height: 110px; margin-bottom: 24px; }
  .lead-form--contact .lead-form__label { opacity: 0.7; }
  .lead-form--contact .lead-form__input { color: var(--c-black); }
  .lead-form--contact .lead-form__field--select .icon--select-chevron { color: #222; }
  .lead-form--contact .lead-form__submit {
    width: 100%;
    background: var(--c-black);
    color: var(--c-white);
  }

  .contact-us-office { display: block; min-height: 0; }
  .contact-us-office__content { padding: 70px var(--gutter) 0; }
  .contact-us-office__title { text-align: center; }
  .contact-us-office__list { display: block; margin-top: 35px; }
  .contact-us-office__item {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    align-items: start;
    padding-bottom: 27px;
    border-bottom: 1px solid var(--c-line);
  }
  .contact-us-office__item + .contact-us-office__item { margin-top: 24px; }
  .contact-us-office__icon,
  .contact-us-office__item--location .contact-us-office__icon { grid-row: 1 / 3; width: 18px; height: 18px; margin: 0; }
  .contact-us-office__label { margin-top: 2px; }
  .contact-us-office__value { margin-top: 12px; }

  .contact-us-office__map { height: 471px; margin-top: 36px; }
}

/* ---------- Проміжні ширини (не впливає на 1440 і 390) ---------- */
@media (min-width: 768px) and (max-width: 1240px) {
  /* фото займає 48% — бежева половина має закінчуватися там, де воно починається */
  .contact-us-hero { background: linear-gradient(90deg, var(--c-stone) 0 52%, transparent 52%); }
  .contact-us-office__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; }
  .contact-us-office__value { overflow-wrap: anywhere; }
  a[href^="tel:"].contact-us-office__value { white-space: nowrap; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* hero складається у стовпчик (components/page-hero.css): бежевий фон на всю ширину,
     форма — на фото на всю ширину, висота за вмістом (інакше кнопку обрізає) */
  .contact-us-hero { background: var(--c-stone); }
  .contact-us-hero__title { max-width: 640px; margin-top: 60px; }
  .contact-us-hero__media {
    height: auto;
    max-height: none;
    padding: 80px var(--gutter);
    justify-content: center;
  }

  /* офіс: контакти над картою */
  .contact-us-office { display: block; min-height: 0; }
  .contact-us-office__content { padding: 100px var(--gutter) 0; }
  .contact-us-office__list { margin-top: 60px; row-gap: 50px; }
  .contact-us-office__label { margin-top: 25px; }
  .contact-us-office__map { height: 450px; margin-top: 80px; }
}

/* 1241–1439: фото 700 px стоїть абсолютно від правого краю, а H1 60 px «EXTRAORDINARY.» (~590 px)
   заходив на нього/форму. Зменшуємо кегль так, щоб між текстом і фото лишалось ≥ 40 px. На 1440 — 60 px. */
@media (min-width: 1241px) and (max-width: 1439px) {
  .contact-us-hero__title {
    max-width: min(602px, calc(100vw - 840px));
    font-size: min(60px, calc((100vw - 840px) / 10));
  }
}
/* < 390: 33 px «EXTRAORDINARY.» ламалось посеред слова — кегль від ширини екрана (на 390 лишається 33) */
@media (max-width: 389px) {
  .contact-us-hero__title { font-size: min(33px, calc((100vw - 2 * var(--gutter)) / 10)); overflow-wrap: normal; }
}

/* pages/custom-solutions.css */
/* ==========================================================================
   Custom Solutions (desktop 2600:1525, mobile 2881:7192)
   Спільні блоки — expertise-template.css (page-hero--xp, xp-intro, xp-cta) + feature-list.
   ========================================================================== */

/* Hero: H1 3 рядки по 535 px; лід 479 */
.page-hero--xp.page-hero--cs .page-hero__title { max-width: 545px; }
.page-hero--xp.page-hero--cs .page-hero__lead { max-width: 479px; }
.page-hero--cs .page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__media picture { display: contents; }

/* Intro: заголовок у 3 рядки (653), абзаци ширші (579/592) */
.page-custom-solutions .xp-intro__text { max-width: 592px; }
.page-custom-solutions .xp-intro__text p:first-child { max-width: 579px; }

/* What Custom Means — feature-list (назва x=380, текст x=740) */
.cs-features { margin-top: 130px; }
.cs-features .feature-list__title { max-width: 624px; }
.cs-features .feature-list__text { max-width: 600px; }
.cs-features .feature-list__name { max-width: 313px; }

/* Desktop: іконки в розмірі й позиції з Figma (x/y відносно назви), ширини текстів, розділювачі кожні 30 px від лінії */
@media (min-width: 768px) {
  .cs-features .feature-list__item + .feature-list__item { padding-top: 29px; }
  .cs-features .feature-list__icon { display: block; width: auto; height: auto; }
  .cs-features .feature-list__icon img { display: block; width: auto; max-height: none; }
  .cs-features .feature-list__item:nth-child(1) .feature-list__icon img { height: 42px; margin: -6px 0 0 -9px; }
  .cs-features .feature-list__item:nth-child(2) .feature-list__icon img { height: 41px; margin: -5px 0 0 -10px; }
  .cs-features .feature-list__item:nth-child(3) .feature-list__icon img { height: 48px; margin: -7px 0 0 -13px; }
  .cs-features .feature-list__item:nth-child(4) .feature-list__icon img { height: 36px; margin: -8px 0 0 -7px; }
  .cs-features .feature-list__item:nth-child(5) .feature-list__icon img { height: 35px; margin: -13px 0 0 -6px; }
  .cs-features .feature-list__item:nth-child(6) .feature-list__icon img { height: 33px; margin: -3px 0 0 -7px; }
  .cs-features .feature-list__item:nth-child(7) .feature-list__icon img { height: 24px; margin: 0 0 0 -13px; }
  .cs-features .feature-list__item:nth-child(1) .feature-list__text { max-width: 566px; }
  .cs-features .feature-list__item:nth-child(2) .feature-list__text,
  .cs-features .feature-list__item:nth-child(5) .feature-list__text { max-width: 593px; }
  .cs-features .feature-list__item:nth-child(3) .feature-list__text,
  .cs-features .feature-list__item:nth-child(6) .feature-list__text,
  .cs-features .feature-list__item:nth-child(7) .feature-list__text { max-width: 573px; }
}

/* ---------- How We Work: бежева смуга 757 px, 5 кроків, декоративні дуги ---------- */
.cs-process {
  margin-top: 130px;
  min-height: 757px;
  padding: 131px 0 100px;
  background: var(--c-stone);
  overflow: hidden;
}

.cs-process__title { max-width: 690px; margin-top: 30px; margin-left: -3px; }

.cs-process__slider { margin-top: 178px; }

.cs-process__steps {
  position: relative;
  display: grid;
  grid-template-columns: 255px 228px 291px 284px minmax(0, 1fr);
}

.cs-step__title { position: relative; }
.cs-step:nth-child(1) .cs-step__title,
.cs-step:nth-child(2) .cs-step__title { max-width: 163px; }
.cs-step:nth-child(3) .cs-step__title { max-width: 192px; }
.cs-step:nth-child(4) .cs-step__title { max-width: 183px; }
.cs-step:nth-child(5) .cs-step__title { max-width: 175px; }

.cs-step__num { display: none; }

.cs-step__text { margin-top: 15px; }
.cs-step:nth-child(1) .cs-step__text { max-width: 213px; }
.cs-step:nth-child(2) .cs-step__text { max-width: 163px; }
.cs-step:nth-child(3) .cs-step__text { max-width: 220px; }
.cs-step:nth-child(4) .cs-step__text { max-width: 223px; }
.cs-step:nth-child(5) .cs-step__text { max-width: 175px; }

.cs-process__arcs {
  position: absolute;
  left: 0;
  top: -96px;
  width: 1240px;
  pointer-events: none;
}
.cs-process__arcs img { max-width: none; }

.cs-process__nav { display: none; }

@media (max-width: 1240px) {
  .cs-process__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 24px; }
  .cs-process__arcs { display: none; }
}

/* CTA — 130 px після смуги (у шаблоні 148) */
.page-custom-solutions .xp-cta { margin-top: 130px; }
.page-custom-solutions .xp-cta__text { max-width: 412px; }

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .page-hero--xp.page-hero--cs .page-hero__title { font-size: 35px; line-height: 31px; } /* 3 рядки = 93 px, як у Figma */
  .page-hero--xp.page-hero--cs .page-hero__lead { max-width: 316px; }

  .page-custom-solutions .xp-intro__text { max-width: 330px; }

  .cs-features { margin-top: 70px; }
  .cs-features .feature-list__title { max-width: 312px; }
  .cs-features .feature-list__items { margin-top: 35px; }
  .cs-features .feature-list__item { align-items: center; padding-top: 25px; }
  .cs-features .feature-list__item:first-child { padding-top: 0; }
  /* іконки: гліф ~15–18 px як у Figma (PNG з полями, тому зображення більше за 18-px комірку) */
  .cs-features .feature-list__icon { display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; overflow: visible; }
  .cs-features .feature-list__icon img { flex: none; width: auto; max-width: none; max-height: none; }
  .cs-features .feature-list__item:nth-child(1) .feature-list__icon img { height: 31px; }
  .cs-features .feature-list__item:nth-child(2) .feature-list__icon img { height: 26px; }
  .cs-features .feature-list__item:nth-child(3) .feature-list__icon img { height: 35px; }
  .cs-features .feature-list__item:nth-child(4) .feature-list__icon img { height: 24px; }
  .cs-features .feature-list__item:nth-child(5) .feature-list__icon img { height: 28px; }
  .cs-features .feature-list__item:nth-child(6) .feature-list__icon img { height: 25px; }
  .cs-features .feature-list__item:nth-child(7) .feature-list__icon img { height: 19px; }
  .cs-features .feature-list__name { max-width: 264px; }
  /* ширини з Figma: назви 264/240/229/269/240/240/229, текст 271 (+3 px запасу під метрики шрифту) */
  .cs-features .feature-list__item:nth-child(2) .feature-list__name,
  .cs-features .feature-list__item:nth-child(5) .feature-list__name,
  .cs-features .feature-list__item:nth-child(6) .feature-list__name { max-width: 240px; }
  .cs-features .feature-list__item:nth-child(3) .feature-list__name,
  .cs-features .feature-list__item:nth-child(7) .feature-list__name { max-width: 229px; }
  .cs-features .feature-list__item:nth-child(4) .feature-list__name { max-width: 269px; }
  .cs-features .feature-list__text { max-width: none; margin-right: -4px; }

  .cs-process { min-height: 551px; margin-top: 70px; padding: 70px 0 69px; }
  .cs-process__title { max-width: 314px; margin: 20px 0 0 -2px; }
  .cs-process__slider { margin-top: 33px; }

  .cs-process__steps {
    display: flex;
    gap: 0;
    margin: 0 calc(-1 * var(--gutter));
    padding: 59px var(--gutter) 0;
    height: 251px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--gutter);
    scrollbar-width: none;
  }
  .cs-process__steps::-webkit-scrollbar { display: none; }
  .cs-process__steps.is-dragging { scroll-snap-type: none; }

  .cs-step { flex: none; scroll-snap-align: start; }
  .cs-step:nth-child(1) { width: 207px; }
  .cs-step:nth-child(2) { width: 199px; }
  .cs-step:nth-child(3) { width: 234px; }
  .cs-step:nth-child(4) { width: 242px; }
  .cs-step:nth-child(5) { width: 184px; }

  .cs-step__title { display: inline-block; padding-right: 8px; }
  /* група «назва + номер» з Figma: 117/100/151/147/139, номер притиснутий праворуч */
  .cs-step:nth-child(1) .cs-step__title { width: 117px; max-width: none; padding-right: 8px; }
  .cs-step:nth-child(2) .cs-step__title { width: 100px; max-width: none; padding-right: 18px; }
  .cs-step:nth-child(3) .cs-step__title { width: 151px; max-width: none; padding-right: 0; }
  .cs-step:nth-child(4) .cs-step__title { width: 147px; max-width: none; padding-right: 16px; }
  .cs-step:nth-child(5) .cs-step__title { width: 139px; max-width: none; padding-right: 4px; }

  .cs-step__num {
    display: block;
    position: absolute;
    right: 0;
    top: 1px;
    font-size: 7px;
    letter-spacing: 0.04em;
    opacity: 0.4;
  }

  .cs-step__text { margin-top: 15px; }
  .cs-step:nth-child(1) .cs-step__text { max-width: 165px; }
  .cs-step:nth-child(2) .cs-step__text { max-width: 157px; }
  .cs-step:nth-child(3) .cs-step__text { max-width: 188px; }
  .cs-step:nth-child(4) .cs-step__text { max-width: 197px; }
  .cs-step:nth-child(5) .cs-step__text { max-width: 154px; }

  .cs-process__arcs { display: block; left: var(--gutter); top: -2px; width: 1042px; height: 214px; }

  .cs-process__nav { display: flex; gap: 19px; margin-top: 9px; }
  .cs-process__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 13px;
    transition: opacity var(--t-fast) var(--ease);
  }
  .cs-process__arrow .icon--arrow-right { width: 12px; height: 13px; }
  .cs-process__arrow--prev { transform: scaleX(-1); }
  .cs-process__arrow:disabled { opacity: 0.2; }

  .page-custom-solutions .xp-cta { margin-top: 70px; }
  .page-custom-solutions .xp-cta__text { max-width: 330px; margin-top: 20px; }
}

/* Планшет 768–1023: 5 кроків у ряд не вміщаються — сітка 3 колонки */
@media (min-width: 768px) and (max-width: 1023px) {
  .cs-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 30px; row-gap: 50px; }
  .cs-process__slider { margin-top: 90px; }
}
@media (max-width: 389px) {
  .page-hero--xp.page-hero--cs .page-hero__title { font-size: 8.5vw; line-height: 0.886; }
}

/* pages/engineering-technical-coordination.css */
/* ==========================================================================
   Engineering & Technical Coordination (desktop 2600:1820 — новіший варіант, mobile 3001:6)
   Спільні блоки — expertise-template.css.
   ========================================================================== */

/* Hero: креслення 700×723 з y=131 (не впритул до шапки) */
.page-hero--etc .page-hero__media { top: 59px; height: 723px; }
.page-hero--etc .page-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.page-hero--xp.page-hero--etc .page-hero__lead { max-width: 493px; }
.page-hero__media picture { display: contents; }

.page-hero--xp.page-hero--etc .page-hero__title { max-width: 640px; } /* 4 рядки, як у Figma (EVERY EXCEPTIONAL в один рядок) */

.page-engineering-technical-coordination .xp-intro__title { max-width: 656px; }
.page-engineering-technical-coordination .xp-intro__text p:first-child { max-width: 483px; } /* Figma 480 +3 px запасу */

/* Плитки: дрібні зсуви з макета (іконки x=131/740/770, плитка 4 з відступом 9, назви 3-го ряду на 17 px нижче) */
@media (min-width: 768px) {
  .page-engineering-technical-coordination .xp-feature:nth-child(3) .xp-feature__icon { margin-left: -4px; margin-top: 4px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(4) { padding-left: 9px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(4) .xp-feature__icon { margin-left: -9px; margin-top: 4px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(3) .xp-feature__name,
  .page-engineering-technical-coordination .xp-feature:nth-child(4) .xp-feature__name { margin-top: 25px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(6) .xp-feature__icon { margin-left: -5px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(n + 5) .xp-feature__name { margin-top: 46px; }
  /* ширини текстів з Figma: 566 / 516 / 516 / 524 / 493 / 476 */
  .page-engineering-technical-coordination .xp-feature:nth-child(1) .xp-feature__text { max-width: 566px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(2) .xp-feature__text,
  .page-engineering-technical-coordination .xp-feature:nth-child(3) .xp-feature__text { max-width: 516px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(5) .xp-feature__text { max-width: 493px; }
  .page-engineering-technical-coordination .xp-feature:nth-child(6) .xp-feature__text { max-width: 476px; }
}

.page-engineering-technical-coordination .xp-cta__text { max-width: 412px; }

@media (max-width: 767px) {
  .page-hero--xp.page-hero--etc .page-hero__title { max-width: 330px; }
  .page-hero--etc .breadcrumbs ol { row-gap: 10px; }
  /* як у Figma: «/» лишається в першому рядку, остання крихта — з нового рядка з x=30 */
  .page-hero--etc .breadcrumbs li:last-child { flex-basis: 100%; }
  .page-hero--etc .breadcrumbs li:last-child::before { display: none; }
  .page-hero--etc .breadcrumbs li:nth-last-child(2)::after { content: "/"; margin-left: 10px; }
  .page-hero--xp.page-hero--etc .page-hero__lead { max-width: 316px; margin-top: 25px; }
  /* мобільне креслення 366×510 з x=24, низ — білий фон, на який заходить H2 */
  .page-hero--etc .page-hero__media { top: auto; width: auto; height: 510px; margin: 24px 0 0 24px; }
  .page-engineering-technical-coordination .xp-intro { position: relative; margin-top: -53px; }
  .page-engineering-technical-coordination .xp-intro__title { max-width: 324px; }
  .page-engineering-technical-coordination .xp-features { margin-top: 95px; }
  .page-engineering-technical-coordination .xp-cta__text { max-width: 244px; }

  /* на мобільному CTA світлий, кнопка чорна */
  .page-engineering-technical-coordination .xp-cta--dark { margin-top: 70px; padding: 0; color: var(--c-black); background: none; }
  .page-engineering-technical-coordination .xp-cta--dark .xp-cta__btn { background: var(--c-black); color: var(--c-white); }
}

/* Планшет 768–1023: креслення під текстом без зсуву top:59 (інакше налазить на інтро), цілим кадром */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero--etc .page-hero__media { top: auto; height: 60vw; max-height: 640px; }
  .page-hero--etc .page-hero__media img { object-fit: contain; object-position: center top; }
}

/* Мобільні ширини, крім 390: креслення зберігає пропорції 366×510 (низ кадру білий, на нього заходить H2) */
@media (min-width: 391px) and (max-width: 767px) {
  .page-hero--etc .page-hero__media { width: min(calc(100% - 24px), 480px); height: auto; aspect-ratio: 366 / 510; }
}
@media (max-width: 389px) {
  .page-hero--etc .page-hero__media { width: calc(100% - 24px); height: auto; aspect-ratio: 366 / 510; }
}

/* pages/expertise-template-b.css */
/* ==========================================================================
   Expertise template B — Installation & Commissioning (2600:2089 / 3001:368),
   Multi-Site Programs (2600:2227 / 3001:534).
   Спільні блоки: hero-модифікатор, фото+текст, текст|фото|текст, послуги у 2 колонки, CTA.
   Відмінності між сторінками — через змінні в pages/<slug>.css.
   ========================================================================== */

/* ---------- Hero (модифікатор components/page-hero.html) ----------
   H1 50/1 (а не 60/.9), лід на y = 554 → --hero-title-min 250 */
.page-hero.xpb-hero { --hero-title-min: 250px; }
.xpb-hero .page-hero__title {
  max-width: 609px;
  font-size: min(50px, 3.4722vw);
  line-height: 1;
}
.xpb-hero .page-hero__lead { max-width: var(--xpb-lead-w, 553px); }

/* Варіант з глобусом 638×638 (x = 750, y = 124) замість фото 700×749 */
.xpb-hero--globe .page-hero__media {
  top: 52px;
  right: 52px;
  width: 638px;
  height: 638px;
}

@media (max-width: 1240px) {
  .xpb-hero--globe .page-hero__media { right: 0; width: 44%; height: auto; aspect-ratio: 1; }
}

@media (max-width: 767px) {
  .page-hero.xpb-hero { --hero-title-min: 124px; /* лід на y = 298 */ }
  .xpb-hero .page-hero__title { max-width: 329px; font-size: 35px; line-height: 31px; /* Figma: 4 рядки = 124 */ }
  .xpb-hero .page-hero__lead { max-width: var(--xpb-lead-w-m, 331px); font-size: 13px; line-height: normal; }

  /* фото 420×450 з x = −15 */
  .xpb-hero--wide-m .page-hero__media { width: calc(100% + 30px); margin-left: -15px; }

  /* глобус 394×394 з x = −2, одразу під лідом (+3) */
  .xpb-hero--globe .page-hero__media {
    position: relative;
    top: auto;
    right: auto;
    width: calc(100% + 4px);
    height: auto;
    aspect-ratio: 1;
    margin: 3px 0 0 -2px;
  }
}

/* ---------- Фото зліва + заголовок і текст (лінія по низу фото) ---------- */
.xpb-media-text { margin-top: 130px; }

.xpb-media-text__inner {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: var(--col-gap);
}

.xpb-media-text__img {
  width: 100%;
  height: 476px;
  object-fit: cover;
}

.xpb-media-text__body {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--c-line);
}

.xpb-media-text__title { max-width: 819px; padding-left: 3px; }

.xpb-media-text__text {
  max-width: calc(213px + 493px);
  margin-top: 57px;
  padding-left: 213px; /* текст з x = 740 */
}
.xpb-media-text__text p + p { margin-top: 30px; }

@media (max-width: 1240px) {
  .xpb-media-text__text { padding-left: 0; }
}

@media (max-width: 767px) {
  .xpb-media-text { margin-top: 54px; }
  .xpb-media-text__inner { grid-template-columns: minmax(0, 1fr); }
  .xpb-media-text__img { order: 2; height: 400px; margin-top: 40px; }
  .xpb-media-text__body { border-bottom: 0; }
  .xpb-media-text__title { max-width: 297px; padding-left: 0; }
  .xpb-media-text__text { margin-top: var(--xpb-intro-gap-m, 30px); }
  .xpb-media-text__text p + p { margin-top: 20px; }
}

/* ---------- Заголовок + текст | фото | текст (сітка 3 колонки) ---------- */
.xpb-split { margin-top: 40px; }

.xpb-split__inner {
  grid-template-areas:
    "title img ."
    "text1 img text2";
  grid-template-rows: auto 1fr;
  align-items: start;
}

.xpb-split__title { grid-area: title; max-width: 512px; margin-right: -125px; /* текстовий блок 512 px заходить під фото */ }
.xpb-split__img { grid-area: img; width: 100%; height: 476px; object-fit: cover; }
.xpb-split__text { margin-top: 50px; }
.xpb-split__text--1 { grid-area: text1; max-width: 364px; }
.xpb-split__text--2 { grid-area: text2; }

@media (max-width: 767px) {
  .xpb-split { margin-top: 55px; }
  .xpb-split__inner {
    grid-template-areas: "title" "text1" "text2" "img";
    grid-template-rows: none;
  }
  .xpb-split__title { max-width: 330px; }
  .xpb-split__text--1 { max-width: none; margin-top: 35px; }
  .xpb-split__text--2 { margin-top: 20px; }
  .xpb-split__img { height: 400px; margin-top: 40px; }
}

/* ---------- Послуги: іконка / назва / текст, 2 колонки по 600, лінії ---------- */
.xpb-services { margin-top: 130px; }

.xpb-services__title { max-width: var(--xpb-services-title-w, 624px); }

.xpb-services__list { margin-top: var(--xpb-services-top, 38px); }

.xpb-services__item {
  /* subgrid: назви й тексти в обох колонках ряду стоять на одній висоті */
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  align-content: start;
  padding: 40px 0 40px; /* лінія 1 px + 40 = іконка на 41 px нижче лінії */
  border-bottom: 1px solid var(--c-line);
}
.xpb-services__item:nth-child(-n + 2) { padding-top: 0; }

.xpb-services__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 34px;
  overflow: visible;
}
.xpb-services__icon img { flex: none; max-width: none; height: auto; }

.xpb-services__name { max-width: 386px; /* найдовша однорядкова назва в Figma — 385 px */ margin-top: var(--xpb-name-gap, 36px); line-height: 22px; text-wrap: balance; }

.xpb-services__text { max-width: var(--xpb-services-text-w, 553px); margin-top: 20px; }

@media (max-width: 767px) {
  .xpb-services { margin-top: 70px; }
  .xpb-services__title { max-width: 312px; margin: 0 auto; text-align: center; }
  .xpb-services__list { margin-top: 35px; }

  .xpb-services__item {
    display: grid;
    grid-row: auto;
    grid-template-rows: none;
    grid-template-columns: 60px minmax(0, 1fr);
    grid-template-areas: "icon name" ".    text";
    align-items: center;
    padding: 24px 0 25px;
  }
  .xpb-services__item:nth-child(-n + 2) { padding-top: 24px; }
  .xpb-services__item:first-child { padding-top: 0; }

  .xpb-services__icon { grid-area: icon; width: 28px; height: 28px; }
  .xpb-services__icon img { width: 28px; max-height: 28px; object-fit: contain; }
  /* у Figma колонка тексту 271 px (60 + 271 = 331 > 330) */
  .xpb-services__name { grid-area: name; max-width: 271px; margin: 0; line-height: 17px; text-wrap: wrap; }
  .xpb-services__text { grid-area: text; max-width: 271px; margin: 12px -1px 0 0; }
}

/* ---------- CTA по центру ---------- */
.xpb-cta { margin-top: var(--xpb-cta-top, 130px); }

.xpb-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.xpb-cta__title { max-width: 613px; }
.xpb-cta__text { max-width: var(--xpb-cta-text-w, 478px); margin-top: 30px; }
.xpb-cta__btn { margin-top: 44px; }

@media (max-width: 767px) {
  .xpb-cta { margin-top: 69px; }
  .xpb-cta__title { max-width: 288px; }
  .xpb-cta__text { max-width: var(--xpb-cta-text-w-m, 291px); margin-top: 25px; line-height: normal; }
  .xpb-cta__btn { width: 257px; margin-top: var(--xpb-cta-btn-m, 51px); }
}

/* ---------- Планшет 768–1023: hero складається у стовпчик (components/page-hero.css) ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero.xpb-hero { --hero-title-min: 0; }
  .xpb-hero .page-hero__title { font-size: max(35px, 4.1667vw); }
  /* глобус — квадрат по центру під лідом, без зсуву top (інакше заходить на наступну секцію) */
  .xpb-hero--globe .page-hero__media {
    top: auto;
    right: auto;
    width: min(560px, 70%);
    height: auto;
    aspect-ratio: 1;
    margin: 40px auto 0;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .xpb-media-text__inner { grid-template-columns: 38% minmax(0, 1fr); }
}

/* 768–1240: заголовок split на всю ширину над рядом «текст | фото | текст» (інакше налазить на фото) */
@media (min-width: 768px) and (max-width: 1240px) {
  .xpb-split__inner {
    grid-template-areas:
      "title title title"
      "text1 img text2";
  }
  .xpb-split__title { max-width: 640px; margin-right: 0; }
  .xpb-split__img { margin-top: 50px; }
}

/* < 390: вузький екран — без від'ємного поля, щоб заголовок не виходив за контейнер */
@media (max-width: 389px) {
  .xpb-split__title { margin-right: 0; }
}
@media (max-width: 389px) {
  .xpb-hero .page-hero__title { font-size: 8.5vw; line-height: 0.886; } /* «Commissioned» не вміщається в 35 px */
}

/* pages/expertise-template.css */
/* ==========================================================================
   Expertise template — спільні секції сторінок Expertise
   (Engineering 2600:1820, Project Management 2600:1955; Custom Solutions теж використовує xp-intro / xp-cta)
   Класи з префіксом xp-. Сторінкові відмінності — у css/pages/<slug>.css.
   ========================================================================== */

/* ---------- Hero: H1 50/1.0 замість 60/0.9, лід на 554 px (H1 y=304) ---------- */
.page-hero--xp { --hero-title-min: 250px; }
.page-hero--xp .page-hero__title {
  max-width: 611px;
  font-size: min(50px, 3.4722vw);
  line-height: 1;
}
.page-hero--xp .page-hero__lead { max-width: 500px; }

@media (max-width: 767px) {
  .page-hero--xp { --hero-title-min: 0; }
  .page-hero--xp .page-hero__title { max-width: 330px; font-size: 30px; line-height: 0.9; }
  .page-hero--xp .page-hero__lead { max-width: 316px; }
}

/* ---------- Intro: фото 387×476 | заголовок + 2 абзаци, лінія по низу фото ----------
   Desktop: фото x=100 y=951; H2 x=530; текст x=740 (+60 від H2, абзаци через 30); лінія x=527…1342 y=1427 */
.xp-intro { margin-top: 130px; }

.xp-intro__inner {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: 40px;
}

.xp-intro__media {
  height: 476px;
  overflow: hidden;
  background: var(--c-stone);
}
.xp-intro__media img { width: 100%; height: 100%; object-fit: cover; }

.xp-intro__body {
  margin-right: -2px;
  border-bottom: 1px solid var(--c-line);
}

.xp-intro__title { max-width: 656px; padding-left: 3px; }

.xp-intro__text {
  max-width: 493px;
  margin: 60px 0 0 26.2%; /* 213 / 815 */
}
.xp-intro__text p + p { margin-top: 30px; }

@media (max-width: 1240px) {
  .xp-intro__inner { grid-template-columns: 32% minmax(0, 1fr); }
  .xp-intro__text { margin-left: 15%; }
}

@media (max-width: 767px) {
  .xp-intro { margin-top: 70px; }
  .xp-intro__inner { display: flex; flex-direction: column; }
  .xp-intro__media { order: 2; width: 100%; max-width: 330px; height: 400px; margin-top: 40px; }
  .xp-intro__body { margin: 0; border: 0; }
  .xp-intro__title { max-width: 330px; padding: 0; }
  .xp-intro__text { max-width: 330px; margin: 30px 0 0; }
  .xp-intro__text p + p { margin-top: 20px; }
}

/* ---------- Features: 2 колонки по 600 px (What We Cover / What We Manage) ----------
   Лінійний варіант (PM 2600:1955): рядок = 40 · іконка 42 · 29 · назва · 20 · текст · 40, лінія 600 px.
   Варіант --tiles (Engineering 2600:1820): клітинки 600×295, тонований фон шаховим порядком. */
.xp-features { margin-top: 130px; }

.xp-features__title { max-width: 624px; }

.xp-features__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
  margin-top: 2px;
}

.xp-feature {
  padding: 40px 0;
  border-bottom: 1px solid var(--c-line);
}

.xp-feature__icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 42px;
  height: 42px;
  margin-left: -9px; /* іконки в макеті стоять з x = 91 */
}
.xp-feature__icon img { width: 42px; height: 42px; object-fit: contain; }

.xp-feature__name { max-width: 363px; margin-top: 29px; }

.xp-feature__text { max-width: 566px; margin-top: 20px; }

/* Tiles */
.xp-features--tiles .xp-features__list { column-gap: 40px; margin-top: 6px; }
.xp-features--tiles .xp-feature {
  min-height: 295px;
  padding: 36px 0 34px;
  border: 0;
}
.xp-features--tiles .xp-feature:nth-child(4n + 2),
.xp-features--tiles .xp-feature:nth-child(4n + 3) {
  padding-inline: 35px;
  background: rgba(228, 226, 219, 0.2);
}
.xp-features--tiles .xp-feature__name {
  display: flex;
  align-items: flex-end;
  min-height: 44px;
}
.xp-features--tiles .xp-feature__text { max-width: 524px; }

@media (max-width: 1023px) {
  .xp-features--tiles .xp-feature { padding-inline: 30px !important; }
}

@media (max-width: 767px) {
  .xp-features { margin-top: 70px; }
  .xp-features__title { max-width: 312px; margin: 0 auto; text-align: center; }

  .xp-features__list,
  .xp-features--tiles .xp-features__list { display: block; margin-top: 35px; }

  .xp-feature,
  .xp-features--tiles .xp-feature {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    grid-template-areas: "icon name" ".    text";
    align-items: center;
    min-height: 0;
    padding: 24px 0 25px !important;
    border-bottom: 1px solid var(--c-line);
    background: none !important;
  }
  .xp-feature:first-child { padding-top: 0 !important; }

  .xp-feature__icon { grid-area: icon; justify-content: flex-start; width: 28px; height: 28px; margin: 0; }
  /* PNG-іконки мають поля: 25 px зображення ≈ 16–18 px гліфа, як у Figma */
  .xp-feature__icon img { flex: none; width: 28px; height: 28px; max-width: none; }
  .xp-feature__name,
  .xp-features--tiles .xp-feature__name { grid-area: name; display: block; min-height: 0; max-width: 271px; margin: 0; }
  .xp-feature__text,
  .xp-features--tiles .xp-feature__text { grid-area: text; max-width: none; margin: 12px -4px 0 0; } /* у Figma 271 px; +3 px запасу під метрики шрифту, щоб переноси збігались */
}

/* ---------- CTA «Let's Talk About Your Project» (білий / --dark) ----------
   H2 613 по центру · 30 · текст 412 · 44 · кнопка 43 */
.xp-cta {
  margin-top: 148px;
  text-align: center;
}
.xp-cta__inner { display: flex; flex-direction: column; align-items: center; }
.xp-cta__title { max-width: 613px; }
.xp-cta__text { max-width: 480px; margin-top: 30px; }
.xp-cta__btn { margin-top: 44px; }

.xp-cta--dark {
  margin-top: 130px;
  padding: 136px 0;
  color: var(--c-white);
  background: #110f0e;
}

@media (max-width: 767px) {
  .xp-cta { margin-top: 70px; }
  .xp-cta--dark { padding: 70px 0; }
  .xp-cta__title { max-width: 288px; }
  .xp-cta__text { max-width: 300px; margin-top: 25px; }
  .xp-cta__btn { width: 257px; margin-top: 35px; }
}

/* ---------- Планшет 768–1023: hero складається у стовпчик (components/page-hero.css) ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero--xp { --hero-title-min: 0; }
  .page-hero--xp .page-hero__title { font-size: max(35px, 4.1667vw); }
}

/* < 390: «Responsibility,» не вміщається в 30 px — кегль від ширини екрана */
@media (max-width: 389px) {
  .page-hero--xp .page-hero__title { font-size: 7.4vw; }
}

/* pages/hammams.css */
/* ==========================================================================
   Hammams (2600:591 / mobile 2832:5866)
   ========================================================================== */

/* ---------- Intro: фото (x=100) | H2 (x=530) + 2 колонки (x=527 / 953), лінія по низу фото ---------- */
.hammams-intro { margin-top: 130px; }

.hammams-intro__media { height: 476px; overflow: hidden; }
.hammams-intro__media img { width: 100%; height: 100%; object-fit: cover; }

.hammams-intro__content {
  grid-column: 2 / span 2;
  min-height: 476px;
  border-bottom: 1px solid var(--c-line);
}
.hammams-intro__title { max-width: 726px; margin-left: 3px; }

.hammams-intro__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
  margin-top: 50px;
  padding-bottom: 40px;
}
.hammams-intro__cols p:first-child { max-width: 366px; }
.hammams-intro__cols p:last-child { max-width: 392px; }

/* ---------- Feature list ---------- */
.hammams-features { margin-top: 130px; }
.hammams-features .feature-list__icon img { width: var(--icon-w, auto); height: auto; max-height: none; }

/* переноси назв і текстів — за шириною текстових блоків у Figma; +1 px лінії компенсуємо */
.page-hammams .feature-list__item { padding-bottom: 29px; }
.hammams-features .feature-list__item:nth-child(1) .feature-list__name { max-width: 338px; }
.hammams-features .feature-list__item:nth-child(2) .feature-list__name,
.hammams-features .feature-list__item:nth-child(6) .feature-list__name { max-width: 253px; }
.hammams-features .feature-list__item:nth-child(5) .feature-list__name { max-width: 227px; }
.hammams-features .feature-list__item:nth-child(7) .feature-list__name { max-width: 191px; }
.hammams-features .feature-list__title { max-width: 479px; }
.hammams-features .feature-list__item:nth-child(4) .feature-list__name { max-width: 200px; }
.hammams-features .feature-list__item:nth-child(1) .feature-list__text,
.hammams-features .feature-list__item:nth-child(6) .feature-list__text { max-width: 533px; }
.hammams-features .feature-list__item:nth-child(3) .feature-list__text { max-width: 619px; }
.hammams-features .feature-list__item:nth-child(4) .feature-list__text { max-width: 542px; }
.hammams-features .feature-list__item:nth-child(7) .feature-list__text { max-width: 548px; }
.hammams-features .feature-list__item:nth-child(2) .feature-list__text,
.hammams-features .feature-list__item:nth-child(5) .feature-list__text { max-width: 518px; }

.page-hammams .projects--plain { margin-top: 130px; }

/* ---------- CTA без фото ---------- */
.hammams-talk { margin-top: 130px; text-align: center; }
.hammams-talk__inner { display: flex; flex-direction: column; align-items: center; }
.hammams-talk__title { max-width: 613px; }
.hammams-talk__text {
  max-width: 412px;
  margin-top: 30px;
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.04em;
}
.hammams-talk__btn { margin-top: 44px; }

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .hammams-intro { margin-top: 70px; }
  .hammams-intro__inner { display: flex; flex-direction: column; }
  .hammams-intro__content { display: contents; }
  .hammams-intro__title { order: 1; max-width: 300px; margin-left: 0; }
  .hammams-intro__cols { order: 2; grid-template-columns: minmax(0, 1fr); row-gap: 20px; margin-top: 30px; padding: 0; }
  .hammams-intro__cols p:first-child,
  .hammams-intro__cols p:last-child { max-width: none; }
  .hammams-intro__media { order: 3; width: 100%; height: 406px; margin-top: 40px; }

  .hammams-features { margin-top: 70px; }
  /* іконки як на desktop (гліф ≈15–18 px), по центру рядка назви — як у Figma (18×18, x = 30) */
  .hammams-features .feature-list__icon { align-self: center; justify-content: center; width: 18px; }
  .hammams-features .feature-list__icon img { width: calc(var(--icon-w) * 0.8); max-height: none; }
  .page-hammams .feature-list__item { padding-bottom: 25px; }
  .hammams-features .feature-list__title { max-width: 250px; }
  .hammams-features .feature-list__item:first-child { padding-top: 6px; }
  .hammams-features .feature-list__item:nth-child(n) .feature-list__name { max-width: 268px; line-height: 17px; }
  .hammams-features .feature-list__item:nth-child(2) .feature-list__name { max-width: 223px; }
  .hammams-features .feature-list__item:nth-child(5) .feature-list__name { max-width: 180px; }
  .hammams-features .feature-list__item:nth-child(n) .feature-list__text { max-width: 271px; }

  .page-hammams .projects--plain { margin-top: 69px; }
  .page-hammams .projects--plain .projects__slider { margin-top: 35px; }
  .page-hammams .projects__nav { margin-top: 25px; }

  .hammams-talk { margin-top: 70px; }
  .hammams-talk__title { max-width: 319px; }
  .hammams-talk__text { max-width: 330px; margin-top: 25px; font-size: 13px; line-height: 1.23; }
  .hammams-talk__btn { width: 257px; margin-top: 35px; }
}

/* Планшет 768–1023: фото 38%, текст — решта ширини */
@media (min-width: 768px) and (max-width: 1023px) {
  .hammams-intro__inner { grid-template-columns: 38% minmax(0, 1fr); }
  .hammams-intro__content { grid-column: 2; }
}

/* pages/hot-tubs.css */
/* Hot Tubs (2600:1374 / 2881:7008) — спільні стилі: pages/product-template-c.css */
.page-hot-tubs {
  --pc-hero-title-min: 170px;      /* лід y = 474 */
  --pc-intro-text-w: 592px;
  --pc-name-w: 275px;
}
@media (min-width: 768px) {
  /* переноси як у макеті */
  .page-hot-tubs .product-c-intro__title { max-width: 680px; }
  .page-hot-tubs .product-c-intro__text p:first-child { max-width: 579px; }
  .page-hot-tubs .feature-list__item:nth-child(1) .feature-list__name { max-width: 213px; }
  .page-hot-tubs .feature-list__item:nth-child(3) .feature-list__text { max-width: 573px; }
}
@media (max-width: 767px) {
  .page-hot-tubs {
    --pc-hero-title-w-m: 285px;
    --pc-intro-title-w-m: 312px;
    --pc-intro-img-h-m: 400px;
  }
}
@media (max-width: 767px) {
  /* фото hero у макеті з x = 0 (420 px, обрізане краєм екрана) */
  .page-hot-tubs .page-hero--product-c .page-hero__media { width: 100%; margin-left: 0; }
  /* у макеті після першого пункту на 15 px більший відступ */
  .page-hot-tubs .feature-list__item:nth-child(2) { padding-top: 39px; }
  .page-hot-tubs .feature-list__item:nth-child(2) .feature-list__name { max-width: 240px; }
  .page-hot-tubs .feature-list__item:nth-child(3) .feature-list__name { max-width: 229px; }
}

/* pages/installation-commissioning.css */
/* Installation & Commissioning (2600:2089 / 3001:368) — спільні стилі в expertise-template-b.css */
.page-installation-commissioning {
  --xpb-lead-w: 553px;
  --xpb-services-title-w: 624px;
  --xpb-services-top: 43px;
  --xpb-cta-top: 148px;
  --xpb-cta-text-w: 478px;
  --xpb-services-text-w: 547px; /* переноси як у Figma */
}

@media (max-width: 767px) {
  .page-installation-commissioning {
    --xpb-lead-w-m: 331px;
    --xpb-intro-gap-m: 30px;
    --xpb-icon-m: 18px;
    --xpb-cta-text-w-m: 291px;
    --xpb-cta-btn-m: 51px;
  }
}

/* У Figma перший абзац інтро на мобільному переноситься вужче (7 рядків) */
@media (max-width: 767px) {
  .page-installation-commissioning .xpb-media-text__text p:first-child { max-width: 306px; }
  .page-installation-commissioning .xpb-services__item:nth-child(3) .xpb-services__name { max-width: 215px; } /* блок назви в Figma */
}

/* Два тексти послуг у Figma мають іншу ширину блока (566 і 524) — інакше переноси відрізняються */
@media (min-width: 768px) {
  .page-installation-commissioning .xpb-services__item:nth-child(3) .xpb-services__text { max-width: 566px; }
  .page-installation-commissioning .xpb-services__item:nth-child(4) .xpb-services__text { max-width: 524px; }
  .page-installation-commissioning .xpb-services__item:nth-child(4) .xpb-services__name { text-wrap: wrap; }
  /* перший абзац інтро — блок 472 px */
  .page-installation-commissioning .xpb-media-text__text p:first-child { max-width: 472px; }
}

/* pages/legal.css */
/* Текстові сторінки (Privacy / Cookie policy) — шаблон для the_content() */
.legal { padding-top: 115px; }
.legal__title { margin-top: 104px; max-width: 800px; }
.legal__body { max-width: 760px; margin-top: 60px; line-height: 1.5; }
.legal__body h2 { margin: 2em 0 0.8em; font-weight: 400; font-size: 20px; text-transform: uppercase; }
.legal__body p + p { margin-top: 1em; }
.legal__body a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .legal { padding-top: 38px; }
  .legal__title { margin-top: 30px; }
  .legal__body { margin-top: 30px; }
}

/* pages/multi-site-programs.css */
/* Multi-Site Programs (2600:2227 / 3001:534) — спільні стилі в expertise-template-b.css */
.page-multi-site-programs {
  --xpb-lead-w: 519px;
  --xpb-services-title-w: 547px;
  --xpb-services-top: 45px;
  --xpb-cta-top: 130px;
  --xpb-cta-text-w: 539px;
  --xpb-services-text-w: 530px; /* переноси як у Figma (блоки 493–553) */
}

@media (max-width: 767px) {
  .page-multi-site-programs {
    --xpb-lead-w-m: 323px;
    --xpb-icon-m: 29px; /* іконки мають прозорі поля: гліф ≈ 18 px */
    --xpb-cta-text-w-m: 296px;
    --xpb-cta-btn-m: 35px;
  }
}

/* pages/our-pools.css */
/* Pools (2600:1214 / 2881:6830) — спільні стилі: pages/product-template-c.css */
.page-our-pools {
  --pc-hero-title-min: 170px;      /* лід y = 474 */
  --pc-intro-img-h: 551px;
  --pc-intro-text-w: 602px;
}
/* ширини абзаців як у текстових блоках макета: 535 / 602 / 545, відступ перед третім 22 px */
@media (min-width: 768px) {
  .page-our-pools .product-c-intro__text p:nth-child(1) { max-width: 535px; }
  .page-our-pools .product-c-intro__text p:nth-child(3) { max-width: 545px; margin-top: 22px; }
  /* переноси як у макеті: текстові блоки пунктів 4–6 вужчі (579 / 579 / 567) */
  .page-our-pools .feature-list__item:nth-child(4) .feature-list__text,
  .page-our-pools .feature-list__item:nth-child(5) .feature-list__text { max-width: 579px; }
  .page-our-pools .feature-list__item:nth-child(6) .feature-list__text { max-width: 567px; }
}
@media (max-width: 767px) {
  .page-our-pools { --pc-features-gap-m: 50px; }
}

/* pages/product-template-b.css */
/* ==========================================================================
   Product template B — Steam Rooms / Ice & Snow / Cold Plunges
   hero (page-hero) → product-intro → feature-list (product-features)
   → projects-slider (projects--plain) → product-talk
   Desktop: секції через 130 px; mobile: через 70 px.
   ========================================================================== */

.page-product-b .product-intro,
.page-product-b .product-features,
.page-product-b .projects--plain,
.page-product-b .product-talk { margin-top: 130px; }

/* ---------- Intro: фото 387×476 | заголовок + текст, лінія по низу фото ---------- */

.product-intro__inner {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: var(--col-gap);
  align-items: stretch;
}

.product-intro__img {
  width: 100%;
  height: 476px;
  object-fit: cover;
}

.product-intro__main {
  margin-right: -2px;            /* лінія 815 px: x = 527…1342 */
  border-bottom: 1px solid var(--c-line);
}

.product-intro__title {
  max-width: 810px;
  margin-left: 3px;              /* у макеті x = 530 */
}

.product-intro__text {
  max-width: 524px;
  margin: 60px 0 0 213px;        /* текст з x = 740 */
}
.product-intro__text p + p { margin-top: 32px; }

/* ---------- Feature list (спільний компонент) — продуктовий варіант ---------- */

/* іконки: ширина й вертикальний зсув із макета задаються в розмітці (--icon-w, --icon-y) */
.product-features .feature-list__icon { height: auto; align-items: flex-start; }
.product-features .feature-list__icon img {
  width: var(--icon-w, 46px);
  max-height: none;
  margin-top: var(--icon-y, 0px);
}

.page-product-b .t-h2 { line-height: 1; }          /* Figma: 45/45 (2 рядки = 90 px) */

/* Figma: лінії через «текст + 60», сама лінія не додає висоти → 29 + 1 px border */
@media (min-width: 768px) {
  .page-product-b .product-features .feature-list__item { padding-bottom: 29px; }
}

.product-features__note {
  font-style: italic;
  opacity: 0.5;
}

/* ---------- Let's Talk About Your Project (без фото) ---------- */

.product-talk__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.product-talk__title { max-width: 613px; }

.product-talk__text {
  max-width: 412px;
  margin-top: 30px;
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.04em;
}

.product-talk__btn { margin-top: 44px; }

/* Ice & Snow, Cold Plunges: на десктопі CTA стоїть перед проєктами (на мобільному — після) */
@media (min-width: 768px) {
  .page-product-b--talk-first #main { display: flex; flex-direction: column; }
  .page-product-b--talk-first #main > * { width: 100%; }
  .page-product-b--talk-first .product-talk { order: 1; }
  .page-product-b--talk-first .projects--plain { order: 2; }
}

@media (max-width: 1240px) {
  .product-intro__text { margin-left: 0; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .page-product-b .product-intro,
  .page-product-b .product-features,
  .page-product-b .projects--plain,
  .page-product-b .product-talk { margin-top: 70px; }

  .product-intro__inner { display: flex; flex-direction: column; }
  .product-intro__img { order: 2; height: 406px; margin-top: 40px; }
  .product-intro__main { order: 1; margin: 0; border: 0; }
  .product-intro__title { max-width: 330px; margin: 0; }
  .product-intro__text { max-width: none; margin: 30px 0 0; }
  .product-intro__text p + p { margin-top: 20px; }

  .product-features .feature-list__items { margin-top: 35px; }
  .product-features .feature-list__item:first-child { padding-top: 0; }
  /* PNG мають поля (гліф ≈ 55 % файлу), тому файл 50 px → видимий гліф ≈ 26–30 px; комірка 28 px, решта виходить за неї */
  .product-features .feature-list__icon { align-self: center; align-items: center; justify-content: center; width: 28px; height: 28px; overflow: visible; }
  .product-features .feature-list__icon img { width: 50px; max-width: none; height: 50px; max-height: none; margin: 0; object-fit: contain; }

  .page-product-b .page-hero__title { line-height: 31px; }   /* Figma: 35 px, рядок 31 px */
  .page-product-b .t-h2 { line-height: 25px; }
  .page-product-b .product-features .feature-list__name { max-width: 270px; line-height: 17px; }
  .page-product-b .product-features .feature-list__item { grid-template-rows: minmax(18px, auto) auto; }

  .page-product-b .projects--plain .projects__slider { margin-top: 35px; }
  .page-product-b .projects__title { max-width: 364px; }
  .page-product-b .projects--plain .projects__nav { margin-top: 24px; }   /* стрілки у Figma на 8 px нижче */

  .product-talk__title { max-width: 319px; }
  .product-talk__text { max-width: 330px; margin-top: 25px; font-size: 13px; line-height: 16px; }
  .product-talk__btn { width: 257px; margin-top: 35px; }
}

/* Планшет 768–1023: колонка фото вужча, щоб заголовок і текст не стискались у вузьку смугу */
@media (min-width: 768px) and (max-width: 1023px) {
  .product-intro__inner { grid-template-columns: 38% minmax(0, 1fr); }
}

/* pages/product-template-c.css */
/* ==========================================================================
   Product template C — Treatment Rooms (2600:1058 / 2832:6659),
   Pools (2600:1214 / 2881:6830), Hot Tubs (2600:1374 / 2881:7008).
   hero (page-hero + page-hero--product-c) → product-c-intro → feature-list (product-c-features)
   → projects-slider (projects--plain) → product-c-talk.
   На мобільному CTA стоїть після проєктів (порядок DOM), на десктопі — перед ними (flex order).
   Desktop: секції через 130 px; mobile: через 70 px.
   Відмінності між сторінками — змінні в pages/<slug>.css.
   ========================================================================== */

/* ---------- Hero (модифікатор components/page-hero.html): H1 50/1, лід через --hero-title-min ---------- */

.page-hero.page-hero--product-c { --hero-title-min: var(--pc-hero-title-min, 170px); }
@media (min-width: 768px) {
  .page-hero--product-c .page-hero__title { margin-top: 103px; }   /* H1 y = 304 */
  /* H2 45 px: у макеті рядок рівно 45 px (2 рядки = 90, 3 = 135) */
  .page-product-c .product-c-intro__title,
  .page-product-c .feature-list__title,
  .page-product-c .projects__title,
  .page-product-c .product-c-talk__title { line-height: min(45px, 3.125vw); }
  .page-product-c .feature-list__title { max-width: 480px; }      /* текстовий блок 479 px */
}
.page-hero--product-c .page-hero__title {
  max-width: 642px;
  font-size: min(50px, 3.4722vw);
  line-height: 1;
}
.page-hero--product-c .page-hero__lead { max-width: 450px; }

/* Фото лише на мобільному (Pools: у desktop-макеті праворуч порожньо) */
@media (min-width: 768px) {
  .page-hero--media-mobile .page-hero__media { display: none; }
}

/* ---------- Порядок секцій ---------- */

.page-product-c .product-c-intro,
.page-product-c .product-c-features,
.page-product-c .product-c-talk,
.page-product-c .projects--plain { margin-top: 130px; }

@media (min-width: 768px) {
  .page-product-c--talk-first #main { display: flex; flex-direction: column; }
  .page-product-c--talk-first #main > * { width: 100%; }
  .page-product-c--talk-first .product-c-talk { order: 1; }
  .page-product-c--talk-first .projects--plain { order: 2; }
}

.page-product-c .projects__title { max-width: var(--pc-projects-title-w, 583px); }

/* ---------- Intro: фото 387 × (476|551) | заголовок + текст, лінія 815 px по низу фото ---------- */

.product-c-intro__inner {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: var(--col-gap);
  align-items: stretch;
}

.product-c-intro__img {
  width: 100%;
  height: var(--pc-intro-img-h, 476px);
  object-fit: cover;
}

.product-c-intro__main {
  margin-right: -2px;            /* лінія: x = 527…1342 */
  border-bottom: 1px solid var(--c-line);
}

.product-c-intro__title {
  max-width: 810px;
  margin-left: 3px;              /* x = 530 */
}

.product-c-intro__text {
  max-width: var(--pc-intro-text-w, 524px);
  margin: 60px 0 0 213px;        /* x = 740 */
}
.product-c-intro__text p + p { margin-top: 30px; }

/* ---------- Feature list (спільний компонент) ---------- */

.product-c-features .feature-list__items { margin-top: var(--pc-features-gap, 41px); }
/* у макеті крок пунктів 132 px = 30 + текст 72 + 30, лінія без власної висоти */
@media (min-width: 768px) {
  .product-c-features .feature-list__item { padding-bottom: 29px; }
}
.product-c-features .feature-list__name { max-width: var(--pc-name-w, 253px); }
.product-c-features .feature-list__text { max-width: 600px; }

/* іконки: ширина й вертикальний зсув — у розмітці (--icon-w, --icon-y); на мобільному — окремий PNG 18×18 (<source> у <picture>) */
.product-c-features .feature-list__icon picture { display: contents; }
.product-c-features .feature-list__icon { height: auto; align-items: flex-start; margin-left: -3px; } /* центри іконок у макеті ≈ x 110 */
.product-c-features .feature-list__icon img {
  width: var(--icon-w, 40px);
  max-height: none;
  margin-top: var(--icon-y, 0px);
}

/* ---------- Let's Talk About Your Project (без фото) ---------- */

.product-c-talk__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.product-c-talk__title { max-width: 613px; }

.product-c-talk__text {
  max-width: 412px;
  margin-top: 30px;
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.04em;
}

.product-c-talk__btn { margin-top: 44px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .product-c-intro__text { margin-left: 0; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .page-hero.page-hero--product-c { --hero-title-min: 0; }
  .page-hero--product-c .page-hero__title {
    max-width: var(--pc-hero-title-w-m, 330px);
    font-size: 35px;
    line-height: 31px;             /* у макеті 2 рядки = 62 px */
  }
  .page-hero--product-c .page-hero__lead { max-width: 330px; font-size: 13px; line-height: 16px; }
  /* фото 404×450 з x = −14 (до правого краю екрана) */
  .page-hero--product-c .page-hero__media { width: calc(100% + 14px); margin-left: -14px; }

  .page-product-c .product-c-intro,
  .page-product-c .product-c-features,
  .page-product-c .product-c-talk,
  .page-product-c .projects--plain { margin-top: 70px; }

  .page-product-c .projects--plain .projects__slider { margin-top: 35px; }
  .page-product-c .projects__nav { margin-top: 25px; }   /* стрілки на 26 px нижче підпису картки */
  /* H2 25 px: рядок у макеті 25 px */
  .page-product-c .product-c-intro__title,
  .page-product-c .feature-list__title,
  .page-product-c .projects__title,
  .page-product-c .product-c-talk__title { line-height: 25px; }
  .page-product-c .projects__title { max-width: 364px; }

  .product-c-intro__inner { display: flex; flex-direction: column; }
  .product-c-intro__img { order: 2; height: var(--pc-intro-img-h-m, 406px); margin-top: 40px; }
  .product-c-intro__main { order: 1; margin: 0; border: 0; }
  .product-c-intro__title { max-width: var(--pc-intro-title-w-m, 329px); margin: 0; }
  .product-c-intro__text { max-width: none; margin: 30px 0 0; }
  .product-c-intro__text p + p { margin-top: 20px; }

  .product-c-features .feature-list__title { max-width: 250px; }
  .product-c-features .feature-list__items { margin-top: var(--pc-features-gap-m, 35px); }
  .product-c-features .feature-list__item:first-child { padding-top: 0; }
  .product-c-features .feature-list__name { max-width: 270px; line-height: 17px; }   /* 2 рядки = 34 */
  .product-c-features .feature-list__text { margin-right: -1px; }   /* текстовий блок у макеті 271 px */
  .product-c-features .feature-list__icon { align-self: center; align-items: center; width: 28px; height: 28px; margin-left: 0; }
  .product-c-features .feature-list__icon img { width: 28px; max-height: 28px; margin: 0; object-fit: contain; }

  .product-c-talk__title { max-width: 319px; }
  .product-c-talk__text { max-width: 330px; margin-top: 25px; font-size: 13px; line-height: 16px; }
  .product-c-talk__btn { width: 257px; margin-top: 35px; }
}

/* ---------- Планшет 768–1023: фото під текстом (components/page-hero.css), H1 на всю ширину ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero.page-hero--product-c { --hero-title-min: 0; }
  .page-hero--product-c .page-hero__title { margin-top: 60px; font-size: max(35px, 4.1667vw); line-height: 1; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product-c-intro__inner { grid-template-columns: 38% minmax(0, 1fr); }
}

/* < 390: довгі слова H1 («Environments», «Architecture.») не вміщаються в 35 px — кегль від ширини екрана */
@media (max-width: 389px) {
  .page-hero--product-c .page-hero__title { font-size: 8.5vw; line-height: 0.886; }
}

/* pages/products.css */
/* ==========================================================================
   Products (2828:5159 / mobile 2828:5282)
   Breadcrumbs y=187, список з y=349: дві колонки (x=100 / 740) по 5 рядків,
   рядок = назва 20 px + 30 px + лінія + 29 px. Mobile: одна колонка, 15 px Light, 20/20.
   ========================================================================== */

.products-list { padding-top: 115px; }

.products-list__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: var(--col-gap);
  margin-top: 149px;
}

.products-list__items li {
  border-bottom: 1px solid var(--c-line);
  transition: border-color var(--t-fast) var(--ease);
}
/* hover: лінія під категорією стає чорною */
.products-list__items li:hover,
.products-list__items li:focus-within { border-bottom-color: var(--c-black); }

.products-list__link {
  padding: 28px 0 30px;
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 0.99;
  text-transform: uppercase;
}
.products-list__items li:nth-child(5n + 1) .products-list__link { padding-top: 0; }
.products-list__link .icon--arrow-right { width: 7px; height: 8px; }

@media (max-width: 767px) {
  .products-list { padding-top: 38px; }

  .products-list__items {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-flow: row;
    margin-top: 80px;
  }

  .products-list__link {
    padding: 19px 0 20px;
    font-weight: var(--fw-light);
    font-size: 15px;
    line-height: 13px;
  }
  .products-list__items li:nth-child(5n + 1) .products-list__link { padding-top: 19px; }
  .products-list__items li:first-child .products-list__link { padding-top: 0; }
}

/* Thermal Rooms — лише на desktop (на планшеті й мобільному, де бургер-меню, приховано) */
@media (max-width: 1023px) {
  .products-list__item--desktop { display: none; }
}

/* pages/project-management.css */
/* ==========================================================================
   Project Management (desktop 2600:1955, mobile 3001:209)
   Спільні блоки — expertise-template.css.
   ========================================================================== */

.page-hero--xp.page-hero--pm .page-hero__lead { max-width: 553px; }

.page-project-management .xp-intro__title { max-width: 680px; }
.page-project-management .xp-intro__text p:first-child { max-width: 480px; }

.page-project-management .xp-feature:nth-child(1) .xp-feature__name { max-width: 189px; }
.page-project-management .xp-feature:nth-child(even) .xp-feature__icon { margin-left: -5px; }

.page-project-management .xp-cta__text { max-width: 478px; }

/* Desktop: лінії рядів кожні 265 px (лінія входить у верхні 40), ширини текстів з Figma, CTA через 148 від лінії */
@media (min-width: 768px) {
  .page-project-management .xp-feature:nth-child(n + 3) { padding-top: 39px; }
  .page-project-management .xp-feature:nth-child(1) .xp-feature__text { max-width: 533px; }
  .page-project-management .xp-feature:nth-child(4) .xp-feature__text { max-width: 524px; }
  .page-project-management .xp-feature:nth-child(4) .xp-feature__icon { margin-left: -4px; }
  .page-project-management .xp-cta { margin-top: 147px; }
}

@media (max-width: 767px) {
  .page-hero--xp.page-hero--pm .page-hero__lead { max-width: 311px; }
  .page-project-management .xp-features { margin-top: 58px; }
  .page-project-management .xp-feature:nth-child(1) .xp-feature__name { max-width: 271px; }
  .page-project-management .xp-feature:nth-child(even) .xp-feature__icon { margin-left: 0; }
  .page-project-management .xp-cta__text { max-width: 291px; }
}

/* pages/references.css */
/* ==========================================================================
   Projects / References (desktop 2600:2919 + 2600:3061, mobile 2820:4565 + 2820:4809)
   Два фрейми = два стани фільтра «Hospitality & Wellness» / «Residential & Club».
   ========================================================================== */

/* ---------- Hero: crumbs y 187, H1 y 305 (60 px), stat x 955 y 305 ---------- */
.references-hero { padding-top: 115px; }

.references-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 387px;
  grid-template-areas:
    "crumbs crumbs"
    "title  stat";
  column-gap: var(--col-gap);
  row-gap: 104px;
  align-items: start;
}

.references-hero__crumbs { grid-area: crumbs; }

.references-hero__title { grid-area: title; max-width: 470px; line-height: 0.97; } /* у макеті 2 рядки: «Experience, / Built.» */

.references-hero__stat { grid-area: stat; margin: 0 -20px 0 2px; max-width: 405px; }
.references-hero__stat .stat__value { padding-bottom: 2px; } /* лінія y 363 */
.references-hero__stat .stat__text { max-width: 405px; margin-top: 19px; letter-spacing: 0.04em; }

/* ---------- Filter (y 563, 1240×75) + grid ---------- */
.references { padding-top: 130px; }

.references__filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 75px;
  padding: 6px;
  column-gap: 6px;
  border: 1px solid var(--c-line);
}

.references__tab {
  height: 61px;
  font-weight: var(--fw-regular);
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.07em;
  color: rgba(0, 0, 0, 0.8);
  transition: background-color var(--t-base) var(--ease), color var(--t-base) var(--ease);
}
.references__tab:hover { color: var(--c-black); }
.references__tab.is-active { background: var(--c-black); color: var(--c-white); cursor: default; }

.references__intro {
  max-width: 532px;
  margin-top: 59px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.references__intro--wide { max-width: 599px; }

.references__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  row-gap: 39px;
  margin-top: 40px;
}

/* картка — стиль .project-card зі слайдера, але в сітці */
.references-card.project-card,
.references-card.project-card:first-child { margin-left: 0; }
.references-card .project-card__meta { width: auto; }
.references-card .project-card__title { font-weight: var(--fw-light); max-width: 434px; }

/* ---------- CTA (y 2357) ---------- */
.references-cta { padding-top: 130px; margin-bottom: -8px; }
.references-cta__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.references-cta__title { max-width: 723px; line-height: 0.99; }
.references-cta__text {
  max-width: 387px;
  margin-top: 31px;
  font-weight: var(--fw-regular);
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.references-cta__btn { margin-top: 66px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .references-hero__stat { margin-right: 0; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .references-hero { padding-top: 38px; }
  .references-hero__grid {
    grid-template-columns: 1fr;
    grid-template-areas: "crumbs" "title" "stat";
    row-gap: 0;
  }
  .references-hero__title { max-width: 270px; margin-top: 30px; font-size: 35px; line-height: 0.9; }
  .references-hero__stat { margin: 59px 0 0; max-width: none; }
  .references-hero__stat .stat__value { max-width: none; }
  .references-hero__stat .stat__unit { margin-left: 23px; }
  .references-hero__stat .stat__value { padding-bottom: 2px; }
  .references-hero__stat .stat__text { max-width: none; line-height: 15px; }

  .references { padding-top: 60px; }

  /* фільтр — горизонтальна стрічка 411 px у вікні 330 px */
  .references__filter {
    display: flex;
    height: 50px;
    padding: 0;
    column-gap: 0;
    border: 0;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
  }
  .references__filter::-webkit-scrollbar { display: none; }
  .references__tab {
    flex: none;
    height: 50px;
    border: 1px solid var(--c-line);
    font-size: 13px;
  }
  .references__tab:first-child { width: 221px; border-right: 0; }
  .references__tab:last-child { width: 190px; border-left: 0; }
  .references__tab.is-active { border-color: var(--c-black); }

  .references__intro,
  .references__intro--wide { max-width: 348px; margin-top: 40px; font-size: 13px; line-height: 15px; }

  .references__grid { grid-template-columns: 1fr; row-gap: 30px; margin-top: 30px; }

  .references-card .project-card__media { height: 220px; }
  .references-card .project-card__title { max-width: 232px; }
  .references-card .project-card__meta { padding-top: 13px; } /* лінія +15, назва +29 від фото */

  .references-cta { padding-top: 70px; margin-bottom: 0; }
  .references-cta__title { max-width: 300px; }
  .references-cta__text { max-width: 330px; margin-top: 25px; font-size: 13px; line-height: 1.23; }
  .references-cta__btn { width: 257px; margin-top: 35px; }
}

/* ---------- Проміжні ширини (не впливає на 1440 і 390) ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  /* колонка під H1 при 387 px статистики лишалась ~220 px — «EXPERIENCE,» вилазив */
  .references-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 70px; }
  .references-hero__stat { margin-left: 0; }
}

/* pages/sauna.css */
/* ==========================================================================
   Sauna (2600:399 / mobile 2832:5508)
   ========================================================================== */

/* ---------- Intro: фото 387×476 (x=100) | H2 (x=530) + тексти (x=740) ---------- */
.sauna-intro { margin-top: 130px; }

.sauna-intro__inner {
  display: grid;
  grid-template-columns: 387px minmax(0, 1fr);
  column-gap: 43px;
  align-items: start;
}

.sauna-intro__media { height: 476px; overflow: hidden; }
.sauna-intro__media img { width: 100%; height: 100%; object-fit: cover; }

.sauna-intro__title { max-width: 778px; }

.sauna-intro__text {
  max-width: 479px;
  margin: 68px 0 0 210px; /* x = 740 */
  line-height: 1.2;
}
.sauna-intro__text p:first-child { max-width: 472px; }
.sauna-intro__text p + p { margin-top: 32px; }

/* ---------- Sentora collection ---------- */
.sauna-collection { margin-top: 130px; }

.sauna-collection__wordmark {
  width: 100%;
  height: auto;
  opacity: 0.05;
}

.sauna-collection__head {
  display: grid;
  grid-template-columns: 600px 280px 280px;
  column-gap: 40px;
  align-items: start;
  min-height: 136px;
  margin-top: 78px;
}
.sauna-collection__title { max-width: 525px; }
.sauna-collection__text {
  font-size: 15px;
  line-height: 17px;
  letter-spacing: 0.04em;
}
.sauna-collection__text--1 { max-width: 268px; }

.sauna-collection__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--col-gap);
  row-gap: 52px;
  margin-top: 46px;
}

.sauna-product { scroll-margin-top: calc(var(--header-h) + 30px); }
.sauna-product__media { overflow: hidden; }
.sauna-product__media img { width: 100%; height: auto; }

.sauna-product__title {
  margin-top: 40px;
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 0.99;
  text-transform: uppercase;
}
.sauna-product__text { max-width: 427px; min-height: 36px; margin-top: 20px; }

.sauna-collection__more {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.sauna-collection__btn { height: 45px; }

/* ---------- Sentora Bespoke: бежевий фон, текст + stat, галерея ---------- */
.sauna-bespoke {
  max-width: var(--frame);
  margin: 130px auto 0;
  padding: 130px 0 10px;
  background: var(--c-stone);
  overflow: hidden;
}

.sauna-bespoke__head {
  display: grid;
  grid-template-columns: 387px 466px minmax(0, 387px); /* x = 100 / 487 / 953 */
  align-items: start;
}
.sauna-bespoke__title { max-width: 426px; }

.sauna-bespoke__text {
  max-width: 397px;
  margin-top: 9px;
  font-size: 15px;
  line-height: 17px;
  letter-spacing: 0.04em;
}
.sauna-bespoke__text p:first-child { max-width: 382px; }
.sauna-bespoke__text p + p { margin-top: 19px; }

.sauna-bespoke__stat .stat__plus { margin-left: 10px; }
.sauna-bespoke__stat .stat__unit { margin-left: 23px; }

.sauna-bespoke__gallery { position: relative; margin-top: 50px; }

.sauna-bespoke__track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
}
.sauna-bespoke__track::-webkit-scrollbar { display: none; }
.sauna-bespoke__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }

.sauna-bespoke__slide {
  flex: 0 0 476px;
  height: 570px;
  scroll-snap-align: start;
}
.sauna-bespoke__slide:first-child { flex-basis: 468px; }
.sauna-bespoke__slide img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }

.sauna-bespoke__nav {
  position: absolute;
  right: 10px;
  bottom: 25px;
  display: flex;
  gap: 41px;
  color: var(--c-white);
}
.sauna-bespoke__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 17px;
  transition: opacity var(--t-fast) var(--ease);
}
.sauna-bespoke__arrow .icon--chevron-right { width: 9px; height: 17px; }
.sauna-bespoke__arrow--prev { transform: scaleX(-1); }
.sauna-bespoke__arrow:disabled { opacity: 0.5; cursor: default; }

.sauna-bespoke__progress { display: none; }

/* ---------- Feature list, projects, CTA ---------- */
.sauna-environments { margin-top: 120px; }

.sauna-environments .feature-list__icon img {
  width: var(--icon-w, auto);
  height: auto;
  max-height: none;
}

.page-sauna .feature-list__item { padding-bottom: 29px; } /* +1 px лінія = 30 px у Figma */

.page-sauna .projects--plain { margin-top: 130px; }
.page-sauna .image-band--talk { margin-top: 130px; }

/* ---------- Tablet ---------- */
@media (max-width: 1240px) {
  .sauna-intro__text { margin-left: 0; }
  .sauna-collection__head { grid-template-columns: 1fr 1fr 1fr; }
  .sauna-bespoke__head { grid-template-columns: 1fr 1fr 1fr; column-gap: 30px; }
}

@media (min-width: 1241px) and (max-width: 1439px) {
  .sauna-collection__head { grid-template-columns: minmax(0, 600fr) minmax(0, 280fr) minmax(0, 280fr); }
  .sauna-bespoke__head { grid-template-columns: minmax(0, 387fr) minmax(0, 466fr) minmax(0, 387fr); column-gap: 20px; }
}

@media (max-width: 1023px) {
  .sauna-intro__inner { grid-template-columns: 300px minmax(0, 1fr); column-gap: 30px; }
  .sauna-bespoke__head { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .sauna-bespoke__stat { grid-column: 1 / -1; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sauna-collection__head { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; min-height: 0; }
  .sauna-collection__title { grid-column: 1 / -1; max-width: none; }
  .sauna-collection__text--1 { max-width: none; }
}

/* ---------- Mobile (390) ---------- */
@media (max-width: 767px) {
  .sauna-intro { margin-top: 70px; }
  .sauna-intro__inner { display: flex; flex-direction: column; }
  .sauna-intro__content { display: contents; }
  .sauna-intro__title { order: 1; max-width: 346px; }
  .sauna-intro__text { order: 2; max-width: none; margin: 30px 0 0; line-height: 15px; }
  .sauna-intro__text p:first-child { max-width: none; }
  .sauna-intro__text p + p { margin-top: 20px; }
  .sauna-intro__media { order: 3; width: 100%; height: 406px; margin-top: 40px; }

  .sauna-collection { margin-top: 70px; }

  .sauna-collection__head { display: block; min-height: 0; margin-top: 40px; }
  .sauna-collection__title { max-width: 346px; }
  .sauna-collection__text { max-width: none !important; font-size: 13px; line-height: 14px; }
  .sauna-collection__text--1 { margin-top: 30px; }
  .sauna-collection__text--2 { margin-top: 20px; }

  .sauna-collection__grid { grid-template-columns: minmax(0, 1fr); row-gap: 30px; margin-top: 40px; }
  .sauna-product__title { margin-top: 25px; font-size: 15px; }
  .sauna-product__text { max-width: none; min-height: 0; margin-top: 10px; }

  .sauna-collection__more { margin-top: 40px; }
  .sauna-collection__btn { height: 50px; }
  #marea .sauna-product__media { height: 295px; }
  #marea .sauna-product__media img { height: 100%; object-fit: cover; }

  .sauna-bespoke { margin-top: 73px; padding: 70px 0; }
  .sauna-bespoke__head { display: block; padding-inline: var(--gutter); }
  .sauna-bespoke__title { max-width: 330px; }
  .sauna-bespoke__text { max-width: none; margin-top: 30px; font-size: 13px; line-height: 14px; }
  .sauna-bespoke__text p:first-child { max-width: none; }
  .sauna-bespoke__text p + p { margin-top: 20px; }
  .sauna-bespoke__stat { margin-top: 30px; max-width: none; }
  .sauna-bespoke__stat .stat__value { max-width: none; }
  .sauna-bespoke__stat .stat__plus { margin-left: 5px; }
  .sauna-bespoke__stat .stat__unit { margin-left: 16px; }

  .sauna-bespoke__gallery { margin-top: 40px; }
  .sauna-bespoke__track {
    gap: 11px;
    padding-inline: var(--gutter);
    scroll-padding-inline: var(--gutter);
  }
  .sauna-bespoke__slide,
  .sauna-bespoke__slide:first-child { flex-basis: 331px; height: 402px; }

  .sauna-bespoke__nav { display: none; }

  .sauna-bespoke__progress {
    display: block;
    height: 5px;
    margin: 25px var(--gutter) 0;
    background: rgba(255, 255, 255, 0.3);
  }
  .sauna-bespoke__progress span {
    display: block;
    width: 47%;
    height: 100%;
    background: var(--c-line-form);
    transition: width 0.1s linear;
  }

  .sauna-environments { margin-top: 70px; }
  /* PNG-іконки з полями: масштаб ≈0.68 від desktop дає гліф 15–17 px (у Figma 44×44 / 15×17), центр на x ≈ 37 */
  .sauna-environments .feature-list__icon { justify-content: center; }
  .sauna-environments .feature-list__icon img { width: calc(var(--icon-w) * 0.68); max-height: none; }
  .page-sauna .feature-list__item { padding-bottom: 25px; }
  .sauna-environments .feature-list__text { max-width: 271px; }
  .sauna-environments .feature-list__item:nth-child(3) .feature-list__text { max-width: 278px; margin-right: -8px; } /* 6 рядків як у Figma */
  .sauna-environments .feature-list__item:nth-child(-n + 2) .feature-list__text { margin-top: 10px; }
  .sauna-environments .feature-list__item:nth-child(5) .feature-list__name { max-width: 191px; } /* перенос як у Figma */

  .page-sauna .projects--plain { margin-top: 69px; }
  .page-sauna .projects--plain .projects__slider { margin-top: 35px; }
  .page-sauna .projects__nav { margin-top: 25px; }
  .page-sauna .image-band--talk { margin-top: 70px; }
}

/* Вузькі телефони (<390): від'ємний margin з підгонки під 390 виводить текст за поле */
@media (max-width: 389px) {
  .sauna-environments .feature-list__item:nth-child(3) .feature-list__text { margin-right: 0; }
}

/* pages/snow-experience.css */
/* Ice & Snow (2600:755 / 2832:6308) */
.page-hero--snow-experience { --hero-title-min: 178px; } /* лід y = 482 */
.page-snow-experience .product-intro__title { max-width: 705px; }
.page-snow-experience .feature-list__name { max-width: 338px; }
@media (min-width: 768px) {
  .page-snow-experience .feature-list__item:nth-child(n+3) .feature-list__name { max-width: 213px; }
}
.page-hero--snow-experience .page-hero__title { max-width: 491px; }
.page-snow-experience .feature-list__title { max-width: 479px; }
@media (max-width: 767px) {
  .page-hero--snow-experience { --hero-title-min: 0; }
  .page-hero--snow-experience .page-hero__title { max-width: 330px; }
  .page-snow-experience .feature-list__title { max-width: 250px; }
}
@media (min-width: 768px) {
  .page-snow-experience .feature-list__item:nth-child(1) .feature-list__text { max-width: 590px; }
  .page-snow-experience .feature-list__item:nth-child(2) .feature-list__text { max-width: 554px; }
  .page-snow-experience .feature-list__item:nth-child(3) .feature-list__text { max-width: 577px; }
  .page-snow-experience .feature-list__item:nth-child(4) .feature-list__text { max-width: 592px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero--snow-experience { --hero-title-min: 0; }
}

/* pages/steam-room.css */
/* Steam Rooms (2600:2364 / 2832:6115) */
.page-hero--steam-room { --hero-title-min: 286px; }      /* лід y = 590 */
.page-steam-room .product-intro__text { max-width: 480px; }
.page-steam-room .feature-list { --fl-name-x: 320px; }   /* назви з x = 420 */
.page-hero--steam-room .page-hero__title { max-width: 495px; }
.page-hero--steam-room .page-hero__lead { max-width: 450px; }
.page-steam-room .feature-list__title { max-width: 558px; }
@media (max-width: 767px) {
  .page-hero--steam-room { --hero-title-min: 0; }
  .page-hero--steam-room .page-hero__title { max-width: 330px; }
  .page-steam-room .feature-list__title { max-width: 250px; }
  .page-steam-room .feature-list__item:first-child .feature-list__name { max-width: 192px; }
}
/* ширини назв/текстів пунктів — з Figma (переноси як у макеті) */
@media (min-width: 768px) {
  .page-steam-room .feature-list__item:nth-child(1) .feature-list__name { max-width: 253px; }
  .page-steam-room .feature-list__item:nth-child(2) .feature-list__name { max-width: 227px; }
  .page-steam-room .feature-list__item:nth-child(4) .feature-list__name,
  .page-steam-room .feature-list__item:nth-child(7) .feature-list__name { max-width: 191px; }
  .page-steam-room .feature-list__item:nth-child(6) .feature-list__name { max-width: 182px; }
  .page-steam-room .feature-list__item:nth-child(1) .feature-list__text,
  .page-steam-room .feature-list__item:nth-child(3) .feature-list__text { max-width: 555px; }
  .page-steam-room .feature-list__item:nth-child(2) .feature-list__text { max-width: 568px; }
  .page-steam-room .feature-list__item:nth-child(4) .feature-list__text { max-width: 586px; }
  .page-steam-room .feature-list__item:nth-child(5) .feature-list__text { max-width: 571px; }
  .page-steam-room .feature-list__item:nth-child(6) .feature-list__text { max-width: 557px; }
  .page-steam-room .feature-list__item:nth-child(7) .feature-list__text { max-width: 602px; }
}
@media (min-width: 768px) {
  .page-steam-room .product-intro__text p:first-child { max-width: 463px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero--steam-room { --hero-title-min: 0; }
}

/* pages/thank-you.css */
/* ==========================================================================
   Thank You (після відправки форми). Desktop 1440: іконка y=200, H1 y=265, підзаголовок y=405,
   текст y=479, кнопка y=613, футер (сірий) з y=832. Mobile 390: іконка y=158, футер з y=686.
   ========================================================================== */

.thank-you { padding: 127px 0 178px; text-align: center; }
.thank-you__inner { display: flex; flex-direction: column; align-items: center; }

.thank-you__icon { display: block; width: 28px; height: 28px; color: var(--c-black); }
.thank-you__icon .icon--check-circle { width: 28px; height: 28px; }

.thank-you__title { max-width: 620px; margin-top: 36px; line-height: 0.97; }

.thank-you__subtitle {
  margin-top: 23px;
  font-weight: var(--fw-regular);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.thank-you__text { max-width: 520px; margin-top: 55px; line-height: 1.1; }

.thank-you__btn { margin-top: 82px; }

/* футер на цій сторінці — на світло-сірому фоні */
.page-thank-you .site-footer { padding-top: 34px; background: #f7f6f4; }

@media (max-width: 767px) {
  .thank-you { padding: 87px 0 143px; }
  .thank-you__icon,
  .thank-you__icon .icon--check-circle { width: 21px; height: 21px; }
  .thank-you__title { max-width: 330px; margin-top: 47px; line-height: 0.86; }
  .thank-you__subtitle { margin-top: 9px; font-size: 15px; }
  .thank-you__text { max-width: 520px; margin-top: 41px; line-height: 15px; }
  .thank-you__btn { width: 100%; margin-top: 80px; }
  .page-thank-you .site-footer { padding-top: 22px; }
}

/* pages/treatment-rooms.css */
/* Treatment Rooms (2600:1058 / 2832:6659) — спільні стилі: pages/product-template-c.css */
.page-treatment-rooms {
  --pc-hero-title-min: 252px;      /* лід y = 556 */
  --pc-intro-text-w: 518px;       /* у макеті 512, але «everything» у 2-му абзаці там ледь влазить */
  --pc-features-gap: 17px;         /* перший рядок на 47 px нижче заголовка (Pools/Hot Tubs — 71) */
  --pc-projects-title-w: 665px;
}
@media (min-width: 768px) {
  /* у макеті пункт 4 (2 рядки тексту) має той самий крок 114 px, що й пункти з 3 рядками */
  .page-treatment-rooms .feature-list__item:nth-child(4) { padding-bottom: 39px; }
  .page-treatment-rooms .feature-list__item:nth-child(2) .feature-list__text { max-width: 495px; }
}
@media (max-width: 767px) {
  .page-treatment-rooms .page-hero__lead { max-width: 315px; }   /* переноси як у макеті */
}
