/**
 * Dark homepage design — dzin.pro
 * Loaded only on front-page via functions.php
 * Design tokens from design_handoff_homepage/README.md
 */

/* ── Design tokens ── */
:root {
  --dh-bg:          #0a2540;
  --dh-bg-panel:    #0c2d57;
  --dh-bg-footer:   #06192e;
  --dh-primary:     #1A6EF5;
  --dh-orange:      #B85700; /* WCAG AA: 4.77:1 с белым текстом (было #F57C1A — 2.70:1) */
  --dh-orange-lt:   #ffb877;
  --dh-blue-lt:     #5fa0ff;
  --dh-text:        #ffffff;
  --dh-text-sec:    #9db4d0;
  --dh-text-muted:  #829ab6; /* WCAG AA: 4.76:1 на тёмном фоне (было #6f88a8 — 3.77:1) */
  --dh-text-nav:    #cfe0f5;
  --dh-green:       #4fd08a;
  --dh-card-bg:     rgba(255,255,255,0.04);
  --dh-card-border: 1px solid rgba(255,255,255,0.10);
  --dh-font:        'Manrope', system-ui, sans-serif;
}

/* ── Mobile hamburger for dh-nav (hidden on desktop) ── */
.dh-nav__burger { display: none; }

/* ── Reset Kadence chrome on homepage ── */
.home #masthead,
.home .site-header,
.home .kadence-sticky-header,
.home .kadence-top-header,
.home #colophon,
.home .site-footer {
  display: none !important;
}

.home #wrapper,
.home #inner-wrap,
.home .content-area,
.home #primary {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Base ── */
.dh-wrap {
  font-family: var(--dh-font);
  background: var(--dh-bg);
  overflow-x: hidden;
  color: var(--dh-text);
}

/* ── Navigation ── */
.dh-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 64px;
  position: relative;
  z-index: 10;
}

.dh-nav__brand {
  display: flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
}

.dh-nav__logo-text {
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -0.01em;
}

.dh-nav__logo-text span:first-child { color: #fff; }
.dh-nav__logo-text span:last-child  { color: var(--dh-blue-lt); }

.dh-nav__links {
  display: flex;
  align-items: center;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dh-nav__link {
  color: var(--dh-text-nav);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: color .15s;
}

.dh-nav__link:hover { color: #fff; }

/* Dropdown */
.dh-nav__item--has-dd { position: relative; }
.dh-dd-arr { font-size: 11px; opacity: 0.8; margin-left: 3px; } /* ≥11px: U5 (нет видимого текста <11px) */
.dh-nav__dd {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  min-width: 280px;
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  box-shadow: 0 24px 50px rgba(0,0,0,0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.16s, transform 0.16s, visibility 0.16s;
  z-index: 100;
}
.dh-nav__item--has-dd:hover .dh-nav__dd {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dh-nav__ddi {
  display: block;
  color: #0a2540;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 11px 14px;
  border-radius: 9px;
  transition: background 0.12s, color 0.12s;
}
.dh-nav__ddi:hover { background: #eef4ff; color: #1A6EF5; }

/* ── Hero ── */
.dh-hero {
  background: linear-gradient(180deg, #0a2540 0%, #0c2d57 100%);
  padding: 42px 64px 8px;
}

.dh-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.dh-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(245,124,26,0.14);
  border: 1px solid rgba(245,124,26,0.45);
  color: var(--dh-orange-lt);
  font-weight: 700;
  font-size: 14px;
  padding: 8px 16px;
  border-radius: 999px;
}

.dh-pill__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dh-orange);
  display: inline-block;
  flex-shrink: 0;
}

.dh-hero__h1 {
  margin: 22px 0 0;
  color: #fff;
  font-weight: 800;
  font-size: 62px;
  line-height: 1.03;
  letter-spacing: -0.03em;
  max-width: 880px;
  text-wrap: balance;
}

.dh-hero__lead {
  margin: 22px 0 0;
  color: var(--dh-text-sec);
  font-size: 19px;
  line-height: 1.55;
  max-width: 680px;
}

.dh-hero__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}

.dh-btn-orange {
  background: var(--dh-orange);
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  padding: 17px 34px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(245,124,26,0.35);
  transition: filter .15s;
  display: inline-block;
}

.dh-btn-orange:hover { filter: brightness(1.07); color: #fff; }

.dh-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  padding: 17px 24px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 12px;
  text-decoration: none;
  transition: border-color .15s;
}

.dh-btn-outline:hover { border-color: rgba(255,255,255,0.55); color: #fff; }

/* ── Service cards ── */
.dh-services {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding: 46px 0 30px;
}

.dh-scard {
  text-decoration: none;
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 16px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .18s, border-color .18s, background .18s;
}

.dh-scard:hover {
  transform: translateY(-4px);
  border-color: rgba(245,124,26,0.5);
  background: rgba(255,255,255,0.06);
}

.dh-scard__icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(245,124,26,0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dh-scard__icon--blue { background: rgba(95,160,255,0.16); }

.dh-scard__title {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  margin: 0;
}

.dh-scard__desc {
  color: var(--dh-text-sec);
  font-size: 14px;
  margin: 7px 0 0;
  line-height: 1.45;
}

.dh-scard__footer {
  color: var(--dh-orange-lt);
  font-size: 14px;
  font-weight: 600;
  margin-top: auto;
}

.dh-scard__footer--free-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}

.dh-scard__free { color: var(--dh-green); font-size: 14px; font-weight: 700; }
.dh-scard__open { color: var(--dh-blue-lt); font-size: 14px; font-weight: 600; }

/* ── Trust strip ── */
.dh-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
  padding: 22px 0 36px;
  flex-wrap: wrap;
}

.dh-trust__item {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dh-text-nav);
  font-size: 15px;
  font-weight: 600;
}

/* ── Section wrapper ── */
.dh-section {
  padding: 80px 64px;
}

.dh-section--panel  { background: var(--dh-bg-panel); }
.dh-section--blue   { background: var(--dh-primary); text-align: center; padding: 60px 64px; }

.dh-section__eyebrow {
  color: var(--dh-blue-lt);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dh-section__h2 {
  margin: 10px 0 0;
  color: #fff;
  font-weight: 800;
  font-size: 40px;
  letter-spacing: -0.02em;
}

.dh-section__lead {
  margin: 14px auto 0;
  color: var(--dh-text-sec);
  font-size: 17px;
  max-width: 560px;
}

.dh-section__center { text-align: center; margin-bottom: 38px; }

/* ── Calculators ── */
.dh-calcs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding: 0;
}

.dh-section__h2-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  margin: 10px 0 0;
  color: inherit;
}

.dh-section__h2-link:hover .dh-section__h2 { color: var(--dh-blue-lt); }

.dh-section__h2-arr {
  color: var(--dh-blue-lt);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

/* ── Steps (Как это работает) ── */
.dh-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.dh-step {
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 18px;
  padding: 34px;
}

.dh-step__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.dh-step__num {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: var(--dh-primary);
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dh-step__title {
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  margin: 0;
}

.dh-step__text {
  margin: 0;
  color: var(--dh-text-sec);
  font-size: 16px;
  line-height: 1.6;
}

/* ── Expert ── */
.dh-expert-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 48px;
  align-items: center;
}

.dh-expert-photo-wrap {
  position: relative;
}

.dh-expert-photo-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(180deg, #0d2f5e 0%, #0a2540 100%);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4);
}

.dh-expert-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  display: block;
}

.dh-expert-badge {
  position: absolute;
  bottom: -18px;
  left: 24px;
  right: 24px;
  background: #fff;
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.3);
}

.dh-expert-badge__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--dh-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dh-expert-badge__name {
  font-weight: 800;
  font-size: 14px;
  color: #0a2540;
  font-family: var(--dh-font);
}

.dh-expert-badge__sub {
  font-size: 12px;
  color: #617188; /* WCAG AA: 4.97:1 на белом (было #6b7d93 — 4.22:1) */
  font-family: var(--dh-font);
}

.dh-expert-bio__name {
  margin-top: 20px;
  color: #fff;
  font-weight: 800;
  font-size: 24px;
}

.dh-expert-bio__role {
  margin-top: 6px;
  color: var(--dh-text-sec);
  font-size: 16px;
}

.dh-expert-bio__degree {
  margin-top: 4px;
  color: #7f9bc0;
  font-size: 15px;
}

.dh-expert-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 28px;
  margin-top: 26px;
  list-style: none;
  padding: 0;
}

.dh-expert-specs li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--dh-text-nav);
  font-size: 15px;
}

.dh-expert-specs li::before {
  content: '→';
  color: #F57C1A; /* декоративный акцент — яркий бренд-оранжевый (не токен: --dh-orange затемнён под контраст кнопок; глиф contrast-exempt) */
  font-weight: 700;
  flex-shrink: 0;
}

.dh-expert-links {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.dh-expert-ref {
  color: var(--dh-text-sec);
  font-size: 14px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.18);
  padding: 9px 16px;
  border-radius: 9px;
  transition: color .15s, border-color .15s;
}

