:root {
  --navy: #14213a;
  --navy-deep: #0e1729;
  --navy-card: #1a2a4a;
  --gold: #a9803f;
  --gold-light: #c9a25e;
  --ivory: #f2ede4;
  --ivory-dim: rgba(242, 237, 228, 0.68);
  --line: rgba(169, 128, 63, 0.35);
  --serif: "Playfair Display", Georgia, serif; /* @kind font */
  --sans: "Manrope", "Segoe UI", sans-serif; /* @kind font */
}

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

html { scroll-behavior: smooth; }

body {
  background: var(--navy);
  color: var(--ivory);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.2; }

a { color: inherit; text-decoration: none; }

/* ---------- header ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: clamp(1.2rem, 3vw, 2.5rem);
  padding: 1.1rem clamp(1.2rem, 4vw, 4rem);
  background: rgba(14, 23, 41, 0.88);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(169, 128, 63, 0.18);
}

.brand { display: flex; align-items: center; gap: 0.8rem; }
.brand-mark { width: 42px; height: 42px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-family: var(--serif); font-size: 1.25rem; letter-spacing: 0.01em; }
.brand-sub {
  font-size: 0.62rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-top: 0.2rem;
}

.site-nav { display: flex; gap: clamp(1rem, 1.6vw, 1.6rem); margin-left: auto; min-width: 0; }
.site-nav a {
  font-size: clamp(0.78rem, 0.9vw, 0.86rem);
  white-space: nowrap;
  letter-spacing: 0.04em;
  color: var(--ivory-dim);
  transition: color 0.2s;
}
.site-nav a:hover { color: var(--gold-light); }

/* ---------- buttons ---------- */

.btn {
  display: inline-block;
  padding: 0.95rem 2.1rem;
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.25s;
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
  color: var(--navy-deep);
}
.btn-gold:hover { filter: brightness(1.1); transform: translateY(-1px); }

.btn-outline {
  border-color: var(--line);
  color: var(--ivory);
}
.btn-outline:hover { border-color: var(--gold-light); color: var(--gold-light); }

.btn-small { padding: 0.55rem 1.3rem; font-size: 0.8rem; white-space: nowrap; }

/* ---------- hero ---------- */

.hero {
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 70% 20%, rgba(169, 128, 63, 0.10), transparent 60%),
    radial-gradient(ellipse 60% 50% at 20% 90%, rgba(26, 42, 74, 0.9), transparent 70%),
    linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 55%, #182848 100%);
}

.hero::after {
  content: "";
  position: absolute;
  right: -8vw;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 44vmin;
  height: 44vmin;
  border: 1px solid rgba(169, 128, 63, 0.25);
  pointer-events: none;
}
.hero::before {
  content: "";
  position: absolute;
  right: -3vw;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 34vmin;
  height: 34vmin;
  border: 1px solid rgba(169, 128, 63, 0.15);
  pointer-events: none;
}

.hero-city { min-height: 62vh; }

.hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(4rem, 9vh, 7rem) clamp(1.5rem, 5vw, 4rem);
  position: relative;
  z-index: 1;
}

.hero-eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 1.6rem;
}

.hero h1 {
  font-size: clamp(2.1rem, 4.6vw, 3.9rem);
  max-width: 17ch;
  margin-bottom: 1.6rem;
}

.hero-sub {
  max-width: 54ch;
  font-size: 1.08rem;
  color: var(--ivory-dim);
  margin-bottom: 2.6rem;
}

.hero-actions { display: flex; gap: 1.1rem; flex-wrap: wrap; margin-bottom: 4rem; }

.hero-stats {
  display: flex;
  gap: clamp(1.6rem, 3.5vw, 3.4rem);
  border-top: 1px solid rgba(169, 128, 63, 0.22);
  padding-top: 2rem;
  width: max-content;
  max-width: 100%;
}
.hero-stats dt {
  font-family: var(--serif);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  color: var(--gold-light);
  white-space: nowrap;
}
.hero-stats dd { font-size: 0.85rem; color: var(--ivory-dim); white-space: nowrap; }

/* ---------- sections ---------- */

