/* ============ RESET / VARS ============ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }

:root {
  --green-dark: #1F3A2A;
  --green-darker: #142A1F;
  --green: #2C4A36;
  --green-2: #3A6E48;
  --green-btn: #386B47;
  --green-btn-h: #427C53;
  --sage: #9DBC92;
  --sage-light: #B5CCA7;
  --sage-soft: #E9EFE2;
  --sage-bg-solid: #9DBC92;
  --gold: #C9A86A;
  --bg: #FFFFFF;
  --bg-soft: #F6F4EE;
  --white: #FFFFFF;
  --text: #1B1B1B;
  --text-2: #4B5563;
  --text-3: #7A7A7A;
  --line: #E5DFD2;
  --line-light: #EFE9DB;
  --green-tint: #E6EFE3;
  --shadow-sm: 0 2px 8px rgba(33,61,49,.06);
  --shadow-md: 0 8px 24px rgba(33,61,49,.08);
  --radius: 20px;
  --radius-lg: 28px;
}

body {
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 50px;
  padding: 0 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  transition: all .15s ease;
}
.btn--sm { height: 42px; padding: 0 20px; font-size: 13px; }
.btn--lg { height: 56px; padding: 0 32px; font-size: 15px; }
.btn--full { width: 100%; }
.btn--primary {
  background: #2D5638;
  color: #fff;
}
.btn--primary:hover { background: #366A45; }
.btn--ghost {
  background: transparent;
  border: 1.5px solid #2D5638;
  color: #2D5638;
}
.btn--ghost:hover { background: #2D5638; color: #fff; }
.btn--gold {
  background: #2D5638;
  color: #fff;
}
.btn--gold:hover { background: #366A45; }

/* ============ BADGES ============ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.badge--gold {
  background: var(--sage);
  color: #1B3A2A;
  border: none;
  padding: 8px 16px;
  font-weight: 700;
}
.badge--green-light {
  background: var(--green-tint);
  color: var(--green);
}
.badge--green-dark {
  background: rgba(45,74,55,.95);
  color: var(--sage-light);
  border: 1px solid rgba(168,194,157,.25);
}
.badge--sm-block { display: inline-flex; margin-bottom: 12px; }

.dot-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #1B3A2A;
  box-shadow: 0 0 0 0 rgba(27,58,42,.5);
  animation: pulse 1.6s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(168,194,157,.7); }
  70% { box-shadow: 0 0 0 8px rgba(168,194,157,0); }
  100% { box-shadow: 0 0 0 0 rgba(168,194,157,0); }
}

/* ============ HEADER ============ */
.header {
  position: fixed;
  top: 14px;
  left: 22px;
  right: 22px;
  z-index: 100;
  background: rgba(255,255,255,.82);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(20,40,28,.06);
  border-radius: 28px;
  padding: 10px 22px;
  box-shadow: 0 12px 40px rgba(20,40,28,.08);
  transition: top .2s ease, box-shadow .2s ease, padding .2s ease, background .2s;
}
.header.is-scrolled {
  top: 8px;
  padding: 8px 20px;
  box-shadow: 0 16px 50px rgba(20,40,28,.14);
  background: rgba(255,255,255,.94);
}
body { padding-top: 90px; }
.header__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 0;
  max-width: none;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.logo__crown { display: inline-flex; }
.logo__title {
  display: block;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--green);
  line-height: 1.1;
}
.logo__sub {
  display: block;
  font-size: 10px;
  color: var(--text-3);
  letter-spacing: .04em;
  margin-top: 2px;
}
.logo--light .logo__title,
.logo--light .logo__sub { color: #fff; }

.nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}
.nav a {
  font-size: 13.5px;
  color: var(--text);
  font-weight: 500;
  transition: color .15s;
  white-space: nowrap;
}
.nav a:hover { color: var(--green-2); }

.header__contact {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: 0;
}
.header__phone {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header__phone-num {
  display: block;
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
}
.header__hours {
  font-size: 10px;
  color: var(--text-3);
  margin-top: 1px;
}

/* ============ HERO ============ */
.hero-wrap {
  padding: 0;
  background: transparent;
}
html { background: var(--bg); }
.hero {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  border-radius: 28px;
  isolation: isolate;
}
.hero__bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(20,40,28,.85) 0%, rgba(20,40,28,.5) 38%, rgba(20,40,28,.1) 62%, rgba(20,40,28,0) 100%),
    url('https://images.unsplash.com/photo-1568605114967-8130f3a36994?w=1600&q=80');
  background-size: cover;
  background-position: center right;
  z-index: -1;
}
.hero__inner {
  position: relative;
  padding: 48px 48px 150px;
  color: #fff;
}
.hero__content {
  max-width: 620px;
}
.hero__title {
  margin: 18px 0 22px;
  font-size: 56px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.015em;
  color: #fff;
}
.hero__title-accent { color: var(--sage); }
.hero__subtitle {
  margin: 0 0 30px;
  color: rgba(255,255,255,.85);
  font-size: 15px;
  line-height: 1.5;
}
.hero__features {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 8px;
  max-width: 620px;
}
.feature-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  min-width: 0;
}
.feature-pill__icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  background: var(--sage-soft);
  border-radius: 8px;
  flex-shrink: 0;
}
.feature-pill__icon svg { width: 16px; height: 16px; }
.feature-pill__label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.15;
  white-space: nowrap;
}
.feature-pill__sub {
  font-size: 9.5px;
  color: var(--text-3);
  margin-top: 0;
  white-space: nowrap;
}

/* ============ PROMO + QUIZ ============ */
.promo-quiz {
  padding: 0 0 30px;
  margin-top: -120px;
  position: relative;
  z-index: 3;
}
.promo-quiz__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.promo-card {
  position: relative;
  background: linear-gradient(135deg, #2A4A3A 0%, #18302A 100%);
  color: #fff;
  padding: 26px 28px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 240px;
}
.promo-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--sage-bg);
  color: var(--sage-light);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.promo-card__title {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
  max-width: 100%;
  white-space: nowrap;
}
.promo-card__sub {
  margin: 0 0 20px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
}
.promo-card__gift {
  position: absolute;
  right: 30px;
  top: 24px;
  width: 78px;
  height: auto;
}
.promo-card__gift svg { width: 78px; height: auto; display: block; }
.countdown {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.countdown__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.08);
  padding: 8px 14px;
  border-radius: 10px;
  min-width: 56px;
}
.countdown__num {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}
.countdown__lbl {
  font-size: 10px;
  color: rgba(255,255,255,.6);
  text-transform: lowercase;
  margin-top: 2px;
}
.countdown__sep {
  font-size: 22px;
  font-weight: 700;
  color: rgba(255,255,255,.4);
}

.quiz-card {
  background: #fff;
  border-radius: 24px;
  padding: 24px 26px;
  box-shadow: 0 10px 40px rgba(0,0,0,.06);
}
.quiz-card__title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.quiz-card__sub {
  margin: 0 0 18px;
  font-size: 13px;
  color: var(--text-3);
  line-height: 1.5;
}
.quiz-card__features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.quiz-feat {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.quiz-feat__icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  background: var(--sage-soft);
  border-radius: 10px;
  flex-shrink: 0;
}
.quiz-feat__icon--wa { background: rgba(37,211,102,.12); }
.quiz-feat__lbl {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text);
}
.quiz-feat__sub {
  font-size: 11px;
  color: var(--text-3);
  margin-top: 2px;
}
.quiz-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.quiz-card__people {
  display: flex;
  align-items: center;
  gap: 10px;
}
.avatars {
  display: flex;
}
.avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid #fff;
  background-size: cover;
  background-position: center;
  margin-left: -8px;
}
.avatar:first-child { margin-left: 0; }
.quiz-card__counter {
  font-size: 11px;
  color: var(--text-3);
  line-height: 1.3;
}
.quiz-card__counter b { color: var(--text); }

/* ============ WHAT BUY ============ */
.what-buy { padding: 60px 0 40px; background: var(--bg); }
.fix-promo { padding: 50px 0 30px; background: var(--bg); }
.quiz-block { padding: 50px 0; background: var(--bg); }
.payments { padding: 70px 0; background: var(--bg); }
.visit-faq { padding: 60px 0; background: var(--bg); }
.masterplan { padding: 60px 0; background: var(--bg); }
.section-title {
  font-size: 34px;
  font-weight: 800;
  margin: 0 0 8px;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.section-title--sm {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 18px;
}
.section-title__accent { color: var(--green-2); font-weight: 800; }
.section-sub {
  font-size: 14px;
  color: var(--text-3);
  margin: 0 0 30px;
  line-height: 1.5;
}
.what-buy__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.buy-card {
  background: #fff;
  border: 1px solid #ECECE5;
  border-radius: var(--radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 2px 12px rgba(20,40,28,.04);
}
.buy-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(20,40,28,.12); }
.buy-card--accent {
  background: #EAF0E5;
  border-color: #DCE7D3;
  justify-content: center;
}
.buy-card__icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  background: transparent;
  margin-bottom: 14px;
}
.buy-card__img {
  height: 170px;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  margin-bottom: 14px;
}
.buy-card__title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}
.buy-card__sub {
  margin: 0 0 12px;
  font-size: 12.5px;
  color: var(--text-3);
}
.buy-card__link {
  margin-top: auto;
  align-self: stretch;
  text-align: center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1.5px solid #2D5638;
  color: #2D5638;
  font-weight: 600;
  transition: background .15s, color .15s;
  font-size: 12.5px;
  color: var(--green-2);
  font-weight: 600;
}

/* Benefit bar */
.benefit-bar {
  margin-top: 24px;
  background: var(--sage-soft);
  border-radius: var(--radius);
  padding: 18px 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  align-items: center;
  gap: 22px;
}
.benefit-bar__item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.benefit-bar__icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  background: transparent;
  flex-shrink: 0;
}
.benefit-bar__lbl {
  font-size: 13px;
  font-weight: 700;
}
.benefit-bar__sub {
  font-size: 11px;
  color: var(--text-3);
  margin-top: 1px;
}
.benefit-bar__btn { padding: 0 22px; }

/* ============ FIX PROMO ============ */
.fix-promo { padding: 40px 0; }
.fix-promo__card {
  position: relative;
  border-radius: 32px;
  padding: 44px 48px;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  min-height: 420px;
  margin-bottom: 60px;
}
.fix-promo__bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(26,46,34,.95) 0%, rgba(26,46,34,.78) 40%, rgba(26,46,34,.3) 70%, rgba(26,46,34,.05) 100%),
    url('https://images.unsplash.com/photo-1605276374104-dee2a0ed3cd6?w=1600&q=80');
  background-size: cover;
  background-position: center;
  z-index: -1;
}
.fix-promo__content {
  max-width: 560px;
}
.fix-promo__title {
  margin: 18px 0 14px;
  font-size: 44px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.01em;
}
.fix-promo__title-accent { color: var(--sage); }
.fix-promo__sub {
  margin: 0 0 24px;
  color: rgba(255,255,255,.85);
  font-size: 15px;
}
.fix-promo__feats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.fix-feat {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 12px;
  color: rgba(255,255,255,.85);
  line-height: 1.35;
}
.fix-feat svg { flex-shrink: 0; margin-top: 2px; }
.fix-promo__card { overflow: visible; }
.fix-promo__price {
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  color: var(--green);
  border-radius: 20px;
  padding: 28px 32px;
  text-align: center;
  min-width: 260px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.fix-promo__price-num {
  font-size: 36px;
  font-weight: 800;
  color: var(--green);
  letter-spacing: -.01em;
}
.fix-promo__price-lbl {
  font-size: 14px;
  color: var(--text-3);
  margin-top: 4px;
}
.fix-promo__price-divider {
  margin: 16px 0;
  border-top: 1px dashed #D8D2BD;
}
.fix-promo__price-bonus {
  font-size: 14px;
  color: var(--text);
  font-weight: 600;
}
.fix-promo__price-bow {
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%) rotate(-8deg);
  width: 120px;
}

/* Choose grid */
.choose-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.choose-card {
  background: var(--sage-soft);
  border: none;
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.choose-card__img {
  height: 170px;
  background-size: cover;
  background-position: center;
}
.choose-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.choose-card__icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 12px;
}
.choose-card__title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 700;
}
.choose-card__txt {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--text-3);
  line-height: 1.45;
  flex: 1;
}
.choose-card__link {
  font-size: 13px;
  font-weight: 600;
  color: var(--green-2);
}

/* ============ QUIZ BLOCK 3 ============ */
.quiz-block { padding: 40px 0; }
.quiz-block__head { text-align: center; margin-bottom: 36px; }
.quiz-block__head .badge { margin-bottom: 14px; }
.quiz-block__head .section-sub {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.quiz-block__grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 28px;
  align-items: start;
}
.quiz-feats3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px;
}
.qf3 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #fff;
  padding: 14px 16px;
  border-radius: 12px;
}
.qf3__ic {
  display: inline-flex;
  width: 36px; height: 36px;
  align-items: center; justify-content: center;
  background: transparent;
  flex-shrink: 0;
}
.qf3 b { display: block; font-size: 13px; }
.qf3 div > div { font-size: 11.5px; color: var(--text-3); margin-top: 2px; line-height: 1.35; }

.quiz-block__samples-title {
  margin: 16px 0 12px;
  font-size: 14px;
  font-weight: 700;
}
.samples-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.sample-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.sample-card__img {
  height: 90px;
  background-size: cover;
  background-position: center;
}

.quiz-block__params {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.qp {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.qp__ic {
  display: inline-flex;
  width: 32px; height: 32px;
  align-items: center; justify-content: center;
  background: transparent;
  flex-shrink: 0;
}
.qp b { font-size: 13px; display: block; }
.qp__sub { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }

.quiz-form {
  background: var(--green-dark);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 30px 30px;
  position: sticky;
  top: 20px;
}
.quiz-form .btn--primary {
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%);
  color: #fff;
}
.quiz-form .btn--primary:hover {
  background: linear-gradient(180deg, #3F7A50 0%, #366A45 100%);
  color: #fff;
}
.quiz-form .badge--green-light {
  background: var(--sage);
  color: #1B3A2A;
}
.quiz-form__title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
}
.quiz-form__sub {
  margin: 0 0 18px;
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
}
.quiz-form__form { display: flex; flex-direction: column; gap: 10px; }
.field {
  position: relative;
  display: block;
}
.field__ic {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.field input {
  width: 100%;
  height: 48px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 0 14px 0 42px;
  color: #fff;
  font: inherit;
  font-size: 14px;
  outline: none;
}
.field input::placeholder { color: rgba(255,255,255,.5); }
.field input:focus { border-color: var(--gold); }

.quiz-form__bottom {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.quiz-form__counter {
  font-size: 11px;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}
.quiz-form__counter b { color: #fff; }

/* Visit strip */
.visit-strip {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 26px 30px;
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1.2fr 2fr auto;
  align-items: center;
  gap: 24px;
}
.visit-strip__title {
  font-size: 17px;
  font-weight: 700;
}
.visit-strip__sub {
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--text-3);
  grid-row: 2;
  grid-column: 1 / 2;
}
.visit-strip__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  grid-row: 1 / 3;
  grid-column: 2;
}
.vs-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 11.5px;
  line-height: 1.4;
  color: var(--text-3);
}
.vs-item svg { flex-shrink: 0; margin-top: 1px; }
.vs-item b { color: var(--text); font-size: 12.5px; }
.visit-strip > .btn { grid-row: 1 / 3; }

/* ============ MASTERPLAN ============ */
.masterplan { padding: 50px 0; background: #fff; }
.masterplan__top { margin-bottom: 28px; }
.masterplan__top .badge { margin-bottom: 12px; }

.masterplan__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  align-items: start;
}
.masterplan__map {
  position: relative;
  background: #C6DAB0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 800/560;
}
.masterplan__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.masterplan__legend {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
  border-radius: 14px;
  padding: 14px 18px;
  width: 200px;
  box-shadow: var(--shadow-sm);
}
.lg-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
}
.lg-item b { font-size: 13px; }
.lg-dot {
  width: 12px; height: 12px; border-radius: 3px;
}
.lg-dot--free { background: #6FAE61; }
.lg-dot--res { background: #E0B96D; }
.lg-dot--sold { background: #9A9A9A; }
.masterplan__dl {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--green);
  box-shadow: var(--shadow-md);
  z-index: 1;
}

.masterplan__info {
  display: flex;
  flex-direction: column;
  gap: 18px;
  background: transparent;
  padding: 0;
}
.mp-feat {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.mp-feat__ic {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  background: transparent;
  flex-shrink: 0;
}
.mp-feat b { display: block; font-size: 13.5px; }
.mp-feat__sub {
  font-size: 11.5px;
  color: var(--text-3);
  margin-top: 2px;
  line-height: 1.4;
}
.mp-info-card {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--green-dark);
  color: #fff;
  padding: 14px 16px;
  border-radius: 12px;
  margin-top: 4px;
}
.mp-info-card__pin {
  width: 40px; height: 40px;
  background: var(--green-2);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mp-info-card__title {
  font-size: 14px;
  font-weight: 700;
}
.mp-info-card__sub {
  font-size: 11.5px;
  color: rgba(255,255,255,.7);
  margin-top: 2px;
}

/* Ready projects + How we build row */
.proj-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  margin-top: 40px;
  align-items: start;
}
.ready-projects { padding: 0; }
.ready-projects__head { margin-bottom: 20px; }
.ready-projects__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.proj-card {
  background: var(--bg-soft);
  border-radius: var(--radius);
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.proj-card__img {
  position: relative;
  height: 170px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  margin-bottom: 14px;
}
.proj-card__sqm {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(255,255,255,.95);
  color: var(--text);
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.proj-card__title {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 700;
}
.proj-card__sub {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--text-3);
}
.proj-card__price {
  font-size: 17px;
  font-weight: 800;
  color: var(--green-2);
  margin-bottom: 14px;
}
.ready-projects__all {
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--green-2);
  margin-top: 6px;
}

/* How we build */
.how-we-build {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 24px;
  margin: 0;
}
.how-we-build__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
}
.how-we-build__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 16px;
  counter-reset: step;
}
.how-we-build__list li {
  counter-increment: step;
  background: transparent;
  padding: 0 0 0 44px;
  position: relative;
  font-size: 13px;
}
.how-we-build__list li::before {
  content: counter(step);
  position: absolute;
  left: 0; top: 0;
  width: 28px; height: 28px;
  background: var(--sage-soft);
  color: var(--green);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
}
.how-we-build__list li b { display: block; font-size: 13px; margin-bottom: 2px; }
.how-we-build__list li span { color: var(--text-3); font-size: 11.5px; line-height: 1.35; }