.dh-expert-ref:hover { color: #fff; border-color: rgba(255,255,255,0.4); }

.dh-expert-more {
  color: var(--dh-blue-lt);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.dh-expert-more:hover { color: #fff; }

.dh-expert-disclaimer {
  margin: 24px 0 0;
  color: var(--dh-text-muted);
  font-size: 13px;
  line-height: 1.5;
  max-width: 560px;
}

/* ── Price + Why ── */
.dh-price-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: stretch;
}

.dh-price-card {
  background: linear-gradient(160deg, #1A6EF5 0%, #0d4fc4 100%);
  border-radius: 22px;
  padding: 44px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgba(26,110,245,0.3);
}

.dh-price-card__eyebrow {
  color: #cfe0ff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dh-price-card__amount {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 14px;
}

.dh-price-card__num {
  color: #fff;
  font-weight: 800;
  font-size: 76px;
  line-height: 1;
  letter-spacing: -0.03em;
}

.dh-price-card__unit {
  color: #cfe0ff;
  font-size: 22px;
  font-weight: 600;
}

.dh-price-card__desc {
  margin: 14px 0 0;
  color: #dbe8ff;
  font-size: 16px;
  line-height: 1.5;
}

.dh-price-card__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 26px;
  list-style: none;
  padding: 0;
}

.dh-price-card__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 15px;
}

.dh-price-card__cta {
  margin-top: auto;
  padding-top: 30px;
}

.dh-why__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.dh-why-card {
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 16px;
  padding: 26px;
  transition: border-color .18s;
}

.dh-why-card:hover { border-color: rgba(95,160,255,0.4); }

.dh-why-card__title {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
}

.dh-why-card__text {
  margin: 10px 0 0;
  color: var(--dh-text-sec);
  font-size: 15px;
  line-height: 1.55;
}

/* ── Blog ── */
.dh-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 0;
}

.dh-bcard {
  text-decoration: none;
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  transition: transform .18s, border-color .18s, background .18s;
}

.dh-bcard:hover {
  transform: translateY(-4px);
  border-color: rgba(245,124,26,0.5);
  background: rgba(255,255,255,0.06);
}

.dh-bcard__cat {
  align-self: flex-start;
  color: var(--dh-orange-lt);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(245,124,26,0.14);
  padding: 5px 10px;
  border-radius: 7px;
}

.dh-bcard__title {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.35;
  margin-top: 16px;
}

.dh-bcard__date {
  color: var(--dh-text-muted);
  font-size: 13px;
  margin-top: 12px;
}

.dh-bcard__excerpt {
  margin: 14px 0 0;
  color: var(--dh-text-sec);
  font-size: 14px;
  line-height: 1.55;
}

.dh-bcard__more {
  color: var(--dh-blue-lt);
  font-size: 15px;
  font-weight: 600;
  margin-top: 20px;
}

.dh-blog-more {
  text-align: center;
  margin-top: 34px;
}

.dh-blog-more a {
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.22);
  padding: 13px 26px;
  border-radius: 11px;
  transition: border-color .15s;
  display: inline-block;
}

.dh-blog-more a:hover { border-color: rgba(255,255,255,0.5); }

/* ── FAQ ── */
.dh-faq-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.dh-faq-item {
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 14px;
  padding: 22px 26px;
}

.dh-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  list-style: none;
  cursor: pointer;
  gap: 16px;
}

.dh-faq-item summary::-webkit-details-marker { display: none; }

.dh-faq-chev {
  color: #F57C1A; /* декоративный (aria-hidden) — яркий бренд-оранжевый, contrast-exempt */
  font-size: 24px;
  line-height: 1;
  transition: transform .2s;
  flex-shrink: 0;
}

.dh-faq-item[open] .dh-faq-chev { transform: rotate(45deg); }

.dh-faq-item p {
  margin: 16px 0 0;
  color: var(--dh-text-sec);
  font-size: 15px;
  line-height: 1.6;
}

.dh-faq-press {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.dh-press-link {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--dh-text-nav);
  text-decoration: none;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 14px 16px;
  border-radius: 11px;
  transition: border-color .15s;
}

.dh-press-link:hover { border-color: rgba(255,255,255,0.35); color: #fff; }

.dh-press-link__label {
  flex-shrink: 0;
  color: var(--dh-blue-lt);
  font-weight: 800;
  font-size: 14px;
  background: rgba(95,160,255,0.14);
  border-radius: 7px;
  padding: 6px 9px;
}

.dh-press-link__text {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.dh-press-link__arr {
  margin-left: auto;
  flex-shrink: 0;
  color: var(--dh-blue-lt);
  font-size: 16px;
}

/* ── Final CTA ── */
.dh-cta-section {
  background: var(--dh-primary);
  padding: 60px 64px;
  text-align: center;
}

.dh-cta-section__h2 {
  margin: 0;
  color: #fff;
  font-weight: 800;
  font-size: 36px;
  letter-spacing: -0.02em;
}

.dh-cta-section__lead {
  margin: 14px 0 0;
  color: #fff; /* WCAG AA: 4.57:1 на синей CTA-полосе (было #dbe8ff — 3.70:1) */
  font-size: 17px;
}

.dh-cta-section__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 28px;
}

.dh-cta-section__note {
  margin: 18px 0 0;
  color: #fff; /* WCAG AA: 4.57:1 на синей CTA-полосе (было #cfe0ff — 3.43:1) */
  font-size: 14px;
}

/* ── Custom Footer ── */
.dh-footer {
  background: var(--dh-bg-footer);
  padding: 56px 64px 36px;
}

.dh-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
}

.dh-footer__brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
}

.dh-footer__brand-name {
  font-weight: 800;
  font-size: 20px;
}

