/* Legacy inline styles consolidated from index.html */

    .reviews-grid.reviews-grid--works {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .review-card.review-card--work {
      padding: 0;
      overflow: hidden;
    }

    .review-work__image {
      appearance: none;
      display: block;
      width: 100%;
      padding: 0;
      border: 0;
      background: #e8e5dc;
      cursor: zoom-in;
      overflow: hidden;
      aspect-ratio: 4 / 3;
    }

    .review-work__image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .35s ease;
    }

    .review-card--work:hover .review-work__image img {
      transform: scale(1.025);
    }

    .review-work__body {
      padding: 24px;
    }

    .review-work__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px;
    }

    .review-work__badge {
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 5px 10px;
      border-radius: 999px;
      background: rgba(23, 58, 50, .09);
      color: #173a32;
      font-size: 13px;
      font-weight: 700;
    }

    .review-work__body h3 {
      margin: 0 0 10px;
      font-size: clamp(22px, 3vw, 30px);
    }

    .review-work__body p {
      margin: 0;
    }

    .review-work__facts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 16px;
      margin: 18px 0 0;
      padding: 18px 0 0;
      border-top: 1px solid rgba(23, 58, 50, .12);
      list-style: none;
      font-size: 14px;
    }

    .review-work__facts li::before {
      content: "✓";
      margin-right: 7px;
      color: #437c5f;
      font-weight: 800;
    }

    .reviews__note {
      margin-top: 22px;
      padding: 18px 20px;
      border-radius: 18px;
      background: rgba(23, 58, 50, .06);
    }

    .reviews__note strong {
      display: block;
      margin-bottom: 4px;
    }

    @media (max-width: 760px) {
      .reviews-grid.reviews-grid--works {
        grid-template-columns: 1fr;
      }

      .review-work__body {
        padding: 20px;
      }
    }
  

/* ===== consolidated from styles.css ===== */
:root {
  --forest-950: #0b1e1a;
  --forest-900: #102822;
  --forest-800: #173a32;
  --forest-700: #225044;
  --forest-600: #2c6756;
  --forest-100: #dfeae4;
  --forest-50: #eef4f0;
  --ink: #17201d;
  --muted: #67716c;
  --line: #d9ddd8;
  --paper: #f7f3eb;
  --paper-2: #fffdf8;
  --white: #ffffff;
  --wood-700: #9a5b36;
  --wood-500: #d69350;
  --wood-400: #e7ae70;
  --accent: #f1a84e;
  --accent-hover: #e69939;
  --accent-soft: #fff0d8;
  --success: #2c7b5d;
  --danger: #b9433f;
  --shadow-sm: 0 8px 30px rgba(12, 36, 30, 0.08);
  --shadow-md: 0 20px 60px rgba(12, 36, 30, 0.14);
  --shadow-lg: 0 34px 100px rgba(12, 36, 30, 0.22);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --radius-xl: 44px;
  --container: 1240px;
  --header-height: 84px;
  --ease: cubic-bezier(.2, .75, .25, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 28px);
  background: var(--paper);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.is-locked {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

p,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
dd,
figure,
blockquote {
  margin-top: 0;
}

ul,
ol {
  padding-left: 0;
}

h1,
h2,
h3,
h4 {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(3.25rem, 7vw, 6.4rem);
}

h2 {
  margin-bottom: 20px;
  font-size: clamp(2.45rem, 5vw, 4.6rem);
}

h3 {
  margin-bottom: 12px;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

::selection {
  color: var(--forest-950);
  background: #ffd89f;
}

:focus-visible {
  outline: 3px solid #f0a347;
  outline-offset: 4px;
}

[hidden] {
  display: none !important;
}

.container {
  width: min(calc(100% - 40px), var(--container));
  margin-inline: auto;
}

.section {
  position: relative;
  padding: clamp(88px, 11vw, 150px) 0;
}

.section--dark {
  color: rgba(255, 255, 255, 0.78);
  background: var(--forest-950);
}

.section--dark h2,
.section--dark h3 {
  color: var(--white);
}

.skip-link {
  position: fixed;
  top: 14px;
  left: 14px;
  z-index: 9999;
  padding: 12px 18px;
  color: var(--white);
  background: var(--forest-950);
  border-radius: 10px;
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.icon {
  width: 1.25em;
  height: 1.25em;
  flex: 0 0 auto;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--forest-600);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 28px;
  height: 2px;
  background: currentColor;
  border-radius: 99px;
  content: "";
}

.section--dark .eyebrow,
.section-heading--light .eyebrow {
  color: #e6b674;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(30px, 7vw, 100px);
  align-items: end;
  margin-bottom: clamp(42px, 6vw, 72px);
}

.section-heading h2 {
  max-width: 850px;
  margin-bottom: 0;
}

.section-heading > p {
  max-width: 520px;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: clamp(1rem, 1.7vw, 1.14rem);
}

.section-heading code {
  padding: .13em .36em;
  color: var(--forest-800);
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 6px;
  font-size: .9em;
}

.section-heading--light > p {
  color: rgba(255, 255, 255, .66);
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  transition: transform .22s var(--ease), background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0);
}

.button .icon {
  width: 20px;
  height: 20px;
  transition: transform .22s var(--ease);
}

.button:hover .icon {
  transform: translateX(3px);
}

.button--small {
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 12px;
  font-size: .9rem;
}

.button--large {
  min-height: 60px;
  padding: 18px 27px;
  border-radius: 16px;
  font-size: 1rem;
}

.button--wide {
  width: 100%;
}

.button--accent {
  color: var(--forest-950);
  background: var(--accent);
  box-shadow: 0 12px 24px rgba(217, 132, 42, .22);
}

.button--accent:hover {
  background: var(--accent-hover);
  box-shadow: 0 16px 34px rgba(217, 132, 42, .28);
}

.button--dark {
  color: var(--white);
  background: var(--forest-900);
}

.button--dark:hover {
  background: var(--forest-700);
  box-shadow: 0 14px 30px rgba(13, 43, 35, .2);
}

.button--ghost {
  color: var(--forest-950);
  background: rgba(255, 255, 255, .7);
  border-color: rgba(23, 58, 50, .18);
  backdrop-filter: blur(10px);
}

.button--ghost:hover {
  background: var(--white);
  border-color: rgba(23, 58, 50, .35);
}

.text-button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 6px 0;
  color: var(--forest-700);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-weight: 800;
}

.text-button .icon {
  width: 18px;
  height: 18px;
  transition: transform .2s var(--ease);
}

.text-button:hover .icon {
  transform: translateX(4px);
}

.topbar {
  position: relative;
  z-index: 102;
  color: rgba(255, 255, 255, .88);
  background: var(--forest-950);
  font-size: .79rem;
}

.topbar__inner {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.topbar p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.topbar__note {
  color: rgba(255, 255, 255, .58);
}

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #6bd39a;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(107, 211, 154, .12);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 243, 235, .87);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px) saturate(130%);
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.site-header.is-scrolled {
  background: rgba(255, 253, 248, .94);
  border-color: rgba(23, 58, 50, .1);
  box-shadow: 0 12px 40px rgba(13, 38, 31, .08);
}

.header__inner {
  display: flex;
  min-height: var(--header-height);
  align-items: center;
  gap: 28px;
}

.brand {
  width: 232px;
  flex: 0 0 auto;
}

.brand img {
  width: 100%;
  height: auto;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  margin-left: auto;
}

.desktop-nav a {
  position: relative;
  padding: 10px 0;
  color: #39443f;
  font-size: .92rem;
  font-weight: 700;
}

.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 2px;
  background: var(--accent);
  border-radius: 99px;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s var(--ease);
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .94rem;
  font-weight: 800;
  white-space: nowrap;
}

.header-phone .icon {
  color: var(--forest-600);
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--forest-950);
  background: var(--white);
  border: 1px solid rgba(23, 58, 50, .13);
  border-radius: 14px;
  cursor: pointer;
}

.menu-toggle .icon {
  width: 24px;
  height: 24px;
}

.menu-toggle__close {
  display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__open {
  display: none;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__close {
  display: block;
}

.mobile-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  background: rgba(255, 253, 248, .98);
  border-top: 1px solid var(--line);
  box-shadow: var(--shadow-md);
}

.mobile-nav {
  display: grid;
  gap: 4px;
  padding-block: 20px 26px;
}

.mobile-nav > a {
  padding: 13px 4px;
  border-bottom: 1px solid rgba(23, 58, 50, .08);
  font-weight: 750;
}

.mobile-nav__phone {
  color: var(--forest-700);
}

.hero {
  position: relative;
  min-height: calc(100vh - 118px);
  overflow: hidden;
  padding: clamp(58px, 7vw, 92px) 0 50px;
  background:
    radial-gradient(circle at 72% 20%, rgba(231, 174, 112, .23), transparent 27%),
    radial-gradient(circle at 12% 85%, rgba(44, 103, 86, .1), transparent 30%),
    linear-gradient(180deg, #fbf8f2 0%, #f1ece2 100%);
}

.hero::before {
  position: absolute;
  top: 8%;
  left: -180px;
  width: 420px;
  height: 420px;
  background: rgba(49, 104, 88, .08);
  border-radius: 50%;
  content: "";
  filter: blur(8px);
}

.hero__grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
}

.hero__content {
  padding: 15px 0 45px;
}

.hero h1 em {
  position: relative;
  display: inline-block;
  color: var(--forest-700);
  font-style: italic;
  font-weight: 500;
}

.hero h1 em::after {
  position: absolute;
  right: -2px;
  bottom: 1px;
  left: 0;
  height: 11px;
  z-index: -1;
  background: var(--accent);
  border-radius: 99px;
  content: "";
  opacity: .35;
  transform: rotate(-1.5deg);
}

.hero__lead {
  max-width: 630px;
  margin-bottom: 32px;
  color: #53605a;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.62;
}

.hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
}

.hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 0;
  list-style: none;
  color: #3e4b45;
  font-size: .93rem;
  font-weight: 700;
}

.hero__proof li {
  display: flex;
  align-items: center;
  gap: 7px;
}

.hero__proof .icon {
  width: 19px;
  height: 19px;
  padding: 3px;
  color: var(--white);
  background: var(--forest-600);
  border-radius: 50%;
}

.hero__visual {
  position: relative;
  min-width: 0;
}

.hero-image-wrap {
  position: relative;
  overflow: hidden;
  border: 8px solid rgba(255, 255, 255, .68);
  border-radius: 42px;
  box-shadow: 0 32px 90px rgba(13, 47, 37, .2);
  transform: rotate(1.2deg);
}

.hero-image-wrap::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.hero-image-wrap img {
  width: 100%;
  aspect-ratio: 1.6;
  object-fit: cover;
}

.float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 17px;
  background: rgba(255, 253, 248, .91);
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 17px;
  box-shadow: 0 18px 45px rgba(12, 38, 31, .18);
  backdrop-filter: blur(14px);
}

.float-card strong,
.float-card span,
.float-card small {
  display: block;
}

.float-card span,
.float-card small {
  color: var(--muted);
  font-size: .75rem;
}

.float-card strong {
  color: var(--forest-950);
  font-size: 1.04rem;
}

.float-card--price {
  right: -22px;
  bottom: 38px;
  display: block;
  min-width: 195px;
}

.float-card--price strong {
  margin: 3px 0 1px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
}

.float-card--time {
  top: 28px;
  left: -25px;
}

.float-card--time .icon {
  width: 38px;
  height: 38px;
  padding: 9px;
  color: var(--forest-800);
  background: var(--accent-soft);
  border-radius: 12px;
}

.float-card--badge {
  top: 42%;
  right: -38px;
}

.float-card--badge img {
  width: 48px;
  height: 48px;
}

.trust-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 50px;
  overflow: hidden;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(23, 58, 50, .1);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(16px);
}

.trust-row article {
  display: flex;
  min-height: 105px;
  align-items: center;
  gap: 14px;
  padding: 23px;
  border-right: 1px solid rgba(23, 58, 50, .09);
}

.trust-row article:last-child {
  border-right: 0;
}

.trust-row .icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  color: var(--forest-700);
  background: var(--forest-50);
  border-radius: 13px;
}

.trust-row strong,
.trust-row span {
  display: block;
}

.trust-row strong {
  margin-bottom: 3px;
  color: var(--ink);
  font-size: .93rem;
}

.trust-row span {
  color: var(--muted);
  font-size: .77rem;
  line-height: 1.4;
}

.catalog {
  background: var(--paper-2);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.product-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  background: var(--white);
  border: 1px solid rgba(23, 58, 50, .1);
  border-radius: 28px;
  box-shadow: 0 14px 44px rgba(12, 36, 30, .07);
  transition: transform .3s var(--ease), box-shadow .3s ease, border-color .3s ease;
}

.product-card:hover {
  border-color: rgba(23, 58, 50, .22);
  box-shadow: 0 24px 70px rgba(12, 36, 30, .13);
  transform: translateY(-7px);
}

.product-card--featured {
  border-color: rgba(226, 151, 67, .72);
  box-shadow: 0 20px 65px rgba(201, 124, 45, .14);
}

.product-card__visual {
  position: relative;
  overflow: hidden;
  background: var(--forest-50);
}

.product-card__visual img {
  width: 100%;
  aspect-ratio: 1.56;
  object-fit: cover;
  transition: transform .5s var(--ease);
}

.product-card:hover .product-card__visual img {
  transform: scale(1.025);
}

.product-card__tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  padding: 8px 11px;
  color: var(--forest-950);
  background: rgba(255, 253, 248, .9);
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(12, 36, 30, .1);
  font-size: .72rem;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.product-card__tag--accent {
  background: var(--accent);
  border-color: var(--accent);
}

.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 25px;
}

.product-card__title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 21px;
  border-bottom: 1px solid var(--line);
}

.product-card__title h3 {
  margin: 0;
  font-size: 1.9rem;
}

.product-card__series {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.price {
  flex: 0 0 auto;
  color: var(--forest-800);
  font-size: 1.08rem;
  font-weight: 900;
  white-space: nowrap;
}

.spec-list,
.check-list {
  margin: 0;
  list-style: none;
}

.spec-list {
  display: grid;
  gap: 11px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.spec-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #4c5852;
  font-size: .91rem;
}

.spec-list .icon {
  width: 19px;
  height: 19px;
  color: var(--wood-700);
}

.check-list {
  display: grid;
  gap: 10px;
  padding: 20px 0 24px;
  color: #39473f;
  font-size: .88rem;
}

.check-list li {
  position: relative;
  padding-left: 25px;
}

.check-list li::before {
  position: absolute;
  top: .26em;
  left: 0;
  width: 16px;
  height: 16px;
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 50%;
  content: "✓";
  color: var(--forest-700);
  font-size: .66rem;
  font-weight: 900;
  line-height: 14px;
  text-align: center;
}

.product-card__actions {
  display: grid;
  gap: 7px;
  margin-top: auto;
}

.product-card__actions .text-button {
  justify-content: center;
  font-size: .87rem;
}

.comparison {
  margin-top: 54px;
  padding: 28px;
  background: #f4f7f4;
  border: 1px solid var(--line);
  border-radius: 28px;
}

.comparison__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 24px;
}

.comparison__heading h3 {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.comparison__heading > span {
  color: var(--muted);
  font-size: .8rem;
}

.table-scroll {
  overflow-x: auto;
  border: 1px solid rgba(23, 58, 50, .1);
  border-radius: 16px;
  scrollbar-width: thin;
}

.table-scroll table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: var(--white);
}

.table-scroll th,
.table-scroll td {
  padding: 17px 20px;
  border-bottom: 1px solid rgba(23, 58, 50, .09);
  text-align: left;
}

.table-scroll thead th {
  color: var(--white);
  background: var(--forest-800);
  font-size: .84rem;
}

.table-scroll tbody th {
  color: var(--ink);
  background: #faf9f5;
  font-size: .86rem;
}

.table-scroll td {
  color: #4b5752;
  font-size: .88rem;
}

.table-scroll tbody tr:last-child th,
.table-scroll tbody tr:last-child td {
  border-bottom: 0;
}

.configurator {
  overflow: hidden;
}