/* Guarantee strip */
.guarantee-strip {
  background: var(--bg-soft);
  border-radius: var(--radius);
  padding: 18px 24px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  align-items: center;
}
.gs-item { display: flex; align-items: flex-start; gap: 10px; }
.gs-item b { display: block; font-size: 12.5px; }
.gs-item span { font-size: 11px; color: var(--text-3); }

/* ============ PAYMENTS ============ */
.payments { padding: 60px 0; }
.payments__head { text-align: center; margin-bottom: 32px; }
.payments__head .badge { margin-bottom: 12px; }
.payments__head .section-sub {
  max-width: 700px;
  margin: 0 auto;
}
.payments__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.15fr;
  grid-template-rows: 1fr;
  gap: 18px;
  margin-bottom: 60px;
  align-items: stretch;
}
.payments__grid .pay-card--promo {
  grid-row: 1 / 2;
  grid-column: 4 / 5;
}
.pay-card {
  background: #fff;
  border: 1px solid #ECECE5;
  border-radius: var(--radius);
  padding: 22px;
  display: flex;
  flex-direction: column;
}
.pay-card__icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  background: transparent;
  margin-bottom: 14px;
}
.pay-card__title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}
.pay-card__title--light { color: #fff; }
.pay-card__rate {
  font-size: 18px;
  font-weight: 800;
  color: var(--green-2);
  margin-bottom: 16px;
}
.pay-card__list {
  flex: 1;
  margin-bottom: 18px;
}
.pay-card__list li {
  position: relative;
  padding-left: 22px;
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.4;
  margin-bottom: 8px;
}
.pay-card__list li::before {
  content: "";
  position: absolute;
  left: 0; top: 4px;
  width: 14px; height: 14px;
  background: var(--green-tint);
  border-radius: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none'><path d='M5 12l4 4L19 6' stroke='%232A4A3A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}
.pay-card__list--light li { color: rgba(255,255,255,.85); }
.pay-card__list--light li::before { background-color: rgba(255,255,255,.15); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none'><path d='M5 12l4 4L19 6' stroke='%23E8D77A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }

.pay-card--promo {
  background: linear-gradient(135deg, #213D31 0%, #18302A 100%);
  position: relative;
  overflow: hidden;
}
.pay-card--promo::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(20,36,28,.92) 0%, rgba(20,36,28,.4) 100%),
    url('https://images.unsplash.com/photo-1605276374104-dee2a0ed3cd6?w=600&q=80');
  background-size: cover;
  background-position: center;
  z-index: 0;
  opacity: .85;
}
.pay-card--promo > * { position: relative; z-index: 1; }
.pay-card--promo .badge { background: rgba(232,215,122,.18); color: var(--sage-light); border-color: rgba(232,215,122,.4); margin-bottom: 12px; }
.pay-card__txt { font-size: 12.5px; color: rgba(255,255,255,.8); margin: 0 0 14px; }

/* About developer */
.about-dev {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  grid-template-rows: auto auto;
  gap: 32px;
  margin-bottom: 60px;
}
.about-dev__left { grid-column: 1; grid-row: 1; }
.about-dev__left .badge { margin-bottom: 14px; }
.about-dev__txt {
  margin: 16px 0 24px;
  font-size: 14px;
  color: var(--text-2);
  line-height: 1.55;
}
.about-dev__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.about-dev__stats > div {
  background: var(--bg-soft);
  border-radius: 12px;
  padding: 14px;
}
.about-dev__stats b {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--green);
  line-height: 1;
}
.about-dev__stats span {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  color: var(--text-3);
  line-height: 1.35;
}
.about-dev__images {
  grid-column: 2;
  grid-row: 1 / 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ad-img {
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  min-height: 160px;
}
.about-dev__feats {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 8px;
}
.adf {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.adf > svg { flex-shrink: 0; margin-top: 2px; }
.adf b { display: block; font-size: 13px; }
.adf span { font-size: 11.5px; color: var(--text-3); line-height: 1.4; }

/* CTA form */
.cta-form {
  background: linear-gradient(135deg, #2C4A36 0%, #1A2E22 100%);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 26px 30px;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 24px;
  align-items: center;
}
.cta-form .btn--gold {
  background: linear-gradient(180deg, #C4D7B8 0%, #9DBC92 100%);
  color: #14281C;
  font-weight: 700;
}
.cta-form .btn--gold:hover {
  background: linear-gradient(180deg, #D2E3C6 0%, #B5CCA7 100%);
}
.cta-form__title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}
.cta-form__sub {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
}
.cta-form__form {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px;
}
.cta-form__form input {
  height: 48px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 0 14px;
  color: #fff;
  font: inherit;
  font-size: 13px;
  outline: none;
}
.cta-form__form input::placeholder { color: rgba(255,255,255,.5); }
.cta-form__form .btn { height: 48px; }
.cta-form__notes {
  grid-column: 1 / -1;
  margin-top: 8px;
  display: flex;
  gap: 26px;
  font-size: 11.5px;
  color: rgba(255,255,255,.6);
}

/* ============ VISIT + FAQ ============ */
.visit-faq { padding: 50px 0; background: #fff; }
.visit-block {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 32px;
  margin-bottom: 50px;
  align-items: start;
}
.visit-block__left .badge { margin-bottom: 14px; }
.visit-block__feats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 20px 0;
}
.vbf {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12px;
  color: var(--text-3);
  line-height: 1.35;
}
.vbf svg { flex-shrink: 0; margin-top: 1px; }
.vbf span b { display: inline; color: var(--text); }
.visit-block__btns {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}
.visit-block__hours { font-size: 11.5px; color: var(--text-3); }

.visit-block__gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 12px;
  position: relative;
}
.vg-1, .vg-2, .vg-3, .vg-4 {
  border-radius: 16px;
  background-size: cover;
  background-position: center;
}
.vg-1 { grid-column: 1; grid-row: 1; }
.vg-2 { grid-column: 2; grid-row: 1; }
.vg-3 { grid-column: 1; grid-row: 2; }
.vg-4 { grid-column: 2; grid-row: 2; }
.vg-manager {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 14px;
  padding: 12px 16px;
  box-shadow: var(--shadow-md);
  max-width: 340px;
}
.vg-manager__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.vg-manager__title { font-size: 12.5px; font-weight: 700; line-height: 1.3; }
.vg-manager__sub { font-size: 11px; color: var(--text-3); margin-top: 4px; line-height: 1.35; }

/* FAQ */
.faq { margin-bottom: 40px; }
.faq .section-title { text-align: center; }
.faq .section-sub { text-align: center; }
.faq__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}
.faq__item {
  background: var(--bg-soft);
  border-radius: 12px;
  padding: 16px 18px;
}
.faq__item summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text);
}
.faq__item summary svg { flex-shrink: 0; }
.faq__chev {
  margin-left: auto;
  font-size: 14px;
  color: var(--text-3);
  transition: transform .2s;
}
.faq__item[open] .faq__chev { transform: rotate(180deg); }
.faq__item p {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--text-3);
  line-height: 1.5;
}

/* ============ FOOTER ============ */
.footer {
  background: linear-gradient(180deg, #1F3A2A 0%, #142E22 100%);
  color: #fff;
  margin: 40px 0 0;
  padding: 22px 32px;
  border-radius: 28px 28px 0 0;
  border-top: 0.5px solid rgba(255,255,255,.08);
  box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 -14px 40px rgba(20,40,28,.08);
}
.footer__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: nowrap;
  max-width: 1280px;
  margin: 0 auto;
}
.footer__nav {
  display: flex;
  gap: 22px;
  margin-left: 12px;
  flex-wrap: nowrap;
}
.footer__nav a { white-space: nowrap; }
.footer__nav a {
  font-size: 13px;
  color: rgba(255,255,255,.8);
}
.footer__nav a:hover { color: #fff; }
.footer__msg {
  display: flex;
  gap: 16px;
  margin-left: auto;
}
.footer__msg-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,.8);
}
.footer__contact {
  text-align: right;
}
.footer__phone {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}
.footer__hours {
  font-size: 11px;
  color: rgba(255,255,255,.55);
  margin-top: 2px;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px) {
  .nav { display: none; }
  .promo-quiz__inner { grid-template-columns: 1fr; }
  .what-buy__grid { grid-template-columns: repeat(3, 1fr); }
  .benefit-bar { grid-template-columns: repeat(2, 1fr); }
  .choose-grid { grid-template-columns: repeat(2, 1fr); }
  .quiz-block__grid { grid-template-columns: 1fr; }
  .masterplan__grid { grid-template-columns: 1fr; }
  .ready-projects__grid { grid-template-columns: repeat(2, 1fr); }
  .how-we-build__list { grid-template-columns: repeat(2, 1fr); }
  .guarantee-strip { grid-template-columns: repeat(2, 1fr); }
  .payments__grid { grid-template-columns: repeat(2, 1fr); }
  .about-dev { grid-template-columns: 1fr; }
  .about-dev__images { grid-column: 1; grid-row: auto; }
  .about-dev__feats { grid-column: 1; grid-row: auto; }
  .cta-form { grid-template-columns: 1fr; }
  .cta-form__form { grid-template-columns: 1fr 1fr; }
  .visit-block { grid-template-columns: 1fr; }
  .faq__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .hero__title { font-size: 38px; }
  .hero__features { grid-template-columns: 1fr 1fr; }
  .what-buy__grid { grid-template-columns: 1fr 1fr; }
  .benefit-bar { grid-template-columns: 1fr; }
  .choose-grid, .ready-projects__grid, .payments__grid, .visit-strip__items, .quiz-block__params, .samples-grid { grid-template-columns: 1fr 1fr; }
  .fix-promo__feats { grid-template-columns: 1fr 1fr; }
  .fix-promo__card { padding: 24px; }
  .fix-promo__title { font-size: 28px; }
  .fix-promo__price { position: static; transform: none; margin-top: 24px; }
  .visit-strip { grid-template-columns: 1fr; }
  .visit-strip__items { grid-row: auto; grid-column: auto; }
  .how-we-build__list, .guarantee-strip { grid-template-columns: 1fr; }
  .faq__grid { grid-template-columns: 1fr; }
  .cta-form__form { grid-template-columns: 1fr; }
  .footer__inner { gap: 16px; }
  .footer__nav, .footer__msg { display: none; }
  .header__phone { display: none; }
}

/* ============ FAB (WhatsApp/Telegram) ============ */
.fab {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
}
.fab__toggle {
  position: relative;
  width: 58px; height: 58px;
  border-radius: 50%;
  background: #25D366;
  box-shadow: 0 12px 28px rgba(37,211,102,.4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.fab__pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: #25D366;
  opacity: .4;
  animation: fab-pulse 1.8s infinite;
  z-index: -1;
}
@keyframes fab-pulse {
  0% { transform: scale(.95); opacity: .5; }
  70% { transform: scale(1.4); opacity: 0; }
  100% { transform: scale(.95); opacity: 0; }
}
.fab__list {
  position: absolute;
  bottom: 70px; right: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s, transform .2s;
}
.fab.is-open .fab__list { opacity: 1; pointer-events: auto; transform: none; }
.fab__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.fab__item--wa { background: #25D366; }
.fab__item--tg { background: #28A8E9; }

/* ============ MOBILE STICKY CTA ============ */
.mobile-cta {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 80;
  background: transparent;
  border-top: none;
  padding: 0;
  pointer-events: none;
}
.mobile-cta__call {
  flex: 1;
  height: 48px;
  border: 1.5px solid #2D5638;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #2D5638;
  font-weight: 700;
  font-size: 13px;
}
.mobile-cta__call svg path { stroke: #2D5638; }
.mobile-cta__form {
  flex: 1.2;
  height: 48px;
  border-radius: 999px;
  background: #2D5638;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}
@media (max-width: 700px) {
  .mobile-cta { display: flex; }
  body { padding-bottom: 76px; }
  .fab { bottom: 86px; }
}

/* ============ COOKIE BANNER ============ */
.cookie {
  position: fixed;
  left: 22px; right: 22px; bottom: 22px;
  z-index: 200;
  background: #fff;
  padding: 14px 18px;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(20,40,28,.18);
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--text-2);
}
.cookie span { flex: 1; }
body.cookie-shown .fab { bottom: 100px; transition: bottom .2s; }
@media (max-width: 700px) {
  .cookie { left: 10px; right: 10px; bottom: 86px; flex-wrap: wrap; }
}

/* ============ MODALS ============ */
.modal {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.modal[hidden] { display: none; }
.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20,40,28,.55);
  backdrop-filter: blur(4px);
}
.modal__box {
  position: relative;
  width: 100%;
  max-width: 460px;
  background: #fff;
  border-radius: 24px;
  padding: 32px 30px;
  box-shadow: 0 30px 80px rgba(0,0,0,.3);
}
.modal__close {
  position: absolute;
  top: 14px; right: 18px;
  font-size: 28px;
  color: var(--text-3);
  line-height: 1;
  cursor: pointer;
}
.modal__close:hover { color: var(--text); }
.modal__title {
  margin: 12px 0 8px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.modal__sub {
  margin: 0 0 18px;
  color: var(--text-3);
  font-size: 13.5px;
  line-height: 1.5;
}
.modal__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modal__form input {
  height: 48px;
  border: 1px solid #E5DFCB;
  border-radius: 12px;
  padding: 0 16px;
  font: inherit;
  font-size: 14px;
  outline: none;
}
.modal__form input:focus { border-color: var(--sage); }

/* iOS-style custom checkbox */
.consent {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11.5px;
  color: var(--text-3);
  line-height: 1.4;
  cursor: pointer;
  user-select: none;
}
.consent input {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  background: #fff;
  border: 1.5px solid rgba(20,40,28,.22);
  border-radius: 4px;
  position: relative;
  cursor: pointer;
  transition: background .2s var(--ios-spring), border-color .2s var(--ios-spring), transform .15s var(--ios-spring);
}
.consent input:hover { border-color: var(--sage); }
.consent input:checked {
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%);
  border-color: #2D5638;
}
.consent input:checked::after {
  content: "";
  position: absolute;
  left: 4.5px; top: 1px;
  width: 4px; height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  animation: checkPop .3s var(--ios-spring);
}
.consent input:active { transform: scale(0.92); }
@keyframes checkPop {
  0% { opacity: 0; transform: rotate(45deg) scale(0.6); }
  100% { opacity: 1; transform: rotate(45deg) scale(1); }
}
.consent span { flex: 1; line-height: 1.4; }
.consent a { color: var(--green); text-decoration: underline; }

/* На тёмных формах */
.leadmag__form .consent input,
.modal__box .consent input {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.25);
}
.leadmag__form .consent input:checked {
  background: linear-gradient(180deg, #B5CCA7 0%, #9DBC92 100%);
  border-color: var(--sage);
}
.leadmag__form .consent input:checked::after { border-color: #14281C; }

/* ============ MORTGAGE CALCULATOR ============ */
.calc {
  background: var(--bg-soft);
  border-radius: var(--radius-lg);
  padding: 40px;
  margin: 60px 0 0;
}
.calc__head { text-align: center; margin-bottom: 30px; }
.calc__head .badge { margin-bottom: 12px; }
.calc__head .section-sub b { color: var(--text); }
.calc__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 30px;
  align-items: start;
}
.calc__controls { display: flex; flex-direction: column; gap: 22px; }
.calc__row { display: flex; flex-direction: column; gap: 8px; }
.calc__lbl {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.calc__lbl output {
  font-size: 15px;
  font-weight: 800;
  color: var(--green);
}
.calc__row input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sage), #C8DABE);
  outline: none;
}
.calc__row input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #2D5638;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  cursor: pointer;
}
.calc__row input[type=range]::-moz-range-thumb {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #2D5638;
  border: 3px solid #fff;
  cursor: pointer;
}
.calc__hint {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--text-3);
}
.calc__result {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.calc__result-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.calc__result-row:first-child {
  padding-bottom: 12px;
  border-bottom: 1px solid #EFEAD8;
  margin-bottom: 8px;
}
.calc__result-lbl { font-size: 13px; color: var(--text-3); }
.calc__result-num { font-size: 22px; font-weight: 800; color: var(--green); }
.calc__result-row--small { font-size: 12.5px; color: var(--text-2); }
.calc__disclaimer {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: var(--sage-soft);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 11.5px;
  color: var(--text-2);
  line-height: 1.45;
  margin-top: 6px;
}
.calc__disclaimer svg { flex-shrink: 0; margin-top: 2px; }
.calc__note {
  text-align: center;
  font-size: 11.5px;
  color: var(--text-3);
  margin-top: 4px;
}

/* ============ VIDEO ============ */
.video { margin-top: 60px; }
.video__head { text-align: center; margin-bottom: 24px; }
.video__head .badge { margin-bottom: 12px; }
.video__player {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16/9;
  box-shadow: 0 14px 40px rgba(20,40,28,.12);
}
.video__player iframe { display: block; }

/* ============ MAP ============ */
.map { margin-top: 60px; }
.map__head { text-align: center; margin-bottom: 24px; }
.map__head .badge { margin-bottom: 12px; }
.map__embed {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(20,40,28,.12);
}
.map__embed iframe { display: block; border: 0; }
.map__route {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  box-shadow: 0 10px 30px rgba(45,86,56,.35);
}

/* ============ REVIEWS ============ */
.reviews { margin-top: 60px; }
.reviews__head { text-align: center; margin-bottom: 30px; }
.reviews__head .badge { margin-bottom: 12px; }
.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.review {
  background: #fff;
  border: 1px solid #EFEAD8;
  border-radius: var(--radius);
  padding: 22px;
}
.review__top {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}
.review__avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}
.review__name { font-size: 14px; font-weight: 700; }
.review__meta { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.review__stars { color: #F0B040; font-size: 13px; letter-spacing: 1px; }
.review__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-2);
}

