/* ═══════════════════════════════════════════════════════
   КРИМПАЛ СЕРТ — Dark + Gold Theme v2
   ═══════════════════════════════════════════════════════ */
:root {
  --c-bg:     #0A0A0A;
  --c-bg2:    #111111;
  --c-card:   #161616;
  --c-card2:  #1E1E1E;
  --c-border: #242424;
  --c-gold:   #C9A84C;
  --c-gold-rgb: 201, 168, 76;
  --c-gold2:  #E8C96A;
  --c-gold3:  #A07830;
  --c-text:   #E2E2E2;
  --c-muted:  #707070;
  --c-white:  #FFFFFF;
}
*, *::before, *::after { box-sizing: border-box; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--c-gold); }

/* ── Animations ─────────────────────────────────────── */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
@keyframes pulse-gold {
  0%,100% { box-shadow: 0 0 0 0 rgba(var(--c-gold-rgb),.4); }
  50%      { box-shadow: 0 0 0 12px rgba(var(--c-gold-rgb),0); }
}
@keyframes float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes sweep {
  from { left: -100%; }
  to   { left: 100%; }
}

/* Scroll reveal */
.cr-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1),
              transform .7s cubic-bezier(.16,1,.3,1);
}
.cr-reveal.cr-visible { opacity: 1; transform: none; }
.cr-d1 { transition-delay: .1s; }
.cr-d2 { transition-delay: .2s; }
.cr-d3 { transition-delay: .3s; }
.cr-d4 { transition-delay: .4s; }

/* ── Global ──────────────────────────────────────────── */
html, body {
  background: var(--c-bg) !important;
  color: var(--c-text) !important;
  font-family: 'Inter', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* ── FULL WIDTH FIXES (Astra container overrides) ────── */
/* Remove Astra's max-width constraints on page content */
.ast-page-builder-template .site-content,
.ast-page-builder-template #content,
.ast-page-builder-template .content-area,
.ast-page-builder-template .entry-content,
#content .ast-container,
.entry-content,
.post-type-page .entry-content,
.page-template-page-builder #content,
.page-template-page-builder .entry-content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Astra content layout - full width */
.ast-separate-container .site-content,
.ast-plain-container .site-content {
  padding: 0 !important;
}
.site-content .ast-container,
.ast-container.ast-grid-row {
  max-width: 100% !important;
  padding: 0 !important;
}
/* Remove padding from content wrapper */
.content-area { padding: 0 !important; float: none !important; width: 100% !important; }
.widget-area { display: none !important; }
.ast-article-post, .hentry {
  margin: 0 !important;
  padding: 0 !important;
}
/* Kill entry header (page title "Главная" etc.) */
.entry-header { display: none !important; }
.ast-breadcrumbs-wrapper { display: none !important; }
/* ── ASTRA BLOCKS-LAYOUT MAX-WIDTH OVERRIDE ─────────────── */
/* Astra rule .entry-content[data-ast-blocks-layout] > * sets max-width on all */
/* direct children. Override it for all our custom sections. */
.entry-content[data-ast-blocks-layout] > .cr-hero,
.entry-content[data-ast-blocks-layout] > .cr-marquee-wrap,
.entry-content[data-ast-blocks-layout] > .cr-section,
.entry-content[data-ast-blocks-layout] > .cr-footer,
.entry-content[data-ast-blocks-layout] > .crimpal-footer,
.entry-content[data-ast-blocks-layout] > [class^='cr-'],
.entry-content[data-ast-blocks-layout] > [id='hero'] {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* ── FORM HEADER FIX (hide plugin's built-in header inside cr-hero-card) ── */
/* The plugin renders its own 📋 icon + title — hide it since cr-hero-card wraps it */
.cr-hero-card .crimpal-step-header,
.cr-hero-card .crimpal-step-header h3,
.cr-hero-card .crimpal-step-header p,
.cr-hero-card .crimpal-step-icon { display: none !important; }

/* Also hide step-3 and step-4 headers that duplicate */
.cr-hero-card #crimpal-step-3 .crimpal-step-header h3 { display: block !important; font-size: 1rem !important; color: var(--c-gold) !important; }
.cr-hero-card #crimpal-step-3 .crimpal-step-header p { display: block !important; font-size: .82rem !important; color: var(--c-muted) !important; }
body::after {
  content: ''; position: fixed; inset: 0; z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--c-white) !important; line-height: 1.2;
}
a { color: var(--c-gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--c-gold2); }
p { color: var(--c-text); }

/* ── Astra Header ────────────────────────────────────── */
#masthead, .main-header-bar {
  background: rgba(10,10,10,.85) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  backdrop-filter: blur(20px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.5) !important;
  transition: all .3s !important;
}
.ast-site-identity .site-title,
.ast-site-identity .site-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.35rem !important; font-weight: 700 !important;
  color: var(--c-white) !important; letter-spacing: .5px !important;
}
.ast-site-identity .site-description { display: none !important; }

/* Nav links */
.main-header-menu .menu-item > a,
#ast-desktop-header .menu-item > a {
  color: rgba(226,226,226,.75) !important;
  font-size: .88rem !important; font-weight: 500 !important;
  padding: 8px 14px !important; border-radius: 8px !important;
  transition: all .2s !important;
}
.main-header-menu .menu-item > a:hover,
.main-header-menu .current-menu-item > a {
  color: var(--c-gold) !important;
  background: rgba(255,255,255,.04) !important;
}

/* Header CTA button */
.ast-header-button-1 a, .header-button a,
.ast-header-custom-item a.ast-custom-button {
  background: linear-gradient(135deg, var(--c-gold2), var(--c-gold), var(--c-gold3)) !important;
  color: #000 !important; font-weight: 700 !important;
  border-radius: 8px !important; padding: 10px 22px !important;
  box-shadow: 0 4px 16px rgba(var(--c-gold-rgb),.3) !important;
  transition: all .25s !important;
}

/* ── Page content area ───────────────────────────────── */
#page, #content, .site-content,
.ast-page-builder-template #content,
.entry-content, .wp-block-group {
  background: var(--c-bg) !important;
  position: relative; z-index: 1;
}
.ast-page-builder-template #content { padding: 0 !important; }

/* Hide Astra page title on front page */
.home .ast-breadcrumbs-wrapper,
.home .entry-header,
.home .ast-container > .entry-header,
.home .page-title,
.home .ast-page-title { display: none !important; }

/* ── Buttons ─────────────────────────────────────────── */
.cr-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600; font-size: .92rem; letter-spacing: .3px;
  padding: 14px 28px; border-radius: 10px;
  cursor: pointer; transition: all .25s; text-decoration: none;
  position: relative; overflow: hidden; border: none;
}
.cr-btn::before {
  content: ''; position: absolute;
  top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transition: left .5s;
}
.cr-btn:hover::before { left: 100%; }

.cr-btn-gold {
  background: linear-gradient(135deg, var(--c-gold2) 0%, var(--c-gold) 60%, var(--c-gold3) 100%);
  color: #000 !important;
  box-shadow: 0 4px 24px rgba(var(--c-gold-rgb),.35), inset 0 1px 0 rgba(255,255,255,.2);
}
.cr-btn-gold:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 32px rgba(var(--c-gold-rgb),.5) !important; color: #000 !important; }
.cr-btn-ghost {
  background: transparent !important;
  border: 1px solid rgba(var(--c-gold-rgb),.4) !important;
  color: var(--c-gold) !important;
}
.cr-btn-ghost:hover { background: rgba(var(--c-gold-rgb),.08) !important; border-color: rgba(var(--c-gold-rgb),.7) !important; color: var(--c-gold2) !important; }