.configurator__glow {
  position: absolute;
  top: -260px;
  right: -180px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(226, 151, 67, .2), transparent 66%);
  pointer-events: none;
}

.configurator::before {
  position: absolute;
  bottom: -280px;
  left: -220px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(61, 124, 103, .24), transparent 66%);
  content: "";
  pointer-events: none;
}

.configurator-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: 26px;
  align-items: start;
}

.config-panel,
.estimate {
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 28px;
}

.config-panel {
  display: grid;
  gap: 0;
  padding: 8px 30px;
}

.config-panel fieldset {
  min-width: 0;
  margin: 0;
  padding: 26px 0 30px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.config-panel fieldset:last-child {
  border-bottom: 0;
}

.config-panel legend {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 18px;
  color: var(--white);
  font-size: 1rem;
  font-weight: 800;
}

.config-panel legend > span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: var(--forest-950);
  background: var(--accent);
  border-radius: 50%;
  font-size: .76rem;
}

.model-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.model-option {
  position: relative;
  min-width: 0;
}

.model-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.model-option span {
  display: block;
  height: 100%;
  padding: 15px;
  color: rgba(255, 255, 255, .75);
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 15px;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .2s var(--ease);
}

.model-option span:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, .28);
}

.model-option strong,
.model-option small,
.model-option em {
  display: block;
}

.model-option strong {
  margin-bottom: 3px;
  color: var(--white);
  font-size: .93rem;
}

.model-option small {
  color: rgba(255, 255, 255, .52);
  font-size: .73rem;
}

.model-option em {
  margin-top: 11px;
  color: #f2bf79;
  font-size: .82rem;
  font-style: normal;
  font-weight: 800;
}

.model-option input:checked + span {
  color: var(--white);
  background: rgba(241, 168, 78, .14);
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent) inset;
}

.model-option input:focus-visible + span,
.segmented input:focus-visible + span,
.option-item input:focus-visible + span,
.contact-choice input:focus-visible + span {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.segmented {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.segmented label {
  position: relative;
}

.segmented input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.segmented span {
  display: grid;
  min-height: 58px;
  place-items: center;
  padding: 10px;
  color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 13px;
  cursor: pointer;
  font-size: .84rem;
  font-weight: 700;
  text-align: center;
}

.segmented input:checked + span {
  color: var(--forest-950);
  background: var(--accent);
  border-color: var(--accent);
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.option-item {
  position: relative;
}

.option-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.option-item > span {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 13px 14px;
  color: rgba(255, 255, 255, .75);
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.option-item__check {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  color: transparent;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 7px;
}

.option-item__check::after {
  content: "✓";
  font-size: .8rem;
  font-weight: 900;
}

.option-item__text strong,
.option-item__text small {
  display: block;
}

.option-item__text strong {
  color: var(--white);
  font-size: .84rem;
}

.option-item__text small {
  margin-top: 1px;
  color: rgba(255, 255, 255, .48);
  font-size: .7rem;
}

.option-item__price {
  color: #f2bf79;
  font-size: .76rem;
  font-weight: 800;
  white-space: nowrap;
}

.option-item input:checked + span {
  background: rgba(241, 168, 78, .1);
  border-color: rgba(241, 168, 78, .75);
}

.option-item input:checked + span .option-item__check {
  color: var(--forest-950);
  background: var(--accent);
  border-color: var(--accent);
}

.range-field__top,
.range-field__marks {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.range-field__top {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, .7);
  font-size: .84rem;
}

.range-field output {
  min-width: 78px;
  padding: 6px 10px;
  color: var(--forest-950);
  background: var(--accent);
  border-radius: 9px;
  font-size: .78rem;
  font-weight: 900;
  text-align: center;
}

.range-field input[type="range"] {
  width: 100%;
  height: 8px;
  margin: 6px 0 12px;
  appearance: none;
  background: linear-gradient(90deg, var(--accent) var(--range-progress, 6.66%), rgba(255, 255, 255, .14) var(--range-progress, 6.66%));
  border-radius: 99px;
  cursor: pointer;
}

.range-field input[type="range"]::-webkit-slider-thumb {
  width: 25px;
  height: 25px;
  appearance: none;
  background: var(--white);
  border: 5px solid var(--accent);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .24);
}

.range-field input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: var(--white);
  border: 5px solid var(--accent);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .24);
}

.range-field__marks {
  color: rgba(255, 255, 255, .4);
  font-size: .66rem;
}

.field-note {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, .46);
  font-size: .75rem;
}

.estimate {
  position: sticky;
  top: calc(var(--header-height) + 20px);
  padding: 25px;
  background: #fffdf8;
  border-color: rgba(255, 255, 255, .3);
  box-shadow: 0 32px 80px rgba(0, 0, 0, .25);
}

.estimate__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: .72rem;
}

.estimate__head p {
  margin: 0;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.estimate__status {
  display: flex;
  align-items: center;
  gap: 7px;
}

.estimate__status .status-dot {
  width: 6px;
  height: 6px;
}

.estimate__model {
  display: grid;
  grid-template-columns: 122px 1fr;
  gap: 15px;
  align-items: center;
  padding: 12px;
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 16px;
}

.estimate__model img {
  width: 122px;
  aspect-ratio: 1.55;
  object-fit: cover;
  border-radius: 11px;
}

.estimate__model span,
.estimate__model strong {
  display: block;
}

.estimate__model span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.estimate__model strong {
  margin-top: 2px;
  color: var(--forest-950);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
}

.estimate__lines {
  display: grid;
  gap: 11px;
  margin: 22px 0;
}

.estimate__lines > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--line);
}

.estimate__lines dt,
.estimate__lines dd {
  margin: 0;
  font-size: .84rem;
}

.estimate__lines dt {
  color: var(--muted);
}

.estimate__lines dd {
  color: var(--ink);
  font-weight: 800;
  white-space: nowrap;
}

.estimate__total {
  padding: 20px;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, .68);
  background: var(--forest-900);
  border-radius: 17px;
}

.estimate__total span,
.estimate__total strong,
.estimate__total small {
  display: block;
}

.estimate__total span {
  font-size: .78rem;
}

.estimate__total strong {
  margin: 4px 0;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  letter-spacing: -.04em;
}

.estimate__total small {
  color: rgba(255, 255, 255, .42);
  font-size: .67rem;
}

.estimate__print {
  width: 100%;
  padding: 10px;
  color: var(--forest-700);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: .8rem;
  font-weight: 800;
}

.estimate__privacy {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding-top: 13px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  font-size: .71rem;
}

.estimate__privacy .icon {
  color: var(--forest-600);
}

.included {
  overflow: hidden;
  background: #f4eee4;
}

.included__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
  gap: clamp(45px, 7vw, 90px);
  align-items: center;
}

.included__visual {
  position: relative;
}

.included__visual > img {
  width: 100%;
  border: 7px solid rgba(255, 255, 255, .62);
  border-radius: 34px;
  box-shadow: var(--shadow-lg);
}

.visual-label {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  color: var(--forest-950);
  background: rgba(255, 253, 248, .92);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  font-size: .75rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.visual-label span {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  color: var(--forest-950);
  background: var(--accent);
  border-radius: 8px;
  font-size: .65rem;
}

.visual-label--one {
  right: -24px;
  bottom: 23%;
}

.visual-label--two {
  bottom: 8%;
  left: -22px;
}

.visual-label--three {
  top: 15%;
  right: -12px;
}

.included__content > p:not(.eyebrow) {
  max-width: 590px;
  margin-bottom: 30px;
  color: var(--muted);
  font-size: 1.05rem;
}

.included-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}

.included-list article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
}

.included-list .icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  color: var(--wood-700);
  background: #fff8ed;
  border: 1px solid #ead7bb;
  border-radius: 13px;
}

.included-list h3 {
  margin: 0 0 5px;
  font-family: inherit;
  font-size: .96rem;
  letter-spacing: 0;
}

.included-list p {
  margin: 0;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.5;
}

.production {
  background: var(--paper-2);
}

.production__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(36px, 6vw, 78px);
  align-items: center;
}

.production__image {
  position: relative;
}

.production__image img {
  width: 100%;
  border-radius: 34px;
  box-shadow: var(--shadow-md);
}

.production__stamp {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: grid;
  width: 138px;
  height: 138px;
  place-content: center;
  color: var(--white);
  background: var(--forest-800);
  border: 5px solid rgba(255, 255, 255, .68);
  border-radius: 50%;
  box-shadow: var(--shadow-md);
  text-align: center;
  transform: rotate(-7deg);
}

.production__stamp strong,
.production__stamp span {
  display: block;
}

.production__stamp strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
}

.production__stamp span {
  color: rgba(255, 255, 255, .68);
  font-size: .68rem;
}

.timeline {
  position: relative;
  display: grid;
  gap: 0;
  margin: 0;
  list-style: none;
}

.timeline::before {
  position: absolute;
  top: 32px;
  bottom: 32px;
  left: 25px;
  width: 1px;
  background: var(--line);
  content: "";
}

.timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 18px;
  padding: 0 0 29px;
}

.timeline li:last-child {
  padding-bottom: 0;
}

.timeline li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: var(--forest-950);
  background: var(--accent);
  border: 7px solid var(--paper-2);
  border-radius: 50%;
  font-size: .71rem;
  font-weight: 900;
}

.timeline h3 {
  margin: 1px 0 5px;
  font-family: inherit;
  font-size: 1.05rem;
  letter-spacing: 0;
}

.timeline p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
}

.quality-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 54px;
  overflow: hidden;
  background: var(--forest-900);
  border-radius: 24px;
}

.quality-cards article {
  padding: 27px;
  border-right: 1px solid rgba(255, 255, 255, .11);
}

.quality-cards article:last-child {
  border-right: 0;
}

.quality-cards strong,
.quality-cards span {
  display: block;
}

.quality-cards strong {
  margin-bottom: 5px;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.quality-cards span {
  color: rgba(255, 255, 255, .56);
  font-size: .78rem;
}

.gallery {
  background: #eaf0eb;
}

.gallery-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  grid-template-rows: repeat(2, 270px);
  gap: 14px;
}

.gallery-item {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  background: var(--forest-900);
  border: 0;
  border-radius: 22px;
  cursor: zoom-in;
}

.gallery-item--large {
  grid-row: 1 / span 2;
}

.gallery-item--wide {
  grid-column: 2 / span 2;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s var(--ease), opacity .3s ease;
}

.gallery-item::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(4, 21, 16, .72));
  content: "";
}

.gallery-item:hover img {
  opacity: .94;
  transform: scale(1.035);
}

.gallery-item > span {
  position: absolute;
  right: 17px;
  bottom: 15px;
  left: 17px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--white);
  font-size: .85rem;
  font-weight: 800;
}

.gallery-item > span .icon {
  width: 20px;
  height: 20px;
}

.delivery {
  background: var(--paper-2);
}

.delivery__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: center;
}

.delivery__content > p:not(.eyebrow) {
  max-width: 560px;
  color: var(--muted);
  font-size: 1.05rem;
}

.delivery-steps {
  display: grid;
  gap: 18px;
  margin: 31px 0;
  list-style: none;
}

.delivery-steps li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
}

.delivery-steps li > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--forest-950);
  background: var(--accent);
  border-radius: 14px;
  font-weight: 900;
}

.delivery-steps strong {
  display: block;
  margin-bottom: 2px;
}

.delivery-steps p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.region-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
}

.region-chips span {
  padding: 8px 11px;
  color: var(--forest-700);
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 99px;
  font-size: .72rem;
  font-weight: 750;
}

.delivery__visual {
  position: relative;
}

.delivery__visual > img {
  width: 100%;
  border-radius: 34px;
  box-shadow: var(--shadow-lg);
}

.delivery__note {
  position: absolute;
  right: -20px;
  bottom: 25px;
  display: flex;
  max-width: 270px;
  align-items: center;
  gap: 13px;
  padding: 15px 17px;
  background: rgba(255, 253, 248, .93);
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 17px;
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(12px);
}

.delivery__note .icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  color: var(--forest-700);
  background: var(--forest-50);
  border-radius: 13px;
}

.delivery__note span,
.delivery__note strong {
  display: block;
}

.delivery__note span {
  color: var(--muted);
  font-size: .74rem;
}

.delivery__note strong {
  color: var(--ink);
  font-size: .88rem;
}

.reviews {
  background: #f0e8db;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.review-card {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  padding: 27px;
  background: var(--paper-2);
  border: 1px solid rgba(86, 61, 40, .12);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}

.review-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #df9140;
  font-size: .9rem;
  letter-spacing: .08em;
}

.demo-label {
  padding: 6px 8px;
  color: var(--wood-700);
  background: var(--accent-soft);
  border-radius: 8px;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.review-card > p {
  margin: 31px 0 34px;
  color: #3f4a45;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.16rem;
  font-style: italic;
  line-height: 1.6;
}

.review-card footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.avatar {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--white);
  background: var(--forest-800);
  border-radius: 50%;
  font-size: .77rem;
  font-weight: 900;
}

.review-card footer strong,
.review-card footer span {
  display: block;
}

.review-card footer strong {
  font-size: .85rem;
}

.review-card footer span {
  color: var(--muted);
  font-size: .72rem;
}

.faq {
  background: var(--paper-2);
}

.faq__grid {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: clamp(45px, 8vw, 110px);
  align-items: start;
}

.faq__intro {
  position: sticky;
  top: calc(var(--header-height) + 36px);
}

.faq__intro > p:not(.eyebrow) {
  color: var(--muted);
}

.faq__contact {
  display: grid;
  justify-items: start;
  gap: 4px;
  margin-top: 32px;
  padding: 21px;
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 17px;
}

.faq__contact > span {
  color: var(--muted);
  font-size: .73rem;
}

.faq__contact > a {
  color: var(--forest-800);
  font-size: 1.15rem;
  font-weight: 900;
}

.accordion {
  border-top: 1px solid var(--line);
}

.accordion details {
  border-bottom: 1px solid var(--line);
}

.accordion summary {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 0;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion summary .icon {
  width: 24px;
  height: 24px;
  padding: 5px;
  color: var(--forest-700);
  background: var(--forest-50);
  border-radius: 50%;
  transition: transform .25s var(--ease);
}

.accordion details[open] summary .icon {
  transform: rotate(180deg);
}

.accordion details > div {
  overflow: hidden;
}

.accordion details p {
  max-width: 750px;
  padding: 0 52px 25px 0;
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.7;
}

.final-cta {
  overflow: hidden;
  color: rgba(255, 255, 255, .7);
  background:
    radial-gradient(circle at 80% 15%, rgba(232, 167, 92, .18), transparent 28%),
    var(--forest-900);
}

.final-cta::before {
  position: absolute;
  bottom: -230px;
  left: -130px;
  width: 520px;
  height: 520px;
  background: rgba(50, 119, 98, .22);
  border-radius: 50%;
  content: "";
  filter: blur(30px);
}

.final-cta h2 {
  color: var(--white);
}

.final-cta__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(440px, .72fr);
  gap: clamp(45px, 8vw, 110px);
  align-items: center;
}

.final-cta__content > p:not(.eyebrow) {
  max-width: 560px;
  font-size: 1.05rem;
}

.contact-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.contact-points a {
  display: flex;
  min-width: 220px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 15px;
}

.contact-points .icon {
  width: 40px;
  height: 40px;
  padding: 9px;
  color: var(--forest-950);
  background: var(--accent);
  border-radius: 12px;
}

.contact-points small,
.contact-points strong {
  display: block;
}

.contact-points small {
  color: rgba(255, 255, 255, .48);
  font-size: .7rem;
}

.contact-points strong {
  color: var(--white);
  font-size: .9rem;
}

.lead-form {
  padding: 28px;
  color: var(--ink);
  background: var(--paper-2);
  border-radius: 25px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .2);
}

.form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.form-head span {
  color: var(--muted);
  font-size: .76rem;
}