/* ============ COMPARE TABLE ============ */
.compare { margin-top: 60px; }
.compare__head { text-align: center; margin-bottom: 24px; }
.compare__head .badge { margin-bottom: 12px; }
.compare__table {
  background: #fff;
  border: 1px solid #EFEAD8;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.compare__row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 0;
  border-bottom: 1px solid #EFEAD8;
}
.compare__row:last-child { border-bottom: none; }
.compare__row > * { padding: 16px 22px; font-size: 13.5px; }
.compare__row--head { background: var(--sage-soft); }
.compare__col {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}
.compare__col--us { color: var(--green); }
.compare__col--other { color: var(--text-3); }
.compare__lbl { font-weight: 600; color: var(--text); }
.compare__cell { color: var(--text-2); }
.compare__cell--good { color: var(--green); font-weight: 600; position: relative; padding-left: 38px; }
.compare__cell--good::before {
  content: "";
  position: absolute;
  left: 18px; top: 50%;
  transform: translateY(-50%);
  width: 14px; height: 14px;
  background: var(--sage-soft);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'><path d='M5 12l4 4L19 6' stroke='%232D5638' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}
.compare__cell--bad { color: var(--text-3); position: relative; padding-left: 38px; }
.compare__cell--bad::before {
  content: "−";
  position: absolute;
  left: 18px; top: 50%;
  transform: translateY(-50%);
  width: 14px; height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #C0726C;
  font-weight: 700;
  font-size: 16px;
}

/* ============ LEAD MAGNET ============ */
.leadmag {
  margin-top: 60px;
  background: linear-gradient(135deg, #2D5638 0%, #1A2E22 100%);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}
.leadmag__title {
  margin: 12px 0 10px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.leadmag__sub {
  margin: 0 0 16px;
  font-size: 13.5px;
  color: rgba(255,255,255,.8);
  line-height: 1.5;
}
.leadmag__list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,.9);
}
.leadmag__form {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.leadmag__form input {
  height: 48px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  padding: 0 16px;
  color: #fff;
  font: inherit;
  font-size: 14px;
  outline: none;
}
.leadmag__form input::placeholder { color: rgba(255,255,255,.5); }
.leadmag__form input:focus { border-color: var(--sage); }
.leadmag__form .btn { color: #fff; }
.leadmag__form .btn:hover { color: #fff; }
.leadmag__form .consent { color: rgba(255,255,255,.6); }
.leadmag__form .consent a { color: var(--sage-light); }
.leadmag__hint { text-align: center; font-size: 11.5px; color: rgba(255,255,255,.6); }

@media (max-width: 900px) {
  .calc { padding: 24px; }
  .calc__grid { grid-template-columns: 1fr; }
  .reviews__grid { grid-template-columns: 1fr; }
  .compare__row { grid-template-columns: 1.4fr 1fr 1fr; }
  .leadmag { grid-template-columns: 1fr; padding: 24px; }
}
@media (max-width: 700px) {
  .compare__row { grid-template-columns: 1fr; text-align: left; }
  .compare__row--head .compare__col--other { display: none; }
}

.proj-card__energy {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #2D5638;
  color: #fff;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .04em;
}

.pay-card__banks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
}
.pay-card__banks span {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--green);
  background: var(--sage-soft);
  padding: 4px 10px;
  border-radius: 999px;
}
.about-dev__txt--small { font-size: 12.5px !important; color: var(--text-3) !important; line-height: 1.5; }

/* ============ QUIZ 4-STEP ============ */
.quiz {
  background: #fff;
  border-radius: 24px;
  padding: 24px 26px;
  box-shadow: 0 10px 40px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  min-height: 360px;
}
.quiz__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.quiz__progress {
  flex: 1;
  height: 6px;
  background: var(--sage-soft);
  border-radius: 999px;
  overflow: hidden;
}
.quiz__progress-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--sage), #2D5638);
  border-radius: 999px;
  transition: width .35s cubic-bezier(.4,0,.2,1);
  width: 25%;
}
.quiz__counter {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-3);
  white-space: nowrap;
}
.quiz__step { display: flex; flex-direction: column; gap: 12px; animation: quizFade .25s ease; }
@keyframes quizFade { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: none; } }
.quiz__back {
  align-self: flex-start;
  background: transparent;
  font-size: 12.5px;
  color: var(--text-3);
  padding: 4px 0;
  margin-bottom: -4px;
  font-weight: 600;
  cursor: pointer;
}
.quiz__back:hover { color: var(--green); }
.quiz__title {
  margin: 0 0 4px;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.quiz__sub {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--text-3);
  line-height: 1.5;
}
.quiz__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}
.quiz__opt {
  text-align: left;
  background: var(--sage-soft);
  border: 1.5px solid transparent;
  border-radius: 14px;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
  transition: all .15s;
  position: relative;
}
.quiz__opt::after {
  content: "→";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: var(--sage);
  opacity: 0;
  transition: opacity .15s, transform .15s;
}
.quiz__opt:hover {
  background: #fff;
  border-color: var(--sage);
  transform: translateX(2px);
}
.quiz__opt:hover::after { opacity: 1; transform: translateY(-50%) translateX(2px); }

.quiz__step--final .badge { align-self: flex-start; margin-bottom: 4px; }
.quiz__summary {
  background: var(--sage-soft);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
  font-size: 12.5px;
}
.quiz__summary div { display: flex; gap: 6px; }
.quiz__summary span { color: var(--text-3); }
.quiz__summary b { color: var(--text); }

.quiz__form { display: flex; flex-direction: column; gap: 10px; }
.quiz__form input {
  height: 48px;
  background: #fff;
  border: 1px solid #E5DFCB;
  border-radius: 12px;
  padding: 0 16px;
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .15s;
}
.quiz__form input:focus { border-color: var(--sage); }

.quiz__done {
  text-align: center;
  padding: 20px 0;
  animation: quizFade .3s ease;
}
.quiz__done-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--sage);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 12px;
}
.quiz__done h3 { margin: 0 0 6px; font-size: 18px; }
.quiz__done p { margin: 0; font-size: 13px; color: var(--text-3); line-height: 1.5; }

.buy-card__link:hover { background: #2D5638; color: #fff; }
.buy-card__title { font-size: 17px; margin-bottom: 6px; }
.buy-card__sub { font-size: 13px; color: var(--green-2); font-weight: 600; }

/* sage benefit-bar — обыграть */
.benefit-bar {
  margin-top: 28px;
  background: var(--sage-soft);
  border-radius: 24px;
  padding: 24px 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  align-items: center;
  gap: 24px;
  position: relative;
}
.benefit-bar__item {
  display: flex;
  align-items: center;
  gap: 14px;
  position: relative;
}
.benefit-bar__item + .benefit-bar__item::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 36px;
  background: rgba(45,86,56,.18);
}
.benefit-bar__icon {
  width: 44px !important;
  height: 44px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(20,40,28,.06);
}
.benefit-bar__lbl { font-size: 14px !important; }
.benefit-bar__sub { font-size: 12px !important; }
.benefit-bar__btn {
  height: 52px;
  padding: 0 26px;
  border-radius: 999px;
}

/* Fix-promo timer */
.fix-promo__timer { margin: 18px 0 22px; }
.fp-timer__label {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sage-light);
  margin-bottom: 8px;
  font-weight: 700;
}
.fp-timer__row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.fp-timer__cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 8px 12px;
  min-width: 54px;
}
.fp-timer__num { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.fp-timer__lbl { font-size: 10px; color: rgba(255,255,255,.6); text-transform: lowercase; margin-top: 2px; }
.fp-timer__sep { font-size: 22px; font-weight: 800; color: rgba(255,255,255,.3); }

.fix-promo__card { border-radius: 32px !important; }

/* choose-card теперь button — нужно сбросить дефолтные стили */
button.choose-card {
  text-align: left;
  font: inherit;
  color: inherit;
  width: 100%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  border: none;
  padding: 0;
}
button.choose-card .choose-card__link {
  background: transparent;
  border: none;
  pointer-events: none;
}

/* «Получите 3 варианта» — переверстка по канону */
.quiz-block__grid { grid-template-columns: 1.2fr 1fr !important; gap: 28px; }
.quiz-form { padding: 32px 30px !important; }
.quiz-form__title { font-size: 24px !important; }
.quiz-form .field input { height: 52px !important; }
.quiz-form .btn { height: 56px !important; }
.qf3 {
  padding: 22px 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(20,40,28,.05);
}
.qf3__ic {
  width: 44px !important;
  height: 44px !important;
}
.qf3 b { font-size: 14px; }

.sample-card {
  position: relative;
}
.sample-card__lbl {
  display: block;
  text-align: center;
  font-size: 11.5px;
  font-weight: 600;
  margin-top: 6px;
  color: var(--text-2);
}

.quiz-block__params .qp {
  background: var(--sage-soft) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  align-items: center !important;
}
.quiz-block__params .qp__ic { background: #fff !important; }

/* CTA form tabs */
.cta-form--tabs { display: block !important; padding: 28px 30px !important; }
.cta-tabs {
  display: inline-flex;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  padding: 5px;
  border-radius: 999px;
  margin-bottom: 22px;
}
.cta-tab {
  background: transparent;
  color: rgba(255,255,255,.65);
  padding: 9px 22px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all .15s;
}
.cta-tab.is-active {
  background: var(--sage);
  color: #14281C;
}
.cta-pane {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 24px;
  align-items: center;
}
.cta-form__form--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.cta-form__form--grid > * { height: 52px; }
.cta-pane .cta-form__notes {
  grid-column: 1 / -1;
  margin-top: 12px;
  display: flex;
  gap: 28px;
  font-size: 11.5px;
  color: rgba(255,255,255,.6);
}

.masterplan__map { box-shadow: 0 10px 32px rgba(20,40,28,.1); }
.masterplan__legend {
  border-radius: 14px !important;
  padding: 12px 16px !important;
  position: absolute !important;
  top: 18px;
  left: 18px;
  width: auto !important;
  min-width: 170px;
}
.masterplan__photo {
  position: absolute;
  bottom: 18px;
  right: 18px;
  width: 120px;
  height: 80px;
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(20,40,28,.25);
  border: 3px solid #fff;
}
.masterplan__photo-lbl {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #2D5638;
  color: #fff;
  font-size: 9.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 999px;
  font-weight: 700;
  white-space: nowrap;
}
.masterplan__scale {
  position: absolute;
  bottom: 24px;
  left: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.92);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--green);
  box-shadow: 0 4px 12px rgba(20,40,28,.1);
}
.masterplan__scale-bar {
  width: 36px;
  height: 4px;
  background: var(--green);
  border-radius: 2px;
  position: relative;
}
.masterplan__scale-bar::before,
.masterplan__scale-bar::after {
  content: "";
  position: absolute;
  top: -2px;
  width: 2px;
  height: 8px;
  background: var(--green);
}
.masterplan__scale-bar::before { left: 0; }
.masterplan__scale-bar::after { right: 0; }

.masterplan__dl { bottom: 18px !important; }

/* Готовые проекты — 4 в ряд, "Как строим" под ними горизонтально */
.proj-row {
  display: block !important;
  grid-template-columns: none !important;
}
.ready-projects__grid {
  grid-template-columns: repeat(4, 1fr) !important;
}
.proj-card { padding: 14px; }
.proj-card__img { height: 180px !important; }
.proj-card__title { font-size: 15px; }
.proj-card__sub { font-size: 11.5px; }
.proj-card__price { font-size: 18px; }

.how-we-build {
  margin-top: 32px !important;
  padding: 28px 30px !important;
}
.how-we-build__list {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 12px !important;
  position: relative;
}
.how-we-build__list li {
  padding: 0 0 0 0 !important;
  text-align: center;
  font-size: 11.5px !important;
}
.how-we-build__list li::before {
  position: static !important;
  margin: 0 auto 8px !important;
  display: flex !important;
}
.how-we-build__list li b {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}
.how-we-build__list li span {
  font-size: 11px;
  line-height: 1.35;
  color: var(--text-3);
}

