/* ============================================================
   М-СТАНДАРТ — редизайн v2
   Меблеві фасади МДФ · Київ
   Палитра бренда: зелёный (бейдж «М») + оранжевый (словесный)
   ============================================================ */

:root {
  --green: #1B7A43;
  --green-dark: #135C32;
  --green-deep: #0F4A28;
  --orange: #EE7A28;
  --orange-dark: #D4651A;
  --ink: #22282D;
  --ink-soft: #4A555E;
  --muted: #8B949C;
  --bg: #F6F4EF;
  --card: #FFFFFF;
  --line: #E6E1D6;
  --topbar: #2C302D;
  --footer: #23272A;
  --gold: #b9985a;
  --radius: 14px;
  --radius-s: 9px;
  --shadow: 0 10px 30px rgba(25, 40, 30, .10);
  --shadow-hover: 0 16px 42px rgba(25, 40, 30, .16);
  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --wrap: 1220px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--bg);
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
}

img { max-width: 100%; height: auto; }

a { color: var(--green); text-decoration: none; transition: color .18s; }
a:hover { color: var(--orange-dark); }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 22px; }



/* ---------------- Преимущества: карточки-блоки ---------------- */

.fgrid { position: relative; padding: 8px 0 26px;
  background: linear-gradient(180deg, #e3dfd6 0%, #e0dccf 55%, #d9d5c9 100%); }
/* плавный стык с витриной: её боковое затемнение продолжается и растворяется вниз */
.fgrid::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(92deg, rgba(34,32,25,.085) 0%, rgba(34,32,25,.05) 26%,
    rgba(34,32,25,.02) 44%, rgba(34,32,25,0) 62%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.45) 38%, transparent 62%);
  mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.45) 38%, transparent 62%); }
.fgrid__row { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fcard { position: relative; overflow: hidden; border-radius: var(--radius);
  background: transparent;
  border: 1px solid rgba(31, 35, 32, .11); padding: 24px 22px 22px;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), background .35s, box-shadow .35s, border-color .35s; }
.fcard::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--green) 0%, var(--gold) 100%);
  opacity: 0; transition: opacity .35s; }
.fcard:hover { transform: translateY(-4px);
  background: rgba(255, 255, 255, .45);
  border-color: rgba(185, 152, 90, .55); }
.fcard:hover::after { opacity: 1; }
.fcard__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.fcard__badge { width: 54px; height: 54px; border-radius: 16px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, #EFF3EC 0%, #E0E7DC 100%);
  border: 1px solid rgba(27, 122, 67, .14); color: var(--green-dark); }
