/* Главная 2026 (шаблон home26). Префикс hm26- у всех классов, чтобы не ловить легаси style.css.
   Значения — канон брендбука: акцент #FE5D26, чернила #312D2B, Inter 400/500/600,
   контейнер 1297, ритм секций 48/24, карточка r24, кнопки 48/40/32 r12, поле 48 кегль 16. */

/* Comfortaa — свои файлы, без Google Fonts: на деве внешний <link> не подхватывался
   и кириллица валилась в системный фолбэк (та же история, что с Inter). Inter уже
   объявлен глобальным CSS сайта, поэтому здесь только заголовочный шрифт. */
@font-face{font-family:"Comfortaa";font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/comfortaa/comfortaa-cyrillic.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Comfortaa";font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/comfortaa/comfortaa-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root {
  --hm26-accent: #FE5D26;
  --hm26-accent-hover: #D95427;
  --hm26-ink: #312D2B;
  --hm26-text: #272F3D;
  --hm26-muted: rgba(49, 45, 43, .5);
  --hm26-faint: rgba(49, 45, 43, .2);
  --hm26-line: rgba(49, 45, 43, .1);
  --hm26-bg: #F6F6F6;
  --hm26-peach: #FFEFEA;
  --hm26-white: #fff;
  --hm26-shadow: 0 1px 4px 0 rgba(49, 45, 43, .08);
  --hm26-shadow-hover: 0 8px 24px rgba(49, 45, 43, .1);
  --hm26-radius: 24px;
  --hm26-radius-img: 16px;
}



.hm26 * { box-sizing: border-box; }



.hm26 {
  font-family: Inter, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: var(--hm26-text);
  background: var(--hm26-bg);
}
/* Клиренс под шапкой — margin, и до того, как js/hdr26.js измерит её высоту,
   запасная --hdr26-h не совпадает с реальной: под шапкой мелькает белая полоса
   холста. Красим подложку тем же серым, что и страница. */
body:has(main.hm26) { background: var(--hm26-bg); }

.hm26 h1, .hm26 h2, .hm26 h3 { margin: 0; color: var(--hm26-ink); font-weight: 500; }
.hm26 h1, .hm26 h2, .hm26 .hm26-kit__name {
  font-family: Comfortaa, Inter, -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  letter-spacing: -.01em;
}
.hm26 .hm26-mark { color: var(--hm26-accent); }
.hm26 p { margin: 0; }
.hm26 ul { margin: 0; padding: 0; list-style: none; }
.hm26 a { color: inherit; text-decoration: none; }
.hm26 img { max-width: 100%; display: block; }
.hm26 :focus-visible { outline: 2px solid var(--hm26-accent); outline-offset: 2px; border-radius: 4px; }

.hm26-container { max-width: 1327px; margin: 0 auto; padding: 0 15px; }
.hm26-section { padding: 20px 0; }
.hm26-section--tight { padding: 12px 0 24px; }

/* ── заголовки секций ─────────────────────── */
.hm26-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.hm26-head h2 { font-size: 26px; line-height: 34px; }
.hm26 .hm26-head__link { font-size: 14px; line-height: 20px; color: var(--hm26-accent); white-space: nowrap; }

/* ── ссылки со стрелкой ───────────────────── */
/* стрелка нарисована псевдоэлементом, чтобы уезжать вправо отдельно от текста */
.hm26-arrowlink::after,
.hm26-head__link::after,
.hm26-team__link::after,
.hm26-salerow__link::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  transition: transform .2s ease;
}
.hm26-head__link, .hm26-team__link, .hm26-salerow__link { position: relative; }
.hm26-head__link::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
@media (hover: hover) {
  .hm26-head__link:hover::after,
  .hm26-team__link:hover::after,
  .hm26-card:hover .hm26-salerow__link::after,
  .hm26-salerow:hover .hm26-salerow__link::after { transform: translateX(5px); }
  .hm26-head__link:hover::before { transform: scaleX(1); }
  .hm26-arrowlink:hover::after { transform: translateX(5px); }
  .hm26 .hm26-team__link:hover { text-decoration-color: var(--hm26-accent); }
}
.hm26 .hm26-lead { font-size: 16px; line-height: 24px; color: var(--hm26-muted); margin-bottom: 24px; max-width: 62ch; }

/* ── кнопки ───────────────────────────────── */
.hm26-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 28px;
  border-radius: 12px;
  border: 1px solid transparent;
  font: 500 16px/24px Inter, sans-serif;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.hm26 .hm26-btn--primary { background: var(--hm26-accent); color: #fff; }
.hm26 .hm26-btn--primary:hover { background: var(--hm26-accent-hover); }
.hm26 .hm26-btn--ghost { background: #fff; color: var(--hm26-ink); border-color: var(--hm26-line); }
.hm26 .hm26-btn--ghost:hover { border-color: var(--hm26-accent); color: var(--hm26-accent); }
.hm26 .hm26-btn--soft { background: var(--hm26-peach); color: var(--hm26-accent-hover); }
.hm26-btn--m { height: 40px; padding: 0 20px; font-size: 14px; line-height: 20px; }
.hm26-btn--wide { width: 100%; }
.hm26-btn[hidden] { display: none; }


/* ── 01 герой ─────────────────────────────── */
.hm26-hero {
  position: relative;
  border-radius: var(--hm26-radius);
  overflow: hidden;
  margin-top: 12px;
  isolation: isolate;
}
.hm26-hero__media { position: absolute; inset: 0; z-index: -2; }
.hm26-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hm26-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .8s ease;
}
.hm26-hero__video.is-on { opacity: 1; }
.hm26-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(49, 45, 43, .45) 0%, rgba(49, 45, 43, .62) 45%, rgba(49, 45, 43, .85) 100%);
}
.hm26-hero__inner { padding: 28px 16px 22px; color: #fff; }
.hm26-hero h1 { color: #fff; font-size: 32px; line-height: 38px; letter-spacing: -.01em; }
.hm26-hero h1 .hm26-mark { white-space: nowrap; }
.hm26 .hm26-hero__sub { margin-top: 12px; font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .85); max-width: 46ch; }

.hm26-heroform {
  margin-top: 24px;
  background: rgba(49, 45, 43, .32);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .2);
  box-shadow: 0 20px 50px rgba(24, 20, 18, .3);
  color: #fff;
  border-radius: var(--hm26-radius);
  padding: 20px 18px;
}
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .hm26-heroform { background: rgba(35, 31, 29, .82); }
}
.hm26-heroform__t { font-size: 22px; line-height: 30px; font-weight: 500; color: #fff; }
.hm26 .hm26-heroform__sub { margin-top: 6px; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .72); }
.hm26-heroform .hm26-field label { color: rgba(255, 255, 255, .78); }
.hm26-heroform .hm26-field input { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .24); color: #fff; }
.hm26-heroform .hm26-field input::placeholder { color: rgba(255, 255, 255, .45); }
.hm26-heroform .hm26-field input:focus { background: rgba(255, 255, 255, .14); border-color: var(--hm26-accent); box-shadow: 0 0 0 2px rgba(254, 93, 38, .3); }
.hm26-heroform .hm26-heroform__btn { width: 100%; margin-top: 16px; }
.hm26-heroform .hm26-agree { color: rgba(255, 255, 255, .66); }
.hm26-heroform .hm26-agree input { accent-color: var(--hm26-accent); }
.hm26 .hm26-heroform .hm26-agree a { color: #fff; }
.hm26-heroform__alt { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, .66); }
.hm26 .hm26-heroform__alt a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.hm26-heroform__done { display: none; }
.hm26-heroform.is-done .hm26-heroform__done { display: block; }
.hm26-heroform.is-done .hm26-heroform__body { display: none; }