@media (max-width: 1100px) {
  .ready-projects__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .how-we-build__list { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Visit gallery — 1 big + 3 small */
.visit-block__gallery {
  grid-template-columns: 2fr 1fr !important;
  grid-template-rows: 1fr 1fr 1fr !important;
  gap: 12px !important;
  min-height: 460px;
}
.vg-1 { grid-column: 1 !important; grid-row: 1 / 4 !important; }
.vg-2 { grid-column: 2 !important; grid-row: 1 !important; }
.vg-3 { grid-column: 2 !important; grid-row: 2 !important; }
.vg-4 { grid-column: 2 !important; grid-row: 3 !important; }

/* Lead magnet — отделить от застройщика */
.leadmag { margin-top: 80px !important; margin-bottom: 80px !important; }

/* About-dev — переработать сетку фото 1 big + 3 small */
.about-dev__images {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  grid-template-rows: 1fr 1fr 1fr !important;
  gap: 10px !important;
}
.about-dev__images .ad-img:nth-child(1) {
  grid-column: 1; grid-row: 1 / 4;
  min-height: 320px !important;
}
.about-dev__images .ad-img:nth-child(2) { grid-column: 2; grid-row: 1; min-height: 0 !important; }
.about-dev__images .ad-img:nth-child(3) { grid-column: 2; grid-row: 2; min-height: 0 !important; }
.about-dev__images .ad-img:nth-child(4) { grid-column: 2; grid-row: 3; min-height: 0 !important; }

/* About-dev stats — как капсулы в строку */
.about-dev__stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.about-dev__stats > div {
  background: var(--sage-soft) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.about-dev__stats b {
  display: inline !important;
  font-size: 18px !important;
}
.about-dev__stats span {
  display: inline !important;
  margin-top: 0 !important;
  font-size: 11.5px !important;
  white-space: pre-line;
}

/* About-dev feats — горизонтальная полоса */
.about-dev__feats {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  background: var(--sage-soft);
  border-radius: 24px;
  padding: 22px 28px;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px;
  margin-top: 22px;
}
.adf { gap: 12px !important; align-items: center !important; }

/* CTA final form — 2x2 layout, пропорциональные поля */
.cta-form:not(.cta-form--tabs) {
  display: block !important;
  padding: 28px 30px !important;
}
.cta-form:not(.cta-form--tabs) .cta-form__left { margin-bottom: 18px; }
.cta-form:not(.cta-form--tabs) .cta-form__form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.cta-form:not(.cta-form--tabs) .cta-form__form > * { height: 52px; }
.cta-form:not(.cta-form--tabs) .cta-form__form .btn { grid-column: 2; }
.cta-form:not(.cta-form--tabs) .cta-form__notes {
  margin-top: 14px;
  display: flex;
  gap: 28px;
  font-size: 11.5px;
  color: rgba(255,255,255,.6);
}

/* Modal containing quiz — wider */
.modal__box--quiz {
  max-width: 560px;
  padding: 36px 36px 32px;
}
.modal__box--quiz .quiz {
  background: transparent;
  box-shadow: none;
  padding: 0;
  min-height: auto;
}

/* Sticky header keeps body padding-top; if header pill exists ensure 90px */

/* Fix: hidden должен реально скрывать шаги квиза */
.quiz__step[hidden] { display: none !important; }

/* ============ iOS-STYLE GLOBAL ============ */
:root {
  --ios-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --ios-fast: cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-layered: 0 1px 2px rgba(20,40,28,.04), 0 8px 24px rgba(20,40,28,.06);
  --shadow-card: 0 1px 2px rgba(20,40,28,.05), 0 12px 32px rgba(20,40,28,.08);
  --shadow-elevated: 0 2px 6px rgba(20,40,28,.06), 0 20px 60px rgba(20,40,28,.14);
  --shadow-modal: 0 4px 12px rgba(20,40,28,.1), 0 40px 80px rgba(20,40,28,.3);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Manrope', system-ui, sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* Spring transitions для всех кнопок */
.btn, button.choose-card, .quiz__opt, .cta-tab, .fab__item, .buy-card__link {
  transition: transform .35s var(--ios-spring),
              background-color .25s var(--ios-fast),
              color .25s var(--ios-fast),
              box-shadow .35s var(--ios-spring),
              border-color .25s var(--ios-fast),
              opacity .2s var(--ios-fast);
}

/* iOS press-feedback */
.btn:active, button.choose-card:active, .quiz__opt:active,
.cta-tab:active, .fab__item:active, .fab__toggle:active,
.modal__close:active, .header .btn:active {
  transform: scale(0.97);
  transition-duration: .08s;
}
.choose-card { will-change: transform; }

/* Многослойные тени для карточек */
.buy-card, .pay-card:not(.pay-card--promo), .proj-card, .qf3,
.how-we-build, .calc__result, .video__player, .map__embed,
.compare__table, .ad-img, .quiz-card,
.fix-promo__price, .visit-block__gallery > div, .vg-manager {
  box-shadow: var(--shadow-layered) !important;
}

.modal__box { box-shadow: var(--shadow-modal) !important; }

/* Header — refined iOS look */
.header {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: saturate(180%) blur(28px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(28px) !important;
  border-color: rgba(255,255,255,.5) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, 0 12px 40px rgba(20,40,28,.08) !important;
}
.header.is-scrolled {
  background: rgba(255,255,255,.85) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, 0 16px 50px rgba(20,40,28,.14) !important;
}

/* Hero feature-pills как iOS glass-chips */
.feature-pill {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border: 0.5px solid rgba(255,255,255,.7) !important;
  box-shadow: 0 1px 1px rgba(255,255,255,.5) inset, 0 6px 20px rgba(20,40,28,.18) !important;
  transition: transform .35s var(--ios-spring), background .25s var(--ios-fast);
}
.feature-pill:hover {
  background: rgba(255,255,255,.95) !important;
  transform: translateY(-1px);
}

/* FAB — glass + iOS press */
.fab__toggle {
  box-shadow: 0 1px 2px rgba(0,0,0,.18), 0 12px 30px rgba(37,211,102,.45) !important;
  transition: transform .35s var(--ios-spring), box-shadow .25s var(--ios-fast) !important;
}
.fab__toggle:hover { transform: scale(1.06); }
.fab__toggle:active { transform: scale(0.94); }
.fab__item {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 13px;
}

/* Cookie banner — iOS sheet */
.cookie {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: saturate(180%) blur(22px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(22px) !important;
  border: 0.5px solid rgba(255,255,255,.7) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, var(--shadow-elevated) !important;
}

/* Hairline borders */
.choose-card, .review, .compare__table, .leadmag__form, .calc__result, .pay-card:not(.pay-card--promo) {
  border: 0.5px solid rgba(20,40,28,.08) !important;
}

/* Quiz progress with spring */
.quiz__progress-fill {
  transition: width .5s var(--ios-spring) !important;
}

/* Quiz opt iOS look */
.quiz__opt {
  background: #F4F5F2 !important;
  border: 0.5px solid rgba(20,40,28,.06) !important;
}
.quiz__opt:hover {
  background: #fff !important;
  border-color: var(--sage) !important;
  box-shadow: 0 6px 20px rgba(157,188,146,.25) !important;
}

/* iOS-style large headlines */
.section-title {
  letter-spacing: -.02em !important;
  font-feature-settings: "ss01", "cv01";
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Buttons — fuller pill, slight gradient hint */
.btn--primary {
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 6px 18px rgba(45,86,56,.32) !important;
}
.btn--primary:hover {
  background: linear-gradient(180deg, #3F7A50 0%, #366A45 100%) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.22) inset, 0 8px 24px rgba(45,86,56,.42) !important;
}
.btn--ghost {
  background: rgba(45,86,56,.04) !important;
  border: 0.5px solid rgba(45,86,56,.25) !important;
  backdrop-filter: blur(8px);
}
.btn--ghost:hover {
  background: #2D5638 !important;
  border-color: #2D5638 !important;
  color: #fff !important;
}

/* Modal — iOS card */
.modal__box {
  border-radius: 28px !important;
  border: 0.5px solid rgba(255,255,255,.6);
  background: rgba(255,255,255,.98);
  backdrop-filter: saturate(180%) blur(20px);
}
.modal__backdrop {
  background: rgba(20,40,28,.4) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* iOS modal animation */
@keyframes iosModalIn {
  from { opacity: 0; transform: scale(0.96) translateY(8px); }
  to { opacity: 1; transform: none; }
}
.modal:not([hidden]) .modal__box {
  animation: iosModalIn .35s var(--ios-spring);
}

/* Mobile bottom-sheet modals */
@media (max-width: 700px) {
  .modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  .modal__box {
    width: 100% !important;
    max-width: none !important;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 24px 24px 0 0 !important;
    padding: 12px 22px 26px !important;
    animation: iosSheetUp .4s var(--ios-spring) !important;
  }
  .modal__box::before {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: rgba(20,40,28,.18);
    border-radius: 3px;
    margin: 0 auto 14px;
  }
  .modal__close {
    top: 16px;
    right: 16px;
  }
}
@keyframes iosSheetUp {
  from { transform: translateY(100%); }
  to { transform: none; }
}

/* iOS FAQ accordion */
.faq__item {
  background: #fff !important;
  border: 0.5px solid rgba(20,40,28,.08) !important;
  border-radius: 16px !important;
  padding: 14px 18px !important;
  transition: background .25s var(--ios-fast), box-shadow .35s var(--ios-spring);
}
.faq__item[open] {
  background: #fff !important;
  box-shadow: var(--shadow-layered);
}
.faq__chev { transition: transform .35s var(--ios-spring); }
.faq__item p {
  animation: faqOpen .3s var(--ios-spring);
}
@keyframes faqOpen {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}

/* Mobile CTA — фон ПРОЗРАЧНЫЙ, только pill-кнопка плавает */
.mobile-cta {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

/* iOS smooth animations everywhere */
.choose-card, .buy-card, .pay-card, .proj-card, .review {
  transition: transform .45s var(--ios-spring), box-shadow .45s var(--ios-spring) !important;
}
.choose-card:hover, .buy-card:hover, .pay-card:hover, .proj-card:hover {
  transform: translateY(-3px);
}

/* iOS scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(20,40,28,.2); border-radius: 999px; border: 2px solid #fff; }
::-webkit-scrollbar-thumb:hover { background: rgba(20,40,28,.35); }

/* iOS-style input focus ring */
input:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(157,188,146,.3);
  border-color: var(--sage) !important;
}

/* Select text in iOS green */
::selection { background: rgba(157,188,146,.4); }

/* iOS-style number font for prices */
.proj-card__price, .calc__result-num, .fix-promo__price-num, .countdown__num, .fp-timer__num {
  font-feature-settings: "tnum", "lnum";
  font-variant-numeric: tabular-nums;
}

/* ============ NO WRAP RULES (one-line texts) ============ */
.logo__title,
.logo__sub,
.header__phone-num,
.header__hours,
.badge,
.badge--gold,
.badge--green-light,
.promo-card__badge,
.feature-pill__label,
.feature-pill__sub,
.quiz-feat__lbl,
.quiz-feat__sub,
.benefit-bar__lbl,
.benefit-bar__sub,
.fix-promo__sub,
.fp-timer__label,
.fp-timer__lbl,
.section-title__accent,
.buy-card__title,
.buy-card__sub,
.proj-card__title,
.proj-card__sub,
.proj-card__price,
.qp b,
.qp__sub,
.mp-feat b,
.adf b,
.choose-card__link,
.vbf b,
.cta-form__title {
  white-space: nowrap;
}

/* Header: prevent wrap, allow shrink */
.header__inner { flex-wrap: nowrap; min-width: 0; }
.header__contact { flex-shrink: 0; white-space: nowrap; }
.header__phone { flex-shrink: 0; }
.logo { flex-shrink: 0; }
.nav { flex-wrap: nowrap; overflow: hidden; }
.nav a { flex-shrink: 0; white-space: nowrap; }

/* Promo card subtitle on one line */
.promo-card__sub { white-space: nowrap; }

/* Stats — красивые карточки вместо пилюль */
.about-dev__stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  flex-wrap: unset !important;
}
.about-dev__stats .adstat {
  background: #fff !important;
  border: 0.5px solid rgba(20,40,28,.08);
  border-radius: 16px !important;
  padding: 18px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  box-shadow: var(--shadow-layered);
}
.about-dev__stats .adstat b {
  display: block !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: var(--green) !important;
  letter-spacing: -.02em;
  line-height: 1.05;
  white-space: nowrap;
}
.about-dev__stats .adstat span {
  display: block !important;
  font-size: 12px !important;
  color: var(--text-3) !important;
  margin-top: 4px !important;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Genplan plots — полупрозрачные поверх аэрофото */
.masterplan__svg .mp-plots rect {
  fill-opacity: 0.85;
}
.masterplan__map {
  border: 0.5px solid rgba(20,40,28,.1);
}

/* Footer pill — no-wrap on items */
.footer__phone, .footer__hours, .footer__msg-link {
  white-space: nowrap;
}
.footer .logo { flex-shrink: 0; }
.footer__msg { flex-shrink: 0; }
.footer__contact { flex-shrink: 0; }
.footer .btn { flex-shrink: 0; white-space: nowrap; }

/* Mobile — collapse */
@media (max-width: 1100px) {
  .footer { padding: 18px 22px; }
  .footer__inner { flex-wrap: wrap; }
  .footer__nav { display: none; }
}
@media (max-width: 700px) {
  .footer {
    padding: 16px 18px;
    border-radius: 22px 22px 0 0;
  }
  .footer__inner { gap: 14px; }
  .footer__msg { display: none; }
  .footer__contact { text-align: left; }
}

/* ============ ADAPTIVE / RESPONSIVE FIXES ============ */
html, body { overflow-x: hidden; max-width: 100vw; }
*, *::before, *::after { max-width: 100%; }
img, video, iframe, svg { max-width: 100%; height: auto; }

/* Container fluid */
.container { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }

/* ===== ≤ 1100px — планшет ===== */
@media (max-width: 1100px) {
  .header { left: 14px; right: 14px; top: 10px; padding: 10px 16px; border-radius: 22px; }
  body { padding-top: 78px; }
  .nav { display: none; }
  .header__contact { gap: 12px; }
  .header__phone { gap: 6px; }
  .hero__inner { padding: 36px 28px 44px; }
  .hero__title { font-size: 44px; }
  .hero__subtitle { font-size: 14px; }
  .hero__features { grid-template-columns: repeat(2, 1fr); }
  .promo-quiz__inner { grid-template-columns: 1fr; gap: 14px; }
  .promo-card { padding: 22px 22px; }
  .promo-card__title { font-size: 20px; white-space: normal; }
  .promo-card__gift { right: 18px; top: 18px; width: 64px; }
  .promo-card__gift svg { width: 64px; }
}

/* ===== ≤ 768px — мобильная книжка ===== */
@media (max-width: 768px) {
  .header { padding: 8px 14px; }
  .header__phone-num { font-size: 13px; }
  .header__hours { display: none; }
  .header .btn { padding: 0 14px; height: 36px; font-size: 12px; }
  .logo__title { font-size: 12px; }
  .logo__sub { display: none; }
  body { padding-top: 70px; }

  .hero { border-radius: 22px; min-height: 480px; }
  .hero__inner { padding: 28px 22px 36px; }
  .hero__title { font-size: 36px; line-height: 1.08; }
  .hero__features { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .hero__subtitle { font-size: 13.5px; margin-bottom: 22px; }
  .feature-pill { padding: 6px 10px; }
  .feature-pill__label { font-size: 10.5px; }
  .feature-pill__sub { font-size: 9px; }

  .countdown__item, .fp-timer__cell { padding: 6px 10px; min-width: 46px; }
  .countdown__num, .fp-timer__num { font-size: 18px; }

  .promo-card { padding: 18px; }
  .promo-card__sub { white-space: normal; }
  .quiz-card { padding: 18px; }
  .quiz-card__title { font-size: 17px; }
  .quiz-card__features { grid-template-columns: 1fr; gap: 10px; }
  .quiz-card__bottom { flex-direction: column; align-items: stretch; gap: 14px; }
  .quiz-card__people { justify-content: center; }

  .what-buy__grid { grid-template-columns: repeat(2, 1fr); }
  .benefit-bar { grid-template-columns: 1fr 1fr; padding: 18px 18px; gap: 14px; }
  .benefit-bar__item + .benefit-bar__item::before { display: none; }
  .benefit-bar__btn { grid-column: 1 / -1; }

  .fix-promo__card { padding: 24px 22px; }
  .fix-promo__title { font-size: 28px; }
  .fix-promo__feats { grid-template-columns: 1fr 1fr; }
  .fix-promo__price {
    position: static;
    transform: none;
    margin: 28px auto 0;
    min-width: 0;
    width: 100%;
  }
  .fix-promo__price-bow { top: -36px; }

  .choose-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .choose-card__img { height: 120px; }
  .choose-card__body { padding: 14px; }

  .quiz-block__head .section-title { font-size: 24px; line-height: 1.2; }
  .quiz-block__grid { grid-template-columns: 1fr; gap: 18px; }
  .quiz-feats3 { grid-template-columns: 1fr; gap: 10px; }
  .samples-grid { grid-template-columns: repeat(2, 1fr); }
  .quiz-block__params { grid-template-columns: 1fr 1fr; }

  .masterplan__grid { grid-template-columns: 1fr; gap: 18px; }
  .masterplan__map { aspect-ratio: 16/10; }
  .masterplan__photo { width: 80px; height: 56px; bottom: 14px; right: 14px; }
  .masterplan__scale { bottom: 14px; left: 14px; }

  .ready-projects__grid { grid-template-columns: 1fr 1fr !important; }
  .how-we-build { padding: 20px 18px !important; }
  .how-we-build__list { grid-template-columns: 1fr !important; }
  .how-we-build__list li { padding-left: 44px !important; text-align: left !important; }
  .how-we-build__list li::before { position: absolute !important; left: 0; top: 0; margin: 0 !important; }
  .guarantee-strip { grid-template-columns: 1fr 1fr; }

  .payments__grid { grid-template-columns: 1fr; }
  .payments__grid .pay-card--promo { grid-row: auto; grid-column: 1; }

  .about-dev { grid-template-columns: 1fr; gap: 22px; }
  .about-dev__images { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto !important; }
  .about-dev__images .ad-img:nth-child(1) { grid-column: 1 / 3 !important; grid-row: auto !important; min-height: 200px !important; }
  .about-dev__images .ad-img:nth-child(2),
  .about-dev__images .ad-img:nth-child(3),
  .about-dev__images .ad-img:nth-child(4) { grid-column: auto !important; grid-row: auto !important; min-height: 100px !important; }
  .about-dev__feats { grid-template-columns: 1fr 1fr !important; padding: 18px !important; }
  .about-dev__stats { grid-template-columns: 1fr 1fr !important; }

  .calc { padding: 22px 18px !important; }
  .calc__grid { grid-template-columns: 1fr !important; gap: 20px; }
  .calc__head .section-title { font-size: 24px; }

  .video__head .section-title,
  .map__head .section-title,
  .reviews__head .section-title,
  .compare__head .section-title { font-size: 24px; }

  .compare__row { grid-template-columns: 1fr !important; text-align: left; }
  .compare__row > * { padding: 12px 18px; }
  .compare__row--head .compare__col--other,
  .compare__row > .compare__lbl + .compare__cell + .compare__cell { border-top: 0.5px solid #EFEAD8; }

  .leadmag { grid-template-columns: 1fr !important; padding: 22px 18px !important; gap: 18px; }
  .leadmag__title { font-size: 22px; }

  .cta-form { padding: 22px 18px !important; }
  .cta-form, .cta-pane { grid-template-columns: 1fr !important; gap: 14px !important; }
  .cta-form__form, .cta-form__form--grid {
    grid-template-columns: 1fr !important;
  }
  .cta-form__form > *,
  .cta-form__form--grid > * { height: 48px; }
  .cta-form:not(.cta-form--tabs) .cta-form__form .btn { grid-column: 1; }
  .cta-form__notes { flex-direction: column; gap: 8px !important; }

  .visit-block { grid-template-columns: 1fr; gap: 22px; }
  .visit-block__feats { grid-template-columns: 1fr 1fr; }
  .visit-block__gallery { grid-template-columns: 1fr 1fr !important; grid-template-rows: 1fr 1fr !important; min-height: 320px; }
  .vg-1 { grid-column: 1 / 3 !important; grid-row: 1 !important; }
  .vg-2 { grid-column: 1 !important; grid-row: 2 !important; }
  .vg-3 { grid-column: 2 !important; grid-row: 2 !important; }
  .vg-4 { display: none !important; }
  .vg-manager { max-width: none; left: 8px; right: 8px; }

  .faq__grid { grid-template-columns: 1fr; }

  .footer__inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer__contact { width: 100%; }
}

/* ===== ≤ 480px ===== */
@media (max-width: 480px) {
  .container { padding-left: 12px; padding-right: 12px; }
  .hero { border-radius: 18px; min-height: 440px; }
  .hero__inner { padding: 22px 18px 30px; }
  .hero__title { font-size: 30px; }
  .hero__features { grid-template-columns: 1fr 1fr; }
  .promo-card { padding: 16px; }
  .promo-card__title { font-size: 17px; }
  .promo-card__gift { width: 52px; right: 14px; top: 14px; }
  .promo-card__gift svg { width: 52px; }
  .countdown { gap: 4px; }
  .countdown__item { padding: 5px 8px; min-width: 40px; }
  .countdown__num { font-size: 15px; }
  .countdown__lbl, .fp-timer__lbl { font-size: 9px; }
  .countdown__sep { font-size: 14px; }

  .what-buy__grid { grid-template-columns: 1fr; }
  .choose-grid { grid-template-columns: 1fr; }
  .ready-projects__grid { grid-template-columns: 1fr !important; }
  .visit-block__feats { grid-template-columns: 1fr; }
  .visit-block__gallery { min-height: 240px; }
  .visit-block__btns { flex-direction: column; }
  .visit-block__btns .btn { width: 100%; }

  .benefit-bar { grid-template-columns: 1fr; }
  .fix-promo__feats { grid-template-columns: 1fr; }

  .section-title { font-size: 24px !important; }
  .leadmag__title { font-size: 20px; }

  .modal__title { font-size: 18px; }
  .modal__sub { font-size: 12.5px; }

  .quiz__opt { padding: 12px 14px; font-size: 13px; }
  .quiz__title { font-size: 17px; }

  .footer { padding: 16px 14px; border-radius: 18px 18px 0 0; }

  .fab { right: 14px; bottom: 14px; }
  .fab__toggle { width: 52px; height: 52px; }

  .pay-card { padding: 18px; }

  .header { left: 8px; right: 8px; padding: 8px 12px; border-radius: 18px; }
  body { padding-top: 64px; }
  .header__contact { gap: 8px; }
  .header__phone { display: none; }
  .logo__title { font-size: 11px; letter-spacing: .08em; }
}

/* ===== ≤ 375px (iPhone SE / mini) ===== */
@media (max-width: 375px) {
  .hero__title { font-size: 26px; }
  .hero__subtitle { font-size: 12.5px; }
  .feature-pill { padding: 5px 9px; }
  .feature-pill__label { font-size: 10px; }
  .feature-pill__sub { display: none; }
  .promo-card__title { font-size: 16px; }
  .promo-card__sub { font-size: 11.5px; }
  .countdown__item { min-width: 36px; padding: 4px 6px; }
  .countdown__num { font-size: 14px; }
  .quiz-card__title { font-size: 16px; }
  .quiz-card__sub { font-size: 12px; }
  .quiz__title { font-size: 15.5px; }
  .modal__box { padding: 22px 18px !important; }
  .calc__lbl { font-size: 12px; }
  .calc__lbl output { font-size: 13px; }
}

/* ===== ≤ 320px (iPhone SE 1) ===== */
@media (max-width: 320px) {
  .container { padding-left: 10px; padding-right: 10px; }
  .header { padding: 6px 10px; left: 6px; right: 6px; }
  .header .btn { font-size: 11px; padding: 0 10px; height: 32px; }
  .logo__title { font-size: 10px; }
  .hero__title { font-size: 22px; }
  .hero__features { gap: 6px; }
  .promo-card__gift { display: none; }
  .countdown__item { min-width: 30px; padding: 3px 5px; }
  .countdown__num { font-size: 12px; }
  .countdown__lbl { font-size: 8px; }
  .quiz-card { padding: 14px; }
  .what-buy__grid { grid-template-columns: 1fr; }
  .section-title { font-size: 20px !important; }
  .leadmag__title { font-size: 18px; }
}

/* Hero — wrap support if needed */
.hero__features { box-sizing: border-box; }
.hero__features > * { min-width: 0; }
.feature-pill { box-sizing: border-box; }
.feature-pill > div { min-width: 0; overflow: hidden; }

/* ===== 320: ultra-tight ===== */
@media (max-width: 360px) {
  .header .btn { display: none; }  /* кнопка только в mobile-CTA */
  .header__phone { display: none; }
  .header__contact { display: none; }
  .header { padding: 8px 14px; }

  .mobile-cta { padding: 8px 10px; gap: 8px; }
  .mobile-cta__call,
  .mobile-cta__form { font-size: 12px; height: 44px; }
}

/* On very narrow screens make sure text never overflows */
@media (max-width: 480px) {
  .promo-card__title { white-space: normal !important; }
  .promo-card__sub { white-space: normal !important; }
  .cta-form__title { white-space: normal !important; }
  body { padding-bottom: 92px !important; }
}

/* ============ HAMBURGER BUTTON ============ */
.header__burger {
  display: none;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--sage-soft);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
  cursor: pointer;
  transition: background .25s var(--ios-spring), transform .15s var(--ios-spring);
}
.header__burger:active { transform: scale(0.92); }
.header__burger span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--green);
  border-radius: 2px;
  transition: transform .35s var(--ios-spring), opacity .2s;
}
.header__burger.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.header__burger.is-open span:nth-child(2) { opacity: 0; }
.header__burger.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1100px) {
  .header__burger { display: inline-flex; }
  .header__contact { display: none !important; }
}
@media (max-width: 768px) {
  .header__inner { justify-content: space-between; gap: 12px; }
}

/* ============ MOBILE MENU (iOS-style sheet) ============ */
.mmenu {
  position: fixed;
  inset: 0;
  z-index: 150;
}
.mmenu[hidden] { display: none; }
.mmenu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20,40,28,.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: mmenuFadeIn .3s var(--ios-spring);
}
.mmenu__panel {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  max-height: 85vh;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 8px 16px calc(24px + env(safe-area-inset-bottom));
  gap: 4px;
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -20px 60px rgba(20,40,28,.22);
  animation: mmenuSheetUp .4s var(--ios-spring);
  overflow-y: auto;
}
.mmenu__panel::before {
  content: "";
  display: block;
  width: 44px;
  height: 5px;
  background: rgba(20,40,28,.18);
  border-radius: 3px;
  margin: 6px auto 14px;
  flex-shrink: 0;
}
@keyframes mmenuFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes mmenuSheetUp {
  from { transform: translateY(100%); }
  to { transform: none; }
}
.mmenu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 4px 14px;
}
.mmenu__close {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(20,40,28,.06);
  color: var(--text-3);
  font-size: 20px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mmenu__close:active { transform: scale(.94); }
.mmenu__nav {
  display: flex;
  flex-direction: column;
  background: rgba(20,40,28,.04);
  border-radius: 14px;
  padding: 0 16px;
  margin-bottom: 12px;
}
.mmenu__nav a {
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  padding: 13px 0;
  border-bottom: 0.5px solid rgba(20,40,28,.08);
  transition: color .2s;
  letter-spacing: -.01em;
}
.mmenu__nav a:last-child { border-bottom: none; }
.mmenu__nav a:hover, .mmenu__nav a:active { color: var(--green-2); }

.mmenu__contact {
  margin: 0;
  padding: 14px 16px;
  background: rgba(20,40,28,.04);
  border-radius: 14px;
}
.mmenu__phone {
  display: block;
  font-size: 19px;
  font-weight: 800;
  color: var(--green);
  letter-spacing: -.01em;
}
.mmenu__hours { font-size: 12px; color: var(--text-3); margin-top: 4px; }

.mmenu__socials { display: flex; gap: 10px; }
.mmenu__social {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--sage-soft);
  transition: transform .15s var(--ios-spring), background .2s;
}
.mmenu__social--wa:hover { background: #25D366; }
.mmenu__social--tg:hover { background: #2AABEE; }
.mmenu__social:active { transform: scale(.94); }

.mmenu__cta { margin-top: auto; }

/* ============ STICKY MOBILE CTA — single iOS pill ============ */
.mobile-cta {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 80;
  padding: 8px 14px calc(8px + env(safe-area-inset-bottom));
  pointer-events: none;
}
.mobile-cta__btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  display: flex;
  height: 52px;
  border-radius: 999px;
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 12px 30px rgba(45,86,56,.4), 0 2px 6px rgba(20,40,28,.18);
  transition: transform .15s var(--ios-spring), box-shadow .25s var(--ios-fast);
  backdrop-filter: saturate(180%) blur(20px);
}
.mobile-cta__btn:active { transform: scale(.96); }
@media (max-width: 768px) {
  .mobile-cta { display: block; }
  body { padding-bottom: 92px; }
  .fab { bottom: 78px; }
}


/* ============ iOS TYPE SCALE ============
 * SF Pro Display: >= 20px, tracking -2% to -0.5%
 * SF Pro Text:   <  20px, tracking 0% to +1%
 *
 * iOS Apple HIG sizes (mobile baseline):
 *  - Large Title  34pt
 *  - Title 1      28pt
 *  - Title 2      22pt
 *  - Title 3      20pt
 *  - Headline     17pt (semibold)
 *  - Body         17pt (regular)
 *  - Callout      16pt
 *  - Subheadline  15pt
 *  - Footnote     13pt
 *  - Caption 1    12pt
 *  - Caption 2    11pt
 */

body { font-size: 15px; line-height: 1.42; }
.section-title {
  font-size: 32px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -.025em;
}
.section-sub {
  font-size: 15px;
  line-height: 1.45;
  color: var(--text-3);
}

.hero__title {
  font-size: 56px;
  line-height: 1.04;
  letter-spacing: -.03em;
  font-weight: 800;
}
.hero__subtitle {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -.005em;
}

/* Badges — iOS Caption 2 11pt + caps */
.badge,
.badge--gold,
.badge--green-light,
.section-title--sm {
  font-size: 11px;
  letter-spacing: .08em;
  font-weight: 700;
}

/* Card titles (iOS Headline 17) */
.buy-card__title, .pay-card__title, .choose-card__title,
.proj-card__title, .review__name, .quiz-card__title,
.quiz-form__title, .quiz__title {
  font-weight: 700;
  letter-spacing: -.012em;
}

/* iOS letter-spacing rules: tighter for big, looser for small */
h1, h2 { letter-spacing: -.028em; }
h3 { letter-spacing: -.018em; }
h4, h5 { letter-spacing: -.012em; }
small, .caption, .review__meta { letter-spacing: 0; }

/* ===== MOBILE TYPE OVERRIDES (HIG-style) ===== */
@media (max-width: 768px) {
  body { font-size: 15px; line-height: 1.42; }

  /* Hero — Large Title-ish */
  .hero__title { font-size: 34px; line-height: 1.08; letter-spacing: -.03em; }
  .hero__subtitle { font-size: 14.5px; line-height: 1.45; }

  /* Section titles — Title 1 */
  .section-title { font-size: 26px; line-height: 1.15; letter-spacing: -.025em; }
  .section-sub { font-size: 13.5px; line-height: 1.45; }
  .section-title--sm { font-size: 10.5px; letter-spacing: .1em; }

  /* Body Headlines */
  .buy-card__title, .pay-card__title, .choose-card__title,
  .proj-card__title, .quiz-card__title { font-size: 16px; }
  .quiz__title { font-size: 18px; }
  .modal__title { font-size: 20px; letter-spacing: -.02em; }

  /* Subhead / body */
  .buy-card__sub, .choose-card__txt, .proj-card__sub,
  .pay-card__list li, .modal__sub, .quiz-card__sub,
  .leadmag__sub { font-size: 13.5px; line-height: 1.45; }

  /* Prices — Title 3 */
  .proj-card__price { font-size: 17px; }
  .fix-promo__price-num { font-size: 28px; }
  .calc__result-num { font-size: 18px; }

  /* Feature labels — Subhead */
  .feature-pill__label { font-size: 12px; }
  .feature-pill__sub { font-size: 10.5px; }
  .quiz-feat__lbl { font-size: 13px; }
  .quiz-feat__sub { font-size: 11px; }

  /* Form labels and inputs */
  input { font-size: 16px !important; }  /* 16px чтобы iOS не зумил при фокусе */
  .calc__lbl { font-size: 13px; }
  .calc__lbl output { font-size: 14px; font-weight: 700; }

  /* Captions */
  .review__meta, .calc__hint, .calc__note, .mmenu__hours,
  .quiz-card__counter, .review__text, .footer__hours { font-size: 11.5px; }

  /* Buttons (Callout) */
  .btn { font-size: 14px; }
  .btn--lg { font-size: 15px; }
  .btn--sm { font-size: 12px; }

  /* Mobile menu */
  .mmenu__nav a { font-size: 17px; letter-spacing: -.01em; }
}

/* ===== ≤ 480 — compact mobile ===== */
@media (max-width: 480px) {
  .hero__title { font-size: 28px; }
  .section-title { font-size: 22px; }
  .modal__title { font-size: 18px; }
  .quiz__title { font-size: 16px; }
  .buy-card__title, .pay-card__title, .choose-card__title { font-size: 15.5px; }

  /* iOS app-style: use Caption 1/2 for meta info */
  .feature-pill__label { font-size: 11.5px; }
  .feature-pill__sub { font-size: 10px; }
  .review__meta { font-size: 11px; }
  .badge { font-size: 10px; letter-spacing: .1em; }
  .section-title--sm { font-size: 10px; }
}

/* ===== ≤ 375 — iPhone SE/13 mini ===== */
@media (max-width: 375px) {
  .hero__title { font-size: 26px; line-height: 1.1; }
  .hero__subtitle { font-size: 13.5px; }
  .section-title { font-size: 20px; }
  .modal__title { font-size: 17px; }
  .buy-card__title, .pay-card__title { font-size: 15px; }
  .feature-pill__label { font-size: 11px; }
  .feature-pill__sub { display: none; }
}

/* ===== ≤ 320 ===== */
@media (max-width: 320px) {
  .hero__title { font-size: 22px; }
  .section-title { font-size: 18px; }
  .quiz-card__title, .modal__title { font-size: 16px; }
}

/* ===== TABLET (768-1100) tweaks ===== */
@media (min-width: 769px) and (max-width: 1100px) {
  body { font-size: 15px; }
  .hero__title { font-size: 46px; letter-spacing: -.028em; }
  .hero__subtitle { font-size: 15.5px; }
  .section-title { font-size: 28px; }
  .section-sub { font-size: 14.5px; }
}

/* iOS-style font feature settings everywhere */
.proj-card__price,
.calc__result-num,
.calc__result-row span:last-child,
.fix-promo__price-num,
.countdown__num,
.fp-timer__num,
.about-dev__stats b,
.adstat b,
.header__phone-num,
.footer__phone,
.mmenu__phone {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum", "lnum", "kern";
}

.mmenu__socials {
  display: flex;
  gap: 10px;
  margin: 12px 0;
  justify-content: center;
}
.mmenu__cta {
  margin: 4px 0 0 !important;
  height: 48px !important;
  font-size: 14px !important;
}

/* ============ MOBILE: compact buttons & spacings ============ */
@media (max-width: 768px) {
  .btn {
    height: 42px !important;
    padding: 0 18px !important;
    font-size: 13.5px !important;
  }
  .btn--sm {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
  .btn--lg {
    height: 48px !important;
    padding: 0 22px !important;
    font-size: 14px !important;
  }

  /* Sticky CTA — компактнее */
  .mobile-cta__btn {
    height: 46px !important;
    max-width: 320px !important;
    font-size: 14px !important;
    gap: 8px !important;
  }

  /* Section paddings — плотнее */
  .what-buy, .fix-promo, .quiz-block, .payments, .visit-faq, .masterplan {
    padding: 36px 0 !important;
  }
  .section-title { margin-bottom: 4px !important; }
  .section-sub { margin-bottom: 18px !important; }
}

@media (max-width: 480px) {
  .btn { height: 42px !important; font-size: 13px !important; padding: 0 16px !important; }
  .btn--lg { height: 46px !important; font-size: 13.5px !important; }
  .btn--sm { height: 34px !important; font-size: 11.5px !important; }

  .mobile-cta__btn {
    height: 44px !important;
    max-width: 280px !important;
    font-size: 13.5px !important;
  }

  .what-buy, .fix-promo, .quiz-block, .payments, .visit-faq, .masterplan {
    padding: 28px 0 !important;
  }
}

/* ============ FIX-PROMO mobile: contain content ============ */
@media (max-width: 768px) {
  .fix-promo__card {
    padding: 22px 18px !important;
    border-radius: 22px !important;
    overflow: visible;
  }
  .fix-promo__title { font-size: 24px !important; line-height: 1.15 !important; }
  .fix-promo__sub { font-size: 13.5px !important; line-height: 1.45 !important; }
  .fix-promo__feats {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 18px !important;
  }
  .fix-feat span { font-size: 11.5px !important; line-height: 1.35 !important; }
  .fix-promo__timer { margin: 14px 0 16px !important; }

  /* Цена-карточка под основным контентом */
  .fix-promo__price {
    position: static !important;
    transform: none !important;
    margin: 26px auto 0 !important;
    width: 100%;
    max-width: 320px;
    min-width: 0 !important;
    padding: 22px 24px !important;
  }
  .fix-promo__price-num { font-size: 26px !important; }

  /* Бантик — на месте над ценовой карточкой */
  .fix-promo__price-bow {
    position: absolute !important;
    top: -36px !important;
    left: 50% !important;
    transform: translateX(-50%) rotate(-8deg) !important;
    width: 90px !important;
  }
  .fix-promo__price-bow svg { width: 90px !important; }
}

@media (max-width: 480px) {
  .fix-promo__title { font-size: 22px !important; }
  .fix-promo__feats { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .fix-promo__price { padding: 20px 18px !important; }
  .fix-promo__price-num { font-size: 24px !important; }
  .fix-promo__price-bow { width: 78px !important; top: -32px !important; }
  .fix-promo__price-bow svg { width: 78px !important; }
}

/* ============ SAMPLES + GENPLAN mobile ============ */
@media (max-width: 768px) {
  /* «Получите 3 варианта» — block tighter */
  .quiz-block__head .section-title { font-size: 22px !important; line-height: 1.18 !important; }
  .samples-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .sample-card__img { height: 90px !important; }
  .sample-card__lbl { font-size: 11px !important; margin-top: 4px !important; }
  .quiz-block__params {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .qp { padding: 10px 12px !important; }
  .qp b { font-size: 12.5px !important; }
  .qp__sub { font-size: 10.5px !important; }

  /* Genplan map — фикс ratio + размеры */
  .masterplan__map { aspect-ratio: 4 / 3 !important; min-height: 240px; }
  .masterplan__legend {
    padding: 8px 12px !important;
    min-width: 0 !important;
  }
  .lg-item { font-size: 11px !important; gap: 6px !important; }
  .lg-item b { font-size: 12px !important; }
  .lg-dot { width: 9px !important; height: 9px !important; }
  .masterplan__photo { width: 70px !important; height: 50px !important; bottom: 12px !important; right: 12px !important; }
  .masterplan__photo-lbl { font-size: 8px !important; }
  .masterplan__scale { padding: 4px 8px !important; font-size: 10px !important; }
  .masterplan__scale-bar { width: 24px !important; }
  .masterplan__dl {
    padding: 8px 16px !important;
    font-size: 11.5px !important;
    bottom: 12px !important;
  }

  /* Genplan info compact */
  .masterplan__info { gap: 12px !important; }
  .mp-feat b { font-size: 13px !important; }
  .mp-feat__sub { font-size: 11.5px !important; }
}

@media (max-width: 480px) {
  .samples-grid { grid-template-columns: 1fr 1fr !important; }
  .quiz-block__params { grid-template-columns: 1fr 1fr !important; }
  .masterplan__map { aspect-ratio: 5 / 4 !important; }
}

/* Compact spacings и aligning headers */
@media (max-width: 768px) {
  .section-title { margin-bottom: 6px !important; }
  .what-buy__grid { gap: 10px !important; margin-top: 12px !important; }
  .benefit-bar { margin-top: 18px !important; padding: 16px 18px !important; gap: 12px !important; }
  .benefit-bar__lbl { font-size: 12.5px !important; }
  .benefit-bar__sub { font-size: 11px !important; }
  .benefit-bar__icon { width: 36px !important; height: 36px !important; }
}
@media (max-width: 480px) {
  .benefit-bar { grid-template-columns: 1fr; }
  .benefit-bar__btn { grid-column: 1 / -1; height: 42px !important; }
}

/* Buy-card description под ценой */
.buy-card__desc {
  margin: 0 0 14px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--text-3);
  flex: 1;
}
@media (max-width: 768px) {
  .buy-card__desc { font-size: 12px; }
}

/* Получите 3 варианта — отступы и иконки */
.qf3 {
  background: #fff !important;
  border: 0.5px solid rgba(20,40,28,.08);
  padding: 20px !important;
  border-radius: 16px !important;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.qf3__ic {
  width: 44px !important;
  height: 44px !important;
  background: var(--sage-soft) !important;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.qf3__ic--wa { background: rgba(37,211,102,.12) !important; }
.qf3 b {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 4px;
  letter-spacing: -.01em;
}
.qf3 > div > div {
  font-size: 12.5px;
  color: var(--text-3);
  line-height: 1.45;
}

@media (max-width: 768px) {
  .qf3 { padding: 16px !important; gap: 12px; }
  .qf3 b { font-size: 13px; }
  .qf3 > div > div { font-size: 12px; }
}

/* Override: checkbox in any form should NOT inherit form-input sizing */
.modal__form input[type="checkbox"],
.cta-form__form input[type="checkbox"],
.leadmag__form input[type="checkbox"],
.quiz__form input[type="checkbox"],
.quiz-form input[type="checkbox"],
.consent input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 16px !important;
  background: #fff !important;
  border: 1.5px solid rgba(20,40,28,.22) !important;
  border-radius: 4px !important;
  position: relative !important;
  cursor: pointer !important;
}
.modal__form .consent input[type="checkbox"]:checked,
.cta-form__form .consent input[type="checkbox"]:checked,
.leadmag__form .consent input[type="checkbox"]:checked,
.quiz-form .consent input[type="checkbox"]:checked,
.consent input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%) !important;
  border-color: #2D5638 !important;
}
.leadmag__form .consent input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #B5CCA7 0%, #9DBC92 100%) !important;
  border-color: var(--sage) !important;
}

/* ============ CHECKBOX FINAL POLISH ============ */
.consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
  color: var(--text-3);
  cursor: pointer;
}
.consent > input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 15px !important;
  height: 15px !important;
  padding: 0 !important;
  margin: 1px 0 0 !important;
  flex: 0 0 15px !important;
  background: #fff !important;
  border: 1px solid rgba(20,40,28,.3) !important;
  border-radius: 4px !important;
  position: relative !important;
  cursor: pointer !important;
  vertical-align: top;
  display: inline-block;
}
.consent > input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%) !important;
  border-color: #2D5638 !important;
}
.consent > input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 1.8px 1.8px 0;
  transform: rotate(45deg);
}
.consent > span {
  font-size: 11.5px;
  line-height: 1.5;
  flex: 1;
}
/* На тёмных формах */
.leadmag__form .consent > input[type="checkbox"],
.modal__form .consent > input[type="checkbox"],
.quiz-form .consent > input[type="checkbox"] {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.3) !important;
}
.leadmag__form .consent > span,
.modal__form .consent > span,
.quiz-form .consent > span { color: rgba(255,255,255,.6); }
.leadmag__form .consent a,
.modal__form .consent a,
.quiz-form .consent a { color: var(--sage-light); }