.form-head strong {
  color: var(--forest-700);
  font-size: .78rem;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.field {
  display: block;
  margin-bottom: 13px;
}

.field > span,
.contact-choice legend {
  display: block;
  margin-bottom: 7px;
  color: #4c5852;
  font-size: .74rem;
  font-weight: 800;
}

.field input,
.field textarea,
.field select {
  width: 100%;
  min-height: 51px;
  padding: 13px 14px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid #cfd7d2;
  border-radius: 12px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.field input::placeholder,
.field textarea::placeholder {
  color: #9aa39f;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  background: #fffefb;
  border-color: var(--forest-600);
  box-shadow: 0 0 0 4px rgba(44, 103, 86, .1);
}

.field input[aria-invalid="true"] {
  border-color: var(--danger);
  box-shadow: 0 0 0 4px rgba(185, 67, 63, .08);
}

.field-error {
  display: block;
  min-height: 0;
  margin-top: 4px;
  color: var(--danger);
  font-size: .68rem;
}

.contact-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 16px;
  padding: 0;
  border: 0;
}

.contact-choice legend {
  width: 100%;
}

.contact-choice label {
  position: relative;
}

.contact-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contact-choice label span {
  display: block;
  min-width: 86px;
  padding: 9px 12px;
  color: var(--muted);
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 10px;
  cursor: pointer;
  font-size: .73rem;
  font-weight: 750;
  text-align: center;
}

.contact-choice input:checked + span {
  color: var(--white);
  background: var(--forest-800);
  border-color: var(--forest-800);
}

.consent {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: start;
  margin: 14px 0 15px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}

.consent input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--forest-700);
}

.consent a {
  color: var(--forest-700);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.form-status {
  min-height: 20px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: .75rem;
  text-align: center;
}

.form-status.is-success {
  color: var(--success);
}

.form-status.is-error {
  color: var(--danger);
}

.lead-form.is-loading button[type="submit"] {
  pointer-events: none;
  opacity: .68;
}

.site-footer {
  color: rgba(255, 255, 255, .64);
  background: var(--forest-950);
}

.footer__top {
  display: grid;
  grid-template-columns: 1.45fr .7fr .75fr .9fr;
  gap: 36px;
  padding: 58px 0 42px;
}

.footer__brand img {
  width: 220px;
  padding: 8px;
  background: var(--paper-2);
  border-radius: 12px;
}

.footer__brand p {
  max-width: 380px;
  margin: 20px 0 0;
  font-size: .76rem;
  line-height: 1.65;
}

.footer__nav,
.footer__contacts {
  display: grid;
  align-content: start;
  gap: 9px;
}

.footer__nav strong,
.footer__contacts strong {
  margin-bottom: 7px;
  color: var(--white);
  font-size: .84rem;
}

.footer__nav a,
.footer__contacts a,
.footer__contacts span {
  font-size: .75rem;
}

.footer__nav a:hover,
.footer__contacts a:hover {
  color: var(--white);
}

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: .68rem;
}

.mobile-cta {
  display: none;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 20px;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 19, 15, .72);
  backdrop-filter: blur(8px);
}

.modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 540px);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 34px;
  background: var(--paper-2);
  border-radius: 26px;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .36);
}

.modal__dialog h2 {
  margin-bottom: 10px;
  font-size: clamp(2rem, 5vw, 3rem);
}

.modal__subtitle {
  margin-bottom: 20px;
  color: var(--muted);
  font-size: .88rem;
}

.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  padding: 0;
  color: var(--forest-950);
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 13px;
  cursor: pointer;
}

.modal__close .icon {
  width: 22px;
  height: 22px;
}

.modal__config {
  padding: 13px 15px;
  margin-bottom: 17px;
  color: var(--forest-800);
  background: var(--forest-50);
  border: 1px solid var(--forest-100);
  border-radius: 13px;
  font-size: .76rem;
}

.lead-form--modal {
  padding: 0;
  box-shadow: none;
}

.lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(1100px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  overflow: hidden;
  background: var(--forest-950);
  border: 6px solid rgba(255, 255, 255, .75);
  border-radius: 24px;
  box-shadow: var(--shadow-lg);
}

.lightbox__dialog > img {
  width: 100%;
  max-height: calc(100vh - 52px);
  object-fit: contain;
}

.lightbox__close {
  color: var(--white);
  background: rgba(12, 36, 30, .76);
  border-color: rgba(255, 255, 255, .2);
}

.toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  max-width: 390px;
  padding: 15px 18px;
  color: var(--white);
  background: var(--forest-900);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  box-shadow: var(--shadow-lg);
  font-size: .8rem;
}

.has-js .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .72s var(--ease), transform .72s var(--ease);
}

.has-js .reveal--delay {
  transition-delay: .1s;
}

.has-js .reveal--delay-2 {
  transition-delay: .2s;
}

.has-js .reveal--delay-3 {
  transition-delay: .3s;
}

.has-js .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  :root {
    --header-height: 76px;
  }

  .brand {
    width: 195px;
  }

  .desktop-nav {
    display: none;
  }

  .header__actions {
    margin-left: auto;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .hero__grid {
    grid-template-columns: minmax(0, .9fr) minmax(450px, 1.1fr);
  }

  .float-card--badge {
    right: -10px;
  }

  .trust-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-row article:nth-child(2) {
    border-right: 0;
  }

  .trust-row article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(23, 58, 50, .09);
  }

  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-card:last-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
  }

  .product-card:last-child .product-card__visual img {
    height: 100%;
    aspect-ratio: auto;
  }

  .included__grid,
  .production__grid,
  .delivery__grid {
    gap: 50px;
  }

  .delivery__grid {
    grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
  }

  .footer__top {
    grid-template-columns: 1.3fr repeat(3, 1fr);
  }
}

@media (max-width: 920px) {
  .section-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .section-heading > p {
    max-width: 700px;
  }

  .hero {
    min-height: auto;
    padding-top: 48px;
  }

  .hero__grid {
    grid-template-columns: 1fr;
  }

  .hero__content {
    max-width: 760px;
    padding-bottom: 0;
  }

  .hero__visual {
    max-width: 760px;
    margin-inline: auto;
  }

  .float-card--time {
    left: 18px;
  }

  .float-card--price {
    right: 18px;
  }

  .float-card--badge {
    right: 8%;
  }

  .configurator-grid {
    grid-template-columns: 1fr;
  }

  .estimate {
    position: static;
  }

  .included__grid,
  .production__grid,
  .delivery__grid,
  .faq__grid,
  .final-cta__grid {
    grid-template-columns: 1fr;
  }

  .included__visual,
  .production__image,
  .delivery__visual {
    max-width: 760px;
    margin-inline: auto;
  }

  .faq__intro {
    position: static;
  }

  .faq__intro > p:not(.eyebrow) {
    max-width: 660px;
  }

  .faq__contact {
    max-width: 360px;
  }

  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 330px 230px 270px;
  }

  .gallery-item--large {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .gallery-item--wide {
    grid-column: 1 / -1;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }

  .review-card {
    min-height: 0;
  }

  .footer__top {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .footer__contacts {
    grid-column: 2 / -1;
  }
}

@media (max-width: 720px) {
  :root {
    --header-height: 68px;
  }

  html {
    scroll-padding-top: 88px;
  }

  body {
    padding-bottom: 72px;
  }

  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .section {
    padding: 82px 0;
  }

  h1 {
    font-size: clamp(3.05rem, 15vw, 4.65rem);
  }

  h2 {
    font-size: clamp(2.25rem, 11vw, 3.5rem);
  }

  .topbar__inner {
    min-height: 31px;
    justify-content: center;
  }

  .topbar__note {
    display: none !important;
  }

  .topbar p {
    font-size: .7rem;
  }

  .header__inner {
    gap: 12px;
  }

  .brand {
    width: 175px;
  }

  .header__actions {
    display: none;
  }

  .menu-toggle {
    margin-left: auto;
  }

  .hero {
    padding: 38px 0 30px;
  }

  .hero__lead {
    font-size: 1.04rem;
  }

  .hero__buttons {
    display: grid;
  }

  .hero__buttons .button {
    width: 100%;
  }

  .hero__proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    font-size: .8rem;
  }

  .hero-image-wrap {
    border-width: 4px;
    border-radius: 25px;
    transform: none;
  }

  .float-card {
    padding: 11px 12px;
    border-radius: 13px;
  }

  .float-card--time {
    top: 12px;
    left: 10px;
  }

  .float-card--time .icon {
    width: 33px;
    height: 33px;
  }

  .float-card--price {
    right: 10px;
    bottom: 12px;
    min-width: 155px;
  }

  .float-card--price strong {
    font-size: 1.15rem;
  }

  .float-card--badge {
    display: none;
  }

  .trust-row {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .trust-row article,
  .trust-row article:nth-child(2) {
    min-height: 88px;
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(23, 58, 50, .09);
  }

  .trust-row article:last-child {
    border-bottom: 0;
  }

  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .product-card:last-child {
    grid-column: auto;
    display: flex;
  }

  .product-card:last-child .product-card__visual img {
    height: auto;
    aspect-ratio: 1.56;
  }

  .product-card__body {
    padding: 21px;
  }

  .product-card__title {
    flex-direction: column;
    gap: 8px;
  }

  .comparison {
    padding: 20px;
  }

  .comparison__heading {
    display: block;
  }

  .comparison__heading > span {
    display: block;
    margin-top: 8px;
  }

  .config-panel {
    padding: 4px 18px;
  }

  .model-options,
  .segmented,
  .option-grid {
    grid-template-columns: 1fr;
  }

  .model-option span {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 12px;
  }

  .model-option small {
    grid-column: 1;
  }

  .model-option em {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin: 0;
  }

  .segmented {
    grid-template-columns: 1fr 1fr;
  }

  .estimate {
    padding: 20px;
  }

  .estimate__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .estimate__model {
    grid-template-columns: 100px 1fr;
  }

  .estimate__model img {
    width: 100px;
  }

  .included-list {
    grid-template-columns: 1fr;
  }

  .visual-label--one {
    right: 7px;
  }

  .visual-label--two {
    left: 7px;
  }

  .visual-label--three {
    right: 7px;
  }

  .visual-label {
    font-size: .64rem;
  }

  .quality-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .quality-cards article:nth-child(2) {
    border-right: 0;
  }

  .quality-cards article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, .11);
  }

  .gallery-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 240px);
  }

  .gallery-item--large,
  .gallery-item--wide {
    grid-column: auto;
  }

  .delivery__note {
    right: 10px;
    bottom: 10px;
  }

  .accordion summary {
    min-height: 68px;
    padding: 19px 0;
    font-size: .9rem;
  }

  .accordion details p {
    padding-right: 0;
  }

  .field-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .lead-form {
    padding: 21px;
  }

  .form-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .contact-choice label {
    flex: 1;
  }

  .contact-choice label span {
    min-width: 0;
  }

  .footer__top {
    grid-template-columns: 1fr 1fr;
  }

  .footer__brand {
    grid-column: 1 / -1;
  }

  .footer__contacts {
    grid-column: 1 / -1;
  }

  .footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .mobile-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 90;
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 8px;
    padding: 8px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    background: rgba(255, 253, 248, .94);
    border-top: 1px solid rgba(23, 58, 50, .12);
    box-shadow: 0 -10px 30px rgba(12, 36, 30, .1);
    backdrop-filter: blur(16px);
  }

  .mobile-cta > a {
    display: grid;
    place-items: center;
    color: var(--white);
    background: var(--forest-800);
    border-radius: 13px;
  }

  .mobile-cta .button {
    min-height: 52px;
  }

  .modal {
    padding: 10px;
    align-items: end;
  }

  .modal__dialog {
    width: 100%;
    max-height: calc(100vh - 10px);
    padding: 26px 20px 20px;
    border-radius: 24px 24px 12px 12px;
  }

  .lightbox {
    align-items: center;
  }

  .lightbox__dialog {
    width: calc(100vw - 20px);
  }

  .toast {
    right: 12px;
    bottom: 82px;
    left: 12px;
    max-width: none;
  }
}

@media (max-width: 430px) {
  .brand {
    width: 155px;
  }

  .hero__proof {
    grid-template-columns: 1fr;
  }

  .float-card--time {
    display: none;
  }

  .product-card__tag {
    top: 11px;
    left: 11px;
  }

  .segmented {
    grid-template-columns: 1fr;
  }

  .quality-cards {
    grid-template-columns: 1fr;
  }

  .quality-cards article,
  .quality-cards article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
  }

  .quality-cards article:last-child {
    border-bottom: 0;
  }

  .contact-points a {
    width: 100%;
  }

  .footer__top {
    grid-template-columns: 1fr;
  }

  .footer__brand,
  .footer__contacts {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .has-js .reveal {
    opacity: 1;
    transform: none;
  }
}

@media print {
  .topbar,
  .site-header,
  .hero,
  .catalog,
  .included,
  .production,
  .gallery,
  .delivery,
  .reviews,
  .faq,
  .final-cta,
  .site-footer,
  .mobile-cta,
  .modal,
  .toast,
  .section-heading,
  .config-panel,
  .estimate__print,
  .estimate__privacy,
  .estimate > .button {
    display: none !important;
  }

  body {
    padding: 0;
    background: #fff;
  }

  .configurator {
    display: block;
    min-height: 0;
    padding: 0;
    background: #fff;
  }

  .configurator .container {
    width: 100%;
  }

  .configurator-grid {
    display: block;
  }

  .estimate {
    display: block;
    position: static;
    width: 100%;
    max-width: 680px;
    margin: 40px auto;
    color: #111;
    border: 1px solid #bbb;
    box-shadow: none;
  }
}

/* Внутренние страницы */
.inner-page {
  min-height: 100vh;
  background: var(--paper-2);
}

.inner-header {
  padding: 22px 0;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.inner-header__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.inner-header .brand {
  display: block;
}

.inner-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--forest-700);
  font-weight: 800;
}

.legal-page {
  padding: 70px 0 110px;
}

.legal-page__content {
  max-width: 840px;
}

.legal-page h1 {
  margin-bottom: 18px;
  font-size: clamp(2.6rem, 6vw, 4.7rem);
}

.legal-page h2 {
  margin: 42px 0 14px;
  font-family: inherit;
  font-size: 1.35rem;
  letter-spacing: -.015em;
}

.legal-page p,
.legal-page li {
  color: #4d5953;
}

.legal-page ul {
  padding-left: 22px;
}

.legal-note {
  padding: 18px 20px;
  margin: 28px 0;
  color: var(--wood-700);
  background: var(--accent-soft);
  border: 1px solid #efd5ae;
  border-radius: 14px;
  font-size: .88rem;
}

.error-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 30px;
  background:
    radial-gradient(circle at 75% 22%, rgba(231, 174, 112, .28), transparent 25%),
    linear-gradient(180deg, #fbf8f2, #eee7dc);
  text-align: center;
}

.error-page__box {
  width: min(100%, 680px);
  padding: clamp(30px, 7vw, 70px);
  background: rgba(255, 253, 248, .88);
  border: 1px solid rgba(23, 58, 50, .1);
  border-radius: 32px;
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(16px);
}

.error-page__code {
  display: block;
  color: var(--forest-700);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(5rem, 20vw, 10rem);
  font-weight: 700;
  letter-spacing: -.08em;
  line-height: .8;
}

.error-page h1 {
  margin: 28px 0 14px;
  font-size: clamp(2rem, 6vw, 3.5rem);
}

.error-page p {
  color: var(--muted);
}

@media (max-width: 720px) {
  .inner-header__row {
    align-items: flex-start;
    flex-direction: column;
  }

  .legal-page {
    padding: 48px 0 90px;
  }
}


/* ===== consolidated from catalog-variants.css ===== */
/* Каталог вариантов и кейс 3,5 м */
.variant-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.variant-card {
  display: flex;
  flex-direction: column;
  min-height: 255px;
  padding: 22px;
  border: 1px solid rgba(23, 58, 50, .12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(23, 58, 50, .055);
}

.variant-card--featured {
  grid-column: auto;
  padding: 0;
  overflow: hidden;
  border-color: rgba(183, 121, 47, .35);
}

.variant-card--featured > :not(.variant-card__photo) {
  margin-left: 22px;
  margin-right: 22px;
}

.variant-card--featured .button {
  align-self: stretch;
  width: auto !important;
  max-width: none;
  margin: auto 22px 22px;
  box-sizing: border-box;
}

.variant-card__photo {
  position: relative;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  margin-bottom: 18px;
}

.variant-card__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.variant-card__photo span {
  position: absolute;
  left: 14px;
  top: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(23, 58, 50, .9);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.variant-card__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 13px;
}

.variant-card__top > span {
  color: #65706b;
  font-size: 13px;
  font-weight: 700;
}

.variant-card__top > strong {
  white-space: nowrap;
  color: #173a32;
  font-size: 19px;
}

.variant-card h3 {
  margin: 0 0 8px;
  font-size: 23px;
}

.variant-card p {
  margin: 0 0 20px;
  color: #65706b;
  line-height: 1.55;
}

.variant-card .button {
  margin-top: auto;
}

.variant-table td:last-child {
  white-space: nowrap;
  font-weight: 800;
}

.standard-equipment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid rgba(23,58,50,.12);
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
}