.hm26-trust {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .2);
}
.hm26-trust__item { color: #fff; }
.hm26-trust__num { display: block; font-size: 22px; line-height: 30px; font-weight: 500; }
.hm26-trust__lbl { font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, .7); }

/* ── 02 категории ─────────────────────────── */
.hm26-cats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.hm26-cat {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: var(--hm26-shadow);
  display: grid;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  align-items: start;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hm26-cat:hover { transform: translateY(-4px); box-shadow: var(--hm26-shadow-hover); }
.hm26-cat__icon { width: 32px; height: 32px; object-fit: contain; border-radius: 10px; grid-row: 1 / 3; }
.hm26 .hm26-cat__name { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--hm26-ink); }
.hm26-cat__meta { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 12px; line-height: 16px; color: var(--hm26-muted); }
.hm26-cat__price { color: var(--hm26-ink); font-weight: 500; }
.hm26-cats-rest { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.hm26-cats-rest a {
  font-size: 14px;
  line-height: 20px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--hm26-line);
  color: var(--hm26-ink);
}
.hm26-cats-rest a:hover { border-color: var(--hm26-accent); color: var(--hm26-accent); }

/* ── 03 сезон ─────────────────────────────── */
.hm26-season {
  background: var(--hm26-ink);
  border-radius: var(--hm26-radius);
  overflow: hidden;
  color: #fff;
  display: grid;
}
/* высоту блока задаёт картинка справа, поэтому текст центрируем по вертикали —
   иначе он висит вверху, а снизу остаётся пустое поле */