/* HARD: hero+promo плотно */
.hero-wrap { padding-bottom: 0 !important; }
.hero__inner { padding-bottom: 32px !important; }
.promo-quiz { margin-top: 16px !important; padding-top: 0 !important; padding-bottom: 24px !important; }
@media (max-width: 768px) {
  .hero__inner { padding-bottom: 28px !important; }
  .promo-quiz { margin-top: 12px !important; padding-bottom: 18px !important; }
}

/* HARD: fix-promo radius 32 */
.fix-promo__card,
.fix-promo__card.fix-promo__card {
  border-radius: 32px !important;
  overflow: hidden !important;
}
.fix-promo__bg { border-radius: 32px !important; }

/* Footer button — fix position */
.footer__inner > .btn,
.footer .btn {
  flex-shrink: 0 !important;
  margin-left: auto;
  height: 44px !important;
  padding: 0 22px !important;
  white-space: nowrap;
  align-self: center;
}
.footer__contact { margin-left: auto; }
.footer__contact + .btn { margin-left: 16px; }
@media (max-width: 1100px) {
  .footer__inner { flex-wrap: wrap; gap: 14px; }
  .footer__contact { margin-left: 0; }
  .footer__inner > .btn { margin-left: 0; width: 100%; }
}
@media (max-width: 700px) {
  .footer__inner > .btn { height: 42px !important; font-size: 13px !important; }
}