.standard-equipment article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(23,58,50,.08);
}

.standard-equipment article:nth-child(odd) {
  border-right: 1px solid rgba(23,58,50,.08);
}

.standard-equipment article strong {
  color: #b7792f;
  font: 700 16px/1.4 Georgia, serif;
}

.standard-equipment article span {
  line-height: 1.5;
}

.standard-equipment__cta,
.case-35__cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 22px;
  padding: 20px 22px;
  border-radius: 20px;
  background: rgba(23,58,50,.06);
}

.standard-equipment__cta p {
  margin: 0;
}

.case-35__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.case-35__facts span {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(23,58,50,.06);
  color: #65706b;
  font-size: 13px;
}

.case-35__facts strong {
  display: block;
  margin-bottom: 2px;
  color: #173a32;
  font-size: 18px;
}

.gallery-grid--case .gallery-item img {
  object-position: center;
}

.gallery-grid--case .gallery-item--plan {
  background: #fff;
}

.gallery-grid--case .gallery-item--plan img {
  object-fit: contain;
  background: #fff;
}

.case-35__cta {
  justify-content: center;
}

.model-options {
  max-height: 480px;
  overflow: auto;
  padding-right: 4px;
}

@media (max-width: 1050px) {
  .variant-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .case-35__facts {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .variant-grid {
    grid-template-columns: 1fr;
  }
  .variant-card--featured {
    grid-column: auto;
  }
  .standard-equipment {
    grid-template-columns: 1fr;
  }
  .standard-equipment article:nth-child(odd) {
    border-right: 0;
  }
  .standard-equipment__cta {
    align-items: stretch;
    flex-direction: column;
  }
  .standard-equipment__cta .button {
    width: 100%;
  }
  .case-35__facts {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 430px) {
  .case-35__facts {
    grid-template-columns: 1fr;
  }
}


/* Квиз 3 шага */
.quiz-shell { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr); overflow:hidden; border:1px solid rgba(23,58,50,.12); border-radius:26px; background:#fff; box-shadow:0 20px 60px rgba(23,58,50,.08); }
.quiz-intro { padding:32px; background:linear-gradient(145deg,#f2f7f1,#fbfaf5); }
.quiz-intro h3 { margin:8px 0 22px; font-size:clamp(28px,3vw,42px); }
.quiz-intro ul { list-style:none; padding:0; margin:0; display:grid; gap:14px; color:#65706b; }
.quiz-intro li::before { content:'✓'; display:inline-grid; place-items:center; width:22px; height:22px; margin-right:9px; border:1px solid #2f765e; border-radius:50%; color:#2f765e; font-weight:800; }
.quiz-main { padding:30px; min-width:0; }
.quiz-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:28px; }
.quiz-progress span { height:5px; border-radius:99px; background:#e7ece9; }
.quiz-progress span.is-active { background:#2f765e; }
.quiz-step[hidden] { display:none; }
.quiz-step__meta { color:#7b8580; font-size:13px; margin-bottom:8px; }
.quiz-step h3 { margin:0 0 6px; font-size:25px; }
.quiz-step > p { margin:0 0 22px; color:#65706b; }
.quiz-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.quiz-option { position:relative; cursor:pointer; }
.quiz-option input { position:absolute; opacity:0; pointer-events:none; }
.quiz-option span { display:flex; min-height:62px; align-items:center; justify-content:center; padding:12px; border:1px solid rgba(23,58,50,.16); border-radius:14px; text-align:center; font-weight:800; background:#fff; transition:.18s ease; }
.quiz-option input:checked + span { border-color:#2f765e; background:#edf6ef; box-shadow:0 0 0 2px rgba(47,118,94,.12); }
.quiz-option input:disabled + span { opacity:.38; cursor:not-allowed; }
.quiz-actions { display:flex; justify-content:space-between; gap:12px; margin-top:26px; }
.quiz-actions .button { min-width:150px; }
.quiz-distance { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:16px; align-items:center; }
.quiz-distance input[type=number] { width:100%; padding:14px; border:1px solid rgba(23,58,50,.16); border-radius:12px; font:inherit; }
.quiz-note { margin-top:12px !important; font-size:14px; }
.quiz-result { margin-top:24px; padding:20px; border-radius:18px; background:#f3f7f3; }
.quiz-result strong { display:block; font-size:28px; color:#173a32; margin-top:4px; }
@media (max-width:900px){ .quiz-shell{grid-template-columns:1fr}.quiz-intro{padding:24px}.quiz-main{padding:24px} }
@media (max-width:560px){ .quiz-options{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-distance{grid-template-columns:1fr}.quiz-actions{align-items:stretch}.quiz-actions .button{min-width:0;flex:1}.variant-card{min-height:230px;padding:18px}.variant-card--featured>:not(.variant-card__photo){margin-left:18px;margin-right:18px}.variant-card--featured .button{margin:auto 18px 18px} }

.variant-card { min-width: 0; }
.variant-card .button--wide { box-sizing: border-box; max-width: 100%; }
.variant-card--featured .button--wide {
  width: auto !important;
  max-width: none;
  margin-left: 22px;
  margin-right: 22px;
}

.quiz-current {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  align-items: center;
  margin: 0 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(23,58,50,.14);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(237,246,239,.9), rgba(255,255,255,.96));
}
.quiz-current__label {
  display: block;
  margin-bottom: 4px;
  color: #6d7772;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.quiz-current__model {
  display: block;
  color: #173a32;
  font-size: 18px;
  line-height: 1.25;
}
.quiz-current__layout {
  display: block;
  margin-top: 3px;
  color: #65706b;
  font-size: 13px;
}
.quiz-current__price { text-align: right; }
.quiz-current__price small {
  display: block;
  margin-bottom: 2px;
  color: #6d7772;
  font-size: 11px;
}
.quiz-current__price strong {
  display: block;
  white-space: nowrap;
  color: #173a32;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1;
}
.quiz-option__price {
  display: block;
  margin-top: 5px;
  color: #2f765e;
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 560px) {
  .quiz-current { grid-template-columns: 1fr; }
  .quiz-current__price { text-align: left; }
}


/* FIX: кнопка карточки 3,5 м всегда остаётся внутри карточки */
.variant-card--featured .button.button--wide {
  display: flex !important;
  width: calc(100% - 44px) !important;
  max-width: calc(100% - 44px) !important;
  margin: auto 22px 22px !important;
  box-sizing: border-box !important;
  align-self: center !important;
}

/* Цена рядом с длиной — с нормальным пробелом */
.quiz-option__price {
  display: inline-block !important;
  margin-left: .42em !important;
}

/* Блок текущего выбора */
.quiz-current__price-label {
  display: block;
  margin-bottom: 2px;
  color: #6d7772;
  font-size: 11px;
}
.quiz-current__price strong.is-zero,
.quiz-option__price.is-zero {
  color: #69746f;
}

/* Дополнительные опции */
.quiz-options--addons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quiz-addon {
  position: relative;
  display: block;
  min-width: 0;
}
.quiz-addon > input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.quiz-addon__card {
  display: flex;
  flex-direction: column;
  min-height: 132px;
  height: 100%;
  padding: 15px 16px;
  border: 1px solid rgba(23,58,50,.15);
  border-radius: 15px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.quiz-addon > input:checked + .quiz-addon__card {
  border-color: #2f765e;
  background: #eff7f2;
  box-shadow: inset 0 0 0 1px #2f765e;
}
.quiz-addon > input:disabled + .quiz-addon__card {
  opacity: .48;
  cursor: not-allowed;
}
.quiz-addon__title {
  display: block;
  color: #173a32;
  font-weight: 800;
  line-height: 1.28;
}
.quiz-addon__desc {
  display: block;
  margin-top: 6px;
  color: #6d7772;
  font-size: 12px;
  line-height: 1.4;
}
.quiz-addon__bottom {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
}
.quiz-addon__price {
  color: #2f765e;
  font-weight: 900;
  white-space: nowrap;
}
.quiz-addon__qty {
  display: none;
  align-items: center;
  gap: 5px;
  color: #6d7772;
  font-size: 11px;
}
.quiz-addon > input:checked + .quiz-addon__card .quiz-addon__qty {
  display: flex;
}
.quiz-addon__qty input {
  width: 58px;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid rgba(23,58,50,.18);
  border-radius: 8px;
  background: #fff;
  color: #173a32;
  font: inherit;
}
.quiz-addon__badge {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f7ead6;
  color: #815118;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.quiz-addon__warning {
  margin-top: 7px;
  color: #9a5538;
  font-size: 11px;
  line-height: 1.35;
}
.quiz-options__section-title {
  grid-column: 1 / -1;
  margin: 5px 0 -2px;
  color: #6d7772;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.quiz-wash-note {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(47,118,94,.07);
  color: #587068;
  font-size: 12px;
  line-height: 1.45;
}
.quiz-options-total {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin: 16px 0 0;
  padding: 13px 15px;
  border-radius: 13px;
  background: rgba(23,58,50,.06);
}
.quiz-options-total span {
  color: #65706b;
}
.quiz-options-total strong {
  color: #173a32;
  white-space: nowrap;
}

/* Итог последнего шага */
.quiz-result__breakdown {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}
.quiz-result__row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #66716c;
  font-size: 13px;
}
.quiz-result__row strong {
  color: #173a32;
  white-space: nowrap;
}
.quiz-result__row--total {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(23,58,50,.12);
  font-size: 15px;
}

@media (max-width: 720px) {
  .quiz-options--addons {
    grid-template-columns: 1fr;
  }
}


/* Реальная работа: 6 м, Казань */
.case-work {
  background: linear-gradient(180deg, rgba(23,58,50,.025), transparent 55%);
}

.case-work__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 22px;
}

.case-work__facts span {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(23,58,50,.06);
  color: #65706b;
  font-size: 13px;
}

.case-work__facts strong {
  display: block;
  margin-bottom: 2px;
  color: #173a32;
  font-size: 18px;
}

.case-work__video-grid {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(320px,1.15fr);
  gap: 26px;
  align-items: center;
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid rgba(23,58,50,.12);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 46px rgba(23,58,50,.055);
}

.case-work__video-copy h3 {
  margin: 4px 0 12px;
  font-size: clamp(27px,4vw,42px);
  line-height: 1.02;
}

.case-work__video-copy > p:not(.eyebrow) {
  color: #65706b;
  line-height: 1.6;
}

.case-work__check {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.case-work__check li::before {
  content: "✓";
  margin-right: 8px;
  color: #2f765e;
  font-weight: 900;
}

.case-work__video {
  position: relative;
  width: min(100%, 420px);
  justify-self: center;
}

.case-work__video video {
  display: block;
  width: 100%;
  max-height: 640px;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 20px;
  background: #102b25;
  box-shadow: 0 18px 50px rgba(16,43,37,.18);
}

.case-work__video-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(16,43,37,.88);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  pointer-events: none;
}

.case-work__gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  grid-auto-rows: 240px;
  gap: 12px;
}

.case-work__photo {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: #e8e5dc;
  cursor: zoom-in;
}

.case-work__photo--wide {
  grid-column: span 2;
  grid-row: span 2;
}

.case-work__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.case-work__photo:hover img {
  transform: scale(1.025);
}

.case-work__photo span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(16,43,37,.82);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.case-work__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding: 20px 22px;
  border-radius: 20px;
  background: rgba(23,58,50,.06);
}

.case-work__cta strong,
.case-work__cta span {
  display: block;
}

.case-work__cta span {
  margin-top: 3px;
  color: #65706b;
  font-size: 13px;
}

@media (max-width: 980px) {
  .case-work__facts {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .case-work__video-grid {
    grid-template-columns: 1fr;
  }

  .case-work__gallery {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .case-work__facts {
    grid-template-columns: 1fr 1fr;
  }

  .case-work__video-grid {
    padding: 16px;
  }

  .case-work__gallery {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 180px;
  }

  .case-work__photo--wide {
    grid-column: 1 / -1;
    grid-row: span 2;
  }

  .case-work__cta {
    align-items: stretch;
    flex-direction: column;
  }

  .case-work__cta .button {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .case-work__facts {
    grid-template-columns: 1fr;
  }

  .case-work__gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 230px;
  }

  .case-work__photo--wide {
    grid-column: auto;
    grid-row: auto;
  }
}


/* ===== consolidated from reviews.css ===== */
.community-reviews__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  padding: 20px 22px;
  border: 1px solid rgba(23, 58, 50, .12);
  border-radius: 22px;
  background: rgba(255, 255, 255, .72);
}

.community-reviews__rating {
  display: flex;
  align-items: center;
  gap: 14px;
}

.community-reviews__rating > strong {
  font-size: clamp(36px, 5vw, 52px);
  line-height: 1;
}

.community-reviews__stars,
.review-card-user__stars {
  letter-spacing: 2px;
  color: #d28a2e;
}

.community-reviews__rating span {
  display: block;
  margin-top: 4px;
  color: var(--muted, #65706b);
  font-size: 14px;
}

.community-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.community-reviews__empty {
  grid-column: 1 / -1;
  padding: 30px;
  border: 1px dashed rgba(23, 58, 50, .2);
  border-radius: 22px;
  text-align: center;
  color: var(--muted, #65706b);
}

.review-card-user {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 22px;
  border: 1px solid rgba(23, 58, 50, .12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(23, 58, 50, .06);
}

.review-card-user__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.review-card-user__verified {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(23, 58, 50, .08);
  color: #173a32;
  font-size: 12px;
  font-weight: 700;
}

.review-card-user__text {
  margin: 0;
  line-height: 1.65;
  white-space: pre-line;
}

.review-card-user__footer {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: auto;
  padding-top: 22px;
}

.review-card-user__avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #173a32;
  color: #fff;
  font-weight: 800;
}

.review-card-user__footer strong,
.review-card-user__footer span {
  display: block;
}

.review-card-user__footer span {
  margin-top: 3px;
  color: var(--muted, #65706b);
  font-size: 13px;
}

.review-form-wrap {
  margin-top: 28px;
}

.review-form {
  max-width: 760px;
  margin: 0 auto;
  padding: 28px;
  border: 1px solid rgba(23, 58, 50, .12);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(23, 58, 50, .08);
}

.review-form__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.review-form__head h3 {
  margin: 4px 0 0;
  font-size: clamp(26px, 4vw, 38px);
}

.review-form__close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(23, 58, 50, .08);
  color: #173a32;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.review-rating {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.review-rating legend {
  margin-bottom: 8px;
  font-weight: 700;
}

.review-rating__stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 3px;
}

.review-rating__stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.review-rating__stars label {
  color: #d7d2c7;
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
  transition: color .15s ease, transform .15s ease;
}

.review-rating__stars label:hover,
.review-rating__stars label:hover ~ label,
.review-rating__stars input:checked ~ label {
  color: #d28a2e;
}

.review-rating__stars label:hover {
  transform: translateY(-1px);
}

.review-form textarea {
  width: 100%;
  resize: vertical;
}

.review-form__counter {
  margin-top: 5px;
  text-align: right;
  color: var(--muted, #65706b);
  font-size: 12px;
}

.review-form .form-status.is-success {
  color: #237447;
}

.review-form .form-status.is-error {
  color: #a6362b;
}

@media (max-width: 900px) {
  .community-reviews__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .community-reviews__summary {
    align-items: stretch;
    flex-direction: column;
  }

  .community-reviews__summary .button {
    width: 100%;
  }

  .community-reviews__grid {
    grid-template-columns: 1fr;
  }

  .review-form {
    padding: 20px;
    border-radius: 20px;
  }
}

/* Выразительный блок средней оценки */
.community-reviews__score {
  display: grid;
  grid-template-columns: auto auto;
  align-items: end;
  column-gap: 8px;
}

.community-reviews__score-label {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  color: #65706b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.community-reviews__score strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 7vw, 78px);
  font-weight: 700;
  font-style: italic;
  line-height: .88;
  letter-spacing: -.055em;
  color: #173a32;
  text-shadow: 0 8px 24px rgba(23, 58, 50, .08);
}

.community-reviews__score-max {
  padding-bottom: 7px;
  color: #65706b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-style: italic;
}

.community-reviews__rating-meta {
  padding-left: 16px;
  border-left: 1px solid rgba(23, 58, 50, .13);
}

.community-reviews__rating-meta .community-reviews__stars {
  font-size: 22px;
}

@media (max-width: 520px) {
  .community-reviews__rating {
    align-items: flex-end;
  }

  .community-reviews__rating-meta {
    padding-left: 12px;
  }
}



/* ===== consolidated from quiz-mobile-v3-maria.css ===== */
/* ==========================================================
   QUIZ MOBILE V3 + MARIA 6M GALLERY
   ========================================================== */

/* --- Mobile quiz --- */
@media (max-width: 900px) {
  #configurator,
  #configurator * {
    box-sizing: border-box;
  }

  #configurator .quiz-shell,
  #configurator .quiz-main,
  #configurator .quiz-step {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  #configurator fieldset.quiz-step {
    min-inline-size: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
  }

  #configurator fieldset.quiz-step[hidden] {
    display: none !important;
  }

  #configurator .quiz-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100%;
  }

  /* Length/layout cards */
  #configurator .quiz-option {
    position: relative;
    display: block !important;
    min-width: 0;
    margin: 0;
    cursor: pointer;
  }

  #configurator .quiz-option > input[type="radio"] {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 0 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #configurator .quiz-option > span {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 96px;
    width: 100%;
    padding: 12px 9px;
    border: 1px solid rgba(23,58,50,.14);
    border-radius: 16px;
    background: #fff;
    color: #173a32;
    text-align: center;
    font-weight: 800;
    line-height: 1.17;
    box-shadow: 0 6px 18px rgba(23,58,50,.035);
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
  }

  #configurator .quiz-option > input:checked + span {
    border-color: #2f765e !important;
    background: #edf6ef !important;
    box-shadow: inset 0 0 0 1px #2f765e !important;
  }

  #configurator .quiz-option > input:disabled {
    cursor: not-allowed !important;
    pointer-events: none !important;
  }

  #configurator .quiz-option > input:disabled + span {
    opacity: .42 !important;
    background: #f3f3ef !important;
    border-color: rgba(23,58,50,.08) !important;
    box-shadow: none !important;
  }

  #configurator .quiz-option > input:disabled + span::after {
    content: "Недоступно";
    display: block;
    margin-top: 4px;
    color: #8b918e;
    font-size: 11px;
    font-weight: 700;
  }

  #configurator .quiz-option > input:disabled + span [data-layout-price] {
    display: none !important;
  }

  #configurator .quiz-option__price {
    display: block !important;
    margin: 0 !important;
    color: #2f765e !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap;
  }

  /* Current selection */
  #configurator .quiz-current {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 12px;
    width: 100%;
    margin: 0 0 18px !important;
    padding: 16px !important;
    border: 1px solid rgba(23,58,50,.13) !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg,#f0f7f2,#fff) !important;
  }

  #configurator .quiz-current__model {
    display: block;
    font-size: 17px;
    line-height: 1.2;
  }

  #configurator .quiz-current__layout {
    display: block;
    margin-top: 4px;
    font-size: 13px;
  }

  #configurator .quiz-current__price {
    min-width: 96px;
    text-align: right;
  }

  /* Navigation */
  #configurator .quiz-actions {
    position: relative;
    z-index: 10;
    display: flex !important;
    gap: 10px;
    width: 100%;
    margin-top: 20px !important;
  }

  #configurator .quiz-actions .button {
    position: relative;
    z-index: 11;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 54px;
    touch-action: manipulation;
  }

  /* --- Add-on cards --- */
  #configurator .quiz-options--addons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #configurator .quiz-options__section-title {
    grid-column: 1 / -1;
    margin: 10px 0 2px;
    color: #65706b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  #configurator .quiz-addon {
    position: relative;
    display: block !important;
    width: 100%;
    min-width: 0;
    margin: 0;
  }

  #configurator .quiz-addon > input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #configurator .quiz-addon__card {
    position: relative;
    display: block !important;
    width: 100%;
    min-height: 0 !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(23,58,50,.14) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(23,58,50,.03);
  }

  #configurator .quiz-addon__card::before {
    content: "";
    position: absolute;
    top: 16px;
    right: 16px;
    width: 21px;
    height: 21px;
    border: 1.5px solid rgba(23,58,50,.32);
    border-radius: 6px;
    background: #fff;
  }

  #configurator .quiz-addon > input:checked + .quiz-addon__card {
    border-color: #2f765e !important;
    background: #edf6ef !important;
    box-shadow: inset 0 0 0 1px #2f765e !important;
  }

  #configurator .quiz-addon > input:checked + .quiz-addon__card::before {
    content: "✓";
    display: grid;
    place-items: center;
    border-color: #2f765e;
    background: #2f765e;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
  }

  #configurator .quiz-addon > input:disabled + .quiz-addon__card {
    opacity: .43 !important;
    background: #f4f4f0 !important;
    box-shadow: none !important;
  }

  #configurator .quiz-addon__badge {
    display: inline-flex !important;
    margin: 0 34px 8px 0 !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1.2;
  }

  #configurator .quiz-addon__title {
    display: block;
    padding-right: 30px;
    color: #173a32;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3;
  }

  #configurator .quiz-addon__desc,
  #configurator .quiz-addon__warning {
    display: block;
    margin-top: 6px;
    padding-right: 18px;
    font-size: 12px !important;
    line-height: 1.4;
  }

  #configurator .quiz-addon__bottom {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  #configurator .quiz-addon__price {
    color: #2f765e !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  #configurator .quiz-addon__qty {
    position: relative;
    z-index: 5;
    display: none;
    align-items: center;
    gap: 7px;
    font-size: 12px;
  }

  #configurator .quiz-addon > input:checked + .quiz-addon__card .quiz-addon__qty {
    display: flex !important;
  }

  #configurator .quiz-addon__qty input {
    position: relative;
    z-index: 6;
    width: 64px !important;
    min-height: 38px;
    padding: 6px 8px !important;
    border: 1px solid rgba(23,58,50,.2) !important;
    border-radius: 9px !important;
    background: #fff !important;
    font-size: 14px !important;
  }

  #configurator .quiz-wash-note,
  #configurator .quiz-options-total {
    width: 100%;
    border-radius: 13px;
  }
}