.hm26-season__body { padding: 20px 16px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.hm26-season__label {
  display: inline-block;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  background: var(--hm26-accent);
  padding: 5px 10px;
  border-radius: 999px;
}
.hm26-season h2 { color: #fff; font-size: 24px; line-height: 32px; margin-top: 14px; }
.hm26-season p { margin-top: 10px; color: rgba(255, 255, 255, .8); }
.hm26-season__price { margin-top: 14px; font-size: 24px; line-height: 30px; font-weight: 500; color: #fff; }
.hm26-season__actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px; }

/* ── 04 хиты ──────────────────────────────── */
.hm26-scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 74%;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  margin: 0 -15px;
  padding-left: 15px;
  padding-right: 15px;
  scrollbar-width: none;
}
.hm26-scroller::-webkit-scrollbar { display: none; }
/* у ленты с overflow-x браузер включает и вертикальную прокрутку — при
   наведении внутри карточек появлялся свой скролл */
.hm26-scroller, .hm26-kits, .hm26-terms, .hm26-reviews__track, .hm26-cats-rest { overflow-y: hidden; }
.hm26-scroller > * { scroll-snap-align: start; }

.hm26-card {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius);
  box-shadow: var(--hm26-shadow);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hm26-card[hidden] { display: none; }
.hm26-card:hover { transform: translateY(-4px); box-shadow: var(--hm26-shadow-hover); }
.hm26-card__img {
  border-radius: var(--hm26-radius-img);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--hm26-bg);
}
.hm26-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.hm26-card:hover .hm26-card__img img { transform: scale(1.04); }
.hm26 .hm26-card__title { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--hm26-ink); }
.hm26-card__price { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--hm26-ink); }
.hm26-card__price small { font-weight: 400; color: var(--hm26-muted); font-size: 13px; }
.hm26-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* кнопка живёт внутри ссылки-карточки, поэтому курсор и состояние задаём ей сами */
.hm26 [data-hm26-cart] { cursor: pointer; }
.hm26 [data-hm26-cart].is-in { background: var(--hm26-accent); color: #fff; }
.hm26 [data-hm26-cart].is-busy { opacity: .6; }

/* ── 05 комплекты ─────────────────────────── */
.hm26-kits {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 82%;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  margin: 0 -15px;
  padding: 0 15px 8px;
  scrollbar-width: none;
}
.hm26-kits::-webkit-scrollbar { display: none; }
.hm26-kits > * { scroll-snap-align: start; }
.hm26-kit {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius);
  box-shadow: var(--hm26-shadow);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hm26-kit__cover {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: var(--hm26-radius-img);
  padding: 14px;
  display: flex;
  align-items: flex-end;
}
.hm26-kit__cover--s { background: #E8873C; }
.hm26-kit__cover--m { background: #B96AA6; }
.hm26-kit__cover--l { background: #3E6FA8; }
.hm26-kit__pic { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.hm26-kit__cover::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(102deg, rgba(35, 28, 25, .66) 0%, rgba(35, 28, 25, .42) 38%, rgba(35, 28, 25, .06) 68%),
              linear-gradient(0deg, rgba(35, 28, 25, .45) 0%, rgba(35, 28, 25, 0) 45%);
}
.hm26-kit__label {
  position: absolute; top: 14px; left: 14px;
  font-size: 12px; line-height: 16px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .85);
}
.hm26 .hm26-kit__name { color: #fff; font-size: 28px; line-height: 32px; letter-spacing: -.02em; text-shadow: 0 2px 20px rgba(49, 45, 43, .28); }
.hm26-kit__tag {
  position: absolute; top: 12px; right: 12px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(39, 32, 30, .3); border: 1px solid rgba(255, 255, 255, .24);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  color: #fff; font-size: 15px; line-height: 20px; font-weight: 500; white-space: nowrap;
}
.hm26-kit__cap { font-size: 13px; line-height: 18px; color: var(--hm26-muted); }
.hm26-kit ul { display: grid; gap: 6px; }
.hm26-kit li { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 20px; border-bottom: 1px dashed var(--hm26-line); padding-bottom: 6px; }
.hm26-kit li span { color: var(--hm26-muted); white-space: nowrap; }
.hm26-kit li .hm26-kit__n { flex: 1; min-width: 0; color: var(--hm26-ink); white-space: normal; }
.hm26-kit__i {
  flex: none; width: 18px; height: 18px;
  fill: none; stroke: var(--hm26-accent); stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
  opacity: .75; transition: opacity .2s ease, transform .2s ease;
}
.hm26-kit:hover .hm26-kit__i { opacity: 1; }
.hm26-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.hm26-kit .hm26-btn--wide { margin-top: auto; }

.hm26-kit { transition: transform .3s ease, box-shadow .3s ease; }
.hm26-kit:hover { transform: translateY(-4px); box-shadow: var(--hm26-shadow-hover); }
/* will-change держит слой картинки: без него Chrome на старте ховера успевает нарисовать её без скругления родителя */
.hm26-kit__pic { transition: transform .6s ease; will-change: transform; }
.hm26-kit:hover .hm26-kit__pic { transform: scale(1.05); }
.hm26-kits.is-ready .hm26-kit { opacity: 0; translate: 0 20px; transition: opacity .5s ease, translate .5s ease, transform .3s ease, box-shadow .3s ease; }
.hm26-kits.is-ready .hm26-kit.is-in { opacity: 1; translate: 0; }
.hm26-kits.is-ready .hm26-kit:nth-child(2) { transition-delay: .1s; }
.hm26-kits.is-ready .hm26-kit:nth-child(3) { transition-delay: .2s; }

/* ── 06 акции ─────────────────────────────── */
.hm26-sales { display: grid; gap: 12px; }
.hm26-sale {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  min-height: 320px;
  padding: 20px;
  border-radius: var(--hm26-radius);
}
.hm26-sale img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hm26-sale::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(49, 45, 43, 0) 0%, rgba(49, 45, 43, .3) 48%, rgba(49, 45, 43, .78) 100%);
}
.hm26-sale__badge {
  position: absolute; top: 16px; left: 16px; z-index: 1;
  padding: 6px 12px; border-radius: 999px;
  background: var(--hm26-accent); color: #fff;
  font-size: 13px; line-height: 18px; font-weight: 500;
}
.hm26-sale__body { color: #fff; }
.hm26-sale__fig { font-size: 52px; line-height: 56px; font-weight: 500; letter-spacing: -.03em; }
.hm26-sale__title { margin-top: 4px; font-size: 20px; line-height: 28px; font-weight: 500; }
.hm26 .hm26-sale__text { margin-top: 8px; max-width: 460px; font-size: 15px; line-height: 22px; color: rgba(255, 255, 255, .85); }
.hm26-sale .hm26-btn { margin-top: 16px; }
.hm26-salerow {
  display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 16px;
  background: #fff; border: 1px solid var(--hm26-line); border-radius: var(--hm26-radius);
  box-shadow: var(--hm26-shadow); padding: 16px;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.hm26-salerow:hover { box-shadow: var(--hm26-shadow-hover); border-color: var(--hm26-faint); }
.hm26-salerow__fig {
  display: flex; align-items: center; justify-content: center;
  height: 92px; border-radius: var(--hm26-radius-img); background: var(--hm26-peach);
  color: var(--hm26-accent); font-size: 26px; line-height: 32px; font-weight: 500; letter-spacing: -.02em;
}
.hm26-salerow--nofig { grid-template-columns: 1fr; }
.hm26-salerow__title { display: block; font-size: 17px; line-height: 24px; font-weight: 500; color: var(--hm26-ink); }
.hm26-salerow__text {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
  margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--hm26-muted);
}
.hm26 .hm26-salerow__link { display: inline-block; margin-top: 8px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--hm26-accent); }

/* ── 07 подбор ────────────────────────────── */
.hm26-quiz {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius);
  box-shadow: var(--hm26-shadow);
  padding: 20px 16px;
}
.hm26-quiz__progress { display: flex; gap: 6px; margin-bottom: 18px; }
.hm26-quiz__progress i { flex: 1; height: 4px; border-radius: 2px; background: var(--hm26-line); }
.hm26-quiz__progress i.is-done { background: var(--hm26-accent); }
.hm26-quiz__step { display: none; }
.hm26-quiz__step.is-active { display: block; }
.hm26-quiz__q { font-size: 20px; line-height: 28px; font-weight: 500; color: var(--hm26-ink); }
.hm26 .hm26-quiz__hint { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--hm26-muted); }
.hm26-opts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 16px; }
.hm26-opt {
  border: 1px solid var(--hm26-line);
  background: #fff;
  border-radius: 12px;
  padding: 14px 12px;
  font: 400 15px/22px Inter, sans-serif;
  color: var(--hm26-ink);
  cursor: pointer;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: border-color .2s ease, background .2s ease;
}
.hm26-opt svg { flex: none; width: 20px; height: 20px; color: var(--hm26-accent); }
.hm26-opt:hover { border-color: var(--hm26-accent); }
.hm26-opt.is-picked { border-color: var(--hm26-accent); background: var(--hm26-peach); box-shadow: 0 0 0 2px rgba(254, 93, 38, .16); }
.hm26-quiz__nav { display: flex; align-items: center; gap: 12px; margin-top: 18px; }