/* ── Hero ────────────────────────────────────────────── */
.cr-hero {
  min-height: 100vh; display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 100px 48px 60px;
}
.cr-hero-blob {
  position: absolute; border-radius: 50%;
  filter: blur(80px); pointer-events: none;
}
.cr-hero-blob-1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(var(--c-gold-rgb),.11) 0%, transparent 70%);
  top: -100px; right: -100px;
  animation: float 8s ease-in-out infinite;
}
.cr-hero-blob-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(var(--c-gold-rgb),.05) 0%, transparent 70%);
  bottom: 0; left: 100px;
  animation: float 11s ease-in-out infinite reverse;
}
.cr-hero-grid-lines {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(var(--c-gold-rgb),.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--c-gold-rgb),.025) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 80%);
}
.cr-hero-inner {
  max-width: 1200px; margin: 0 auto; width: 100%;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center;
}
.cr-hero-badge {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1px solid rgba(var(--c-gold-rgb),.35);
  background: rgba(var(--c-gold-rgb),.07);
  color: var(--c-gold); font-size: .73rem; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 7px 16px; border-radius: 100px; margin-bottom: 28px;
}
.cr-hero-badge-dot {
  width: 6px; height: 6px; background: var(--c-gold); border-radius: 50%;
  animation: pulse-gold 2s infinite;
}
.cr-hero-title {
  font-size: clamp(2.4rem, 3.5vw, 3.6rem) !important;
  font-weight: 700 !important; line-height: 1.15 !important;
  color: var(--c-white) !important; margin-bottom: 24px !important;
}
.cr-gold-shimmer {
  background: linear-gradient(135deg, var(--c-gold2) 0%, var(--c-gold) 40%, var(--c-gold3) 70%, var(--c-gold2) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 4s linear infinite;
  display: inline;
}
.cr-hero-sub {
  color: #909090; font-size: 1.05rem; line-height: 1.8;
  max-width: 460px; margin-bottom: 40px;
}
.cr-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 52px; }
.cr-hero-stats {
  display: flex; gap: 36px;
  padding-top: 32px; border-top: 1px solid rgba(255,255,255,.06);
}
.cr-stat-num {
  font-family: 'Playfair Display', serif;
  font-size: 2rem; font-weight: 700;
  background: linear-gradient(135deg, var(--c-gold2), var(--c-gold));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
}
.cr-stat-label { color: var(--c-muted); font-size: .78rem; margin-top: 3px; }

/* Hero card (form wrapper) */
.cr-hero-card {
  background: var(--c-card);
  border: 1px solid var(--c-border);
  border-radius: 20px; padding: 36px;
  position: relative; overflow: hidden;
  animation: borderGlow 4s ease-in-out infinite;
}
@keyframes borderGlow {
  0%,100% { border-color: var(--c-border); }
  50%      { border-color: rgba(var(--c-gold-rgb),.25); }
}
.cr-hero-card::before {
  content: ''; position: absolute;
  top: -1px; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
}
.cr-hero-card::after {
  content: ''; position: absolute; inset: 0; border-radius: 20px; pointer-events: none;
  background: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(var(--c-gold-rgb),.06) 0%, transparent 60%);
}
.cr-card-label {
  font-size: .7rem; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--c-gold);
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.cr-card-label::before {
  content: ''; width: 20px; height: 1px; background: var(--c-gold);
}
.cr-card-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.35rem !important; font-weight: 700 !important;
  color: var(--c-white) !important; margin-bottom: 8px !important;
}
.cr-card-sub { color: var(--c-muted); font-size: .85rem; margin-bottom: 24px; }

/* Crimpal AI form inside hero card */
.cr-hero-card .crimpal-form-wrap,
.cr-hero-card .crimpal-step { position: relative; z-index: 1; }

/* Override crimpal-form.css inputs to match new theme */
.cr-hero-card input[type=text],
.cr-hero-card input[type=email],
.cr-hero-card input[type=tel],
.cr-hero-card textarea,
.cr-hero-card select {
  background: rgba(0,0,0,.4) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: var(--c-text) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  transition: all .2s !important;
}
.cr-hero-card input:focus,
.cr-hero-card textarea:focus {
  border-color: rgba(var(--c-gold-rgb),.5) !important;
  box-shadow: 0 0 0 3px rgba(var(--c-gold-rgb),.08) !important;
  outline: none !important;
}
.cr-hero-card button[type=submit],
.cr-hero-card .crimpal-btn-submit {
  width: 100%; background: linear-gradient(135deg, var(--c-gold2), var(--c-gold), var(--c-gold3)) !important;
  color: #000 !important; font-weight: 700 !important; border: none !important;
  border-radius: 10px !important; padding: 14px !important;
  box-shadow: 0 4px 20px rgba(var(--c-gold-rgb),.3), inset 0 1px 0 rgba(255,255,255,.2) !important;
  cursor: pointer; transition: all .25s !important; overflow: hidden; position: relative;
}

/* ── Marquee ─────────────────────────────────────────── */
.cr-marquee-wrap {
  background: var(--c-card);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  padding: 16px 0; overflow: hidden; position: relative; z-index: 1;
}
.cr-marquee-inner {
  display: flex; gap: 0; animation: marquee 28s linear infinite;
  width: max-content;
}
.cr-marquee-item {
  display: flex; align-items: center; gap: 12px;
  padding: 0 28px; white-space: nowrap;
  font-size: .78rem; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--c-muted);
}
.cr-marquee-item span { color: var(--c-gold); }
.cr-marquee-sep { color: rgba(var(--c-gold-rgb),.35); font-size: 1rem; }

/* ── Section base ────────────────────────────────────── */
.cr-section { padding: 100px 48px; position: relative; z-index: 1; }
.cr-section-dark { background: var(--c-bg2); }
.cr-container { max-width: 1200px; margin: 0 auto; }
.cr-section-label {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--c-gold); font-size: .72rem; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 16px;
}
.cr-section-label::before {
  content: ''; display: block; width: 24px; height: 2px;
  background: linear-gradient(90deg, var(--c-gold), transparent); border-radius: 2px;
}
.cr-section-title {
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  font-weight: 700 !important; color: var(--c-white) !important;
  line-height: 1.2 !important; margin-bottom: 16px !important;
}
.cr-section-sub { color: var(--c-muted); font-size: .97rem; max-width: 520px; }