@media (max-width: 470px) {
  #configurator .quiz-current {
    grid-template-columns: 1fr !important;
  }

  #configurator .quiz-current__price {
    text-align: left !important;
  }

  #configurator .quiz-actions {
    flex-direction: column-reverse !important;
  }

  #configurator .quiz-actions .button {
    width: 100% !important;
  }
}

/* --- Maria 6m: match visual crop style of 3.5m gallery --- */
.case-work--6m .case-work__gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  grid-auto-rows: auto !important;
}

.case-work--6m .case-work__photo,
.case-work--6m .case-work__photo--wide {
  position: relative !important;
  grid-column: auto !important;
  grid-row: auto !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.case-work--6m .case-work__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.case-work--6m .case-work__video-grid {
  grid-template-columns: minmax(0,1fr) minmax(260px,.72fr) !important;
  gap: 20px !important;
}

.case-work--6m .case-work__video {
  width: min(100%, 300px) !important;
  justify-self: center !important;
}

.case-work--6m .case-work__video video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  aspect-ratio: 9 / 16 !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  .case-work--6m .case-work__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .case-work--6m .case-work__video-grid {
    grid-template-columns: 1fr !important;
  }

  .case-work--6m .case-work__video {
    width: min(100%, 270px) !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 520px) {
  .case-work--6m .case-work__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .case-work--6m .case-work__photo,
  .case-work--6m .case-work__photo--wide {
    aspect-ratio: 4 / 3 !important;
    border-radius: 13px !important;
  }

  .case-work--6m .case-work__video {
    width: min(100%, 235px) !important;
  }

  .case-work--6m .case-work__video video {
    max-height: 418px !important;
    border-radius: 14px !important;
  }
}


/* ===== consolidated from quiz-final-summary.css ===== */
/* FINAL STEP: compact price typography + selected options list */

#configurator .quiz-result__row {
  align-items: baseline;
}

#configurator .quiz-result__row strong,
#configurator [data-estimate-base],
#configurator [data-estimate-options],
#configurator [data-estimate-delivery] {
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

#configurator .quiz-result__row--total strong,
#configurator [data-estimate-total] {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}

.quiz-selected-options {
  margin: 14px 0 16px;
  padding: 14px 15px;
  border: 1px solid rgba(23,58,50,.11);
  border-radius: 14px;
  background: rgba(23,58,50,.035);
}

.quiz-selected-options__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 9px;
}

.quiz-selected-options__head strong {
  color: #173a32;
  font-size: 14px;
}

.quiz-selected-options__head span {
  color: #65706b;
  font-size: 12px;
}

.quiz-selected-options__list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quiz-selected-options__item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: baseline;
  padding-top: 7px;
  border-top: 1px solid rgba(23,58,50,.08);
}

.quiz-selected-options__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.quiz-selected-options__item span {
  color: #596660;
  font-size: 12px;
  line-height: 1.35;
}

.quiz-selected-options__item strong {
  color: #173a32;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.quiz-selected-options__empty {
  margin: 0;
  color: #65706b;
  font-size: 12px;
}

@media (max-width: 620px) {
  #configurator .quiz-result__row {
    gap: 10px;
  }

  #configurator .quiz-result__row strong,
  #configurator [data-estimate-base],
  #configurator [data-estimate-options],
  #configurator [data-estimate-delivery] {
    font-size: 14px !important;
  }

  #configurator .quiz-result__row--total strong,
  #configurator [data-estimate-total] {
    font-size: 19px !important;
  }

  .quiz-selected-options {
    padding: 13px;
  }

  .quiz-selected-options__item {
    grid-template-columns: minmax(0,1fr) auto;
  }
}


/* ===== consolidated from brand-refresh-v3.css ===== */
:root{
  --brand-green:#173a32;
  --brand-green-2:#21493f;
  --brand-green-3:#2d6654;
  --brand-green-soft:#e9f1ec;
}

body.brand-v3{
  background:
    linear-gradient(180deg,#f6f1e6 0%,#eef4ee 42%,#f7f4ed 100%);
}

body.brand-v3 .topbar{
  background:linear-gradient(90deg,#103028,#1a4339);
}

body.brand-v3 .site-header{
  background:rgba(247,244,236,.9);
  backdrop-filter:blur(10px);
}

body.brand-v3 .hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-color:#16362f;
  background-image:
    linear-gradient(90deg, rgba(8,25,20,.82) 0%, rgba(15,45,36,.72) 28%, rgba(18,56,45,.56) 46%, rgba(18,56,45,.38) 62%, rgba(18,56,45,.3) 100%),
    linear-gradient(180deg, rgba(23,58,50,.48), rgba(23,58,50,.28)),
    url('/assets/img/hero-banya-kvadro.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
}

body.brand-v3 .hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 84% 16%, rgba(84,148,116,.14), transparent 22%),
    radial-gradient(circle at 14% 18%, rgba(119,181,145,.08), transparent 18%),
    linear-gradient(180deg, rgba(10,27,22,.16), rgba(10,27,22,.12));
  pointer-events:none;
  z-index:0;
}

body.brand-v3 .hero__visual,
body.brand-v3 .hero-image-wrap,
body.brand-v3 .hero-media,
body.brand-v3 .hero__image,
body.brand-v3 .hero__photo{
  display:none !important;
}

body.brand-v3 .hero__content,
body.brand-v3 .hero-content,
body.brand-v3 .hero .hero-text,
body.brand-v3 .hero .content{
  position:relative;
  z-index:2;
  max-width:760px;
}

body.brand-v3 .hero__content h1,
body.brand-v3 .hero-content h1,
body.brand-v3 .hero h1{
  color:#fff;
  text-shadow:0 3px 18px rgba(0,0,0,.18);
}

body.brand-v3 .hero__content h1 em,
body.brand-v3 .hero-content h1 em,
body.brand-v3 .hero h1 em{
  color:#8cc8ad !important;
}

body.brand-v3 .hero p,
body.brand-v3 .hero li,
body.brand-v3 .hero .hero__lead,
body.brand-v3 .hero .hero__subtext,
body.brand-v3 .hero .eyebrow,
body.brand-v3 .hero .section-label{
  color:rgba(255,255,255,.92);
}

body.brand-v3 .hero .eyebrow,
body.brand-v3 .hero .section-label{
  letter-spacing:.08em;
}

body.brand-v3 .hero .float-card,
body.brand-v3 .hero .hero-card,
body.brand-v3 .hero .price-card{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  backdrop-filter:blur(12px);
  box-shadow:0 16px 40px rgba(7,19,16,.22);
}

body.brand-v3 .hero .float-card *,
body.brand-v3 .hero .hero-card *,
body.brand-v3 .hero .price-card *{
  color:inherit;
}

body.brand-v3 .hero .button--dark,
body.brand-v3 .hero .button--primary{
  background:#f0aa47;
  color:#132722;
  border-color:#f0aa47;
}

body.brand-v3 .hero .button--ghost,
body.brand-v3 .hero .button--secondary{
  background:rgba(12,32,27,.34);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}

body.brand-v3 .hero .button--ghost:hover,
body.brand-v3 .hero .button--secondary:hover{
  background:rgba(12,32,27,.48);
}

body.brand-v3 .trust-row article,
body.brand-v3 .variant-card,
body.brand-v3 .standard-equipment,
body.brand-v3 .case-work__video-grid,
body.brand-v3 .quiz-shell,
body.brand-v3 .review-card,
body.brand-v3 .faq details,
body.brand-v3 .catalog-card,
body.brand-v3 .production-card,
body.brand-v3 .contacts-card{
  border-color:rgba(23,58,50,.12) !important;
  box-shadow:0 14px 38px rgba(23,58,50,.05);
}

body.brand-v3 .section:nth-of-type(even),
body.brand-v3 section[id]:nth-of-type(even){
  background:linear-gradient(180deg,rgba(233,241,236,.52),rgba(247,244,237,.28));
}

body.brand-v3 .eyebrow,
body.brand-v3 .section-heading>p,
body.brand-v3 .button-link,
body.brand-v3 .accent,
body.brand-v3 .quiz-progress span.is-active{
  color:var(--brand-green-3);
}