/* крупная опция: иконка, название, строка-пояснение */
.hm26-opts--wide { grid-template-columns: 1fr; gap: 10px; }
.hm26-opt2 {
  font-family: inherit;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  text-align: left;
  padding: 15px;
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 16px;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.hm26-opt2:hover { border-color: var(--hm26-accent); box-shadow: var(--hm26-shadow-hover); transform: translateY(-2px); }
.hm26-opt2.is-picked { border-color: var(--hm26-accent); background: var(--hm26-peach); }
.hm26-opt2__ico {
  display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--hm26-peach); color: var(--hm26-accent);
}
.hm26-opt2__ico svg { width: 24px; height: 24px; }
.hm26-opt2.is-picked .hm26-opt2__ico { background: var(--hm26-accent); color: #fff; }
.hm26-opt2__name { display: block; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--hm26-ink); }
.hm26-opt2__note { display: block; margin-top: 2px; font-size: 13px; line-height: 19px; color: var(--hm26-muted); }

/* сводка справа */
.hm26-quiz__cols { display: grid; gap: 16px; align-items: start; }
.hm26-sum { background: var(--hm26-ink); color: #fff; border-radius: var(--hm26-radius); padding: 20px; }
.hm26-sum__t { font-size: 17px; line-height: 24px; font-weight: 500; }
.hm26 .hm26-sum__note { margin-top: 4px; font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, .6); }
.hm26-sum__list { margin-top: 16px; display: grid; gap: 1px; background: rgba(255, 255, 255, .12); border-radius: 12px; overflow: hidden; }
.hm26-sum__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 11px 14px; background: #3a3533; font-size: 14px; line-height: 20px; }
.hm26-sum__row > span { color: rgba(255, 255, 255, .55); white-space: nowrap; }
.hm26-sum__row b { font-weight: 500; text-align: right; }
.hm26-sum__row.is-empty b { color: rgba(255, 255, 255, .3); font-weight: 400; }
.hm26-sum__send { width: 100%; margin-top: 16px; }
.hm26 .hm26-sum__send[disabled] { background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .4); cursor: default; }

.hm26-quiz__back { background: none; border: none; color: var(--hm26-muted); font: 400 14px/20px Inter, sans-serif; cursor: pointer; padding: 0; }
.hm26-field { display: grid; gap: 6px; margin-top: 12px; }
.hm26-field label { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--hm26-muted); }
.hm26-field input {
  height: 48px;
  border-radius: 10px;
  border: 1px solid var(--hm26-line);
  padding: 12px 14px;
  font: 400 16px/24px Inter, sans-serif;
  color: var(--hm26-ink);
  background: #fff;
}
.hm26-field input:focus { outline: none; border-color: var(--hm26-accent); box-shadow: 0 0 0 2px rgba(254, 93, 38, .16); }
.hm26-agree { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; font-size: 13px; line-height: 18px; color: var(--hm26-muted); }
.hm26-agree input { width: 16px; height: 16px; border-radius: 4px; margin-top: 1px; flex: none; }
.hm26-quiz__done { display: none; }
.hm26-quiz.is-done .hm26-quiz__done { display: block; }
.hm26-quiz.is-done .hm26-quiz__body, .hm26-quiz.is-done .hm26-quiz__progress { display: none; }

/* ── 08 кейсы ─────────────────────────────── */
.hm26-filters { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 14px; scrollbar-width: none; }
.hm26-filters::-webkit-scrollbar { display: none; }
.hm26-filter {
  flex: none;
  height: 32px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--hm26-line);
  background: #fff;
  font: 500 14px/20px Inter, sans-serif;
  color: var(--hm26-ink);
  cursor: pointer;
}
.hm26-filter.is-active { background: var(--hm26-ink); color: #fff; border-color: var(--hm26-ink); }
.hm26-case__img { aspect-ratio: 16 / 9; }
.hm26-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hm26-chip {
  font-size: 12px;
  line-height: 16px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--hm26-bg);
  color: var(--hm26-ink);
}
.hm26-chip--money { background: var(--hm26-peach); color: var(--hm26-accent-hover); font-weight: 500; }

/* ── 09 клиенты и отзывы ──────────────────── */
.hm26-head--aside { flex-wrap: wrap; }
.hm26-head__side { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
/* пара ссылок подряд: стрелка одна, на последней — две выглядят нелепо */
.hm26-head__side--links { gap: 8px; }
.hm26 .hm26-head__link--plain::after { content: none; }
.hm26-head__sep { color: var(--hm26-faint); }
.hm26-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 999px;
  padding: 7px 14px;
  box-shadow: var(--hm26-shadow);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.hm26-rating:hover { border-color: var(--hm26-accent); box-shadow: var(--hm26-shadow-hover); }
.hm26-rating__score { font-size: 18px; line-height: 24px; font-weight: 500; color: var(--hm26-ink); }
.hm26-rating .hm26-stars { font-size: 13px; }
.hm26-rating__body { font-size: 13px; line-height: 18px; color: var(--hm26-muted); white-space: nowrap; }

.hm26-logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 16px; }
.hm26-logo {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 14px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.hm26-logo img { max-height: 24px; width: auto; object-fit: contain; }

.hm26-reviews { position: relative; }
.hm26-reviews__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 84%;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  margin: 0 -15px;
  padding: 0 15px 8px;
  scrollbar-width: none;
}
.hm26-reviews__track::-webkit-scrollbar { display: none; }
.hm26-reviews__track > * { scroll-snap-align: start; }
.hm26-reviews__nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.hm26-arrow {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 12px;
  color: var(--hm26-ink);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}