/* ── Service cards ───────────────────────────────────── */
.cr-services-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px;
}
.cr-service-card {
  background: var(--c-card); border: 1px solid var(--c-border);
  border-radius: 16px; padding: 28px;
  position: relative; overflow: hidden;
  transition: all .35s cubic-bezier(.16,1,.3,1); cursor: pointer;
}
.cr-service-card::after {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
  transform: scaleX(0); transform-origin: center; transition: transform .35s;
}
.cr-service-card:hover {
  border-color: rgba(var(--c-gold-rgb),.3); transform: translateY(-6px);
  background: var(--c-card2);
  box-shadow: 0 20px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--c-gold-rgb),.1);
}
.cr-service-card:hover::after { transform: scaleX(1); }
.cr-svc-icon {
  width: 52px; height: 52px; border-radius: 12px;
  background: rgba(var(--c-gold-rgb),.08); border: 1px solid rgba(var(--c-gold-rgb),.2);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px; transition: all .3s;
}
.cr-svc-icon svg { width: 24px; height: 24px; fill: none; stroke: var(--c-gold); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cr-service-card:hover .cr-svc-icon {
  background: rgba(var(--c-gold-rgb),.15); border-color: rgba(var(--c-gold-rgb),.4);
  box-shadow: 0 0 20px rgba(var(--c-gold-rgb),.15);
}
.cr-svc-tag {
  font-size: .68rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--c-gold); background: rgba(var(--c-gold-rgb),.08); border: 1px solid rgba(var(--c-gold-rgb),.2);
  padding: 3px 10px; border-radius: 100px; display: inline-block; margin-bottom: 12px;
}
.cr-svc-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important; font-weight: 600 !important;
  color: var(--c-white) !important; margin-bottom: 10px !important; line-height: 1.3 !important;
}
.cr-svc-text { color: var(--c-muted); font-size: .85rem; line-height: 1.65; }
.cr-svc-meta {
  display: flex; gap: 16px; margin-top: 20px;
  padding-top: 16px; border-top: 1px solid rgba(255,255,255,.05);
}
.cr-svc-meta-item { font-size: .8rem; }
.cr-svc-meta-item strong { display: block; color: var(--c-text); font-size: .88rem; margin-bottom: 2px; }
.cr-svc-meta-item span { color: var(--c-muted); }

/* ── Why grid ────────────────────────────────────────── */
.cr-why-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; margin-top: 52px; margin-bottom: 52px;
}
.cr-why-item {
  background: var(--c-card); border: 1px solid var(--c-border);
  padding: 36px 24px; text-align: center;
  position: relative; overflow: hidden; transition: all .3s;
}
.cr-why-item:first-child { border-radius: 16px 0 0 16px; }
.cr-why-item:last-child  { border-radius: 0 16px 16px 0; }
.cr-why-item:hover { background: var(--c-card2); z-index: 2; }
.cr-why-item::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
  opacity: 0; transition: opacity .3s;
}
.cr-why-item:hover::after { opacity: 1; }
.cr-why-icon {
  width: 56px; height: 56px; margin: 0 auto 20px;
  background: rgba(var(--c-gold-rgb),.1); border: 1px solid rgba(var(--c-gold-rgb),.25);
  border-radius: 14px; display: flex; align-items: center; justify-content: center;
  transition: all .3s;
}
.cr-why-icon svg { width: 26px; height: 26px; fill: none; stroke: var(--c-gold); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cr-why-item:hover .cr-why-icon { background: rgba(var(--c-gold-rgb),.18); box-shadow: 0 0 24px rgba(var(--c-gold-rgb),.2); }
.cr-why-num {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem; font-weight: 700;
  background: linear-gradient(135deg, var(--c-gold2), var(--c-gold));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block; margin-bottom: 8px; transition: transform .3s;
}
.cr-why-item:hover .cr-why-num { transform: scale(1.08); }
.cr-why-label { color: var(--c-white); font-weight: 600; font-size: .95rem; margin-bottom: 6px; }
.cr-why-sub { color: var(--c-muted); font-size: .8rem; line-height: 1.5; }

/* Feature cards */
.cr-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.cr-feature-card {
  background: var(--c-card); border: 1px solid var(--c-border);
  border-radius: 14px; padding: 28px 24px; transition: all .3s;
}
.cr-feature-card:hover { border-color: rgba(var(--c-gold-rgb),.25); box-shadow: 0 8px 32px rgba(0,0,0,.3); }
.cr-feature-icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: rgba(var(--c-gold-rgb),.08); border: 1px solid rgba(var(--c-gold-rgb),.18);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.cr-feature-icon svg { width: 22px; height: 22px; fill: none; stroke: var(--c-gold); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cr-feature-title { color: var(--c-white) !important; font-family: 'Inter', sans-serif !important; font-weight: 600; font-size: .95rem; margin-bottom: 8px; }
.cr-feature-text { color: var(--c-muted); font-size: .82rem; line-height: 1.6; }

/* ── Process ─────────────────────────────────────────── */
.cr-process-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; margin-top: 52px; position: relative;
}
.cr-process-grid::after {
  content: ''; position: absolute;
  top: 38px; left: 80px; right: 80px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--c-gold-rgb),.3) 20%, rgba(var(--c-gold-rgb),.3) 80%, transparent);
}
.cr-process-step { text-align: center; padding: 0 20px; }
.cr-process-num {
  width: 64px; height: 64px; margin: 0 auto 20px;
  background: var(--c-card); border: 2px solid var(--c-gold); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem; font-weight: 700; color: var(--c-gold);
  position: relative; z-index: 1;
  box-shadow: 0 0 0 6px var(--c-bg), 0 0 0 7px rgba(var(--c-gold-rgb),.15);
  transition: all .3s;
}
.cr-process-step:hover .cr-process-num {
  background: rgba(var(--c-gold-rgb),.1);
  box-shadow: 0 0 0 6px var(--c-bg), 0 0 20px rgba(var(--c-gold-rgb),.4);
}
.cr-process-title { color: var(--c-white); font-weight: 600; margin-bottom: 8px; font-family: 'Inter', sans-serif; }
.cr-process-text { color: var(--c-muted); font-size: .83rem; line-height: 1.6; }

/* ── Testimonials ────────────────────────────────────── */
.cr-testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
.cr-testi-card {
  background: var(--c-card); border: 1px solid var(--c-border);
  border-radius: 16px; padding: 28px;
  position: relative; overflow: hidden; transition: all .3s;
}
.cr-testi-card::before {
  content: '"'; position: absolute; top: 12px; right: 20px;
  font-family: 'Playfair Display', serif;
  font-size: 5rem; color: rgba(var(--c-gold-rgb),.07); line-height: 1; font-weight: 700;
}
.cr-testi-card:hover { border-color: rgba(var(--c-gold-rgb),.2); transform: translateY(-4px); }
.cr-testi-stars { color: var(--c-gold); font-size: 1rem; letter-spacing: 2px; margin-bottom: 16px; }
.cr-testi-text { color: var(--c-text); font-size: .9rem; line-height: 1.75; margin-bottom: 20px; font-style: italic; }
.cr-testi-author { display: flex; align-items: center; gap: 12px; }
.cr-testi-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(var(--c-gold-rgb),.12); border: 1px solid rgba(var(--c-gold-rgb),.25);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: var(--c-gold); font-size: 1rem; flex-shrink: 0;
}
.cr-testi-name { font-weight: 600; color: var(--c-white); font-size: .88rem; }
.cr-testi-company { color: var(--c-muted); font-size: .78rem; }

/* ── CTA Banner ──────────────────────────────────────── */
.cr-cta-wrap { padding: 80px 48px; position: relative; z-index: 1; }
.cr-cta-box {
  max-width: 1200px; margin: 0 auto;
  background: var(--c-card); border: 1px solid rgba(var(--c-gold-rgb),.2);
  border-radius: 24px; padding: 72px 80px; text-align: center; position: relative; overflow: hidden;
}
.cr-cta-box::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(var(--c-gold-rgb),.05) 0%, transparent 65%);
}
.cr-cta-box::after {
  content: ''; position: absolute;
  top: -1px; left: 15%; right: 15%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
}
.cr-cta-ring {
  position: absolute; border-radius: 50%;
  border: 1px solid rgba(var(--c-gold-rgb),.07); pointer-events: none;
}
.cr-cta-ring-1 { width: 320px; height: 320px; top: -110px; right: -90px; animation: spin-slow 30s linear infinite; }
.cr-cta-ring-2 { width: 220px; height: 220px; bottom: -90px; left: -70px; animation: spin-slow 20s linear infinite reverse; }
.cr-cta-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important; font-weight: 700 !important;
  color: var(--c-white) !important; margin-bottom: 16px !important; position: relative;
}
.cr-cta-sub { color: var(--c-muted); font-size: .97rem; max-width: 500px; margin: 0 auto 36px; position: relative; }
.cr-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; }