.section { padding: clamp(4rem, 9vh, 6.5rem) 0; }
.section-alt { background: var(--navy-deep); }

.section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 5vw, 4rem);
}

.section-eyebrow {
  font-size: 0.74rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}

.section h2 {
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  max-width: none;
  margin-bottom: 2.8rem;
  text-wrap: balance;
}
@media (min-width: 1000px) { .section-inner > h2 { white-space: nowrap; } }

/* ---------- cards ---------- */

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.4rem;
}

.card {
  background: rgba(26, 42, 74, 0.55);
  border: 1px solid rgba(169, 128, 63, 0.16);
  padding: 2rem 1.8rem;
  transition: border-color 0.25s, transform 0.25s;
}
.card:hover { border-color: rgba(169, 128, 63, 0.45); transform: translateY(-3px); }
.card h3 { font-size: 1.15rem; margin-bottom: 0.8rem; color: var(--gold-light); }
.card p { font-size: 0.94rem; color: var(--ivory-dim); }

/* cases */
.case-amount {
  font-family: var(--serif);
  font-size: 1.7rem;
  color: var(--gold-light);
  margin-bottom: 1rem;
}
.case h3 { color: var(--ivory); }
.case-meta {
  margin-top: 1.2rem;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
}
.disclaimer { margin-top: 1.6rem; font-size: 0.78rem; color: rgba(242, 237, 228, 0.4); }

/* reviews */
.review p { font-size: 0.97rem; color: var(--ivory); font-style: italic; }
.review footer { margin-top: 1.4rem; font-size: 0.82rem; color: var(--gold-light); }

/* ---------- cities ---------- */

.cities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.4rem;
}

.city-card {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 2.1rem 1.8rem;
  border: 1px solid rgba(169, 128, 63, 0.2);
  background: linear-gradient(150deg, rgba(26, 42, 74, 0.65), rgba(14, 23, 41, 0.4));
  transition: border-color 0.25s, transform 0.25s;
}
.city-card:hover { border-color: var(--gold); transform: translateY(-3px); }
.city-name { font-family: var(--serif); font-size: 1.4rem; }
.city-note { font-size: 0.85rem; color: var(--ivory-dim); flex: 1; }
.city-link { font-size: 0.8rem; letter-spacing: 0.06em; color: var(--gold-light); }

.city-assets { max-width: 60ch; margin: -1.4rem 0 2.2rem; color: var(--ivory-dim); }
.city-back { margin-top: 2.6rem; }
.city-back a { color: var(--gold-light); font-size: 0.9rem; }

/* ---------- assets ---------- */

.assets-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2.4rem clamp(1rem, 1.8vw, 1.6rem); }
.asset-media { margin: 0 0 1.1rem; aspect-ratio: 4/3; overflow: hidden; border: 1px solid rgba(169,128,63,.22); position: relative; }
.asset-media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) brightness(.82) contrast(1.05); transition: transform .5s ease, filter .3s; }
.asset:hover .asset-media img { transform: scale(1.04); filter: saturate(.8) brightness(.92) contrast(1.05); }
.asset-num {
  display: block;
  font-family: var(--serif);
  font-size: 0.95rem;
  color: var(--gold);
  border-bottom: 1px solid rgba(169, 128, 63, 0.3);
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}
.asset h3 { font-size: clamp(0.95rem, 1.15vw, 1.08rem); margin-bottom: 0.6rem; text-wrap: balance; }
.asset p { font-size: clamp(0.8rem, 0.95vw, 0.9rem); color: var(--ivory-dim); text-wrap: pretty; }

/* ---------- steps ---------- */

.steps {
  list-style: none;
  counter-reset: step;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem clamp(1rem, 2vw, 1.6rem);
}
.steps li { counter-increment: step; position: relative; padding-top: 3rem; }
.steps li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  top: 0;
  font-family: var(--serif);
  font-size: 1.7rem;
  line-height: 1.1;
  color: var(--gold-light);
}
.steps h3 { font-size: clamp(0.95rem, 1.1vw, 1.05rem); margin-bottom: 0.5rem; color: var(--gold-light); }
.steps p { font-size: clamp(0.8rem, 0.95vw, 0.9rem); color: var(--ivory-dim); text-wrap: pretty; }