.hm26-arrow svg { width: 20px; height: 20px; }
.hm26-arrow:hover { border-color: var(--hm26-accent); color: var(--hm26-accent); }
.hm26-arrow[disabled] { opacity: .35; cursor: default; border-color: var(--hm26-line); color: var(--hm26-ink); }
.hm26-review { gap: 10px; }
.hm26-review__text { font-size: 15px; line-height: 23px; color: var(--hm26-text); }
.hm26-review__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 18px; color: var(--hm26-muted); }
.hm26-review__name { color: var(--hm26-ink); font-weight: 500; font-size: 15px; }
.hm26-stars { color: var(--hm26-accent); letter-spacing: 2px; font-size: 14px; }

/* ── 10 условия ───────────────────────────── */
.hm26-terms { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.hm26-term {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 36px 1fr;
  column-gap: 10px;
  align-items: start;
}
.hm26-term .hm26-term__ico {
  grid-row: 1 / 3;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; margin: 0;
  border-radius: 12px; background: var(--hm26-peach); color: var(--hm26-accent);
}
.hm26-term .hm26-term__ico svg { width: 20px; height: 20px; }
.hm26-term b { display: block; font-weight: 500; color: var(--hm26-ink); font-size: 14px; line-height: 20px; }
.hm26-term span { display: block; margin-top: 4px; font-size: 13px; line-height: 18px; color: var(--hm26-muted); }
.hm26-geo {
  margin-top: 12px;
  display: grid;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius);
  box-shadow: var(--hm26-shadow);
  padding: 16px;
  overflow: hidden;
}
.hm26-geo__ico {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin-bottom: 12px; border-radius: 12px;
  background: var(--hm26-peach); color: var(--hm26-accent);
}
.hm26-geo__ico svg { width: 22px; height: 22px; }
.hm26-geo b { display: block; color: var(--hm26-ink); font-weight: 500; font-size: 18px; line-height: 26px; }
.hm26-geo p { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--hm26-muted); }
.hm26-geo__list { margin-top: 14px; display: grid; gap: 8px; }
.hm26-geo__list li {
  position: relative; padding-left: 26px;
  font-size: 14px; line-height: 20px; color: var(--hm26-text);
}
.hm26-geo__list li::before {
  content: ""; position: absolute; left: 0; top: 3px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--hm26-peach) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FE5D26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
}
.hm26-geo__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.hm26-geo__media { border-radius: var(--hm26-radius-img); overflow: hidden; }
.hm26-geo__media img { width: 100%; height: 100%; object-fit: cover; }