/* Body scroll lock */
body.is-locked {
  overflow: hidden !important;
  touch-action: none !important;
}
@supports (overscroll-behavior: contain) {
  body.is-locked { overscroll-behavior: contain; }
}

/* 3D Panorama */
.visit-pano {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: #0a1410;
  box-shadow: var(--shadow-card);
  aspect-ratio: 4 / 3;
  min-height: 480px;
}
.visit-pano__frame {
  position: absolute;
  inset: 0;
  border: 0;
  display: block;
}
.visit-pano__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(20,40,28,.7);
  backdrop-filter: blur(10px);
  color: #fff;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .04em;
  font-weight: 700;
  text-transform: uppercase;
}
.visit-pano .vg-manager {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  z-index: 2;
  max-width: 360px;
}
@media (max-width: 768px) {
  .visit-pano { min-height: 360px; }
  .visit-pano .vg-manager { left: 10px; right: 10px; bottom: 10px; }
}

/* Video grid: 1 main + 3 cards */
.video__grid {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 16px;
  align-items: stretch;
}
.video__main {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: var(--shadow-card);
}
.video__main iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__main-label {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(20,40,28,.72);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 999px;
}
.video__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.video-card {
  background: #fff;
  border: 0.5px solid rgba(20,40,28,.08);
  border-radius: 14px;
  padding: 10px;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  cursor: pointer;
  transition: transform .25s var(--ios-spring), box-shadow .25s var(--ios-spring);
  box-shadow: var(--shadow-layered);
}
.video-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); }
.video-card__thumb {
  position: relative;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  background-color: #1a2e22;
  aspect-ratio: 16 / 9;
}
.video-card__play {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 32px; height: 32px;
  background: rgba(20,40,28,.78);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
}
.video-card__duration {
  position: absolute;
  right: 6px;
  bottom: 6px;
  background: rgba(0,0,0,.7);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.video-card__title {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text);
  letter-spacing: -.01em;
  align-self: center;
}
.video-card__meta {
  font-size: 11.5px;
  color: var(--text-3);
  margin-top: 2px;
  align-self: start;
}
.video-card__title + .video-card__meta { align-self: center; margin-top: -16px; padding-top: 4px; }

@media (max-width: 1024px) {
  .video__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .video-card { grid-template-columns: 100px 1fr; padding: 8px; }
  .video-card__title { font-size: 12.5px; }
}

/* 3D-pano — больше места, не обрезается */
.visit-pano {
  aspect-ratio: auto !important;
  min-height: 580px !important;
  height: 100%;
}
@media (max-width: 1100px) {
  .visit-pano { min-height: 480px !important; }
}
@media (max-width: 768px) {
  .visit-pano { min-height: 380px !important; }
}