/* ---------- lead form ---------- */

.form-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
/* Явный класс, а не p:last-child: под описанием стоит блок мессенджеров,
   и позиционный селектор перестал бы попадать в нужный абзац. */
.form-intro .form-lede { color: var(--ivory-dim); max-width: 40ch; }

.form-messengers {
  margin-top: 2.2rem;
  padding-top: 1.6rem;
  border-top: 1px solid rgba(169, 128, 63, 0.2);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  align-items: flex-start;
}
.fm-label { font-size: 0.84rem; color: var(--ivory-dim); }
.fm-link {
  position: relative;
  padding-left: 18px;
  font-size: 0.95rem;
  color: var(--gold-light);
  transition: color 0.2s;
}
.fm-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background: var(--gold);
  transform: rotate(45deg);
  transition: background 0.2s;
}
.fm-link:hover { color: var(--ivory); }
.fm-link:hover::before { background: var(--gold-light); }

.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem 1.2rem; }
.lead-form label { display: flex; flex-direction: column; gap: 0.45rem; font-size: 0.82rem; letter-spacing: 0.04em; color: var(--ivory-dim); }
.lead-form .span-2 { grid-column: span 2; }

.lead-form input[type="text"],
.lead-form input[type="tel"],
.lead-form select {
  background: rgba(14, 23, 41, 0.7);
  border: 1px solid rgba(169, 128, 63, 0.25);
  color: var(--ivory);
  font-family: var(--sans);
  font-size: 0.95rem;
  padding: 0.85rem 1rem;
  outline: none;
  transition: border-color 0.2s;
}
.lead-form input:focus, .lead-form select:focus { border-color: var(--gold-light); }
.lead-form select option { background: var(--navy-deep); }

.consent { flex-direction: row !important; align-items: center; gap: 0.7rem !important; font-size: 0.78rem !important; }
.consent input { accent-color: var(--gold); width: 16px; height: 16px; }

.form-status { color: var(--gold-light); font-size: 0.92rem; }

/* ---------- footer ---------- */

.site-footer { background: var(--navy-deep); border-top: 1px solid rgba(169, 128, 63, 0.18); padding: 3.5rem 0 3rem; }
.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 5vw, 4rem);
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
  gap: 2.5rem;
}
.footer-brand { display: flex; gap: 1.1rem; align-items: flex-start; }
.monogram { width: 54px; height: 54px; flex-shrink: 0; }
.footer-name { font-family: var(--serif); font-size: 1.15rem; }
.footer-tagline { font-size: 0.68rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-light); margin-top: 0.3rem; }
.footer-heading { font-size: 0.72rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem; }
.footer-col { display: flex; flex-direction: column; gap: 0.55rem; font-size: 0.9rem; }
.footer-col a { color: var(--ivory-dim); transition: color 0.2s; }
.footer-col a:hover { color: var(--gold-light); }
.footer-legal p { font-size: 0.76rem; color: rgba(242, 237, 228, 0.45); }


/* ---------- hero split ---------- */
.hero-grid{width:100%;max-width:1200px;margin:0 auto;padding:clamp(3.5rem,8vh,6rem) clamp(1.5rem,5vw,4rem);display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(1.8rem,4vw,3.6rem);align-items:center;position:relative;z-index:1}
.hero-grid h1{font-size:clamp(2rem,4vw,3.4rem);max-width:20ch;margin-bottom:1.8rem}
.hero-grid h1 em{font-style:normal;color:var(--gold-light);display:block}
.hero-proof{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.4rem}
.hero-proof li{display:flex;gap:.85rem;align-items:baseline;font-size:1rem;color:var(--ivory-dim)}
.hero-proof li::before{content:"";flex:0 0 6px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg) translateY(-1px)}