/* ── 11 о компании ────────────────────────── */
.hm26-about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--hm26-radius);
  padding: 24px 18px;
  min-height: 380px;
  color: #fff;
  display: grid;
  gap: 18px;
  align-content: end;
}
/* только прямой потомок — иначе правило накрывает аватарки команды */
.hm26-about > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hm26-about::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(49, 45, 43, .2) 0%, rgba(49, 45, 43, .62) 38%, rgba(49, 45, 43, .88) 68%, rgba(49, 45, 43, .95) 100%);
}
.hm26 .hm26-about h3 { color: #fff; font-family: Comfortaa, Inter, sans-serif; font-weight: 600; font-size: 26px; line-height: 34px; }
.hm26 .hm26-about__text { margin-top: 10px; font-size: 15px; line-height: 23px; color: rgba(255, 255, 255, .85); max-width: 62ch; }
.hm26-about__figs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hm26-about__fig {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.hm26-about__fig b { display: block; font-size: 22px; line-height: 30px; font-weight: 500; color: #fff; }
.hm26-about__fig span { font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, .7); }

/* команда: стопка аватарок, по наведению разъезжается */
.hm26-team {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .2);
}
.hm26-team__stack { display: flex; flex: none; }
.hm26-ava {
  position: relative;
  flex: none;
  width: 46px;
  height: 46px;
  margin-left: -14px;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  overflow: hidden;
  background: var(--hm26-peach);
  box-shadow: 0 2px 10px rgba(20, 16, 14, .45);
  cursor: pointer;
  transition: margin .25s ease, transform .25s ease, border-color .25s ease;
}
.hm26-ava:first-child { margin-left: 0; }
.hm26-ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
  transform: scale(1.75);
  transform-origin: 50% 15%;
  filter: grayscale(1) contrast(1.06);
  transition: filter .25s ease;
}
.hm26-team__text {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, .8);
  max-width: 52ch;
  min-height: 62px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hm26-team__text b { display: block; color: #fff; font-weight: 500; font-size: 15px; line-height: 22px; }
.hm26 .hm26-team__link { margin-left: auto; color: #fff; font-size: 14px; line-height: 20px; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

@media (hover: hover) and (min-width: 768px) {
  .hm26-slider:hover .hm26-slider__nav { opacity: 1; }
  .hm26-slider__nav:hover { background: #fff; }
  /* зазор справа от стопки — под вылет крайней аватарки на 13px */
  .hm26-team { column-gap: 30px; }
  /* соседи разъезжаются от наведённой: всё, что правее, уходит вправо, всё левее — влево.
     Двигаем transform-ом, поэтому ширина стопки не меняется и текст рядом стоит на месте. */
  .hm26-ava:hover ~ .hm26-ava,
  .hm26-ava:focus-visible ~ .hm26-ava { transform: translateX(13px); }
  .hm26-ava:has(~ .hm26-ava:hover),
  .hm26-ava:has(~ .hm26-ava:focus-visible) { transform: translateX(-13px); }
  .hm26-ava:hover, .hm26-ava:focus-visible { transform: scale(1.25); border-color: var(--hm26-accent); z-index: 2; }
  .hm26-ava:hover img, .hm26-ava:focus-visible img { filter: none; }
}

/* ── 11b площадка «Атриум» ────────────────── */
.hm26-offer {
  margin-top: 12px;
  position: relative;
  overflow: hidden;
  border-radius: var(--hm26-radius);
  color: #fff;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .1) 0 2px, transparent 2px 15px),
    linear-gradient(125deg, #FFB98A 0%, #FE8347 38%, #F4541B 100%);
}
.hm26-offer__in { padding: 22px 20px; display: grid; gap: 14px; align-items: center; }
.hm26-offer__t { font-family: Comfortaa, Inter, sans-serif; font-weight: 600; font-size: 22px; line-height: 30px; }
.hm26-offer__d { font-size: 15px; line-height: 22px; color: rgba(255, 255, 255, .9); }
.hm26 .hm26-offer__btn { background: #fff; color: var(--hm26-accent-hover); border-color: #fff; justify-self: start; }
.hm26 .hm26-offer__btn:hover { background: rgba(255, 255, 255, .88); }
.hm26-offer__where {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .28);
}
.hm26-offer__addr { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .82); }
.hm26-offer__addr svg { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.hm26-offer__addr b { display: block; color: #fff; font-weight: 500; }
.hm26 .hm26-offer__plan { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.hm26 .hm26-offer__plan:hover { background: rgba(255, 255, 255, .14); border-color: #fff; }

.hm26-halls { display: grid; gap: 12px; margin-top: 12px; }
.hm26-hall {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius);
  overflow: hidden;
  box-shadow: var(--hm26-shadow);
  display: grid;
  grid-template-rows: auto 1fr;
}
.hm26-hall__body { padding: 18px; display: grid; gap: 6px; align-content: start; }
.hm26-hall__body b { font-size: 18px; line-height: 26px; font-weight: 500; color: var(--hm26-ink); }
.hm26-hall__body em { font-style: normal; font-size: 32px; line-height: 40px; font-weight: 500; color: var(--hm26-ink); }
.hm26-hall__body span { font-size: 14px; line-height: 21px; color: var(--hm26-muted); }

/* слайдер фото внутри карточки зала */
.hm26-slider { position: relative; aspect-ratio: 16 / 10; background: var(--hm26-bg); }
.hm26-slider__track {
  display: flex;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.hm26-slider__track::-webkit-scrollbar { display: none; }
.hm26-slider__track img { flex: none; width: 100%; height: 100%; object-fit: cover; scroll-snap-align: start; }
.hm26-slider__nav {
  position: absolute;
  top: 50%;
  margin-top: -18px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: var(--hm26-ink);
  box-shadow: 0 2px 10px rgba(20, 16, 14, .25);
  cursor: pointer;
  opacity: 0;
  transition: opacity .2s ease, background .2s ease;
}
.hm26-slider__nav svg { width: 18px; height: 18px; }
.hm26-slider__nav--prev { left: 10px; }
.hm26-slider__nav--next { right: 10px; }
.hm26-slider__nav[disabled] { display: none; }
.hm26-slider__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
  gap: 6px;
}
.hm26-slider__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  box-shadow: 0 1px 3px rgba(20, 16, 14, .35);
  transition: width .2s ease, background .2s ease;
}
.hm26-slider__dots i.is-on { width: 18px; border-radius: 3px; background: #fff; }

/* попап заявки с баннера «Атриума» */
.hm26-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(20, 16, 14, .55);
}
.hm26-modal[hidden] { display: none; }
.hm26-modal__win {
  position: relative;
  width: 100%;
  max-width: 420px;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  padding: 24px 20px;
  background: #fff;
  border-radius: var(--hm26-radius);
  box-shadow: 0 24px 60px rgba(20, 16, 14, .3);
}
.hm26-modal__x {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 7px;
  border: 0;
  border-radius: 50%;
  background: var(--hm26-bg);
  color: var(--hm26-muted);
  cursor: pointer;
}
.hm26-modal__x:hover { color: var(--hm26-ink); }
.hm26-modal__x svg { display: block; width: 100%; height: 100%; }
.hm26-modal__t {
  font-family: Comfortaa, Inter, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  color: var(--hm26-ink);
  padding-right: 32px;
}
.hm26 .hm26-modal__sub { margin-top: 8px; font-size: 14px; line-height: 20px; color: var(--hm26-muted); }
.hm26-modal__form .hm26-btn--wide { margin-top: 16px; }
.hm26-modal__done { display: none; }
.hm26-modal__form.is-done .hm26-modal__done { display: block; }
.hm26-modal__form.is-done .hm26-modal__body { display: none; }

/* ── 12 как проходит заказ ────────────────── */
.hm26-steps { background: var(--hm26-ink); border-radius: var(--hm26-radius); padding: 24px 20px; color: #fff; }
.hm26 .hm26-steps__head { margin: 0 0 20px; font-size: 26px; line-height: 34px; color: #fff; }
.hm26-steps__grid { display: grid; gap: 18px; }
.hm26-step { padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .16); }
.hm26-step__n { display: block; font-size: 26px; line-height: 32px; font-weight: 500; color: var(--hm26-accent); }
.hm26-step b { display: block; margin-top: 6px; font-weight: 500; font-size: 16px; line-height: 24px; color: #fff; }
.hm26-step p { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .7); }
.hm26-steps__cta { margin-top: 24px; }

/* ── 13 FAQ ───────────────────────────────── */
.hm26-faq-wrap { display: grid; gap: 16px; }
.hm26-faq { display: grid; gap: 8px; align-content: start; }
.hm26-ask {
  background: #fff; border: 1px solid var(--hm26-line);
  border-radius: var(--hm26-radius); box-shadow: var(--hm26-shadow); overflow: hidden;
}
.hm26-ask__cover {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 150px;
  padding: 18px;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(155deg, #FFB35C 0%, #FE5D26 58%, #C4341A 100%);
}
.hm26-ask__cover::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(115% 100% at 14% 2%, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, 0) 62%);
}
.hm26-ask__cover::after {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .16;
  background: repeating-linear-gradient(44deg, rgba(255, 255, 255, .7) 0 1px, rgba(255, 255, 255, 0) 1px 10px);
}
.hm26 .hm26-ask__title {
  font-family: Comfortaa, Inter, -apple-system, "Segoe UI", sans-serif;
  font-size: 22px; line-height: 30px; font-weight: 600; letter-spacing: -.02em;
  color: #fff; text-shadow: 0 2px 20px rgba(49, 45, 43, .28);
}
.hm26-ask__body { padding: 16px; }
.hm26 .hm26-ask p { font-size: 14px; line-height: 20px; color: var(--hm26-muted); }
.hm26 .hm26-ask__phone { display: block; margin-top: 14px; font-size: 22px; line-height: 30px; font-weight: 500; color: var(--hm26-ink); }
.hm26-ask .hm26-btn { margin-top: 12px; }
.hm26-faq details {
  background: #fff;
  border: 1px solid var(--hm26-line);
  border-radius: 16px;
  padding: 12px 14px;
}
.hm26-faq summary {
  list-style: none;
  cursor: pointer;
  font-size: 15px;
  line-height: 22px;
  font-weight: 500;
  color: var(--hm26-ink);
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.hm26-faq summary::-webkit-details-marker { display: none; }
.hm26-faq summary::after { content: "+"; color: var(--hm26-accent); font-size: 20px; line-height: 24px; flex: none; }
.hm26-faq details[open] summary::after { content: "–"; }
.hm26-faq p { margin-top: 10px; font-size: 15px; line-height: 23px; color: var(--hm26-text); }

/* ── 14 новости ───────────────────────────── */
.hm26-news__date { font-size: 13px; line-height: 18px; color: var(--hm26-muted); }

/* ── 15 SEO ───────────────────────────────── */
.hm26-seo { background: #fff; border-radius: var(--hm26-radius); padding: 20px 16px; border: 1px solid var(--hm26-line); }
/* над заголовком воздуха заметно больше, чем под ним — иначе он липнет
   к предыдущему абзацу и кажется его частью */
.hm26-seo h2 { font-size: 24px; line-height: 32px; margin-top: 36px; }
.hm26-seo h3 { font-size: 18px; line-height: 26px; font-weight: 600; margin-top: 28px; }
.hm26-seo h2 + p, .hm26-seo h3 + p,
.hm26-seo h2 + ul, .hm26-seo h3 + ul,
.hm26-seo h2 + ol, .hm26-seo h3 + ol { margin-top: 10px; }
.hm26-seo p { margin-top: 12px; font-size: 16px; line-height: 24px; }
.hm26-seo ul, .hm26-seo ol { margin-top: 12px; display: grid; gap: 6px; }
.hm26-seo li { padding-left: 20px; position: relative; font-size: 16px; line-height: 24px; }
/* текст приходит из редактора, там пункт бывает обёрнут в абзац — иначе
   маркер оказывается выше строки, а сам пункт уезжает вниз */
.hm26-seo li > p { margin: 0; }
.hm26-seo li::before { content: ""; position: absolute; left: 0; top: 11px; width: 8px; height: 2px; background: var(--hm26-accent); }
/* редактор оставляет pre-wrap и жёсткие ширины — длинные строки уезжали за карточку */
.hm26-seo__text, .hm26-seo__text * { white-space: normal; max-width: 100%; }
.hm26-seo__text { overflow-wrap: break-word; }
.hm26-seo__text table { display: block; overflow-x: auto; }
.hm26-seo__more { margin-top: 16px; }
.hm26-seo__text { position: relative; max-height: 210px; overflow: hidden; }
/* текст приходит из админки одним куском, поэтому режем по высоте */
.hm26-seo__text::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
}
.hm26-seo.is-open .hm26-seo__text { max-height: none; }
.hm26-seo.is-open .hm26-seo__text::after { display: none; }
.hm26-seo__text > *:first-child { margin-top: 0; }

/* ── 16 финальный CTA ─────────────────────── */
.hm26-final {
  background: var(--hm26-ink);
  border-radius: var(--hm26-radius);
  padding: 24px 16px;
  color: #fff;
}
.hm26-final h2 { color: #fff; font-size: 24px; line-height: 32px; }
.hm26-final p { margin-top: 10px; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 23px; }
.hm26 .hm26-final__phone { display: block; margin-top: 16px; font-size: 24px; line-height: 30px; font-weight: 500; color: #fff; }
.hm26-final__ways { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.hm26 .hm26-final__links { margin-top: 12px; font-size: 15px; line-height: 24px; color: rgba(255,255,255,.75); }
.hm26 .hm26-final__links a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); }
.hm26-final__form { margin-top: 18px; display: grid; gap: 8px; }
.hm26-final__form .hm26-field input { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); color: #fff; }
.hm26-final__form .hm26-field label { color: rgba(255, 255, 255, .6); }
.hm26-final .hm26-agree { color: rgba(255, 255, 255, .6); }

/* ── планшет ──────────────────────────────── */
@media (min-width: 768px) {
  .hm26-section { padding: 48px 0; }
  .hm26-head h2 { font-size: 36px; line-height: 44px; }
  .hm26-hero__inner { padding: 56px 40px 40px; }
  .hm26-hero h1 { font-size: 48px; line-height: 56px; }
  .hm26-heroform { max-width: 460px; padding: 24px; }
  .hm26-trust { grid-template-columns: repeat(4, 1fr); }
  .hm26-cats { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .hm26-scroller { grid-auto-columns: 1fr; grid-template-columns: repeat(4, 1fr); grid-auto-flow: row; overflow: visible; margin: 0; padding: 0; }
  .hm26-kits { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin: 0; padding: 0; }
  .hm26-kit { padding: 20px; }
  .hm26 .hm26-kit__name { font-size: 32px; line-height: 36px; }
  .hm26-cat { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: var(--hm26-radius); }
  .hm26-cat__icon { width: 56px; height: 56px; border-radius: 14px; }
  .hm26 .hm26-cat__name { font-size: 16px; line-height: 24px; }
  .hm26-cat__meta { font-size: 13px; line-height: 18px; margin-top: auto; }
  .hm26-logos { grid-template-columns: repeat(6, 1fr); gap: 8px; }
  .hm26-logo { height: 72px; }
  .hm26-logo img { max-height: 32px; }
  .hm26-card { padding: 16px; }
  .hm26-quiz { padding: 24px; }
  .hm26-sum { padding: 24px; }
  .hm26-about { padding: 32px 28px; }
  .hm26-offer__in { padding: 26px 28px; grid-template-columns: 1fr auto; gap: 20px; }
  .hm26-offer__txt { display: grid; gap: 6px; }
  .hm26 .hm26-offer__plan { margin-left: auto; }
  .hm26-halls { grid-template-columns: repeat(3, 1fr); }
  .hm26-seo { padding: 28px; }
  .hm26-sales { grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; }
  .hm26-sale { grid-row: 1 / 3; min-height: 400px; padding: 28px; }
  .hm26-sale--badged { padding-top: 28px; }
  .hm26-sale__fig { font-size: 64px; line-height: 68px; }
  .hm26-sale__title { font-size: 24px; line-height: 32px; }
  .hm26-terms { grid-template-columns: repeat(4, 1fr); }
  .hm26-term { padding: 16px; }
  .hm26-term b { font-size: 15px; line-height: 22px; }
  .hm26-faq details { padding: 16px; }
  .hm26-faq summary { font-size: 16px; line-height: 24px; }
  .hm26-logos { grid-template-columns: repeat(6, 1fr); }
  .hm26-steps { padding: 40px; }
  .hm26 .hm26-steps__head { font-size: 36px; line-height: 44px; margin-bottom: 28px; }
  .hm26-steps__grid { grid-template-columns: repeat(5, 1fr); gap: 24px; }
  .hm26-about { min-height: 440px; padding: 40px; }
  .hm26-offer__t { font-size: 26px; line-height: 34px; }
  .hm26-offer__in { padding: 30px 36px; }
  .hm26 .hm26-about h3 { font-size: 34px; line-height: 42px; }
  .hm26-faq-wrap { grid-template-columns: 1.9fr 1fr; align-items: start; gap: 20px; }
  .hm26-season { grid-template-columns: 1.2fr 1fr; }
  .hm26-season__body { padding: 40px; }
  .hm26-opts { grid-template-columns: repeat(3, 1fr); }
  .hm26-opts--wide { grid-template-columns: repeat(2, 1fr); }
  .hm26-reviews__track { grid-auto-columns: calc((100% - 16px) / 2); margin: 0; padding: 0 0 8px; }
  .hm26-final { padding: 40px; }
  .hm26-final__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
  .hm26-final__form { margin-top: 0; }
}

@media (min-width: 1100px) {
  .hm26-hero__inner {
    padding: 64px 56px 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    grid-template-areas: "text form" "trust form";
    column-gap: 48px;
    align-items: start;
    align-content: start;
  }
  .hm26-hero__text { grid-area: text; }
  .hm26-heroform { grid-area: form; margin-top: 0; max-width: none; padding: 28px; }
  .hm26-trust { grid-area: trust; margin-top: 28px; align-self: end; }
  .hm26-hero h1 { font-size: 48px; line-height: 56px; }
  .hm26-head h2 { font-size: 42px; line-height: 50px; }
  .hm26 .hm26-steps__head { font-size: 42px; line-height: 50px; }
  .hm26-hero__sub { font-size: 18px; line-height: 28px; }
  .hm26-quiz__cols { grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; }
  .hm26-geo { grid-template-columns: minmax(0, 1fr) 440px; align-items: stretch; gap: 24px; padding: 24px; }
  .hm26-geo__media { position: relative; }
  .hm26-geo__media img { position: absolute; inset: 0; }
  .hm26-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .hm26-reviews__track { grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .hm26 * { transition: none !important; animation: none !important; }
}

/* ── мобилка ──────────────────────────────── */
@media (max-width: 767px) {
  /* в легаси style.css висит голое `section { margin-bottom: 60px }` — на
     мобилке с ним между блоками набегало под сотню пикселей */
  .hm26 .hm26-section { margin-bottom: 0; }

  .hm26-hero h1 .hm26-mark { white-space: normal; }

  .hm26-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .hm26-head--aside { flex-direction: column; align-items: flex-start; }

  .hm26-scroller, .hm26-kits, .hm26-reviews__track { scroll-padding-left: 15px; }

  .hm26-cats-rest {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-padding-left: 15px;
    margin: 12px -15px 0;
    padding: 0 15px;
    scrollbar-width: none;
  }
  .hm26-cats-rest::-webkit-scrollbar { display: none; }
  .hm26-cats-rest a { flex: none; white-space: nowrap; scroll-snap-align: start; }

  .hm26-terms {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 74%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 15px;
    margin: 0 -15px;
    padding: 0 15px 8px;
    scrollbar-width: none;
  }
  .hm26-terms::-webkit-scrollbar { display: none; }
  .hm26-term { scroll-snap-align: start; }

  .hm26 .hm26-about h3 { font-size: 22px; line-height: 28px; }
  .hm26-about__figs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .hm26-about__fig { padding: 12px 8px; }
  .hm26-ava { width: 42px; height: 42px; margin-left: -18px; }
  /* «Познакомиться» всегда своей строкой, а текст с резервом под самую длинную
     подпись — иначе карточка скачет по высоте при выборе человека */
  .hm26 .hm26-team__link { width: 100%; margin-left: 0; text-align: right; }
  .hm26-team__text { min-height: 82px; }

  .hm26-season__actions .hm26-btn { padding: 0 16px; }
  .hm26 .hm26-kit__name { font-size: 24px; line-height: 28px; }
  /* иначе пилюля с ценой наезжает на «комплект 0N» */
  .hm26-kit__tag { padding: 5px 10px; font-size: 13px; line-height: 18px; }
  /* margin-top списка съедает сброс .hm26 ul — поднимаем специфичность */
  .hm26 .hm26-geo__list { margin-top: 16px; }
  /* бейдж стоит абсолютом в левом верхнем углу — освобождаем ему строку */
  .hm26-sale--badged { padding-top: 56px; }
}