/* Map: grid с инфо-плашкой */
.map__embed {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 16px;
  min-height: 480px;
  background: transparent !important;
  box-shadow: none !important;
  position: relative !important;
}
.map__embed iframe {
  width: 100%;
  height: 100%;
  min-height: 480px;
  border: 0;
  border-radius: var(--radius-lg);
  position: relative !important;
  display: block;
}
.map__info {
  background: var(--green);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 22px 24px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  box-shadow: var(--shadow-card);
}
.map__info-pin {
  width: 44px; height: 44px;
  flex-shrink: 0;
  background: var(--green-2);
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.map__info-title {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.01em;
  margin-bottom: 10px;
  color: #fff;
}
.map__info-row {
  font-size: 13px;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
  padding: 4px 0;
}
.map__info-cta {
  margin-top: 16px;
  background: var(--sage) !important;
  color: #14281C !important;
  font-weight: 700;
  width: 100%;
}
.map__info-cta:hover { background: var(--sage-light) !important; }

@media (max-width: 1024px) {
  .map__embed { grid-template-columns: 1fr; }
  .map__embed iframe { min-height: 320px; aspect-ratio: 16/10; }
}

/* Promo gift — поднять выше, не наезжать на таймер */
.promo-card { padding-right: 120px !important; }
.promo-card__gift {
  top: 14px !important;
  right: 16px !important;
  width: 64px !important;
}
.promo-card__gift svg { width: 64px !important; }
.promo-card__sub { margin-bottom: 22px !important; }
.countdown { margin-top: 12px !important; }

/* Quiz-card — "178 семей" ниже от 3 фич */
.quiz-card__features { margin-bottom: 24px !important; }
.quiz-card__bottom { margin-top: 8px; }
.quiz-card__people { margin-top: 0 !important; }

/* Fix-promo feats: 4 в ряд, выровнены, без переносов */
.fix-promo__feats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin-top: 28px !important;
}
.fix-feat {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.fix-feat svg { flex-shrink: 0; margin-top: 2px; }
.fix-feat span {
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.85) !important;
}
@media (max-width: 768px) {
  .fix-promo__feats { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .fix-feat span { font-size: 11.5px !important; }
}

/* «Получите 3 варианта» — выровнять колонки по высоте */
.quiz-block__grid {
  align-items: stretch !important;
}
.quiz-block__left {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}
.quiz-feats3 { flex: 0 0 auto; }
.quiz-block__samples-title { flex: 0 0 auto; }
.samples-grid { flex: 1 1 auto; }
.quiz-block__params { flex: 0 0 auto; margin-top: auto; }
.quiz-form { height: 100%; }

/* Genplan info panel — iOS-style group cards */
.masterplan__info {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 !important;
  background: transparent !important;
}
.masterplan__info .mp-feat {
  background: #fff;
  border: 0.5px solid rgba(20,40,28,.08);
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  box-shadow: var(--shadow-layered);
}
.masterplan__info .mp-feat__ic {
  width: 38px !important;
  height: 38px !important;
  background: var(--sage-soft) !important;
  border-radius: 10px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.masterplan__info .mp-feat b { font-size: 13.5px; }
.masterplan__info .mp-feat__sub { font-size: 11.5px; line-height: 1.4; color: var(--text-3); margin-top: 2px; }

.masterplan__info .mp-info-card {
  margin-top: 4px;
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, #2D5638 0%, #1F3A2A 100%);
  box-shadow: var(--shadow-card);
}
.masterplan__info .mp-info-card__title { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.masterplan__info .mp-info-card__sub { font-size: 12px; color: rgba(255,255,255,.75); margin-top: 4px; line-height: 1.4; }
.masterplan__info .mp-info-card__pin {
  width: 42px !important; height: 42px !important;
  background: var(--green-2) !important;
}

.masterplan__info .btn {
  margin-top: 4px;
  height: 46px !important;
  font-size: 14px !important;
}

/* «Как строим» + плашка гарантий — больше воздуха */
.how-we-build {
  margin-top: 40px !important;
  padding: 36px 32px !important;
  border-radius: 24px !important;
}
.how-we-build__title {
  font-size: 20px;
  margin-bottom: 28px !important;
  letter-spacing: -.015em;
}
.how-we-build__list {
  gap: 18px !important;
  margin-bottom: 28px !important;
  padding-bottom: 14px;
  border-bottom: 0.5px solid rgba(20,40,28,.08);
}
.how-we-build__list li {
  padding: 8px 8px !important;
}
.how-we-build__list li::before {
  width: 32px !important;
  height: 32px !important;
  font-size: 13px !important;
  margin-bottom: 12px !important;
}
.how-we-build > .btn {
  height: 50px !important;
  font-size: 14.5px !important;
}

.guarantee-strip {
  margin-top: 24px !important;
  padding: 22px 28px !important;
  border-radius: 22px !important;
  gap: 22px !important;
  background: var(--sage-soft) !important;
}
.gs-item b { font-size: 13px !important; }
.gs-item span { font-size: 11.5px !important; }

/* Video grid — 3 карточки растягиваются по высоте главного видео */
.video__list {
  display: grid !important;
  grid-template-rows: 1fr 1fr 1fr !important;
  gap: 12px !important;
}
.video-card {
  display: grid !important;
  grid-template-columns: 140px 1fr !important;
  align-items: stretch;
}
.video-card__thumb {
  aspect-ratio: auto !important;
  height: 100%;
}
@media (max-width: 1024px) {
  .video__list { grid-template-rows: auto !important; }
  .video-card__thumb { aspect-ratio: 16/9 !important; }
}

/* ============ #1 Промо плотнее ============ */
.promo-card { min-height: 0 !important; padding: 22px 26px !important; padding-right: 110px !important; display: flex !important; flex-direction: column !important; }
.promo-card__title { font-size: 22px !important; line-height: 1.2 !important; margin: 0 0 4px !important; }
.promo-card__sub { font-size: 13px !important; margin: 0 0 16px !important; }
.promo-card__badge { margin-bottom: 14px !important; }
.promo-card__gift { top: 18px !important; right: 18px !important; width: 60px !important; }
.promo-card__gift svg { width: 60px !important; }
.countdown { margin-top: auto !important; }

/* Quiz-card — кнопка ближе к низу */
.quiz-card { display: flex !important; flex-direction: column !important; padding: 22px 24px !important; }
.quiz-card__features { margin-bottom: 20px !important; }
.quiz-card__bottom { margin-top: auto !important; padding-top: 8px; }

/* #3: fix-feat — точно без переносов, текст в одну строку */
.fix-feat span { white-space: nowrap !important; font-size: 12.5px !important; }
.fix-promo__feats { grid-template-columns: repeat(4, auto) !important; justify-content: space-between !important; }
@media (max-width: 768px) {
  .fix-promo__feats { grid-template-columns: 1fr 1fr !important; }
  .fix-feat span { white-space: normal !important; }
}

/* #5: samples — картинки больше */
.sample-card__img { height: 130px !important; border-radius: 12px !important; }
.samples-grid { gap: 12px !important; margin-bottom: 16px !important; }
.sample-card__lbl { font-size: 12.5px !important; }
.quiz-block__samples-title { margin: 18px 0 12px !important; font-size: 14px !important; font-weight: 700; }

/* #6: Генплан на тёмном — стиль чертежа */
.masterplan__map { background: #1F3A2A !important; aspect-ratio: 800/560 !important; min-height: 0 !important; }
.masterplan__svg .mp-plots rect { fill-opacity: 0.9 !important; stroke: rgba(255,255,255,.8) !important; stroke-width: 1.5 !important; }
.masterplan__legend {
  background: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(8px);
}

/* ============ HWB v2 ============ */
.hwb-v2 {
  background: linear-gradient(135deg, #F6FCEF 0%, #FFFFFF 100%);
  border: 0.5px solid rgba(20,40,28,.06);
  border-radius: 24px;
  padding: 36px;
  box-shadow: var(--shadow-card);
  margin: 0;
}
.hwb-v2__head { text-align: center; margin-bottom: 28px; }
.hwb-v2__head .badge { margin-bottom: 12px; }
.hwb-v2__title { font-size: 26px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 8px; line-height: 1.18; }
.hwb-v2__sub { font-size: 14px; color: var(--text-3); margin: 0; }

.hwb-v2__steps {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
  margin-bottom: 28px;
  position: relative;
  list-style: none;
  padding: 0;
}
.hwb-v2__steps::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 30px;
  height: 2px;
  background: repeating-linear-gradient(to right, var(--sage) 0, var(--sage) 6px, transparent 6px, transparent 12px);
  z-index: 0;
}
.hwb-v2__steps li {
  position: relative;
  z-index: 1;
  text-align: center;
}
.hwb-v2__num {
  width: 60px;
  height: 60px;
  margin: 0 auto 12px;
  background: linear-gradient(180deg, #366A45 0%, #2D5638 100%);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  box-shadow: 0 6px 18px rgba(45,86,56,.35);
}
.hwb-v2__body b { display: block; font-size: 13.5px; margin-bottom: 4px; letter-spacing: -.01em; }
.hwb-v2__body span { font-size: 11.5px; color: var(--text-3); line-height: 1.4; display: block; }

.hwb-v2__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 0.5px solid rgba(20,40,28,.06);
}
.hwb-v2__cta-meta { font-size: 13px; color: var(--text-3); }
.hwb-v2__cta-meta a { color: var(--green); font-weight: 700; }

@media (max-width: 1100px) {
  .hwb-v2__steps { grid-template-columns: repeat(4, 1fr); }
  .hwb-v2__steps::before { display: none; }
}
@media (max-width: 700px) {
  .hwb-v2 { padding: 24px 18px; }
  .hwb-v2__steps { grid-template-columns: 1fr 1fr; gap: 18px; }
  .hwb-v2__num { width: 48px; height: 48px; font-size: 15px; margin-bottom: 8px; }
  .hwb-v2__title { font-size: 22px; }
}

/* ============ GUARANTEE v2 ============ */
.guarantee-v2 {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.gv2-card {
  background: #fff;
  border: 0.5px solid rgba(20,40,28,.08);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: var(--shadow-layered);
  transition: transform .35s var(--ios-spring), box-shadow .35s var(--ios-spring);
}
.gv2-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.gv2-card--primary {
  background: linear-gradient(135deg, #2D5638 0%, #1F3A2A 100%);
  color: #fff;
  border-color: transparent;
}
.gv2-card__big {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1;
  color: var(--green);
}
.gv2-card__big sup { font-size: 14px; font-weight: 700; margin-left: 4px; vertical-align: super; color: var(--text-3); }
.gv2-card--primary .gv2-card__big,
.gv2-card--primary .gv2-card__big sup { color: #fff; }
.gv2-card--primary .gv2-card__big sup { color: var(--sage-light); }
.gv2-card__icon {
  width: 44px; height: 44px;
  background: var(--sage-soft);
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gv2-card__text b { display: block; font-size: 14px; font-weight: 700; letter-spacing: -.01em; margin-bottom: 4px; }
.gv2-card--primary .gv2-card__text b { color: #fff; }
.gv2-card__text span { font-size: 12px; color: var(--text-3); line-height: 1.4; }
.gv2-card--primary .gv2-card__text span { color: rgba(255,255,255,.75); }

@media (max-width: 1100px) { .guarantee-v2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .guarantee-v2 { grid-template-columns: 1fr; } }

/* #11: Video-card — превью слева, текст справа сверху-вниз нормально */
.video-card {
  display: grid !important;
  grid-template-columns: 130px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 10px !important;
}
.video-card__thumb {
  aspect-ratio: 16/9 !important;
  height: auto !important;
  min-height: 78px;
}
.video-card__title {
  align-self: end !important;
  font-size: 14px !important;
  line-height: 1.3;
  padding-bottom: 0 !important;
}
.video-card__meta {
  align-self: start !important;
  margin-top: 4px !important;
  padding-top: 0 !important;
  font-size: 11.5px !important;
}
.video-card > div:nth-child(2),
.video-card > .video-card__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.video-card__title + .video-card__meta { align-self: start !important; margin-top: 4px !important; padding-top: 0 !important; }

/* #11: Map info — стандартные контакты */
.map__info { display: flex; flex-direction: column; gap: 16px; }
.map__info-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 0.5px solid rgba(255,255,255,.12); margin: 0; align-items: center; }
.map__info-title { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--sage-light); font-weight: 700; margin-bottom: 2px; }
.map__info-name { font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.map__info-list { display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; list-style: none; }
.map__info-list li { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 0.5px solid rgba(255,255,255,.08); }
.map__info-list li:last-child { border-bottom: 0; }
.map__info-lbl { font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.5); font-weight: 600; }
.map__info-val { font-size: 13.5px; color: #fff; font-weight: 600; line-height: 1.4; }
a.map__info-val:hover { color: var(--sage-light); }
.map__info-status { display: inline-block; font-size: 11px; color: var(--sage-light); font-weight: 600; margin-top: 2px; }
.map__info-cta { width: 100%; height: 46px !important; }

/* #15: Панорама без чёрных полей */
.visit-pano {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  height: auto !important;
}
.visit-pano__frame { width: 100% !important; height: 100% !important; }
@media (max-width: 1100px) {
  .visit-pano { aspect-ratio: 16 / 10 !important; min-height: 320px !important; }
}
@media (max-width: 700px) {
  .visit-pano { aspect-ratio: 4 / 3 !important; }
}

/* ============ FOOTER BIG ============ */
.footer {
  background: linear-gradient(180deg, #1F3A2A 0%, #142E22 100%) !important;
  color: #fff;
  margin: 60px 0 0 !important;
  padding: 60px 32px 0 !important;
  border-radius: 32px 32px 0 0 !important;
  border: none !important;
  display: block !important;
  box-shadow: none !important;
}
.footer__top {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 0.5px solid rgba(255,255,255,.08);
}
.footer__brand { display: flex; flex-direction: column; gap: 18px; }
.footer__brand .logo { margin-bottom: 4px; }
.footer__brand .logo__crown svg path { stroke: #fff !important; }
.footer__brand .logo__title { color: #fff !important; }
.footer__brand .logo__sub { color: rgba(255,255,255,.55) !important; }
.footer__about { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.65); margin: 0; max-width: 320px; }

.footer__socials { display: flex; gap: 10px; margin-top: 4px; }
.footer__social {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,.08);
  border: 0.5px solid rgba(255,255,255,.12);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .25s var(--ios-fast);
}
.footer__social:hover { background: rgba(255,255,255,.18); }

.footer__col { display: flex; flex-direction: column; gap: 8px; }
.footer__col-title {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sage-light);
  font-weight: 700;
  margin: 0 0 12px;
}
.footer__col a {
  font-size: 13.5px;
  color: rgba(255,255,255,.75);
  padding: 4px 0;
  transition: color .2s;
}
.footer__col a:hover { color: #fff; }

.footer__col--contacts { gap: 6px; }
.footer__phone-big {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: #fff !important;
  letter-spacing: -.01em;
  margin-bottom: 4px;
  padding: 0 !important;
}
.footer__hours { font-size: 12px; color: var(--sage-light); margin-bottom: 14px; }
.footer__addr { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.55; margin-bottom: 12px; }
.footer__mail {
  display: inline-block;
  font-size: 13px !important;
  color: rgba(255,255,255,.75) !important;
  margin-bottom: 16px;
  text-decoration: underline;
}
.footer__cta {
  width: 100%;
  height: 46px !important;
  margin-top: 4px;
}

.footer__bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 22px 0 26px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.footer__legal {
  font-size: 11.5px;
  color: rgba(255,255,255,.5);
  letter-spacing: .01em;
}
.footer__legal-meta {
  font-size: 11px;
  color: rgba(255,255,255,.35);
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .footer__top { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .footer { padding: 36px 18px 0 !important; border-radius: 24px 24px 0 0 !important; margin-top: 40px !important; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 26px; padding-bottom: 28px; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__col--contacts { grid-column: 1 / -1; }
  .footer__phone-big { font-size: 20px; }
}

/* Old inner-flex from before — wipe out */
.footer__inner { display: none !important; }

/* ============ MOBILE 320-500 OVERFLOW FIX ============ */
@media (max-width: 500px) {
  /* Глобально: не давать ничему вылезти */
  html, body { overflow-x: hidden !important; }
  *, *::before, *::after { max-width: 100% !important; }
  .container { padding-left: 12px !important; padding-right: 12px !important; }
  section, .quiz-block, .calc, .compare, .about-dev, .cta-form, .hwb-v2, .guarantee-v2,
  .map__embed, .video__grid { max-width: 100% !important; overflow: hidden; }

  /* --- 1. Получите 3 варианта --- */
  .quiz-block__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .quiz-block__left { width: 100%; }
  .quiz-feats3 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .qf3 { padding: 14px !important; }
  .samples-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .sample-card__img { height: 110px !important; }
  .quiz-block__params {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .qp { padding: 10px 12px !important; }
  .qp b { font-size: 12px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .qp__sub { font-size: 10.5px !important; }
  .quiz-form {
    width: 100% !important;
    padding: 22px 18px !important;
    box-sizing: border-box;
  }
  .quiz-form__title { font-size: 18px !important; }
  .field input { width: 100% !important; box-sizing: border-box; }

  /* --- 2. Калькулятор --- */
  .calc {
    padding: 20px 16px !important;
    margin-top: 30px !important;
  }
  .calc__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .calc__head .section-title { font-size: 22px !important; line-height: 1.2 !important; }
  .calc__lbl { font-size: 12px !important; flex-wrap: wrap; }
  .calc__row input[type="range"] { width: 100% !important; }
  .calc__result { padding: 18px !important; }
  .calc__result-num { font-size: 17px !important; }
  .calc__disclaimer { font-size: 11px !important; padding: 10px 12px !important; }

  /* --- 3. Compare таблица — превращаем в карточки --- */
  .compare { padding: 30px 0 !important; }
  .compare__head .section-title { font-size: 22px !important; }
  .compare__table {
    border-radius: 16px !important;
    border: 0.5px solid #EFEAD8;
    background: transparent !important;
    overflow: hidden;
  }
  .compare__row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 14px 16px !important;
    border-bottom: 0.5px solid rgba(20,40,28,.08);
    background: #fff;
  }
  .compare__row--head { background: var(--sage-soft) !important; }
  .compare__row--head .compare__col { padding: 0 !important; font-size: 12px !important; }
  .compare__row--head > div:first-child { display: none; }
  .compare__lbl {
    font-size: 11px !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-3) !important;
    padding: 0 !important;
    margin-bottom: 6px;
    font-weight: 700;
  }
  .compare__cell {
    padding: 6px 0 6px 28px !important;
    font-size: 13px !important;
    position: relative;
  }
  .compare__cell--good { color: var(--green) !important; font-weight: 600; }
  .compare__cell--good::before { left: 0 !important; }
  .compare__cell--bad { color: var(--text-3) !important; }
  .compare__cell--bad::before { left: 0 !important; }

  /* --- 4. О застройщике --- */
  .about-dev {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
  }
  .about-dev__left { width: 100%; }
  .about-dev__txt { font-size: 13px !important; line-height: 1.55; }
  .about-dev__txt br { display: none; }
  .about-dev__txt--small { font-size: 12px !important; }
  .about-dev__stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .about-dev__stats .adstat { padding: 14px 12px !important; }
  .about-dev__stats .adstat b { font-size: 22px !important; }
  .about-dev__stats .adstat span {
    white-space: normal !important;
    font-size: 11px !important;
    line-height: 1.3;
  }
  .about-dev__images {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    gap: 8px !important;
  }
  .about-dev__images .ad-img {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 100px !important;
    height: 100px !important;
  }
  .about-dev__images .ad-img:nth-child(1) {
    grid-column: 1 / 3 !important;
    min-height: 160px !important;
    height: 160px !important;
  }
  .about-dev__feats {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 12px !important;
  }
  .adf { gap: 10px !important; }
  .adf b { font-size: 13px !important; }
  .adf span { font-size: 11.5px !important; line-height: 1.4; }

  /* --- 5 & 6. CTA-формы (Получите подборку + Запишитесь на просмотр) --- */
  .cta-form {
    padding: 22px 18px !important;
    margin: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
  }
  .cta-form,
  .cta-pane {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .cta-form__left { width: 100%; }
  .cta-form__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  .cta-form__title br { display: none; }
  .cta-form__sub { font-size: 12.5px !important; line-height: 1.45 !important; }
  .cta-form__form,
  .cta-form__form--grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .cta-form__form > *,
  .cta-form__form--grid > * {
    width: 100% !important;
    height: 46px !important;
    box-sizing: border-box;
  }
  .cta-form__form input { padding: 0 14px !important; font-size: 14px !important; }
  .cta-form:not(.cta-form--tabs) .cta-form__form .btn { grid-column: 1 !important; }
  .cta-form__notes {
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 11px !important;
    margin-top: 10px !important;
  }
  .cta-form .consent { padding: 0 2px; }

  /* CTA-tabs (если есть) — пакет в столбик */
  .cta-tabs { width: 100%; }
  .cta-tab { flex: 1; padding: 8px 12px !important; font-size: 11.5px !important; }

  /* HWB v2 — на мобиле */
  .hwb-v2 { padding: 22px 16px !important; }
  .hwb-v2__title { font-size: 20px !important; }
  .hwb-v2__sub { font-size: 12.5px !important; }
  .hwb-v2__steps {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    text-align: left;
  }
  .hwb-v2__steps::before { display: none !important; }
  .hwb-v2__steps li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    text-align: left !important;
    align-items: center;
  }
  .hwb-v2__num { width: 48px !important; height: 48px !important; font-size: 15px !important; margin: 0 !important; }
  .hwb-v2__body b { font-size: 13.5px !important; }
  .hwb-v2__body span { font-size: 11.5px !important; }
  .hwb-v2__cta { flex-direction: column; gap: 10px; }
  .hwb-v2__cta .btn { width: 100%; }

  /* Guarantee v2 */
  .guarantee-v2 { grid-template-columns: 1fr !important; gap: 10px; }
  .gv2-card { padding: 16px !important; }

  /* Map embed: 1 колонка + меньше высоты */
  .map__embed { grid-template-columns: 1fr !important; min-height: 0 !important; gap: 12px !important; }
  .map__embed iframe { min-height: 260px !important; aspect-ratio: 16/10; }
  .map__info { padding: 18px 16px !important; }
  .map__info-list li { padding: 6px 0 !important; }

  /* Video grid */
  .video__grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .video__list { grid-template-rows: auto !important; }
  .video-card { grid-template-columns: 110px 1fr !important; padding: 8px !important; gap: 10px !important; }
  .video-card__title { font-size: 13px !important; }
  .video-card__meta { font-size: 11px !important; }

  /* Leadmag */
  .leadmag { grid-template-columns: 1fr !important; padding: 20px 16px !important; gap: 16px !important; }
  .leadmag__title { font-size: 19px !important; line-height: 1.2 !important; }

  /* Footer на мобиле — упростить */
  .footer { padding: 30px 16px 0 !important; }
  .footer__top { grid-template-columns: 1fr !important; gap: 22px; padding-bottom: 22px; }
  .footer__brand { grid-column: 1 !important; }
  .footer__col--contacts { grid-column: 1 !important; }
}

/* ≤ 360 — ещё компактнее */
@media (max-width: 360px) {
  .container { padding-left: 10px !important; padding-right: 10px !important; }
  .samples-grid, .quiz-block__params, .about-dev__stats { grid-template-columns: 1fr !important; }
  .about-dev__images { grid-template-columns: 1fr !important; }
  .about-dev__images .ad-img:nth-child(1) { grid-column: 1 !important; }
  .calc__head .section-title { font-size: 19px !important; }
  .hwb-v2__title { font-size: 18px !important; }
  .cta-form__title { font-size: 17px !important; }
}

/* Calc fix overflow on mobile */
@media (max-width: 500px) {
  .calc__lbl {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px;
  }
  .calc__lbl output {
    font-size: 13px !important;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .calc__row { overflow: hidden; }
  .calc__result-num { font-size: 16px !important; white-space: nowrap; }
  .calc__result-row { gap: 8px; flex-wrap: wrap; }
  .calc__result-row span:last-child { text-align: right; }
  .calc__head .section-title { font-size: 20px !important; }
}

/* HARD: Calc labels overflow */
@media (max-width: 500px) {
  .calc, .calc * { max-width: none !important; }
  .calc { padding: 18px 14px !important; box-sizing: border-box; }
  .calc__row { box-sizing: border-box; overflow: visible; }
  .calc__lbl {
    flex-wrap: wrap !important;
    align-items: baseline;
  }
  .calc__lbl > span:first-child {
    flex: 1 1 100%;
    margin-bottom: 4px;
  }
  .calc__lbl output {
    flex: 1 1 100%;
    font-size: 16px !important;
    text-align: left !important;
  }
  /* Result row */
  .calc__result-row {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .calc__result-row span:first-child { font-size: 12px; color: var(--text-3); }
  .calc__result-row span:last-child, .calc__result-num {
    font-size: 18px !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .calc__result-row--small span:last-child { font-size: 13px !important; }
}

/* Stricter calc fix */
@media (max-width: 500px) {
  .calc__lbl {
    display: block !important;
    position: relative;
  }
  .calc__lbl output {
    display: block !important;
    margin-top: 4px;
    font-size: 16px !important;
    color: var(--green) !important;
    font-weight: 800 !important;
  }
}

/* ============ VIDEO CARD: HARD FIX layout ============ */
.video-card {
  display: grid !important;
  grid-template-columns: 140px 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 4px 14px !important;
  align-items: stretch !important;
  padding: 10px !important;
}
.video-card__thumb {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: stretch;
  aspect-ratio: 16/9 !important;
  height: auto !important;
}
.video-card__title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.3;
}
.video-card__meta {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  color: var(--text-3);
}

@media (max-width: 500px) {
  .video-card {
    grid-template-columns: 110px 1fr !important;
    gap: 2px 10px !important;
    padding: 8px !important;
  }
  .video-card__title { font-size: 13px !important; }
  .video-card__meta { font-size: 11px !important; }
}

/* HARD FIX 500/375 — Получите 3 варианта + qp + Калькулятор + CTA */
@media (max-width: 500px) {
  /* qp params — 1 колонка чтобы текст влез */
  .quiz-block__params {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .qp {
    padding: 12px 14px !important;
    display: flex !important;
    gap: 12px;
    align-items: center;
  }
  .qp__ic { width: 32px !important; height: 32px !important; flex-shrink: 0; }
  .qp b {
    font-size: 13px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: block;
  }
  .qp__sub { font-size: 11.5px !important; margin-top: 2px; }

  /* Quiz block — фоновый padding убираем */
  .quiz-block { padding-left: 0 !important; padding-right: 0 !important; }
  .quiz-block .container { padding-left: 12px !important; padding-right: 12px !important; }

  /* Калькулятор — финальный фикс */
  .calc {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 20px 14px !important;
    border-radius: 18px !important;
  }
  .calc__head .section-title { font-size: 21px !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
  .calc__head .section-sub { font-size: 12.5px !important; }
  .calc__hint {
    display: flex;
    justify-content: space-between;
    font-size: 10.5px !important;
    margin-top: 4px;
  }
  .calc__hint span { white-space: nowrap; }
  .calc__result {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .calc__disclaimer span { font-size: 11px !important; line-height: 1.4; }
  .calc__note { font-size: 10.5px !important; }

  /* CTA-форма 1+2 — финальный фикс */
  .cta-form {
    padding: 20px 16px !important;
    border-radius: 22px !important;
    box-sizing: border-box;
    margin: 0 !important;
  }
  .cta-form__title {
    font-size: 17px !important;
    line-height: 1.25 !important;
    word-break: keep-all;
  }
  .cta-form__sub { font-size: 12px !important; }
  .cta-form__form input,
  .cta-form__form--grid input {
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }
  .cta-form__form .btn,
  .cta-form__form--grid .btn {
    width: 100% !important;
    height: 46px !important;
    font-size: 13.5px !important;
  }
  .cta-form .consent {
    font-size: 11px !important;
    padding: 0;
  }
}

/* ============ HARD: 2 в ряд карточки на мобиле ============ */
@media (max-width: 500px) {
  .what-buy__grid,
  .choose-grid,
  .ready-projects__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .buy-card, .choose-card, .proj-card { padding: 10px !important; }
  .buy-card__img, .choose-card__img { height: 100px !important; border-radius: 10px !important; }
  .buy-card__title, .choose-card__title { font-size: 13.5px !important; margin-bottom: 4px !important; }
  .buy-card__sub, .choose-card__txt { font-size: 11.5px !important; }
  .buy-card__desc { font-size: 11px !important; margin-bottom: 8px !important; }
  .buy-card__link, .choose-card__link {
    font-size: 11.5px !important;
    padding: 8px 10px !important;
  }
  .proj-card__img { height: 110px !important; }
  .proj-card__title { font-size: 13.5px !important; }
  .proj-card__sub { font-size: 11px !important; }
  .proj-card__price { font-size: 14px !important; margin-bottom: 8px !important; }
  .proj-card .btn { height: 34px !important; font-size: 11px !important; padding: 0 8px !important; }
  .proj-card__sqm { font-size: 9.5px !important; padding: 3px 7px !important; }
  .proj-card__energy { font-size: 9.5px !important; padding: 3px 7px !important; }
  .choose-card__body { padding: 12px !important; }
  .choose-card__icon { width: 32px !important; height: 32px !important; margin-bottom: 8px !important; }
}

@media (max-width: 360px) {
  .what-buy__grid, .choose-grid, .ready-projects__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .buy-card__img, .choose-card__img { height: 90px !important; }
  .proj-card__img { height: 95px !important; }
}

/* ============ HARD: CTA-формы 1+2 на мобиле ============ */
@media (max-width: 700px) {
  .cta-form {
    padding: 20px 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
    grid-template-columns: none !important;
  }
  .cta-form > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .cta-form__left { margin-bottom: 14px !important; }
  .cta-form__title { font-size: 17px !important; line-height: 1.25 !important; }
  .cta-form__sub { font-size: 12.5px !important; line-height: 1.45 !important; margin-top: 4px !important; }
  .cta-form__form,
  .cta-form__form--grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .cta-form__form input,
  .cta-form__form--grid input {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    display: block !important;
    min-width: 0 !important;
  }
  .cta-form__form .btn,
  .cta-form__form--grid .btn {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    font-size: 14px !important;
    grid-column: 1 !important;
    box-sizing: border-box !important;
  }
  .cta-form .consent {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
    padding: 0 !important;
  }
  .cta-form__notes {
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 11px !important;
    margin-top: 10px !important;
    width: 100% !important;
  }
}

/* ============ HARD: Калькулятор на мобиле ============ */
@media (max-width: 700px) {
  .calc {
    padding: 20px 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }
  .calc * { box-sizing: border-box !important; }
  .calc__grid {
    display: block !important;
    width: 100% !important;
  }
  .calc__controls, .calc__result {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .calc__controls { margin-bottom: 18px; }
  .calc__row {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .calc__row input[type="range"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: block !important;
  }
  .calc__lbl {
    display: block !important;
    width: 100% !important;
  }
  .calc__lbl output {
    display: block !important;
    margin-top: 4px;
    font-size: 16px !important;
    color: var(--green) !important;
    font-weight: 800 !important;
  }
  .calc__hint {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    font-size: 10.5px !important;
    color: var(--text-3) !important;
    margin-top: 6px !important;
  }
  .calc__hint span { white-space: nowrap; }

  .calc__result {
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .calc__result-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
  }
  .calc__result-row:first-child {
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
  }
  .calc__result-lbl { font-size: 12px !important; }
  .calc__result-num {
    font-size: 18px !important;
    text-align: left !important;
    white-space: nowrap !important;
  }
  .calc__result-row span:last-child { font-size: 13px !important; }
  .calc__disclaimer {
    padding: 10px 12px !important;
  }
  .calc__disclaimer span { font-size: 11px !important; line-height: 1.4 !important; }
  .calc .btn { width: 100% !important; height: 48px !important; font-size: 13.5px !important; }
  .calc__note { font-size: 10.5px !important; }
}

/* ============ HARD: Guarantee v2 — 2 в ряд на мобиле ============ */
@media (max-width: 700px) {
  .guarantee-v2 {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .gv2-card { padding: 14px !important; gap: 10px !important; }
  .gv2-card__big { font-size: 28px !important; }
  .gv2-card__big sup { font-size: 11px !important; }
  .gv2-card__icon { width: 36px !important; height: 36px !important; }
  .gv2-card__text b { font-size: 12.5px !important; }
  .gv2-card__text span { font-size: 11px !important; line-height: 1.35 !important; }
  /* 5-я карточка занимает всю ширину (2 кол) */
  .guarantee-v2 .gv2-card:nth-child(5) { grid-column: 1 / 3; }
}

/* ============ Masterplan SIDE — переделанный правый блок ============ */
.mp-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: transparent !important;
  padding: 0 !important;
}

/* Hero-карточка */
.mp-hero {
  background: linear-gradient(135deg, #2D5638 0%, #1F3A2A 100%);
  color: #fff;
  border-radius: 22px;
  padding: 22px;
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
}
.mp-hero::after {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(157,188,146,.35), transparent 70%);
  pointer-events: none;
}
.mp-hero__head { margin-bottom: 18px; position: relative; z-index: 1; }
.mp-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--sage-light);
  margin-bottom: 12px;
}
.mp-hero__num {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.05;
  color: #fff;
}
.mp-hero__sub {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  margin-top: 4px;
}
.mp-hero__stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding-top: 16px;
  border-top: 0.5px solid rgba(255,255,255,.1);
  position: relative;
  z-index: 1;
}
.mp-hero__stat {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.mp-hero__stat-dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
  margin-top: 5px;
}
.mp-hero__stat--free .mp-hero__stat-dot { background: #9DC080; }
.mp-hero__stat--res .mp-hero__stat-dot { background: #E0AE5C; }
.mp-hero__stat--sold .mp-hero__stat-dot { background: #B4B4AC; }
.mp-hero__stat b { display: block; font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.mp-hero__stat span { font-size: 11px; color: rgba(255,255,255,.6); }

/* Что включено */
.mp-included {
  background: #fff;
  border: 0.5px solid rgba(20,40,28,.08);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: var(--shadow-layered);
}
.mp-included__title {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-3);
}
.mp-included__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.mp-included__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--text);
  font-weight: 500;
  padding: 4px 0;
}
.mp-included__list svg { flex-shrink: 0; }

/* Локация */
.mp-loc {
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--sage-soft);
  border-radius: 14px;
  padding: 14px 16px;
}
.mp-loc__pin {
  width: 40px;
  height: 40px;
  background: var(--green);
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mp-loc__city { font-size: 14px; font-weight: 800; color: var(--green); letter-spacing: -.01em; }
.mp-loc__row { font-size: 12px; color: var(--text-2); margin-top: 2px; }

/* CTAs */
.mp-cta { display: flex; flex-direction: column; gap: 8px; }
.mp-cta .btn { height: 48px !important; font-size: 14px !important; }

@media (max-width: 700px) {
  .mp-hero { padding: 18px; }
  .mp-hero__num { font-size: 26px; }
  .mp-hero__stats { gap: 6px; }
  .mp-hero__stat b { font-size: 16px; }
  .mp-hero__stat span { font-size: 10.5px; }
  .mp-included { padding: 16px 18px; }
  .mp-included__list li { font-size: 13px; }
}

/* ============ NUKE: формы 1 колонка на мобиле — наивысший приоритет ============ */
@media (max-width: 700px) {
  .cta-form:not(.cta-form--tabs) .cta-form__form,
  .cta-form .cta-form__form,
  .cta-form .cta-form__form--grid,
  form.cta-form__form,
  form.cta-form__form--grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .cta-form:not(.cta-form--tabs) .cta-form__form > *,
  .cta-form .cta-form__form > *,
  .cta-form .cta-form__form--grid > *,
  form.cta-form__form > *,
  form.cta-form__form--grid > * {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .cta-form:not(.cta-form--tabs) .cta-form__form .btn { grid-column: 1 !important; }
}

/* ============ HARD: Готовые проекты на мобиле ============ */
@media (max-width: 700px) {
  .proj-row,
  .ready-projects,
  .ready-projects__grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  .ready-projects__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .proj-card {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .proj-card * { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
  .proj-card__img {
    width: 100% !important;
    height: 100px !important;
  }
  .proj-card__title {
    font-size: 12.5px !important;
    white-space: normal !important;
    overflow: hidden;
    line-height: 1.25;
  }
  .proj-card__sub {
    font-size: 10.5px !important;
    line-height: 1.3;
    white-space: normal !important;
  }
  .proj-card__price {
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .proj-card .btn {
    width: 100% !important;
    height: 32px !important;
    font-size: 10.5px !important;
    padding: 0 6px !important;
    white-space: nowrap;
  }
  .proj-card__sqm, .proj-card__energy {
    font-size: 9px !important;
    padding: 2px 6px !important;
  }
}

/* NUKE NUKE: проекты — flexbox 2 в ряд */
@media (max-width: 700px) {
  .ready-projects__grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .ready-projects__grid > .proj-card {
    flex: 0 0 calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  /* любые потомки сжимаются */
  .ready-projects__grid > .proj-card * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* NUKE: what-buy и choose-grid — flexbox 2 в ряд равной ширины */
@media (max-width: 700px) {
  .what-buy__grid,
  .choose-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .what-buy__grid > .buy-card,
  .choose-grid > .choose-card {
    flex: 0 0 calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .what-buy__grid > .buy-card *,
  .choose-grid > .choose-card * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .buy-card__img,
  .choose-card__img {
    width: 100% !important;
  }
}

/* Что можно купить — длинные заголовки переносятся */
@media (max-width: 700px) {
  .buy-card__title {
    font-size: 13px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.2;
  }
  .buy-card__sub { white-space: normal !important; font-size: 12px !important; }
  .buy-card__desc { font-size: 11px !important; line-height: 1.4; }
  .buy-card__link { font-size: 11.5px !important; padding: 8px 8px !important; }
}

/* ≤360px: карточки what-buy/choose в один столбец.
   На очень узких экранах (320–360) флекс «2 в ряд» режет CTA-ссылки и текст. */
@media (max-width: 360px) {
  .what-buy__grid > .buy-card,
  .choose-grid > .choose-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ≤375px: длинные подписи hero-пилюль (напр. «Видеонаблюдение») переносим
   по слогам, а не обрезаем многоточием. */
@media (max-width: 375px) {
  .feature-pill__label {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
    line-height: 1.1;
  }
  .feature-pill > div { overflow: visible !important; }
}

/* 769–1100px: quiz-блок в один столбец. В этом диапазоне 2-колоночная сетка
   (контент + sticky-форма) не помещается и форму обрезает по правому краю. */
@media (min-width: 769px) and (max-width: 1100px) {
  .quiz-block__grid { grid-template-columns: 1fr !important; }
  .quiz-form { position: static !important; }
}