/* ── Footer override ─────────────────────────────────── */
.cr-footer { background: #060606 !important; border-top: 1px solid rgba(255,255,255,.05); padding: 64px 48px 0; position: relative; z-index: 1; }
.cr-footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; }
.cr-footer-logo { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; color: var(--c-white); margin-bottom: 12px; display: block; text-decoration: none; }
.cr-footer-logo span { color: var(--c-gold); }
.cr-footer-tagline { color: var(--c-muted); font-size: .85rem; line-height: 1.7; margin-bottom: 24px; }
.cr-footer-contacts a { display: flex; align-items: center; gap: 10px; color: #606060; font-size: .88rem; text-decoration: none; margin-bottom: 10px; transition: color .2s; }
.cr-footer-contacts a:hover { color: var(--c-gold); }
.cr-footer-contacts svg { flex-shrink: 0; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.cr-footer-col-title { color: var(--c-text); font-weight: 600; font-size: .88rem; margin-bottom: 18px; }
.cr-footer-links { list-style: none; padding: 0; margin: 0; }
.cr-footer-links li { margin-bottom: 10px; }
.cr-footer-links a { color: #505050; font-size: .83rem; text-decoration: none; transition: color .2s; }
.cr-footer-links a:hover { color: var(--c-gold); }
.cr-footer-reqs { color: #2a2a2a; font-size: .75rem; margin-top: 16px; }
.cr-footer-mkt { color: #404040; font-size: .82rem; line-height: 2; }
.cr-footer-bottom { max-width: 1200px; margin: 48px auto 0; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.04); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.cr-footer-copy { color: #383838; font-size: .78rem; }
.cr-footer-legal { display: flex; gap: 20px; }
.cr-footer-legal a { color: #383838; font-size: .78rem; text-decoration: none; transition: color .2s; }
.cr-footer-legal a:hover { color: var(--c-muted); }
.cr-footer-pb { padding-bottom: 24px; }

/* ── Hide default Astra footer ───────────────────────── */
#colophon, .site-footer, .ast-small-footer { display: none !important; }

/* ── Inputs global ───────────────────────────────────── */
input[type=text], input[type=email], input[type=tel],
input[type=number], input[type=password], textarea, select {
  background: rgba(0,0,0,.4) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: var(--c-text) !important;
  border-radius: 8px !important; padding: 12px 16px !important;
  font-family: 'Inter', sans-serif !important; transition: all .2s !important;
}
input:focus, textarea:focus, select:focus {
  border-color: rgba(var(--c-gold-rgb),.5) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(var(--c-gold-rgb),.08) !important;
}
label { color: var(--c-muted) !important; font-size: .85rem; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .cr-hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .cr-hero { min-height: auto; padding: 80px 32px 48px; }
  .cr-why-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-why-item:first-child { border-radius: 16px 0 0 0; }
  .cr-why-item:last-child  { border-radius: 0 0 16px 0; }
  .cr-features-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-services-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .cr-section { padding: 64px 20px; }
  .cr-hero { padding: 80px 20px 48px; }
  .cr-services-grid { grid-template-columns: 1fr; }
  .cr-why-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-process-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-process-grid::after { display: none; }
  .cr-testi-grid { grid-template-columns: 1fr; }
  .cr-features-grid { grid-template-columns: 1fr; }
  .cr-cta-wrap { padding: 48px 20px; }
  .cr-cta-box { padding: 48px 28px; }
  .cr-footer { padding: 48px 20px 0; }
  .cr-footer-grid { grid-template-columns: 1fr; gap: 36px; }
}


/* ══════════════════════════════════════════════════════
   CUSTOM CHECKBOX — dark bg + gold checkmark
   ══════════════════════════════════════════════════════ */
.crimpal-field.crimpal-checkbox label,
.crimpal-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
}
.crimpal-field.crimpal-checkbox input[type="checkbox"],
.crimpal-checkbox-label input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important; height: 20px !important;
  min-width: 20px !important;
  background: #141414 !important;
  border: 1.5px solid rgba(var(--c-gold-rgb),.4) !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background .2s, border-color .2s !important;
  margin-top: 1px !important;
  flex-shrink: 0 !important;
}
.crimpal-field.crimpal-checkbox input[type="checkbox"]:hover,
.crimpal-checkbox-label input[type="checkbox"]:hover {
  border-color: var(--c-gold) !important;
  background: rgba(var(--c-gold-rgb),.08) !important;
}
.crimpal-field.crimpal-checkbox input[type="checkbox"]:checked,
.crimpal-checkbox-label input[type="checkbox"]:checked {
  background: linear-gradient(135deg, var(--c-gold2), var(--c-gold), var(--c-gold3)) !important;
  border-color: var(--c-gold) !important;
}
.crimpal-field.crimpal-checkbox input[type="checkbox"]:checked::after,
.crimpal-checkbox-label input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 6px !important; top: 2px !important;
  width: 6px !important; height: 11px !important;
  border: 2.5px solid #000 !important;
  border-top: none !important; border-left: none !important;
  transform: rotate(45deg) !important;
}
.crimpal-field.crimpal-checkbox span,
.crimpal-checkbox-label span {
  color: var(--c-muted) !important;
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

/* ══════════════════════════════════════════════════════
   MOBILE NAV — dark dropdown
   ══════════════════════════════════════════════════════ */
@media (max-width: 921px) {
  /* Mobile hamburger bar */
  .ast-header-break-point .main-header-bar,
  .ast-mobile-header-bar {
    background: rgba(8,8,8,.97) !important;
    border-bottom: 1px solid rgba(var(--c-gold-rgb),.15) !important;
  }
  /* Mobile menu dropdown */
  .ast-header-break-point .main-navigation,
  .ast-mobile-header-wrap .main-navigation {
    background: #0D0D0D !important;
    border-top: 1px solid rgba(var(--c-gold-rgb),.1) !important;
  }
  /* Nav links in mobile */
  .ast-header-break-point .main-navigation .menu-link,
  .ast-header-break-point .main-navigation .menu-item a {
    color: var(--c-text) !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    padding: 14px 20px !important;
  }
  .ast-header-break-point .main-navigation .menu-link:hover,
  .ast-header-break-point .main-navigation .menu-item a:hover {
    color: var(--c-gold) !important;
    background: rgba(var(--c-gold-rgb),.05) !important;
  }
  /* Hamburger icon gold */
  .menu-toggle, .ast-mobile-header-wrap .menu-toggle {
    color: var(--c-gold) !important;
    background: transparent !important;
    border: 1px solid rgba(var(--c-gold-rgb),.3) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
  }
  .menu-toggle svg, .menu-toggle .ast-icon { color: var(--c-gold) !important; }
}

/* ══════════════════════════════════════════════════════
   MOBILE HERO + FORM
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Hero card compact */
  .cr-hero-card {
    padding: 24px 18px !important;
    border-radius: 14px !important;
    margin-top: 0 !important;
  }
  .cr-card-label { font-size: .7rem !important; margin-bottom: 6px !important; }
  .cr-card-title { font-size: 1.3rem !important; margin-bottom: 4px !important; }
  .cr-card-sub { font-size: .8rem !important; margin-bottom: 14px !important; }

  /* Prevent iOS auto-zoom on focus (requires font-size >= 16px) */
  .cr-hero-card input[type=text],
  .cr-hero-card input[type=email],
  .cr-hero-card input[type=tel],
  .cr-hero-card textarea,
  .crimpal-field input,
  .crimpal-field textarea {
    font-size: 16px !important;
  }

  /* Two half-fields stack on mobile */
  .crimpal-field-half {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Tighter field spacing */
  .crimpal-fields { gap: 8px !important; }

  /* Hero section less padding on mobile */
  .cr-hero { padding: 70px 16px 36px !important; }
  .cr-hero-title { font-size: clamp(1.9rem, 7vw, 2.8rem) !important; }
  .cr-hero-sub { font-size: .95rem !important; margin-bottom: 28px !important; }
  .cr-hero-btns { gap: 10px !important; }
  .cr-btn { padding: 12px 20px !important; font-size: .9rem !important; }
  .cr-hero-stats { gap: 20px !important; flex-wrap: wrap !important; }
}

/* ══════════════════════════════════════════════════════
   MOBILE NAV EXTRA — targeted Astra mobile selectors
   ══════════════════════════════════════════════════════ */
@media (max-width: 921px) {
  /* Mobile header bar (logo + hamburger row) */
  #ast-mobile-header .main-header-bar,
  #ast-mobile-header .ast-primary-header-bar,
  .ast-header-break-point #ast-mobile-header {
    background: rgba(8,8,8,.97) !important;
    border-bottom: 1px solid rgba(var(--c-gold-rgb),.15) !important;
  }

  /* Nav dropdown when open */
  .ast-header-break-point .main-navigation {
    background: var(--c-bg) !important;
    border-top: 1px solid rgba(var(--c-gold-rgb),.1) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.6) !important;
  }

  /* Each nav link row */
  .ast-header-break-point .main-navigation ul .menu-item .menu-link {
    color: #D0D0D0 !important;
    border-color: rgba(255,255,255,.06) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: .3px !important;
  }
  .ast-header-break-point .main-navigation ul .menu-item .menu-link:hover,
  .ast-header-break-point .main-navigation ul .menu-item.current-menu-item .menu-link,
  .ast-header-break-point .main-navigation ul .menu-item.current-menu-ancestor .menu-link {
    color: var(--c-gold) !important;
    background: rgba(var(--c-gold-rgb),.06) !important;
  }

  /* Hamburger toggle button */
  button.menu-toggle, .ast-header-break-point .menu-toggle {
    background: rgba(var(--c-gold-rgb),.1) !important;
    border: 1px solid rgba(var(--c-gold-rgb),.35) !important;
    border-radius: 8px !important;
    color: var(--c-gold) !important;
    padding: 8px 12px !important;
  }
  button.menu-toggle svg, .menu-toggle .ast-icon svg {
    fill: var(--c-gold) !important;
    stroke: var(--c-gold) !important;
  }
}

/* ══════════════════════════════════════════════════════
   MOBILE HERO — form + card stacking
   ══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  /* Hero stacks: text above, form below */
  .cr-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .cr-hero {
    padding: 90px 24px 48px !important;
  }
  /* Card fills full width */
  .cr-hero-card {
    max-width: 520px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  .cr-hero { padding: 80px 16px 40px !important; }
  .cr-hero-card {
    max-width: 100% !important;
    padding: 20px 16px !important;
    border-radius: 12px !important;
  }
  .cr-card-title { font-size: 1.25rem !important; }
  .cr-hero-title { font-size: clamp(1.8rem, 8vw, 2.6rem) !important; }
  .cr-hero-btns { flex-direction: column !important; }
  .cr-btn { width: 100% !important; text-align: center !important; justify-content: center !important; }
  .cr-hero-stats { padding-top: 20px !important; flex-wrap: wrap !important; gap: 16px !important; }
  .cr-stat-num { font-size: 1.6rem !important; }
}

/* ============================================
   КРИМПАЛ СЕРТ — стили внутренних страниц
   (Услуги и цены, Контакты, FAQ)
   ============================================ */

/* ---------- Прайс-таблица ---------- */
.cr-price-block { margin-bottom: 48px; }
.cr-price-group {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 3px solid var(--c-gold);
}
.cr-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(var(--c-gold-rgb),.15);
  border-radius: 14px;
  background: rgba(20,20,20,.6);
}
.cr-price-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
  font-size: .92rem;
}
.cr-price-table thead th {
  text-align: left;
  padding: 16px 20px;
  color: var(--c-gold);
  font-weight: 600;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid rgba(var(--c-gold-rgb),.2);
  white-space: nowrap;
}
.cr-price-table tbody td {
  padding: 15px 20px;
  color: #C8C8C8;
  border-bottom: 1px solid rgba(255,255,255,.05);
  vertical-align: middle;
}
.cr-price-table tbody tr:last-child td { border-bottom: none; }
.cr-price-table tbody tr:hover { background: rgba(var(--c-gold-rgb),.04); }
.cr-price-table td:first-child { color: #fff; font-weight: 500; }
.cr-price-table .cr-price {
  color: var(--c-gold);
  font-weight: 700;
  white-space: nowrap;
  font-size: 1rem;
}

/* ---------- Контакты ---------- */
.cr-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.cr-contact-card {
  display: block;
  text-decoration: none;
  background: rgba(20,20,20,.7);
  border: 1px solid rgba(var(--c-gold-rgb),.15);
  border-radius: 16px;
  padding: 32px 28px;
  transition: transform .25s, border-color .25s, background .25s;
}
.cr-contact-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--c-gold-rgb),.45);
  background: rgba(28,24,16,.8);
}
.cr-contact-icon {
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: rgba(var(--c-gold-rgb),.12);
  margin-bottom: 18px;
}
.cr-contact-icon svg { width: 24px; height: 24px; color: var(--c-gold); }
.cr-contact-label { color: #888; font-size: .8rem; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.cr-contact-value { color: #fff; font-size: 1.25rem; font-weight: 600; margin-bottom: 4px; }
.cr-contact-sub { color: #777; font-size: .85rem; }

.cr-contact-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.cr-req-table { width: 100%; border-collapse: collapse; margin: 20px 0 8px; font-size: .92rem; }
.cr-req-table td { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.cr-req-table td:first-child { color: #888; width: 45%; }
.cr-req-table td:last-child { color: #E8E8E8; font-weight: 500; }
.cr-req-table a { color: var(--c-gold); text-decoration: none; }
.cr-hours { margin-top: 28px; padding: 20px 24px; background: rgba(var(--c-gold-rgb),.06); border: 1px solid rgba(var(--c-gold-rgb),.15); border-radius: 14px; }
.cr-hours-title { color: var(--c-gold); font-weight: 600; margin-bottom: 12px; font-size: .95rem; }
.cr-hours-row { display: flex; justify-content: space-between; padding: 6px 0; color: #B0B0B0; font-size: .92rem; }
.cr-hours-row strong { color: #fff; font-weight: 600; }

/* ---------- FAQ ---------- */
.cr-faq-container { max-width: 860px; }
.cr-faq-item {
  background: rgba(20,20,20,.6);
  border: 1px solid rgba(var(--c-gold-rgb),.13);
  border-radius: 14px;
  margin-bottom: 14px;
  overflow: hidden;
  transition: border-color .25s;
}
.cr-faq-item[open] { border-color: rgba(var(--c-gold-rgb),.4); }
.cr-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 56px 22px 26px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 600;
  position: relative;
  transition: color .2s;
}
.cr-faq-item summary::-webkit-details-marker { display: none; }
.cr-faq-item summary:hover { color: var(--c-gold); }
.cr-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 24px; top: 50%;
  transform: translateY(-50%);
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--c-gold);
  transition: transform .25s;
  line-height: 1;
}
.cr-faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.cr-faq-answer { padding: 0 26px 24px; }
.cr-faq-answer p { color: #B0B0B0; line-height: 1.7; margin: 0; font-size: .96rem; }

/* ---------- Адаптив ---------- */
@media (max-width: 900px) {
  .cr-contact-grid { grid-template-columns: 1fr; }
  .cr-contact-bottom { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .cr-faq-item summary { font-size: .98rem; padding: 18px 48px 18px 20px; }
  .cr-price-group { font-size: 1.1rem; }
}

/* ============================================
   КРИМПАЛ СЕРТ — мобильное меню (popup drawer) + партнёры
   marker: mobile-drawer-partners-v1
   ============================================ */

/* ---------- Мобильное меню: Astra popup drawer (тёмная тема) ---------- */
@media (max-width: 921px) {
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    background: var(--c-bg) !important;
  }
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    border-left: 1px solid rgba(var(--c-gold-rgb),.18) !important;
  }
  .ast-mobile-popup-drawer .ast-mobile-popup-overlay {
    background: rgba(0,0,0,.65) !important;
  }
  .ast-mobile-popup-drawer .ast-mobile-popup-header {
    background: var(--c-bg) !important;
    border-bottom: 1px solid rgba(var(--c-gold-rgb),.12) !important;
    padding: 14px 20px !important;
  }
  /* Кнопка закрытия */
  .ast-mobile-popup-drawer .menu-toggle-close { color: var(--c-gold) !important; }
  .ast-mobile-popup-drawer .menu-toggle-close .ast-icon svg,
  .ast-mobile-popup-drawer .menu-toggle-close svg {
    fill: var(--c-gold) !important; stroke: var(--c-gold) !important;
  }
  /* Список меню */
  .ast-mobile-popup-drawer .main-header-menu,
  .ast-mobile-popup-drawer .ast-builder-menu-mobile .menu,
  .ast-mobile-popup-drawer .main-header-menu .sub-menu {
    background: transparent !important;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-link {
    color: #D8D8D8 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 15px 24px !important;
    letter-spacing: .2px !important;
    background: transparent !important;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item:hover > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link {
    color: var(--c-gold) !important;
    background: rgba(var(--c-gold-rgb),.07) !important;
  }
  /* Стрелки подменю */
  .ast-mobile-popup-drawer .ast-menu-toggle { color: var(--c-gold) !important; }
  /* Кнопка «Получить консультацию» в меню */
  .ast-mobile-popup-drawer .ast-custom-button,
  .ast-mobile-popup-drawer .menu-link.ast-menu-button { color: #000 !important; }
  /* Гамбургер на баре */
  .ast-mobile-header-wrap .menu-toggle,
  .main-header-bar .menu-toggle {
    background: rgba(var(--c-gold-rgb),.1) !important;
    border: 1px solid rgba(var(--c-gold-rgb),.35) !important;
    border-radius: 8px !important;
    color: var(--c-gold) !important;
  }
  .ast-mobile-header-wrap .menu-toggle svg,
  .main-header-bar .menu-toggle svg,
  .mobile-menu-toggle-icon svg {
    fill: var(--c-gold) !important; stroke: var(--c-gold) !important; color: var(--c-gold) !important;
  }
}

/* ---------- Блок «Наши партнёры» ---------- */
.cr-partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 20px;
  margin-top: 48px;
}
.cr-partner-card {
  background: rgba(20,20,20,.6);
  border: 1px solid rgba(var(--c-gold-rgb),.13);
  border-radius: 16px;
  padding: 28px 18px;
  text-align: center;
  transition: transform .25s, border-color .25s, background .25s;
}
.cr-partner-card:hover {
  transform: translateY(-5px);
  border-color: rgba(var(--c-gold-rgb),.4);
  background: rgba(28,24,16,.7);
}
.cr-partner-logo {
  height: 54px;
  display: flex; align-items: center; justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}
.cr-partner-mono {
  font-family: 'Playfair Display', serif;
  font-size: 2.1rem; font-weight: 700; color: #fff; letter-spacing: 1px;
}
.cr-partner-word {
  font-family: 'Playfair Display', serif;
  font-size: 1.45rem; font-weight: 700; color: #fff; letter-spacing: .5px;
}
.cr-partner-word-lg { font-size: 1.3rem; letter-spacing: 2.5px; }
.cr-partner-mono-accent { color: var(--c-gold); }
.cr-partner-icon { width: 26px; height: 26px; color: var(--c-gold); flex-shrink: 0; }
.cr-partner-name { color: #E8E8E8; font-weight: 600; font-size: 1rem; margin-bottom: 6px; }
.cr-partner-desc { color: #888; font-size: .82rem; line-height: 1.5; }

@media (max-width: 640px) {
  .cr-partners-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .cr-partner-card { padding: 22px 14px; }
}

/* ============================================
   КРИМПАЛ СЕРТ — фоновая анимация: Aurora + сетка
   marker: aurora-anim-v1
   ============================================ */

/* Hero blob-пятна: мягкий дрейф + пульсация прозрачности */
@keyframes crAurora1 {
  0%,100% { transform: translate(0,0) scale(1);     opacity:.95; }
  50%     { transform: translate(-60px,40px) scale(1.15); opacity:.6; }
}
@keyframes crAurora2 {
  0%,100% { transform: translate(0,0) scale(1);     opacity:.7; }
  50%     { transform: translate(50px,-30px) scale(1.22); opacity:1; }
}
.cr-hero-blob-1 { animation: crAurora1 18s ease-in-out infinite !important; }
.cr-hero-blob-2 { animation: crAurora2 22s ease-in-out infinite !important; }

/* Сетка hero: медленный дрейф + «дыхание» */
@keyframes crGridDrift {
  0%   { background-position: 0 0, 0 0;       opacity:.75; }
  50%  {                                       opacity:1; }
  100% { background-position: 60px 60px, 60px 60px; opacity:.75; }
}
.cr-hero-grid-lines { animation: crGridDrift 26s linear infinite; }

/* Золотое сияние, перетекающее в тёмных секциях */
.cr-section-dark { position: relative; overflow: hidden; }
.cr-section-dark > .cr-container { position: relative; z-index: 1; }
.cr-section-dark::before {
  content:''; position:absolute; inset:-20% -10%;
  pointer-events:none; z-index:0;
  background:
    radial-gradient(440px 340px at 18% 22%, rgba(var(--c-gold-rgb),.075), transparent 70%),
    radial-gradient(500px 380px at 82% 80%, rgba(var(--c-gold-rgb),.05), transparent 72%);
  filter: blur(22px);
  animation: crGlowDrift 28s ease-in-out infinite;
}
@keyframes crGlowDrift {
  0%,100% { transform: translate(0,0) scale(1); }
  33%     { transform: translate(45px,-30px) scale(1.08); }
  66%     { transform: translate(-30px,28px) scale(1.05); }
}

/* Уважение к настройке «уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
  .cr-hero-blob-1, .cr-hero-blob-2,
  .cr-hero-grid-lines, .cr-section-dark::before {
    animation: none !important;
  }
}

/* ============================================
   КРИМПАЛ СЕРТ — мобильное меню FIX v2 (точные селекторы Astra)
   marker: mobile-drawer-v2
   ============================================ */
@media (max-width: 921px) {
  /* Фон выезжающего меню — перекрываем все белые контейнеры Astra */
  .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-content,
  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-header-wrap .ast-mobile-header-content,
  .ast-mobile-header-content {
    background-color: var(--c-bg) !important;
    background: var(--c-bg) !important;
  }
  .ast-mobile-popup-drawer .ast-mobile-popup-content {
    border-left: 1px solid rgba(var(--c-gold-rgb),.18) !important;
  }
  /* Затемнение фона за меню */
  .ast-mobile-popup-overlay,
  .ast-mobile-popup-drawer .ast-mobile-popup-overlay {
    background-color: rgba(0,0,0,.7) !important;
  }
  /* Кнопка закрытия (Astra красит её в #3a3a3a) */
  .ast-mobile-popup-drawer.active .menu-toggle-close,
  .ast-mobile-popup-drawer .menu-toggle-close {
    color: var(--c-gold) !important;
  }
  .ast-mobile-popup-drawer .menu-toggle-close .ast-icon svg,
  .ast-mobile-popup-drawer .menu-toggle-close svg {
    fill: var(--c-gold) !important; stroke: var(--c-gold) !important;
  }
  /* Ссылки меню — точный селектор Astra (color-3) */
  .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link {
    color: #D8D8D8 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 14px 24px !important;
    letter-spacing: .2px !important;
    line-height: 1.4 !important;
    background: transparent !important;
  }
  .ast-mobile-popup-drawer .main-header-menu .menu-item {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    line-height: normal !important;
  }
  .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-item:hover > .menu-link {
    color: var(--c-gold) !important;
    background: rgba(var(--c-gold-rgb),.07) !important;
  }
  /* Стрелки подменю (color-3) */
  .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .ast-menu-toggle,
  .ast-mobile-popup-drawer .ast-menu-toggle {
    color: var(--c-gold) !important;
  }
  /* Иконка-гамбургер на баре (Astra fill = color-0) */
  [data-section="section-header-mobile-trigger"] .mobile-menu-toggle-icon .ast-mobile-svg,
  .ast-mobile-header-wrap .menu-toggle svg,
  .mobile-menu-toggle-icon svg {
    fill: var(--c-gold) !important; stroke: var(--c-gold) !important; color: var(--c-gold) !important;
  }
  [data-section="section-header-mobile-trigger"] .ast-mobile-menu-trigger-minimal {
    color: var(--c-gold) !important;
  }
}

/* ============================================
   КРИМПАЛ СЕРТ — мобильное меню FIX v3 (вся цепочка контейнеров)
   marker: mobile-drawer-v3
   ============================================ */
@media (max-width: 921px) {
  /* Тёмный фон на КАЖДЫЙ контейнер off-canvas/popup из реального DOM Astra */
  #ast-mobile-popup,
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-popup-content,
  .ast-mobile-header-wrap,
  .ast-mobile-header-content,
  .ast-mobile-header-content .ast-builder-menu-mobile,
  .ast-mobile-header-content .ast-main-header-bar-alignment,
  .ast-mobile-header-content .main-header-bar-navigation,
  #ast-mobile-site-navigation,
  #ast-hf-mobile-menu,
  #ast-hf-mobile-menu.main-navigation,
  .ast-mobile-header-content .main-navigation {
    background-color: var(--c-bg) !important;
    background-image: none !important;
  }

  /* Затемнение позади панели */
  .ast-mobile-popup-overlay,
  .ast-mobile-popup-drawer .ast-mobile-popup-overlay {
    background-color: rgba(0,0,0,.7) !important;
  }

  /* Шапка popup (логотип + крестик) */
  .ast-mobile-popup-header,
  .ast-mobile-popup-drawer .ast-mobile-popup-header {
    background-color: var(--c-bg) !important;
    border-bottom: 1px solid rgba(var(--c-gold-rgb),.12) !important;
  }

  /* Крестик закрытия (Astra: #3a3a3a) */
  .ast-mobile-popup-drawer .menu-toggle-close,
  .ast-mobile-popup-drawer.active .menu-toggle-close,
  .menu-toggle-close {
    color: var(--c-gold) !important;
  }
  .menu-toggle-close svg,
  .menu-toggle-close .ast-mobile-svg { fill: var(--c-gold) !important; }

  /* Пункты меню */
  .ast-mobile-header-content .main-header-menu .menu-item > .menu-link,
  .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
  #ast-hf-mobile-menu .menu-link {
    color: #D8D8D8 !important;
    background: transparent !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 14px 24px !important;
    line-height: 1.4 !important;
    letter-spacing: .2px !important;
  }
  .ast-mobile-header-content .main-header-menu .menu-item {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    line-height: normal !important;
  }
  .ast-mobile-header-content .main-header-menu .menu-item:hover > .menu-link,
  .ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link {
    color: var(--c-gold) !important;
    background: rgba(var(--c-gold-rgb),.07) !important;
  }
  /* Стрелки подменю */
  #ast-hf-mobile-menu .ast-menu-toggle,
  .ast-builder-menu-mobile .ast-menu-toggle { color: var(--c-gold) !important; }

  /* Гамбургер на баре */
  .ast-mobile-menu-trigger-minimal,
  [data-section="section-header-mobile-trigger"] .ast-mobile-menu-trigger-minimal { color: var(--c-gold) !important; }
  .mobile-menu-toggle-icon .ast-mobile-svg,
  .ast-mobile-menu-trigger-minimal svg { fill: var(--c-gold) !important; }
}

/* ============================================
   КРИМПАЛ СЕРТ — интерактивный фон hero (прожектор за курсором)
   marker: hero-interactive-v1
   ============================================ */
.cr-hero-spotlight {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 28%),
    rgba(var(--c-gold-rgb),.20), rgba(var(--c-gold-rgb),.07) 34%, transparent 62%);
}
.cr-hero.cr-hero-lit .cr-hero-spotlight { opacity: 1; }
.cr-hero-inner { position: relative; z-index: 3; }
.cr-hero-grid-lines { transition: transform .35s ease-out; will-change: transform; }

/* ===== Хлебные крошки — marker: breadcrumbs-v1 ===== */
.cr-breadcrumbs {
  display: flex; align-items: center; gap: 9px;
  font-size: .82rem; margin-bottom: 18px; flex-wrap: wrap;
}
.cr-breadcrumbs a { color: #888; text-decoration: none; transition: color .2s; }
.cr-breadcrumbs a:hover { color: var(--c-gold); }
.cr-bc-sep { color: #444; }
.cr-bc-current { color: var(--c-gold); }

/* ===== Хлебные крошки — анимированные кнопки. marker: breadcrumbs-buttons-v2 ===== */
.cr-breadcrumbs {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px;
}
.cr-bc-item {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; border-radius: 999px;
  font-size: .8rem; font-weight: 600; letter-spacing: .2px; text-decoration: none;
  color: var(--c-gold); background: rgba(var(--c-gold-rgb),.07);
  border: 1px solid rgba(var(--c-gold-rgb),.28);
  position: relative; overflow: hidden;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), background .25s, border-color .25s, box-shadow .25s;
}
.cr-bc-item svg { width: 13px; height: 13px; flex-shrink: 0; }
.cr-bc-item::before {
  content: ''; position: absolute; inset: 0; transform: translateX(-130%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  transition: transform .6s ease;
}
.cr-bc-item:hover {
  transform: translateY(-2px);
  background: rgba(var(--c-gold-rgb),.16);
  border-color: rgba(var(--c-gold-rgb),.6);
  box-shadow: 0 8px 20px rgba(var(--c-gold-rgb),.18);
}
.cr-bc-item:hover::before { transform: translateX(130%); }
.cr-bc-item:active { transform: translateY(0); }
.cr-bc-current {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; border-radius: 999px;
  font-size: .8rem; font-weight: 700; letter-spacing: .2px;
  color: var(--c-bg);
  background: linear-gradient(135deg, #E6CE84, var(--c-gold), #A8853A);
  border: 1px solid var(--c-gold);
  box-shadow: 0 4px 14px rgba(var(--c-gold-rgb),.25);
}
.cr-bc-arrow { display: inline-flex; align-items: center; color: #5a5a5a; }
.cr-bc-arrow svg { width: 14px; height: 14px; }
.cr-bc-fallback { max-width: 1248px; margin: 0 auto; padding: 100px 24px 0; }
.cr-bc-sep { display: none; } /* старый разделитель больше не нужен */
@media (max-width: 600px) {
  .cr-bc-item, .cr-bc-current { font-size: .74rem; padding: 6px 12px; }
}

/* ===== Десктопные выпадающие подменю — тёмная тема. marker: submenu-dark-v1 ===== */
.ast-desktop-header .main-header-menu .sub-menu,
.ast-desktop-header .sub-menu,
.main-header-menu .sub-menu {
  background: #0D0D0D !important;
  border: 1px solid rgba(var(--c-gold-rgb), .18) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.55) !important;
  border-radius: 10px !important;
  padding: 6px !important;
  min-width: 240px !important;
}
.ast-desktop-header .sub-menu .menu-item,
.main-header-menu .sub-menu .menu-item { border: none !important; }
.ast-desktop-header .sub-menu .menu-link,
.ast-desktop-header .sub-menu a,
.main-header-menu .sub-menu .menu-link {
  color: var(--c-text) !important;
  border-radius: 7px !important;
  padding: 9px 14px !important;
  font-size: .92rem !important;
  transition: background .2s, color .2s !important;
}
.ast-desktop-header .sub-menu .menu-item:hover > .menu-link,
.ast-desktop-header .sub-menu a:hover,
.main-header-menu .sub-menu .menu-item:hover > .menu-link {
  color: var(--c-gold) !important;
  background: rgba(var(--c-gold-rgb), .08) !important;
}
/* стрелка-индикатор подменю */
.main-header-menu .menu-item-has-children > .menu-link .ast-icon,
.ast-desktop-header .menu-item-has-children > .menu-link .ast-icon { color: var(--c-gold) !important; }

/* ===== Типографика статей блога. marker: article-typo-v1 ===== */
.cr-article{max-width:780px;margin:0 auto;color:#C8C8C8;font-size:1.06rem;line-height:1.78;}
.cr-article > p:first-of-type{font-size:1.14rem;color:#D8D8D8;}
.cr-article h2{color:#fff;font-size:1.55rem;font-weight:700;margin:38px 0 14px;line-height:1.32;}
.cr-article h3{color:#fff;font-size:1.2rem;font-weight:600;margin:26px 0 10px;}
.cr-article p{margin:0 0 16px;}
.cr-article ul,.cr-article ol{margin:0 0 18px;padding-left:22px;}
.cr-article li{margin-bottom:9px;}
.cr-article a{color:var(--c-gold);text-decoration:underline;text-underline-offset:2px;}
.cr-article a:hover{color:var(--c-gold2);}
.cr-article strong{color:#fff;}
.cr-article blockquote{border-left:3px solid var(--c-gold);padding:10px 20px;margin:22px 0;background:rgba(var(--c-gold-rgb),.05);border-radius:0 8px 8px 0;color:#D0D0D0;}
.cr-article .cr-callout{background:rgba(var(--c-gold-rgb),.07);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:12px;padding:18px 22px;margin:24px 0;}
.cr-article .cr-callout strong{color:var(--c-gold);}
.cr-art-cta{margin:34px 0 8px;padding:26px;border:1px solid rgba(var(--c-gold-rgb),.28);border-radius:14px;background:rgba(var(--c-gold-rgb),.06);text-align:center;}
.cr-art-cta h3{margin:0 0 8px;color:#fff;font-size:1.3rem;}
.cr-art-cta p{margin:0 0 16px;color:#C0C0C0;}
.cr-art-related{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.cr-art-related ul{list-style:none;padding:0;margin:12px 0 0;}
.cr-art-related li{margin-bottom:10px;}
.cr-art-related a{color:var(--c-gold);text-decoration:none;font-weight:500;}
.cr-art-related a:hover{text-decoration:underline;}
/* лента блога — тёмные карточки постов */
.blog .ast-article-post,.archive .ast-article-post,.blog article.post,.archive article.post{background:rgba(20,20,20,.6) !important;border:1px solid rgba(var(--c-gold-rgb),.13) !important;border-radius:14px !important;padding:24px !important;margin-bottom:20px !important;}
.blog .entry-title a,.archive .entry-title a{color:#fff !important;}
.blog .entry-title a:hover,.archive .entry-title a:hover{color:var(--c-gold) !important;}
.blog .ast-excerpt-container,.archive .ast-excerpt-container,.blog .post-content,.archive .post-content{color:#B0B0B0 !important;}
/* hide-comments-v1 */
#comments,.comments-area,#respond,.comment-respond,.comment-form,.ast-comment-formwrap{display:none !important;}

/* ===== Скрыть prev/next + «Читайте также» кнопками. marker: post-extras-v1 ===== */
.single-post .post-navigation,
nav.post-navigation,
.single .ast-navigation-links,
.ast-single-related-posts-container,
.single .ast-pagination { display: none !important; }

.cr-art-related ul {
  display: flex; flex-wrap: wrap; gap: 12px;
  list-style: none; padding: 0; margin: 16px 0 0;
}
.cr-art-related li { margin: 0; }
.cr-art-related a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 20px; border-radius: 12px;
  background: rgba(var(--c-gold-rgb), .07);
  border: 1px solid rgba(var(--c-gold-rgb), .28);
  color: var(--c-gold); font-weight: 600; font-size: .95rem;
  text-decoration: none;
  transition: transform .2s, background .2s, border-color .2s, box-shadow .2s;
}
.cr-art-related a::after { content: '→'; opacity: .65; transition: transform .2s; }
.cr-art-related a:hover {
  transform: translateY(-2px);
  background: rgba(var(--c-gold-rgb), .15);
  border-color: rgba(var(--c-gold-rgb), .55);
  box-shadow: 0 8px 20px rgba(var(--c-gold-rgb), .16);
  text-decoration: none; color: var(--c-gold2);
}
.cr-art-related a:hover::after { transform: translateX(4px); }