.fcard__badge svg { width: 27px; height: 27px; }
.fcard__num { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
  font-size: 34px; line-height: 1;
  background: linear-gradient(120deg, #D9BC80 0%, #A98544 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.fcard b { display: block; font-size: 16.5px; color: var(--ink); margin-bottom: 6px; }
.fcard p { margin: 0; color: #454C52; font-size: 14.3px; line-height: 1.5; }

@media (max-width:1020px){
  .fgrid__row{grid-template-columns:1fr 1fr;gap:14px}
}
@media (max-width:640px){
  .fgrid__row{grid-template-columns:1fr;gap:12px}
  .fgrid{padding-top:6px}
}

/* ---------------- Топбар ---------------- */

.topbar {
  background: linear-gradient(180deg, #3B403C 0%, #2C302D 100%);
  color: rgba(255,255,255,.82);
  font-size: 13.5px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.topbar__in {
  display: flex; align-items: center; gap: 20px;
  min-height: 38px; flex-wrap: wrap; padding-top: 4px; padding-bottom: 4px;
}
.topbar a { color: rgba(255,255,255,.92); }
.topbar a:hover { color: #EFB97F; }
.topbar__spacer { flex: 1; }
.topbar__item { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.topbar__item svg { width: 13px; height: 13px; opacity: .75; }

.lang { display: inline-flex; gap: 6px; margin-left: 10px; }
.lang a {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  font-weight: 700; font-size: 12px; letter-spacing: .06em;
  border: 1px solid rgba(255,255,255,.35);
}
.lang a.is-active { background: rgba(255,255,255,.16); border-color: transparent; }

/* ---------------- Шапка ---------------- */

.header {
  position: sticky; top: 0; z-index: 90;
  background: linear-gradient(180deg, #F5F3ED 0%, #EBE8E0 100%);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(31, 35, 32, .12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  transition: box-shadow .25s;
}
.header.is-scrolled { box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 8px 28px rgba(20,35,25,.14); }

.header__in {
  display: flex; align-items: center; gap: 34px;
  min-height: 76px;
}

/* Логотип */
.logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo__img {
  height: 52px; width: auto; display: block;
  filter: drop-shadow(0 2px 6px rgba(19, 92, 50, .18));
  transition: height .3s ease, filter .3s ease;
}
.header.is-compact .logo__img { height: 40px; }
.logo__text { line-height: 1.12; display: flex; flex-direction: column; gap: 2px; }
.logo__name {
  font-size: 21px; font-weight: 800; letter-spacing: .02em;
  color: var(--ink); text-transform: uppercase;
}
.logo__name em { font-style: normal; color: var(--green); }
.logo__tag {
  font-size: 12px; color: var(--muted); letter-spacing: .04em;
}

/* Навигация */
.nav { margin-left: auto; }
.nav__list {
  display: flex; align-items: center; gap: 6px; list-style: none;
}
.nav__item { position: relative; }
.nav__link {
  display: flex; align-items: center; gap: 4px;
  padding: 10px 11px; border-radius: 10px;
  font-weight: 600; font-size: 13.8px; color: var(--ink);
  cursor: pointer; user-select: none; white-space: nowrap;
}
.nav__link:hover { background: rgba(31,35,32,.05); color: var(--green-dark); }
.nav__item.is-active > .nav__link { color: var(--green-dark); background: rgba(27,122,67,.09); }
.nav__caret {
  width: 9px; height: 9px; flex-shrink: 0;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px); opacity: .5;
  transition: transform .2s;
}

/* Выпадающее меню */
.nav__drop {
  position: absolute; top: calc(100% + 10px); left: 0;
  min-width: 280px; padding: 10px;
  background: var(--card); border-radius: var(--radius);
  box-shadow: var(--shadow-hover); border: 1px solid var(--line);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .18s, transform .18s, visibility .18s;
  z-index: 95;
}
.nav__drop::before {
  content: ""; position: absolute; top: -6px; left: 28px;
  width: 12px; height: 12px; background: var(--card);
  border-left: 1px solid var(--line); border-top: 1px solid var(--line);
  transform: rotate(45deg);
}
.nav__item:hover > .nav__drop,
.nav__item.is-open > .nav__drop {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav__drop a {
  display: block; padding: 9px 12px; border-radius: 8px;
  color: var(--ink-soft); font-size: 14.5px; font-weight: 500;
}
.nav__drop a:hover { background: #F1EEE6; color: var(--green-dark); }
.nav__drop a.is-active { color: var(--green-dark); background: rgba(27,122,67,.09); font-weight: 700; }
.nav__drop a.ext::after { content: " ↗"; opacity: .5; font-size: 12px; }

/* CTA в шапке — на очень широких экранах; телефон и кнопка дублируют топбар/плавающую кнопку */
.header__cta { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.header__phone { text-align: right; line-height: 1.25; display: none; }
.header__phone a {
  display: block; font-size: 16.5px; font-weight: 800; color: var(--ink);
  white-space: nowrap;
}
.header__phone a:hover { color: var(--green); }
.header__phone span { font-size: 11.5px; color: var(--muted); }
.header__cta .btn { display: none; }

@media (min-width: 1560px) {
  .header__phone { display: block; }
  .header__cta .btn { display: inline-flex; }
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 17px; border-radius: 11px;
  font-family: inherit; font-size: 14px; font-weight: 700;
  border: 0; cursor: pointer; white-space: nowrap;
  transition: background .2s, transform .15s, box-shadow .2s;
}
.btn--primary {
  background: linear-gradient(160deg, var(--orange) 0%, var(--orange-dark) 100%);
  color: #fff;
  box-shadow: 0 6px 16px rgba(238,122,40,.35);
}
.btn--primary:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 9px 22px rgba(238,122,40,.45); }
.btn--soft {
  background: transparent; border: 1px solid rgba(238, 122, 40, .55);
  color: var(--orange-dark); box-shadow: none;
}
.btn--soft:hover {
  background: linear-gradient(160deg, var(--orange) 0%, var(--orange-dark) 100%);
  color: #fff; transform: translateY(-1px);
  box-shadow: 0 9px 22px rgba(238, 122, 40, .45);
}
.btn--ghost {
  background: transparent; color: var(--green-dark);
  border: 2px solid var(--green); box-shadow: none;
}
.btn--ghost:hover { background: var(--green); color: #fff; }

/* Бургер */
.burger {
  display: none; margin-left: auto;
  width: 46px; height: 46px; border: 1px solid var(--line);
  border-radius: 10px; background: #fff; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.burger span {
  width: 20px; height: 2px; background: var(--ink); border-radius: 2px;
  transition: transform .2s, opacity .2s;
}
.burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity: 0; }
.burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Мобильная навигация */
.mnav {
  display: none;
  border-top: 1px solid var(--line);
  background: #fff;
  max-height: 0; overflow: hidden; transition: max-height .3s ease;
}
.mnav.is-open { max-height: 78vh; overflow-y: auto; }
.mnav__group { border-bottom: 1px solid var(--line); }
.mnav__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 22px; font-weight: 700; font-size: 16px; cursor: pointer;
  color: var(--ink);
}
.mnav__head.is-active { color: var(--green-dark); }
.mnav__sub { display: none; padding: 0 22px 14px; }
.mnav__sub a {
  display: block; padding: 8px 0; color: var(--ink-soft); font-size: 15px;
  border-bottom: 1px dashed var(--line);
}
.mnav__sub a:last-child { border-bottom: 0; }
.mnav__direct { display: block; padding: 14px 22px; font-weight: 700; font-size: 16px; color: var(--ink); }
.mnav__direct:hover { color: var(--green-dark); }
.mnav__cta { padding: 16px 22px 22px; display: grid; gap: 10px; }

/* ---------------- Хлебные крошки ---------------- */

.crumbs {
  padding: 18px 0 4px; font-size: 13.5px; color: var(--muted);
}
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.crumbs li + li::before { content: "›"; margin-right: 8px; color: #C9C2B4; }
.crumbs a { color: var(--ink-soft); }
.crumbs a:hover { color: var(--green); }
.crumbs [aria-current] { color: var(--green-dark); font-weight: 600; }

/* ---------------- Контентная страница ---------------- */

.page { padding: 18px 0 70px; }
.page--home { padding-top: 0; padding-bottom: 0; }
.page--home + .footer { margin-top: 0; }
.page__grid {
  display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 34px;
  align-items: start;
}
.page--narrow .page__grid { grid-template-columns: minmax(0,1fr); }
.page__main { min-width: 0; }

.paper {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 38px 42px 44px;
  box-shadow: var(--shadow);
}

h1.page__title {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.18; font-weight: 800; letter-spacing: -.01em;
  color: var(--ink);
  padding-bottom: 18px; margin-bottom: 26px;
  position: relative;
}
h1.page__title::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 74px; height: 5px; border-radius: 3px;
  background: linear-gradient(90deg, var(--green) 0 62%, var(--orange) 62% 100%);
}

/* Типографика контента (старый HTML сохранён) */
.content { font-size: 16.5px; color: var(--ink-soft); }
.content > *:first-child { margin-top: 0; }
.content p { margin: 0 0 14px; }
.content strong { color: var(--ink); }
.content h2, .content h3, .content h4 {
  color: var(--ink); line-height: 1.3; margin: 26px 0 12px; font-weight: 800;
}
.content h2 { font-size: 27px; }
.content h3 { font-size: 21px; }
.content h4 { font-size: 18px; }
.content h3[align="center"], .content h2[align="center"], .content h4[align="center"], .content center {
  text-align: center;
}
.content font[color="#ff8040"], .content font[color="#FF8040"] {
  color: var(--orange-dark); font-weight: 700;
}
.content ul, .content ol { margin: 0 0 16px; padding-left: 24px; }
.content li { margin-bottom: 6px; }
.content ul { list-style: none; padding-left: 4px; }
.content ul > li { position: relative; padding-left: 22px; }
.content ul > li::before {
  content: ""; position: absolute; left: 2px; top: .58em;
  width: 8px; height: 8px; border-radius: 2px;
  background: linear-gradient(140deg, var(--orange), var(--orange-dark));
}
.content a { font-weight: 600; }
.content a[href^="tel"], .content a[href^="mailto"] { white-space: nowrap; }
.content a.btn { margin: 4px 12px 4px 0; box-shadow: none; }
.content a.btn:hover { text-decoration: none; }

/* Callout «вимогливий замовник» (переработанный легаси-текст) */
.cta-note {
  margin: 26px 0 14px; padding: 20px 24px;
  background: linear-gradient(150deg, #EAF4EA 0%, #F7F5F0 100%);
  border: 1px solid #D8E7D9;
  border-left: 4px solid var(--green);
  border-radius: 12px;
}
.cta-note p { margin: 0 0 6px; }
.cta-note p:last-child { margin-bottom: 0; }
.cta-note__q { font-weight: 700; color: var(--ink); font-size: 17.5px; line-height: 1.5; }
.cta-note__a { color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
.cta-note__a b { color: var(--orange-dark); }
.content img {
  border-radius: var(--radius-s);
  box-shadow: 0 4px 14px rgba(25,40,30,.10);
}
.content img[width="130"] { box-shadow: none; border: 1px solid var(--line); border-radius: 8px; }
.content table {
  width: 100%; border-collapse: collapse; margin: 18px 0;
  font-size: 15.5px;
}
.content th, .content td {
  border: 1px solid var(--line); padding: 10px 13px;
  text-align: left; vertical-align: top;
}
.content tr:nth-child(even) td { background: #FAF9F5; }
.content iframe {
  display: block; width: 100% !important; height: 340px !important;
  border-radius: var(--radius-s);
}
/* легаси-таблицы «контакты | карта» пересобраны конвертером в .map-row:
   равные колонки → все карты на странице одного размера */
.map-row {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px; align-items: start; margin: 16px 0;
}
.map-row__map iframe { margin: 0; }
/* современные иконки контактов вместо старых глянцевых картинок */
.content .cico {
  display: inline-flex; width: 32px; height: 32px; border-radius: 9px;
  background: #EAF4EA; color: var(--green-dark);
  align-items: center; justify-content: center; vertical-align: middle;
  box-shadow: inset 0 0 0 1px #D2E4D4;
}
.content .cico svg { width: 18px; height: 18px; }
.content hr {
  max-width: 100%; height: 1px; border: 0;
  background: var(--line); margin: 22px 0;
}

/* ---------------- Главная ---------------- */

.hero {
  position: relative; overflow: hidden;
  background: var(--ink);
  border-radius: 22px;
  margin: 22px auto 0;
  width: min(var(--wrap), calc(100% - 44px));
  box-shadow: var(--shadow);
}
.hero__slides {
  position: relative; height: auto;
  aspect-ratio: 860 / 453; max-height: 640px;
}
.hero__slide {
  position: absolute; inset: 0; opacity: 0;
  transition: opacity .9s ease;
}
.hero__slide.is-on { opacity: 1; }
.hero__slide img {
  width: 100%; height: 100%; object-fit: contain;
  background: #fff; object-position: center;
}
.hero__nav {
  display: flex; justify-content: center; gap: 9px;
  padding: 11px 0 13px;
  background: #fff;
}
.hero__dot {
  width: 11px; height: 11px; border-radius: 50%;
  background: rgba(255,255,255,.55); border: 0; cursor: pointer; padding: 0;
  transition: transform .2s, background .2s;
}
.hero__dot.is-on { background: var(--orange); transform: scale(1.25); }
.hero__arrow {
  position: absolute; z-index: 5; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(255,255,255,.85); color: var(--ink);
  border: 0; cursor: pointer; font-size: 20px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow); transition: background .2s, color .2s;
}
.hero__arrow:hover { background: var(--orange); color: #fff; }
.hero__arrow--prev { left: 18px; }
.hero__arrow--next { right: 18px; }

/* Секция преимуществ — витринный стиль: без карточек, тонкие линии */
.features { padding: 54px 0 66px; background: linear-gradient(180deg, #E3DFD6 0%, #F6F4EF 82%); }
.features__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.feat { padding: 2px 30px 4px; border-left: 1px solid var(--line); }
.feat:first-child { border-left: 0; padding-left: 0; }
.feat__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.feat__num { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 21px; color: #b9985a; }
.feat__ico { width: 42px; height: 42px; color: var(--green); }
.feat__ico svg { width: 40px; height: 40px; }
.feat b { display: block; font-size: 15.5px; font-weight: 600; color: var(--ink); margin-bottom: 7px; }
.feat p { font-size: 13.5px; font-weight: 300; color: var(--ink-dim); line-height: 1.55; margin: 0; }

/* Карточки каталога на главной */
.home-cats { padding: 42px 0 18px; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.sec-head h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.sec-head a { font-size: 14.5px; font-weight: 700; white-space: nowrap; }

.cards {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
}
.card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  display: flex; flex-direction: column;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.card__img {
  aspect-ratio: 4 / 3; background: #EDEAE2;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.card:hover .card__img img { transform: scale(1.05); }
.card__body { padding: 15px 17px 17px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.card__body b { font-size: 15.5px; color: var(--ink); line-height: 1.35; }
.card__body span { font-size: 13px; color: var(--muted); }
.card__more {
  margin-top: auto; padding-top: 8px;
  font-size: 13.5px; font-weight: 700; color: var(--green-dark);
}
.card__more::after { content: " →"; transition: margin .2s; }
.card:hover .card__more::after { margin-left: 4px; }

/* Блок «о компании» на главной */
.home-about { padding: 30px 0 56px; }
.home-about__grid {
  display: grid; grid-template-columns: 1.25fr .75fr; gap: 26px; align-items: stretch;
}
.home-about__text {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 34px 38px; box-shadow: var(--shadow);
}
.home-about__text h2 { font-size: clamp(22px, 3vw, 30px); margin-bottom: 14px; color: var(--ink); }
.home-about__text p { color: var(--ink-soft); margin-bottom: 12px; }
.home-about__side {
  border-radius: var(--radius);
  background: #EAF3EA;
  border: 1px solid #D8E7D9;
  color: var(--ink); padding: 26px 26px 28px;
  display: flex; flex-direction: column; gap: 12px;
  align-self: start; position: sticky; top: 104px;
  box-shadow: var(--shadow);
}
.home-about__side h3 { font-size: 19px; color: var(--green-dark); }
.home-about__side p { font-size: 14px; opacity: 1; color: var(--ink-soft); }
.home-about__side .phone-big { font-size: 24px; font-weight: 800; letter-spacing: .01em; color: var(--green-dark); }
.home-about__side a { color: var(--ink-soft); }
.home-about__side a:hover { color: var(--green-dark); }
.home-about__side .phone-big:hover { color: var(--green); }
.home-about__side .btn { align-self: flex-start; }
.home-about__side .phone-big { font-size: 26px; font-weight: 800; letter-spacing: .01em; }

/* ---------------- Боковая колонка ---------------- */

.side { display: grid; gap: 18px; position: sticky; top: 96px; }
.side__card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow);
}
.side__card h3 {
  font-size: 16px; font-weight: 800; color: var(--ink); margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.side__phone { display: block; font-size: 19px; font-weight: 800; color: var(--ink); white-space: nowrap; }
.side__phone + .side__phone { margin-top: 2px; }
.side__phone:hover { color: var(--green); }
.side__card .btn { width: 100%; margin-top: 12px; }
.side__mail { font-size: 14.5px; color: var(--ink-soft); word-break: break-all; }
.side__links { list-style: none; }
.side__links li { border-bottom: 1px dashed var(--line); }
.side__links li:last-child { border-bottom: 0; }
.side__links a {
  display: block; padding: 8px 0; font-size: 14.5px; color: var(--ink-soft); font-weight: 500;
}
.side__links a:hover { color: var(--green-dark); padding-left: 4px; }
.side__links a.is-active { color: var(--green-dark); font-weight: 700; }

/* ---------------- Подвал ---------------- */

.footer {
  background: var(--footer); color: #A7B0B8;
  margin-top: 40px;
}
.footer__main {
  display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 34px;
  padding: 52px 0 38px;
}
.footer h4 {
  color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; margin-bottom: 16px;
}
.footer__about { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.footer__logo { height: 110px; width: auto; display: block; }
.footer__about .logo__name { color: #fff; font-size: 18px; }
.footer__about .logo__text { display: flex; flex-direction: column; gap: 1px; }
.footer__about .logo__tag { color: #7C868F; font-size: 12px; }
.footer p { font-size: 14px; line-height: 1.65; }
.footer ul { list-style: none; }
.footer ul a {
  display: inline-block; padding: 4px 0; color: #A7B0B8; font-size: 14px;
}
.footer ul a:hover { color: #fff; }
.footer__contacts li {
  display: flex; gap: 10px; padding: 5px 0; font-size: 14px; align-items: flex-start;
}
.footer__contacts svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 4px; opacity: .6; }
.footer__contacts a { color: #fff; font-weight: 600; }
.footer__bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 18px 0; font-size: 13px; color: #6E7880;
  display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
}

/* ---------------- Плавающие элементы ---------------- */

.call-fab {
  position: fixed; right: 22px; bottom: 22px; z-index: 80;
  width: 58px; height: 58px; border-radius: 50%;
  background: linear-gradient(150deg, var(--green), var(--green-dark));
  color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(19,92,50,.45);
  animation: fabpulse 2.6s infinite;
}
.call-fab svg { width: 26px; height: 26px; }
.call-fab:hover { color: #fff; transform: scale(1.06); }
@keyframes fabpulse {
  0% { box-shadow: 0 10px 26px rgba(19,92,50,.45), 0 0 0 0 rgba(27,122,67,.35); }
  55% { box-shadow: 0 10px 26px rgba(19,92,50,.45), 0 0 0 16px rgba(27,122,67,0); }
  100% { box-shadow: 0 10px 26px rgba(19,92,50,.45), 0 0 0 0 rgba(27,122,67,0); }
}

.to-top {
  position: fixed; right: 26px; bottom: 94px; z-index: 80;
  width: 44px; height: 44px; border-radius: 50%;
  background: #fff; border: 1px solid var(--line); color: var(--ink);
  font-size: 17px; cursor: pointer; opacity: 0; visibility: hidden;
  transform: translateY(8px); transition: all .25s;
  box-shadow: var(--shadow);
}
.to-top.is-show { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { color: var(--orange-dark); }

/* ---------------- Адаптив ---------------- */

@media (max-width: 1400px) and (min-width: 1021px) {
  .nav__link { padding: 9px 6px; font-size: 13px; }
  .header__in { gap: 16px; }
  .logo { gap: 10px; }
  .logo__name { font-size: 19px; }
}

@media (max-width: 1020px) {
  .nav { display: none; }
  .burger { display: flex; }
  .mnav { display: block; }
  .header__cta { margin-left: auto; }
  .page__grid { grid-template-columns: 1fr; }
  .side { position: static; grid-template-columns: 1fr 1fr; display: grid; }
  .features__grid { grid-template-columns: repeat(2, 1fr); }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .home-about__grid { grid-template-columns: 1fr; }
  .footer__main { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .topbar__in { gap: 8px 14px; }
  .topbar__hide-m { display: none; }
  .header__phone { display: none; }
  .paper { padding: 24px 18px 30px; }
  .cards, .features__grid, .side { grid-template-columns: 1fr; }
  .footer__main { grid-template-columns: 1fr; gap: 26px; }
  .hero__arrow { display: none; }
  .crumbs { padding-top: 12px; }

  /* легаси-таблицы: широкие скроллятся внутри, карты — стопкой */
  .content table { display: block; overflow-x: auto; }
  .content table:has(iframe) tbody,
  .content table:has(iframe) tr,
  .content table:has(iframe) td { display: block; width: auto !important; }
  .map-row { grid-template-columns: 1fr; }
  .content iframe { height: 62vw !important; }

  /* слоган в шапке не влезает на узких экранах — бургер важнее */
  .logo__tag { display: none; }
}

@media print {
  .topbar, .header, .footer, .call-fab, .to-top, .side, .crumbs { display: none !important; }
  .paper { box-shadow: none; border: 0; padding: 0; }
}

/* ============================================================
   Премиум: 3D и анимации
   ============================================================ */

/* плавные переходы между страницами (Chrome/Edge) */
@view-transition { navigation: auto; }

/* появление блоков при скролле */
.reveal {
  opacity: 0; transform: translateY(26px);
  transition: opacity .75s ease, transform .75s cubic-bezier(.16, 1, .3, 1);
}
.reveal.is-in { opacity: 1; transform: none; }

/* 3D-наклон карточек (курсор) */
.tilt {
  position: relative; transform-style: preserve-3d; will-change: transform;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease;
}
.tilt.is-tilting { transition: transform .07s linear, box-shadow .35s ease; }
.tilt__glare {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(480px circle at var(--gx, 50%) var(--gy, 50%),
              rgba(255, 255, 255, .38), transparent 42%);
  opacity: 0; transition: opacity .35s;
}
.tilt:hover .tilt__glare { opacity: 1; }
.tilt:hover { box-shadow: var(--shadow-hover); }

/* сияние на главной кнопке */
.btn--primary { position: relative; overflow: hidden; }
.btn--primary::after {
  content: ""; position: absolute; top: 0; left: -90%;
  width: 45%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .4), transparent);
  transform: skewX(-20deg); transition: left .55s ease;
}
.btn--primary:hover::after { left: 135%; }

/* компактная липкая шапка */
.header__in { transition: min-height .3s ease; }
.header.is-compact .header__in { min-height: 58px; }
.logo__img { transition: height .3s ease, filter .3s ease; }
.header.is-compact .logo__img { height: 40px; }
.logo__name { transition: font-size .3s; }
.header.is-compact .logo__name { font-size: 18px; }

/* Hero: вход при загрузке, 3D-переходы слайдов, Ken Burns */
.page--home .hero { animation: heroIn .9s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes heroIn {
  from { opacity: 0; transform: translateY(20px) scale(.988); }
  to { opacity: 1; transform: none; }
}
.hero__slides { perspective: 1200px; }
.hero__slide {
  opacity: 0; transform: rotateY(9deg) scale(.986);
  transform-origin: left center;
  transition: opacity .8s ease, transform 1s cubic-bezier(.16, 1, .3, 1);
  visibility: hidden;
}
.hero__slide.is-on {
  opacity: 1; transform: none; visibility: visible; z-index: 2;
}
.hero__slide.is-on img { animation: kenburns 9s ease-out forwards; }
@keyframes kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.028); }
}
.hero__slide.is-leaving {
  opacity: 0; transform: rotateY(-9deg) scale(.986);
  transform-origin: right center; visibility: visible; z-index: 1;
}

/* лёгкий зум фото контента */
.content img { transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s; }
.content img:hover { transform: scale(1.02); box-shadow: 0 12px 30px rgba(25, 40, 30, .16); }
.content img[width="130"]:hover { transform: none; box-shadow: none; }

/* уважение к reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero__slide { transition: opacity .4s; transform: none; visibility: visible; }
  .hero__slide.is-on img { animation: none; }
  .page--home .hero { animation: none; }
  .tilt { transition: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   Showroom — світла вітрина на головній
   (текст статичний; анімуються світло та панелі, все м'яко)
   ============================================================ */
.showroom{position:relative;background:linear-gradient(92deg,rgba(34,32,25,.085) 0%,rgba(34,32,25,.05) 26%,rgba(34,32,25,.02) 44%,rgba(34,32,25,0) 62%),linear-gradient(175deg,#edecE6 0%,#e8e5dd 55%,#e3dfd6 100%);overflow:hidden}
.showroom::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(1000px 640px at 76% 28%,rgba(255,255,255,.5),transparent 62%)}
.showroom__light{position:absolute;inset:0;pointer-events:none}
.showroom__light i{position:absolute;border-radius:50%;filter:blur(64px)}
.showroom__light .l1{top:-12%;left:6%;width:46%;height:64%;
  background:radial-gradient(circle,rgba(255,255,255,.75),transparent 64%);
  animation:shDrift 17s ease-in-out infinite alternate}
.showroom__light .l2{bottom:-20%;right:2%;width:42%;height:60%;
  background:radial-gradient(circle,rgba(196,184,158,.55),transparent 62%);
  animation:shDrift 13s ease-in-out infinite alternate-reverse}
@keyframes shDrift{from{transform:translate(0,0) scale(.9);opacity:.75}to{transform:translate(4%,6%) scale(1.1);opacity:1}}

.showroom__bg{position:absolute;inset:0;z-index:0;margin:0}
.showroom__bg img,.showroom__bg video{width:100%;height:100%;object-fit:cover;object-position:center}
.showroom__veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(96deg,rgba(237,236,230,.94) 0%,rgba(237,236,230,.80) 30%,
  rgba(237,236,230,.38) 54%,rgba(237,236,230,.05) 70%,rgba(237,236,230,0) 82%)}
.showroom__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr 1.18fr;gap:48px;align-items:center;
  min-height:72vh;padding-top:24px;padding-bottom:44px;position:relative;z-index:2}
.showroom__txt{max-width:560px}
.showroom .eyebrow{font-size:11px;font-weight:600;letter-spacing:.44em;text-transform:uppercase;
  color:#8a877c;display:flex;align-items:center;gap:14px}
.showroom .eyebrow::before{content:"";width:42px;height:1px;background:#b7b3a6}
.showroom__title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;
  font-size:clamp(42px,4.7vw,72px);line-height:1.07;color:#2c2b27;margin:26px 0 24px}
.showroom__title i{font-style:italic;font-weight:400;
  background:linear-gradient(95deg,#3f7c5b 12%,#b3955b 88%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.showroom__lead{color:#2E5B44;font-size:16px;font-weight:500;line-height:1.7;max-width:440px;margin-bottom:40px;text-shadow:0 1px 14px rgba(238,237,231,.92)}
.showroom__btn{display:inline-block;padding:16px 40px;border:0;border-radius:12px;color:#fff;
  text-decoration:none;font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  background:linear-gradient(165deg,#1E7A46 0%,#135C32 100%);
  box-shadow:0 14px 30px rgba(19,92,50,.3);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s}
.showroom__btn:hover{background:linear-gradient(165deg,#1B6D3E 0%,#0F4E2B 100%);color:#fff;transform:translateY(-2px);box-shadow:0 20px 40px rgba(19,92,50,.38)}

.showroom__stage{display:flex;gap:34px;justify-content:center;align-items:flex-start;perspective:1500px}
.sp{--off:0px;position:relative;width:234px;height:548px;border-radius:4px;
  overflow:hidden;opacity:0;transform:translateY(var(--off));
  box-shadow:0 48px 92px rgba(74,68,55,.30),0 16px 30px rgba(74,68,55,.16);
  animation-name:shPanelIn,shFloat;
  animation-duration:1.25s,8.5s;
  animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;
  animation-fill-mode:both,none;
  animation-iteration-count:1,infinite}
.sp img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.sp::after{content:"";position:absolute;inset:-55%;pointer-events:none;
  background:linear-gradient(122deg,transparent 40%,rgba(255,255,255,.17) 50%,transparent 60%);
  animation:shSweep 10.5s ease-in-out infinite}
.sp-1{--off:26px;animation-delay:.15s,1.55s}
.sp-2{--off:-14px;animation-delay:.32s,1.72s}
.sp-3{--off:38px;animation-delay:.49s,1.89s}
.sp-1::after{animation-delay:.5s}
.sp-2::after{animation-delay:2.3s}
.sp-3::after{animation-delay:4.1s}
@keyframes shPanelIn{from{opacity:0;transform:translateY(calc(var(--off) + 34px))}to{opacity:1;transform:translateY(var(--off))}}
@keyframes shFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes shSweep{0%,20%{transform:translate(-55%,-55%)}60%,100%{transform:translate(55%,55%)}}

@media (max-width:1100px){
  .showroom__grid{grid-template-columns:1fr;gap:44px;min-height:auto;padding-top:30px}
  .showroom__stage{transform:scale(.82);height:520px}
}
@media (max-width:620px){
  .showroom__grid{padding-top:18px}
  .showroom__stage{transform:scale(.52);height:340px;gap:18px}
  .sp{width:200px;height:470px}
}

/* ============================================================
   Адаптив под разрешение и размер экрана (финальная настройка)
   ============================================================ */
/* Большие мониторы: шире контент, выше витрина */
@media (min-width:1600px){
  .wrap{max-width:1360px}
  .showroom__grid{min-height:92vh}
  .showroom__title{font-size:clamp(46px,4vw,80px)}
  .sp{width:252px;height:590px}
}
/* Плотные ноутбуки 1021–1340: витрина и панели уже */
@media (max-width:1340px) and (min-width:1021px){
  .showroom__grid{gap:34px}
  .showroom__stage{gap:22px}
  .sp{width:198px;height:462px}
  .showroom__title{font-size:clamp(38px,4.2vw,56px)}
  .showroom__lead{max-width:400px;margin-bottom:32px}
  .paper{padding:34px 34px 40px}
}
/* Низкие экраны (ноутбуки): витрина компактнее по высоте */
@media (min-width:1021px) and (max-height:820px){
  .showroom__grid{min-height:68vh}
  .sp{height:486px}
  .sp-1{--off:18px}.sp-2{--off:-10px}.sp-3{--off:28px}
}
/* Планшеты 641–1020: витрина колонкой, панели центром */
@media (max-width:1020px){
  .showroom__grid{grid-template-columns:1fr;gap:42px;min-height:auto;padding-top:34px;padding-bottom:52px}
  .showroom__stage{justify-content:center;margin-top:6px}
  .sp{width:192px;height:452px}
  .sp-1{--off:12px}.sp-2{--off:-8px}.sp-3{--off:18px}
  .showroom__lead{max-width:520px}
  .content{font-size:15.5px}
  .paper{padding:30px 26px 36px}
  .showroom__title{font-size:clamp(40px,5.4vw,56px)}
}
/* Телефоны */
@media (max-width:640px){
  .showroom__grid{gap:28px;padding-top:20px;padding-bottom:36px}
  .showroom__title{font-size:clamp(33px,8.6vw,42px);margin:18px 0 18px}
  .showroom__lead{font-size:14.5px;margin-bottom:30px}
  .showroom__stage{gap:12px}
  .sp{width:30.5vw;height:66vw;min-width:102px;
    box-shadow:0 20px 42px rgba(72,66,54,.26),0 8px 16px rgba(72,66,54,.16)}
  .sp-1{--off:8px}.sp-2{--off:-4px}.sp-3{--off:12px}
  .showroom__btn{padding:13px 24px;letter-spacing:.2em}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:14px}
  .content{font-size:15px}
  .paper{padding:22px 16px 28px}
  h1.page__title{font-size:clamp(26px,7vw,34px)}
  .map-row{grid-template-columns:1fr;gap:18px}
  .contact .wrap{grid-template-columns:1fr;gap:34px}
  .contact-card{padding:34px 26px}
  .footer__logo{height:92px}
}
/* Очень узкие (<360): панели почти в ряд без обрезки */
@media (max-width:359px){
  .showroom__stage{gap:8px}
  .sp{width:29vw;height:60vw}
}

/* Мобильная витрина: читаемость текста поверх GIF-фона */
@media (max-width:700px){
  .showroom__veil{background:linear-gradient(180deg,
    rgba(237,236,230,.60) 0%,rgba(237,236,230,.88) 30%,
    rgba(237,236,230,.93) 58%,rgba(237,236,230,.86) 100%)}
  .showroom__bg img{object-position:10% top}
  .showroom__txt{position:relative;z-index:3}
}

/* Полный лого в шапке (монограмма + СТАНДАРТ + диван) */
.logo__img--full{height:64px;width:auto}
.header.is-compact .logo__img--full{height:50px}
@media (max-width:1400px) and (min-width:1021px){.logo__img--full{height:58px}}

/* Преимущества: адаптив hairline-версии */
@media (max-width:1020px){
  .features{padding:44px 0 48px}
  .features__grid{grid-template-columns:repeat(2,1fr);gap:0 36px}
  .feat{border-left:0;padding:18px 0 6px;border-top:1px solid var(--line)}
  .feat:nth-child(-n+2){border-top:0;padding-top:2px}
}
@media (max-width:640px){
  .features{padding:36px 0 40px}
  .features__grid{grid-template-columns:1fr;gap:0}
  .feat{border-top:1px solid var(--line);padding:16px 0 4px}
  .feat:first-child{border-top:0;padding-top:2px}
  .feat__top{margin-bottom:10px}
  .feat__ico{width:36px;height:36px}
  .feat__ico svg{width:34px;height:34px}
}

/* Лайтбокс: клик по фасаду — увеличенное фото */
a.lb img { cursor: zoom-in; }
.content a.lb img { max-width: 100%; height: auto; }
/* Сетка образцов: фиксированные колонки 25%. Работает вместе с
   pad_sample_rows() в генераторе (ряды дополнены до 4 клеток —
   излишка ширины нет, короткие ряды не растягиваются) */
.content table:has(a.lb) { table-layout: fixed; }
.content table:has(a.lb) td { width: 25%; }
.lightbox { position: fixed; inset: 0; z-index: 220; display: flex;
  align-items: center; justify-content: center; padding: 3vmin;
  background: rgba(10, 12, 10, .92); backdrop-filter: blur(8px);
  opacity: 0; visibility: hidden; transition: opacity .35s var(--ease), visibility .35s;
  cursor: zoom-out; }
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox img { max-width: 94vw; max-height: 88vh; border-radius: 4px;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .65);
  transform: scale(.94); transition: transform .45s var(--ease); }
.lightbox.is-open img { transform: scale(1); }
.lightbox__x { position: absolute; top: 18px; right: 22px; width: 48px; height: 48px;
  border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .08); color: #fff; font-size: 19px;
  cursor: pointer; transition: background .3s, border-color .3s; }
.lightbox__x:hover { background: var(--orange); border-color: var(--orange); }
@media (prefers-reduced-motion: reduce) { .lightbox, .lightbox img { transition: none; } }
@media (max-width:1020px){
  .gban__row{grid-template-columns:1fr 1fr;gap:14px 0}
  .gban__fact:nth-child(3){border-left:0;padding-left:0}
  .gban__in{padding-bottom:26px}
}
@media (max-width:640px){
  .gban__img{height:480px}
  .gban__scrim{background:linear-gradient(180deg, rgba(14,17,15,.52) 0%, rgba(14,17,15,.66) 100%)}
  .gban__row{grid-template-columns:1fr;gap:12px}
  .gban__fact{border-left:0;padding:0}
  .gban__title{margin-bottom:16px}
}

/* ---------------- Видео на странице «Реставрація» ---------------- */

.rvideo { margin: 0 0 26px; border-radius: 16px; overflow: hidden;
  background: #fff; box-shadow: 0 24px 60px rgba(25, 40, 30, .16); }
.rvideo video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
  object-fit: cover; }
@media (max-width:640px){
  .rvideo { margin-bottom: 20px; border-radius: 12px; }
}

/* ================= Сервисные страницы: page-hero + «Конструкторські послуги» ================= */

.page--service { padding-top: 0; padding-bottom: 0; }
.page--service .crumbs { margin: 14px 0 10px; }

.phero { position: relative; overflow: hidden; display: flex; align-items: center;
  min-height: clamp(400px, 56vh, 640px); border-radius: 22px; margin: 0 auto 34px;
  width: min(var(--wrap), calc(100% - 44px));
  background-color: #edece6; background-size: cover; background-position: center top;
  background-repeat: no-repeat; }
.phero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  object-position: center top; }
.phero__veil { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(92deg, rgba(244,242,236,.94) 0%, rgba(244,242,236,.72) 38%,
    rgba(244,242,236,.28) 62%, rgba(244,242,236,.06) 82%); }
.phero__in { position: relative; z-index: 2; padding-top: 30px; padding-bottom: 30px; }
.phero__eyebrow { display: flex; align-items: center; gap: 14px; font-size: 11px; font-weight: 600;
  letter-spacing: .44em; text-transform: uppercase; color: #8a877c; }
.phero__eyebrow::before { content: ""; width: 42px; height: 1px; background: #b7b3a6; }
.phero__title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400;
  font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.06; color: #2c2b27; margin: 16px 0 18px; }
.phero__title em { font-style: italic;
  background: linear-gradient(95deg, #3f7c5b 12%, #b3955b 88%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.phero__lead { font-size: 16.5px; line-height: 1.65; color: #3E443F; max-width: 500px; margin: 0 0 26px; }
.phero__btns { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce), (max-width: 700px) {
  .phero__video { display: none; }
}

.ksec { padding: 26px 0 10px; }
.ksec { scroll-margin-top: 120px; }
.ksec__head h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500;
  font-size: clamp(28px, 3vw, 38px); color: var(--ink); margin: 0 0 20px; }
.ksec__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.kcard { background: rgba(255, 255, 255, .55); backdrop-filter: blur(10px);
  border: 1px solid rgba(31, 35, 32, .08); border-radius: 20px; padding: 24px 26px 14px; }
.kcard h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600;
  font-size: 25px; color: var(--green-dark); margin: 0 0 8px; }
.klist { list-style: none; margin: 0; padding: 0; }
.klist li { display: flex; align-items: baseline; gap: 14px; padding: 11px 0;
  border-bottom: 1px solid rgba(31, 35, 32, .09); }
.klist li:last-child { border-bottom: 0; }
.knum { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
  font-size: 17px; color: var(--gold); min-width: 30px; flex-shrink: 0; }
.klist p { margin: 0; font-size: 15.3px; color: var(--ink); line-height: 1.5; }

.kadv { padding: 30px 0 40px; }
.kadv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kadv__card { background: rgba(255, 255, 255, .55); backdrop-filter: blur(10px);
  border: 1px solid rgba(31, 35, 32, .08); border-radius: 20px; padding: 22px;
  display: flex; flex-direction: column; gap: 14px; }
.kadv__ico { width: 46px; height: 46px; border-radius: 13px; display: flex;
  align-items: center; justify-content: center; color: var(--green-dark);
  background: rgba(27, 122, 67, .10); }
.kadv__ico svg { width: 24px; height: 24px; }
.kadv__card b { font-size: 15.5px; color: var(--ink); line-height: 1.45; }

.kcta { background: var(--footer); color: #fff; margin-top: 10px; }
.kcta__in { display: flex; align-items: center; justify-content: space-between; gap: 30px;
  padding-top: 44px; padding-bottom: 44px; }
.kcta__phrase { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
  font-size: clamp(24px, 3vw, 38px); line-height: 1.2; color: #fff; margin: 0; max-width: 780px; }
.kcta__btns { display: flex; align-items: center; gap: 14px; flex-shrink: 0; flex-wrap: wrap; }
.kcta .btn--ghost { border-color: rgba(255, 255, 255, .45); color: #fff; }
.kcta .btn--ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }

@media (min-width: 1600px) {
  .phero { min-height: 58vh; }
}
@media (max-width: 1340px) {
  .phero__title { font-size: clamp(2.1rem, 4.4vw, 3.4rem); }
}
@media (max-width: 1020px) {
  .ksec__cols { grid-template-columns: 1fr; }
  .kadv__grid { grid-template-columns: 1fr 1fr; }
  .kcta__in { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .phero { min-height: 46vh; border-radius: 16px; width: calc(100% - 28px); }
  .phero__in { padding-top: 20px; padding-bottom: 22px; }
  .ksec { padding-top: 18px; }
  .ksec__cols { gap: 14px; }
  .kcard { padding: 18px 18px 10px; }
  .kadv__grid { grid-template-columns: 1fr; gap: 12px; }
}

/* ================= «Реставрація»: секции ================= */

.rintro { padding: 46px 0 10px; }
.rintro__text { font-size: clamp(20px, 2vw, 22px); line-height: 1.65; color: var(--ink);
  max-width: 68ch; margin: 0; }
.ksec__sub { margin: -12px 0 18px; color: var(--muted); font-size: 15px; }
.rsvc { grid-template-columns: repeat(3, 1fr); }

/* слайдер «До / Після» */
.ba { position: relative; overflow: hidden; border-radius: 20px; aspect-ratio: 16 / 9;
  background: #ddd; box-shadow: 0 24px 60px rgba(25, 40, 30, .16); --pos: 50%; }
.ba__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ba__after { clip-path: inset(0 0 0 var(--pos)); }
.ba__tag { position: absolute; top: 16px; z-index: 3; padding: 5px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #fff; background: rgba(16, 20, 17, .55); backdrop-filter: blur(6px); }
.ba__tag--b { left: 16px; }
.ba__tag--a { right: 16px; background: rgba(27, 122, 67, .75); }
.ba__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; z-index: 2;
  background: #fff; transform: translateX(-1.5px); box-shadow: 0 0 14px rgba(0, 0, 0, .35); }
.ba__knob { position: absolute; top: 50%; left: var(--pos); z-index: 3; width: 46px; height: 46px;
  border-radius: 50%; background: #fff; transform: translate(-50%, -50%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .3); pointer-events: none; }
.ba__knob::before, .ba__knob::after { content: ""; position: absolute; top: 50%; width: 9px; height: 9px;
  border-top: 2px solid var(--green-dark); border-right: 2px solid var(--green-dark); }
.ba__knob::before { left: 12px; transform: rotate(-135deg); }
.ba__knob::after { right: 12px; transform: rotate(45deg); }
.ba__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; z-index: 4; }

/* сравнение */
.rcmp { border: 1px solid rgba(31, 35, 32, .09); border-radius: 18px; overflow: hidden;
  background: rgba(255, 255, 255, .5); }
.rcmp__row { display: grid; grid-template-columns: .72fr 1.14fr 1.14fr; }
.rcmp__row + .rcmp__row { border-top: 1px solid rgba(31, 35, 32, .08); }
.rcmp__row span { padding: 13px 18px; font-size: 15px; color: var(--ink); line-height: 1.45; }
.rcmp__lbl { color: var(--muted); font-weight: 600; }
.rcmp__head span { font-weight: 700; font-size: 15.5px; background: rgba(27, 122, 67, .07); }
.rcmp__rest { color: var(--green-dark); }
.rcmp__new { color: #454C52; }
.rquote { margin: 26px 0 0; padding: 26px 32px; border-radius: 18px; background: #EFEBE0;
  border-left: 3px solid var(--gold); font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic; font-size: clamp(20px, 2.3vw, 28px); line-height: 1.3; color: var(--ink); }
.rsteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rstep { background: rgba(255, 255, 255, .55); backdrop-filter: blur(10px);
  border: 1px solid rgba(31, 35, 32, .08); border-radius: 20px; padding: 22px; }
.rstep__num { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 32px;
  line-height: 1; display: block; margin-bottom: 10px;
  background: linear-gradient(120deg, #D9BC80 0%, #A98544 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.rstep b { display: block; font-size: 16px; color: var(--ink); margin-bottom: 6px; }
.rstep p { margin: 0; font-size: 14.5px; color: #454C52; line-height: 1.55; }
.kcta__phone { color: rgba(255, 255, 255, .85); font-size: 15px; flex-shrink: 0; }

@media (max-width: 1020px) {
  .rsvc { grid-template-columns: 1fr 1fr; }
  .rsteps { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rintro { padding-top: 26px; }
  .rsvc { grid-template-columns: 1fr; }
  .rcmp__row { grid-template-columns: 1fr; }
  .rcmp__row span { padding: 8px 14px; }
  .rcmp__lbl { padding-top: 12px !important; }
}

/* ================= Единые мелочи внутренних страниц ================= */

/* лист без «карточки в карточке»: тёплый фон вместо белого */
.paper { background: transparent; box-shadow: none; border-radius: 0; }
.page:not(.page--home) { padding-top: 26px; }
/* золотая линия под заголовком вместо зелёно-оранжевой */
h1.page__title::after { background: var(--gold); }