body.brand-v3 .button--dark{background:#12372f}
body.brand-v3 .button--dark:hover{background:#0e2d27}
body.brand-v3 .quiz-progress span.is-active{background:#2f765e!important}

body.brand-v3 .hero__grid,
body.brand-v3 .hero-grid,
body.brand-v3 .hero__inner,
body.brand-v3 .hero-layout,
body.brand-v3 .hero .grid,
body.brand-v3 .hero .layout{
  grid-template-columns:minmax(0,1fr) !important;
}

.pinecone-fall{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:1;
}

.pinecone-fall i{
  position:absolute;
  top:-12vh;
  left:var(--x);
  width:calc(20px * var(--s));
  height:calc(34px * var(--s));
  opacity:.08;
  transform:translate3d(0,0,0) rotate(var(--r));
  animation:pineconeFall var(--dur) linear infinite;
  animation-delay:var(--delay);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  filter:blur(.1px);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 76'%3E%3Cg fill='%23274f43'%3E%3Cellipse cx='24' cy='12' rx='7' ry='6'/%3E%3Cellipse cx='24' cy='23' rx='10' ry='7'/%3E%3Cellipse cx='16' cy='31' rx='8' ry='6'/%3E%3Cellipse cx='32' cy='31' rx='8' ry='6'/%3E%3Cellipse cx='24' cy='39' rx='11' ry='7'/%3E%3Cellipse cx='16' cy='47' rx='8' ry='6'/%3E%3Cellipse cx='32' cy='47' rx='8' ry='6'/%3E%3Cellipse cx='24' cy='56' rx='10' ry='7'/%3E%3Cellipse cx='24' cy='67' rx='7' ry='6'/%3E%3C/g%3E%3C/svg%3E");
}

@keyframes pineconeFall{
  0%{transform:translate3d(0,-12vh,0) rotate(var(--r));opacity:0}
  10%{opacity:.07}
  50%{transform:translate3d(12px,50vh,0) rotate(calc(var(--r) + 10deg));opacity:.08}
  100%{transform:translate3d(-8px,112vh,0) rotate(calc(var(--r) + 22deg));opacity:0}
}

@media (prefers-reduced-motion:reduce){
  .pinecone-fall i{animation:none;opacity:.05;top:var(--top)}
}

@media (max-width:900px){
  .pinecone-fall i{opacity:.06}
  body.brand-v3 .hero{background-position:62% center}
}


/* ===== consolidated from business-v4.css ===== */
/* BUSINESS V4 — UI/business rules */
:root{--v4-green:#173a32;--v4-green2:#21493f;--v4-green3:#2f6b58;--v4-mint:#e7f0e9}

/* Hide quick comparison completely */
.comparison,[aria-labelledby="comparison-title"]{display:none!important}

/* Premium green section fills */
#configurator,#production,#delivery,#customer-reviews,#contacts{
  background:
    radial-gradient(circle at 88% 10%,rgba(91,145,116,.13),transparent 24%),
    linear-gradient(180deg,#173a32 0%,#1c443a 100%)!important;
  color:#fff;
}
#configurator .container,#production .container,#delivery .container,#customer-reviews .container,#contacts .container{position:relative;z-index:1}
#configurator h2,#configurator h3,#production h2,#production h3,#delivery h2,#delivery h3,#customer-reviews h2,#customer-reviews h3,#contacts h2,#contacts h3{color:#fff!important}
#configurator .eyebrow,#production .eyebrow,#delivery .eyebrow,#customer-reviews .eyebrow,#contacts .eyebrow{color:#a8d1bd!important}
#production .section-heading>p,#delivery .delivery__content>p,#customer-reviews .section-heading>p,#contacts .final-cta__content>p{color:rgba(255,255,255,.78)!important}
#configurator .quiz-shell,#customer-reviews .community-reviews__summary,#customer-reviews .community-reviews__grid,#contacts .lead-form{background:rgba(250,248,242,.96)!important;color:#173a32!important}
#production .production__grid,#production .quality-cards article,#delivery .delivery__visual{color:#173a32}

/* Remove delivery sub-copy and decorative subpoints */
#delivery .delivery-steps li p,#delivery .region-chips,#delivery .delivery__note{display:none!important}
#delivery .delivery-steps li{align-items:center}
#delivery .delivery-steps li strong{color:#fff!important}

/* Extra options: no prices anywhere */
#configurator .quiz-addon__price,
#configurator .quiz-options-total,
#configurator [data-quiz-options-total],
#configurator .quiz-current__price:has([data-quiz-options-total]),
#configurator [data-estimate-options],
#configurator .quiz-result__row:has([data-estimate-options]),
#configurator .quiz-selected-options__head span,
#configurator .quiz-selected-options__item strong{display:none!important}
#configurator .quiz-addon__bottom{justify-content:flex-end!important}
#configurator .quiz-addon__qty{margin-left:auto}

/* Step 5: city only, no delivery price or distance slider */
#configurator .quiz-distance,#configurator .range-field,#configurator [data-distance-number],#configurator #distance{display:none!important}
#configurator .quiz-result__row:has([data-estimate-delivery]),
#configurator .quiz-result__row--total,
#configurator [data-estimate-delivery],
#configurator [data-estimate-total]{display:none!important}
.quiz-install-place{display:block;width:100%;margin:18px 0}
.quiz-install-place span{display:block;margin-bottom:7px;color:#566860;font-size:13px;font-weight:800}
.quiz-install-place input{display:block;width:100%;min-height:54px;padding:12px 14px;border:1px solid rgba(23,58,50,.18);border-radius:13px;background:#fff;color:#173a32;font:inherit;outline:none}
.quiz-install-place input:focus{border-color:#2f765e;box-shadow:0 0 0 3px rgba(47,118,94,.12)}

/* Larger readable logo */
.site-header .brand img,.brand img{height:82px!important;width:auto!important;max-width:320px!important;object-fit:contain!important}
.site-header .brand,.brand{min-height:82px;display:flex;align-items:center}

/* 30x more falling cones: very subtle to keep content readable */
.pinecone-fall i{opacity:.045!important}

/* Hero: whole bath visible on phone */
@media(max-width:900px){
  body.brand-v3 .hero,body.brand-v4 .hero{
    background-size:contain!important;
    background-position:center bottom!important;
    background-color:#173a32!important;
    background-repeat:no-repeat!important;
    min-height:760px;
  }
  body.brand-v3 .hero::before,body.brand-v4 .hero::before{
    background:linear-gradient(180deg,rgba(10,33,27,.82) 0%,rgba(17,51,42,.62) 45%,rgba(17,51,42,.20) 72%,rgba(17,51,42,.06) 100%)!important;
  }
  .site-header .brand img,.brand img{height:70px!important;max-width:270px!important}
  .site-header .brand,.brand{min-height:70px}
  .pinecone-fall i{opacity:.035!important}
}


/* ===== consolidated from business-v5.css ===== */
:root{
  --v5-green:#1a4a3d;
  --v5-green-2:#215546;
  --v5-green-soft:#eef6f2;
  --v5-green-line:rgba(33,85,70,.14);
}

#configurator,#production,#delivery,#customer-reviews,#contacts{
  background:
    radial-gradient(circle at 82% 8%, rgba(116,182,143,.16), transparent 24%),
    linear-gradient(180deg, #1a4337 0%, #1f4f42 100%) !important;
}

#delivery .delivery-steps li strong{color:#fff!important}
#delivery .delivery-steps li{gap:16px}
#delivery .delivery-steps li span{background:rgba(255,255,255,.14)!important;color:#fff!important}

#configurator .quiz-shell,
#configurator .quiz-step,
#configurator .quiz-card,
#configurator .quiz-panel,
#configurator .quiz-current,
#configurator .quiz-result,
#configurator .quiz-addon,
#configurator .quiz-layout{color:var(--v5-green)!important}
#configurator .quiz-step,
#configurator .quiz-card,
#configurator .quiz-panel,
#configurator .quiz-layout,
#configurator .quiz-current,
#configurator .quiz-result{border:none!important;box-shadow:none!important}
#configurator .quiz-shell{background:linear-gradient(180deg, rgba(248,250,248,.98), rgba(240,247,243,.96))!important}
#configurator .quiz-step h3,
#configurator .quiz-step p,
#configurator .quiz-shell h2,
#configurator .quiz-shell h3,
#configurator .quiz-shell .quiz-title,
#configurator .quiz-shell .quiz-current__title,
#configurator .quiz-shell .quiz-current__layout,
#configurator .quiz-shell label,
#configurator .quiz-shell legend,
#configurator .quiz-shell .quiz-note,
#configurator .quiz-shell .quiz-result__label,
#configurator .quiz-shell .quiz-selected-options__head,
#configurator .quiz-shell .quiz-selected-options__item{color:var(--v5-green)!important}
#configurator .quiz-shell .quiz-progress span,
#configurator .quiz-shell .quiz-progress__item{background:rgba(26,74,61,.18)!important}
#configurator .quiz-shell .quiz-progress .is-active,
#configurator .quiz-shell .quiz-progress span.is-active{background:#2c7b61!important}
#configurator .quiz-shell .quiz-option,
#configurator .quiz-shell .quiz-choice,
#configurator .quiz-shell .quiz-addon,
#configurator .quiz-shell .quiz-layout-option,
#configurator .quiz-shell .quiz-grid>label,
#configurator .quiz-shell .quiz-grid>button{border:1px solid rgba(33,85,70,.12)!important}
#configurator .quiz-shell .quiz-option.is-selected,
#configurator .quiz-shell .quiz-choice.is-selected,
#configurator .quiz-shell .quiz-layout-option.is-selected,
#configurator .quiz-shell .is-selected{border-color:#2c7b61!important;background:rgba(44,123,97,.08)!important}
#configurator .quiz-shell .quiz-current,
#configurator .quiz-shell .quiz-result,
#configurator .quiz-shell .quiz-selected-options{background:rgba(255,255,255,.72)!important;border-radius:20px}
#configurator .quiz-shell .quiz-button,
#configurator .quiz-shell button,
#configurator .quiz-shell .button{border-radius:16px}
#configurator .quiz-shell .quiz-final-note{margin-top:10px;color:rgba(26,74,61,.84)!important;font-size:13px}

#customer-reviews .community-reviews__grid.v5-scroll-track,
#customer-reviews .reviews-grid.v5-scroll-track,
#customer-reviews .swiper-wrapper.v5-scroll-track{display:flex!important;gap:18px;overflow-x:auto;overflow-y:hidden;padding:8px 4px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
#customer-reviews .community-reviews__grid.v5-scroll-track > *,
#customer-reviews .reviews-grid.v5-scroll-track > *,
#customer-reviews .swiper-wrapper.v5-scroll-track > *{flex:0 0 min(360px, 88vw);scroll-snap-align:start}
#customer-reviews .v5-carousel-hint{margin:12px 0 0;color:rgba(255,255,255,.76);font-size:13px}

#reviews .v5-works-track{display:flex!important;gap:20px;overflow-x:auto;overflow-y:hidden;padding:10px 4px 18px;scroll-snap-type:x proximity;scrollbar-width:thin}
#reviews .v5-works-track > .review-card,
#reviews .v5-works-track > article,
#reviews .v5-works-track > .case-work,
#reviews .v5-works-track > .work-card{flex:0 0 min(460px, 92vw);scroll-snap-align:start}
#reviews .review-card--work,
#reviews .case-work,
#reviews .work-card{border:none!important;box-shadow:0 18px 36px rgba(23,58,50,.08)!important}
#reviews .v5-work-media-track,
#reviews .review-work__gallery,
#reviews .case-work__gallery,
#reviews .case-work__media-grid{display:flex!important;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:8px;margin-bottom:14px;scrollbar-width:thin}
#reviews .v5-work-media-track > *,
#reviews .review-work__gallery > *,
#reviews .case-work__gallery > *,
#reviews .case-work__media-grid > *{flex:0 0 min(320px, 74vw);scroll-snap-align:start}
#reviews .v5-work-media-track img,
#reviews .v5-work-media-track video,
#reviews .review-work__gallery img,
#reviews .review-work__gallery video,
#reviews .case-work__gallery img,
#reviews .case-work__gallery video,
#reviews .case-work__media-grid img,
#reviews .case-work__media-grid video,
#reviews .review-work__image img,
#reviews .case-work__media img,
#reviews .case-work__media video{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:22px;display:block;box-shadow:none!important;border:none!important}
#reviews .review-work__image,
#reviews .case-work__media,
#reviews .case-work__video,
#reviews .v5-work-media-track > *{border:none!important;box-shadow:none!important;background:transparent!important}
#reviews .review-work__image{width:100%}
#reviews .v5-gallery-hint{margin-top:6px;color:rgba(23,58,50,.72);font-size:13px}

@media (max-width: 900px){
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero{background-size:contain!important;background-position:center 84%!important;background-repeat:no-repeat!important;background-color:#184538!important;min-height:780px}
  body.brand-v3 .hero::before,
  body.brand-v4 .hero::before,
  body.brand-v5 .hero::before{background:linear-gradient(180deg, rgba(19,67,55,.56) 0%, rgba(24,69,56,.40) 35%, rgba(24,69,56,.18) 66%, rgba(24,69,56,.10) 100%)!important}
  body.brand-v3 .hero__content,
  body.brand-v4 .hero__content,
  body.brand-v5 .hero__content,
  body.brand-v3 .hero-content,
  body.brand-v4 .hero-content,
  body.brand-v5 .hero-content{padding-bottom:280px!important}
}

.pinecone-fall i{opacity:.055!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 76'%3E%3Cg fill='%23366d57'%3E%3Cellipse cx='24' cy='12' rx='7' ry='6'/%3E%3Cellipse cx='24' cy='23' rx='10' ry='7'/%3E%3Cellipse cx='16' cy='31' rx='8' ry='6'/%3E%3Cellipse cx='32' cy='31' rx='8' ry='6'/%3E%3Cellipse cx='24' cy='39' rx='11' ry='7'/%3E%3Cellipse cx='16' cy='47' rx='8' ry='6'/%3E%3Cellipse cx='32' cy='47' rx='8' ry='6'/%3E%3Cellipse cx='24' cy='56' rx='10' ry='7'/%3E%3Cellipse cx='24' cy='67' rx='7' ry='6'/%3E%3C/g%3E%3C/svg%3E") !important}
.v5-scroll-track::-webkit-scrollbar,
.v5-works-track::-webkit-scrollbar,
.v5-work-media-track::-webkit-scrollbar,
.review-work__gallery::-webkit-scrollbar,
.case-work__gallery::-webkit-scrollbar,
.case-work__media-grid::-webkit-scrollbar{height:8px}
.v5-scroll-track::-webkit-scrollbar-thumb,
.v5-works-track::-webkit-scrollbar-thumb,
.v5-work-media-track::-webkit-scrollbar-thumb,
.review-work__gallery::-webkit-scrollbar-thumb,
.case-work__gallery::-webkit-scrollbar-thumb,
.case-work__media-grid::-webkit-scrollbar-thumb{background:rgba(33,85,70,.28);border-radius:999px}


/* ===== consolidated from hero-mobile-center-v54.css ===== */
/* HERO MOBILE V5.4
   Only mobile hero positioning. Does not touch the quiz. */

@media (max-width: 900px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    /* Stretch the agreed desktop hero photo across the mobile first screen. */
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 720px !important;
  }

  body.brand-v3 .hero::before,
  body.brand-v4 .hero::before,
  body.brand-v5 .hero::before,
  .hero::before {
    /* Keep the bath visible while preserving text contrast. */
    background:
      linear-gradient(
        180deg,
        rgba(14, 50, 41, .46) 0%,
        rgba(18, 62, 50, .32) 30%,
        rgba(18, 62, 50, .24) 58%,
        rgba(13, 45, 37, .50) 100%
      ) !important;
  }

  body.brand-v3 .hero__content,
  body.brand-v4 .hero__content,
  body.brand-v5 .hero__content,
  .hero__content {
    padding-top: 16px !important;
    padding-bottom: 24px !important;
    margin-bottom: 0 !important;
  }

  .hero__proof {
    margin-bottom: 6px !important;
  }

  .hero .trust-row,
  .hero + .trust-row {
    margin-top: 0 !important;
  }
}

@media (max-width: 560px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    /* Slight horizontal bias keeps the bath body centered on narrow phones. */
    background-position: 58% center !important;
    min-height: 680px !important;
  }
}


/* ===== consolidated from ui-cleanup-v55.css ===== */
/* UI CLEANUP V5.5
   Hero crop + visual quiz cleanup only.
   Does NOT change quiz business logic. */

@media (max-width: 900px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-image:
      linear-gradient(
        180deg,
        rgba(16,56,46,.42) 0%,
        rgba(18,62,50,.28) 34%,
        rgba(18,62,50,.20) 64%,
        rgba(13,45,37,.48) 100%
      ),
      url('/assets/img/hero-banya-kvadro-mobile.webp') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 680px !important;
  }

  body.brand-v3 .hero::before,
  body.brand-v4 .hero::before,
  body.brand-v5 .hero::before,
  .hero::before {
    background: transparent !important;
  }
}

/* Remove gray outlines from quiz cards/options on every step */
#configurator .quiz-option > span,
#configurator .quiz-addon__card,
#configurator .quiz-current,
#configurator .quiz-result,
#configurator .quiz-selected-options,
#configurator .quiz-step,
#configurator fieldset.quiz-step,
#configurator .quiz-card,
#configurator .quiz-panel {
  border-color: transparent !important;
  border-width: 0 !important;
  box-shadow: none !important;
}

/* Keep selected options visible without gray borders */
#configurator .quiz-option > input:checked + span,
#configurator .quiz-addon > input:checked + .quiz-addon__card,
#configurator .quiz-option.is-selected > span,
#configurator .quiz-addon.is-selected .quiz-addon__card {
  background: rgba(47,118,94,.09) !important;
  box-shadow: inset 0 0 0 2px #2f765e !important;
}

/* Keep regular cards visually separated without a frame */
#configurator .quiz-option > span,
#configurator .quiz-addon__card {
  background: rgba(255,255,255,.94) !important;
}

/* Step 2 navigation: equal, aligned buttons */
#configurator [data-quiz-step="2"] .quiz-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

#configurator [data-quiz-step="2"] .quiz-actions .button,
#configurator [data-quiz-step="2"] .quiz-actions button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Footer logo should remain readable */
.footer__brand img {
  width: auto !important;
  height: 74px !important;
  max-width: min(320px, 100%) !important;
  object-fit: contain !important;
}


/* ===== consolidated from visual-v59.css ===== */
/* BANYA VISUAL V5.9
   Remove cones, refine mobile hero, scope green cards to the 8-card model row only. */

:root {
  --v59-green-card: linear-gradient(180deg, #235042 0%, #1a3e34 100%);
  --v59-green-border: rgba(255,255,255,.08);
  --v59-green-title: #f4fbf8;
  --v59-green-text: rgba(244,251,248,.84);
  --v59-green-price: #ffffff;
  --v59-orange: #f0ac4d;
  --v59-orange-hover: #f3b55f;
  --v59-orange-border: #d38b26;
  --v59-orange-text: #17362e;
}

/* 0) Explicitly disable pinecones from earlier patches if any old markup remains */
.pinecone-fall,
[class*='pinecone'] {
  display: none !important;
}

/* 1) Mobile hero — image starts from the very top and remains centered on the bath */
@media (max-width: 900px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    min-height: 100svh !important;
    background-color: #194538 !important;
    background-image:
      linear-gradient(
        180deg,
        rgba(18,60,49,.34) 0%,
        rgba(18,61,49,.20) 34%,
        rgba(20,66,53,.10) 58%,
        rgba(11,43,35,.42) 100%
      ),
      url('/assets/img/hero-banya-kvadro-mobile.webp') !important;
    background-repeat: no-repeat !important;
    background-size: 124% auto !important;
    background-position: center top !important;
  }

  body.brand-v3 .hero::before,
  body.brand-v4 .hero::before,
  body.brand-v5 .hero::before,
  .hero::before {
    background: transparent !important;
  }
}

@media (max-width: 560px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-size: 130% auto !important;
    background-position: center top !important;
  }
}

/* 2) Desktop smoke — keep visible and anchored to the chimney */
.v59-smoke-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  overflow: hidden;
}

.v59-smoke-anchor {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
}

.v59-smoke-puff {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--size);
  height: var(--size);
  margin-left: calc(var(--size) * -.50);
  margin-top: calc(var(--size) * -.55);
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle at 50% 58%, rgba(94,171,132,.50) 0%, rgba(80,152,117,.44) 34%, rgba(70,134,102,.22) 58%, rgba(52,110,83,0) 76%);
  filter: blur(5px);
  animation: v59Smoke var(--dur) ease-out infinite;
  animation-delay: var(--delay);
}