/* ---------- image placeholders ---------- */
.ph{position:relative;display:flex;align-items:flex-end;padding:1.1rem;background:repeating-linear-gradient(135deg,rgba(169,128,63,.13) 0 2px,transparent 2px 10px),linear-gradient(160deg,#1b2c4d,#0d1526);border:1px solid rgba(169,128,63,.28)}
.ph span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,237,228,.5)}
.ph-hero{aspect-ratio:4/5;min-height:360px}
.hero-media{position:relative;margin:0;aspect-ratio:4/5;min-height:360px;overflow:hidden;border:1px solid rgba(169,128,63,.28)}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05) brightness(.82)}
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(205deg,rgba(14,23,41,.15),rgba(14,23,41,.62))}

/* ---------- когда мы полезны ---------- */
.need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(1.2rem,2.5vw,2.4rem);border-top:1px solid rgba(169,128,63,.2)}
.need{padding:1.9rem 0;border-bottom:1px solid rgba(169,128,63,.2)}
.need h3{font-size:clamp(1.05rem,1.5vw,1.35rem);margin-bottom:.5rem;text-wrap:balance}
.need p{font-size:clamp(.84rem,1vw,.92rem);color:var(--ivory-dim);text-wrap:pretty}

/* ---------- условия ---------- */
.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.term{border:1px solid rgba(169,128,63,.2);background:rgba(26,42,74,.35);padding:2rem 1.8rem}
.term dt{font-family:var(--serif);font-size:clamp(.95rem,1.1vw,1.05rem);font-weight:500;line-height:1.2;letter-spacing:normal;text-transform:none;color:var(--gold-light);margin-bottom:1.1rem}
.term dd{font-family:var(--serif);font-size:clamp(1.4rem,1.9vw,1.95rem);line-height:1.15;white-space:nowrap}
.term small{display:block;margin-top:.8rem;font-size:.84rem;color:var(--ivory-dim)}

/* ---------- карта ---------- */
.map-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(1.5rem,4vw,3rem)}
.map{position:relative;aspect-ratio:16/10;border:1px solid rgba(169,128,63,.22);background:linear-gradient(160deg,rgba(26,42,74,.55),rgba(14,23,41,.7));overflow:hidden}
.map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(169,128,63,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(169,128,63,.06) 1px,transparent 1px);background-size:12.5% 12.5%}
.pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:0;border:0;background:none;cursor:pointer;font-family:var(--sans);font-size:.8rem;letter-spacing:.05em;white-space:nowrap;color:var(--ivory-dim);transition:color .2s}
.pin i{width:9px;height:9px;border:1px solid var(--gold);transform:rotate(45deg);transition:background .25s,box-shadow .25s}
.pin:hover,.pin[aria-current="true"]{color:var(--ivory)}
.pin:hover i,.pin[aria-current="true"] i{background:var(--gold-light);box-shadow:0 0 0 7px rgba(169,128,63,.14)}
.map-panel{border:1px solid rgba(169,128,63,.22);background:rgba(26,42,74,.35);padding:2rem 1.8rem;display:flex;flex-direction:column;gap:.9rem}
.cp-name{font-family:var(--serif);font-size:1.7rem}
.cp-assets{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.cp-note{font-size:.93rem;color:var(--ivory-dim);flex:1}
.cp-link{font-size:.84rem;letter-spacing:.06em;color:var(--gold-light)}

/* ---------- кейсы: параметры ---------- */
.case-spec{list-style:none;margin-top:1.4rem;font-size:.86rem;border-top:1px solid rgba(169,128,63,.18)}
.case-spec li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(169,128,63,.1);color:var(--ivory-dim)}
.case-spec b{font-weight:500;color:var(--ivory)}

/* ---------- форма: чипы и подсказки ---------- */
fieldset{border:0;padding:0;min-width:0}
.field-legend{display:block;font-size:.82rem;letter-spacing:.04em;color:var(--ivory-dim);margin-bottom:.85rem}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{position:relative;display:block}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.chip span{display:block;padding:.6rem 1.05rem;font-size:.83rem;border:1px solid rgba(169,128,63,.25);color:var(--ivory-dim);transition:.2s;cursor:pointer}
.chip input:checked+span{background:var(--gold-light);border-color:var(--gold-light);color:var(--navy-deep)}
.chip input:focus-visible+span{outline:1px solid var(--gold-light);outline-offset:2px}
.lead-note{display:none;gap:.9rem;border-left:1px solid var(--gold);padding:.75rem 0 .75rem 1.1rem;font-size:.88rem;color:var(--gold-light)}
.lead-note[data-visible="true"]{display:flex}
.lead-hint{font-size:.78rem;color:rgba(242,237,228,.45)}