.dh-footer__brand-name span:first-child { color: #fff; }
.dh-footer__brand-name span:last-child  { color: var(--dh-blue-lt); }

.dh-footer__desc {
  margin: 16px 0 0;
  color: var(--dh-text-muted);
  font-size: 14px;
  line-height: 1.6;
  max-width: 300px;
}

.dh-footer__col-title {
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 14px;
}

.dh-footer__col-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dh-footer__col-links a {
  color: var(--dh-text-sec);
  font-size: 14px;
  text-decoration: none;
  transition: color .15s;
}

.dh-footer__col-links a:hover { color: #fff; }

.dh-footer__contact { margin-top: 24px; }
.dh-footer__contact-hint { color: #7488a0; font-size: 13px; }

.dh-footer__bottom {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: #7488a0;
  font-size: 13px;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  .dh-nav, .dh-hero, .dh-section { padding-left: 32px; padding-right: 32px; }
  .dh-footer { padding-left: 32px; padding-right: 32px; }
  .dh-cta-section { padding-left: 32px; padding-right: 32px; }
  .dh-hero__h1 { font-size: 48px; }
  .dh-services { grid-template-columns: repeat(2, 1fr); }
  .dh-calcs   { grid-template-columns: repeat(2, 1fr); }
  .dh-steps   { grid-template-columns: 1fr; }
  .dh-expert-grid { grid-template-columns: 1fr; }
  .dh-price-grid  { grid-template-columns: 1fr; }
  .dh-blog-grid   { grid-template-columns: repeat(2, 1fr); }
  .dh-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .dh-nav {
    flex-wrap: nowrap; gap: 0; padding: 0 16px;
    min-height: 56px; position: sticky; top: 0; z-index: 50;
    background: var(--dh-bg);
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .dh-nav__burger {
    display: flex; width: 36px; height: 36px;
    align-items: center; justify-content: center;
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px; cursor: pointer; padding: 0; flex-shrink: 0; margin-left: auto;
  }
  .dh-nav__links {
    display: flex; flex-direction: column; list-style: none;
    position: fixed; top: 56px; left: 0; right: 0; z-index: 49;
    background: rgba(8,28,52,0.98);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    max-height: 0; overflow: hidden; gap: 0; padding: 0;
    transition: max-height 0.28s cubic-bezier(0.4,0,0.2,1);
  }
  .dh-nav.menu-open .dh-nav__links { max-height: 400px; }
  .dh-nav__item--has-dd { position: static; }
  .dh-nav__dd { display: none !important; }
  .dh-nav__link {
    display: block; padding: 14px 20px; width: 100%;
    border-bottom: 1px solid rgba(255,255,255,0.05); font-size: 15px;
  }
  .dh-nav__item:last-child .dh-nav__link { border-bottom: none; }
  .dh-hero { padding: 32px 20px 8px; }
  .dh-hero__h1 { font-size: 36px; }
  .dh-hero__lead { font-size: 16px; }
  .dh-hero__actions { flex-direction: column; }
  .dh-section { padding: 48px 20px; }
  .dh-section--blue { padding: 40px 20px; }
  .dh-section__h2 { font-size: 30px; }
  .dh-trust { gap: 20px; }
  .dh-services, .dh-calcs, .dh-steps, .dh-blog-grid { grid-template-columns: 1fr; }
  .dh-expert-grid, .dh-price-grid { grid-template-columns: 1fr; }
  .dh-expert-specs { grid-template-columns: 1fr; }
  .dh-why__cards { grid-template-columns: 1fr; }
  .dh-footer { padding: 40px 20px 24px; }
  .dh-footer__grid { grid-template-columns: 1fr; }
  .dh-cta-section { padding: 40px 20px; }
  .dh-price-card__num { font-size: 56px; }
}

/* ============================================================
   SERVICE PAGE — Dark (ds-* = dark service)
   Design ref: Service ДДУ.dc.html — 2026-06-30
   ============================================================ */

/* Kadence chrome reset for DDU service + intake dark pages */
.page-template-page-service-ddu #masthead,
.page-template-page-service-ddu .site-header,
.page-template-page-service-ddu .kadence-sticky-header,
.page-template-page-service-ddu .kadence-top-header,
.page-template-page-service-ddu #colophon,
.page-template-page-service-ddu .site-footer,
.dzin-dark-service #masthead,
.dzin-dark-service .site-header,
.dzin-dark-service .kadence-sticky-header,
.dzin-dark-service .kadence-top-header,
.dzin-dark-service #colophon,
.dzin-dark-service .site-footer,
.dzin-intake-ddu #masthead,
.dzin-intake-ddu .site-header,
.dzin-intake-ddu .kadence-sticky-header,
.dzin-intake-ddu .kadence-top-header,
.dzin-intake-ddu #colophon,
.dzin-intake-ddu .site-footer,
/* doslat-dokumenty (2026-07): full dark page — Kadence chrome скрыт целиком,
   включая футер: у страницы свой однострочный © в page-doslat-dokumenty.php */
.dzin-dark-docs #masthead,
.dzin-dark-docs .site-header,
.dzin-dark-docs .kadence-sticky-header,
.dzin-dark-docs .kadence-top-header,
.dzin-dark-docs #colophon,
.dzin-dark-docs .site-footer,
/* page-preview.php / page-success.php (design-preview-success, 2026-07):
   общие шаги 2/3 воронки для всех 4 услуг, тот же self-contained
   .dzin-container паттерн, что и service-ddu/intake-ddu/docs выше —
   без своего мини-футера, как и .dzin-dark-service/.dzin-intake-ddu. */
.dzin-dark-preview #masthead,
.dzin-dark-preview .site-header,
.dzin-dark-preview .kadence-sticky-header,
.dzin-dark-preview .kadence-top-header,
.dzin-dark-preview #colophon,
.dzin-dark-preview .site-footer,
.dzin-dark-success #masthead,
.dzin-dark-success .site-header,
.dzin-dark-success .kadence-sticky-header,
.dzin-dark-success .kadence-top-header,
.dzin-dark-success #colophon,
.dzin-dark-success .site-footer { display: none !important; }

.page-template-page-service-ddu #wrapper,
.page-template-page-service-ddu #inner-wrap,
.page-template-page-service-ddu .content-area,
.page-template-page-service-ddu #primary,
.dzin-dark-service #wrapper,
.dzin-dark-service #inner-wrap,
.dzin-dark-service .content-area,
.dzin-dark-service #primary,
.dzin-intake-ddu #wrapper,
.dzin-intake-ddu #inner-wrap,
.dzin-intake-ddu .content-area,
.dzin-intake-ddu #primary,
.dzin-dark-docs #wrapper,
.dzin-dark-docs #inner-wrap,
.dzin-dark-docs .content-area,
.dzin-dark-docs #primary,
.dzin-dark-preview #wrapper,
.dzin-dark-preview #inner-wrap,
.dzin-dark-preview .content-area,
.dzin-dark-preview #primary,
.dzin-dark-success #wrapper,
.dzin-dark-success #inner-wrap,
.dzin-dark-success .content-area,
.dzin-dark-success #primary { padding: 0 !important; margin: 0 !important; }

/* Active nav item in dropdown */
.dh-nav__ddi--active { background: #eef4ff !important; color: #1A6EF5 !important; }

/* ============================================================
   CALCULATOR PAGES / BLOG ARCHIVE / BLOG ARTICLES — Dark nav rollout
   2026-07 — nav (+ hero for calc/archive, nav-only for articles).
   Blog-archive/article keep the LIGHT Kadence footer (cross-links to /uslugi/,
   blog, legal). Calc pages — с Фазы 3 стали полностью тёмными (тёмное тело под
   тёмный виджет), поэтому у НИХ Kadence-футер прячется и рендерится dh-footer
   (шаблоны page-kalkulyator-*.php), см. блок ниже.
   ============================================================ */

.dzin-dark-calc #masthead,
.dzin-dark-calc .site-header,
.dzin-dark-calc .kadence-sticky-header,
.dzin-dark-calc .kadence-top-header,
.dzin-dark-blog-archive #masthead,
.dzin-dark-blog-archive .site-header,
.dzin-dark-blog-archive .kadence-sticky-header,
.dzin-dark-blog-archive .kadence-top-header,
.dzin-dark-article #masthead,
.dzin-dark-article .site-header,
.dzin-dark-article .kadence-sticky-header,
.dzin-dark-article .kadence-top-header { display: none !important; }

/* Calc pages (Фаза 3): прячем светлый Kadence-футер — вместо него dh-footer
   (тёмный) рендерят сами шаблоны page-kalkulyator-*.php. Только dzin-dark-calc. */
.dzin-dark-calc #colophon,
.dzin-dark-calc .site-footer { display: none !important; }

.dzin-dark-calc #wrapper,
.dzin-dark-calc #inner-wrap,
.dzin-dark-blog-archive #wrapper,
.dzin-dark-blog-archive #inner-wrap,
.dzin-dark-article #wrapper,
.dzin-dark-article #inner-wrap { padding: 0 !important; margin: 0 !important; }
/* NOT resetting .content-area/#primary for blog-archive/article — <main> there
   hosts content that keeps its own Kadence padding; only the outer wrapper needs
   zeroing so the dh-nav strip sits edge-to-edge.
   Calc pages — см. блок ниже: с Фазы 3 их content делается тёмным (виджет
   калькулятора теперь тёмный, plugin CSS), иначе тёмный виджет висел бы на
   светлом кремовом body. */

/* ── Calc pages (Фаза 3): тёмный content-area под тёмный виджет ──
   Весь контент калькулятор-страниц — namespaced классы виджетов dzin-core
   (dcalc, d395, dducalc, dcalc-seo), перекрашены в тёмное, сырой светлой прозы
   нет, поэтому тёмный фон безопасен. Только dzin-dark-calc, НЕ blog-archive/
   article. (NB: без «звёздочка-слэш» в комментарии — рвёт CSS-комментарий.) */
body.dzin-dark-calc,
.dzin-dark-calc #primary,
.dzin-dark-calc .content-area,
.dzin-dark-calc #main { background: var(--dh-bg) !important; }
.dzin-dark-calc .content-area { padding-top: 44px; padding-bottom: 64px; }

/* ── Page hero (calc pages + blog archive): title-only dark band ── */
.dh-page-hero {
  background: linear-gradient(180deg, var(--dh-bg) 0%, var(--dh-bg-panel) 100%);
  padding: 56px 64px 60px;
  text-align: center;
}
.dh-page-hero__inner { max-width: 760px; margin: 0 auto; }
.dh-page-hero h1 {
  color: #fff;
  font-weight: 800;
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}
@media (max-width: 768px) {
  .dh-page-hero { padding: 36px 20px 40px; }
  .dh-page-hero h1 { font-size: 27px; }
}

/* ── Blog archive: hub sections + "Все статьи" grid on dark surface ── */

/* archive-post.php stacks .dzin-link-informational (link-roles.css, used by
   wordpress/scripts/blog-internal-links.php's scan) onto the same <a> as
   .dh-bcard. a.dzin-link-informational's underline/#555 color otherwise wins
   on specificity over .dh-bcard's own reset (1 class+1 element beats 1 class
   alone only in the OLD nested-anchor markup that no longer exists here —
   now both classes sit on the same element, so two classes must explicitly
   out-specify it). Individual .dh-bcard__* children already set their own
   color, so only text-decoration needs the override. */
.dh-bcard.dzin-link-informational,
.dh-bcard.dzin-link-informational:hover,
.dh-bcard.dzin-link-informational:focus { text-decoration: none; }

.dzin-dark-blog-archive #primary.dzin-blog-archive { background: transparent; }

.dzin-dark-blog-archive .dzin-blog-archive__intro,
.dzin-dark-blog-archive .dzin-blog-archive__list-heading { color: #fff; }
.dzin-dark-blog-archive .dzin-blog-archive__intro a { color: var(--dh-blue-lt); }

.dzin-dark-blog-archive .dzin-blog-hub {
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}
.dzin-dark-blog-archive .dzin-blog-hub__header { border-bottom: 1px solid rgba(255,255,255,0.10); }
.dzin-dark-blog-archive .dzin-blog-hub__title { color: #fff; }
.dzin-dark-blog-archive .dzin-blog-hub__note { color: var(--dh-text-muted); }
.dzin-dark-blog-archive .dzin-blog-hub__svc-link {
  background: rgba(245,124,26,0.14);
  color: var(--dh-orange-lt);
}
.dzin-dark-blog-archive .dzin-blog-hub__svc-link:hover,
.dzin-dark-blog-archive .dzin-blog-hub__svc-link:focus { background: rgba(245,124,26,0.24); }

/* dh-bcard used inside the hub list needs its own grid spacing since the
   parent <ul> isn't .dh-blog-grid (hub posts render 1-column, not a grid) */
.dzin-dark-blog-archive .dzin-blog-hub__posts { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dzin-dark-blog-archive .dzin-blog-hub__posts .dh-bcard { flex-direction: row; align-items: baseline; justify-content: space-between; padding: 16px 20px; gap: 16px; }
.dzin-dark-blog-archive .dzin-blog-hub__posts .dh-bcard__title { margin-top: 0; font-size: 15px; }
.dzin-dark-blog-archive .dzin-blog-hub__posts .dh-bcard__date { margin-top: 0; flex-shrink: 0; }

.dzin-dark-blog-archive .dzin-blog-archive__pagination .page-numbers,
.dzin-dark-blog-archive .dzin-blog-archive__pagination span.current { color: #fff; }
.dzin-dark-blog-archive .dzin-blog-archive__pagination .page-numbers.current {
  background: var(--dh-primary);
  border-radius: 8px;
  padding: 4px 10px;
}
.dzin-dark-blog-archive .dzin-blog-archive__empty { color: var(--dh-text-sec); }

/* --- Hero --- */
.ds-hero { background: linear-gradient(180deg,#0a2540 0%,#0c2d57 100%); padding: 18px 64px 64px; }
.ds-breadcrumb { display: flex; align-items: center; gap: 9px; color: #7f9bc0; font-size: 13px; font-weight: 600; margin-bottom: 34px; list-style: none; padding: 0; }
.ds-breadcrumb a { color: #7f9bc0; text-decoration: none; transition: color .15s; }
.ds-breadcrumb a:hover { color: #fff; }
.ds-breadcrumb__sep { opacity: 0.5; }
.ds-hero__grid { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 48px; align-items: start; }
.ds-law-pill { display: inline-flex; align-items: center; background: rgba(245,124,26,0.14); border: 1px solid rgba(245,124,26,0.45); color: #ffb877; font-weight: 700; font-size: 14px; padding: 8px 16px; border-radius: 999px; }
.ds-hero__h1 { margin: 22px 0 0; color: #fff; font-weight: 800; font-size: 54px; line-height: 1.06; letter-spacing: -0.03em; max-width: 720px; }
.ds-hero__lead { margin: 22px 0 0; color: #9db4d0; font-size: 19px; line-height: 1.55; max-width: 620px; }
.ds-hero__actions { display: flex; align-items: center; gap: 20px; margin-top: 32px; flex-wrap: wrap; }
.ds-hero__trust { display: flex; align-items: center; gap: 22px; margin-top: 24px; color: #7f9bc0; font-size: 14px; font-weight: 600; flex-wrap: wrap; }
.ds-hero__trust-dot { opacity: 0.4; }

/* Price card */
.ds-price-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 20px; padding: 32px; }
.ds-price-card__label { color: #9db4d0; font-size: 15px; font-weight: 600; }
.ds-price-card__amount { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; }
.ds-price-card__num { color: #fff; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -0.03em; }
.ds-price-card__unit { color: #ffb877; font-size: 20px; font-weight: 700; }
.ds-price-card__sub { color: #7f9bc0; font-size: 14px; margin-top: 6px; }
.ds-price-card__divider { height: 1px; background: rgba(255,255,255,0.1); margin: 22px 0; }
.ds-price-card__features { display: flex; flex-direction: column; gap: 12px; }
.ds-price-card__feature { display: flex; align-items: center; gap: 10px; color: #cfe0f5; font-size: 15px; }

/* --- Sections --- */
.ds-section { padding: 80px 64px; }
.ds-section--dark { background: #0a2540; }
.ds-section--blue { background: #0c2d57; }
.ds-section__eyebrow { color: #5fa0ff; font-weight: 700; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; }
.ds-section__h2 { margin: 10px 0 0; color: #fff; font-weight: 800; font-size: 40px; letter-spacing: -0.02em; }
.ds-section__lead { margin: 14px auto 0; color: #9db4d0; font-size: 17px; max-width: 600px; }
.ds-section__center { text-align: center; margin-bottom: 44px; }

/* --- 2-col grid --- */
.ds-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ds-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 36px; }
.ds-card__eyebrow { color: #5fa0ff; font-weight: 700; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; }
.ds-card__h3 { margin: 12px 0 0; color: #fff; font-weight: 800; font-size: 28px; letter-spacing: -0.02em; }
.ds-card__text { margin: 16px 0 0; color: #9db4d0; font-size: 16px; line-height: 1.6; }

/* Arrow list */
.ds-arrow-list { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }
.ds-arrow-item { display: flex; gap: 14px; }
.ds-arrow-item__icon { flex-shrink: 0; color: #F57C1A; font-weight: 800; font-size: 16px; line-height: 1.55; }
.ds-arrow-item__text { margin: 0; color: #9db4d0; font-size: 16px; line-height: 1.55; }

/* --- Calculator --- */
.ds-calc { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 24px; align-items: stretch; }
.ds-calc__inputs { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 18px; padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.ds-calc__label { display: block; }
.ds-calc__label-text { display: block; color: #cfe0f5; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.ds-calc__input { width: 100%; background: #0a2540; border: 1px solid rgba(255,255,255,0.16); border-radius: 10px; color: #fff; font-family: 'Manrope',sans-serif; font-size: 16px; font-weight: 600; padding: 13px 14px; outline: none; box-sizing: border-box; }
.ds-calc__input:focus { border-color: #5fa0ff; }
.ds-calc__input::-webkit-calendar-picker-indicator { filter: invert(0.7); }
.ds-calc__input:disabled { opacity: 0.45; }
.ds-calc__date-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ds-calc__toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; color: #cfe0f5; font-size: 15px; }
.ds-calc__toggle input[type="checkbox"] { width: 18px; height: 18px; accent-color: #F57C1A; flex-shrink: 0; }
.ds-calc__result { background: linear-gradient(160deg,#1A6EF5 0%,#0d4fc4 100%); border-radius: 18px; padding: 32px; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 24px 60px rgba(26,110,245,0.3); }
.ds-calc__result-label { color: #cfe0ff; font-size: 15px; font-weight: 600; }
.ds-calc__days { color: #fff; font-weight: 800; font-size: 34px; letter-spacing: -0.02em; }
.ds-calc__divider { height: 1px; background: rgba(255,255,255,0.2); margin: 22px 0; }
.ds-calc__sum { color: #fff; font-weight: 800; font-size: 46px; line-height: 1.05; letter-spacing: -0.03em; margin-top: 4px; }
.ds-calc__note { margin: 18px 0 0; color: #dbe8ff; font-size: 13px; line-height: 1.5; }
.ds-calc__more-link { text-align: center; margin-top: 26px; }
.ds-calc__more-link a { color: #5fa0ff; font-size: 15px; font-weight: 600; text-decoration: none; }
.ds-calc__more-link a:hover { color: #fff; }
.ds-calc__details { margin-top: 4px; }
.ds-calc__details summary { cursor: pointer; color: #5fa0ff; font-size: 14px; font-weight: 600; padding: 12px 0; min-height: 24px; }
.ds-calc__details .ds-calc__label { margin-top: 12px; }

/* Реальный фикс occlusion CTA калькулятора под фикс-барами (sticky CTA / cookie-
   баннер, оба bottom:0;z-index:1000) на мобиле. Предыдущая версия резервировала
   margin-bottom СНИЗУ .ds-calc__result — это НЕ работает: margin ниже блока не
   меняет положение самого блока (и его CTA) во вьюпорте при любом scrollY, значит
   не снимает перекрытие в момент появления суммы. Вместо margin — scroll-margin-
   bottom на самой кнопке #calc-cta (а не на всём result-блоке: блок может быть
   выше вьюпорта, и доскролл по границе блока оставил бы кнопку за кадром) +
   программный доскролл к ней после успешного расчёта (ensureCtaVisible() в
   инлайн-JS шаблона). scroll-margin только определяет, докуда доскроллить —
   сам доскролл делает JS, здесь чистый layout-эффект отсутствует (никакого
   постоянного отступа на странице, в отличие от прежней версии).
   var(--dzin-bottom-occlusion) — общая с style.css величина (nav 56 + sticky CTA
   64 = 120px, см. style.css :root и .has-dzin-bottom-nav.dzin-sticky-cta-docked).
   280px (не 260) в баннер-варианте: баннер auto-height, на 320-360px экране с
   переносом юр. текста в 3-4 строки может доходить до ~160px — недорезерв здесь
   означал бы кнопку под баннером после доскролла; перерезерв для scroll-margin
   не создаёт видимого отступа (страница просто останавливается чуть выше). */
@media (max-width: 768px) {
  #calc-cta { scroll-margin-bottom: calc(var(--dzin-bottom-occlusion, 120px) + env(safe-area-inset-bottom, 0px)); }
  body.dzin-cookie-banner-visible #calc-cta { scroll-margin-bottom: calc(280px + env(safe-area-inset-bottom, 0px)); }
}

/* --- Steps (4-col) --- */
.ds-steps-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.ds-step-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 34px; }
.ds-step-card--orange { background: rgba(245,124,26,0.08); border-color: rgba(245,124,26,0.3); }
.ds-step-card__head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.ds-step-card__num { width: 46px; height: 46px; border-radius: 12px; background: #1A6EF5; color: #fff; font-weight: 800; font-size: 22px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ds-step-card__num--orange { background: #F57C1A; }
.ds-step-card__title { color: #fff; font-weight: 700; font-size: 19px; line-height: 1.3; }
.ds-step-card__text { margin: 0; color: #9db4d0; font-size: 16px; line-height: 1.6; }

/* Facts strip */
.ds-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 24px; }
.ds-fact { background: rgba(95,160,255,0.08); border: 1px solid rgba(95,160,255,0.2); border-radius: 14px; padding: 24px; }
.ds-fact__label { color: #5fa0ff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.ds-fact__value { color: #fff; font-size: 16px; font-weight: 600; margin-top: 8px; line-height: 1.4; }

/* --- Why cards (4-col) --- */
.ds-why-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.ds-why-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 28px; transition: transform .18s, border-color .18s, background .18s; }
.ds-why-card:hover { transform: translateY(-4px); border-color: rgba(245,124,26,0.5); background: rgba(255,255,255,0.06); }
.ds-why-card__icon { width: 42px; height: 42px; border-radius: 11px; background: rgba(95,160,255,0.16); display: flex; align-items: center; justify-content: center; }
.ds-why-card__price { color: #ffb877; font-weight: 800; font-size: 24px; }
.ds-why-card__title { color: #fff; font-weight: 700; font-size: 17px; margin-top: 14px; }
.ds-why-card__text { margin: 8px 0 0; color: #9db4d0; font-size: 14px; line-height: 1.55; }

/* --- Tariff + Comparison --- */
.ds-tariff-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 40px; align-items: start; }
.ds-tariff-card { background: linear-gradient(160deg,#1A6EF5 0%,#0d4fc4 100%); border-radius: 22px; padding: 40px; box-shadow: 0 24px 60px rgba(26,110,245,0.3); position: relative; }
.ds-tariff-card__badge { position: absolute; top: 24px; right: 24px; background: #F57C1A; color: #fff; font-size: 12px; font-weight: 700; padding: 6px 12px; border-radius: 999px; }
.ds-tariff-card__eyebrow { color: #cfe0ff; font-weight: 700; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; }
.ds-tariff-card__title { margin: 12px 0 0; color: #fff; font-weight: 800; font-size: 26px; }
.ds-tariff-card__amount { display: flex; align-items: baseline; gap: 8px; margin-top: 14px; }
.ds-tariff-card__num { color: #fff; font-weight: 800; font-size: 60px; line-height: 1; letter-spacing: -0.03em; }
.ds-tariff-card__unit { color: #cfe0ff; font-size: 20px; font-weight: 600; }
.ds-tariff-card__sub { margin: 10px 0 0; color: #dbe8ff; font-size: 15px; }
.ds-tariff-card__features { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.ds-tariff-card__feature { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 15px; }

/* Comparison table */
.ds-comp__eyebrow { color: #5fa0ff; font-weight: 700; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; }
.ds-comp__h2 { margin: 10px 0 24px; color: #fff; font-weight: 800; font-size: 36px; letter-spacing: -0.02em; }
.ds-comp-table { border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; overflow: hidden; }
.ds-comp-table__head { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr 1.6fr; background: rgba(255,255,255,0.06); padding: 16px 20px; font-size: 13px; font-weight: 700; color: #7f9bc0; text-transform: uppercase; letter-spacing: 0.05em; }
.ds-comp-table__row { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr 1.6fr; padding: 18px 20px; align-items: center; border-top: 1px solid rgba(255,255,255,0.08); }
.ds-comp-table__row--highlight { background: rgba(245,124,26,0.08); }
.ds-comp-table__name-main { color: #fff; font-weight: 800; font-size: 16px; }
.ds-comp-table__price-main { color: #ffb877; font-weight: 700; font-size: 16px; }
.ds-comp-table__name { color: #fff; font-weight: 600; font-size: 16px; }
.ds-comp-table__cell { color: #9db4d0; font-size: 15px; }
.ds-limits { margin-top: 28px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 26px; }
.ds-limits__title { color: #fff; font-weight: 700; font-size: 18px; margin-bottom: 14px; }
.ds-limits__list { display: flex; flex-direction: column; gap: 11px; }
.ds-limits__item { display: flex; gap: 11px; color: #9db4d0; font-size: 15px; line-height: 1.5; }
.ds-limits__dot { color: #F57C1A; flex-shrink: 0; }

/* --- Как направить --- */
.ds-send-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ds-send-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 32px; }
.ds-send-card__icon-wrap { width: 44px; height: 44px; border-radius: 11px; background: rgba(245,124,26,0.16); display: flex; align-items: center; justify-content: center; }
.ds-send-card__title { color: #fff; font-weight: 700; font-size: 19px; margin-top: 14px; }
.ds-send-card__text { margin: 12px 0 0; color: #9db4d0; font-size: 15px; line-height: 1.55; }
.ds-send-accents { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.ds-send-accent { border-radius: 16px; padding: 28px; display: flex; gap: 16px; }
.ds-send-accent--blue { background: rgba(95,160,255,0.08); border: 1px solid rgba(95,160,255,0.25); }
.ds-send-accent--orange { background: rgba(245,124,26,0.09); border: 1px solid rgba(245,124,26,0.3); }
.ds-send-accent__icon-wrap { flex-shrink: 0; width: 44px; height: 44px; border-radius: 11px; display: flex; align-items: center; justify-content: center; }
.ds-send-accent__icon-wrap--blue { background: rgba(95,160,255,0.18); }
.ds-send-accent__icon-wrap--orange { background: rgba(245,124,26,0.18); }
.ds-send-accent__title { color: #fff; font-weight: 700; font-size: 18px; }
.ds-send-accent__text { margin: 10px 0 0; color: #9db4d0; font-size: 15px; line-height: 1.55; }
.ds-send-note { text-align: center; margin: 28px 0 0; color: #7f9bc0; font-size: 14px; }

/* --- CTA Band --- */
.ds-cta-band { background: #1A6EF5; padding: 50px 64px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ds-cta-band__title { color: #fff; font-weight: 800; font-size: 26px; letter-spacing: -0.02em; }
.ds-cta-band__sub { color: #dbe8ff; font-size: 16px; margin-top: 6px; }

/* --- FAQ --- */
.ds-faq-list { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.ds-faq-item { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; padding: 22px 26px; }
.ds-faq-item > summary { display: flex; align-items: center; justify-content: space-between; color: #fff; font-weight: 700; font-size: 18px; list-style: none; cursor: pointer; gap: 12px; }
.ds-faq-item > summary::-webkit-details-marker { display: none; }
.ds-faq-chev { color: #F57C1A; font-size: 24px; line-height: 1; transition: transform .2s; flex-shrink: 0; }
.ds-faq-item[open] .ds-faq-chev { transform: rotate(45deg); }
.ds-faq-item > p { margin: 16px 0 0; color: #9db4d0; font-size: 15px; line-height: 1.6; }
.ds-faq-disclaimer { max-width: 860px; margin: 28px auto 0; color: #6f88a8; font-size: 13px; line-height: 1.6; text-align: center; }

/* --- Blog cards --- */
.ds-blog-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.ds-bcard { text-decoration: none; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; transition: transform .18s, border-color .18s, background .18s; }
.ds-bcard:hover { transform: translateY(-4px); border-color: rgba(245,124,26,0.5); background: rgba(255,255,255,0.06); }
.ds-bcard__title { color: #fff; font-weight: 700; font-size: 17px; line-height: 1.35; }
.ds-bcard__date { color: #6f88a8; font-size: 13px; margin-top: 12px; }
.ds-bcard__more { color: #5fa0ff; font-size: 15px; font-weight: 600; margin-top: 18px; }
.ds-blog-more { text-align: center; margin-top: 34px; }
.ds-blog-more a { color: #fff; font-weight: 700; font-size: 16px; text-decoration: none; border: 1px solid rgba(255,255,255,0.22); padding: 13px 26px; border-radius: 11px; display: inline-block; }
.ds-blog-more a:hover { border-color: rgba(255,255,255,0.5); }

/* --- Final CTA --- */
.ds-final-cta { background: #0a2540; padding: 72px 64px; text-align: center; }
.ds-final-cta__h2 { margin: 0; color: #fff; font-weight: 800; font-size: 36px; letter-spacing: -0.02em; }
.ds-final-cta__lead { margin: 14px auto 0; color: #9db4d0; font-size: 17px; max-width: 560px; }

/* --- Service page responsive --- */
@media (max-width: 1100px) {
  .ds-steps-4 { grid-template-columns: 1fr 1fr; }
  .ds-why-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .ds-hero { padding: 16px 20px 48px; }
  .ds-hero__grid { grid-template-columns: 1fr; }
  .ds-hero__h1 { font-size: 32px; }
  .ds-hero__lead { font-size: 16px; }
  .ds-section { padding: 52px 20px; }
  .ds-grid-2 { grid-template-columns: 1fr; }
  .ds-calc { grid-template-columns: 1fr; }
  .ds-calc__date-row { grid-template-columns: 1fr; }
  .ds-steps-4 { grid-template-columns: 1fr; }
  .ds-why-4 { grid-template-columns: 1fr; }
  .ds-tariff-grid { grid-template-columns: 1fr; }
  .ds-comp-table__head, .ds-comp-table__row { grid-template-columns: 1.5fr 1fr 1.5fr; }
  .ds-comp-table__head div:nth-child(3), .ds-comp-table__row div:nth-child(3) { display: none; }
  .ds-send-3 { grid-template-columns: 1fr; }
  .ds-send-accents { grid-template-columns: 1fr; }
  .ds-cta-band { flex-direction: column; padding: 40px 20px; text-align: center; }
  .ds-blog-3 { grid-template-columns: 1fr 1fr; }
  .ds-facts { grid-template-columns: 1fr; }
  .ds-section__h2 { font-size: 28px; }
  .ds-final-cta { padding: 52px 20px; }
  .ds-final-cta__h2 { font-size: 26px; }
}
@media (max-width: 600px) {
  .ds-blog-3 { grid-template-columns: 1fr; }
  .ds-hero__h1 { font-size: 26px; }
}

/* ============================================================
   PILLAR (prikaz/zpp/alimony) — ds-/dh- дополнения (Redesign 2026, Фаза 2)
   Секции переиспользуют ds-* с page-service-ddu.php; здесь только то, чего
   у ДДУ-лендинга нет: rich-text ACF, тариф-сетка (N карточек), карточка
   эксперта, дисклеймер, нумерованные шаги/способы, rich FAQ-ответ.
   ============================================================ */

/* Rich-text ACF (problem_text / solution_text / legal intro+details) */
.ds-prose { max-width: 760px; margin: 0 auto; color: #9db4d0; font-size: 17px; line-height: 1.65; }
.ds-prose > :first-child { margin-top: 0; }
.ds-prose > :last-child { margin-bottom: 0; }
.ds-prose p { margin: 0 0 16px; }
.ds-prose strong { color: #fff; font-weight: 700; }
.ds-prose a { color: #5fa0ff; text-decoration: none; }
.ds-prose a:hover { color: #fff; }
.ds-prose h3, .ds-prose h4 { color: #fff; font-weight: 700; margin: 26px 0 12px; }
.ds-prose ul, .ds-prose ol { margin: 0 0 16px; padding-left: 22px; }
.ds-prose li { margin: 0 0 8px; }
.ds-prose ul li::marker { color: #F57C1A; }
.ds-prose__warn, .ds-prose__warn strong { color: #ffb877; }

/* Numbered steps (expired) — ds-arrow-item с номером вместо стрелки */
.ds-arrow-list--steps { max-width: 760px; margin-left: auto; margin-right: auto; }
.ds-arrow-list--steps .ds-arrow-item__icon { width: 26px; height: 26px; border-radius: 8px; background: rgba(245,124,26,0.16); display: flex; align-items: center; justify-content: center; font-size: 14px; }
.ds-arrow-item__text strong { color: #fff; }

/* Тариф-карточки (pricing, N карточек) */
.ds-tariff-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; max-width: 900px; margin: 0 auto; }
.ds-tariff-card__cta, .ds-price-card__cta { display: block; text-align: center; margin-top: 24px; }

/* Номер способа подачи (filing) */
.ds-send-card__num { color: #F57C1A; font-weight: 800; font-size: 20px; }

/* Ограничения — центрированный широкий бокс */
.ds-limits--wide { max-width: 760px; margin: 0 auto; }

/* Карточка эксперта */
.ds-expert-card { max-width: 720px; margin: 0 auto; display: flex; gap: 28px; align-items: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 32px; }
.ds-expert-card__photo { width: 120px; height: 120px; border-radius: 14px; object-fit: cover; flex-shrink: 0; }
.ds-expert-card__name { display: block; color: #fff; font-weight: 800; font-size: 20px; }
.ds-expert-card__title { margin: 6px 0 0; color: #5fa0ff; font-size: 15px; font-weight: 600; }
.ds-expert-card__desc { margin: 12px 0 0; color: #9db4d0; font-size: 15px; line-height: 1.6; }
.ds-expert-card__checked { margin: 14px 0 0; color: #7f9bc0; font-size: 13px; }
.ds-expert-card__checked-label { font-weight: 600; }

/* Дисклеймер (между экспертом и финальным CTA, тот же #0a2540) */
.ds-disclaimer-wrap { background: #0a2540; padding: 0 64px 40px; }
.ds-disclaimer { max-width: 760px; margin: 0 auto; color: #6f88a8; font-size: 13px; line-height: 1.6; text-align: center; }

/* FAQ-ответ (wp_kses_post rich HTML вместо простого <p> у ДДУ) */
.ds-faq-item__answer { margin: 16px 0 0; color: #9db4d0; font-size: 15px; line-height: 1.6; }
.ds-faq-item__answer p { margin: 0 0 12px; }
.ds-faq-item__answer p:last-child { margin-bottom: 0; }
.ds-faq-item__answer a { color: #5fa0ff; text-decoration: none; }

@media (max-width: 900px) {
  .ds-prose { font-size: 16px; }
  .ds-expert-card { flex-direction: column; text-align: center; padding: 28px 20px; }
  .ds-disclaimer-wrap { padding: 0 20px 32px; }
}

/* ============================================================
   PREVIEW / SUCCESS — Dark reskin (design-preview-success, 2026-07)
   page-preview.php (шаг 2) и page-success.php (шаг 3) — общие для ВСЕХ
   4 услуг (prikaz/zpp/alimony/ddu), гейт dzin_is_dark_page() $is_dark_funnel.
   Стратегия: только цвет/фон/бордер поверх СУЩЕСТВУЮЩИХ .dzin-* классов —
   HTML-структура и id, на которые завязан JS (валидация, DaData, Stage-3
   иска), не менялись. Палитра — та же, что у .di-*/.ds-* (уже тёмный
   ДДУ-intake/лендинг): карточки rgba(255,255,255,.04), текст #fff/--dh-text-sec,
   инпуты как .di-input (bg #0a2540, border rgba(255,255,255,.16)).
   ============================================================ */

.dh-wrap--preview { padding-bottom: 0; }

body.dzin-dark-preview .dzin-preview,
body.dzin-dark-success .dzin-success {
  background: var(--dh-bg);
  min-height: 100vh;
  padding: 24px 0 64px;
  font-family: var(--dh-font);
}

/* --- 3-step progress --- */
body.dzin-dark-preview .dzin-intake-progress__step,
body.dzin-dark-success .dzin-intake-progress__step { color: var(--dh-text-muted); }
body.dzin-dark-preview .dzin-intake-progress__step.is-active,
body.dzin-dark-success .dzin-intake-progress__step.is-active { color: #fff; }
body.dzin-dark-preview .dzin-intake-progress__step.is-done,
body.dzin-dark-success .dzin-intake-progress__step.is-done { color: var(--dh-green); }
body.dzin-dark-preview .dzin-intake-progress__num,
body.dzin-dark-success .dzin-intake-progress__num {
  background: var(--dh-bg);
  border-color: rgba(255,255,255,0.25);
  color: var(--dh-text-muted);
}
body.dzin-dark-preview .dzin-intake-progress__step.is-active .dzin-intake-progress__num,
body.dzin-dark-success .dzin-intake-progress__step.is-active .dzin-intake-progress__num {
  background: var(--dh-primary);
  border-color: var(--dh-primary);
  color: #fff;
}
body.dzin-dark-preview .dzin-intake-progress__step.is-done .dzin-intake-progress__num,
body.dzin-dark-success .dzin-intake-progress__step.is-done .dzin-intake-progress__num {
  background: var(--dh-green);
  border-color: var(--dh-green);
  color: #0a2540;
}
body.dzin-dark-preview .dzin-intake-progress__bar,
body.dzin-dark-success .dzin-intake-progress__bar { background: rgba(255,255,255,0.12); }
body.dzin-dark-preview .dzin-intake-progress__fill,
body.dzin-dark-success .dzin-intake-progress__fill { background: var(--dh-primary); }

/* --- CTA button — тот же оранжевый язык, что у dh-btn-orange/ds-* --- */
body.dzin-dark-preview .dzin-cta-btn,
body.dzin-dark-success .dzin-cta-btn {
  background: var(--dh-orange);
  color: #fff;
}
body.dzin-dark-preview .dzin-cta-btn:hover,
body.dzin-dark-success .dzin-cta-btn:hover { background: var(--dh-orange); filter: brightness(1.07); }
body.dzin-dark-preview .dzin-cta-btn--outline-blue,
body.dzin-dark-success .dzin-cta-btn--outline-blue {
  background: transparent;
  border-color: var(--dh-blue-lt);
  color: var(--dh-blue-lt);
}
body.dzin-dark-preview .dzin-cta-btn--outline-blue:hover,
body.dzin-dark-success .dzin-cta-btn--outline-blue:hover {
  background: rgba(95,160,255,0.12);
  color: #fff;
}

/* --- Scenario badges (срок соблюдён / истёк) --- */
body.dzin-dark-preview .dzin-scenario--ok { background: rgba(79,208,138,0.12); }
body.dzin-dark-preview .dzin-scenario--expired { background: rgba(245,124,26,0.14); }
body.dzin-dark-preview .dzin-scenario strong { color: #fff; }
body.dzin-dark-preview .dzin-scenario p { color: var(--dh-text-sec); }

/* --- Preview doc wrapper + form fields (mirrors .di-field/.di-label/.di-input) --- */
body.dzin-dark-preview .dzin-preview-doc { background: transparent; box-shadow: none; max-width: none; }
body.dzin-dark-preview .dzin-preview-section__title,
body.dzin-dark-success .dzin-success__title { color: #fff; }
body.dzin-dark-preview .dzin-preview-section__subtitle { color: var(--dh-text-sec); }
body.dzin-dark-preview .dzin-form-field__label,
body.dzin-dark-success .dzin-form-field__label { color: #cfe0f5; }
body.dzin-dark-preview .dzin-form-field__input,
body.dzin-dark-success .dzin-form-field__input {
  background: #0a2540;
  border: 1px solid rgba(255,255,255,0.16);
  color: #fff;
}
body.dzin-dark-preview .dzin-form-field__input::placeholder,
body.dzin-dark-success .dzin-form-field__input::placeholder { color: var(--dh-text-muted); }
body.dzin-dark-preview .dzin-form-field__input:focus,
body.dzin-dark-success .dzin-form-field__input:focus { border-color: var(--dh-blue-lt); }
body.dzin-dark-preview .dzin-form-field__hint,
body.dzin-dark-success .dzin-form-field__hint { color: var(--dh-text-muted); }
body.dzin-dark-preview .dzin-form-field__error,
body.dzin-dark-success .dzin-form-field__error { color: #ff9b8a; }
body.dzin-dark-preview .dzin-expired-fields select.dzin-form-field__input,
body.dzin-dark-preview .dzin-expired-fields select.dzin-form-field__input option { color: #fff; background: #0a2540; }
body.dzin-dark-preview .dzin-checkbox-inline { color: #cfe0f5; }

/* --- Expired fields (ходатайство) --- */
body.dzin-dark-preview .dzin-expired-fields {
  background: rgba(245,124,26,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-left: 4px solid var(--dh-orange);
}
body.dzin-dark-preview .dzin-expired-fields__title { color: #fff; }

/* --- Trust/lawyer box + Stage-3 info/review boxes (mirror .ds-card language) --- */
body.dzin-dark-preview .dzin-preview__lawyer,
body.dzin-dark-preview .dzin-preview__stage3-info,
body.dzin-dark-preview .dzin-preview__stage3-review {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
}
body.dzin-dark-preview .dzin-preview__lawyer-label,
body.dzin-dark-preview .dzin-preview__lawyer-hint,
body.dzin-dark-preview .dzin-preview__stage3-info,
body.dzin-dark-preview .dzin-preview__stage3-info-penalty-delta,
body.dzin-dark-preview .dzin-preview__stage3-review { color: #cfe0f5; }
body.dzin-dark-preview .dzin-preview__guarantee { color: var(--dh-text-sec); }

/* --- Replaces 3 previously inline-styled JS blocks (KANBAN [development/low]) —
   dadata-notice / stage3 deadline warning / stage3 submit error — now
   class-based so dark mode applies. See page-preview.php submitOrder()/
   setVal()/refreshStage3(). Old inline style.cssText assignments removed. --- */
body.dzin-dark-preview .dzin-dadata-notice {
  margin: 0 0 12px; padding: 8px 12px; font-size: 13px; line-height: 1.4;
  color: #bdf3d2; background: rgba(79,208,138,0.12); border: 1px solid rgba(79,208,138,0.35); border-radius: 8px;
}
body.dzin-dark-preview .dzin-notice-warning {
  margin: 0 0 16px; padding: 12px 14px; border-left: 4px solid var(--dh-orange);
  background: rgba(245,124,26,0.1); border-radius: 6px; font-size: 14px; line-height: 1.45; color: #ffd9ad;
}
body.dzin-dark-preview .dzin-notice-error { color: #ff9b8a; margin: 8px 0 0; font-size: 14px; }
body.dzin-dark-preview .dzin-form-error-banner {
  margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.45;
  color: #ffb3a8; background: rgba(255,80,60,0.12); border: 1px solid rgba(255,80,60,0.3);
}

/* --- Waiting / fallback --- */
body.dzin-dark-preview .dzin-fallback,
body.dzin-dark-success .dzin-fallback { background: rgba(255,255,255,0.04); }
body.dzin-dark-preview .dzin-fallback h2,
body.dzin-dark-success .dzin-fallback h2 { color: #fff; }
body.dzin-dark-preview .dzin-fallback p,
body.dzin-dark-success .dzin-fallback p,
body.dzin-dark-success .dzin-verifying p { color: var(--dh-text-sec); }
body.dzin-dark-preview .dzin-waiting__spinner,
body.dzin-dark-success .dzin-waiting__spinner {
  border-color: rgba(255,255,255,0.15);
  border-top-color: var(--dh-blue-lt);
}

/* --- Success page --- */
body.dzin-dark-success .dzin-success__subtitle { color: var(--dh-text-sec); }
body.dzin-dark-success .dzin-success__download-card,
body.dzin-dark-success .dzin-postpay-form {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
}
body.dzin-dark-success .dzin-success__filename { color: #fff; }
body.dzin-dark-success .dzin-success__expiry,
body.dzin-dark-success .dzin-postpay-form__info { color: var(--dh-text-sec); }
body.dzin-dark-success .dzin-postpay-form__skip { color: var(--dh-blue-lt); }
body.dzin-dark-success .dzin-success__instructions h3,
body.dzin-dark-success .dzin-ddu-delivery__title,
body.dzin-dark-success .dzin-ddu-delivery__body strong,
body.dzin-dark-success .dzin-ddu-deadline__label,
body.dzin-dark-success .dzin-ddu-sent-date__label { color: #fff; }
body.dzin-dark-success .dzin-success__steps li,
body.dzin-dark-success .dzin-ddu-delivery__body p,
body.dzin-dark-success .dzin-ddu-deadline__body p,
body.dzin-dark-success .dzin-ddu-deadline__source,
body.dzin-dark-success .dzin-ddu-sent-date__hint,
body.dzin-dark-success .dzin-ddu-sent-date__skip,
body.dzin-dark-success .dzin-success__bot p { color: var(--dh-text-sec); }
body.dzin-dark-success .dzin-success__steps a { color: var(--dh-blue-lt); }

/* DDU: delivery methods / deadline / sent-date */
body.dzin-dark-success .dzin-ddu-delivery__method {
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
}
body.dzin-dark-success .dzin-ddu-delivery__method--recommended {
  border-color: var(--dh-primary);
  background: rgba(26,110,245,0.08);
}
body.dzin-dark-success .dzin-ddu-delivery__warn { color: #ffb877 !important; }
body.dzin-dark-success .dzin-ddu-deadline {
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
}
body.dzin-dark-success .dzin-ddu-deadline__date { color: var(--dh-blue-lt); }
body.dzin-dark-success .dzin-ddu-deadline__estimated { color: #ffb877 !important; }
body.dzin-dark-success .dzin-ddu-sent-date { border: 1px dashed rgba(255,255,255,0.2); }
body.dzin-dark-success .dzin-ddu-sent-date__input { color: #fff; }
body.dzin-dark-success .dzin-ddu-sent-date__success { color: var(--dh-green); }

/* Suit CTA + payment error */
body.dzin-dark-success .dzin-success__suit-cta h3,
body.dzin-dark-success .dzin-payment-error h2 { color: #fff; }
body.dzin-dark-success .dzin-success__suit-cta p { color: var(--dh-text-sec); }
body.dzin-dark-success .dzin-payment-error h2 { color: #ff9b8a; }
body.dzin-dark-success .dzin-payment-error p { color: var(--dh-text-sec); }

@media (max-width: 768px) {
  .dh-wrap--preview .dh-nav { padding: 16px 20px; }
}

/* ============================================================
   INTAKE FORM (prikaz/zpp/alimony + иск ДДУ stage-3) — di- dark reskin
   Redesign 2026 Фаза 2. Оболочка di- (как page-intake-ddu.php), но ВСЕ
   хуки intake-form.js (dzin-form-*, id) сохранены — меняется только
   презентация. Всё scoped под body.dzin-dark-intake → ноль пересечения
   с инлайн-di- ДДУ-формы (та живёт только на своей странице).
   ponytail: значения di- продублированы намеренно (изоляция от живой
   ДДУ-формы важнее DRY на конверсионной странице).
   ============================================================ */

/* Kadence chrome off + full-bleed */
body.dzin-dark-intake #masthead,
body.dzin-dark-intake .site-header,
body.dzin-dark-intake .kadence-sticky-header,
body.dzin-dark-intake .kadence-top-header,
body.dzin-dark-intake #colophon,
body.dzin-dark-intake .site-footer { display: none !important; }
body.dzin-dark-intake #wrapper,
body.dzin-dark-intake #inner-wrap,
body.dzin-dark-intake .content-area,
body.dzin-dark-intake #primary { padding: 0 !important; margin: 0 !important; }
body.dzin-dark-intake, body.dzin-dark-intake #wrapper { background: #0a2540; }

/* di- shell */
.dzin-dark-intake .di-header { background: linear-gradient(180deg,#0a2540 0%,#0c2d57 100%); padding: 18px 64px 40px; }
.dzin-dark-intake .di-header__h1 { margin: 8px 0 0; color: #fff; font-weight: 800; font-size: clamp(26px,4vw,38px); line-height: 1.1; letter-spacing: -0.02em; }
.dzin-dark-intake .di-header__lead { margin: 12px 0 0; color: #9db4d0; font-size: 17px; line-height: 1.5; max-width: 640px; }
.dzin-dark-intake .di-body { background: #0a2540; padding: 40px 64px 80px; }
.dzin-dark-intake .di-grid { display: grid; grid-template-columns: 1fr 340px; gap: 32px; align-items: start; }
.dzin-dark-intake .di-form-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 20px; padding: 36px; }
.dzin-dark-intake .di-sidebar { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; }
.dzin-dark-intake .di-trust-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 18px; padding: 22px; }
.dzin-dark-intake .di-trust-card__row { display: flex; align-items: center; gap: 11px; color: #cfe0f5; font-size: 14px; line-height: 1.4; padding: 9px 0; }
.dzin-dark-intake .di-trust-card__row svg { flex-shrink: 0; }
.dzin-dark-intake .di-trust-card__row + .di-trust-card__row { border-top: 1px solid rgba(255,255,255,0.07); }

/* inner form container — снять светлую карточку (карточка теперь .di-form-card) */
.dzin-dark-intake .dzin-form { background: transparent; box-shadow: none; border: none; padding: 0; margin: 0; }

/* form fields (JS-generated dzin-form-*) → di- вид */
.dzin-dark-intake .dzin-form-step__title,
.dzin-dark-intake .dzin-form-step__title--sub { color: #fff; }
.dzin-dark-intake .dzin-form-field__label { color: #cfe0f5; font-size: 14px; font-weight: 600; }
.dzin-dark-intake .dzin-form-field__input,
.dzin-dark-intake textarea.dzin-form-field__input,
.dzin-dark-intake select.dzin-form-field__input { background: #0a2540; border: 1px solid rgba(255,255,255,0.16); color: #fff; }
.dzin-dark-intake .dzin-form-field__input::placeholder { color: #5a728f; }
.dzin-dark-intake .dzin-form-field__input:focus { border-color: #5fa0ff; }
.dzin-dark-intake select.dzin-form-field__input option { background: #0a2540; color: #fff; }
.dzin-dark-intake .dzin-form-field__input::-webkit-calendar-picker-indicator { filter: invert(0.7); }
.dzin-dark-intake .dzin-form-field__hint { color: #7f9bc0; }
.dzin-dark-intake .dzin-form-field__error { color: #ff9b8a; }
.dzin-dark-intake .dzin-form-field.is-error .dzin-form-field__input { border-color: #ff9090; }
.dzin-dark-intake .dzin-form-radio { color: #cfe0f5; }
.dzin-dark-intake .dzin-form-radio input { accent-color: #F57C1A; }
.dzin-dark-intake .dzin-manual-fields-inner { color: #cfe0f5; }

/* trust bar (in-card) */
.dzin-dark-intake .dzin-trust-bar__item { color: #9db4d0; }

/* upload zone → di-drop вид */
.dzin-dark-intake .dzin-form-upload { border: 2px dashed rgba(95,160,255,0.4); border-radius: 14px; background: transparent; }
.dzin-dark-intake .dzin-form-upload:hover { border-color: #5fa0ff; background: rgba(95,160,255,0.06); }
.dzin-dark-intake .dzin-form-upload__title { color: #fff; }
.dzin-dark-intake .dzin-form-upload__hint { color: #7f9bc0; }
.dzin-dark-intake .dzin-form-upload__icon { stroke: #5fa0ff; }
.dzin-dark-intake .dzin-form-upload__skip { color: #9db4d0; }
.dzin-dark-intake .dzin-form-upload__filename { color: #cfe0f5; }
.dzin-dark-intake .dzin-form-upload__progress { background: rgba(255,255,255,0.1); }
.dzin-dark-intake .dzin-form-upload__progress-fill { background: #5fa0ff; }
.dzin-dark-intake .dzin-form-back a { color: #5fa0ff; }

/* OCR loading */
.dzin-dark-intake .dzin-ocr-loading__stage { color: #cfe0f5; }
.dzin-dark-intake .dzin-ocr-loading__progress { background: rgba(255,255,255,0.1); }
.dzin-dark-intake .dzin-ocr-loading__progress-fill { background: #5fa0ff; }

/* consent + submit */
.dzin-dark-intake .dzin-form-checkbox__text { color: #9db4d0; }
.dzin-dark-intake .dzin-form-checkbox__link { color: #5fa0ff; }
.dzin-dark-intake .dzin-form-checkbox__box { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.3); }
.dzin-dark-intake .dzin-cta-btn { background: #F57C1A; color: #fff; }
.dzin-dark-intake .dzin-cta-btn:hover { filter: brightness(1.07); }

/* doc-guide (иск ДДУ stage-3) */
.dzin-dark-intake .ddu-doc-guide { background: rgba(95,160,255,0.08); border: 1px solid rgba(95,160,255,0.22); border-radius: 12px; }
.dzin-dark-intake .ddu-doc-guide__title,
.dzin-dark-intake .ddu-doc-guide__item strong { color: #fff; }
.dzin-dark-intake .ddu-doc-guide__item { color: #cfe0f5; }
.dzin-dark-intake .ddu-doc-guide__muted { color: #7f9bc0; }
.dzin-dark-intake .ddu-doc-guide__footer { color: #9db4d0; }

/* progress (общий helper dzin_render_intake_progress) — как preview/success */
.dzin-dark-intake .dzin-intake-progress__step { color: #7f9bc0; }
.dzin-dark-intake .dzin-intake-progress__step.is-active { color: #fff; }
.dzin-dark-intake .dzin-intake-progress__step.is-done { color: #40c482; }
.dzin-dark-intake .dzin-intake-progress__num { background: #0a2540; border-color: rgba(255,255,255,0.25); color: #7f9bc0; }
.dzin-dark-intake .dzin-intake-progress__step.is-active .dzin-intake-progress__num { background: #1A6EF5; border-color: #1A6EF5; color: #fff; }
.dzin-dark-intake .dzin-intake-progress__step.is-done .dzin-intake-progress__num { background: #40c482; border-color: #40c482; color: #0a2540; }
.dzin-dark-intake .dzin-intake-progress__bar { background: rgba(255,255,255,0.12); }
.dzin-dark-intake .dzin-intake-progress__fill { background: #1A6EF5; }

/* responsive */
@media (max-width: 1000px) {
  .dzin-dark-intake .di-grid { grid-template-columns: 1fr; }
  .dzin-dark-intake .di-sidebar { position: static; }
  .dzin-dark-intake .di-body { padding: 32px 28px 60px; }
}
@media (max-width: 600px) {
  .dzin-dark-intake .di-header { padding: 16px 20px 28px; }
  .dzin-dark-intake .di-body { padding: 24px 16px 48px; }
  .dzin-dark-intake .di-form-card { padding: 22px 16px; }
}

/* ============================================================
   UTILITY / STATIC PAGES — Фаза 3 (2026-07)
   kontakty · faq · ekspert · archive-microservice (/uslugi/) ·
   kalkulyatory (хаб) · oferta · politika · soglasie.
   Полный тёмный shell: dh-nav (партиал) + dh-page-hero + контент +
   dh-footer (партиал). Kadence-хром скрыт. Контент scoped под
   body.dzin-dark-util. Переиспользует dh-scard / dh-btn-* / dh-cta-section.
   ============================================================ */
.dzin-dark-util #masthead,
.dzin-dark-util .site-header,
.dzin-dark-util .kadence-sticky-header,
.dzin-dark-util .kadence-top-header,
.dzin-dark-util #colophon,
.dzin-dark-util .site-footer { display: none !important; }

.dzin-dark-util #wrapper,
.dzin-dark-util #inner-wrap,
.dzin-dark-util .content-area,
.dzin-dark-util #primary,
.dzin-dark-util #main {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.dzin-dark-util { background: var(--dh-bg); }

/* hero: dh-page-hero даёт h1-полосу; util-страницы добавляют подзаголовок */
.dh-page-hero__lead {
  margin: 15px auto 0;
  color: var(--dh-text-sec);
  font-size: 18px;
  line-height: 1.6;
  max-width: 620px;
}

/* контент-обёртка на тёмном фоне (ds-section даёт вертикальные отступы) */
.dh-usection { padding: 56px 64px 74px; background: var(--dh-bg); }
.dh-util { max-width: 880px; margin: 0 auto; }
.dh-util--wide { max-width: 1120px; }

/* ссылки внутри util-контента */
.dh-util a { color: var(--dh-blue-lt); text-decoration: none; }
.dh-util a:hover { text-decoration: underline; }

/* auto-fit грид карточек (архив услуг, хаб калькуляторов) — переиспользует dh-scard */
.dh-ugrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
}
.dh-ugrid + .dh-ugrid { margin-top: 40px; }
.dh-ugrid__heading { color: #fff; font-weight: 800; font-size: 24px; letter-spacing: -0.02em; margin: 0 0 4px; }
.dh-ugrid__eyebrow { color: var(--dh-blue-lt); font-weight: 700; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; }
.dh-scard--soon { opacity: 0.62; }
.dh-scard__features { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.dh-scard__features li { color: var(--dh-text-sec); font-size: 13px; line-height: 1.4; padding-left: 16px; position: relative; }
.dh-scard__features li::before { content: "•"; position: absolute; left: 2px; color: var(--dh-blue-lt); }

/* панель-карточка (контакты, эксперт-проверка) */
.dh-ucard {
  background: var(--dh-card-bg);
  border: var(--dh-card-border);
  border-radius: 18px;
  padding: 32px;
}
.dh-ucard__title { margin: 0 0 18px; color: #fff; font-weight: 800; font-size: 22px; letter-spacing: -0.01em; }
.dh-ulist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; color: var(--dh-text-sec); font-size: 16px; line-height: 1.6; }
.dh-ulist strong { color: #fff; font-weight: 700; }
.dh-unote { margin: 18px 0 0; color: var(--dh-text-muted); font-size: 14px; line-height: 1.6; }
.dh-ucta { margin-top: 24px; }

/* контакты / услуги-проверка: 2 колонки */
.dh-ugrid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }

/* эксперт */
.dh-expert-card { display: flex; gap: 24px; align-items: center; }
.dh-expert-card__photo { width: 120px; height: 120px; border-radius: 16px; object-fit: cover; flex-shrink: 0; border: 1px solid rgba(255,255,255,0.12); }
.dh-expert-card__name { display: block; color: #fff; font-weight: 800; font-size: 22px; }
.dh-expert-card__role { margin: 6px 0 0; color: var(--dh-blue-lt); font-size: 15px; font-weight: 600; }
.dh-expert-card__desc { margin: 12px 0 0; color: var(--dh-text-sec); font-size: 15px; line-height: 1.6; }

/* проза (юридические страницы, faq-интро) */
.dh-prose { color: var(--dh-text-sec); font-size: 16px; line-height: 1.75; }
.dh-prose h2 { color: #fff; font-weight: 800; font-size: 22px; letter-spacing: -0.01em; margin: 36px 0 14px; }
.dh-prose h2:first-child { margin-top: 0; }
.dh-prose p { margin: 0 0 14px; }
.dh-prose ul, .dh-prose ol { margin: 0 0 16px; padding-left: 22px; }
.dh-prose li { margin: 0 0 8px; }
.dh-prose strong { color: #fff; }
.dh-prose__updated { margin-top: 32px; color: var(--dh-text-muted); font-size: 14px; }

@media (max-width: 900px) {
  .dh-ugrid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .dh-usection { padding: 36px 20px 56px; }
  .dh-ucard { padding: 24px; }
  .dh-expert-card { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* ссылка в подзаголовке hero (faq: «сервисы Dzin.pro») */
.dh-page-hero__lead a { color: var(--dh-blue-lt); text-decoration: none; }
.dh-page-hero__lead a:hover { text-decoration: underline; }

/* бейдж «Популярное» на сервис-карточке архива */
.dh-scard__badge {
  align-self: flex-start;
  background: rgba(245,124,26,0.16);
  color: var(--dh-orange-lt);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  padding: 5px 12px;
  border-radius: 999px;
}