@keyframes v59Smoke {
  0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.46); }
  12% { opacity: .50; }
  45% { opacity: .46; transform: translate3d(var(--wind-a), -62px, 0) scale(1.02); }
  72% { opacity: .30; transform: translate3d(var(--wind-b), -110px, 0) scale(1.40); }
  100% { opacity: 0; transform: translate3d(var(--wind-c), -172px, 0) scale(1.82); }
}

@media (max-width: 900px) {
  .v59-smoke-layer { display: none !important; }
}

/* 3) Model row only: 8 variants of quad baths.
   Scoped to the section that contains the title “8 вариантов бань-квадро”. */
:where(section, div)[data-v59-model-row] .model-card,
:where(section, div)[data-v59-model-row] .catalog-card,
:where(section, div)[data-v59-model-row] .series-card,
:where(section, div)[data-v59-model-row] article,
:where(section, div)[data-v59-model-row] .card {
  background: var(--v59-green-card) !important;
  color: var(--v59-green-title) !important;
  border: 1px solid var(--v59-green-border) !important;
  box-shadow: 0 20px 38px rgba(16,49,40,.18) !important;
}

:where(section, div)[data-v59-model-row] h3,
:where(section, div)[data-v59-model-row] h4 {
  color: var(--v59-green-title) !important;
}

:where(section, div)[data-v59-model-row] p,
:where(section, div)[data-v59-model-row] li,
:where(section, div)[data-v59-model-row] [class*='desc'],
:where(section, div)[data-v59-model-row] [class*='meta'] {
  color: var(--v59-green-text) !important;
}

:where(section, div)[data-v59-model-row] .price,
:where(section, div)[data-v59-model-row] [class*='price'] {
  color: var(--v59-green-price) !important;
}

:where(section, div)[data-v59-model-row] button,
:where(section, div)[data-v59-model-row] .button,
:where(section, div)[data-v59-model-row] a[class*='button'],
:where(section, div)[data-v59-model-row] a[class*='btn'] {
  background: var(--v59-orange) !important;
  border-color: var(--v59-orange-border) !important;
  color: var(--v59-orange-text) !important;
  box-shadow: none !important;
}

:where(section, div)[data-v59-model-row] button:hover,
:where(section, div)[data-v59-model-row] .button:hover,
:where(section, div)[data-v59-model-row] a[class*='button']:hover,
:where(section, div)[data-v59-model-row] a[class*='btn']:hover {
  background: var(--v59-orange-hover) !important;
  color: var(--v59-orange-text) !important;
}


/* ===== consolidated from visual-v61.css ===== */
/* BANYA VISUAL V6.1
   - extend mobile hero lower by ~20%
   - improve model-row text contrast on green cards
   - orange fill for 4 step digits in delivery section */

:root {
  --v61-white: #ffffff;
  --v61-white-soft: rgba(255,255,255,.86);
  --v61-dark: #18342c;
  --v61-orange: #f0ac4d;
  --v61-orange-hover: #f4b761;
  --v61-orange-deep: #cf871f;
}

/* 1) Mobile hero: stretch image further downward */
@media (max-width: 900px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-size: 149% auto !important;
    background-position: center top !important;
  }
}

@media (max-width: 560px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-size: 156% auto !important;
    background-position: center top !important;
  }
}

/* 2) Model row typography: white on green, dark on orange buttons/light chips */
[data-v59-model-row],
[data-v59-model-row] * {
  --v61-in-model-row: 1;
}

[data-v59-model-row] h1,
[data-v59-model-row] h2,
[data-v59-model-row] h3,
[data-v59-model-row] h4,
[data-v59-model-row] h5,
[data-v59-model-row] h6,
[data-v59-model-row] p,
[data-v59-model-row] li,
[data-v59-model-row] span,
[data-v59-model-row] strong,
[data-v59-model-row] small,
[data-v59-model-row] b,
[data-v59-model-row] em,
[data-v59-model-row] div,
[data-v59-model-row] a:not(.button):not([class*='button']):not([class*='btn']) {
  color: var(--v61-white-soft) !important;
}

[data-v59-model-row] h1,
[data-v59-model-row] h2,
[data-v59-model-row] h3,
[data-v59-model-row] h4,
[data-v59-model-row] .price,
[data-v59-model-row] .model-card__price,
[data-v59-model-row] .model-price,
[data-v59-model-row] [data-price],
[data-v59-model-row] [data-model-price],
[data-v59-model-row] [class*='price'],
[data-v59-model-row] .model-card__body > strong,
[data-v59-model-row] strong {
  color: var(--v61-white) !important;
  -webkit-text-fill-color: var(--v61-white) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.12);
}

/* Text that sits on light/orange surfaces */
[data-v59-model-row] button,
[data-v59-model-row] .button,
[data-v59-model-row] a[class*='button'],
[data-v59-model-row] a[class*='btn'],
[data-v59-model-row] [class*='badge'],
[data-v59-model-row] [class*='chip'],
[data-v59-model-row] [class*='pill'],
[data-v59-model-row] [class*='tag'] {
  color: var(--v61-dark) !important;
  -webkit-text-fill-color: var(--v61-dark) !important;
}

[data-v59-model-row] button,
[data-v59-model-row] .button,
[data-v59-model-row] a[class*='button'],
[data-v59-model-row] a[class*='btn'] {
  background: var(--v61-orange) !important;
  border-color: var(--v61-orange-deep) !important;
}

[data-v59-model-row] button:hover,
[data-v59-model-row] .button:hover,
[data-v59-model-row] a[class*='button']:hover,
[data-v59-model-row] a[class*='btn']:hover {
  background: var(--v61-orange-hover) !important;
  color: var(--v61-dark) !important;
}

/* Ensure image labels or tags on light backgrounds remain dark */
[data-v59-model-row] .badge,
[data-v59-model-row] .tag,
[data-v59-model-row] .chip,
[data-v59-model-row] .pill,
[data-v59-model-row] [class*='badge'],
[data-v59-model-row] [class*='tag'],
[data-v59-model-row] [class*='chip'],
[data-v59-model-row] [class*='pill'] {
  color: var(--v61-dark) !important;
}

/* 3) Delivery section: orange fill around digits 1-4 */
[data-v61-delivery-section] .v61-step-number {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  min-width: 2.35rem;
  border-radius: 999px;
  background: var(--v61-orange) !important;
  color: var(--v61-dark) !important;
  -webkit-text-fill-color: var(--v61-dark) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(240,172,77,.24);
  border: 1px solid rgba(207,135,31,.65);
}

[data-v61-delivery-section] .v61-step-number + * {
  margin-left: .2rem;
}

@media (max-width: 768px) {
  [data-v61-delivery-section] .v61-step-number {
    width: 2.05rem;
    height: 2.05rem;
    min-width: 2.05rem;
  }
}


/* ===== consolidated from real-works-v62.css ===== */
/* REAL WORKS CAROUSEL V6.2 */

/* Catalog heading colors */
#catalog .section-heading .eyebrow {
  color: #2f765e !important;
}

#catalog .section-heading h2 {
  color: #121b18 !important;
}

/* Unified real works section */
.real-works-v62 {
  position: relative;
  overflow: hidden;
}

.real-works-v62__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.real-works-v62__head .eyebrow {
  color: #2f765e;
}

.real-works-v62__controls,
.real-work-card-v62__media-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.real-works-v62__arrow,
.real-work-card-v62__media-arrow {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(31,74,61,.18);
  border-radius: 999px;
  background: #fff;
  color: #1f4a3d;
  font: inherit;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.real-works-v62__arrow:hover,
.real-work-card-v62__media-arrow:hover {
  transform: translateY(-1px);
  background: #1f4a3d;
  color: #fff;
}

.real-works-v62__viewport {
  overflow: hidden;
}

.real-works-v62__track {
  display: flex;
  transition: transform .45s cubic-bezier(.22,.72,.27,1);
  will-change: transform;
}

.real-work-card-v62 {
  flex: 0 0 100%;
  min-width: 0;
  padding: 26px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 8%, rgba(102,160,129,.15), transparent 25%),
    linear-gradient(180deg, #f8f6ef 0%, #eef4ef 100%);
  border: 1px solid rgba(31,74,61,.12);
  box-shadow: 0 20px 52px rgba(24,62,51,.09);
}

.real-work-card-v62__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: 28px;
  align-items: start;
}

.real-work-card-v62__media {
  min-width: 0;
}

.real-work-card-v62__media-viewport {
  overflow: hidden;
  border-radius: 24px;
  background: #173a32;
}

.real-work-card-v62__media-track {
  display: flex;
  transition: transform .38s cubic-bezier(.22,.72,.27,1);
  will-change: transform;
}

.real-work-card-v62__media-slide {
  flex: 0 0 100%;
  min-width: 0;
  position: relative;
  aspect-ratio: 4 / 3;
  background: #173a32;
}

.real-work-card-v62__media-slide button {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.real-work-card-v62__media-slide img,
.real-work-card-v62__media-slide video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.real-work-card-v62__media-slide--plan img {
  object-fit: contain;
  background: #f4f1e9;
}

.real-work-card-v62__media-caption {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  max-width: calc(100% - 28px);
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(16,46,38,.78);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  backdrop-filter: blur(8px);
}

.real-work-card-v62__media-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
}

.real-work-card-v62__media-dots,
.real-works-v62__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
}

.real-work-card-v62__media-dot,
.real-works-v62__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(31,74,61,.22);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}

.real-work-card-v62__media-dot.is-active,
.real-works-v62__dot.is-active {
  width: 24px;
  background: #2f765e;
}

.real-work-card-v62__copy {
  min-width: 0;
}

.real-work-card-v62__kicker {
  margin: 0 0 8px;
  color: #2f765e;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.real-work-card-v62__copy h3 {
  margin: 0 0 12px;
  color: #15231f;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.04;
}

.real-work-card-v62__copy > p {
  margin: 0 0 18px;
  color: #5a6963;
}

.real-work-card-v62__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin: 0 0 20px;
}

.real-work-card-v62__fact {
  padding: 13px 14px;
  border-radius: 16px;
  background: #fff;
  color: #5a6963;
  border: 1px solid rgba(31,74,61,.09);
}

.real-work-card-v62__fact strong {
  display: block;
  margin-bottom: 2px;
  color: #173a32;
  font-size: 16px;
}

.real-work-card-v62__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  border: 1px solid #d38b26;
  border-radius: 14px;
  background: #f0ac4d;
  color: #17362e;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.real-works-v62__dots {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .real-works-v62__head {
    align-items: flex-start;
  }

  .real-work-card-v62 {
    padding: 18px;
    border-radius: 22px;
  }

  .real-work-card-v62__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .real-work-card-v62__media-slide {
    aspect-ratio: 4 / 3;
  }

  .real-work-card-v62__facts {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .real-works-v62__head {
    display: block;
  }

  .real-works-v62__controls {
    margin-top: 14px;
  }

  .real-works-v62__arrow,
  .real-work-card-v62__media-arrow {
    width: 42px;
    height: 42px;
  }

  .real-work-card-v62__facts {
    grid-template-columns: 1fr;
  }

  .real-work-card-v62__copy h3 {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .real-works-v62__track,
  .real-work-card-v62__media-track {
    transition: none !important;
  }
}


/* ===== consolidated from real-works-nav-v63.css ===== */
/* REAL WORKS NAV V6.3
   Requires the v6.2 real works carousel. */

/* Desktop: photo navigation arrows sit directly on the left/right sides of the image. */
@media (min-width: 901px) {
  .real-work-card-v62__media {
    position: relative;
  }

  .real-work-card-v62__media-viewport {
    position: relative;
  }

  .real-work-card-v62__media-controls {
    position: absolute;
    z-index: 12;
    inset: 0;
    pointer-events: none;
  }

  .real-work-card-v62__media-arrow {
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    margin: 0;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.62);
    background: rgba(20,58,48,.72);
    color: #fff;
    box-shadow: 0 10px 26px rgba(11,39,32,.22);
    backdrop-filter: blur(8px);
    pointer-events: auto;
  }

  .real-work-card-v62__media-arrow:hover {
    transform: translateY(-50%) scale(1.04);
    background: rgba(30,83,67,.92);
    color: #fff;
  }

  .real-work-card-v62__media-arrow[data-media-prev] {
    left: 14px;
  }

  .real-work-card-v62__media-arrow[data-media-next] {
    right: 14px;
  }

  .real-work-card-v62__media-nav {
    justify-content: center;
    min-height: 24px;
  }

  .real-work-card-v62__media-dots {
    width: 100%;
  }
}