@media (max-width: 1150px) {
  .hero-stats dd{white-space:normal;max-width:15ch}
}

@media (max-width: 1000px) {
  .assets-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .case-meta{white-space:normal}
}

@media (max-width: 820px) {
  .need-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 620px) {
  .assets-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 520px) {
  .need-grid{grid-template-columns:1fr}
}

@media (max-width: 900px) {
  .hero-grid{grid-template-columns:1fr}
  .ph-hero,.hero-media{aspect-ratio:16/10;min-height:220px}
  .map-wrap{grid-template-columns:1fr}
  .pin{font-size:.7rem}
}

/* ---------- выравнивание строк в сетках (subgrid) ---------- */
.need-grid{grid-auto-rows:auto}
.need{display:grid;grid-template-rows:subgrid;grid-row:span 2;align-content:start;row-gap:.4rem}
.need h3{margin-bottom:0}
.assets-grid{grid-auto-rows:auto}
.asset{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:start;row-gap:.35rem}
.asset-media{margin-bottom:0}
.asset-num{margin-bottom:0;align-self:end}
.asset h3{margin-bottom:0;align-self:start;padding-top:0}
.asset p{padding-top:0}
.steps{grid-auto-rows:auto}
.steps li{display:grid;grid-template-rows:subgrid;grid-row:span 2;align-content:start;row-gap:.4rem}
.steps h3{margin-bottom:0}
.terms{grid-auto-rows:auto}
.term{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start;row-gap:.4rem}
.term dt{margin-bottom:0}
.term dd{align-self:end}
.term small{margin-top:.8rem}
.cards-grid{grid-auto-rows:auto}
.cards-grid > .card{display:grid;grid-template-rows:subgrid;align-content:start}
.cards-grid > .card:not(.case):not(.review){grid-row:span 2;row-gap:.6rem}
.cards-grid > .card:not(.case):not(.review) h3{margin-bottom:0}
.cards-grid > .case{grid-row:span 5;row-gap:.4rem}
.cards-grid > .review{grid-row:span 2;align-content:space-between;row-gap:.6rem}
.review footer{align-self:end}

/* ---------- responsive ---------- */

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

@media (max-width: 900px) {
  .form-inner { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .hero-stats { flex-wrap: wrap; gap: 1.6rem; }
}

@media (max-width: 560px) {
  .hero-grid { padding-left: 1.2rem; padding-right: 1.2rem; }
  .hero-grid > div, .section-inner > *, .map-wrap > * { min-width: 0; }
  .btn { padding: 0.9rem 1.1rem; font-size: 0.86rem; white-space: normal; text-align: center; }
  /* На телефоне фото уводит первый экран за пределы вида — показатели важнее. */
  .hero-media { display: none; }
  /* Три показателя в одну строку: flex переносил их на две. */
  .hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem; width: 100%; }
  .hero-stats dt { font-size: clamp(0.9rem, 4.7vw, 1.3rem); white-space: nowrap; }
  .hero-stats dd { font-size: 0.72rem; white-space: normal; max-width: none; }
  .term dd { white-space: normal; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form .span-2 { grid-column: span 1; }
  .footer-inner { grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; text-align: center; }
}

/* Рекламные посадочные: шапка без меню — платный трафик уводить со
   страницы некуда, каждая ссылка в навигации это потерянная заявка. */
.lp-header { justify-content: space-between; }
.lp-phone {
  margin-left: auto;
  color: var(--ivory);
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}
.lp-phone:hover { color: var(--gold-light); }
.lp-intro, .lp-assets { max-width: 62ch; }
.lp-assets { color: var(--muted); }
.lp-footer .footer-inner { grid-template-columns: 1fr 1fr 1.4fr; }