/* Mobile: main work-card carousel arrows on the left/right edges of the carousel. */
@media (max-width: 900px) {
  .real-works-v62 .container {
    position: relative;
  }

  .real-works-v62__head {
    display: block !important;
    margin-bottom: 16px;
  }

  .real-works-v62__head .real-works-v62__controls {
    position: absolute;
    z-index: 18;
    left: 0;
    right: 0;
    top: 50%;
    margin: 0 !important;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .real-works-v62__arrow {
    position: absolute;
    top: 0;
    width: 44px;
    height: 54px;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(25,66,54,.88);
    color: #fff;
    box-shadow: 0 10px 24px rgba(15,48,39,.24);
    backdrop-filter: blur(8px);
    pointer-events: auto;
  }

  .real-works-v62__arrow[data-works-prev] {
    left: 7px;
  }

  .real-works-v62__arrow[data-works-next] {
    right: 7px;
  }

  .real-works-v62__viewport {
    touch-action: pan-y;
  }

  /* Inner photo carousel on mobile is swipe-first: hide photo arrows. */
  .real-work-card-v62__media-controls {
    display: none !important;
  }

  .real-work-card-v62__media-viewport {
    touch-action: pan-y;
    cursor: grab;
  }

  .real-work-card-v62__media-viewport:active {
    cursor: grabbing;
  }

  .real-work-card-v62__media-nav {
    justify-content: center;
  }

  .real-work-card-v62__media-dots {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .real-works-v62__arrow {
    width: 40px;
    height: 50px;
    font-size: 25px;
  }

  .real-works-v62__arrow[data-works-prev] {
    left: 3px;
  }

  .real-works-v62__arrow[data-works-next] {
    right: 3px;
  }
}


/* ===== consolidated from contact-reviews-v64.css ===== */
/* CONTACT + REVIEWS V6.4 */

/* 1) Thick white desktop chimney smoke.
   Override all recent smoke patch class names so the current installed version wins. */
@media (min-width: 901px) {
  .v57-smoke-puff,
  .v58-smoke-puff,
  .v59-smoke-puff {
    background:
      radial-gradient(
        circle at 50% 56%,
        rgba(255,255,255,.92) 0%,
        rgba(250,252,251,.82) 30%,
        rgba(244,248,246,.62) 51%,
        rgba(237,243,240,.34) 66%,
        rgba(235,242,238,0) 80%
      ) !important;
    filter: blur(7px) !important;
  }
}

/* 2) Exact catalog title color */
#catalog .section-heading h2,
#catalog [data-v59-model-row] > .section-heading h2,
[data-v59-model-row] .section-heading h2 {
  color: #111816 !important;
  -webkit-text-fill-color: #111816 !important;
}

/* MAX in lead forms */
.contact-choice .v64-max-choice span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.v64-max-contact {
  text-decoration: none;
}

.v64-max-contact strong {
  letter-spacing: .01em;
}

/* 5) Reviews: hard carousel, one review at a time, no horizontal free-scroll */
.v64-reviews-carousel {
  position: relative;
  width: 100%;
}

.v64-reviews-viewport {
  overflow: hidden !important;
  width: 100%;
}

.v64-reviews-track {
  display: flex !important;
  width: 100%;
  gap: 0 !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  transform: translate3d(0,0,0);
  transition: transform .42s cubic-bezier(.22,.72,.27,1);
  will-change: transform;
}

.v64-reviews-track > * {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin: 0 !important;
}

.v64-reviews-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
}

.v64-reviews-arrow {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #214f41;
  font: inherit;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(11,45,36,.12);
}

.v64-reviews-arrow:hover {
  background: #f0ac4d;
  color: #17362e;
}

.v64-reviews-dots {
  display: flex;
  gap: 7px;
}

.v64-reviews-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.42);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}

.v64-reviews-dot.is-active {
  width: 24px;
  background: #f0ac4d;
}

/* Works on light review sections too */
section:not(.section--dark) .v64-reviews-dot {
  background: rgba(31,74,61,.22);
}
section:not(.section--dark) .v64-reviews-dot.is-active {
  background: #2f765e;
}

/* MAX helper toast */
.v64-max-toast {
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(20px);
  max-width: min(92vw, 520px);
  padding: 13px 16px;
  border-radius: 14px;
  background: rgba(20,58,48,.96);
  color: #fff;
  font-size: 14px;
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.v64-max-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

@media (max-width: 640px) {
  .v64-reviews-arrow {
    width: 42px;
    height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v64-reviews-track {
    transition: none !important;
  }
}


/* ===== consolidated from quiz-model-row-v66.css ===== */
/* QUIZ + MODEL ROW V6.6 */
#configurator .quiz-option > span,
#configurator .quiz-addon__card,
#configurator .quiz-card,
#configurator .quiz-choice,
#configurator .quiz-choice__card,
#configurator .quiz-step .option,
#configurator .quiz-step label[class*="option"],
#configurator .quiz-step button[class*="option"] {border:0!important;outline:0!important;box-shadow:none!important;}
#configurator .quiz-option > input:checked + span,
#configurator .quiz-addon > input:checked + .quiz-addon__card,
#configurator .quiz-option.is-selected > span,
#configurator .quiz-addon.is-selected .quiz-addon__card,
#configurator .quiz-choice.is-selected,
#configurator .quiz-choice:has(input:checked) {border:0!important;outline:0!important;box-shadow:inset 0 0 0 2px #2f765e!important;background:rgba(47,118,94,.10)!important;}
#configurator .quiz-step,#configurator fieldset.quiz-step,#configurator .quiz-options,#configurator .quiz-options-grid,#configurator .quiz-grid {border-color:transparent!important;box-shadow:none!important;}
#configurator [data-quiz-step="2"] .quiz-actions,
#configurator .quiz-step[data-step="2"] .quiz-actions,
#configurator .quiz-step:nth-of-type(2) .quiz-actions {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:12px!important;width:100%!important;}
#configurator [data-quiz-step="2"] .quiz-actions > *,
#configurator .quiz-step[data-step="2"] .quiz-actions > *,
#configurator .quiz-step:nth-of-type(2) .quiz-actions > * {width:100%!important;min-width:0!important;min-height:52px!important;height:52px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.1!important;text-align:center!important;box-sizing:border-box!important;transform:none!important;}
@media(max-width:560px){#configurator [data-quiz-step="2"] .quiz-actions,#configurator .quiz-step[data-step="2"] .quiz-actions,#configurator .quiz-step:nth-of-type(2) .quiz-actions{gap:8px!important}#configurator [data-quiz-step="2"] .quiz-actions > *,#configurator .quiz-step[data-step="2"] .quiz-actions > *,#configurator .quiz-step:nth-of-type(2) .quiz-actions > *{min-height:50px!important;height:50px!important;padding-left:10px!important;padding-right:10px!important;font-size:14px!important}}
[data-v59-model-row] .model-card,[data-v59-model-row] .catalog-card,[data-v59-model-row] .series-card,[data-v59-model-row] article{overflow:hidden!important}
[data-v59-model-row] .model-card__visual,[data-v59-model-row] .model-card__image,[data-v59-model-row] .catalog-card__visual,[data-v59-model-row] .catalog-card__image,[data-v59-model-row] .series-card__visual,[data-v59-model-row] .series-card__image,[data-v59-model-row] .product-card__visual,[data-v59-model-row] article>figure,[data-v59-model-row] article>[class*="visual"],[data-v59-model-row] article>[class*="image"]{width:100%!important;height:clamp(250px,30vw,390px)!important;overflow:hidden!important;margin:0!important}
[data-v59-model-row] .model-card__visual img,[data-v59-model-row] .model-card__image img,[data-v59-model-row] .catalog-card__visual img,[data-v59-model-row] .catalog-card__image img,[data-v59-model-row] .series-card__visual img,[data-v59-model-row] .series-card__image img,[data-v59-model-row] .product-card__visual img,[data-v59-model-row] article>figure img,[data-v59-model-row] article>[class*="visual"] img,[data-v59-model-row] article>[class*="image"] img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important}
@media(max-width:700px){[data-v59-model-row] .model-card__visual,[data-v59-model-row] .model-card__image,[data-v59-model-row] .catalog-card__visual,[data-v59-model-row] .catalog-card__image,[data-v59-model-row] .series-card__visual,[data-v59-model-row] .series-card__image,[data-v59-model-row] .product-card__visual,[data-v59-model-row] article>figure,[data-v59-model-row] article>[class*="visual"],[data-v59-model-row] article>[class*="image"]{height:clamp(240px,68vw,340px)!important}}


/* ===== consolidated from model-row-multi-photo-v70.css ===== */
.variant-card--photo-v70 {
  padding: 0 !important;
  overflow: hidden !important;
}

.variant-card--photo-v70 > :not(.variant-card__photo) {
  margin-left: 22px;
  margin-right: 22px;
}

.variant-card--photo-v70 .button {
  align-self: stretch;
  width: auto !important;
  max-width: none;
  margin: auto 22px 22px;
  box-sizing: border-box;
}

.variant-card--photo-v70 .variant-card__photo {
  position: relative;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  margin-bottom: 18px;
  border-radius: 0;
}

.variant-card--photo-v70 .variant-card__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.variant-card--photo-v70 .variant-card__photo span {
  position: absolute;
  left: 14px;
  top: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(23, 58, 50, .9);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 560px) {
  .variant-card--photo-v70 > :not(.variant-card__photo) {
    margin-left: 18px;
    margin-right: 18px;
  }

  .variant-card--photo-v70 .button {
    margin: auto 18px 18px;
  }
}


/* ===== consolidated from prices-works-quiz-v71.css ===== */
/* V7.1 — quiz visual corrections */

/* Step 2: both layout choice cards are exactly the same height. */
#configurator fieldset[data-quiz-step="2"] .quiz-options--layout {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

#configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
}

#configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option > span {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 118px !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Steps 3+ — no gray outline around option cards. */
#configurator fieldset[data-quiz-step="3"] .quiz-addon__card,
#configurator fieldset[data-quiz-step="4"] .quiz-addon__card,
#configurator fieldset[data-quiz-step="5"] .quiz-addon__card,
#configurator fieldset[data-quiz-step="3"] .quiz-option > span,
#configurator fieldset[data-quiz-step="4"] .quiz-option > span,
#configurator fieldset[data-quiz-step="5"] .quiz-option > span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Selected options stay visibly selected, but only with the site green. */
#configurator fieldset[data-quiz-step="3"] .quiz-addon > input:checked + .quiz-addon__card,
#configurator fieldset[data-quiz-step="4"] .quiz-addon > input:checked + .quiz-addon__card,
#configurator fieldset[data-quiz-step="5"] .quiz-addon > input:checked + .quiz-addon__card,
#configurator fieldset[data-quiz-step="3"] .quiz-option > input:checked + span,
#configurator fieldset[data-quiz-step="4"] .quiz-option > input:checked + span,
#configurator fieldset[data-quiz-step="5"] .quiz-option > input:checked + span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 2px #2f765e !important;
}

@media (max-width: 560px) {
  #configurator fieldset[data-quiz-step="2"] .quiz-options--layout {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  #configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option > span {
    min-height: 132px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* ===== consolidated from ui-seo-carousel-v75.css ===== */
/* V7.5 — UI cleanup, quiz cards, real-work navigation, rating font, delivery numbers */

/* Quiz step 2: layout choices stay the same height on desktop and mobile. */
#configurator fieldset[data-quiz-step="2"] .quiz-options--layout {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
}
#configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option {
  display: flex !important;
  min-width: 0 !important;
  height: 100% !important;
}
#configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option > span {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 118px !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Steps 3 and 4: remove the gray rectangular frames around option cards. */
#configurator fieldset[data-quiz-step="3"] .quiz-addon__card,
#configurator fieldset[data-quiz-step="4"] .quiz-addon__card,
#configurator fieldset[data-quiz-step="3"] .quiz-option > span,
#configurator fieldset[data-quiz-step="4"] .quiz-option > span,
#configurator fieldset[data-quiz-step="3"] .quiz-choice,
#configurator fieldset[data-quiz-step="4"] .quiz-choice,
#configurator fieldset[data-quiz-step="3"] button[class*="option"],
#configurator fieldset[data-quiz-step="4"] button[class*="option"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
#configurator fieldset[data-quiz-step="3"] .quiz-addon > input:checked + .quiz-addon__card,
#configurator fieldset[data-quiz-step="4"] .quiz-addon > input:checked + .quiz-addon__card,
#configurator fieldset[data-quiz-step="3"] .quiz-option > input:checked + span,
#configurator fieldset[data-quiz-step="4"] .quiz-option > input:checked + span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 2px #2f765e !important;
}

/* Average rating number: match the site's main sans-serif typography. */
.community-reviews__score strong {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
}

/* Delivery 1–4: explicitly orange, overriding accumulated patches. */
#delivery .delivery-steps > li > span,
[data-v61-delivery-section] .v61-step-number {
  background: #f0ac4d !important;
  border-color: #d58b28 !important;
  color: #17221e !important;
  -webkit-text-fill-color: #17221e !important;
}

/* Main real-work cards: no swipe gesture. Vertical page scrolling remains native. */
.real-works-v62__viewport {
  touch-action: pan-y !important;
}

/* Inner photos: arrows work on both desktop and mobile; swipe is disabled in JS. */
.real-work-card-v62__media-viewport {
  position: relative !important;
  touch-action: pan-y !important;
  cursor: default !important;
}
.real-work-card-v62__media-controls {
  position: absolute !important;
  z-index: 20 !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
}
.real-work-card-v62__media-arrow {
  position: absolute !important;
  top: 50% !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  background: rgba(25,66,54,.88) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(15,48,39,.24) !important;
  backdrop-filter: blur(8px);
  pointer-events: auto !important;
}
.real-work-card-v62__media-arrow[data-media-prev] { left: 10px !important; }
.real-work-card-v62__media-arrow[data-media-next] { right: 10px !important; }
.real-work-card-v62__media-nav { justify-content: center !important; }
.real-work-card-v62__media-dots { width: 100% !important; }

@media (max-width: 560px) {
  #configurator fieldset[data-quiz-step="2"] .quiz-options--layout {
    gap: 8px !important;
  }
  #configurator fieldset[data-quiz-step="2"] .quiz-options--layout > .quiz-option > span {
    min-height: 132px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .real-work-card-v62__media-arrow {
    width: 42px !important;
    height: 42px !important;
    font-size: 26px !important;
  }
  .real-work-card-v62__media-arrow[data-media-prev] { left: 7px !important; }
  .real-work-card-v62__media-arrow[data-media-next] { right: 7px !important; }
}


/* ===== consolidated from hero-mobile-stretch-v76.css ===== */
/* BANYA HERO MOBILE STRETCH V7.6
   Additional ~30% downward visual extension on mobile.
   Desktop hero is intentionally unchanged. */

@media (max-width: 900px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-size: 194% auto !important;
    background-position: center top !important;
  }
}

@media (max-width: 560px) {
  body.brand-v3 .hero,
  body.brand-v4 .hero,
  body.brand-v5 .hero,
  .hero {
    background-size: 203% auto !important;
    background-position: center top !important;
  }
}


/* ===== production cleanup ===== */
.hero__price-note {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 18px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-weight: 800;
  letter-spacing: .01em;
}
.variant-card__photo img { aspect-ratio: 16/8; }
.real-work-card-v62__media-controls { z-index: 4; }
.production__visual figcaption { margin-top: 10px; color: #66716c; font-size: 13px; }
.community-reviews.is-empty .community-reviews__rating { display:none; }
.community-reviews.is-empty .community-reviews__empty { display:none !important; }
.community-reviews__score > strong { font-family: Georgia, 'Times New Roman', serif !important; }
.contact-points .max-contact-link { text-decoration:none; }
@media (max-width: 900px) {
  body.brand-v3 .hero, body.brand-v4 .hero, body.brand-v5 .hero, .hero {
    background-image: linear-gradient(180deg,rgba(17,48,40,.12),rgba(17,48,40,.58)),url('/assets/img/hero-banya-kvadro-mobile.webp') !important;
    background-size: 203% auto !important;
    background-position: center top !important;
  }
}
@media (min-width: 901px) {
  body.brand-v3 .hero, body.brand-v4 .hero, body.brand-v5 .hero, .hero {
    background-image: linear-gradient(90deg,rgba(12,42,34,.78) 0%,rgba(12,42,34,.53) 42%,rgba(12,42,34,.12) 75%),url('/assets/img/hero-banya-kvadro.webp') !important;
  }
}
