/* 3CITY DOCUMENTS — единый style.css
   CSS каждой страницы изолирован под body.page-NAME.
   Сгенерировано автоматически. */

/* ===== @font-face (общие) ===== */


/* ===== Базовый сброс (общий) ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ===== PAGE: home  (Index.html) ===== */
body.page-home { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  
  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  
  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-home * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-home *::selection { background: var(--gold); color: var(--bg-void); }
body.page-home { scroll-behavior: smooth; }
body.page-home { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
body.page-home img, body.page-home video { max-width: 100%; display: block; }
body.page-home a { color: inherit; text-decoration: none; }
body.page-home button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-home .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-home::before { content: '';
  position: fixed;
  inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: overlay; }
body.page-home .eyebrow { font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 12px; }
body.page-home .eyebrow::before { content: '';
  width: 32px; height: 1px;
  background: var(--gold); }
body.page-home h1, body.page-home h2, body.page-home h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; }
body.page-home .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.03em; }
body.page-home .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-home .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-home .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-home .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-home .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-home .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); transition: transform 0.5s var(--ease-out); }
body.page-home .btn-primary { background: var(--gold);
  color: var(--bg-void); }
body.page-home .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-home .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-home .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-home .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-home .btn-ghost .btn-arrow { background: var(--gold); }
body.page-home .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-home .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-home .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-home .btn-primary:hover::after { left: 120%; }
body.page-home .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 24px 0;
  transition: all 0.4s var(--ease-out);
  background: transparent; }
body.page-home .site-header.scrolled { background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 16px 0; }
body.page-home .nav-row { display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px; }
body.page-home .logo { display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em; }
body.page-home .logo-mark { width: 38px; height: 38px;
  position: relative;
  flex-shrink: 0; }
body.page-home .logo-mark svg { width: 100%; height: 100%; }
body.page-home .logo-text { line-height: 1; }
body.page-home .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-home .nav-menu { display: flex;
  align-items: center;
  gap: 36px;
  list-style: none; }
body.page-home .nav-menu a { position: relative;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-home .nav-menu a::after { content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1px;
  background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-home .nav-menu a:hover { color: var(--text-primary); }
body.page-home .nav-menu a:hover::after { width: 100%; }
body.page-home .nav-right { display: flex;
  align-items: center;
  gap: 24px; }
body.page-home .nav-phone { display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-home .nav-phone:hover { color: var(--gold); }
body.page-home .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-home .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-home .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-home .menu-toggle { display: none; }
body.page-home .hero { position: relative;
  min-height: 100vh;
  padding: 140px 0 80px;
  overflow: hidden;
  display: flex;
  align-items: center; }
body.page-home .hero-video-wrap { position: absolute;
  inset: 0;
  z-index: 0; }
body.page-home .hero-video-wrap video, body.page-home .hero-video-wrap .video-fallback { width: 100%;
  height: 100%;
  object-fit: cover; }
body.page-home .video-fallback { background:
    radial-gradient(ellipse at 70% 30%, rgba(212, 175, 106, 0.18), transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(212, 175, 106, 0.08), transparent 50%),
    linear-gradient(135deg, #0a0a0e 0%, #14121a 50%, #0a0a0e 100%);
  display: flex;
  align-items: center;
  justify-content: center; }
body.page-home .video-fallback::before { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%); }
body.page-home .hero-video-wrap::after { content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,7,10,0.65) 0%, rgba(7,7,10,0.55) 40%, rgba(7,7,10,0.95) 100%),
    linear-gradient(90deg, rgba(7,7,10,0.7) 0%, transparent 60%); }
body.page-home .hero-inner { position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 60px;
  align-items: end;
  width: 100%; }
body.page-home .hero-content { max-width: 720px; }
body.page-home .hero-eyebrow { opacity: 0;
  animation: p_home_fadeUp 1s var(--ease-out) 0.2s forwards;
  margin-bottom: 32px; }
body.page-home .hero-title { margin-bottom: 32px; }
body.page-home .hero-title .line { display: block;
  overflow: hidden; }
body.page-home .hero-title .line > span { display: inline-block;
  transform: translateY(110%);
  animation: p_home_slideUp 1.2s var(--ease-out) forwards; }
body.page-home .hero-title .line:nth-child(1) > span { animation-delay: 0.35s; }
body.page-home .hero-title .line:nth-child(2) > span { animation-delay: 0.5s; }
body.page-home .hero-title .line:nth-child(3) > span { animation-delay: 0.65s; }
body.page-home .hero-title .line:nth-child(4) > span { animation-delay: 0.8s; }
body.page-home .hero-sub { font-size: 17px;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: 540px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_home_fadeUp 1s var(--ease-out) 0.95s forwards; }
body.page-home .hero-actions { display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_home_fadeUp 1s var(--ease-out) 1.1s forwards; }
body.page-home .hero-actions .play-trigger { display: flex;
  align-items: center;
  gap: 16px;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-home .hero-actions .play-trigger:hover { color: var(--gold); }
body.page-home .play-circle { width: 56px; height: 56px;
  border-radius: 50%;
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out);
  position: relative; }
body.page-home .play-circle::after { content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid var(--gold);
  opacity: 0;
  animation: p_home_pulse 2.5s ease-out infinite; }
body.page-home .play-circle svg { width: 14px; height: 14px; fill: var(--gold); margin-left: 3px; }
body.page-home .hero-actions .play-trigger:hover .play-circle { background: var(--gold); }
body.page-home .hero-actions .play-trigger:hover .play-circle svg { fill: var(--bg-void); }
body.page-home .play-label { font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase; }
body.page-home .play-label span { display: block;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 400; }
body.page-home .hero-side { display: grid;
  gap: 16px;
  opacity: 0;
  animation: p_home_fadeUp 1s var(--ease-out) 1.3s forwards; }
body.page-home .hero-stat-card { background: rgba(22, 22, 28, 0.55);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
  transition: all 0.5s var(--ease-out); }
body.page-home .hero-stat-card:hover { border-color: var(--gold);
  transform: translateY(-4px);
  box-shadow: 0 20px 60px -20px rgba(212, 175, 106, 0.25); }
body.page-home .hero-stat-card .icon { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-home .hero-stat-card .icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-home .hero-stat-card .num { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--gold); }
body.page-home .hero-stat-card .label { font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 6px; }
body.page-home .scroll-cue { position: absolute;
  bottom: 32px;
  left: 32px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-muted); }
body.page-home .scroll-cue .line { width: 60px; height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  position: relative;
  overflow: hidden; }
body.page-home .scroll-cue .line::after { content: '';
  position: absolute;
  top: 0; left: -30%;
  width: 30%; height: 100%;
  background: var(--bg-void);
  animation: p_home_scrollLine 2.5s ease-in-out infinite; }
@keyframes p_home_slideUp {
  to { transform: translateY(0); }
}
@keyframes p_home_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_home_pulse {
  0%   { opacity: 0.8; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.5); }
}
@keyframes p_home_scrollLine {
  0%   { left: -30%; }
  100% { left: 100%; }
}
@keyframes p_home_float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes p_home_spinSlow {
  to { transform: rotate(360deg); }
}
body.page-home .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-home .reveal.in { opacity: 1; transform: translateY(0); }
body.page-home .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-home .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-home .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-home .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-home .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-home section { position: relative; }
body.page-home .section-pad { padding: 140px 0; }
body.page-home .section-pad-sm { padding: 100px 0; }
body.page-home .section-head { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 80px; }
body.page-home .section-head .index { font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px; }
body.page-home .section-head .index::after { content: '';
  width: 50px; height: 1px;
  background: var(--gold); }
body.page-home .section-head p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.6;
  max-width: 480px; }
body.page-home .process { padding: 100px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base); }
body.page-home .process-head { margin-bottom: 56px; text-align: center; }
body.page-home .process-head h2 { max-width: 700px; margin: 16px auto 0; }
body.page-home .process-grid { display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  position: relative; }
body.page-home .process-grid::before { content: '';
  position: absolute;
  top: 32px;
  left: 12%; right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);
  z-index: 0; }
body.page-home .process-step { position: relative;
  text-align: center;
  z-index: 1; }
body.page-home .process-step .num-wrap { width: 64px; height: 64px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--gold);
  position: relative;
  transition: all 0.5s var(--ease-out); }
body.page-home .process-step:hover .num-wrap { border-color: var(--gold);
  background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-home .process-step .num-wrap::before { content: '';
  position: absolute;
  inset: -10px;
  border: 1px dashed var(--border-strong);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.5s, transform 1s; }
body.page-home .process-step:hover .num-wrap::before { opacity: 1;
  animation: p_home_spinSlow 12s linear infinite; }
body.page-home .process-step h3 { font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: var(--text-primary);
  max-width: 220px;
  margin: 0 auto; }
body.page-home .services { padding: 140px 0; }
body.page-home .services-grid { display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px; }
body.page-home .svc-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 36px 32px;
  overflow: hidden;
  transition: all 0.6s var(--ease-out);
  display: flex;
  flex-direction: column;
  min-height: 360px; }
body.page-home .svc-card:nth-child(1) { grid-column: span 3; }
body.page-home .svc-card:nth-child(2) { grid-column: span 3; }
body.page-home .svc-card:nth-child(3) { grid-column: span 2; }
body.page-home .svc-card:nth-child(4) { grid-column: span 2; }
body.page-home .svc-card:nth-child(5) { grid-column: span 2; }
body.page-home .svc-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-home .svc-card:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateY(-4px); }
body.page-home .svc-card:hover::before { opacity: 1; }
body.page-home .svc-icon { width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 28px;
  transition: all 0.5s var(--ease-out); }
body.page-home .svc-icon svg { width: 24px; height: 24px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-home .svc-card:hover .svc-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-home .svc-card:hover .svc-icon svg { stroke: var(--bg-void); }
body.page-home .svc-card h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 14px;
  line-height: 1.2; }
body.page-home .svc-card p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  flex-grow: 1; }
body.page-home .svc-foot { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle); }
body.page-home .svc-price { font-family: var(--font-display);
  font-size: 22px;
  color: var(--gold);
  letter-spacing: -0.02em; }
body.page-home .svc-price small { font-family: var(--font-body);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
  margin-bottom: 2px; }
body.page-home .svc-cta { display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-home .svc-cta:hover { color: var(--gold); }
body.page-home .svc-cta svg { width: 16px; height: 16px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-home .svc-cta:hover svg { transform: translate(4px, -4px); }
body.page-home .about { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-home .about::before { content: 'DOCUMENTS';
  position: absolute;
  right: -40px;
  bottom: -20px;
  font-family: var(--font-display);
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  z-index: 0;
  pointer-events: none;
  line-height: 0.8; }
body.page-home .about-grid { display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1; }
body.page-home .about-visual { position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820, #0c0c10);
  border: 1px solid var(--border-subtle); }
body.page-home .about-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%); }
body.page-home .about-visual svg.deco-passport { position: absolute;
  width: 70%; height: auto;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5));
  transition: transform 0.8s var(--ease-out); }
body.page-home .about-visual:hover svg.deco-passport { transform: translate(-50%, -50%) rotate(-4deg) scale(1.03); }
body.page-home .about-badge { position: absolute;
  width: 140px; height: 140px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 13px;
  text-align: center;
  bottom: 24px; right: 24px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5);
  animation: p_home_float 5s ease-in-out infinite; }
body.page-home .about-badge span { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 28px;
  margin-bottom: 2px;
  font-weight: 600; }
body.page-home .about-content .eyebrow { margin-bottom: 24px; }
body.page-home .about-content h2 { margin-bottom: 28px; }
body.page-home .about-content p { font-size: 16px;
  line-height: 1.75;
  color: var(--text-secondary);
  margin-bottom: 24px; }
body.page-home .about-features { display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 36px 0 40px;
  list-style: none; }
body.page-home .about-features li { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary); }
body.page-home .about-features li::before { content: '';
  width: 6px; height: 6px;
  background: var(--gold);
  transform: rotate(45deg);
  flex-shrink: 0; }
body.page-home .why { padding: 140px 0; }
body.page-home .why-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; }
body.page-home .why-card { position: relative;
  padding: 48px 36px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  transition: all 0.6s var(--ease-out);
  overflow: hidden; }
body.page-home .why-card:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateY(-6px); }
body.page-home .why-card .corner { position: absolute;
  top: 24px; right: 24px;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.05em; }
body.page-home .why-card .icon-wrap { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 32px;
  transition: all 0.5s var(--ease-out); }
body.page-home .why-card .icon-wrap svg { width: 26px; height: 26px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-home .why-card:hover .icon-wrap { background: var(--gold);
  border-color: var(--gold); }
body.page-home .why-card:hover .icon-wrap svg { stroke: var(--bg-void); }
body.page-home .why-card h3 { font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 14px;
  line-height: 1.25; }
body.page-home .why-card p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.65; }
body.page-home .stats { display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 80px;
  padding: 56px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle); }
body.page-home .stat-item { text-align: center;
  border-right: 1px solid var(--border-subtle);
  padding: 0 32px; }
body.page-home .stat-item:last-child { border-right: none; }
body.page-home .stat-num { font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  color: var(--gold);
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 12px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px; }
body.page-home .stat-num .plus { font-size: 0.6em; opacity: 0.7; }
body.page-home .stat-label { font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.1em;
  text-transform: uppercase; }
body.page-home .cta-form { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-home .cta-form::before { content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -200px; }
body.page-home .cta-form::after { content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.05), transparent 65%);
  bottom: -200px; left: -200px; }
body.page-home .cta-form .container { position: relative; z-index: 1; }
body.page-home .cta-form-head { text-align: center;
  margin-bottom: 56px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto; }
body.page-home .cta-form-head .eyebrow { justify-content: center; }
body.page-home .cta-form-head .eyebrow::before { display: none; }
body.page-home .cta-form-head h2 { margin: 20px 0 16px; }
body.page-home .cta-form-head p { color: var(--text-secondary); font-size: 16px; }
body.page-home .consult-form { max-width: 920px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 28px; }
body.page-home .consult-form .full { grid-column: 1 / -1; }
body.page-home .field { position: relative; }
body.page-home .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-home .field label .req { color: var(--gold); }
body.page-home .field input, body.page-home .field select { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none; }
body.page-home .field input:focus, body.page-home .field select:focus { border-bottom-color: var(--gold); }
body.page-home .field input::placeholder { color: var(--text-muted); }
body.page-home .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-home .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-home .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-home .consent input { display: none; }
body.page-home .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-home .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-home .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-home .consent a { color: var(--gold); text-decoration: underline; }
body.page-home .consult-form button[type="submit"] { width: 100%;
  justify-content: center; }
body.page-home .reviews { padding: 140px 0; }
body.page-home .reviews-head { display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 64px; }
body.page-home .reviews-rating { display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 24px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 100px; }
body.page-home .rating-num { font-family: var(--font-display);
  font-size: 32px;
  color: var(--gold);
  line-height: 1; }
body.page-home .rating-stars { display: flex; gap: 4px; }
body.page-home .rating-stars svg { width: 16px; height: 16px; fill: var(--gold); }
body.page-home .rating-meta { font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.05em; }
body.page-home .rating-meta strong { color: var(--text-primary); display: block; font-size: 13px; }
body.page-home .reviews-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; }
body.page-home .review-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 36px 32px;
  position: relative;
  transition: all 0.5s var(--ease-out); }
body.page-home .review-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-home .review-card .quote { position: absolute;
  top: 28px; right: 28px;
  font-family: var(--font-serif);
  font-size: 80px;
  line-height: 0.7;
  color: var(--gold);
  opacity: 0.3;
  font-weight: 700; }
body.page-home .review-stars { display: flex;
  gap: 4px;
  margin-bottom: 20px; }
body.page-home .review-stars svg { width: 14px; height: 14px; fill: var(--gold); }
body.page-home .review-text { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 28px;
  min-height: 130px; }
body.page-home .review-foot { display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle); }
body.page-home .review-avatar { width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--bg-void);
  font-weight: 500;
  flex-shrink: 0; }
body.page-home .review-name { font-size: 14px; font-weight: 500; color: var(--text-primary); }
body.page-home .review-date { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
body.page-home .contact { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-home .contact-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-home .contact-info h2 { margin-bottom: 24px; }
body.page-home .contact-info > p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 48px; }
body.page-home .contact-list { list-style: none; display: grid; gap: 4px; }
body.page-home .contact-item { display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.4s var(--ease-out); }
body.page-home .contact-item:hover { padding-left: 16px; }
body.page-home .contact-item:hover .ci-icon { background: var(--gold); border-color: var(--gold); }
body.page-home .contact-item:hover .ci-icon svg { stroke: var(--bg-void); }
body.page-home .ci-icon { width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-home .ci-icon svg { width: 20px; height: 20px; stroke: var(--gold); fill: none; stroke-width: 1.5; transition: stroke 0.4s; }
body.page-home .ci-label { font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 6px; }
body.page-home .ci-val { font-family: var(--font-display);
  font-size: 18px;
  color: var(--text-primary);
  font-weight: 400;
  letter-spacing: -0.01em; }
body.page-home .contact-map { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 8px;
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden; }
body.page-home .contact-map-inner { width: 100%; height: 100%;
  border-radius: var(--radius);
  background:
    radial-gradient(ellipse at 60% 40%, rgba(212, 175, 106, 0.15), transparent 50%),
    linear-gradient(135deg, #14121a, #0a0a0e);
  position: relative;
  overflow: hidden; }
body.page-home .contact-map-inner::before { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.06) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none; }
body.page-home .contact-map-inner iframe { position: relative; z-index: 2; }
body.page-home .map-pin { display: none !important; }
body.page-home .map-pin { position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center; }
body.page-home .map-pin .pin-dot { width: 18px; height: 18px;
  background: var(--gold);
  border-radius: 50%;
  position: relative;
  box-shadow: 0 0 0 0 var(--gold-glow);
  animation: p_home_pinPulse 2s ease-out infinite; }
@keyframes p_home_pinPulse {
  0% { box-shadow: 0 0 0 0 var(--gold-glow); }
  100% { box-shadow: 0 0 0 30px rgba(212, 175, 106, 0); }
}
body.page-home .map-pin .pin-label { background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(10px);
  padding: 12px 20px;
  border-radius: 100px;
  border: 1px solid var(--gold);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  white-space: nowrap; }
body.page-home .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-home .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-home .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-home .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-home .footer-top a, body.page-home .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-home .footer-top a:hover { color: var(--gold); }
body.page-home .footer-brand .logo { margin-bottom: 20px; }
body.page-home .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-home .footer-socials { display: flex; gap: 10px; }
body.page-home .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-home .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-home .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-home .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-home .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-home .footer-legal { display: flex; gap: 24px; }
body.page-home .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-home .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-home .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-home .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-home .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-home .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-home .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-home .modal-close:hover svg { stroke: var(--bg-void); }
body.page-home .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-home .modal-head { margin-bottom: 32px; }
body.page-home .modal-head .eyebrow { margin-bottom: 16px; }
body.page-home .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-home .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-home .modal form { display: grid;
  gap: 22px; }
@media (max-width: 1100px) {
body.page-home .services-grid { grid-template-columns: repeat(2, 1fr); }
body.page-home .svc-card:nth-child(1), body.page-home .svc-card:nth-child(2), body.page-home .svc-card:nth-child(3), body.page-home .svc-card:nth-child(4), body.page-home .svc-card:nth-child(5) { grid-column: span 1; }
body.page-home .svc-card:nth-child(5) { grid-column: span 2; }
body.page-home .hero-inner { grid-template-columns: 1fr; }
body.page-home .hero-side { display: none; }
body.page-home .section-head { grid-template-columns: 1fr; }
body.page-home .about-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-home .contact-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-home .why-grid { grid-template-columns: repeat(2, 1fr); }
body.page-home .reviews-grid { grid-template-columns: repeat(2, 1fr); }
body.page-home .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-home .container { padding: 0 20px; }
body.page-home .section-pad, body.page-home .services, body.page-home .reviews, body.page-home .why, body.page-home .about, body.page-home .contact { padding: 80px 0; }
body.page-home .nav-menu, body.page-home .nav-phone { display: none; }
body.page-home .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-home .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-home .hero { padding: 120px 0 60px; }
body.page-home .process-grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
body.page-home .process-grid::before { display: none; }
body.page-home .services-grid { grid-template-columns: 1fr; }
body.page-home .svc-card:nth-child(5) { grid-column: span 1; }
body.page-home .why-grid, body.page-home .reviews-grid { grid-template-columns: 1fr; }
body.page-home .stats { grid-template-columns: 1fr 1fr; gap: 32px 0; }
body.page-home .stat-item:nth-child(2) { border-right: none; }
body.page-home .stat-item:nth-child(1), body.page-home .stat-item:nth-child(2) { border-bottom: 1px solid var(--border-subtle); padding-bottom: 32px; }
body.page-home .consult-form { grid-template-columns: 1fr; padding: 32px 24px; }
body.page-home .modal { padding: 32px 24px; }
body.page-home .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-home .reviews-head { flex-direction: column; align-items: flex-start; gap: 24px; }
body.page-home .about-features { grid-template-columns: 1fr; }
}

/* ===== PAGE: services  (services.html) ===== */
body.page-services { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-services * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-services *::selection { background: var(--gold); color: var(--bg-void); }
body.page-services { scroll-behavior: smooth; }
body.page-services { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-services img, body.page-services video { max-width: 100%; display: block; }
body.page-services a { color: inherit; text-decoration: none; }
body.page-services button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-services .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-services::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-services .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-services .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-services h1, body.page-services h2, body.page-services h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; }
body.page-services .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.03em; }
body.page-services .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-services .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-services .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-services .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-services .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-services .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-services .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-services .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-services .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-services .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-services .btn-primary:hover::after { left: 120%; }
body.page-services .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-services .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-services .btn-ghost .btn-arrow { background: var(--gold); }
body.page-services .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-services .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-services .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-services .site-header.scrolled { padding: 14px 0; }
body.page-services .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-services .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-services .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-services .logo-mark svg { width: 100%; height: 100%; }
body.page-services .logo-text { line-height: 1; }
body.page-services .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-services .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-services .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-services .nav-menu a.active { color: var(--gold); }
body.page-services .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-services .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-services .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-services .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-services .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-services .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-services .nav-phone:hover { color: var(--gold); }
body.page-services .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-services .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-services .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-services .menu-toggle { display: none; }
@keyframes p_services_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_services_float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes p_services_spinSlow {
  to { transform: rotate(360deg); }
}
@keyframes p_services_scrollLine {
  0%   { left: -30%; }
  100% { left: 100%; }
}
body.page-services .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-services .reveal.in { opacity: 1; transform: translateY(0); }
body.page-services .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-services .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-services .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-services .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-services .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-services .page-hero { padding: 180px 0 80px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-services .page-hero::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.12), transparent 65%);
  top: -300px; right: -300px;
  z-index: 0; }
body.page-services .page-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 65%);
  pointer-events: none; }
body.page-services .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_services_fadeUp 0.8s var(--ease-out) 0.15s forwards; }
body.page-services .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-services .breadcrumbs a:hover { color: var(--gold); }
body.page-services .breadcrumbs .sep { color: var(--border-strong); }
body.page-services .breadcrumbs .current { color: var(--gold); }
body.page-services .page-hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: end; }
body.page-services .page-hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_services_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-services .page-hero-title { margin-bottom: 36px;
  opacity: 0;
  animation: p_services_fadeUp 0.9s var(--ease-out) 0.45s forwards; }
body.page-services .page-hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.6;
  max-width: 560px;
  opacity: 0;
  animation: p_services_fadeUp 0.9s var(--ease-out) 0.6s forwards; }
body.page-services .page-hero-right { display: grid;
  gap: 16px;
  opacity: 0;
  animation: p_services_fadeUp 0.9s var(--ease-out) 0.75s forwards; }
body.page-services .summary-card { background: rgba(22, 22, 28, 0.55);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  transition: all 0.5s var(--ease-out); }
body.page-services .summary-card:hover { border-color: var(--gold);
  transform: translateX(-4px); }
body.page-services .summary-card .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-services .summary-card .value { font-family: var(--font-display);
  font-size: 26px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1; }
body.page-services .summary-card .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-services .summary-card .badge { font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  padding: 8px 14px;
  border-radius: 100px;
  letter-spacing: 0.04em; }
body.page-services .filter-bar { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 20px 0; }
body.page-services .filter-row { display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap; }
body.page-services .filter-pills { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex-grow: 1; }
body.page-services .pill { position: relative;
  padding: 11px 22px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-services .pill .count { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  background: var(--bg-elevated);
  padding: 2px 8px;
  border-radius: 10px;
  transition: all 0.3s; }
body.page-services .pill:hover { border-color: var(--gold);
  color: var(--text-primary); }
body.page-services .pill.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-services .pill.active .count { background: var(--bg-void);
  color: var(--gold); }
body.page-services .search-box { position: relative;
  display: flex;
  align-items: center; }
body.page-services .search-box svg { position: absolute;
  left: 16px; width: 16px; height: 16px;
  stroke: var(--text-muted);
  fill: none;
  stroke-width: 1.5;
  pointer-events: none; }
body.page-services .search-box input { background: var(--bg-card);
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  padding: 11px 20px 11px 42px;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 13px;
  width: 240px;
  outline: none;
  transition: all 0.3s; }
body.page-services .search-box input::placeholder { color: var(--text-muted); }
body.page-services .search-box input:focus { border-color: var(--gold);
  width: 280px; }
body.page-services .featured-section { padding: 100px 0 60px; }
body.page-services .section-intro { display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 56px; }
body.page-services .section-intro .index-tag { font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px; }
body.page-services .section-intro .index-tag::before { content: '';
  width: 48px; height: 1px;
  background: var(--gold); }
body.page-services .section-intro p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.6;
  max-width: 480px; }
body.page-services .featured-grid { display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 24px; }
body.page-services .featured-card { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  padding: 48px;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.6s var(--ease-out); }
body.page-services .featured-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-services .featured-card.primary { background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%); }
body.page-services .featured-card.primary::before { content: '';
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.18), transparent 65%);
  top: -100px; right: -100px;
  pointer-events: none; }
body.page-services .featured-card .featured-deco { position: absolute;
  top: 40px; right: 40px;
  width: 140px; height: 140px;
  pointer-events: none;
  opacity: 0.6;
  transition: opacity 0.6s, transform 0.6s; }
body.page-services .featured-card:hover .featured-deco { opacity: 1; transform: rotate(8deg) scale(1.05); }
body.page-services .tag-row { display: flex;
  gap: 8px;
  margin-bottom: 28px;
  position: relative;
  z-index: 1; }
body.page-services .tag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 6px; }
body.page-services .tag.hot { background: var(--gold); color: var(--bg-void); }
body.page-services .tag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_services_pulse-dot 1.5s ease-in-out infinite; }
@keyframes p_services_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-services .tag.gold-line { color: var(--gold);
  border: 1px solid var(--gold);
  background: transparent; }
body.page-services .tag.muted { color: var(--text-secondary);
  border: 1px solid var(--border-strong);
  background: transparent; }
body.page-services .featured-card h3 { font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 300;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  max-width: 420px;
  position: relative;
  z-index: 1; }
body.page-services .featured-card h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-services .featured-card .desc { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.65;
  max-width: 460px;
  margin-bottom: 32px;
  position: relative;
  z-index: 1; }
body.page-services .featured-includes { display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 24px;
  margin-bottom: 36px;
  list-style: none;
  position: relative;
  z-index: 1; }
body.page-services .featured-includes li { display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-primary); }
body.page-services .featured-includes li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0; }
body.page-services .featured-foot { display: flex;
  align-items: end;
  justify-content: space-between;
  padding-top: 28px;
  border-top: 1px solid var(--border-subtle);
  position: relative;
  z-index: 1;
  gap: 24px;
  flex-wrap: wrap; }
body.page-services .featured-meta { display: flex;
  flex-direction: column;
  gap: 10px; }
body.page-services .meta-row { display: flex;
  align-items: center;
  gap: 18px; }
body.page-services .meta-item { display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.04em; }
body.page-services .meta-item svg { width: 13px; height: 13px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-services .featured-price { font-family: var(--font-display);
  font-size: 36px;
  color: var(--gold);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1; }
body.page-services .featured-price small { display: block;
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 6px; }
body.page-services .cat-sections { padding: 80px 0 120px; }
body.page-services .cat-section { margin-bottom: 100px; }
body.page-services .cat-section:last-child { margin-bottom: 0; }
body.page-services .cat-head { display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 40px;
  align-items: end;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-services .cat-num { font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 200;
  color: var(--gold);
  line-height: 0.85;
  letter-spacing: -0.04em;
  position: relative; }
body.page-services .cat-num::after { content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 50%; height: 1px;
  background: var(--gold); }
body.page-services .cat-info h2 { font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  font-weight: 300;
  letter-spacing: -0.02em;
  margin-bottom: 10px; }
body.page-services .cat-info h2 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-services .cat-info p { color: var(--text-secondary);
  font-size: 14px;
  max-width: 540px; }
body.page-services .cat-meta { text-align: right;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted); }
body.page-services .cat-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--gold);
  font-weight: 300;
  letter-spacing: -0.02em;
  margin-bottom: 4px; }
body.page-services .cat-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
body.page-services .cat-grid.featured-row .svc-item:first-child { grid-column: span 2; }
body.page-services .svc-item { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.6s var(--ease-out);
  display: flex;
  flex-direction: column;
  min-height: 340px; }
body.page-services .svc-item::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-services .svc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateY(-4px); }
body.page-services .svc-item:hover::before { opacity: 1; }
body.page-services .svc-item-head { display: flex;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 24px; }
body.page-services .svc-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.5s var(--ease-out);
  flex-shrink: 0; }
body.page-services .svc-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-services .svc-item:hover .svc-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-services .svc-item:hover .svc-icon svg { stroke: var(--bg-void); }
body.page-services .svc-item-tags { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: end;
  max-width: 60%; }
body.page-services .mini-tag { font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 100px;
  white-space: nowrap; }
body.page-services .mini-tag.hot { background: var(--gold); color: var(--bg-void); }
body.page-services .mini-tag.new { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-services .mini-tag.fast { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-services .svc-item h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 12px;
  line-height: 1.25;
  letter-spacing: -0.01em; }
body.page-services .svc-item .desc { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 22px;
  flex-grow: 1; }
body.page-services .svc-item-meta { display: flex;
  gap: 14px;
  margin-bottom: 22px;
  flex-wrap: wrap; }
body.page-services .meta-chip { display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-services .meta-chip svg { width: 12px; height: 12px; stroke: var(--gold); fill: none; stroke-width: 1.5; flex-shrink: 0; }
body.page-services .svc-item-foot { display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle); }
body.page-services .svc-item-price { font-family: var(--font-display);
  font-size: 22px;
  color: var(--gold);
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1; }
body.page-services .svc-item-price small { font-family: var(--font-body);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
  margin-bottom: 2px; }
body.page-services .svc-link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  font-weight: 500; }
body.page-services .svc-link:hover { color: var(--gold); }
body.page-services .svc-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-services .svc-link:hover svg { transform: translate(4px, -4px); }
body.page-services .svc-item.hidden { display: none; }
body.page-services .cat-section.hidden { display: none; }
body.page-services .cta-block { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-services .cta-block::before { content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; left: -200px; }
body.page-services .cta-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center; }
body.page-services .cta-left .eyebrow { margin-bottom: 28px; }
body.page-services .cta-left h2 { margin-bottom: 24px; }
body.page-services .cta-left p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 460px; }
body.page-services .cta-features { list-style: none;
  display: grid;
  gap: 14px; }
body.page-services .cta-features li { display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  color: var(--text-primary); }
body.page-services .cta-features li svg { width: 18px; height: 18px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 1.5;
  flex-shrink: 0; }
body.page-services .compact-form { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative; }
body.page-services .compact-form::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-services .compact-form h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px; }
body.page-services .compact-form .form-sub { color: var(--text-secondary);
  font-size: 13px;
  margin-bottom: 28px; }
body.page-services .compact-form form { display: grid; gap: 18px; }
body.page-services .field { position: relative; }
body.page-services .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px;
  font-weight: 500; }
body.page-services .field label .req { color: var(--gold); }
body.page-services .field input, body.page-services .field select, body.page-services .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 12px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-services .field input:focus, body.page-services .field select:focus, body.page-services .field textarea:focus { border-bottom-color: var(--gold); }
body.page-services .field input::placeholder, body.page-services .field textarea::placeholder { color: var(--text-muted); }
body.page-services .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-services .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-services .consent { display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-services .consent input { display: none; }
body.page-services .consent .check { width: 16px; height: 16px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-services .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-services .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 1px;
  width: 4px; height: 9px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-services .consent a { color: var(--gold); text-decoration: underline; }
body.page-services .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-services .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-services .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-services .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-services .footer-top a, body.page-services .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-services .footer-top a:hover { color: var(--gold); }
body.page-services .footer-brand .logo { margin-bottom: 20px; }
body.page-services .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-services .footer-socials { display: flex; gap: 10px; }
body.page-services .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-services .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-services .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-services .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-services .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-services .footer-legal { display: flex; gap: 24px; }
body.page-services .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-services .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-services .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-services .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-services .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-services .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-services .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-services .modal-close:hover svg { stroke: var(--bg-void); }
body.page-services .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-services .modal-head { margin-bottom: 32px; }
body.page-services .modal-head .eyebrow { margin-bottom: 16px; }
body.page-services .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-services .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-services .modal form { display: grid; gap: 22px; }
@media (max-width: 1100px) {
body.page-services .page-hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-services .featured-grid { grid-template-columns: 1fr; }
body.page-services .cat-grid { grid-template-columns: repeat(2, 1fr); }
body.page-services .cat-grid.featured-row .svc-item:first-child { grid-column: span 2; }
body.page-services .cat-head { grid-template-columns: auto 1fr; }
body.page-services .cat-meta { display: none; }
body.page-services .cta-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-services .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-services .container { padding: 0 20px; }
body.page-services .page-hero { padding: 130px 0 60px; }
body.page-services .nav-menu, body.page-services .nav-phone { display: none; }
body.page-services .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-services .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-services .filter-bar { position: relative; top: 0; }
body.page-services .search-box, body.page-services .search-box input { width: 100%; }
body.page-services .featured-card { padding: 32px 24px; min-height: auto; }
body.page-services .featured-includes { grid-template-columns: 1fr; }
body.page-services .cat-grid { grid-template-columns: 1fr; }
body.page-services .cat-grid.featured-row .svc-item:first-child { grid-column: span 1; }
body.page-services .cat-head { grid-template-columns: 1fr; gap: 16px; }
body.page-services .compact-form { padding: 28px 24px; }
body.page-services .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-services .modal { padding: 32px 24px; }
}

/* ===== PAGE: karta  (karta-pobytu.html) ===== */
body.page-karta { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-karta * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-karta *::selection { background: var(--gold); color: var(--bg-void); }
body.page-karta { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-karta { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-karta img, body.page-karta video { max-width: 100%; display: block; }
body.page-karta a { color: inherit; text-decoration: none; }
body.page-karta button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-karta .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-karta::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-karta .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-karta .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-karta h1, body.page-karta h2, body.page-karta h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-karta .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-karta .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-karta .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-karta .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-karta .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-karta .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-karta .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-karta .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-karta .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-karta .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-karta .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-karta .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-karta .btn-primary:hover::after { left: 120%; }
body.page-karta .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-karta .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-karta .btn-ghost .btn-arrow { background: var(--gold); }
body.page-karta .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-karta .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-karta .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta .site-header.scrolled { padding: 14px 0; }
body.page-karta .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-karta .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-karta .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-karta .logo-mark svg { width: 100%; height: 100%; }
body.page-karta .logo-text { line-height: 1; }
body.page-karta .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-karta .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-karta .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-karta .nav-menu a.active { color: var(--gold); }
body.page-karta .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-karta .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-karta .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-karta .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-karta .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-karta .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-karta .nav-phone:hover { color: var(--gold); }
body.page-karta .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-karta .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-karta .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-karta .menu-toggle { display: none; }
@keyframes p_karta_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_karta_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-karta .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-karta .reveal.in { opacity: 1; transform: translateY(0); }
body.page-karta .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-karta .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-karta .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-karta .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-karta .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-karta .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-karta .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-karta .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-karta .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_karta_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-karta .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-karta .breadcrumbs a:hover { color: var(--gold); }
body.page-karta .breadcrumbs .sep { color: var(--border-strong); }
body.page-karta .breadcrumbs .current { color: var(--gold); }
body.page-karta .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-karta .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_karta_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-karta .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_karta_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-karta .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-karta .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-karta .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_karta_pulse-dot 1.5s ease-in-out infinite; }
body.page-karta .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-karta .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-karta .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_karta_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-karta .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_karta_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-karta .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_karta_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-karta .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-karta .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-karta .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_karta_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-karta .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_karta_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-karta .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-karta .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-karta .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-karta .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-karta .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-karta .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-karta .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-karta .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-karta .side-card-cta { width: 100%; justify-content: center; }
body.page-karta .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-karta .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-karta .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-karta .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-karta .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-karta .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-karta .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-karta .sub-nav a.active { color: var(--gold); }
body.page-karta .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-karta .sub-nav a:hover { color: var(--text-primary); }
body.page-karta .sec { padding: 120px 0; position: relative; }
body.page-karta .sec-head { margin-bottom: 56px; }
body.page-karta .sec-head .eyebrow { margin-bottom: 20px; }
body.page-karta .sec-head h2 { margin-bottom: 16px; }
body.page-karta .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-karta .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-karta .intro::before { content: 'KARTA';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-karta .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-karta .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-karta .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-karta .intro-content p:last-child { margin-bottom: 0; }
body.page-karta .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-karta .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-karta .types-section { padding: 120px 0; }
body.page-karta .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-karta .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-karta .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-karta .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-karta .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-karta .tab-panel { display: none;
  opacity: 0;
  animation: p_karta_fadeUp 0.6s var(--ease-out) forwards; }
body.page-karta .tab-panel.active { display: grid; }
body.page-karta .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-karta .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-karta .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-karta .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-karta .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-karta .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-karta .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-karta .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-karta .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-karta .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-karta .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-karta .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-karta .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-karta .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-karta .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-karta .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-karta .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-karta .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-karta .main-content > section:first-child { padding-top: 0; }
body.page-karta .main-content > section:last-child { border-bottom: none; }
body.page-karta .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-karta .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-karta .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-karta .included-list li:hover { padding-left: 8px; }
body.page-karta .included-list li:hover .checkmark { background: var(--gold); }
body.page-karta .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-karta .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-karta .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-karta .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-karta .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-karta .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-karta .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-karta .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-karta .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-karta .timeline-step:hover { transform: translateX(4px); }
body.page-karta .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-karta .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-karta .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-karta .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-karta .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-karta .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-karta .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-karta .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-karta .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-karta .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-karta .docs-panel { display: none; }
body.page-karta .docs-panel.active { display: grid; gap: 8px; animation: p_karta_fadeUp 0.4s var(--ease-out); }
body.page-karta .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-karta .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-karta .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-karta .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta .doc-info { flex-grow: 1; }
body.page-karta .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-karta .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-karta .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-karta .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-karta .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-karta .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-karta .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-karta .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-karta .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-karta .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-karta .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-karta .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-karta .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-karta .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-karta .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-karta .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-karta .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-karta .price-value { margin-bottom: 32px; }
body.page-karta .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-karta .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-karta .price-card.popular .price-value .num { color: var(--gold); }
body.page-karta .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-karta .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-karta .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-karta .price-features li.muted { color: var(--text-muted); }
body.page-karta .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-karta .price-card .btn { width: 100%; justify-content: center; }
body.page-karta .faq-section { padding: 120px 0; }
body.page-karta .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-karta .faq-left { position: sticky; top: 160px; }
body.page-karta .faq-left h2 { margin-bottom: 20px; }
body.page-karta .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-karta .faq-list { display: grid; gap: 8px; }
body.page-karta .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-karta .faq-item:hover { border-color: var(--gold-deep); }
body.page-karta .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-karta .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-karta .faq-item.open .faq-q { color: var(--gold); }
body.page-karta .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-karta .faq-toggle::before, body.page-karta .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-karta .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-karta .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-karta .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-karta .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-karta .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-karta .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-karta .faq-item.open .faq-a { max-height: 400px; }
body.page-karta .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-karta .faq-a-inner p { margin-bottom: 12px; }
body.page-karta .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-karta .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-karta .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-karta .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-karta .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-karta .final-cta-inner .eyebrow { justify-content: center; }
body.page-karta .final-cta-inner .eyebrow::before { display: none; }
body.page-karta .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-karta .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-karta .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-karta .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-karta .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-karta .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta .related-section { padding: 120px 0; }
body.page-karta .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-karta .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-karta .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-karta .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-karta .related-card:hover::before { opacity: 1; }
body.page-karta .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-karta .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-karta .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-karta .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-karta .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-karta .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-karta .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-karta .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-karta .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-karta .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-karta .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-karta .footer-top a, body.page-karta .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-karta .footer-top a:hover { color: var(--gold); }
body.page-karta .footer-brand .logo { margin-bottom: 20px; }
body.page-karta .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-karta .footer-socials { display: flex; gap: 10px; }
body.page-karta .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-karta .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-karta .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-karta .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-karta .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-karta .footer-legal { display: flex; gap: 24px; }
body.page-karta .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-karta .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-karta .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-karta .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-karta .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-karta .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-karta .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-karta .modal-close:hover svg { stroke: var(--bg-void); }
body.page-karta .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-karta .modal-head { margin-bottom: 32px; }
body.page-karta .modal-head .eyebrow { margin-bottom: 16px; }
body.page-karta .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-karta .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-karta .modal form { display: grid; gap: 22px; }
body.page-karta .field { position: relative; }
body.page-karta .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-karta .field label .req { color: var(--gold); }
body.page-karta .field input, body.page-karta .field select, body.page-karta .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-karta .field input:focus, body.page-karta .field select:focus, body.page-karta .field textarea:focus { border-bottom-color: var(--gold); }
body.page-karta .field input::placeholder, body.page-karta .field textarea::placeholder { color: var(--text-muted); }
body.page-karta .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-karta .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-karta .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-karta .consent input { display: none; }
body.page-karta .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-karta .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-karta .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-karta .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-karta .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-karta .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-karta .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-karta .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-karta .sticky-sidebar { position: relative; top: 0; }
body.page-karta .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-karta .price-card.popular { transform: none; }
body.page-karta .price-card.popular:hover { transform: translateY(-6px); }
body.page-karta .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-karta .faq-left { position: relative; top: 0; }
body.page-karta .related-grid { grid-template-columns: 1fr 1fr; }
body.page-karta .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-karta .container { padding: 0 20px; }
body.page-karta .nav-menu, body.page-karta .nav-phone { display: none; }
body.page-karta .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-karta .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-karta .service-hero { padding: 130px 0 80px; }
body.page-karta .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-karta .included-list { grid-template-columns: 1fr; }
body.page-karta .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-karta .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-karta .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-karta .timeline::before { left: 23px; }
body.page-karta .related-grid { grid-template-columns: 1fr; }
body.page-karta .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-karta .hero-side-card { padding: 28px; }
body.page-karta .modal { padding: 32px 24px; }
}

/* ===== PAGE: zamena  (zamena-voditelskih-prav.html) ===== */
body.page-zamena { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-zamena * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-zamena *::selection { background: var(--gold); color: var(--bg-void); }
body.page-zamena { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-zamena { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-zamena img, body.page-zamena video { max-width: 100%; display: block; }
body.page-zamena a { color: inherit; text-decoration: none; }
body.page-zamena button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-zamena .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-zamena::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-zamena .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-zamena .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-zamena h1, body.page-zamena h2, body.page-zamena h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-zamena .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-zamena .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-zamena .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-zamena .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-zamena .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-zamena .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-zamena .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-zamena .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-zamena .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-zamena .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-zamena .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-zamena .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-zamena .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-zamena .btn-primary:hover::after { left: 120%; }
body.page-zamena .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-zamena .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-zamena .btn-ghost .btn-arrow { background: var(--gold); }
body.page-zamena .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-zamena .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-zamena .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-zamena .site-header.scrolled { padding: 14px 0; }
body.page-zamena .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-zamena .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-zamena .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-zamena .logo-mark svg { width: 100%; height: 100%; }
body.page-zamena .logo-text { line-height: 1; }
body.page-zamena .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-zamena .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-zamena .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-zamena .nav-menu a.active { color: var(--gold); }
body.page-zamena .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-zamena .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-zamena .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-zamena .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-zamena .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-zamena .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-zamena .nav-phone:hover { color: var(--gold); }
body.page-zamena .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-zamena .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-zamena .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-zamena .menu-toggle { display: none; }
@keyframes p_zamena_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_zamena_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-zamena .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-zamena .reveal.in { opacity: 1; transform: translateY(0); }
body.page-zamena .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-zamena .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-zamena .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-zamena .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-zamena .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-zamena .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-zamena .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-zamena .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-zamena .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_zamena_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-zamena .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-zamena .breadcrumbs a:hover { color: var(--gold); }
body.page-zamena .breadcrumbs .sep { color: var(--border-strong); }
body.page-zamena .breadcrumbs .current { color: var(--gold); }
body.page-zamena .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-zamena .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_zamena_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-zamena .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_zamena_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-zamena .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-zamena .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-zamena .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_zamena_pulse-dot 1.5s ease-in-out infinite; }
body.page-zamena .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-zamena .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-zamena .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_zamena_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-zamena .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_zamena_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-zamena .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_zamena_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-zamena .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-zamena .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-zamena .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-zamena .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_zamena_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-zamena .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_zamena_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-zamena .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-zamena .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-zamena .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-zamena .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-zamena .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-zamena .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-zamena .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-zamena .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-zamena .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-zamena .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-zamena .side-card-cta { width: 100%; justify-content: center; }
body.page-zamena .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-zamena .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-zamena .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-zamena .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-zamena .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-zamena .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-zamena .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-zamena .sub-nav a.active { color: var(--gold); }
body.page-zamena .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-zamena .sub-nav a:hover { color: var(--text-primary); }
body.page-zamena .sec { padding: 120px 0; position: relative; }
body.page-zamena .sec-head { margin-bottom: 56px; }
body.page-zamena .sec-head .eyebrow { margin-bottom: 20px; }
body.page-zamena .sec-head h2 { margin-bottom: 16px; }
body.page-zamena .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-zamena .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-zamena .intro::before { content: 'PRAWO';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-zamena .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-zamena .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-zamena .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-zamena .intro-content p:last-child { margin-bottom: 0; }
body.page-zamena .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-zamena .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-zamena .types-section { padding: 120px 0; }
body.page-zamena .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-zamena .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-zamena .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-zamena .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-zamena .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-zamena .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-zamena .tab-panel { display: none;
  opacity: 0;
  animation: p_zamena_fadeUp 0.6s var(--ease-out) forwards; }
body.page-zamena .tab-panel.active { display: grid; }
body.page-zamena .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-zamena .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-zamena .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-zamena .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-zamena .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-zamena .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-zamena .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-zamena .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-zamena .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-zamena .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-zamena .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-zamena .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-zamena .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-zamena .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-zamena .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-zamena .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-zamena .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-zamena .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-zamena .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-zamena .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-zamena .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-zamena .main-content > section:first-child { padding-top: 0; }
body.page-zamena .main-content > section:last-child { border-bottom: none; }
body.page-zamena .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-zamena .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-zamena .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-zamena .included-list li:hover { padding-left: 8px; }
body.page-zamena .included-list li:hover .checkmark { background: var(--gold); }
body.page-zamena .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-zamena .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-zamena .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-zamena .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-zamena .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-zamena .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-zamena .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-zamena .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-zamena .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-zamena .timeline-step:hover { transform: translateX(4px); }
body.page-zamena .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-zamena .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-zamena .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-zamena .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-zamena .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-zamena .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-zamena .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-zamena .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-zamena .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-zamena .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-zamena .docs-panel { display: none; }
body.page-zamena .docs-panel.active { display: grid; gap: 8px; animation: p_zamena_fadeUp 0.4s var(--ease-out); }
body.page-zamena .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-zamena .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-zamena .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-zamena .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-zamena .doc-info { flex-grow: 1; }
body.page-zamena .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-zamena .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-zamena .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-zamena .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-zamena .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-zamena .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-zamena .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-zamena .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-zamena .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-zamena .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-zamena .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-zamena .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-zamena .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-zamena .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-zamena .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-zamena .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-zamena .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-zamena .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-zamena .price-value { margin-bottom: 32px; }
body.page-zamena .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-zamena .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-zamena .price-card.popular .price-value .num { color: var(--gold); }
body.page-zamena .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-zamena .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-zamena .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-zamena .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-zamena .price-features li.muted { color: var(--text-muted); }
body.page-zamena .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-zamena .price-card .btn { width: 100%; justify-content: center; }
body.page-zamena .faq-section { padding: 120px 0; }
body.page-zamena .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-zamena .faq-left { position: sticky; top: 160px; }
body.page-zamena .faq-left h2 { margin-bottom: 20px; }
body.page-zamena .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-zamena .faq-list { display: grid; gap: 8px; }
body.page-zamena .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-zamena .faq-item:hover { border-color: var(--gold-deep); }
body.page-zamena .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-zamena .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-zamena .faq-item.open .faq-q { color: var(--gold); }
body.page-zamena .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-zamena .faq-toggle::before, body.page-zamena .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-zamena .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-zamena .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-zamena .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-zamena .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-zamena .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-zamena .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-zamena .faq-item.open .faq-a { max-height: 400px; }
body.page-zamena .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-zamena .faq-a-inner p { margin-bottom: 12px; }
body.page-zamena .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-zamena .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-zamena .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-zamena .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-zamena .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-zamena .final-cta-inner .eyebrow { justify-content: center; }
body.page-zamena .final-cta-inner .eyebrow::before { display: none; }
body.page-zamena .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-zamena .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-zamena .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-zamena .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-zamena .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-zamena .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-zamena .related-section { padding: 120px 0; }
body.page-zamena .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-zamena .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-zamena .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-zamena .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-zamena .related-card:hover::before { opacity: 1; }
body.page-zamena .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-zamena .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-zamena .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-zamena .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-zamena .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-zamena .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-zamena .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-zamena .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-zamena .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-zamena .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-zamena .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-zamena .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-zamena .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-zamena .footer-top a, body.page-zamena .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-zamena .footer-top a:hover { color: var(--gold); }
body.page-zamena .footer-brand .logo { margin-bottom: 20px; }
body.page-zamena .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-zamena .footer-socials { display: flex; gap: 10px; }
body.page-zamena .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-zamena .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-zamena .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-zamena .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-zamena .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-zamena .footer-legal { display: flex; gap: 24px; }
body.page-zamena .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-zamena .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-zamena .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-zamena .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-zamena .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-zamena .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-zamena .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-zamena .modal-close:hover svg { stroke: var(--bg-void); }
body.page-zamena .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-zamena .modal-head { margin-bottom: 32px; }
body.page-zamena .modal-head .eyebrow { margin-bottom: 16px; }
body.page-zamena .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-zamena .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-zamena .modal form { display: grid; gap: 22px; }
body.page-zamena .field { position: relative; }
body.page-zamena .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-zamena .field label .req { color: var(--gold); }
body.page-zamena .field input, body.page-zamena .field select, body.page-zamena .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-zamena .field input:focus, body.page-zamena .field select:focus, body.page-zamena .field textarea:focus { border-bottom-color: var(--gold); }
body.page-zamena .field input::placeholder, body.page-zamena .field textarea::placeholder { color: var(--text-muted); }
body.page-zamena .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-zamena .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-zamena .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-zamena .consent input { display: none; }
body.page-zamena .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-zamena .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-zamena .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-zamena .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-zamena .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-zamena .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-zamena .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-zamena .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-zamena .sticky-sidebar { position: relative; top: 0; }
body.page-zamena .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-zamena .price-card.popular { transform: none; }
body.page-zamena .price-card.popular:hover { transform: translateY(-6px); }
body.page-zamena .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-zamena .faq-left { position: relative; top: 0; }
body.page-zamena .related-grid { grid-template-columns: 1fr 1fr; }
body.page-zamena .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-zamena .container { padding: 0 20px; }
body.page-zamena .nav-menu, body.page-zamena .nav-phone { display: none; }
body.page-zamena .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-zamena .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-zamena .service-hero { padding: 130px 0 80px; }
body.page-zamena .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-zamena .included-list { grid-template-columns: 1fr; }
body.page-zamena .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-zamena .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-zamena .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-zamena .timeline::before { left: 23px; }
body.page-zamena .related-grid { grid-template-columns: 1fr; }
body.page-zamena .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-zamena .hero-side-card { padding: 28px; }
body.page-zamena .modal { padding: 32px 24px; }
}

/* ===== PAGE: uskorenie  (uskorenie-dokumentov.html) ===== */
body.page-uskorenie { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-uskorenie * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-uskorenie *::selection { background: var(--gold); color: var(--bg-void); }
body.page-uskorenie { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-uskorenie { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-uskorenie img, body.page-uskorenie video { max-width: 100%; display: block; }
body.page-uskorenie a { color: inherit; text-decoration: none; }
body.page-uskorenie button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-uskorenie .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-uskorenie::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-uskorenie .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-uskorenie .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-uskorenie h1, body.page-uskorenie h2, body.page-uskorenie h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-uskorenie .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-uskorenie .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-uskorenie .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-uskorenie .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-uskorenie .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-uskorenie .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-uskorenie .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-uskorenie .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-uskorenie .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-uskorenie .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-uskorenie .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-uskorenie .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-uskorenie .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-uskorenie .btn-primary:hover::after { left: 120%; }
body.page-uskorenie .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-uskorenie .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-uskorenie .btn-ghost .btn-arrow { background: var(--gold); }
body.page-uskorenie .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-uskorenie .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-uskorenie .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-uskorenie .site-header.scrolled { padding: 14px 0; }
body.page-uskorenie .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-uskorenie .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-uskorenie .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-uskorenie .logo-mark svg { width: 100%; height: 100%; }
body.page-uskorenie .logo-text { line-height: 1; }
body.page-uskorenie .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-uskorenie .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-uskorenie .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-uskorenie .nav-menu a.active { color: var(--gold); }
body.page-uskorenie .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-uskorenie .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-uskorenie .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-uskorenie .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-uskorenie .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-uskorenie .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-uskorenie .nav-phone:hover { color: var(--gold); }
body.page-uskorenie .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-uskorenie .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-uskorenie .menu-toggle { display: none; }
@keyframes p_uskorenie_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_uskorenie_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-uskorenie .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-uskorenie .reveal.in { opacity: 1; transform: translateY(0); }
body.page-uskorenie .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-uskorenie .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-uskorenie .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-uskorenie .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-uskorenie .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-uskorenie .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-uskorenie .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-uskorenie .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-uskorenie .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-uskorenie .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-uskorenie .breadcrumbs a:hover { color: var(--gold); }
body.page-uskorenie .breadcrumbs .sep { color: var(--border-strong); }
body.page-uskorenie .breadcrumbs .current { color: var(--gold); }
body.page-uskorenie .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-uskorenie .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-uskorenie .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-uskorenie .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-uskorenie .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-uskorenie .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_uskorenie_pulse-dot 1.5s ease-in-out infinite; }
body.page-uskorenie .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-uskorenie .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-uskorenie .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-uskorenie .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-uskorenie .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-uskorenie .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-uskorenie .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-uskorenie .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-uskorenie .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-uskorenie .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-uskorenie .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-uskorenie .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-uskorenie .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-uskorenie .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-uskorenie .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-uskorenie .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-uskorenie .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-uskorenie .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-uskorenie .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-uskorenie .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-uskorenie .side-card-cta { width: 100%; justify-content: center; }
body.page-uskorenie .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-uskorenie .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-uskorenie .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-uskorenie .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-uskorenie .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-uskorenie .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-uskorenie .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-uskorenie .sub-nav a.active { color: var(--gold); }
body.page-uskorenie .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-uskorenie .sub-nav a:hover { color: var(--text-primary); }
body.page-uskorenie .sec { padding: 120px 0; position: relative; }
body.page-uskorenie .sec-head { margin-bottom: 56px; }
body.page-uskorenie .sec-head .eyebrow { margin-bottom: 20px; }
body.page-uskorenie .sec-head h2 { margin-bottom: 16px; }
body.page-uskorenie .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-uskorenie .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-uskorenie .intro::before { content: 'PONAGLENIE';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-uskorenie .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-uskorenie .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-uskorenie .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-uskorenie .intro-content p:last-child { margin-bottom: 0; }
body.page-uskorenie .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-uskorenie .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-uskorenie .types-section { padding: 120px 0; }
body.page-uskorenie .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-uskorenie .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-uskorenie .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-uskorenie .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-uskorenie .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-uskorenie .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-uskorenie .tab-panel { display: none;
  opacity: 0;
  animation: p_uskorenie_fadeUp 0.6s var(--ease-out) forwards; }
body.page-uskorenie .tab-panel.active { display: grid; }
body.page-uskorenie .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-uskorenie .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-uskorenie .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-uskorenie .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-uskorenie .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-uskorenie .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-uskorenie .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-uskorenie .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-uskorenie .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-uskorenie .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-uskorenie .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-uskorenie .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-uskorenie .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-uskorenie .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-uskorenie .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-uskorenie .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-uskorenie .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-uskorenie .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-uskorenie .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-uskorenie .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-uskorenie .main-content > section:first-child { padding-top: 0; }
body.page-uskorenie .main-content > section:last-child { border-bottom: none; }
body.page-uskorenie .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-uskorenie .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-uskorenie .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-uskorenie .included-list li:hover { padding-left: 8px; }
body.page-uskorenie .included-list li:hover .checkmark { background: var(--gold); }
body.page-uskorenie .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-uskorenie .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-uskorenie .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-uskorenie .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-uskorenie .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-uskorenie .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-uskorenie .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-uskorenie .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-uskorenie .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-uskorenie .timeline-step:hover { transform: translateX(4px); }
body.page-uskorenie .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-uskorenie .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-uskorenie .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-uskorenie .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-uskorenie .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-uskorenie .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-uskorenie .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-uskorenie .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-uskorenie .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-uskorenie .docs-panel { display: none; }
body.page-uskorenie .docs-panel.active { display: grid; gap: 8px; animation: p_uskorenie_fadeUp 0.4s var(--ease-out); }
body.page-uskorenie .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-uskorenie .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-uskorenie .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-uskorenie .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-uskorenie .doc-info { flex-grow: 1; }
body.page-uskorenie .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-uskorenie .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-uskorenie .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-uskorenie .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-uskorenie .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-uskorenie .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-uskorenie .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-uskorenie .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-uskorenie .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-uskorenie .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-uskorenie .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-uskorenie .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-uskorenie .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-uskorenie .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-uskorenie .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-uskorenie .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-uskorenie .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-uskorenie .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-uskorenie .price-value { margin-bottom: 32px; }
body.page-uskorenie .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-uskorenie .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-uskorenie .price-card.popular .price-value .num { color: var(--gold); }
body.page-uskorenie .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-uskorenie .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-uskorenie .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-uskorenie .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-uskorenie .price-features li.muted { color: var(--text-muted); }
body.page-uskorenie .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-uskorenie .price-card .btn { width: 100%; justify-content: center; }
body.page-uskorenie .faq-section { padding: 120px 0; }
body.page-uskorenie .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-uskorenie .faq-left { position: sticky; top: 160px; }
body.page-uskorenie .faq-left h2 { margin-bottom: 20px; }
body.page-uskorenie .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-uskorenie .faq-list { display: grid; gap: 8px; }
body.page-uskorenie .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-uskorenie .faq-item:hover { border-color: var(--gold-deep); }
body.page-uskorenie .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-uskorenie .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-uskorenie .faq-item.open .faq-q { color: var(--gold); }
body.page-uskorenie .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .faq-toggle::before, body.page-uskorenie .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-uskorenie .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-uskorenie .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-uskorenie .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-uskorenie .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-uskorenie .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-uskorenie .faq-item.open .faq-a { max-height: 400px; }
body.page-uskorenie .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-uskorenie .faq-a-inner p { margin-bottom: 12px; }
body.page-uskorenie .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-uskorenie .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-uskorenie .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-uskorenie .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-uskorenie .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-uskorenie .final-cta-inner .eyebrow { justify-content: center; }
body.page-uskorenie .final-cta-inner .eyebrow::before { display: none; }
body.page-uskorenie .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-uskorenie .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-uskorenie .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-uskorenie .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-uskorenie .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-uskorenie .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-uskorenie .related-section { padding: 120px 0; }
body.page-uskorenie .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-uskorenie .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-uskorenie .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-uskorenie .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-uskorenie .related-card:hover::before { opacity: 1; }
body.page-uskorenie .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-uskorenie .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-uskorenie .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-uskorenie .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-uskorenie .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-uskorenie .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-uskorenie .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-uskorenie .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-uskorenie .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-uskorenie .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-uskorenie .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-uskorenie .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-uskorenie .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-uskorenie .footer-top a, body.page-uskorenie .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-uskorenie .footer-top a:hover { color: var(--gold); }
body.page-uskorenie .footer-brand .logo { margin-bottom: 20px; }
body.page-uskorenie .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-uskorenie .footer-socials { display: flex; gap: 10px; }
body.page-uskorenie .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-uskorenie .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-uskorenie .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-uskorenie .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-uskorenie .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-uskorenie .footer-legal { display: flex; gap: 24px; }
body.page-uskorenie .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-uskorenie .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-uskorenie .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-uskorenie .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-uskorenie .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-uskorenie .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-uskorenie .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-uskorenie .modal-close:hover svg { stroke: var(--bg-void); }
body.page-uskorenie .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-uskorenie .modal-head { margin-bottom: 32px; }
body.page-uskorenie .modal-head .eyebrow { margin-bottom: 16px; }
body.page-uskorenie .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-uskorenie .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-uskorenie .modal form { display: grid; gap: 22px; }
body.page-uskorenie .field { position: relative; }
body.page-uskorenie .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-uskorenie .field label .req { color: var(--gold); }
body.page-uskorenie .field input, body.page-uskorenie .field select, body.page-uskorenie .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-uskorenie .field input:focus, body.page-uskorenie .field select:focus, body.page-uskorenie .field textarea:focus { border-bottom-color: var(--gold); }
body.page-uskorenie .field input::placeholder, body.page-uskorenie .field textarea::placeholder { color: var(--text-muted); }
body.page-uskorenie .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-uskorenie .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-uskorenie .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-uskorenie .consent input { display: none; }
body.page-uskorenie .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-uskorenie .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-uskorenie .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-uskorenie .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-uskorenie .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-uskorenie .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-uskorenie .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-uskorenie .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-uskorenie .sticky-sidebar { position: relative; top: 0; }
body.page-uskorenie .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-uskorenie .price-card.popular { transform: none; }
body.page-uskorenie .price-card.popular:hover { transform: translateY(-6px); }
body.page-uskorenie .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-uskorenie .faq-left { position: relative; top: 0; }
body.page-uskorenie .related-grid { grid-template-columns: 1fr 1fr; }
body.page-uskorenie .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-uskorenie .container { padding: 0 20px; }
body.page-uskorenie .nav-menu, body.page-uskorenie .nav-phone { display: none; }
body.page-uskorenie .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-uskorenie .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-uskorenie .service-hero { padding: 130px 0 80px; }
body.page-uskorenie .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-uskorenie .included-list { grid-template-columns: 1fr; }
body.page-uskorenie .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-uskorenie .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-uskorenie .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-uskorenie .timeline::before { left: 23px; }
body.page-uskorenie .related-grid { grid-template-columns: 1fr; }
body.page-uskorenie .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-uskorenie .hero-side-card { padding: 28px; }
body.page-uskorenie .modal { padding: 32px 24px; }
}

/* ===== PAGE: strahovanie  (strahovanie-avto.html) ===== */
body.page-strahovanie { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-strahovanie * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-strahovanie *::selection { background: var(--gold); color: var(--bg-void); }
body.page-strahovanie { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-strahovanie { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-strahovanie img, body.page-strahovanie video { max-width: 100%; display: block; }
body.page-strahovanie a { color: inherit; text-decoration: none; }
body.page-strahovanie button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-strahovanie .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-strahovanie::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-strahovanie .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-strahovanie .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-strahovanie h1, body.page-strahovanie h2, body.page-strahovanie h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-strahovanie .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-strahovanie .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-strahovanie .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-strahovanie .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-strahovanie .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-strahovanie .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-strahovanie .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-strahovanie .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-strahovanie .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-strahovanie .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-strahovanie .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-strahovanie .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-strahovanie .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-strahovanie .btn-primary:hover::after { left: 120%; }
body.page-strahovanie .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-strahovanie .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-strahovanie .btn-ghost .btn-arrow { background: var(--gold); }
body.page-strahovanie .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-strahovanie .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-strahovanie .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-strahovanie .site-header.scrolled { padding: 14px 0; }
body.page-strahovanie .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-strahovanie .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-strahovanie .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-strahovanie .logo-mark svg { width: 100%; height: 100%; }
body.page-strahovanie .logo-text { line-height: 1; }
body.page-strahovanie .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-strahovanie .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-strahovanie .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-strahovanie .nav-menu a.active { color: var(--gold); }
body.page-strahovanie .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-strahovanie .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-strahovanie .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-strahovanie .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-strahovanie .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-strahovanie .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-strahovanie .nav-phone:hover { color: var(--gold); }
body.page-strahovanie .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-strahovanie .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-strahovanie .menu-toggle { display: none; }
@keyframes p_strahovanie_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_strahovanie_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-strahovanie .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-strahovanie .reveal.in { opacity: 1; transform: translateY(0); }
body.page-strahovanie .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-strahovanie .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-strahovanie .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-strahovanie .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-strahovanie .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-strahovanie .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-strahovanie .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-strahovanie .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-strahovanie .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-strahovanie .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-strahovanie .breadcrumbs a:hover { color: var(--gold); }
body.page-strahovanie .breadcrumbs .sep { color: var(--border-strong); }
body.page-strahovanie .breadcrumbs .current { color: var(--gold); }
body.page-strahovanie .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-strahovanie .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-strahovanie .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-strahovanie .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-strahovanie .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-strahovanie .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_strahovanie_pulse-dot 1.5s ease-in-out infinite; }
body.page-strahovanie .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-strahovanie .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-strahovanie .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-strahovanie .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-strahovanie .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-strahovanie .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-strahovanie .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-strahovanie .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-strahovanie .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-strahovanie .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-strahovanie .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-strahovanie .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-strahovanie .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-strahovanie .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-strahovanie .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-strahovanie .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-strahovanie .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-strahovanie .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-strahovanie .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-strahovanie .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-strahovanie .side-card-cta { width: 100%; justify-content: center; }
body.page-strahovanie .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-strahovanie .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-strahovanie .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-strahovanie .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-strahovanie .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-strahovanie .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-strahovanie .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-strahovanie .sub-nav a.active { color: var(--gold); }
body.page-strahovanie .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-strahovanie .sub-nav a:hover { color: var(--text-primary); }
body.page-strahovanie .sec { padding: 120px 0; position: relative; }
body.page-strahovanie .sec-head { margin-bottom: 56px; }
body.page-strahovanie .sec-head .eyebrow { margin-bottom: 20px; }
body.page-strahovanie .sec-head h2 { margin-bottom: 16px; }
body.page-strahovanie .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-strahovanie .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-strahovanie .intro::before { content: 'AUTO';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-strahovanie .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-strahovanie .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-strahovanie .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-strahovanie .intro-content p:last-child { margin-bottom: 0; }
body.page-strahovanie .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-strahovanie .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-strahovanie .types-section { padding: 120px 0; }
body.page-strahovanie .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-strahovanie .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-strahovanie .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-strahovanie .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-strahovanie .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-strahovanie .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-strahovanie .tab-panel { display: none;
  opacity: 0;
  animation: p_strahovanie_fadeUp 0.6s var(--ease-out) forwards; }
body.page-strahovanie .tab-panel.active { display: grid; }
body.page-strahovanie .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-strahovanie .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-strahovanie .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-strahovanie .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-strahovanie .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-strahovanie .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-strahovanie .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-strahovanie .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-strahovanie .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-strahovanie .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-strahovanie .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-strahovanie .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-strahovanie .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-strahovanie .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-strahovanie .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-strahovanie .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-strahovanie .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-strahovanie .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-strahovanie .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-strahovanie .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-strahovanie .main-content > section:first-child { padding-top: 0; }
body.page-strahovanie .main-content > section:last-child { border-bottom: none; }
body.page-strahovanie .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-strahovanie .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-strahovanie .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-strahovanie .included-list li:hover { padding-left: 8px; }
body.page-strahovanie .included-list li:hover .checkmark { background: var(--gold); }
body.page-strahovanie .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-strahovanie .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-strahovanie .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-strahovanie .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-strahovanie .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-strahovanie .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-strahovanie .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-strahovanie .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-strahovanie .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-strahovanie .timeline-step:hover { transform: translateX(4px); }
body.page-strahovanie .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-strahovanie .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-strahovanie .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-strahovanie .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-strahovanie .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-strahovanie .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-strahovanie .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-strahovanie .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-strahovanie .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-strahovanie .docs-panel { display: none; }
body.page-strahovanie .docs-panel.active { display: grid; gap: 8px; animation: p_strahovanie_fadeUp 0.4s var(--ease-out); }
body.page-strahovanie .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-strahovanie .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-strahovanie .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-strahovanie .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-strahovanie .doc-info { flex-grow: 1; }
body.page-strahovanie .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-strahovanie .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-strahovanie .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-strahovanie .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-strahovanie .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-strahovanie .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-strahovanie .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-strahovanie .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-strahovanie .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-strahovanie .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-strahovanie .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-strahovanie .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-strahovanie .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-strahovanie .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-strahovanie .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-strahovanie .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-strahovanie .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-strahovanie .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-strahovanie .price-value { margin-bottom: 32px; }
body.page-strahovanie .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-strahovanie .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-strahovanie .price-card.popular .price-value .num { color: var(--gold); }
body.page-strahovanie .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-strahovanie .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-strahovanie .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-strahovanie .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-strahovanie .price-features li.muted { color: var(--text-muted); }
body.page-strahovanie .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-strahovanie .price-card .btn { width: 100%; justify-content: center; }
body.page-strahovanie .faq-section { padding: 120px 0; }
body.page-strahovanie .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-strahovanie .faq-left { position: sticky; top: 160px; }
body.page-strahovanie .faq-left h2 { margin-bottom: 20px; }
body.page-strahovanie .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-strahovanie .faq-list { display: grid; gap: 8px; }
body.page-strahovanie .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-strahovanie .faq-item:hover { border-color: var(--gold-deep); }
body.page-strahovanie .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-strahovanie .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-strahovanie .faq-item.open .faq-q { color: var(--gold); }
body.page-strahovanie .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .faq-toggle::before, body.page-strahovanie .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-strahovanie .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-strahovanie .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-strahovanie .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-strahovanie .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-strahovanie .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-strahovanie .faq-item.open .faq-a { max-height: 400px; }
body.page-strahovanie .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-strahovanie .faq-a-inner p { margin-bottom: 12px; }
body.page-strahovanie .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-strahovanie .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-strahovanie .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-strahovanie .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-strahovanie .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-strahovanie .final-cta-inner .eyebrow { justify-content: center; }
body.page-strahovanie .final-cta-inner .eyebrow::before { display: none; }
body.page-strahovanie .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-strahovanie .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-strahovanie .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-strahovanie .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-strahovanie .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-strahovanie .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-strahovanie .related-section { padding: 120px 0; }
body.page-strahovanie .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-strahovanie .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-strahovanie .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-strahovanie .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-strahovanie .related-card:hover::before { opacity: 1; }
body.page-strahovanie .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-strahovanie .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-strahovanie .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-strahovanie .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-strahovanie .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-strahovanie .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-strahovanie .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-strahovanie .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-strahovanie .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-strahovanie .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-strahovanie .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-strahovanie .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-strahovanie .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-strahovanie .footer-top a, body.page-strahovanie .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-strahovanie .footer-top a:hover { color: var(--gold); }
body.page-strahovanie .footer-brand .logo { margin-bottom: 20px; }
body.page-strahovanie .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-strahovanie .footer-socials { display: flex; gap: 10px; }
body.page-strahovanie .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-strahovanie .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-strahovanie .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-strahovanie .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-strahovanie .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-strahovanie .footer-legal { display: flex; gap: 24px; }
body.page-strahovanie .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-strahovanie .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-strahovanie .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-strahovanie .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-strahovanie .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-strahovanie .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-strahovanie .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-strahovanie .modal-close:hover svg { stroke: var(--bg-void); }
body.page-strahovanie .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-strahovanie .modal-head { margin-bottom: 32px; }
body.page-strahovanie .modal-head .eyebrow { margin-bottom: 16px; }
body.page-strahovanie .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-strahovanie .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-strahovanie .modal form { display: grid; gap: 22px; }
body.page-strahovanie .field { position: relative; }
body.page-strahovanie .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-strahovanie .field label .req { color: var(--gold); }
body.page-strahovanie .field input, body.page-strahovanie .field select, body.page-strahovanie .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-strahovanie .field input:focus, body.page-strahovanie .field select:focus, body.page-strahovanie .field textarea:focus { border-bottom-color: var(--gold); }
body.page-strahovanie .field input::placeholder, body.page-strahovanie .field textarea::placeholder { color: var(--text-muted); }
body.page-strahovanie .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-strahovanie .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-strahovanie .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-strahovanie .consent input { display: none; }
body.page-strahovanie .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-strahovanie .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-strahovanie .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-strahovanie .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-strahovanie .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-strahovanie .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-strahovanie .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-strahovanie .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-strahovanie .sticky-sidebar { position: relative; top: 0; }
body.page-strahovanie .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-strahovanie .price-card.popular { transform: none; }
body.page-strahovanie .price-card.popular:hover { transform: translateY(-6px); }
body.page-strahovanie .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-strahovanie .faq-left { position: relative; top: 0; }
body.page-strahovanie .related-grid { grid-template-columns: 1fr 1fr; }
body.page-strahovanie .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-strahovanie .container { padding: 0 20px; }
body.page-strahovanie .nav-menu, body.page-strahovanie .nav-phone { display: none; }
body.page-strahovanie .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-strahovanie .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-strahovanie .service-hero { padding: 130px 0 80px; }
body.page-strahovanie .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-strahovanie .included-list { grid-template-columns: 1fr; }
body.page-strahovanie .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-strahovanie .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-strahovanie .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-strahovanie .timeline::before { left: 23px; }
body.page-strahovanie .related-grid { grid-template-columns: 1fr; }
body.page-strahovanie .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-strahovanie .hero-side-card { padding: 28px; }
body.page-strahovanie .modal { padding: 32px 24px; }
}

/* ===== PAGE: biznes  (otkrytie-biznesa.html) ===== */
body.page-biznes { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-biznes * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-biznes *::selection { background: var(--gold); color: var(--bg-void); }
body.page-biznes { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-biznes { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-biznes img, body.page-biznes video { max-width: 100%; display: block; }
body.page-biznes a { color: inherit; text-decoration: none; }
body.page-biznes button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-biznes .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-biznes::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-biznes .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-biznes .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-biznes h1, body.page-biznes h2, body.page-biznes h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-biznes .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-biznes .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-biznes .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-biznes .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-biznes .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-biznes .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-biznes .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-biznes .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-biznes .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-biznes .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-biznes .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-biznes .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-biznes .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-biznes .btn-primary:hover::after { left: 120%; }
body.page-biznes .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-biznes .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-biznes .btn-ghost .btn-arrow { background: var(--gold); }
body.page-biznes .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-biznes .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-biznes .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-biznes .site-header.scrolled { padding: 14px 0; }
body.page-biznes .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-biznes .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-biznes .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-biznes .logo-mark svg { width: 100%; height: 100%; }
body.page-biznes .logo-text { line-height: 1; }
body.page-biznes .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-biznes .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-biznes .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-biznes .nav-menu a.active { color: var(--gold); }
body.page-biznes .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-biznes .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-biznes .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-biznes .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-biznes .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-biznes .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-biznes .nav-phone:hover { color: var(--gold); }
body.page-biznes .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-biznes .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-biznes .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-biznes .menu-toggle { display: none; }
@keyframes p_biznes_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_biznes_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-biznes .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-biznes .reveal.in { opacity: 1; transform: translateY(0); }
body.page-biznes .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-biznes .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-biznes .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-biznes .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-biznes .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-biznes .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-biznes .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-biznes .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-biznes .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_biznes_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-biznes .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-biznes .breadcrumbs a:hover { color: var(--gold); }
body.page-biznes .breadcrumbs .sep { color: var(--border-strong); }
body.page-biznes .breadcrumbs .current { color: var(--gold); }
body.page-biznes .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-biznes .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_biznes_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-biznes .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_biznes_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-biznes .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-biznes .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-biznes .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_biznes_pulse-dot 1.5s ease-in-out infinite; }
body.page-biznes .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-biznes .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-biznes .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_biznes_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-biznes .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_biznes_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-biznes .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_biznes_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-biznes .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-biznes .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-biznes .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-biznes .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_biznes_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-biznes .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_biznes_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-biznes .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-biznes .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-biznes .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-biznes .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-biznes .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-biznes .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-biznes .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-biznes .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-biznes .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-biznes .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-biznes .side-card-cta { width: 100%; justify-content: center; }
body.page-biznes .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-biznes .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-biznes .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-biznes .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-biznes .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-biznes .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-biznes .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-biznes .sub-nav a.active { color: var(--gold); }
body.page-biznes .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-biznes .sub-nav a:hover { color: var(--text-primary); }
body.page-biznes .sec { padding: 120px 0; position: relative; }
body.page-biznes .sec-head { margin-bottom: 56px; }
body.page-biznes .sec-head .eyebrow { margin-bottom: 20px; }
body.page-biznes .sec-head h2 { margin-bottom: 16px; }
body.page-biznes .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-biznes .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-biznes .intro::before { content: 'SPÓŁKA';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-biznes .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-biznes .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-biznes .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-biznes .intro-content p:last-child { margin-bottom: 0; }
body.page-biznes .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-biznes .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-biznes .types-section { padding: 120px 0; }
body.page-biznes .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-biznes .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-biznes .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-biznes .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-biznes .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-biznes .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-biznes .tab-panel { display: none;
  opacity: 0;
  animation: p_biznes_fadeUp 0.6s var(--ease-out) forwards; }
body.page-biznes .tab-panel.active { display: grid; }
body.page-biznes .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-biznes .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-biznes .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-biznes .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-biznes .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-biznes .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-biznes .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-biznes .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-biznes .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-biznes .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-biznes .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-biznes .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-biznes .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-biznes .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-biznes .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-biznes .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-biznes .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-biznes .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-biznes .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-biznes .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-biznes .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-biznes .main-content > section:first-child { padding-top: 0; }
body.page-biznes .main-content > section:last-child { border-bottom: none; }
body.page-biznes .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-biznes .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-biznes .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-biznes .included-list li:hover { padding-left: 8px; }
body.page-biznes .included-list li:hover .checkmark { background: var(--gold); }
body.page-biznes .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-biznes .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-biznes .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-biznes .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-biznes .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-biznes .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-biznes .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-biznes .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-biznes .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-biznes .timeline-step:hover { transform: translateX(4px); }
body.page-biznes .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-biznes .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-biznes .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-biznes .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-biznes .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-biznes .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-biznes .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-biznes .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-biznes .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-biznes .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-biznes .docs-panel { display: none; }
body.page-biznes .docs-panel.active { display: grid; gap: 8px; animation: p_biznes_fadeUp 0.4s var(--ease-out); }
body.page-biznes .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-biznes .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-biznes .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-biznes .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-biznes .doc-info { flex-grow: 1; }
body.page-biznes .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-biznes .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-biznes .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-biznes .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-biznes .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-biznes .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-biznes .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-biznes .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-biznes .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-biznes .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-biznes .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-biznes .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-biznes .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-biznes .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-biznes .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-biznes .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-biznes .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-biznes .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-biznes .price-value { margin-bottom: 32px; }
body.page-biznes .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-biznes .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-biznes .price-card.popular .price-value .num { color: var(--gold); }
body.page-biznes .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-biznes .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-biznes .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-biznes .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-biznes .price-features li.muted { color: var(--text-muted); }
body.page-biznes .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-biznes .price-card .btn { width: 100%; justify-content: center; }
body.page-biznes .faq-section { padding: 120px 0; }
body.page-biznes .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-biznes .faq-left { position: sticky; top: 160px; }
body.page-biznes .faq-left h2 { margin-bottom: 20px; }
body.page-biznes .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-biznes .faq-list { display: grid; gap: 8px; }
body.page-biznes .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-biznes .faq-item:hover { border-color: var(--gold-deep); }
body.page-biznes .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-biznes .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-biznes .faq-item.open .faq-q { color: var(--gold); }
body.page-biznes .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-biznes .faq-toggle::before, body.page-biznes .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-biznes .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-biznes .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-biznes .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-biznes .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-biznes .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-biznes .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-biznes .faq-item.open .faq-a { max-height: 400px; }
body.page-biznes .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-biznes .faq-a-inner p { margin-bottom: 12px; }
body.page-biznes .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-biznes .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-biznes .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-biznes .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-biznes .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-biznes .final-cta-inner .eyebrow { justify-content: center; }
body.page-biznes .final-cta-inner .eyebrow::before { display: none; }
body.page-biznes .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-biznes .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-biznes .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-biznes .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-biznes .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-biznes .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-biznes .related-section { padding: 120px 0; }
body.page-biznes .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-biznes .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-biznes .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-biznes .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-biznes .related-card:hover::before { opacity: 1; }
body.page-biznes .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-biznes .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-biznes .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-biznes .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-biznes .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-biznes .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-biznes .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-biznes .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-biznes .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-biznes .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-biznes .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-biznes .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-biznes .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-biznes .footer-top a, body.page-biznes .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-biznes .footer-top a:hover { color: var(--gold); }
body.page-biznes .footer-brand .logo { margin-bottom: 20px; }
body.page-biznes .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-biznes .footer-socials { display: flex; gap: 10px; }
body.page-biznes .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-biznes .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-biznes .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-biznes .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-biznes .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-biznes .footer-legal { display: flex; gap: 24px; }
body.page-biznes .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-biznes .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-biznes .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-biznes .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-biznes .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-biznes .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-biznes .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-biznes .modal-close:hover svg { stroke: var(--bg-void); }
body.page-biznes .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-biznes .modal-head { margin-bottom: 32px; }
body.page-biznes .modal-head .eyebrow { margin-bottom: 16px; }
body.page-biznes .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-biznes .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-biznes .modal form { display: grid; gap: 22px; }
body.page-biznes .field { position: relative; }
body.page-biznes .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-biznes .field label .req { color: var(--gold); }
body.page-biznes .field input, body.page-biznes .field select, body.page-biznes .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-biznes .field input:focus, body.page-biznes .field select:focus, body.page-biznes .field textarea:focus { border-bottom-color: var(--gold); }
body.page-biznes .field input::placeholder, body.page-biznes .field textarea::placeholder { color: var(--text-muted); }
body.page-biznes .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-biznes .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-biznes .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-biznes .consent input { display: none; }
body.page-biznes .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-biznes .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-biznes .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-biznes .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-biznes .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-biznes .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-biznes .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-biznes .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-biznes .sticky-sidebar { position: relative; top: 0; }
body.page-biznes .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-biznes .price-card.popular { transform: none; }
body.page-biznes .price-card.popular:hover { transform: translateY(-6px); }
body.page-biznes .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-biznes .faq-left { position: relative; top: 0; }
body.page-biznes .related-grid { grid-template-columns: 1fr 1fr; }
body.page-biznes .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-biznes .container { padding: 0 20px; }
body.page-biznes .nav-menu, body.page-biznes .nav-phone { display: none; }
body.page-biznes .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-biznes .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-biznes .service-hero { padding: 130px 0 80px; }
body.page-biznes .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-biznes .included-list { grid-template-columns: 1fr; }
body.page-biznes .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-biznes .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-biznes .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-biznes .timeline::before { left: 23px; }
body.page-biznes .related-grid { grid-template-columns: 1fr; }
body.page-biznes .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-biznes .hero-side-card { padding: 28px; }
body.page-biznes .modal { padding: 32px 24px; }
}

/* ===== PAGE: about  (about.html) ===== */
body.page-about { --bg-void: #07070a; --bg-base: #0c0c10; --bg-elevated: #131318;
  --bg-card: #16161c; --bg-card-hover: #1c1c24;
  --border-subtle: #1f1f28; --border-strong: #2a2a36;
  --gold: #d4af6a; --gold-bright: #e8c98a; --gold-deep: #a88248;
  --gold-glow: rgba(212, 175, 106, 0.35); --gold-soft: rgba(212, 175, 106, 0.08);
  --text-primary: #f4f1ea; --text-secondary: #a8a39a; --text-muted: #6b6860;
  --font-display: 'Unbounded', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-body: 'Manrope', sans-serif;
  --container: 1320px;
  --radius-sm: 8px; --radius: 16px; --radius-lg: 24px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); }
body.page-about * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-about *::selection { background: var(--gold); color: var(--bg-void); }
body.page-about { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.page-about { font-family: var(--font-body); background: var(--bg-void); color: var(--text-primary); line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.page-about img, body.page-about video { max-width: 100%; display: block; }
body.page-about a { color: inherit; text-decoration: none; }
body.page-about button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-about .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-about::before { content: ''; position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999; mix-blend-mode: overlay; }
body.page-about .eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-about .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-about h1, body.page-about h2, body.page-about h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; }
body.page-about .h-display { font-family: var(--font-display); font-weight: 300;
  font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: 0.98; letter-spacing: -0.03em; }
body.page-about .h-display em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-about .h-section { font-family: var(--font-display); font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.75rem); letter-spacing: -0.025em; line-height: 1.05; }
body.page-about .h-section em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-about .btn { position: relative; display: inline-flex; align-items: center; gap: 14px;
  padding: 18px 32px; border-radius: 100px;
  font-size: 14px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase;
  cursor: pointer; transition: all 0.5s var(--ease-out); overflow: hidden; white-space: nowrap; }
body.page-about .btn-arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-about .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-about .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-about .btn-primary:hover { background: var(--gold-bright); box-shadow: 0 16px 40px -10px var(--gold-glow); transform: translateY(-2px); }
body.page-about .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-about .btn-primary::after { content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent); transition: left 0.8s ease; }
body.page-about .btn-primary:hover::after { left: 120%; }
body.page-about .btn-ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); }
body.page-about .btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
body.page-about .btn-ghost .btn-arrow { background: var(--gold); }
body.page-about .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-about .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-about .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 20px 0; transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-about .site-header.scrolled { padding: 14px 0; }
body.page-about .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-about .logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 500; font-size: 16px; letter-spacing: 0.05em; }
body.page-about .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-about .logo-mark svg { width: 100%; height: 100%; }
body.page-about .logo-text { line-height: 1; }
body.page-about .logo-text span { display: block; font-family: var(--font-body); font-size: 9px; font-weight: 400; letter-spacing: 0.3em; color: var(--gold); margin-top: 4px; }
body.page-about .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-about .nav-menu a { position: relative; font-size: 13px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); transition: color 0.3s; padding: 6px 0; }
body.page-about .nav-menu a.active { color: var(--gold); }
body.page-about .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--gold); }
body.page-about .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--gold); transition: width 0.4s var(--ease-out); }
body.page-about .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-about .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-about .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-about .nav-phone { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--text-primary); transition: color 0.3s; }
body.page-about .nav-phone:hover { color: var(--gold); }
body.page-about .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-about .btn-header { padding: 14px 24px; background: var(--gold); color: var(--bg-void); border-radius: 100px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transition: all 0.4s var(--ease-out); }
body.page-about .btn-header:hover { background: var(--gold-bright); box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-about .menu-toggle { display: none; }
@keyframes p_about_fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes p_about_pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes p_about_float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
body.page-about .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-about .reveal.in { opacity: 1; transform: translateY(0); }
body.page-about .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-about .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-about .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-about .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-about .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-about .page-hero { padding: 180px 0 100px; position: relative; overflow: hidden;
  border-bottom: 1px solid var(--border-subtle); background: var(--bg-void); }
body.page-about .page-hero::before { content: ''; position: absolute; width: 900px; height: 900px; border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -300px; right: -200px; z-index: 0; }
body.page-about .page-hero::after { content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-about .breadcrumbs { display: flex; align-items: center; gap: 12px;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 56px;
  position: relative; z-index: 1;
  opacity: 0; animation: p_about_fadeUp 0.8s var(--ease-out) 0.15s forwards; }
body.page-about .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-about .breadcrumbs a:hover { color: var(--gold); }
body.page-about .breadcrumbs .sep { color: var(--border-strong); }
body.page-about .breadcrumbs .current { color: var(--gold); }
body.page-about .hero-content { position: relative; z-index: 1; max-width: 900px; }
body.page-about .hero-eyebrow { margin-bottom: 36px; opacity: 0; animation: p_about_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-about .hero-title { margin-bottom: 36px; opacity: 0; animation: p_about_fadeUp 0.9s var(--ease-out) 0.45s forwards; }
body.page-about .hero-sub { font-size: 18px; color: var(--text-secondary); line-height: 1.65; max-width: 720px;
  opacity: 0; animation: p_about_fadeUp 0.9s var(--ease-out) 0.6s forwards; }
body.page-about .story-section { padding: 140px 0; position: relative; overflow: hidden; }
body.page-about .story-section::before { content: 'EST·2019'; position: absolute; right: -40px; top: 40px;
  font-family: var(--font-display); font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200; color: var(--bg-card); letter-spacing: -0.05em;
  line-height: 1; z-index: 0; pointer-events: none; }
body.page-about .story-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px;
  align-items: start; position: relative; z-index: 1; }
body.page-about .story-left { position: sticky; top: 120px; }
body.page-about .story-left .eyebrow { margin-bottom: 28px; }
body.page-about .story-left h2 { margin-bottom: 24px; }
body.page-about .story-left > p { font-size: 16px; color: var(--text-secondary); line-height: 1.7; }
body.page-about .story-content p { font-size: 17px; color: var(--text-secondary); line-height: 1.8; margin-bottom: 28px; }
body.page-about .story-content p:last-child { margin-bottom: 0; }
body.page-about .story-content strong { color: var(--text-primary); font-weight: 500; }
body.page-about .story-pull { border-left: 2px solid var(--gold); padding: 24px 0 24px 32px;
  margin: 40px 0; font-family: var(--font-serif);
  font-style: italic; font-size: 26px; line-height: 1.45;
  color: var(--text-primary); max-width: 620px; }
body.page-about .story-pull cite { display: block; margin-top: 16px; font-family: var(--font-body);
  font-style: normal; font-size: 13px; color: var(--gold);
  letter-spacing: 0.15em; text-transform: uppercase; font-weight: 500; }
body.page-about .stats-strip { padding: 80px 0; background: var(--bg-base);
  border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }
body.page-about .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
body.page-about .stat-block { text-align: center; padding: 0 32px;
  border-right: 1px solid var(--border-subtle); }
body.page-about .stat-block:last-child { border-right: none; }
body.page-about .stat-num { font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 300; color: var(--gold);
  letter-spacing: -0.03em; line-height: 1; margin-bottom: 16px;
  display: flex; align-items: baseline; justify-content: center; gap: 4px; }
body.page-about .stat-num .plus { font-size: 0.55em; opacity: 0.7; }
body.page-about .stat-label { font-size: 12px; color: var(--text-secondary);
  letter-spacing: 0.12em; text-transform: uppercase; }
body.page-about .values { padding: 140px 0; }
body.page-about .section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
  align-items: end; margin-bottom: 64px; }
body.page-about .section-head .index { font-family: var(--font-display); font-size: 14px; color: var(--gold);
  display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
body.page-about .section-head .index::after { content: ''; width: 50px; height: 1px; background: var(--gold); }
body.page-about .section-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 480px; }
body.page-about .values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
body.page-about .value-card { position: relative;
  background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius);
  padding: 44px 36px; overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-about .value-card:hover { border-color: var(--gold); transform: translateY(-6px); background: var(--bg-card-hover); }
body.page-about .value-card .v-num { position: absolute; top: 28px; right: 32px;
  font-family: var(--font-display); font-size: 13px;
  color: var(--text-muted); letter-spacing: 0.05em; }
body.page-about .value-card .v-icon { width: 64px; height: 64px; border-radius: 50%;
  background: var(--bg-void); border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 28px;
  transition: all 0.5s var(--ease-out); }
body.page-about .value-card .v-icon svg { width: 26px; height: 26px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-about .value-card:hover .v-icon { background: var(--gold); border-color: var(--gold); }
body.page-about .value-card:hover .v-icon svg { stroke: var(--bg-void); }
body.page-about .value-card h3 { font-family: var(--font-display); font-size: 21px; font-weight: 400;
  margin-bottom: 14px; line-height: 1.25; }
body.page-about .value-card h3 em { font-family: var(--font-serif); font-style: italic; color: var(--gold); font-weight: 500; }
body.page-about .value-card p { color: var(--text-secondary); font-size: 14.5px; line-height: 1.65; }
body.page-about .history { padding: 140px 0; background: var(--bg-base);
  border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle);
  position: relative; overflow: hidden; }
body.page-about .history::before { content: ''; position: absolute; width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; left: -250px; pointer-events: none; }
body.page-about .history-container { position: relative; z-index: 1; }
body.page-about .timeline { position: relative; margin-top: 64px;
  display: grid; gap: 0; }
body.page-about .timeline::before { content: ''; position: absolute;
  top: 32px; bottom: 32px; left: 39px;
  width: 1px; background: linear-gradient(180deg, var(--gold) 0%, var(--gold) 70%, var(--border-strong) 100%); }
body.page-about .timeline-event { display: grid; grid-template-columns: 80px 1fr 200px;
  gap: 32px; align-items: start;
  padding: 36px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-about .timeline-event:hover { transform: translateX(6px); }
body.page-about .timeline-year { position: relative; z-index: 1;
  width: 80px; height: 80px; border-radius: 50%;
  background: var(--bg-void); border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 16px; font-weight: 400;
  color: var(--gold);
  transition: all 0.5s var(--ease-out);
  flex-shrink: 0; }
body.page-about .timeline-event:hover .timeline-year { background: var(--gold); color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-about .timeline-content h4 { font-family: var(--font-display); font-size: 22px; font-weight: 400;
  margin-bottom: 12px; letter-spacing: -0.01em; }
body.page-about .timeline-content h4 em { font-family: var(--font-serif); font-style: italic; color: var(--gold); font-weight: 500; }
body.page-about .timeline-content p { color: var(--text-secondary); font-size: 15px; line-height: 1.7;
  max-width: 540px; }
body.page-about .timeline-stat { text-align: right;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px; }
body.page-about .timeline-stat strong { display: block;
  font-family: var(--font-display); font-size: 28px;
  color: var(--gold); font-weight: 300; letter-spacing: -0.02em;
  margin-bottom: 4px; line-height: 1; }
body.page-about .team-section { padding: 140px 0; }
body.page-about .team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  margin-top: 64px; }
body.page-about .team-card { position: relative; background: var(--bg-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-about .team-card:hover { border-color: var(--gold); transform: translateY(-6px); }
body.page-about .team-avatar { aspect-ratio: 1 / 1; position: relative; overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%); }
body.page-about .team-avatar::before { content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, rgba(212, 175, 106, 0.18), transparent 60%); }
body.page-about .team-initials { position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 80px;
  font-weight: 200; color: var(--gold);
  letter-spacing: -0.04em;
  transition: transform 0.6s var(--ease-out); }
body.page-about .team-card:hover .team-initials { transform: scale(1.08); }
body.page-about .team-tag { position: absolute; top: 16px; left: 16px; z-index: 2;
  font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 100px;
  background: rgba(7,7,10,0.7); backdrop-filter: blur(12px);
  border: 1px solid var(--gold); color: var(--gold); }
body.page-about .team-info { padding: 28px; }
body.page-about .team-info h4 { font-family: var(--font-display); font-size: 19px; font-weight: 400;
  margin-bottom: 6px; letter-spacing: -0.01em; }
body.page-about .team-role { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px; }
body.page-about .team-bio { color: var(--text-secondary); font-size: 13.5px; line-height: 1.6; margin-bottom: 20px; }
body.page-about .team-meta { display: flex; gap: 16px;
  padding-top: 18px; border-top: 1px solid var(--border-subtle);
  font-size: 11px; color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-about .team-meta span { display: flex; align-items: center; gap: 6px; }
body.page-about .team-meta svg { width: 12px; height: 12px; stroke: var(--gold); fill: none; }
body.page-about .office-section { padding: 140px 0; background: var(--bg-base);
  border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }
body.page-about .office-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
  align-items: center; }
body.page-about .office-info .eyebrow { margin-bottom: 24px; }
body.page-about .office-info h2 { margin-bottom: 28px; }
body.page-about .office-info > p { font-size: 16px; color: var(--text-secondary); line-height: 1.7;
  margin-bottom: 36px; max-width: 480px; }
body.page-about .office-features { list-style: none; display: grid; gap: 18px;
  margin-bottom: 40px; }
body.page-about .office-features li { display: flex; align-items: center; gap: 20px;
  padding: 18px 0; border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s; }
body.page-about .office-features li:hover { padding-left: 12px; }
body.page-about .office-features li:hover .of-icon { background: var(--gold); border-color: var(--gold); }
body.page-about .office-features li:hover .of-icon svg { stroke: var(--bg-void); }
body.page-about .of-icon { width: 44px; height: 44px; border-radius: 50%;
  background: var(--bg-card); border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: all 0.3s; }
body.page-about .of-icon svg { width: 18px; height: 18px; stroke: var(--gold); fill: none; stroke-width: 1.5; transition: stroke 0.3s; }
body.page-about .of-text { font-size: 14px; }
body.page-about .of-text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-about .of-text span { color: var(--text-muted); font-size: 12px; }
body.page-about .office-visual { position: relative; aspect-ratio: 4 / 5; border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle); }
body.page-about .office-visual::before { content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%); }
body.page-about .office-svg { position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center; }
body.page-about .office-svg svg { width: 80%; height: auto;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5)); }
body.page-about .office-badge { position: absolute; top: 24px; right: 24px; z-index: 2;
  background: rgba(7,7,10,0.7); backdrop-filter: blur(12px);
  border: 1px solid var(--gold);
  padding: 14px 20px; border-radius: 100px;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold); font-weight: 500; }
body.page-about .office-pin-badge { position: absolute; bottom: 24px; right: 24px;
  width: 140px; height: 140px; border-radius: 50%;
  background: var(--gold); color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 12px;
  text-align: center; line-height: 1.3;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5);
  animation: p_about_float 5s ease-in-out infinite; }
body.page-about .office-pin-badge strong { display: block; font-family: var(--font-serif);
  font-style: italic; font-size: 24px; font-weight: 600; margin-bottom: 2px; }
body.page-about .trust { padding: 140px 0; }
body.page-about .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-top: 56px; }
body.page-about .trust-card { background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius); padding: 32px;
  transition: all 0.4s var(--ease-out);
  position: relative; overflow: hidden; }
body.page-about .trust-card:hover { border-color: var(--gold); transform: translateY(-4px); }
body.page-about .trust-card::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px;
  height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0; transition: opacity 0.4s; }
body.page-about .trust-card:hover::before { opacity: 1; }
body.page-about .trust-icon { width: 52px; height: 52px; border-radius: 14px;
  background: var(--bg-void); border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-about .trust-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-about .trust-card:hover .trust-icon { background: var(--gold); border-color: var(--gold); }
body.page-about .trust-card:hover .trust-icon svg { stroke: var(--bg-void); }
body.page-about .trust-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 400;
  margin-bottom: 8px; }
body.page-about .trust-card .num { font-family: var(--font-display); font-size: 24px;
  color: var(--gold); font-weight: 300; letter-spacing: -0.01em;
  margin-bottom: 12px; }
body.page-about .trust-card p { color: var(--text-secondary); font-size: 13.5px; line-height: 1.6; }
body.page-about .final-cta { padding: 140px 0; background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative; overflow: hidden; }
body.page-about .final-cta::before { content: ''; position: absolute; width: 800px; height: 800px; border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-about .final-cta-inner { text-align: center; position: relative; z-index: 1;
  max-width: 760px; margin: 0 auto; }
body.page-about .final-cta-inner .eyebrow { justify-content: center; }
body.page-about .final-cta-inner .eyebrow::before { display: none; }
body.page-about .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-about .final-cta-inner > p { color: var(--text-secondary); font-size: 17px; line-height: 1.65;
  margin: 0 auto 48px; max-width: 560px; }
body.page-about .final-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
body.page-about .site-footer { padding: 80px 0 32px; background: var(--bg-void); border-top: 1px solid var(--border-subtle); }
body.page-about .footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--border-subtle); }
body.page-about .footer-top h4 { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; font-weight: 500; }
body.page-about .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-about .footer-top a, body.page-about .footer-top li { font-size: 14px; color: var(--text-secondary); transition: color 0.3s; }
body.page-about .footer-top a:hover { color: var(--gold); }
body.page-about .footer-brand .logo { margin-bottom: 20px; }
body.page-about .footer-brand p { font-size: 14px; line-height: 1.65; color: var(--text-secondary); margin-bottom: 24px; max-width: 320px; }
body.page-about .footer-socials { display: flex; gap: 10px; }
body.page-about .footer-socials a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; transition: all 0.4s var(--ease-out); }
body.page-about .footer-socials a:hover { background: var(--gold); border-color: var(--gold); transform: translateY(-3px); }
body.page-about .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-about .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-about .footer-bottom { padding-top: 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--text-muted); }
body.page-about .footer-legal { display: flex; gap: 24px; }
body.page-about .modal-backdrop { position: fixed; inset: 0; background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(12px); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 32px; opacity: 0; visibility: hidden; transition: opacity 0.5s, visibility 0.5s; }
body.page-about .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-about .modal { background: var(--bg-elevated); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); max-width: 560px; width: 100%; padding: 48px; position: relative; transform: scale(0.95) translateY(20px); transition: transform 0.5s var(--ease-out); max-height: 92vh; overflow-y: auto; }
body.page-about .modal::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-about .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-about .modal-close { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
body.page-about .modal-close:hover { border-color: var(--gold); background: var(--gold); transform: rotate(90deg); }
body.page-about .modal-close:hover svg { stroke: var(--bg-void); }
body.page-about .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-about .modal-head { margin-bottom: 32px; }
body.page-about .modal-head .eyebrow { margin-bottom: 16px; }
body.page-about .modal-head h3 { font-family: var(--font-display); font-size: 28px; font-weight: 400; line-height: 1.15; margin-bottom: 12px; }
body.page-about .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-about .modal form { display: grid; gap: 22px; }
body.page-about .field { position: relative; }
body.page-about .field label { display: block; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; font-weight: 500; }
body.page-about .field label .req { color: var(--gold); }
body.page-about .field input, body.page-about .field select, body.page-about .field textarea { width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--border-strong); padding: 14px 0; color: var(--text-primary); font-family: var(--font-body); font-size: 15px; transition: border-color 0.3s; outline: none; resize: vertical; }
body.page-about .field input:focus, body.page-about .field select:focus, body.page-about .field textarea:focus { border-bottom-color: var(--gold); }
body.page-about .field input::placeholder, body.page-about .field textarea::placeholder { color: var(--text-muted); }
body.page-about .field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 8px center; background-size: 12px; padding-right: 28px; cursor: pointer; }
body.page-about .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-about .consent { display: flex; align-items: flex-start; gap: 14px; font-size: 13px; color: var(--text-secondary); line-height: 1.55; cursor: pointer; }
body.page-about .consent input { display: none; }
body.page-about .consent .check { width: 18px; height: 18px; border: 1px solid var(--border-strong); border-radius: 4px; flex-shrink: 0; margin-top: 2px; position: relative; transition: all 0.3s; }
body.page-about .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-about .consent input:checked + .check::after { content: ''; position: absolute; left: 5px; top: 2px; width: 5px; height: 10px; border-right: 2px solid var(--bg-void); border-bottom: 2px solid var(--bg-void); transform: rotate(45deg); }
body.page-about .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-about .story-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-about .story-left { position: relative; top: 0; }
body.page-about .stats-grid { grid-template-columns: 1fr 1fr; gap: 48px 0; }
body.page-about .stat-block:nth-child(2) { border-right: none; }
body.page-about .stat-block:nth-child(1), body.page-about .stat-block:nth-child(2) { padding-bottom: 48px; border-bottom: 1px solid var(--border-subtle); }
body.page-about .values-grid { grid-template-columns: 1fr 1fr; }
body.page-about .team-grid { grid-template-columns: 1fr 1fr; }
body.page-about .office-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-about .trust-grid { grid-template-columns: 1fr; }
body.page-about .section-head { grid-template-columns: 1fr; }
body.page-about .timeline-event { grid-template-columns: 64px 1fr; gap: 20px; }
body.page-about .timeline-stat { grid-column: 1 / -1; text-align: left; padding-left: 84px; margin-top: -16px; }
body.page-about .timeline::before { left: 31px; }
body.page-about .timeline-year { width: 64px; height: 64px; font-size: 14px; }
body.page-about .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-about .container { padding: 0 20px; }
body.page-about .nav-menu, body.page-about .nav-phone { display: none; }
body.page-about .menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-strong); }
body.page-about .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-about .page-hero { padding: 130px 0 70px; }
body.page-about .stats-grid { grid-template-columns: 1fr; }
body.page-about .stat-block { border-right: none !important; border-bottom: 1px solid var(--border-subtle); padding-bottom: 32px !important; }
body.page-about .stat-block:last-child { border-bottom: none; padding-bottom: 0 !important; }
body.page-about .values-grid, body.page-about .team-grid { grid-template-columns: 1fr; }
body.page-about .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-about .modal { padding: 32px 24px; }
body.page-about .story-pull { font-size: 20px; padding-left: 20px; }
}

/* ===== PAGE: contacts  (contacts.html) ===== */
body.page-contacts { --bg-void: #07070a; --bg-base: #0c0c10; --bg-elevated: #131318;
  --bg-card: #16161c; --bg-card-hover: #1c1c24;
  --border-subtle: #1f1f28; --border-strong: #2a2a36;
  --gold: #d4af6a; --gold-bright: #e8c98a; --gold-deep: #a88248;
  --gold-glow: rgba(212, 175, 106, 0.35); --gold-soft: rgba(212, 175, 106, 0.08);
  --text-primary: #f4f1ea; --text-secondary: #a8a39a; --text-muted: #6b6860;
  --font-display: 'Unbounded', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-body: 'Manrope', sans-serif;
  --container: 1320px;
  --radius-sm: 8px; --radius: 16px; --radius-lg: 24px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); }
body.page-contacts * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-contacts *::selection { background: var(--gold); color: var(--bg-void); }
body.page-contacts { scroll-behavior: smooth; }
body.page-contacts { font-family: var(--font-body); background: var(--bg-void); color: var(--text-primary); line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.page-contacts img, body.page-contacts video { max-width: 100%; display: block; }
body.page-contacts a { color: inherit; text-decoration: none; }
body.page-contacts button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-contacts .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-contacts::before { content: ''; position: fixed; inset: 0; 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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E"); opacity: 0.035; pointer-events: none; z-index: 9999; mix-blend-mode: overlay; }
body.page-contacts .eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; }
body.page-contacts .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-contacts h1, body.page-contacts h2, body.page-contacts h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; }
body.page-contacts .h-display { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: 0.98; letter-spacing: -0.03em; }
body.page-contacts .h-display em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-contacts .h-section { font-family: var(--font-display); font-weight: 300; font-size: clamp(2rem, 4.5vw, 3.75rem); letter-spacing: -0.025em; line-height: 1.05; }
body.page-contacts .h-section em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-contacts .btn { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 18px 32px; border-radius: 100px; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: all 0.5s var(--ease-out); overflow: hidden; white-space: nowrap; }
body.page-contacts .btn-arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-void); display: flex; align-items: center; justify-content: center; transition: transform 0.5s var(--ease-out); }
body.page-contacts .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-contacts .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-contacts .btn-primary:hover { background: var(--gold-bright); box-shadow: 0 16px 40px -10px var(--gold-glow); transform: translateY(-2px); }
body.page-contacts .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-contacts .btn-primary::after { content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent); transition: left 0.8s ease; }
body.page-contacts .btn-primary:hover::after { left: 120%; }
body.page-contacts .btn-ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); }
body.page-contacts .btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
body.page-contacts .btn-ghost .btn-arrow { background: var(--gold); }
body.page-contacts .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-contacts .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-contacts .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 20px 0; transition: all 0.4s var(--ease-out); background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-subtle); }
body.page-contacts .site-header.scrolled { padding: 14px 0; }
body.page-contacts .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-contacts .logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 500; font-size: 16px; letter-spacing: 0.05em; }
body.page-contacts .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-contacts .logo-mark svg { width: 100%; height: 100%; }
body.page-contacts .logo-text { line-height: 1; }
body.page-contacts .logo-text span { display: block; font-family: var(--font-body); font-size: 9px; font-weight: 400; letter-spacing: 0.3em; color: var(--gold); margin-top: 4px; }
body.page-contacts .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-contacts .nav-menu a { position: relative; font-size: 13px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); transition: color 0.3s; padding: 6px 0; }
body.page-contacts .nav-menu a.active { color: var(--gold); }
body.page-contacts .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--gold); }
body.page-contacts .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--gold); transition: width 0.4s var(--ease-out); }
body.page-contacts .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-contacts .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-contacts .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-contacts .nav-phone { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--text-primary); transition: color 0.3s; }
body.page-contacts .nav-phone:hover { color: var(--gold); }
body.page-contacts .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-contacts .btn-header { padding: 14px 24px; background: var(--gold); color: var(--bg-void); border-radius: 100px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transition: all 0.4s var(--ease-out); }
body.page-contacts .btn-header:hover { background: var(--gold-bright); box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-contacts .menu-toggle { display: none; }
@keyframes p_contacts_fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes p_contacts_pinPulse { 0% { box-shadow: 0 0 0 0 var(--gold-glow); } 100% { box-shadow: 0 0 0 40px rgba(212, 175, 106, 0); } }
@keyframes p_contacts_float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
body.page-contacts .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-contacts .reveal.in { opacity: 1; transform: translateY(0); }
body.page-contacts .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-contacts .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-contacts .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-contacts .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-contacts .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-contacts .page-hero { padding: 180px 0 80px; position: relative; overflow: hidden; border-bottom: 1px solid var(--border-subtle); background: var(--bg-void); }
body.page-contacts .page-hero::before { content: ''; position: absolute; width: 900px; height: 900px; border-radius: 50%; background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%); top: -300px; right: -200px; z-index: 0; }
body.page-contacts .page-hero::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%); pointer-events: none; }
body.page-contacts .breadcrumbs { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 56px; position: relative; z-index: 1; opacity: 0; animation: p_contacts_fadeUp 0.8s var(--ease-out) 0.15s forwards; }
body.page-contacts .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-contacts .breadcrumbs a:hover { color: var(--gold); }
body.page-contacts .breadcrumbs .sep { color: var(--border-strong); }
body.page-contacts .breadcrumbs .current { color: var(--gold); }
body.page-contacts .hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
body.page-contacts .hero-left .eyebrow { margin-bottom: 32px; opacity: 0; animation: p_contacts_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-contacts .hero-title { margin-bottom: 32px; opacity: 0; animation: p_contacts_fadeUp 0.9s var(--ease-out) 0.45s forwards; }
body.page-contacts .hero-sub { font-size: 17px; color: var(--text-secondary); line-height: 1.65; max-width: 540px; opacity: 0; animation: p_contacts_fadeUp 0.9s var(--ease-out) 0.6s forwards; }
body.page-contacts .hero-quick { display: grid; gap: 12px; opacity: 0; animation: p_contacts_fadeUp 0.9s var(--ease-out) 0.75s forwards; }
body.page-contacts .hero-quick-item { display: flex; align-items: center; gap: 18px; padding: 22px 28px; background: rgba(22, 22, 28, 0.55); backdrop-filter: blur(20px); border: 1px solid var(--border-subtle); border-radius: var(--radius); transition: all 0.4s var(--ease-out); }
body.page-contacts .hero-quick-item:hover { border-color: var(--gold); transform: translateX(-4px); }
body.page-contacts .hero-quick-item:hover .hqi-icon { background: var(--gold); border-color: var(--gold); }
body.page-contacts .hero-quick-item:hover .hqi-icon svg { stroke: var(--bg-void); }
body.page-contacts .hqi-icon { width: 48px; height: 48px; border-radius: 50%; background: var(--bg-void); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.4s; }
body.page-contacts .hqi-icon svg { width: 18px; height: 18px; stroke: var(--gold); fill: none; stroke-width: 1.5; transition: stroke 0.3s; }
body.page-contacts .hqi-text .label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
body.page-contacts .hqi-text .val { font-family: var(--font-display); font-size: 18px; color: var(--text-primary); font-weight: 400; letter-spacing: -0.01em; }
body.page-contacts .methods { padding: 120px 0; }
body.page-contacts .section-head { margin-bottom: 64px; max-width: 720px; }
body.page-contacts .section-head .index { font-family: var(--font-display); font-size: 14px; color: var(--gold); display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
body.page-contacts .section-head .index::after { content: ''; width: 50px; height: 1px; background: var(--gold); }
body.page-contacts .section-head h2 { margin-bottom: 16px; }
body.page-contacts .section-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; }
body.page-contacts .methods-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
body.page-contacts .method-card { position: relative; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius); padding: 36px 28px; overflow: hidden; transition: all 0.5s var(--ease-out); text-align: center; }
body.page-contacts .method-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 30%, var(--gold-soft), transparent 60%); opacity: 0; transition: opacity 0.5s; pointer-events: none; }
body.page-contacts .method-card:hover { border-color: var(--gold); transform: translateY(-6px); }
body.page-contacts .method-card:hover::before { opacity: 1; }
body.page-contacts .method-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--bg-void); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; transition: all 0.5s var(--ease-out); }
body.page-contacts .method-icon svg { width: 24px; height: 24px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-contacts .method-card:hover .method-icon { background: var(--gold); border-color: var(--gold); transform: rotate(-6deg) scale(1.05); }
body.page-contacts .method-card:hover .method-icon svg { stroke: var(--bg-void); }
body.page-contacts .method-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }
body.page-contacts .method-card h3 { font-family: var(--font-display); font-size: 17px; font-weight: 400; margin-bottom: 14px; letter-spacing: -0.01em; }
body.page-contacts .method-card .meta { font-size: 12px; color: var(--text-muted); margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-subtle); letter-spacing: 0.04em; }
body.page-contacts .method-action { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gold); font-weight: 500; padding: 8px 0; position: relative; }
body.page-contacts .method-action::after { content: ''; position: absolute; left: 0; bottom: 4px; width: 100%; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease-out); }
body.page-contacts .method-card:hover .method-action::after { transform: scaleX(1); }
body.page-contacts .map-section { padding: 120px 0; background: var(--bg-base); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }
body.page-contacts .map-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 60px; align-items: center; }
body.page-contacts .contact-map { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-card); border: 1px solid var(--border-subtle); padding: 8px; }
body.page-contacts .contact-map-inner { width: 100%; height: 100%; border-radius: var(--radius); background: radial-gradient(ellipse at 60% 40%, rgba(212, 175, 106, 0.18), transparent 50%), linear-gradient(135deg, #14121a, #0a0a0e); position: relative; overflow: hidden; }
body.page-contacts .contact-map-inner::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(212, 175, 106, 0.07) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.07) 1px, transparent 1px); background-size: 60px 60px; pointer-events: none; }
body.page-contacts .contact-map-inner iframe { position: relative; z-index: 2; }
body.page-contacts .map-pin { display: none !important; }
body.page-contacts .map-streets { position: absolute; inset: 0; opacity: 0.4; }
body.page-contacts .map-streets svg { width: 100%; height: 100%; }
body.page-contacts .map-pin { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 16px; z-index: 2; }
body.page-contacts .map-pin .pin-dot { width: 22px; height: 22px; background: var(--gold); border-radius: 50%; position: relative; box-shadow: 0 0 0 0 var(--gold-glow); animation: p_contacts_pinPulse 2s ease-out infinite; border: 3px solid var(--bg-void); }
body.page-contacts .map-pin .pin-card { background: rgba(7, 7, 10, 0.9); backdrop-filter: blur(12px); padding: 16px 22px; border-radius: 14px; border: 1px solid var(--gold); min-width: 220px; text-align: center; }
body.page-contacts .map-pin .pin-card strong { display: block; font-family: var(--font-display); font-size: 14px; font-weight: 400; margin-bottom: 4px; }
body.page-contacts .map-pin .pin-card span { font-size: 11px; color: var(--text-secondary); letter-spacing: 0.04em; }
body.page-contacts .map-info > .eyebrow { margin-bottom: 24px; }
body.page-contacts .map-info h2 { margin-bottom: 28px; }
body.page-contacts .map-info > p { color: var(--text-secondary); font-size: 16px; line-height: 1.7; margin-bottom: 36px; }
body.page-contacts .directions-list { list-style: none; display: grid; gap: 14px; }
body.page-contacts .directions-list li { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border-subtle); transition: padding 0.3s; }
body.page-contacts .directions-list li:hover { padding-left: 8px; }
body.page-contacts .directions-list .d-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--bg-card); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.3s; }
body.page-contacts .directions-list .d-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-contacts .directions-list li:hover .d-icon { background: var(--gold); border-color: var(--gold); }
body.page-contacts .directions-list li:hover .d-icon svg { stroke: var(--bg-void); }
body.page-contacts .directions-list .d-text { font-size: 14px; }
body.page-contacts .directions-list .d-text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-contacts .directions-list .d-text span { color: var(--text-muted); font-size: 12px; }
body.page-contacts .form-section { padding: 140px 0; position: relative; overflow: hidden; }
body.page-contacts .form-section::before { content: ''; position: absolute; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%); top: -200px; right: -200px; pointer-events: none; }
body.page-contacts .form-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; align-items: start; }
body.page-contacts .form-left { position: sticky; top: 120px; }
body.page-contacts .form-left .eyebrow { margin-bottom: 24px; }
body.page-contacts .form-left h2 { margin-bottom: 24px; }
body.page-contacts .form-left > p { color: var(--text-secondary); font-size: 16px; line-height: 1.7; margin-bottom: 36px; }
body.page-contacts .form-features { list-style: none; display: grid; gap: 16px; }
body.page-contacts .form-features li { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--text-primary); }
body.page-contacts .form-features li svg { width: 18px; height: 18px; stroke: var(--gold); fill: none; stroke-width: 1.5; flex-shrink: 0; }
body.page-contacts .contact-form { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 48px; position: relative; }
body.page-contacts .contact-form::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-contacts .contact-form form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 28px; }
body.page-contacts .contact-form .full { grid-column: 1 / -1; }
body.page-contacts .field { position: relative; }
body.page-contacts .field label { display: block; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; font-weight: 500; }
body.page-contacts .field label .req { color: var(--gold); }
body.page-contacts .field input, body.page-contacts .field select, body.page-contacts .field textarea { width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--border-strong); padding: 14px 0; color: var(--text-primary); font-family: var(--font-body); font-size: 15px; transition: border-color 0.3s; outline: none; resize: vertical; }
body.page-contacts .field input:focus, body.page-contacts .field select:focus, body.page-contacts .field textarea:focus { border-bottom-color: var(--gold); }
body.page-contacts .field input::placeholder, body.page-contacts .field textarea::placeholder { color: var(--text-muted); }
body.page-contacts .field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 8px center; background-size: 12px; padding-right: 28px; cursor: pointer; }
body.page-contacts .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-contacts .consent { display: flex; align-items: flex-start; gap: 14px; font-size: 13px; color: var(--text-secondary); line-height: 1.55; cursor: pointer; }
body.page-contacts .consent input { display: none; }
body.page-contacts .consent .check { width: 18px; height: 18px; border: 1px solid var(--border-strong); border-radius: 4px; flex-shrink: 0; margin-top: 2px; position: relative; transition: all 0.3s; }
body.page-contacts .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-contacts .consent input:checked + .check::after { content: ''; position: absolute; left: 5px; top: 2px; width: 5px; height: 10px; border-right: 2px solid var(--bg-void); border-bottom: 2px solid var(--bg-void); transform: rotate(45deg); }
body.page-contacts .consent a { color: var(--gold); text-decoration: underline; }
body.page-contacts .contact-form button[type="submit"] { width: 100%; justify-content: center; }
body.page-contacts .social-cta { padding: 100px 0; background: var(--bg-base); border-top: 1px solid var(--border-subtle); }
body.page-contacts .social-cta-inner { text-align: center; max-width: 720px; margin: 0 auto; }
body.page-contacts .social-cta-inner .eyebrow { justify-content: center; margin-bottom: 24px; }
body.page-contacts .social-cta-inner .eyebrow::before { display: none; }
body.page-contacts .social-cta-inner h2 { margin-bottom: 16px; }
body.page-contacts .social-cta-inner > p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 48px; }
body.page-contacts .socials-row { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
body.page-contacts .social-btn { display: flex; align-items: center; gap: 12px; padding: 16px 28px; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 100px; font-size: 14px; font-weight: 500; transition: all 0.4s var(--ease-out); }
body.page-contacts .social-btn:hover { border-color: var(--gold); background: var(--bg-card-hover); transform: translateY(-3px); }
body.page-contacts .social-btn svg { width: 18px; height: 18px; fill: var(--gold); }
body.page-contacts .social-btn .name { color: var(--text-primary); }
body.page-contacts .social-btn .handle { color: var(--text-muted); font-size: 12px; }
body.page-contacts .site-footer { padding: 80px 0 32px; background: var(--bg-void); border-top: 1px solid var(--border-subtle); }
body.page-contacts .footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--border-subtle); }
body.page-contacts .footer-top h4 { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; font-weight: 500; }
body.page-contacts .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-contacts .footer-top a, body.page-contacts .footer-top li { font-size: 14px; color: var(--text-secondary); transition: color 0.3s; }
body.page-contacts .footer-top a:hover { color: var(--gold); }
body.page-contacts .footer-brand .logo { margin-bottom: 20px; }
body.page-contacts .footer-brand p { font-size: 14px; line-height: 1.65; color: var(--text-secondary); margin-bottom: 24px; max-width: 320px; }
body.page-contacts .footer-socials { display: flex; gap: 10px; }
body.page-contacts .footer-socials a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; transition: all 0.4s var(--ease-out); }
body.page-contacts .footer-socials a:hover { background: var(--gold); border-color: var(--gold); transform: translateY(-3px); }
body.page-contacts .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-contacts .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-contacts .footer-bottom { padding-top: 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--text-muted); }
body.page-contacts .footer-legal { display: flex; gap: 24px; }
@media (max-width: 1100px) {
body.page-contacts .hero-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-contacts .methods-grid { grid-template-columns: 1fr 1fr; }
body.page-contacts .map-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-contacts .form-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-contacts .form-left { position: relative; top: 0; }
body.page-contacts .contact-form form { grid-template-columns: 1fr; }
body.page-contacts .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-contacts .container { padding: 0 20px; }
body.page-contacts .nav-menu, body.page-contacts .nav-phone { display: none; }
body.page-contacts .menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-strong); }
body.page-contacts .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-contacts .page-hero { padding: 130px 0 70px; }
body.page-contacts .methods-grid { grid-template-columns: 1fr; }
body.page-contacts .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-contacts .contact-form { padding: 28px 24px; }
}

/* ===== PAGE: blog  (blog-archive.html) ===== */
body.page-blog { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-blog * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-blog *::selection { background: var(--gold); color: var(--bg-void); }
body.page-blog { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-blog { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-blog img, body.page-blog video { max-width: 100%; display: block; }
body.page-blog a { color: inherit; text-decoration: none; }
body.page-blog button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-blog .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-blog::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-blog .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-blog .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-blog h1, body.page-blog h2, body.page-blog h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-blog .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-blog .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-blog .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-blog .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-blog .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-blog .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-blog .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-blog .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-blog .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-blog .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-blog .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-blog .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-blog .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-blog .btn-primary:hover::after { left: 120%; }
body.page-blog .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-blog .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-blog .btn-ghost .btn-arrow { background: var(--gold); }
body.page-blog .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-blog .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-blog .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .site-header.scrolled { padding: 14px 0; }
body.page-blog .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-blog .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-blog .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-blog .logo-mark svg { width: 100%; height: 100%; }
body.page-blog .logo-text { line-height: 1; }
body.page-blog .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-blog .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-blog .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-blog .nav-menu a.active { color: var(--gold); }
body.page-blog .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-blog .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-blog .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-blog .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-blog .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-blog .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-blog .nav-phone:hover { color: var(--gold); }
body.page-blog .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-blog .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-blog .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-blog .menu-toggle { display: none; }
@keyframes p_blog_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_blog_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-blog .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-blog .reveal.in { opacity: 1; transform: translateY(0); }
body.page-blog .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-blog .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-blog .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-blog .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-blog .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-blog .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-blog .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-blog .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-blog .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_blog_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-blog .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-blog .breadcrumbs a:hover { color: var(--gold); }
body.page-blog .breadcrumbs .sep { color: var(--border-strong); }
body.page-blog .breadcrumbs .current { color: var(--gold); }
body.page-blog .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-blog .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_blog_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-blog .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_blog_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-blog .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-blog .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-blog .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_blog_pulse-dot 1.5s ease-in-out infinite; }
body.page-blog .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-blog .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-blog .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_blog_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-blog .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_blog_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-blog .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_blog_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-blog .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-blog .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-blog .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-blog .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_blog_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-blog .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_blog_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-blog .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-blog .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-blog .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-blog .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-blog .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-blog .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-blog .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-blog .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-blog .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-blog .side-card-cta { width: 100%; justify-content: center; }
body.page-blog .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-blog .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-blog .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-blog .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-blog .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-blog .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-blog .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-blog .sub-nav a.active { color: var(--gold); }
body.page-blog .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-blog .sub-nav a:hover { color: var(--text-primary); }
body.page-blog .sec { padding: 120px 0; position: relative; }
body.page-blog .sec-head { margin-bottom: 56px; }
body.page-blog .sec-head .eyebrow { margin-bottom: 20px; }
body.page-blog .sec-head h2 { margin-bottom: 16px; }
body.page-blog .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-blog .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-blog .intro::before { content: 'KARTA';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-blog .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-blog .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-blog .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-blog .intro-content p:last-child { margin-bottom: 0; }
body.page-blog .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-blog .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-blog .types-section { padding: 120px 0; }
body.page-blog .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-blog .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-blog .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-blog .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-blog .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-blog .tab-panel { display: none;
  opacity: 0;
  animation: p_blog_fadeUp 0.6s var(--ease-out) forwards; }
body.page-blog .tab-panel.active { display: grid; }
body.page-blog .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-blog .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-blog .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-blog .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-blog .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-blog .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-blog .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-blog .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-blog .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-blog .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-blog .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-blog .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-blog .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-blog .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-blog .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-blog .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-blog .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-blog .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-blog .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-blog .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-blog .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-blog .main-content > section:first-child { padding-top: 0; }
body.page-blog .main-content > section:last-child { border-bottom: none; }
body.page-blog .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-blog .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-blog .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-blog .included-list li:hover { padding-left: 8px; }
body.page-blog .included-list li:hover .checkmark { background: var(--gold); }
body.page-blog .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-blog .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-blog .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-blog .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-blog .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-blog .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-blog .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-blog .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-blog .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-blog .timeline-step:hover { transform: translateX(4px); }
body.page-blog .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-blog .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-blog .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-blog .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-blog .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-blog .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-blog .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-blog .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-blog .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-blog .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-blog .docs-panel { display: none; }
body.page-blog .docs-panel.active { display: grid; gap: 8px; animation: p_blog_fadeUp 0.4s var(--ease-out); }
body.page-blog .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-blog .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-blog .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-blog .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-blog .doc-info { flex-grow: 1; }
body.page-blog .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-blog .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-blog .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-blog .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-blog .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-blog .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-blog .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-blog .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-blog .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-blog .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-blog .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-blog .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-blog .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-blog .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-blog .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-blog .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-blog .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-blog .price-value { margin-bottom: 32px; }
body.page-blog .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-blog .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-blog .price-card.popular .price-value .num { color: var(--gold); }
body.page-blog .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-blog .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-blog .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-blog .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-blog .price-features li.muted { color: var(--text-muted); }
body.page-blog .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-blog .price-card .btn { width: 100%; justify-content: center; }
body.page-blog .faq-section { padding: 120px 0; }
body.page-blog .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-blog .faq-left { position: sticky; top: 160px; }
body.page-blog .faq-left h2 { margin-bottom: 20px; }
body.page-blog .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-blog .faq-list { display: grid; gap: 8px; }
body.page-blog .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-blog .faq-item:hover { border-color: var(--gold-deep); }
body.page-blog .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-blog .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-blog .faq-item.open .faq-q { color: var(--gold); }
body.page-blog .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-blog .faq-toggle::before, body.page-blog .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-blog .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-blog .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-blog .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-blog .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-blog .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-blog .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-blog .faq-item.open .faq-a { max-height: 400px; }
body.page-blog .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-blog .faq-a-inner p { margin-bottom: 12px; }
body.page-blog .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-blog .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-blog .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-blog .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-blog .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-blog .final-cta-inner .eyebrow { justify-content: center; }
body.page-blog .final-cta-inner .eyebrow::before { display: none; }
body.page-blog .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-blog .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-blog .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-blog .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-blog .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-blog .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-blog .related-section { padding: 120px 0; }
body.page-blog .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-blog .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-blog .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-blog .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-blog .related-card:hover::before { opacity: 1; }
body.page-blog .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-blog .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-blog .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-blog .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-blog .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-blog .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-blog .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-blog .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-blog .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-blog .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-blog .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-blog .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-blog .footer-top a, body.page-blog .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-blog .footer-top a:hover { color: var(--gold); }
body.page-blog .footer-brand .logo { margin-bottom: 20px; }
body.page-blog .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-blog .footer-socials { display: flex; gap: 10px; }
body.page-blog .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-blog .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-blog .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-blog .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-blog .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-blog .footer-legal { display: flex; gap: 24px; }
body.page-blog .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-blog .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-blog .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-blog .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-blog .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-blog .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-blog .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-blog .modal-close:hover svg { stroke: var(--bg-void); }
body.page-blog .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-blog .modal-head { margin-bottom: 32px; }
body.page-blog .modal-head .eyebrow { margin-bottom: 16px; }
body.page-blog .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-blog .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-blog .modal form { display: grid; gap: 22px; }
body.page-blog .field { position: relative; }
body.page-blog .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-blog .field label .req { color: var(--gold); }
body.page-blog .field input, body.page-blog .field select, body.page-blog .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-blog .field input:focus, body.page-blog .field select:focus, body.page-blog .field textarea:focus { border-bottom-color: var(--gold); }
body.page-blog .field input::placeholder, body.page-blog .field textarea::placeholder { color: var(--text-muted); }
body.page-blog .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-blog .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-blog .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-blog .consent input { display: none; }
body.page-blog .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-blog .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-blog .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-blog .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-blog .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-blog .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-blog .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-blog .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-blog .sticky-sidebar { position: relative; top: 0; }
body.page-blog .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-blog .price-card.popular { transform: none; }
body.page-blog .price-card.popular:hover { transform: translateY(-6px); }
body.page-blog .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-blog .faq-left { position: relative; top: 0; }
body.page-blog .related-grid { grid-template-columns: 1fr 1fr; }
body.page-blog .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-blog .container { padding: 0 20px; }
body.page-blog .nav-menu, body.page-blog .nav-phone { display: none; }
body.page-blog .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-blog .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-blog .service-hero { padding: 130px 0 80px; }
body.page-blog .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-blog .included-list { grid-template-columns: 1fr; }
body.page-blog .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-blog .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-blog .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-blog .timeline::before { left: 23px; }
body.page-blog .related-grid { grid-template-columns: 1fr; }
body.page-blog .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-blog .hero-side-card { padding: 28px; }
body.page-blog .modal { padding: 32px 24px; }
}
body.page-blog .blog-hero { padding: 80px 0 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-blog .blog-hero-grid { display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: end; }
body.page-blog .blog-hero-left h1 { margin: 16px 0 24px; }
body.page-blog .blog-hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); }
body.page-blog .blog-stat .label { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-blog .blog-stat .value { font-family: var(--font-display);
  font-size: 32px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -1px; }
body.page-blog .blog-stat .value em { color: var(--gold);
  font-style: normal; }
body.page-blog .blog-categories { position: sticky;
  top: 64px;
  z-index: 80;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 16px 0; }
body.page-blog .cat-row { display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 4px 0; }
body.page-blog .cat-row::-webkit-scrollbar { display: none; }
body.page-blog .cat-btn { flex-shrink: 0;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s var(--ease-out);
  white-space: nowrap; }
body.page-blog .cat-btn:hover { border-color: var(--gold-deep);
  color: var(--text-primary); }
body.page-blog .cat-btn.active { background: var(--gold);
  color: var(--bg-void);
  border-color: var(--gold); }
body.page-blog .cat-count { margin-left: 6px;
  opacity: 0.6;
  font-size: 11px; }
body.page-blog .cat-btn.active .cat-count { opacity: 0.7; }
body.page-blog .featured-article { padding: 64px 0; }
body.page-blog .feat-card { display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 48px;
  position: relative;
  overflow: hidden;
  transition: all 0.4s var(--ease-out); }
body.page-blog .feat-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 90% 10%, rgba(212, 175, 106, 0.06), transparent 60%);
  pointer-events: none; }
body.page-blog .feat-card:hover { border-color: var(--gold-deep);
  transform: translateY(-4px); }
body.page-blog .feat-content { position: relative;
  z-index: 1; }
body.page-blog .feat-tag { display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(212, 175, 106, 0.1);
  border: 1px solid var(--gold-deep);
  border-radius: 999px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 24px; }
body.page-blog .feat-tag svg { width: 12px;
  height: 12px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 2; }
body.page-blog .feat-card h2 { font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -1.5px;
  color: var(--text-primary);
  margin: 0 0 20px; }
body.page-blog .feat-card h2 em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-blog .feat-card .feat-excerpt { font-size: 16px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0 0 28px; }
body.page-blog .feat-meta { display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 28px; }
body.page-blog .feat-meta span { display: inline-flex;
  align-items: center;
  gap: 6px; }
body.page-blog .feat-meta svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-blog .feat-visual { position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #1a1a22 0%, #0c0c10 100%);
  overflow: hidden; }
body.page-blog .feat-visual svg { width: 100%;
  height: 100%; }
body.page-blog .articles-section { padding: 32px 0 80px; }
body.page-blog .articles-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px; }
body.page-blog .article-card { display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  position: relative;
  text-decoration: none;
  color: inherit; }
body.page-blog .article-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(212, 175, 106, 0.06), transparent 40%);
  opacity: 0;
  transition: opacity 0.4s var(--ease-out);
  pointer-events: none;
  z-index: 0; }
body.page-blog .article-card:hover { border-color: var(--gold-deep);
  transform: translateY(-4px); }
body.page-blog .article-card:hover::before { opacity: 1; }
body.page-blog .article-cover { aspect-ratio: 16/10;
  background: linear-gradient(135deg, #1a1a22 0%, #0c0c10 100%);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-blog .article-cover svg { width: 100%;
  height: 100%; }
body.page-blog .article-cat-tag { position: absolute;
  top: 16px;
  left: 16px;
  padding: 5px 12px;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid var(--gold-deep);
  border-radius: 999px;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  z-index: 2; }
body.page-blog .article-body { padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
  z-index: 1; }
body.page-blog .article-body h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--text-primary);
  margin: 0 0 12px;
  letter-spacing: -0.3px; }
body.page-blog .article-card:hover .article-body h3 { color: var(--gold-bright); }
body.page-blog .article-excerpt { font-size: 13px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 20px;
  flex-grow: 1; }
body.page-blog .article-meta { display: flex;
  align-items: center;
  gap: 14px;
  font-size: 11px;
  color: var(--text-muted);
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle); }
body.page-blog .article-meta span { display: inline-flex;
  align-items: center;
  gap: 5px; }
body.page-blog .article-meta svg { width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-blog .pagination { display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 64px;
  padding: 0 24px; }
body.page-blog .pag-btn { width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 14px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s var(--ease-out); }
body.page-blog .pag-btn:hover { border-color: var(--gold-deep);
  color: var(--text-primary); }
body.page-blog .pag-btn.active { background: var(--gold);
  color: var(--bg-void);
  border-color: var(--gold);
  font-weight: 600; }
body.page-blog .pag-btn.arrow { width: auto;
  padding: 0 18px;
  gap: 8px; }
body.page-blog .pag-btn.arrow svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2; }
body.page-blog .pag-dots { color: var(--text-muted);
  padding: 0 8px;
  font-family: var(--font-mono); }
body.page-blog .newsletter-section { padding: 80px 0;
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-base); }
body.page-blog .newsletter-card { max-width: 800px;
  margin: 0 auto;
  padding: 56px 64px;
  background: linear-gradient(135deg, rgba(212, 175, 106, 0.04) 0%, transparent 100%);
  border: 1px solid var(--gold-deep);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  text-align: center; }
body.page-blog .newsletter-card::before { content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 60%);
  pointer-events: none; }
body.page-blog .newsletter-card h2 { font-family: var(--font-display);
  font-size: 36px;
  font-weight: 300;
  letter-spacing: -1px;
  color: var(--text-primary);
  margin: 16px 0 12px;
  position: relative; }
body.page-blog .newsletter-card h2 em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-blog .newsletter-card p { font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0 auto 32px;
  max-width: 520px;
  position: relative; }
body.page-blog .newsletter-form { display: flex;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
  position: relative; }
body.page-blog .newsletter-form input { flex-grow: 1;
  padding: 14px 20px;
  background: var(--bg-void);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color 0.3s var(--ease-out); }
body.page-blog .newsletter-form input:focus { outline: none;
  border-color: var(--gold); }
body.page-blog .newsletter-form input::placeholder { color: var(--text-muted); }
body.page-blog .article-cover { position: relative; }
body.page-blog .article-cover-img { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  transition: transform 0.6s var(--ease-out); }
body.page-blog .article-card:hover .article-cover-img { transform: scale(1.05); }
body.page-blog .article-cover::after { content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(7, 7, 10, 0.45) 0%,
    rgba(7, 7, 10, 0.15) 40%,
    rgba(7, 7, 10, 0.4) 100%);
  z-index: 2;
  pointer-events: none; }
body.page-blog .article-cat-tag { z-index: 3 !important; }
body.page-blog .article-cover-fallback { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }
body.page-blog .feat-visual { position: relative;
  overflow: hidden; }
body.page-blog .feat-visual-img { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  transition: transform 0.6s var(--ease-out); }
body.page-blog .feat-card:hover .feat-visual-img { transform: scale(1.04); }
body.page-blog .feat-visual::after { content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(7, 7, 10, 0.25) 0%,
    rgba(7, 7, 10, 0.05) 50%,
    rgba(212, 175, 106, 0.08) 100%);
  z-index: 2;
  pointer-events: none; }
body.page-blog .feat-visual-fallback { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }
body.page-blog .cta-form { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-blog .cta-form::before { content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -200px; }
body.page-blog .cta-form::after { content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.05), transparent 65%);
  bottom: -200px; left: -200px; }
body.page-blog .cta-form .container { position: relative; z-index: 1; }
body.page-blog .cta-form-head { text-align: center;
  margin-bottom: 56px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto; }
body.page-blog .cta-form-head .eyebrow { justify-content: center; }
body.page-blog .cta-form-head .eyebrow::before { display: none; }
body.page-blog .cta-form-head h2 { margin: 20px 0 16px; }
body.page-blog .cta-form-head p { color: var(--text-secondary); font-size: 16px; }
body.page-blog .consult-form { max-width: 920px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 28px; }
body.page-blog .consult-form .full { grid-column: 1 / -1; }
body.page-blog .field { position: relative; }
body.page-blog .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-blog .field label .req { color: var(--gold); }
body.page-blog .field input, body.page-blog .field select { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none; }
body.page-blog .field input:focus, body.page-blog .field select:focus { border-bottom-color: var(--gold); }
body.page-blog .field input::placeholder { color: var(--text-muted); }
body.page-blog .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-blog .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-blog .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-blog .consent input { display: none; }
body.page-blog .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-blog .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-blog .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-blog .consent a { color: var(--gold); text-decoration: underline; }
body.page-blog .consult-form button[type="submit"] { width: 100%;
  justify-content: center; }
@media (max-width: 980px) {
body.page-blog .blog-hero-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-blog .articles-grid { grid-template-columns: 1fr 1fr; }
body.page-blog .feat-card { grid-template-columns: 1fr; padding: 32px; gap: 32px; }
body.page-blog .feat-visual { order: -1; }
body.page-blog .newsletter-card { padding: 40px 28px; }
body.page-blog .newsletter-card h2 { font-size: 28px; }
body.page-blog .newsletter-form { flex-direction: column; }
body.page-blog .consult-form { grid-template-columns: 1fr; padding: 32px 24px; }
}
@media (max-width: 640px) {
body.page-blog .articles-grid { grid-template-columns: 1fr; }
body.page-blog .blog-hero-stats { grid-template-columns: 1fr; }
}

/* ===== PAGE: post  (single-blog-page.html) ===== */
body.page-post { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-post * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-post *::selection { background: var(--gold); color: var(--bg-void); }
body.page-post { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-post { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-post img, body.page-post video { max-width: 100%; display: block; }
body.page-post a { color: inherit; text-decoration: none; }
body.page-post button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-post .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-post::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-post .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-post .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-post h1, body.page-post h2, body.page-post h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-post .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-post .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-post .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-post .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-post .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-post .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-post .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-post .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-post .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-post .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-post .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-post .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-post .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-post .btn-primary:hover::after { left: 120%; }
body.page-post .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-post .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-post .btn-ghost .btn-arrow { background: var(--gold); }
body.page-post .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-post .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-post .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .site-header.scrolled { padding: 14px 0; }
body.page-post .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-post .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-post .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-post .logo-mark svg { width: 100%; height: 100%; }
body.page-post .logo-text { line-height: 1; }
body.page-post .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-post .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-post .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-post .nav-menu a.active { color: var(--gold); }
body.page-post .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-post .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-post .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-post .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-post .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-post .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-post .nav-phone:hover { color: var(--gold); }
body.page-post .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-post .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-post .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-post .menu-toggle { display: none; }
@keyframes p_post_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_post_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-post .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-post .reveal.in { opacity: 1; transform: translateY(0); }
body.page-post .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-post .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-post .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-post .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-post .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-post .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-post .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-post .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-post .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_post_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-post .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-post .breadcrumbs a:hover { color: var(--gold); }
body.page-post .breadcrumbs .sep { color: var(--border-strong); }
body.page-post .breadcrumbs .current { color: var(--gold); }
body.page-post .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-post .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_post_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-post .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_post_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-post .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-post .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-post .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_post_pulse-dot 1.5s ease-in-out infinite; }
body.page-post .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-post .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-post .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_post_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-post .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_post_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-post .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_post_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-post .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-post .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-post .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-post .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_post_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-post .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_post_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-post .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-post .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-post .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-post .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-post .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-post .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-post .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-post .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-post .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-post .side-card-cta { width: 100%; justify-content: center; }
body.page-post .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-post .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-post .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-post .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-post .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-post .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-post .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-post .sub-nav a.active { color: var(--gold); }
body.page-post .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-post .sub-nav a:hover { color: var(--text-primary); }
body.page-post .sec { padding: 120px 0; position: relative; }
body.page-post .sec-head { margin-bottom: 56px; }
body.page-post .sec-head .eyebrow { margin-bottom: 20px; }
body.page-post .sec-head h2 { margin-bottom: 16px; }
body.page-post .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-post .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-post .intro::before { content: 'KARTA';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-post .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-post .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-post .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-post .intro-content p:last-child { margin-bottom: 0; }
body.page-post .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-post .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-post .types-section { padding: 120px 0; }
body.page-post .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-post .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-post .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-post .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-post .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-post .tab-panel { display: none;
  opacity: 0;
  animation: p_post_fadeUp 0.6s var(--ease-out) forwards; }
body.page-post .tab-panel.active { display: grid; }
body.page-post .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-post .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-post .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-post .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-post .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-post .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-post .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-post .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-post .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-post .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-post .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-post .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-post .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-post .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-post .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-post .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-post .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-post .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-post .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-post .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-post .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-post .main-content > section:first-child { padding-top: 0; }
body.page-post .main-content > section:last-child { border-bottom: none; }
body.page-post .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-post .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-post .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-post .included-list li:hover { padding-left: 8px; }
body.page-post .included-list li:hover .checkmark { background: var(--gold); }
body.page-post .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-post .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-post .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-post .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-post .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-post .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-post .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-post .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-post .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-post .timeline-step:hover { transform: translateX(4px); }
body.page-post .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-post .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-post .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-post .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-post .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-post .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-post .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-post .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-post .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-post .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-post .docs-panel { display: none; }
body.page-post .docs-panel.active { display: grid; gap: 8px; animation: p_post_fadeUp 0.4s var(--ease-out); }
body.page-post .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-post .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-post .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-post .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-post .doc-info { flex-grow: 1; }
body.page-post .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-post .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-post .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-post .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-post .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-post .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-post .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-post .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-post .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-post .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-post .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-post .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-post .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-post .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-post .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-post .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-post .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-post .price-value { margin-bottom: 32px; }
body.page-post .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-post .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-post .price-card.popular .price-value .num { color: var(--gold); }
body.page-post .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-post .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-post .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-post .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-post .price-features li.muted { color: var(--text-muted); }
body.page-post .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-post .price-card .btn { width: 100%; justify-content: center; }
body.page-post .faq-section { padding: 120px 0; }
body.page-post .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-post .faq-left { position: sticky; top: 160px; }
body.page-post .faq-left h2 { margin-bottom: 20px; }
body.page-post .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-post .faq-list { display: grid; gap: 8px; }
body.page-post .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-post .faq-item:hover { border-color: var(--gold-deep); }
body.page-post .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-post .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-post .faq-item.open .faq-q { color: var(--gold); }
body.page-post .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-post .faq-toggle::before, body.page-post .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-post .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-post .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-post .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-post .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-post .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-post .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-post .faq-item.open .faq-a { max-height: 400px; }
body.page-post .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-post .faq-a-inner p { margin-bottom: 12px; }
body.page-post .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-post .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-post .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-post .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-post .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-post .final-cta-inner .eyebrow { justify-content: center; }
body.page-post .final-cta-inner .eyebrow::before { display: none; }
body.page-post .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-post .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-post .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-post .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-post .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-post .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-post .related-section { padding: 120px 0; }
body.page-post .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-post .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-post .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-post .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-post .related-card:hover::before { opacity: 1; }
body.page-post .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-post .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-post .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-post .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-post .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-post .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-post .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-post .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-post .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-post .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-post .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-post .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-post .footer-top a, body.page-post .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-post .footer-top a:hover { color: var(--gold); }
body.page-post .footer-brand .logo { margin-bottom: 20px; }
body.page-post .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-post .footer-socials { display: flex; gap: 10px; }
body.page-post .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-post .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-post .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-post .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-post .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-post .footer-legal { display: flex; gap: 24px; }
body.page-post .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-post .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-post .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-post .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-post .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-post .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-post .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-post .modal-close:hover svg { stroke: var(--bg-void); }
body.page-post .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-post .modal-head { margin-bottom: 32px; }
body.page-post .modal-head .eyebrow { margin-bottom: 16px; }
body.page-post .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-post .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-post .modal form { display: grid; gap: 22px; }
body.page-post .field { position: relative; }
body.page-post .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-post .field label .req { color: var(--gold); }
body.page-post .field input, body.page-post .field select, body.page-post .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-post .field input:focus, body.page-post .field select:focus, body.page-post .field textarea:focus { border-bottom-color: var(--gold); }
body.page-post .field input::placeholder, body.page-post .field textarea::placeholder { color: var(--text-muted); }
body.page-post .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-post .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-post .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-post .consent input { display: none; }
body.page-post .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-post .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-post .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-post .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-post .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-post .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-post .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-post .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-post .sticky-sidebar { position: relative; top: 0; }
body.page-post .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-post .price-card.popular { transform: none; }
body.page-post .price-card.popular:hover { transform: translateY(-6px); }
body.page-post .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-post .faq-left { position: relative; top: 0; }
body.page-post .related-grid { grid-template-columns: 1fr 1fr; }
body.page-post .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-post .container { padding: 0 20px; }
body.page-post .nav-menu, body.page-post .nav-phone { display: none; }
body.page-post .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-post .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-post .service-hero { padding: 130px 0 80px; }
body.page-post .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-post .included-list { grid-template-columns: 1fr; }
body.page-post .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-post .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-post .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-post .timeline::before { left: 23px; }
body.page-post .related-grid { grid-template-columns: 1fr; }
body.page-post .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-post .hero-side-card { padding: 28px; }
body.page-post .modal { padding: 32px 24px; }
}
body.page-post .blog-hero { padding: 80px 0 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .blog-hero-grid { display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: end; }
body.page-post .blog-hero-left h1 { margin: 16px 0 24px; }
body.page-post .blog-hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); }
body.page-post .blog-stat .label { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-post .blog-stat .value { font-family: var(--font-display);
  font-size: 32px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -1px; }
body.page-post .blog-stat .value em { color: var(--gold);
  font-style: normal; }
body.page-post .blog-categories { position: sticky;
  top: 64px;
  z-index: 80;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 16px 0; }
body.page-post .cat-row { display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 4px 0; }
body.page-post .cat-row::-webkit-scrollbar { display: none; }
body.page-post .cat-btn { flex-shrink: 0;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s var(--ease-out);
  white-space: nowrap; }
body.page-post .cat-btn:hover { border-color: var(--gold-deep);
  color: var(--text-primary); }
body.page-post .cat-btn.active { background: var(--gold);
  color: var(--bg-void);
  border-color: var(--gold); }
body.page-post .cat-count { margin-left: 6px;
  opacity: 0.6;
  font-size: 11px; }
body.page-post .cat-btn.active .cat-count { opacity: 0.7; }
body.page-post .featured-article { padding: 64px 0; }
body.page-post .feat-card { display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 48px;
  position: relative;
  overflow: hidden;
  transition: all 0.4s var(--ease-out); }
body.page-post .feat-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 90% 10%, rgba(212, 175, 106, 0.06), transparent 60%);
  pointer-events: none; }
body.page-post .feat-card:hover { border-color: var(--gold-deep);
  transform: translateY(-4px); }
body.page-post .feat-content { position: relative;
  z-index: 1; }
body.page-post .feat-tag { display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(212, 175, 106, 0.1);
  border: 1px solid var(--gold-deep);
  border-radius: 999px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 24px; }
body.page-post .feat-tag svg { width: 12px;
  height: 12px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 2; }
body.page-post .feat-card h2 { font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -1.5px;
  color: var(--text-primary);
  margin: 0 0 20px; }
body.page-post .feat-card h2 em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-post .feat-card .feat-excerpt { font-size: 16px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0 0 28px; }
body.page-post .feat-meta { display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 28px; }
body.page-post .feat-meta span { display: inline-flex;
  align-items: center;
  gap: 6px; }
body.page-post .feat-meta svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-post .feat-visual { position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #1a1a22 0%, #0c0c10 100%);
  overflow: hidden; }
body.page-post .feat-visual svg { width: 100%;
  height: 100%; }
body.page-post .articles-section { padding: 32px 0 80px; }
body.page-post .articles-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px; }
body.page-post .article-card { display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  position: relative;
  text-decoration: none;
  color: inherit; }
body.page-post .article-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(212, 175, 106, 0.06), transparent 40%);
  opacity: 0;
  transition: opacity 0.4s var(--ease-out);
  pointer-events: none;
  z-index: 0; }
body.page-post .article-card:hover { border-color: var(--gold-deep);
  transform: translateY(-4px); }
body.page-post .article-card:hover::before { opacity: 1; }
body.page-post .article-cover { aspect-ratio: 16/10;
  background: linear-gradient(135deg, #1a1a22 0%, #0c0c10 100%);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-post .article-cover svg { width: 100%;
  height: 100%; }
body.page-post .article-cat-tag { position: absolute;
  top: 16px;
  left: 16px;
  padding: 5px 12px;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid var(--gold-deep);
  border-radius: 999px;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  z-index: 2; }
body.page-post .article-body { padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
  z-index: 1; }
body.page-post .article-body h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--text-primary);
  margin: 0 0 12px;
  letter-spacing: -0.3px; }
body.page-post .article-card:hover .article-body h3 { color: var(--gold-bright); }
body.page-post .article-excerpt { font-size: 13px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0 0 20px;
  flex-grow: 1; }
body.page-post .article-meta { display: flex;
  align-items: center;
  gap: 14px;
  font-size: 11px;
  color: var(--text-muted);
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle); }
body.page-post .article-meta span { display: inline-flex;
  align-items: center;
  gap: 5px; }
body.page-post .article-meta svg { width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-post .pagination { display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 64px;
  padding: 0 24px; }
body.page-post .pag-btn { width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 14px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s var(--ease-out); }
body.page-post .pag-btn:hover { border-color: var(--gold-deep);
  color: var(--text-primary); }
body.page-post .pag-btn.active { background: var(--gold);
  color: var(--bg-void);
  border-color: var(--gold);
  font-weight: 600; }
body.page-post .pag-btn.arrow { width: auto;
  padding: 0 18px;
  gap: 8px; }
body.page-post .pag-btn.arrow svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2; }
body.page-post .pag-dots { color: var(--text-muted);
  padding: 0 8px;
  font-family: var(--font-mono); }
body.page-post .newsletter-section { padding: 80px 0;
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-base); }
body.page-post .newsletter-card { max-width: 800px;
  margin: 0 auto;
  padding: 56px 64px;
  background: linear-gradient(135deg, rgba(212, 175, 106, 0.04) 0%, transparent 100%);
  border: 1px solid var(--gold-deep);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  text-align: center; }
body.page-post .newsletter-card::before { content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 60%);
  pointer-events: none; }
body.page-post .newsletter-card h2 { font-family: var(--font-display);
  font-size: 36px;
  font-weight: 300;
  letter-spacing: -1px;
  color: var(--text-primary);
  margin: 16px 0 12px;
  position: relative; }
body.page-post .newsletter-card h2 em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-post .newsletter-card p { font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0 auto 32px;
  max-width: 520px;
  position: relative; }
body.page-post .newsletter-form { display: flex;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
  position: relative; }
body.page-post .newsletter-form input { flex-grow: 1;
  padding: 14px 20px;
  background: var(--bg-void);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
  transition: border-color 0.3s var(--ease-out); }
body.page-post .newsletter-form input:focus { outline: none;
  border-color: var(--gold); }
body.page-post .newsletter-form input::placeholder { color: var(--text-muted); }
body.page-post .article-cover { position: relative; }
body.page-post .article-cover-img { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  transition: transform 0.6s var(--ease-out); }
body.page-post .article-card:hover .article-cover-img { transform: scale(1.05); }
body.page-post .article-cover::after { content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(7, 7, 10, 0.45) 0%,
    rgba(7, 7, 10, 0.15) 40%,
    rgba(7, 7, 10, 0.4) 100%);
  z-index: 2;
  pointer-events: none; }
body.page-post .article-cat-tag { z-index: 3 !important; }
body.page-post .article-cover-fallback { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }
body.page-post .feat-visual { position: relative;
  overflow: hidden; }
body.page-post .feat-visual-img { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  transition: transform 0.6s var(--ease-out); }
body.page-post .feat-card:hover .feat-visual-img { transform: scale(1.04); }
body.page-post .feat-visual::after { content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(7, 7, 10, 0.25) 0%,
    rgba(7, 7, 10, 0.05) 50%,
    rgba(212, 175, 106, 0.08) 100%);
  z-index: 2;
  pointer-events: none; }
body.page-post .feat-visual-fallback { position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0; }
body.page-post .cta-form { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-post .cta-form::before { content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -200px; }
body.page-post .cta-form::after { content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.05), transparent 65%);
  bottom: -200px; left: -200px; }
body.page-post .cta-form .container { position: relative; z-index: 1; }
body.page-post .cta-form-head { text-align: center;
  margin-bottom: 56px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto; }
body.page-post .cta-form-head .eyebrow { justify-content: center; }
body.page-post .cta-form-head .eyebrow::before { display: none; }
body.page-post .cta-form-head h2 { margin: 20px 0 16px; }
body.page-post .cta-form-head p { color: var(--text-secondary); font-size: 16px; }
body.page-post .consult-form { max-width: 920px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 28px; }
body.page-post .consult-form .full { grid-column: 1 / -1; }
body.page-post .field { position: relative; }
body.page-post .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-post .field label .req { color: var(--gold); }
body.page-post .field input, body.page-post .field select { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none; }
body.page-post .field input:focus, body.page-post .field select:focus { border-bottom-color: var(--gold); }
body.page-post .field input::placeholder { color: var(--text-muted); }
body.page-post .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-post .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-post .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-post .consent input { display: none; }
body.page-post .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-post .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-post .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-post .consent a { color: var(--gold); text-decoration: underline; }
body.page-post .consult-form button[type="submit"] { width: 100%;
  justify-content: center; }
body.page-post .article-hero { padding: 56px 0 0;
  border-bottom: 1px solid var(--border-subtle); }
body.page-post .article-hero-inner { max-width: 880px;
  margin: 0 auto;
  padding: 0 32px;
  text-align: center; }
body.page-post .article-cat-pill { display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 106, 0.1);
  border: 1px solid var(--gold-deep);
  border-radius: 999px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 28px;
  text-decoration: none;
  transition: all 0.3s var(--ease-out); }
body.page-post .article-cat-pill:hover { background: rgba(212, 175, 106, 0.18);
  color: var(--gold-bright); }
body.page-post .article-title { font-family: var(--font-display);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 300;
  letter-spacing: -2px;
  line-height: 1.1;
  color: var(--text-primary);
  margin: 0 0 24px; }
body.page-post .article-title em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-post .article-lead { font-family: var(--font-accent);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0 auto 36px;
  max-width: 720px; }
body.page-post .article-meta-bar { display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  padding: 24px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  font-size: 13px;
  color: var(--text-muted); }
body.page-post .article-meta-bar > span { display: inline-flex;
  align-items: center;
  gap: 8px; }
body.page-post .article-meta-bar svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-post .article-author-mini { display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-post .author-mini-avatar { width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--bg-void);
  font-weight: 500; }
body.page-post .author-mini-name { color: var(--text-secondary);
  font-weight: 500; }
body.page-post .article-cover-hero { width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  aspect-ratio: 16/8;
  background: linear-gradient(135deg, #1a1a22 0%, #0c0c10 100%);
  position: relative;
  overflow: hidden; }
body.page-post .article-cover-hero-img { width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; }
body.page-post .article-cover-hero::after { content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(7, 7, 10, 0.4) 100%);
  pointer-events: none; }
body.page-post .article-body { padding: 80px 0 100px; }
body.page-post .article-grid { display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 64px;
  max-width: 1180px;
  margin: 0 auto; }
body.page-post .article-content { font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-secondary);
  min-width: 0; }
body.page-post .article-content > p:first-of-type::first-letter { font-family: var(--font-accent);
  font-style: italic;
  font-size: 68px;
  line-height: 0.85;
  color: var(--gold);
  float: left;
  margin: 8px 12px 0 0;
  font-weight: 400; }
body.page-post .article-content p { margin: 0 0 24px; }
body.page-post .article-content p strong { color: var(--text-primary);
  font-weight: 600; }
body.page-post .article-content h2 { font-family: var(--font-display);
  font-size: 32px;
  font-weight: 300;
  letter-spacing: -1px;
  line-height: 1.2;
  color: var(--text-primary);
  margin: 56px 0 20px;
  padding-top: 8px;
  scroll-margin-top: 90px; }
body.page-post .article-content h2 em { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-weight: 400; }
body.page-post .article-content h2 .h2-num { display: inline-block;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--gold);
  margin-right: 16px;
  letter-spacing: 0.15em;
  vertical-align: middle; }
body.page-post .article-content h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--text-primary);
  margin: 40px 0 16px;
  letter-spacing: -0.3px; }
body.page-post .article-content ul, body.page-post .article-content ol { margin: 0 0 24px;
  padding-left: 0;
  list-style: none; }
body.page-post .article-content ul li, body.page-post .article-content ol li { position: relative;
  padding-left: 32px;
  margin-bottom: 14px;
  line-height: 1.7; }
body.page-post .article-content ul li::before { content: '';
  position: absolute;
  left: 8px;
  top: 12px;
  width: 6px;
  height: 6px;
  background: var(--gold);
  border-radius: 50%; }
body.page-post .article-content ol { counter-reset: ol-counter; }
body.page-post .article-content ol li { counter-increment: ol-counter; }
body.page-post .article-content ol li::before { content: counter(ol-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--gold);
  font-weight: 500;
  letter-spacing: 0.1em; }
body.page-post .article-content blockquote { margin: 40px 0;
  padding: 32px 40px;
  background: rgba(212, 175, 106, 0.04);
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-family: var(--font-accent);
  font-style: italic;
  font-size: 22px;
  line-height: 1.55;
  color: var(--text-primary);
  position: relative; }
body.page-post .article-content blockquote::before { content: '"';
  position: absolute;
  top: -8px;
  left: 24px;
  font-family: var(--font-accent);
  font-size: 80px;
  color: var(--gold);
  opacity: 0.3;
  line-height: 1; }
body.page-post .article-content blockquote cite { display: block;
  margin-top: 16px;
  font-family: var(--font-body);
  font-style: normal;
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.05em; }
body.page-post .article-content a { color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-deep);
  transition: all 0.3s var(--ease-out); }
body.page-post .article-content a:hover { color: var(--gold-bright);
  border-bottom-color: var(--gold); }
body.page-post .article-content figure { margin: 40px 0; }
body.page-post .article-content figure img { width: 100%;
  border-radius: var(--radius);
  display: block; }
body.page-post .article-content figcaption { margin-top: 12px;
  font-size: 13px;
  color: var(--text-muted);
  text-align: center;
  font-style: italic; }
body.page-post .article-content .info-box { margin: 32px 0;
  padding: 28px 32px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  display: flex;
  gap: 20px;
  align-items: flex-start; }
body.page-post .article-content .info-box-icon { width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(212, 175, 106, 0.1);
  border: 1px solid var(--gold-deep);
  display: flex;
  align-items: center;
  justify-content: center; }
body.page-post .article-content .info-box-icon svg { width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.5; }
body.page-post .article-content .info-box-body { flex-grow: 1; }
body.page-post .article-content .info-box strong { display: block;
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 8px; }
body.page-post .article-content .info-box p { margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-secondary); }
body.page-post .article-sidebar { position: sticky;
  top: 90px;
  align-self: start;
  height: max-content; }
body.page-post .toc-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 28px;
  margin-bottom: 24px; }
body.page-post .toc-card-title { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px; }
body.page-post .toc-card-title svg { width: 14px;
  height: 14px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.5; }
body.page-post .toc-list { list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px; }
body.page-post .toc-list a { display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  text-decoration: none;
  padding-left: 4px;
  border-left: 2px solid transparent;
  padding: 2px 0 2px 12px;
  margin-left: -2px;
  transition: all 0.3s var(--ease-out); }
body.page-post .toc-list a:hover { color: var(--gold);
  border-left-color: var(--gold-deep); }
body.page-post .toc-list a.active { color: var(--gold);
  border-left-color: var(--gold);
  font-weight: 500; }
body.page-post .toc-list .toc-num { font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  flex-shrink: 0;
  margin-top: 2px; }
body.page-post .toc-list a.active .toc-num { color: var(--gold); }
body.page-post .share-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 24px 28px; }
body.page-post .share-card-title { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 16px; }
body.page-post .share-row { display: flex;
  gap: 10px; }
body.page-post .share-btn { width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s var(--ease-out);
  text-decoration: none; }
body.page-post .share-btn:hover { border-color: var(--gold);
  background: rgba(212, 175, 106, 0.08); }
body.page-post .share-btn svg { width: 16px;
  height: 16px;
  fill: var(--text-secondary);
  transition: fill 0.3s var(--ease-out); }
body.page-post .share-btn:hover svg { fill: var(--gold); }
body.page-post .author-bio-section { padding: 64px 0;
  border-top: 1px solid var(--border-subtle); }
body.page-post .author-bio { max-width: 880px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 32px;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px; }
body.page-post .author-avatar-large { width: 140px;
  height: 140px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 52px;
  color: var(--bg-void);
  font-weight: 300;
  position: relative; }
body.page-post .author-avatar-large::after { content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid var(--gold-deep);
  opacity: 0.5; }
body.page-post .author-info-label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 8px; }
body.page-post .author-info h3 { font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  color: var(--text-primary);
  margin: 0 0 6px;
  letter-spacing: -0.3px; }
body.page-post .author-info .author-role { font-family: var(--font-accent);
  font-style: italic;
  color: var(--gold);
  font-size: 15px;
  margin-bottom: 14px; }
body.page-post .author-info p { font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0; }
body.page-post .related-articles-section { padding: 80px 0;
  border-top: 1px solid var(--border-subtle); }
body.page-post .article-nav { max-width: 1180px;
  margin: 0 auto;
  padding: 40px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  border-top: 1px solid var(--border-subtle); }
body.page-post .article-nav-link { display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  text-decoration: none;
  transition: all 0.3s var(--ease-out); }
body.page-post .article-nav-link:hover { border-color: var(--gold-deep);
  transform: translateY(-2px); }
body.page-post .article-nav-link.next { text-align: right; }
body.page-post .article-nav-label { font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: 6px; }
body.page-post .article-nav-link.next .article-nav-label { justify-content: flex-end; }
body.page-post .article-nav-label svg { width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5; }
body.page-post .article-nav-title { font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
  color: var(--text-primary);
  line-height: 1.3;
  transition: color 0.3s var(--ease-out); }
body.page-post .article-nav-link:hover .article-nav-title { color: var(--gold); }
@media (max-width: 980px) {
body.page-post .blog-hero-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-post .articles-grid { grid-template-columns: 1fr 1fr; }
body.page-post .feat-card { grid-template-columns: 1fr; padding: 32px; gap: 32px; }
body.page-post .feat-visual { order: -1; }
body.page-post .newsletter-card { padding: 40px 28px; }
body.page-post .newsletter-card h2 { font-size: 28px; }
body.page-post .newsletter-form { flex-direction: column; }
body.page-post .consult-form { grid-template-columns: 1fr; padding: 32px 24px; }
body.page-post .article-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-post .article-sidebar { position: static; }
body.page-post .article-content { font-size: 16px; }
body.page-post .article-content h2 { font-size: 26px; margin-top: 40px; }
body.page-post .article-content blockquote { padding: 24px 28px; font-size: 18px; }
body.page-post .article-meta-bar { gap: 16px; font-size: 12px; }
body.page-post .article-cover-hero { aspect-ratio: 16/10; }
body.page-post .author-bio { grid-template-columns: 1fr; text-align: center; padding: 32px 24px; }
body.page-post .author-avatar-large { margin: 0 auto; }
body.page-post .article-nav { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
body.page-post .articles-grid { grid-template-columns: 1fr; }
body.page-post .blog-hero-stats { grid-template-columns: 1fr; }
}

/* ===== PAGE: privacy  (privacy.html) ===== */
body.page-privacy { --bg-void: #07070a; --bg-base: #0c0c10; --bg-card: #16161c; --bg-card-hover: #1c1c24;
  --border-subtle: #1f1f28; --border-strong: #2a2a36;
  --gold: #d4af6a; --gold-bright: #e8c98a; --gold-deep: #a88248;
  --gold-glow: rgba(212, 175, 106, 0.35); --gold-soft: rgba(212, 175, 106, 0.08);
  --text-primary: #f4f1ea; --text-secondary: #a8a39a; --text-muted: #6b6860;
  --font-display: 'Unbounded', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-body: 'Manrope', sans-serif;
  --container: 1320px;
  --radius: 16px; --radius-lg: 24px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); }
body.page-privacy * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-privacy *::selection { background: var(--gold); color: var(--bg-void); }
body.page-privacy { scroll-behavior: smooth; scroll-padding-top: 120px; }
body.page-privacy { font-family: var(--font-body); background: var(--bg-void); color: var(--text-primary); line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.page-privacy a { color: inherit; text-decoration: none; }
body.page-privacy button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-privacy .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-privacy::before { content: ''; position: fixed; inset: 0; 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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E"); opacity: 0.035; pointer-events: none; z-index: 9999; mix-blend-mode: overlay; }
body.page-privacy .eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; }
body.page-privacy .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-privacy .h-display { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.4rem, 5.5vw, 4.5rem); line-height: 1; letter-spacing: -0.03em; }
body.page-privacy .h-display em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-privacy .btn { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 16px 28px; border-radius: 100px; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: all 0.5s var(--ease-out); overflow: hidden; white-space: nowrap; }
body.page-privacy .btn-arrow { width: 24px; height: 24px; border-radius: 50%; background: var(--bg-void); display: flex; align-items: center; justify-content: center; transition: transform 0.5s var(--ease-out); }
body.page-privacy .btn-arrow svg { width: 11px; height: 11px; stroke: var(--gold); }
body.page-privacy .btn-ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); }
body.page-privacy .btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
body.page-privacy .btn-ghost .btn-arrow { background: var(--gold); }
body.page-privacy .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-privacy .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-privacy .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-privacy .btn-primary:hover { background: var(--gold-bright); box-shadow: 0 16px 40px -10px var(--gold-glow); transform: translateY(-2px); }
body.page-privacy .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-privacy .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 20px 0; transition: all 0.4s var(--ease-out); background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-subtle); }
body.page-privacy .site-header.scrolled { padding: 14px 0; }
body.page-privacy .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-privacy .logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 500; font-size: 16px; letter-spacing: 0.05em; }
body.page-privacy .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-privacy .logo-mark svg { width: 100%; height: 100%; }
body.page-privacy .logo-text { line-height: 1; }
body.page-privacy .logo-text span { display: block; font-family: var(--font-body); font-size: 9px; font-weight: 400; letter-spacing: 0.3em; color: var(--gold); margin-top: 4px; }
body.page-privacy .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-privacy .nav-menu a { position: relative; font-size: 13px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); transition: color 0.3s; padding: 6px 0; }
body.page-privacy .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--gold); transition: width 0.4s var(--ease-out); }
body.page-privacy .nav-menu a:hover { color: var(--text-primary); }
body.page-privacy .nav-menu a:hover::after { width: 100%; }
body.page-privacy .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-privacy .nav-phone { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--text-primary); transition: color 0.3s; }
body.page-privacy .nav-phone:hover { color: var(--gold); }
body.page-privacy .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-privacy .btn-header { padding: 14px 24px; background: var(--gold); color: var(--bg-void); border-radius: 100px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transition: all 0.4s var(--ease-out); }
body.page-privacy .btn-header:hover { background: var(--gold-bright); box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-privacy .menu-toggle { display: none; }
@keyframes p_privacy_fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
body.page-privacy .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-privacy .reveal.in { opacity: 1; transform: translateY(0); }
body.page-privacy .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-privacy .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-privacy .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-privacy .page-hero { padding: 180px 0 80px; position: relative; overflow: hidden; border-bottom: 1px solid var(--border-subtle); background: var(--bg-void); }
body.page-privacy .page-hero::before { content: ''; position: absolute; width: 800px; height: 800px; border-radius: 50%; background: radial-gradient(circle, rgba(212, 175, 106, 0.12), transparent 60%); top: -300px; right: -200px; z-index: 0; }
body.page-privacy .page-hero::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%); pointer-events: none; }
body.page-privacy .breadcrumbs { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 56px; position: relative; z-index: 1; opacity: 0; animation: p_privacy_fadeUp 0.8s var(--ease-out) 0.15s forwards; }
body.page-privacy .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-privacy .breadcrumbs a:hover { color: var(--gold); }
body.page-privacy .breadcrumbs .sep { color: var(--border-strong); }
body.page-privacy .breadcrumbs .current { color: var(--gold); }
body.page-privacy .hero-content { position: relative; z-index: 1; max-width: 880px; }
body.page-privacy .hero-eyebrow { margin-bottom: 32px; opacity: 0; animation: p_privacy_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-privacy .hero-title { margin-bottom: 32px; opacity: 0; animation: p_privacy_fadeUp 0.9s var(--ease-out) 0.45s forwards; }
body.page-privacy .hero-sub { font-size: 17px; color: var(--text-secondary); line-height: 1.65; max-width: 640px; opacity: 0; animation: p_privacy_fadeUp 0.9s var(--ease-out) 0.6s forwards; margin-bottom: 32px; }
body.page-privacy .hero-meta { display: flex; gap: 32px; flex-wrap: wrap;
  padding-top: 32px; border-top: 1px solid var(--border-subtle);
  opacity: 0; animation: p_privacy_fadeUp 0.9s var(--ease-out) 0.75s forwards; }
body.page-privacy .hero-meta-item { display: flex; align-items: center; gap: 12px; }
body.page-privacy .hero-meta-item .label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); }
body.page-privacy .hero-meta-item .value { font-family: var(--font-display); font-size: 14px; color: var(--gold); font-weight: 400; }
body.page-privacy .privacy-section { padding: 100px 0 140px; }
body.page-privacy .privacy-grid { display: grid;
  grid-template-columns: 280px 1fr;
  gap: 80px;
  align-items: start; }
body.page-privacy .toc-wrap { position: sticky; top: 120px; }
body.page-privacy .toc-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
body.page-privacy .toc-label::after { content: ''; width: 24px; height: 1px; background: var(--gold); }
body.page-privacy .toc-list { list-style: none; display: grid; gap: 2px; }
body.page-privacy .toc-list a { display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; border-radius: 10px;
  font-size: 13px; color: var(--text-secondary);
  transition: all 0.3s;
  position: relative; }
body.page-privacy .toc-list a:hover { background: var(--bg-card); color: var(--text-primary); }
body.page-privacy .toc-list a.active { background: var(--gold-soft); color: var(--gold); }
body.page-privacy .toc-list a .toc-num { font-family: var(--font-display); font-size: 10px;
  color: var(--text-muted); letter-spacing: 0.05em;
  flex-shrink: 0; min-width: 18px;
  transition: color 0.3s; }
body.page-privacy .toc-list a:hover .toc-num, body.page-privacy .toc-list a.active .toc-num { color: var(--gold); }
body.page-privacy .toc-divider { height: 1px; background: var(--border-subtle); margin: 16px 0; }
body.page-privacy .toc-foot { margin-top: 24px;
  padding: 20px; border: 1px solid var(--border-subtle); border-radius: var(--radius);
  background: var(--bg-card); }
body.page-privacy .toc-foot .label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }
body.page-privacy .toc-foot p { font-size: 13px; color: var(--text-secondary); line-height: 1.5; margin-bottom: 14px; }
body.page-privacy .toc-foot a { color: var(--gold); font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
body.page-privacy .toc-foot a svg { width: 12px; height: 12px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-privacy .privacy-content { max-width: 800px; }
body.page-privacy .privacy-content section { margin-bottom: 80px; scroll-margin-top: 120px; }
body.page-privacy .privacy-content section:last-child { margin-bottom: 0; }
body.page-privacy .sec-head { display: flex; align-items: baseline; gap: 24px; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid var(--border-subtle); }
body.page-privacy .sec-num { font-family: var(--font-display); font-size: 14px;
  color: var(--gold); font-weight: 400;
  letter-spacing: 0.04em;
  flex-shrink: 0; }
body.page-privacy .sec-head h2 { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  letter-spacing: -0.025em;
  line-height: 1.1; }
body.page-privacy .sec-head h2 em { font-family: var(--font-serif); font-style: italic; color: var(--gold); font-weight: 500; }
body.page-privacy .privacy-content p { font-size: 16px;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 20px; }
body.page-privacy .privacy-content p strong { color: var(--text-primary); font-weight: 500; }
body.page-privacy .privacy-content a { color: var(--gold); text-decoration: underline; text-decoration-color: var(--gold-deep); text-underline-offset: 4px; transition: text-decoration-color 0.3s; }
body.page-privacy .privacy-content a:hover { text-decoration-color: var(--gold); }
body.page-privacy .privacy-content ul { list-style: none;
  display: grid; gap: 14px;
  margin: 24px 0; }
body.page-privacy .privacy-content ul li { display: flex; align-items: start; gap: 14px;
  font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.65; }
body.page-privacy .privacy-content ul li::before { content: ''; flex-shrink: 0;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 9px; }
body.page-privacy .privacy-content ul li strong { color: var(--text-primary); font-weight: 500; }
body.page-privacy .info-box { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-left: 2px solid var(--gold);
  border-radius: var(--radius);
  padding: 28px 32px;
  margin: 32px 0; }
body.page-privacy .info-box .ib-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 12px;
  display: flex; align-items: center; gap: 10px; }
body.page-privacy .info-box .ib-label svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 2; }
body.page-privacy .info-box p { margin-bottom: 0; font-size: 15px; color: var(--text-primary); line-height: 1.65; }
body.page-privacy .rights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 24px 0; }
body.page-privacy .right-item { padding: 20px; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; transition: all 0.3s; }
body.page-privacy .right-item:hover { border-color: var(--gold); }
body.page-privacy .right-item .ri-num { font-family: var(--font-display); font-size: 11px; color: var(--gold); margin-bottom: 8px; letter-spacing: 0.05em; }
body.page-privacy .right-item h4 { font-family: var(--font-display); font-size: 15px; font-weight: 400; margin-bottom: 6px; }
body.page-privacy .right-item p { font-size: 13px; color: var(--text-secondary); line-height: 1.55; margin-bottom: 0; }
body.page-privacy .contact-cta { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  margin-top: 40px;
  position: relative;
  overflow: hidden; }
body.page-privacy .contact-cta::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-privacy .contact-cta h3 { font-family: var(--font-display); font-size: 22px; font-weight: 400; margin-bottom: 16px; }
body.page-privacy .contact-cta h3 em { font-family: var(--font-serif); font-style: italic; color: var(--gold); font-weight: 500; }
body.page-privacy .contact-cta p { font-size: 14px; color: var(--text-secondary); line-height: 1.65; margin-bottom: 20px; }
body.page-privacy .cc-list { list-style: none; display: grid; gap: 8px; margin-bottom: 24px; }
body.page-privacy .cc-list li { font-size: 14px; color: var(--text-primary); display: flex; align-items: center; gap: 12px; }
body.page-privacy .cc-list li::before { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
body.page-privacy .cc-list a { color: var(--gold) !important; text-decoration: none !important; }
body.page-privacy .site-footer { padding: 80px 0 32px; background: var(--bg-void); border-top: 1px solid var(--border-subtle); }
body.page-privacy .footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--border-subtle); }
body.page-privacy .footer-top h4 { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; font-weight: 500; }
body.page-privacy .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-privacy .footer-top a, body.page-privacy .footer-top li { font-size: 14px; color: var(--text-secondary); transition: color 0.3s; }
body.page-privacy .footer-top a:hover { color: var(--gold); }
body.page-privacy .footer-brand .logo { margin-bottom: 20px; }
body.page-privacy .footer-brand p { font-size: 14px; line-height: 1.65; color: var(--text-secondary); margin-bottom: 24px; max-width: 320px; }
body.page-privacy .footer-socials { display: flex; gap: 10px; }
body.page-privacy .footer-socials a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; transition: all 0.4s var(--ease-out); }
body.page-privacy .footer-socials a:hover { background: var(--gold); border-color: var(--gold); transform: translateY(-3px); }
body.page-privacy .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-privacy .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-privacy .footer-bottom { padding-top: 32px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--text-muted); }
body.page-privacy .footer-legal { display: flex; gap: 24px; }
@media (max-width: 1100px) {
body.page-privacy .privacy-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-privacy .toc-wrap { position: relative; top: 0; }
body.page-privacy .toc-list { display: flex; flex-wrap: wrap; gap: 8px; }
body.page-privacy .toc-divider, body.page-privacy .toc-foot { display: none; }
body.page-privacy .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-privacy .container { padding: 0 20px; }
body.page-privacy .nav-menu, body.page-privacy .nav-phone { display: none; }
body.page-privacy .menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-strong); }
body.page-privacy .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-privacy .page-hero { padding: 130px 0 60px; }
body.page-privacy .privacy-section { padding: 60px 0 80px; }
body.page-privacy .sec-head { flex-direction: column; align-items: start; gap: 8px; }
body.page-privacy .rights-grid { grid-template-columns: 1fr; }
body.page-privacy .contact-cta { padding: 28px 24px; }
body.page-privacy .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-privacy .privacy-content section { margin-bottom: 56px; }
}

/* ===== PAGE: thanks  (thank-you.html) ===== */
body.page-thanks { --bg-void: #07070a; --bg-base: #0c0c10; --bg-card: #16161c; --bg-card-hover: #1c1c24;
  --border-subtle: #1f1f28; --border-strong: #2a2a36;
  --gold: #d4af6a; --gold-bright: #e8c98a; --gold-glow: rgba(212, 175, 106, 0.35); --gold-soft: rgba(212, 175, 106, 0.08);
  --text-primary: #f4f1ea; --text-secondary: #a8a39a; --text-muted: #6b6860;
  --font-display: 'Unbounded', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-body: 'Manrope', sans-serif;
  --container: 1320px;
  --radius: 16px; --radius-lg: 24px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); }
body.page-thanks * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-thanks *::selection { background: var(--gold); color: var(--bg-void); }
body.page-thanks { scroll-behavior: smooth; }
body.page-thanks { font-family: var(--font-body); background: var(--bg-void); color: var(--text-primary); line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column; }
body.page-thanks a { color: inherit; text-decoration: none; }
body.page-thanks button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-thanks .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-thanks::before { content: ''; position: fixed; inset: 0; 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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E"); opacity: 0.035; pointer-events: none; z-index: 9999; mix-blend-mode: overlay; }
body.page-thanks .eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; }
body.page-thanks .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-thanks .h-display { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 0.98; letter-spacing: -0.03em; }
body.page-thanks .h-display em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-thanks .btn { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 18px 32px; border-radius: 100px; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: all 0.5s var(--ease-out); overflow: hidden; white-space: nowrap; }
body.page-thanks .btn-arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-void); display: flex; align-items: center; justify-content: center; transition: transform 0.5s var(--ease-out); }
body.page-thanks .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-thanks .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-thanks .btn-primary:hover { background: var(--gold-bright); box-shadow: 0 16px 40px -10px var(--gold-glow); transform: translateY(-2px); }
body.page-thanks .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-thanks .btn-ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); }
body.page-thanks .btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
body.page-thanks .btn-ghost .btn-arrow { background: var(--gold); }
body.page-thanks .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-thanks .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-thanks .site-header { padding: 24px 0; background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-subtle); position: relative; z-index: 10; }
body.page-thanks .nav-row { display: flex; align-items: center; justify-content: space-between; }
body.page-thanks .logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 500; font-size: 16px; letter-spacing: 0.05em; }
body.page-thanks .logo-mark { width: 38px; height: 38px; }
body.page-thanks .logo-mark svg { width: 100%; height: 100%; }
body.page-thanks .logo-text { line-height: 1; }
body.page-thanks .logo-text span { display: block; font-family: var(--font-body); font-size: 9px; font-weight: 400; letter-spacing: 0.3em; color: var(--gold); margin-top: 4px; }
body.page-thanks .back-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); transition: color 0.3s; }
body.page-thanks .back-link:hover { color: var(--gold); }
body.page-thanks .back-link svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5; transition: transform 0.4s; }
body.page-thanks .back-link:hover svg { transform: translateX(-4px); }
body.page-thanks .stage { flex: 1; display: flex; align-items: center; padding: 80px 0; position: relative; overflow: hidden; }
body.page-thanks .stage::before { content: ''; position: absolute; width: 1000px; height: 1000px; border-radius: 50%; background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%); top: -300px; left: 50%; transform: translateX(-50%); z-index: 0; }
body.page-thanks .stage::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse at center, black 0%, transparent 60%); pointer-events: none; }
body.page-thanks .stage-inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; text-align: center; }
body.page-thanks .check-wrap { display: flex; justify-content: center; margin-bottom: 56px; }
body.page-thanks .check-circle { width: 140px; height: 140px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  animation: p_thanks_scaleIn 0.6s var(--ease-out) 0.1s both; }
body.page-thanks .check-circle::before { content: ''; position: absolute; inset: -12px;
  border-radius: 50%; border: 1px dashed var(--gold-deep);
  opacity: 0;
  animation: p_thanks_ringIn 0.8s var(--ease-out) 0.3s forwards, p_thanks_spinSlow 24s linear 1.1s infinite; }
body.page-thanks .check-circle::after { content: ''; position: absolute; inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 var(--gold-glow);
  animation: p_thanks_pulseRing 2s ease-out 0.6s infinite; }
body.page-thanks .check-circle svg { width: 64px; height: 64px; position: relative; z-index: 2; }
body.page-thanks .check-circle svg path { stroke: var(--gold); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 60; stroke-dashoffset: 60;
  animation: p_thanks_drawCheck 0.6s var(--ease-out) 0.5s forwards; }
@keyframes p_thanks_scaleIn { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes p_thanks_ringIn { to { opacity: 1; } }
@keyframes p_thanks_spinSlow { to { transform: rotate(360deg); } }
@keyframes p_thanks_pulseRing { 0% { box-shadow: 0 0 0 0 rgba(212, 175, 106, 0.4); } 100% { box-shadow: 0 0 0 36px rgba(212, 175, 106, 0); } }
@keyframes p_thanks_drawCheck { to { stroke-dashoffset: 0; } }
@keyframes p_thanks_fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
body.page-thanks .stage .eyebrow { justify-content: center; opacity: 0; animation: p_thanks_fadeUp 0.8s var(--ease-out) 0.6s forwards; margin-bottom: 32px; }
body.page-thanks .stage h1 { margin-bottom: 28px; opacity: 0; animation: p_thanks_fadeUp 0.9s var(--ease-out) 0.75s forwards; }
body.page-thanks .stage > .stage-inner > p { color: var(--text-secondary); font-size: 18px; line-height: 1.65; max-width: 560px; margin: 0 auto 48px; opacity: 0; animation: p_thanks_fadeUp 0.9s var(--ease-out) 0.9s forwards; }
body.page-thanks .steps-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 56px; opacity: 0; animation: p_thanks_fadeUp 0.9s var(--ease-out) 1.05s forwards; }
body.page-thanks .step-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius); padding: 28px 24px; text-align: left; transition: all 0.4s var(--ease-out); }
body.page-thanks .step-card:hover { border-color: var(--gold); transform: translateY(-4px); }
body.page-thanks .step-num { font-family: var(--font-display); font-size: 12px; color: var(--gold); letter-spacing: 0.1em; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
body.page-thanks .step-num::after { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-thanks .step-card h4 { font-family: var(--font-display); font-size: 16px; font-weight: 400; margin-bottom: 10px; letter-spacing: -0.01em; }
body.page-thanks .step-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.6; }
body.page-thanks .cta-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; opacity: 0; animation: p_thanks_fadeUp 0.9s var(--ease-out) 1.2s forwards; }
body.page-thanks .meta-row { margin-top: 56px; display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; font-size: 12px; color: var(--text-muted); letter-spacing: 0.04em; opacity: 0; animation: p_thanks_fadeUp 0.9s var(--ease-out) 1.35s forwards; }
body.page-thanks .meta-row span { display: flex; align-items: center; gap: 8px; }
body.page-thanks .meta-row svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-thanks .compact-footer { padding: 32px 0; background: var(--bg-base); border-top: 1px solid var(--border-subtle); }
body.page-thanks .cf-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--text-muted); }
body.page-thanks .cf-row a { color: var(--text-secondary); transition: color 0.3s; }
body.page-thanks .cf-row a:hover { color: var(--gold); }
body.page-thanks .cf-links { display: flex; gap: 24px; flex-wrap: wrap; }
@media (max-width: 760px) {
body.page-thanks .container { padding: 0 20px; }
body.page-thanks .check-circle { width: 110px; height: 110px; }
body.page-thanks .check-circle svg { width: 50px; height: 50px; }
body.page-thanks .steps-row { grid-template-columns: 1fr; }
body.page-thanks .stage { padding: 60px 0; }
}

/* ===== PAGE: e404  (404.html) ===== */
body.page-e404 { --bg-void: #07070a; --bg-base: #0c0c10; --bg-card: #16161c; --bg-card-hover: #1c1c24;
  --border-subtle: #1f1f28; --border-strong: #2a2a36;
  --gold: #d4af6a; --gold-bright: #e8c98a; --gold-glow: rgba(212, 175, 106, 0.35); --gold-soft: rgba(212, 175, 106, 0.08);
  --text-primary: #f4f1ea; --text-secondary: #a8a39a; --text-muted: #6b6860;
  --font-display: 'Unbounded', sans-serif;
  --font-serif: 'Cormorant Garamond', serif;
  --font-body: 'Manrope', sans-serif;
  --container: 1320px;
  --radius: 16px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); }
body.page-e404 * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-e404 *::selection { background: var(--gold); color: var(--bg-void); }
body.page-e404 { scroll-behavior: smooth; }
body.page-e404 { font-family: var(--font-body); background: var(--bg-void); color: var(--text-primary); line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column; }
body.page-e404 a { color: inherit; text-decoration: none; }
body.page-e404 button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-e404 .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-e404::before { content: ''; position: fixed; inset: 0; 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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E"); opacity: 0.035; pointer-events: none; z-index: 9999; mix-blend-mode: overlay; }
body.page-e404 .eyebrow { font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); display: inline-flex; align-items: center; gap: 12px; }
body.page-e404 .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-e404 .h-display { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.5rem, 5.5vw, 4.8rem); line-height: 0.98; letter-spacing: -0.03em; }
body.page-e404 .h-display em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--gold); }
body.page-e404 .btn { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 18px 32px; border-radius: 100px; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: all 0.5s var(--ease-out); overflow: hidden; white-space: nowrap; }
body.page-e404 .btn-arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-void); display: flex; align-items: center; justify-content: center; transition: transform 0.5s var(--ease-out); }
body.page-e404 .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-e404 .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-e404 .btn-primary:hover { background: var(--gold-bright); box-shadow: 0 16px 40px -10px var(--gold-glow); transform: translateY(-2px); }
body.page-e404 .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-e404 .btn-ghost { background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); }
body.page-e404 .btn-ghost:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
body.page-e404 .btn-ghost .btn-arrow { background: var(--gold); }
body.page-e404 .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-e404 .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-e404 .site-header { padding: 24px 0; background: rgba(7, 7, 10, 0.85); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-subtle); position: relative; z-index: 10; }
body.page-e404 .nav-row { display: flex; align-items: center; justify-content: space-between; }
body.page-e404 .logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 500; font-size: 16px; letter-spacing: 0.05em; }
body.page-e404 .logo-mark { width: 38px; height: 38px; }
body.page-e404 .logo-mark svg { width: 100%; height: 100%; }
body.page-e404 .logo-text { line-height: 1; }
body.page-e404 .logo-text span { display: block; font-family: var(--font-body); font-size: 9px; font-weight: 400; letter-spacing: 0.3em; color: var(--gold); margin-top: 4px; }
body.page-e404 .back-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-secondary); transition: color 0.3s; }
body.page-e404 .back-link:hover { color: var(--gold); }
body.page-e404 .back-link svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5; transition: transform 0.4s; }
body.page-e404 .back-link:hover svg { transform: translateX(-4px); }
@keyframes p_e404_fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes p_e404_float404 { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-14px) rotate(1deg); } }
@keyframes p_e404_scanLine { 0% { top: 0; } 100% { top: 100%; } }
body.page-e404 .stage { flex: 1; display: flex; align-items: center; padding: 60px 0; position: relative; overflow: hidden; }
body.page-e404 .stage::before { content: ''; position: absolute; width: 1000px; height: 1000px; border-radius: 50%; background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%); top: -300px; left: 50%; transform: translateX(-50%); z-index: 0; }
body.page-e404 .stage::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px); background-size: 80px 80px; mask-image: radial-gradient(ellipse at center, black 0%, transparent 60%); pointer-events: none; }
body.page-e404 .stage-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
body.page-e404 .visual-404 { position: relative;
  aspect-ratio: 1 / 1;
  display: flex; align-items: center; justify-content: center;
  animation: p_e404_float404 6s ease-in-out infinite; }
body.page-e404 .huge-404 { font-family: var(--font-display);
  font-weight: 200;
  font-size: clamp(10rem, 22vw, 18rem);
  letter-spacing: -0.08em;
  line-height: 0.85;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-bright) 40%, transparent 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  text-align: center; }
body.page-e404 .huge-404::before { content: '404';
  position: absolute; inset: 0;
  -webkit-text-stroke: 1px var(--gold);
  -webkit-text-fill-color: transparent;
  background: none;
  opacity: 0.3;
  transform: translate(4px, 4px); }
body.page-e404 .lost-doc { position: absolute;
  top: 50%; right: -10%;
  width: 160px; height: 200px;
  transform: translateY(-50%) rotate(8deg);
  filter: drop-shadow(0 30px 40px rgba(0,0,0,0.4));
  z-index: 2;
  opacity: 0;
  animation: p_e404_fadeUp 1s var(--ease-out) 0.5s forwards; }
body.page-e404 .lost-doc svg { width: 100%; height: 100%; }
body.page-e404 .content { opacity: 0; animation: p_e404_fadeUp 0.9s var(--ease-out) 0.3s forwards; }
body.page-e404 .content .eyebrow { margin-bottom: 32px; }
body.page-e404 .content h1 { margin-bottom: 28px; }
body.page-e404 .content > p { color: var(--text-secondary); font-size: 17px; line-height: 1.7; margin-bottom: 40px; max-width: 480px; }
body.page-e404 .suggest-links { margin-bottom: 40px; max-width: 480px; }
body.page-e404 .suggest-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 16px; }
body.page-e404 .suggest-list { display: grid; gap: 8px; }
body.page-e404 .suggest-list a { display: flex; align-items: center; gap: 14px;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  font-size: 14px; color: var(--text-primary);
  transition: all 0.4s var(--ease-out); }
body.page-e404 .suggest-list a:hover { border-color: var(--gold); background: var(--bg-card-hover); padding-left: 26px; }
body.page-e404 .suggest-list a:hover .si { background: var(--gold); border-color: var(--gold); }
body.page-e404 .suggest-list a:hover .si svg { stroke: var(--bg-void); }
body.page-e404 .suggest-list .si { width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-e404 .suggest-list .si svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; transition: stroke 0.3s; }
body.page-e404 .suggest-list .arrow { margin-left: auto; opacity: 0; transition: all 0.4s var(--ease-out); }
body.page-e404 .suggest-list a:hover .arrow { opacity: 1; transform: translateX(0); }
body.page-e404 .suggest-list .arrow svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-e404 .cta-row { display: flex; gap: 16px; flex-wrap: wrap; }
body.page-e404 .compact-footer { padding: 32px 0; background: var(--bg-base); border-top: 1px solid var(--border-subtle); }
body.page-e404 .cf-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--text-muted); }
body.page-e404 .cf-row a { color: var(--text-secondary); transition: color 0.3s; }
body.page-e404 .cf-row a:hover { color: var(--gold); }
body.page-e404 .cf-links { display: flex; gap: 24px; flex-wrap: wrap; }
@media (max-width: 1100px) {
body.page-e404 .stage-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-e404 .lost-doc { right: 5%; }
}
@media (max-width: 760px) {
body.page-e404 .container { padding: 0 20px; }
body.page-e404 .stage { padding: 40px 0; }
body.page-e404 .lost-doc { display: none; }
}

/* ===== Выпадающее меню «Услуги» — по макету Figma ===== */
.nav-dd{position:relative}
.nav-dd>.nav-dd-top{display:inline-flex;align-items:center;gap:6px}
.nav-dd-caret{width:10px;height:10px;opacity:.65;transition:transform .25s ease,opacity .25s}
.nav-dd:hover .nav-dd-caret{transform:rotate(180deg);opacity:1}

.nav-dd-menu{
  position:absolute;top:calc(100% + 16px);left:50%;
  transform:translateX(-50%) translateY(10px);
  width:320px;list-style:none;margin:0;
  background:linear-gradient(180deg,#101015 0%,#0b0b0e 100%);
  border:1px solid rgba(212,175,106,.20);border-radius:18px;
  padding:10px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 24px 50px -8px rgba(0,0,0,.60);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .26s ease,transform .26s cubic-bezier(.16,1,.3,1),visibility .26s;
  z-index:1000;
}
.nav-dd::after{content:"";position:absolute;top:100%;left:0;right:0;height:20px}
.nav-dd:hover .nav-dd-menu{opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0)}
.nav-dd-menu::before{content:"";position:absolute;top:-7px;left:50%;
  width:14px;height:14px;background:#101015;
  border-left:1px solid rgba(212,175,106,.20);
  border-top:1px solid rgba(212,175,106,.20);
  transform:translateX(-50%) rotate(45deg)}
.nav-dd-menu li{list-style:none;margin:0}

/* пункты — перебиваем uppercase/spacing навигации страницы */
header .nav-dd-menu a,.nav-dd-menu a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 16px;border-radius:12px;
  font-family:var(--font-body,'Manrope',sans-serif)!important;
  font-size:14px!important;font-weight:500!important;
  line-height:1.35!important;letter-spacing:0!important;
  text-transform:none!important;
  color:#c9c4ba;white-space:normal;
  transition:background .18s ease,color .18s ease;
}
.nav-dd-menu a::after{
  content:"\2192";font-size:14px;color:var(--gold,#d4af6a);
  opacity:0;transform:translateX(-6px);
  transition:opacity .18s ease,transform .18s ease;flex:0 0 auto;
}
.nav-dd-menu a:hover{background:rgba(212,175,106,.10);color:#e8c98a}
.nav-dd-menu a:hover::after{opacity:1;transform:translateX(0)}

.nav-dd-all{margin-top:8px;padding-top:8px;
  border-top:1px solid rgba(212,175,106,.16)}
header .nav-dd-all a,.nav-dd-all a{
  color:var(--gold,#d4af6a)!important;font-weight:600!important;
}
.nav-dd-all a::after{opacity:1;transform:none}
.nav-dd-all a:hover{background:rgba(212,175,106,.14)}

/* ===== Карусель отзывов (главная) ===== */
.rev-carousel{position:relative;display:flex;align-items:center;gap:14px;margin-top:8px}
.rev-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  -ms-overflow-style:none;scrollbar-width:none;flex:1;padding:26px 6px 30px}
.rev-viewport::-webkit-scrollbar{display:none}
.rev-track{display:flex;gap:24px}
.rev-track .review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;margin:0}
.rev-nav{flex:0 0 auto;width:48px;height:48px;border-radius:50%;
  background:rgba(212,175,106,.08);border:1px solid rgba(212,175,106,.3);
  color:#d4af6a;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .25s ease}
.rev-nav svg{width:20px;height:20px}
.rev-nav:hover{background:#d4af6a;color:#0c0c10;transform:scale(1.06)}
.rev-name{display:flex;align-items:center;gap:7px}
.rev-g{flex:0 0 auto}
.rev-all{display:flex;justify-content:center;margin-top:24px}
@media(max-width:980px){.rev-track .review-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:640px){
  .rev-track .review-card{flex:0 0 88%}
  .rev-nav{width:42px;height:42px}
  .rev-carousel{gap:8px}
}

/* ===== Логотип-картинка (глобально, шапка и футер) ===== */
.logo{display:inline-flex;align-items:center}
.logo-img{height:46px;width:auto;display:block;object-fit:contain}
.site-footer .logo-img{height:54px}
@media(max-width:640px){.logo-img{height:38px}}

/* ===== Hero: притемнение + виньетка + возврат сетки поверх видео ===== */
body.page-home .hero-video-wrap::after{
  background:
    radial-gradient(ellipse at center, rgba(7,7,10,0) 32%, rgba(4,4,7,.55) 78%, rgba(3,3,5,.85) 100%),
    linear-gradient(180deg, rgba(7,7,10,.78) 0%, rgba(7,7,10,.66) 42%, rgba(7,7,10,.97) 100%),
    linear-gradient(90deg, rgba(7,7,10,.8) 0%, transparent 62%);
}
body.page-home .hero-grid{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(212,175,106,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212,175,106,.06) 1px, transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse at center, #000 22%, transparent 76%);
  mask-image:radial-gradient(ellipse at center, #000 22%, transparent 76%);
}

/* ===== Карусель отзывов: ровные карточки, без обрезки ===== */
.rev-carousel{align-items:stretch}
.rev-viewport{display:flex}
.rev-track{align-items:stretch}
.rev-track .review-card{
  display:flex;flex-direction:column;
  min-height:340px;box-sizing:border-box;
}
.rev-track .review-card .review-text{
  flex:1 1 auto;min-height:0;margin-bottom:24px;
}
.rev-track .review-card .review-foot{margin-top:auto}
.rev-nav{align-self:center}

/* ============================================================
   КАРУСЕЛЬ ОТЗЫВОВ — финальные правила (перекрывают всё выше)
   ============================================================ */
body.page-home .rev-carousel{
  position:relative;display:flex;align-items:stretch;gap:16px;
  margin:8px 0 0;
}
/* область прокрутки: горизонтальный скролл, по вертикали ничего не режем лишнего */
body.page-home .rev-viewport{
  flex:1;display:block;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -ms-overflow-style:none;scrollbar-width:none;
  padding:14px 4px;            /* запас, чтобы рамка/подсветка не срезалась */
}
body.page-home .rev-viewport::-webkit-scrollbar{display:none}
body.page-home .rev-track{
  display:flex;align-items:stretch;gap:24px;
}
body.page-home .rev-track .review-card{
  flex:0 0 calc((100% - 48px)/3);
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  min-height:330px;margin:0;box-sizing:border-box;
  transition:border-color .3s var(--ease-out), background .3s var(--ease-out);
}
/* БЕЗ сдвига вверх — иначе карусель его обрезает. Только подсветка. */
body.page-home .rev-track .review-card:hover{
  transform:none;
  border-color:var(--gold);
  background:var(--bg-card-hover);
}
body.page-home .rev-track .review-card .review-text{
  flex:1 1 auto;min-height:0;margin-bottom:22px;
}
body.page-home .rev-track .review-card .review-foot{margin-top:auto}
body.page-home .rev-nav{align-self:center;flex:0 0 auto}
body.page-home .rev-all{display:flex;justify-content:center;margin-top:30px}

@media(max-width:980px){
  body.page-home .rev-track .review-card{flex:0 0 calc((100% - 24px)/2)}
}
@media(max-width:640px){
  body.page-home .rev-track .review-card{flex:0 0 86%}
  body.page-home .rev-carousel{gap:8px}
  body.page-home .rev-nav{width:40px;height:40px}
}

/* ===== Защита сетки услуг на главной (если закреплено >5) ===== */
body.page-home .svc-card:nth-child(n+6){grid-column:span 3}
body.page-home .svc-card h3{overflow-wrap:anywhere;word-break:normal;hyphens:none}
body.page-home .svc-card{min-width:0}

/* ===== Метка (бейдж) в карточке услуги, напротив иконки ===== */
body.page-home .svc-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;margin-bottom:4px;
}
body.page-home .svc-badge{
  display:inline-flex;align-items:center;
  padding:7px 14px;border-radius:999px;
  background:rgba(212,175,106,.12);
  border:1px solid rgba(212,175,106,.35);
  color:var(--gold);
  font-size:12px;font-weight:600;letter-spacing:.04em;
  white-space:nowrap;flex:0 0 auto;margin-top:4px;
}

/* Фото автора в кружке отзыва */
.review-avatar{overflow:hidden}
.review-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* Подпись под каруселью отзывов */
.rev-caption{text-align:center;color:#8a857b;font-size:13px;
  margin:22px 0 0;letter-spacing:.01em}

/* Единый стиль подписи раздела «06 — Отзывы» (как в других блоках) */
body.page-home .reviews-head .index{
  font-family:var(--font-display);font-size:14px;color:var(--gold);
  display:flex;align-items:center;gap:14px;margin-bottom:24px;
}
body.page-home .reviews-head .index::after{
  content:'';width:50px;height:1px;background:var(--gold);
}

/* Все подписи разделов — единый стиль как у «Контакты» (.eyebrow / Manrope) */
body.page-home .section-head .index,
body.page-home .reviews-head .index{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:.25em!important;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:12px;
  margin-bottom:24px;
}
body.page-home .section-head .index::after,
body.page-home .reviews-head .index::after{content:none!important}
body.page-home .section-head .index::before,
body.page-home .reviews-head .index::before{
  content:'';width:32px;height:1px;background:var(--gold);order:-1;
}

/* Fix: кнопки внутри privacy-content не должны наследовать стиль текстовых ссылок */
body.page-privacy .privacy-content a.btn,
body.page-privacy .privacy-content a.btn-primary,
body.page-privacy .privacy-content a.btn-ghost{
  text-decoration:none!important;
}
body.page-privacy .privacy-content a.btn-primary{color:var(--bg-void)!important}
body.page-privacy .privacy-content a.btn-ghost{color:var(--text-primary)!important}

/* Фон-картинка карточки услуги (30% прозрачности) */
body.page-home .svc-card{overflow:hidden}
body.page-home .svc-bg{
  position:absolute;inset:0;border-radius:inherit;
  background-size:cover;background-position:center;
  opacity:.10;z-index:0;pointer-events:none;
}
body.page-home .svc-card > *:not(.svc-bg){position:relative;z-index:1}

/* Меню услуг: гасим подчёркивание-анимацию навигации, возвращаем стрелку → */
body .nav-dd-menu a::before{display:none!important}
body .nav-dd-menu a::after,
body .nav-dd-menu a:hover::after,
body .nav-dd-menu a.active::after{
  content:"\2192"!important;
  position:static!important;
  inset:auto!important;
  width:auto!important;height:auto!important;
  background:none!important;
  font-size:14px!important;
  color:var(--gold,#d4af6a)!important;
  flex:0 0 auto;
  opacity:0;transform:translateX(-6px);
  transition:opacity .18s ease,transform .18s ease;
}
body .nav-dd-menu a:hover::after{opacity:1!important;transform:translateX(0)!important}
body .nav-dd-all a::after{opacity:1!important;transform:none!important}
body .nav-dd-menu a.active{color:#c9c4ba!important}
body .nav-dd-all a.active{color:var(--gold,#d4af6a)!important}
body .nav-dd-menu a{color:#c9c4ba!important}
body .nav-dd-menu a:hover{color:#e8c98a!important}
body .nav-dd-all a,body .nav-dd-all a:hover{color:var(--gold,#d4af6a)!important}

/* Меню услуг: подсветка скруглена 12px + гарантированные отступы */
body .nav-dd-menu a,
body .nav-dd-all a{
  padding:13px 20px!important;
  border-radius:12px!important;
  margin:0!important;
}
body .nav-dd-menu{padding:8px!important}

/* Видео/фото в рамке блока «О компании» */
body.page-home .about-visual .about-media{
  width:100%;height:100%;object-fit:cover;display:block;
  border-radius:18px;border:1.5px solid #d4af6a;
}

/* Кнопка воспроизведения на рамке «О компании» */
body.page-home .about-visual{position:relative}
.about-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(212,175,106,.95);color:#0c0c10;display:flex;
  align-items:center;justify-content:center;z-index:3;
  box-shadow:0 8px 30px rgba(0,0,0,.45);transition:transform .25s ease,background .25s}
.about-play svg{width:30px;height:30px;margin-left:3px}
.about-play:hover{background:#e8c98a;transform:translate(-50%,-50%) scale(1.08)}
.about-play-ring{position:absolute;inset:-10px;border-radius:50%;
  border:2px solid rgba(212,175,106,.55);animation:aboutPulse 2.2s ease-out infinite}
@keyframes aboutPulse{0%{transform:scale(.9);opacity:.8}
  70%{transform:scale(1.35);opacity:0}100%{opacity:0}}

/* Модалка-плеер */
.vmodal{position:fixed;inset:0;z-index:9999;display:none;
  align-items:center;justify-content:center;
  background:rgba(5,5,8,.92);backdrop-filter:blur(6px);padding:24px}
.vmodal.on{display:flex}
.vmodal-inner{width:min(420px,92vw);max-height:88vh}
.vmodal-inner video{width:100%;max-height:88vh;border-radius:16px;
  border:1px solid rgba(212,175,106,.4);background:#000;display:block}
.vmodal-close{position:absolute;top:22px;right:28px;width:44px;height:44px;
  border-radius:50%;border:1px solid rgba(212,175,106,.4);
  background:rgba(255,255,255,.06);color:#e8c98a;font-size:26px;
  line-height:1;cursor:pointer}
.vmodal-close:hover{background:rgba(212,175,106,.15)}

/* Видео «О компании»: притемнение + виньетка + сетка (как в hero) */
body.page-home .about-visual .about-vig,
body.page-home .about-visual .about-grid{
  position:absolute;inset:0;border-radius:18px;pointer-events:none;
}
body.page-home .about-visual .about-vig{
  z-index:1;
  background:
    radial-gradient(ellipse at center, rgba(7,7,10,0) 42%, rgba(4,4,7,.5) 100%),
    linear-gradient(180deg, rgba(7,7,10,.22) 0%, rgba(7,7,10,.40) 100%);
}
body.page-home .about-visual .about-grid{
  z-index:2;
  background-image:
    linear-gradient(to right, rgba(212,175,106,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212,175,106,.07) 1px, transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(ellipse at center, #000 20%, transparent 78%);
  mask-image:radial-gradient(ellipse at center, #000 20%, transparent 78%);
}
body.page-home .about-visual .about-play{z-index:4}
body.page-home .about-visual .about-badge{z-index:4}

/* About: подписи разделов «0X —» в едином стиле (как .eyebrow / Manrope) */
body.page-about .section-head .index{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:.25em!important;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:12px;
  margin-bottom:24px;
}
body.page-about .section-head .index::after{content:none!important}
body.page-about .section-head .index::before{
  content:'';width:32px;height:1px;background:var(--gold);order:-1;
}

/* Футер: текст у логотипа + подпись разработчика */
.footer-logo{display:inline-flex;align-items:center;gap:12px}
.footer-logo-text{
  font-family:var(--font-display,'Unbounded',sans-serif);
  font-size:15px;font-weight:500;letter-spacing:.02em;
  color:#f4f1ea;white-space:nowrap;
}
.footer-legal{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.footer-dev{display:inline-flex;align-items:center;gap:5px;
  color:#6b6860;font-size:13px;transition:color .25s ease}
.footer-dev strong{color:#a8855a;font-weight:600;transition:color .25s ease}
.footer-dev:hover{color:#a8a39a}
.footer-dev:hover strong{color:var(--gold,#d4af6a)}
@media(max-width:640px){
  .footer-logo-text{font-size:13px}
  .footer-legal{gap:14px;flex-direction:column;align-items:flex-start}
}

/* Fix: длинный заголовок featured-card не должен налезать на иконку */
body.page-services .featured-card h3,
body.page-services .featured-card .tag-row{
  max-width:none;
  padding-right:160px;
}
body.page-services .featured-card .desc{padding-right:24px}
@media(max-width:980px){
  body.page-services .featured-card .featured-deco{width:96px;height:96px;top:28px;right:24px}
  body.page-services .featured-card h3,
  body.page-services .featured-card .tag-row{padding-right:110px}
}
@media(max-width:560px){
  body.page-services .featured-card .featured-deco{opacity:.25}
  body.page-services .featured-card h3,
  body.page-services .featured-card .tag-row{padding-right:0}
}

/* Меньше декоративная иконка featured-card + меньше резерв справа */
body.page-services .featured-card .featured-deco{
  width:90px;height:90px;top:32px;right:32px;
}
body.page-services .featured-card h3,
body.page-services .featured-card .tag-row{padding-right:120px}
@media(max-width:980px){
  body.page-services .featured-card .featured-deco{width:72px;height:72px;top:24px;right:22px}
  body.page-services .featured-card h3,
  body.page-services .featured-card .tag-row{padding-right:90px}
}

/* ════════════════════════════════════════════════════════════
   МОБИЛЬНОЕ МЕНЮ v4 — пуленепробиваемое (html body + !important)
   Перебивает ЛЮБОЙ скоуп-CSS страницы (body.page-*)
   ════════════════════════════════════════════════════════════ */
@media (max-width: 860px){

  /* Гамбургер: всегда фикс, поверх всего */
  html body .menu-toggle{
    display:flex !important;align-items:center !important;justify-content:center !important;
    position:fixed !important;top:18px !important;right:18px !important;
    left:auto !important;bottom:auto !important;
    width:46px !important;height:46px !important;border-radius:50% !important;
    background:rgba(20,20,26,.92) !important;
    border:1px solid rgba(212,175,106,.4) !important;
    color:#d4af6a !important;z-index:2147483000 !important;
    cursor:pointer !important;padding:0 !important;margin:0 !important;
  }
  html body .menu-toggle svg{width:20px !important;height:20px !important;stroke:#d4af6a !important;display:block !important}

  /* Закрытое меню скрыто */
  html body .nav-menu{display:none !important}

  /* Открыто: гамбургер → крестик */
  html body.nav-open .menu-toggle svg{display:none !important}
  html body.nav-open .menu-toggle::after{
    content:"✕" !important;font-size:22px !important;line-height:1 !important;color:#d4af6a !important;
  }
  html body.nav-open{overflow:hidden !important}

  /* Полноэкранный оверлей меню */
  html body.nav-open .nav-menu{
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;justify-content:flex-start !important;
    gap:0 !important;
    position:fixed !important;top:0 !important;left:0 !important;
    right:0 !important;bottom:0 !important;inset:0 !important;
    width:100% !important;height:100% !important;max-width:none !important;
    margin:0 !important;padding:84px 26px 40px !important;
    list-style:none !important;overflow-y:auto !important;
    background:#0a0a0d !important;opacity:1 !important;visibility:visible !important;
    transform:none !important;z-index:2147482000 !important;
  }
  html body.nav-open .nav-menu > li{
    width:100% !important;border-bottom:1px solid rgba(255,255,255,.07) !important;
    margin:0 !important;list-style:none !important;
  }
  html body.nav-open .nav-menu > li > a,
  html body.nav-open .nav-dd > .nav-dd-top{
    display:block !important;width:100% !important;
    padding:18px 0 !important;margin:0 !important;
    font-family:var(--font-body,'Manrope',sans-serif) !important;
    font-size:17px !important;font-weight:600 !important;
    letter-spacing:.02em !important;text-transform:uppercase !important;
    color:#f4f1ea !important;background:transparent !important;
    border:0 !important;border-radius:0 !important;
  }
  html body.nav-open .nav-menu a::after,
  html body.nav-open .nav-menu a::before,
  html body.nav-open .nav-dd-caret{display:none !important}

  /* Подменю «Услуги» — всегда раскрыто списком */
  html body.nav-open .nav-dd-menu{
    display:flex !important;flex-direction:column !important;
    position:static !important;top:auto !important;left:auto !important;
    transform:none !important;opacity:1 !important;visibility:visible !important;
    pointer-events:auto !important;width:auto !important;min-width:0 !important;
    max-width:none !important;margin:0 !important;padding:2px 0 14px 16px !important;
    background:transparent !important;border:0 !important;box-shadow:none !important;
    -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
  }
  html body.nav-open .nav-dd-menu::before{display:none !important}
  html body.nav-open .nav-dd-menu li{width:100% !important;margin:0 !important;list-style:none !important}
  html body.nav-open .nav-dd-menu a{
    display:block !important;padding:12px 0 !important;margin:0 !important;
    font-size:15px !important;font-weight:500 !important;
    text-transform:none !important;letter-spacing:0 !important;
    color:#a8a39a !important;background:transparent !important;
    border:0 !important;border-radius:0 !important;
  }
  html body.nav-open .nav-dd-menu .nav-dd-all a{
    color:#d4af6a !important;font-weight:600 !important;
    padding-top:14px !important;margin-top:6px !important;
    border-top:1px solid rgba(212,175,106,.2) !important;
  }
}

/* ════════════════════════════════════════════════════════════
   КРИТ-ФИКС: backdrop-filter у шапки ломает position:fixed
   оверлея на мобильных. Убираем у предков при открытом меню.
   ════════════════════════════════════════════════════════════ */
@media (max-width: 860px){
  html body.nav-open .site-header,
  html body.nav-open .site-header.scrolled,
  html body.nav-open .nav-row,
  html body.nav-open header nav{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    filter:none !important;
    transform:none !important;
    will-change:auto !important;
    perspective:none !important;
  }
  html body.nav-open .site-header{
    background:transparent !important;
    border-bottom:0 !important;
  }
}

/* Убрать задержку: мгновенное снятие backdrop-filter (без «обрезки» на 1-2 сек) */
@media (max-width: 860px){
  html body.nav-open .site-header,
  html body.nav-open .site-header.scrolled,
  html body.nav-open .nav-row,
  html body.nav-open header nav,
  html body.nav-open .nav-menu{
    transition:none !important;
    animation:none !important;
  }
}

/* Мобильная шапка: только лого + гамбургер (прячем CTA «Консультация» и телефон) */
@media (max-width: 860px){
  html body .site-header .btn-header,
  html body .site-header .nav-phone{
    display:none !important;
  }
  html body .site-header .nav-right{ gap:0 !important; }
}

/* CTA «Получить консультацию» — только внутри мобильного меню */
.nav-cta-mobile{display:none}
@media (max-width: 860px){
  html body.nav-open .nav-cta-mobile{
    display:block !important;border-bottom:0 !important;
    margin-top:22px !important;
  }
  html body.nav-open .nav-cta-mobile a.btn{
    display:flex !important;align-items:center;justify-content:center;
    width:100% !important;padding:16px 22px !important;
    background:var(--gold,#d4af6a) !important;color:#0c0c10 !important;
    font-size:15px !important;font-weight:700 !important;
    text-transform:uppercase !important;letter-spacing:.04em !important;
    border-radius:12px !important;border:0 !important;
  }
  html body.nav-open .nav-cta-mobile a.btn::after,
  html body.nav-open .nav-cta-mobile a.btn::before{display:none !important}
}

/* Мобильное меню: «Услуги» — аккордеон (свёрнуто по умолчанию) */
@media (max-width: 860px){
  /* подменю скрыто, пока не .dd-open */
  html body.nav-open .nav-dd .nav-dd-menu{display:none !important}
  html body.nav-open .nav-dd.dd-open .nav-dd-menu{
    display:flex !important;flex-direction:column !important;
  }
  /* стрелка-каретка видна и крутится */
  html body.nav-open .nav-dd-caret{
    display:inline-block !important;width:14px !important;height:14px !important;
    margin-left:8px;transition:transform .25s ease;opacity:.8;
    stroke:#d4af6a !important;
  }
  html body.nav-open .nav-dd.dd-open .nav-dd-caret{transform:rotate(180deg)}
  /* строка «Услуги» — флекс, чтобы стрелка встала справа */
  html body.nav-open .nav-dd > .nav-dd-top{
    display:flex !important;align-items:center !important;
    justify-content:space-between !important;
  }
}

/* Мобильное меню: водяной знак «3city documents» + CTA как в hero */
@media (max-width: 860px){
  html body.nav-open .nav-menu > li{ position:relative; z-index:1; }

  /* Полупрозрачная подпись на фоне (как DOCUMENTS в about) */
  html body.nav-open .nav-menu::after{
    content:"3city documents";
    position:absolute; left:-12px; bottom:4%;
    font-family:var(--font-display,'Unbounded',sans-serif);
    font-size:clamp(2.6rem, 17vw, 5.4rem);
    font-weight:200; letter-spacing:-.04em; line-height:.85;
    color:rgba(212,175,106,.06);
    pointer-events:none; z-index:0; white-space:nowrap;
  }

  /* CTA «Получить консультацию» — стиль hero (пилюля + стрелка-кружок), ниже */
  html body.nav-open .nav-cta-mobile{
    margin-top:42px !important; border-bottom:0 !important; z-index:1;
  }
  html body.nav-open .nav-cta-mobile a.btn{
    display:inline-flex !important;align-items:center !important;
    justify-content:center !important;gap:14px !important;
    width:100% !important;padding:18px 28px !important;
    border-radius:100px !important;
    background:var(--gold,#d4af6a) !important;color:#07070a !important;
    font-size:14px !important;font-weight:600 !important;
    text-transform:uppercase !important;letter-spacing:.04em !important;
    border:0 !important;
  }
  html body.nav-open .nav-cta-mobile .btn-arrow{
    display:flex !important;align-items:center;justify-content:center;
    width:28px !important;height:28px !important;border-radius:50% !important;
    background:#07070a !important;flex:0 0 auto;
  }
  html body.nav-open .nav-cta-mobile .btn-arrow svg{
    width:12px !important;height:12px !important;stroke:var(--gold,#d4af6a) !important;
  }
}

/* Водяной знак в 2 строки (крупно) + hover-анимация CTA как в hero */
@media (max-width: 860px){
  html body.nav-open .nav-menu::after{
    content:"3city\A documents" !important;
    white-space:pre !important;
    left:-14px !important; bottom:3% !important;
    font-size:clamp(4rem, 26vw, 9rem) !important;
    line-height:.82 !important;
    color:rgba(212,175,106,.055) !important;
  }

  /* Кнопка: те же transition/блик/hover что в hero */
  html body.nav-open .nav-cta-mobile a.btn{
    position:relative !important;overflow:hidden !important;
    transition:background .5s var(--ease-out), transform .5s var(--ease-out) !important;
  }
  html body.nav-open .nav-cta-mobile a.btn::after{
    content:'' !important;position:absolute !important;
    top:0 !important;left:-100% !important;width:60% !important;height:100% !important;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent) !important;
    transition:left .8s ease !important;pointer-events:none;
  }
  html body.nav-open .nav-cta-mobile .btn-arrow{
    transition:transform .5s var(--ease-out) !important;
  }
  /* hover / нажатие */
  html body.nav-open .nav-cta-mobile a.btn:hover,
  html body.nav-open .nav-cta-mobile a.btn:active{
    background:var(--gold-bright,#e8c98a) !important;
    transform:translateY(-2px) !important;
  }
  html body.nav-open .nav-cta-mobile a.btn:hover::after,
  html body.nav-open .nav-cta-mobile a.btn:active::after{ left:120% !important; }
  html body.nav-open .nav-cta-mobile a.btn:hover .btn-arrow,
  html body.nav-open .nav-cta-mobile a.btn:active .btn-arrow{
    transform:rotate(-45deg) !important;
  }
}

/* Водяной знак ЗАГЛАВНЫМИ + кнопка ещё ниже от пунктов */
@media (max-width: 860px){
  html body.nav-open .nav-menu::after{
    content:"3CITY\A DOCUMENTS" !important;
  }
  html body.nav-open .nav-cta-mobile{
    margin-top:64px !important;
  }
}

/* Фикс: меню не должно скроллиться вбок из-за водяного знака */
@media (max-width: 860px){
  html body.nav-open .nav-menu{
    overflow-x:hidden !important;
    max-width:100vw !important;
  }
  html body.nav-open{ overflow-x:hidden !important; }
  html body.nav-open .nav-menu::after{
    max-width:120vw !important;overflow:hidden !important;
  }
}

/* ===== Универсальная страница услуги (service.php) ===== */
body.page-services .svc-hero{max-width:760px;margin-top:36px}
body.page-services .svc-hero-title{font-size:clamp(2.2rem,5.5vw,4rem);margin:18px 0 18px;line-height:1.04}
body.page-services .svc-hero-sub{color:var(--text-secondary,#a8a39a);font-size:18px;line-height:1.6;max-width:620px}
body.page-services .svc-hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin:30px 0}
body.page-services .svc-meta-card{background:var(--bg-card,#16161c);border:1px solid var(--border-subtle,#1f1f28);
  border-radius:14px;padding:16px 22px;min-width:150px}
body.page-services .svc-meta-card span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted,#6b6860);margin-bottom:7px}
body.page-services .svc-meta-card strong{font-family:var(--font-display,'Unbounded',sans-serif);font-size:22px;color:var(--gold,#d4af6a);font-weight:500}
body.page-services .svc-hero-cta{display:inline-flex;margin-top:6px}

body.page-services .svc-body{padding:70px 0 90px}
body.page-services .svc-prose{max-width:760px;color:#cdc8bd;font-size:17px;line-height:1.75}
body.page-services .svc-prose h2{font-family:var(--font-display,'Unbounded',sans-serif);font-weight:300;
  font-size:clamp(1.5rem,3vw,2.1rem);color:var(--text-primary,#f4f1ea);margin:48px 0 18px;line-height:1.15}
body.page-services .svc-prose h2 em,body.page-services .svc-prose em{font-family:var(--font-serif,'Cormorant Garamond',serif);font-style:italic;color:var(--gold,#d4af6a)}
body.page-services .svc-prose h3{font-family:var(--font-display,'Unbounded',sans-serif);font-weight:400;font-size:18px;color:var(--text-primary,#f4f1ea);margin:30px 0 10px}
body.page-services .svc-prose p{margin:0 0 18px}
body.page-services .svc-prose strong{color:var(--text-primary,#f4f1ea);font-weight:600}
body.page-services .svc-prose ul{list-style:none;margin:0 0 22px;padding:0}
body.page-services .svc-prose ul li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--border-subtle,#1f1f28)}
body.page-services .svc-prose ul li::before{content:'';position:absolute;left:4px;top:16px;width:7px;height:7px;
  border-right:2px solid var(--gold,#d4af6a);border-bottom:2px solid var(--gold,#d4af6a);transform:rotate(45deg)}
body.page-services .svc-prose .info-box{display:flex;gap:16px;background:var(--bg-card,#16161c);
  border:1px solid rgba(212,175,106,.25);border-radius:14px;padding:22px 24px;margin:26px 0;color:var(--text-secondary,#a8a39a)}
body.page-services .svc-prose .info-box strong{color:var(--gold,#d4af6a)}
body.page-services .svc-prose hr{border:0;border-top:1px solid var(--border-subtle,#1f1f28);margin:40px 0}

body.page-services .svc-final{max-width:760px;margin-top:56px;background:linear-gradient(135deg,#1a1820 0%,#0c0c10 70%);
  border:1px solid rgba(212,175,106,.25);border-radius:20px;padding:44px 40px;text-align:center}
body.page-services .svc-final h2{font-family:var(--font-display,'Unbounded',sans-serif);font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 12px}
body.page-services .svc-final p{color:var(--text-secondary,#a8a39a);max-width:520px;margin:0 auto 26px;line-height:1.6}
body.page-services .svc-final-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){
  body.page-services .svc-body{padding:48px 0 64px}
  body.page-services .svc-final{padding:32px 22px}
}


/* ===== PAGE: karta-cukr  (karta-pobytu-pesel-ukr.html) ===== */
body.page-karta-cukr { --bg-void:        #07070a;
  --bg-base:        #0c0c10;
  --bg-elevated:    #131318;
  --bg-card:        #16161c;
  --bg-card-hover:  #1c1c24;
  --border-subtle:  #1f1f28;
  --border-strong:  #2a2a36;

  --gold:           #d4af6a;
  --gold-bright:    #e8c98a;
  --gold-deep:      #a88248;
  --gold-glow:      rgba(212, 175, 106, 0.35);
  --gold-soft:      rgba(212, 175, 106, 0.08);

  --text-primary:   #f4f1ea;
  --text-secondary: #a8a39a;
  --text-muted:     #6b6860;

  --font-display: 'Unbounded', sans-serif;
  --font-serif:   'Cormorant Garamond', serif;
  --font-body:    'Manrope', sans-serif;

  --container: 1320px;
  --radius-sm: 8px;
  --radius:    16px;
  --radius-lg: 24px;

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); }
body.page-karta-cukr * { margin: 0; padding: 0; box-sizing: border-box; }
body.page-karta-cukr *::selection { background: var(--gold); color: var(--bg-void); }
body.page-karta-cukr { scroll-behavior: smooth; scroll-padding-top: 160px; }
body.page-karta-cukr { font-family: var(--font-body);
  background: var(--bg-void);
  color: var(--text-primary);
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased; }
body.page-karta-cukr img, body.page-karta-cukr video { max-width: 100%; display: block; }
body.page-karta-cukr a { color: inherit; text-decoration: none; }
body.page-karta-cukr button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
body.page-karta-cukr .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
body.page-karta-cukr::before { content: '';
  position: fixed; inset: 0;
  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.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.035; pointer-events: none; z-index: 9999;
  mix-blend-mode: overlay; }
body.page-karta-cukr .eyebrow { font-family: var(--font-body);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex; align-items: center; gap: 12px; }
body.page-karta-cukr .eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
body.page-karta-cukr h1, body.page-karta-cukr h2, body.page-karta-cukr h3 { font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; }
body.page-karta-cukr .h-display { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.03em; }
body.page-karta-cukr .h-display em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-karta-cukr .h-section { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -0.025em;
  line-height: 1.05; }
body.page-karta-cukr .h-section em { font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold); }
body.page-karta-cukr .h-block { font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-karta-cukr .h-block em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta-cukr .btn { position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  white-space: nowrap; }
body.page-karta-cukr .btn-arrow { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.5s var(--ease-out); }
body.page-karta-cukr .btn-arrow svg { width: 12px; height: 12px; stroke: var(--gold); }
body.page-karta-cukr .btn-primary { background: var(--gold); color: var(--bg-void); }
body.page-karta-cukr .btn-primary:hover { background: var(--gold-bright);
  box-shadow: 0 16px 40px -10px var(--gold-glow);
  transform: translateY(-2px); }
body.page-karta-cukr .btn-primary:hover .btn-arrow { transform: rotate(-45deg); }
body.page-karta-cukr .btn-primary::after { content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.8s ease; }
body.page-karta-cukr .btn-primary:hover::after { left: 120%; }
body.page-karta-cukr .btn-ghost { background: transparent;
  border: 1px solid var(--border-strong);
  color: var(--text-primary); }
body.page-karta-cukr .btn-ghost:hover { border-color: var(--gold);
  color: var(--gold);
  background: var(--gold-soft); }
body.page-karta-cukr .btn-ghost .btn-arrow { background: var(--gold); }
body.page-karta-cukr .btn-ghost .btn-arrow svg { stroke: var(--bg-void); }
body.page-karta-cukr .btn-ghost:hover .btn-arrow { transform: rotate(-45deg); }
body.page-karta-cukr .site-header { position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 20px 0;
  transition: all 0.4s var(--ease-out);
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta-cukr .site-header.scrolled { padding: 14px 0; }
body.page-karta-cukr .nav-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.page-karta-cukr .logo { display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display);
  font-weight: 500; font-size: 16px;
  letter-spacing: 0.05em; }
body.page-karta-cukr .logo-mark { width: 38px; height: 38px; flex-shrink: 0; }
body.page-karta-cukr .logo-mark svg { width: 100%; height: 100%; }
body.page-karta-cukr .logo-text { line-height: 1; }
body.page-karta-cukr .logo-text span { display: block;
  font-family: var(--font-body);
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.3em;
  color: var(--gold);
  margin-top: 4px; }
body.page-karta-cukr .nav-menu { display: flex; align-items: center; gap: 36px; list-style: none; }
body.page-karta-cukr .nav-menu a { position: relative;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-secondary);
  transition: color 0.3s;
  padding: 6px 0; }
body.page-karta-cukr .nav-menu a.active { color: var(--gold); }
body.page-karta-cukr .nav-menu a.active::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 100%; height: 1px; background: var(--gold); }
body.page-karta-cukr .nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.4s var(--ease-out); }
body.page-karta-cukr .nav-menu a:not(.active):hover { color: var(--text-primary); }
body.page-karta-cukr .nav-menu a:not(.active):hover::after { width: 100%; }
body.page-karta-cukr .nav-right { display: flex; align-items: center; gap: 24px; }
body.page-karta-cukr .nav-phone { display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-karta-cukr .nav-phone:hover { color: var(--gold); }
body.page-karta-cukr .nav-phone svg { width: 16px; height: 16px; stroke: var(--gold); }
body.page-karta-cukr .btn-header { padding: 14px 24px;
  background: var(--gold);
  color: var(--bg-void);
  border-radius: 100px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .btn-header:hover { background: var(--gold-bright);
  box-shadow: 0 10px 30px -10px var(--gold-glow); }
body.page-karta-cukr .menu-toggle { display: none; }
@keyframes p_karta-cukr_fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes p_karta-cukr_pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
body.page-karta-cukr .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
body.page-karta-cukr .reveal.in { opacity: 1; transform: translateY(0); }
body.page-karta-cukr .reveal[data-delay="1"] { transition-delay: 0.1s; }
body.page-karta-cukr .reveal[data-delay="2"] { transition-delay: 0.2s; }
body.page-karta-cukr .reveal[data-delay="3"] { transition-delay: 0.3s; }
body.page-karta-cukr .reveal[data-delay="4"] { transition-delay: 0.4s; }
body.page-karta-cukr .reveal[data-delay="5"] { transition-delay: 0.5s; }
body.page-karta-cukr .service-hero { padding: 160px 0 100px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-void); }
body.page-karta-cukr .service-hero::before { content: '';
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.14), transparent 60%);
  top: -400px; right: -300px;
  z-index: 0; }
body.page-karta-cukr .service-hero::after { content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(212, 175, 106, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 175, 106, 0.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at top right, black 0%, transparent 60%);
  pointer-events: none; }
body.page-karta-cukr .breadcrumbs { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 56px;
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.8s var(--ease-out) 0.15s forwards;
  flex-wrap: wrap; }
body.page-karta-cukr .breadcrumbs a { color: var(--text-secondary); transition: color 0.3s; }
body.page-karta-cukr .breadcrumbs a:hover { color: var(--gold); }
body.page-karta-cukr .breadcrumbs .sep { color: var(--border-strong); }
body.page-karta-cukr .breadcrumbs .current { color: var(--gold); }
body.page-karta-cukr .hero-grid { position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
  align-items: start; }
body.page-karta-cukr .hero-left .eyebrow { margin-bottom: 32px;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.8s var(--ease-out) 0.3s forwards; }
body.page-karta-cukr .hero-tags { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.8s var(--ease-out) 0.4s forwards; }
body.page-karta-cukr .htag { font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 100px; }
body.page-karta-cukr .htag.hot { background: var(--gold); color: var(--bg-void); display: inline-flex; align-items: center; gap: 7px; }
body.page-karta-cukr .htag.hot::before { content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bg-void);
  animation: p_karta-cukr_pulse-dot 1.5s ease-in-out infinite; }
body.page-karta-cukr .htag.gold-line { color: var(--gold); border: 1px solid var(--gold); background: transparent; }
body.page-karta-cukr .htag.muted { color: var(--text-secondary); border: 1px solid var(--border-strong); background: transparent; }
body.page-karta-cukr .hero-title { margin-bottom: 32px;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.9s var(--ease-out) 0.5s forwards;
  max-width: 680px; }
body.page-karta-cukr .hero-sub { font-size: 17px;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 48px;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.9s var(--ease-out) 0.65s forwards; }
body.page-karta-cukr .hero-stats { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.9s var(--ease-out) 0.8s forwards; }
body.page-karta-cukr .hero-stat .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-karta-cukr .hero-stat .value { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--text-primary); }
body.page-karta-cukr .hero-stat .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta-cukr .hero-actions { display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.9s var(--ease-out) 0.95s forwards; }
body.page-karta-cukr .hero-side-card { background: rgba(22, 22, 28, 0.65);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px;
  position: relative;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.9s var(--ease-out) 0.7s forwards;
  overflow: hidden; }
body.page-karta-cukr .hero-side-card::before { content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-karta-cukr .side-card-head { display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta-cukr .side-card-head .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px; }
body.page-karta-cukr .side-card-price { font-family: var(--font-display);
  font-size: 44px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--gold); }
body.page-karta-cukr .side-card-price small { font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 4px; }
body.page-karta-cukr .side-card-badge { width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  color: var(--bg-void);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em; }
body.page-karta-cukr .side-card-badge span { display: block; font-size: 8px; opacity: 0.7; margin-top: 2px; }
body.page-karta-cukr .side-card-list { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 28px; }
body.page-karta-cukr .side-card-list li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta-cukr .side-card-list svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 2px; }
body.page-karta-cukr .side-card-cta { width: 100%; justify-content: center; }
body.page-karta-cukr .side-card-foot { margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 12px;
  color: var(--text-secondary); }
body.page-karta-cukr .side-card-foot svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; }
body.page-karta-cukr .sub-nav { position: sticky;
  top: 78px;
  z-index: 50;
  background: rgba(7, 7, 10, 0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 18px 0; }
body.page-karta-cukr .sub-nav-row { display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
body.page-karta-cukr .sub-nav-row::-webkit-scrollbar { display: none; }
body.page-karta-cukr .sub-nav-row::before { content: '— содержание';
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0; }
body.page-karta-cukr .sub-nav a { position: relative;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  transition: color 0.3s;
  flex-shrink: 0;
  padding: 4px 0; }
body.page-karta-cukr .sub-nav a.active { color: var(--gold); }
body.page-karta-cukr .sub-nav a.active::after { content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 100%; height: 1px;
  background: var(--gold); }
body.page-karta-cukr .sub-nav a:hover { color: var(--text-primary); }
body.page-karta-cukr .sec { padding: 120px 0; position: relative; }
body.page-karta-cukr .sec-head { margin-bottom: 56px; }
body.page-karta-cukr .sec-head .eyebrow { margin-bottom: 20px; }
body.page-karta-cukr .sec-head h2 { margin-bottom: 16px; }
body.page-karta-cukr .sec-head p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; max-width: 640px; }
body.page-karta-cukr .intro { padding: 100px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-base);
  position: relative;
  overflow: hidden; }
body.page-karta-cukr .intro::before { content: 'PESEL UKR';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 200;
  color: var(--bg-card);
  letter-spacing: -0.05em;
  left: -30px; bottom: -30px;
  line-height: 0.8;
  z-index: 0;
  pointer-events: none; }
body.page-karta-cukr .intro-grid { display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
  position: relative;
  z-index: 1; }
body.page-karta-cukr .intro-grid h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
body.page-karta-cukr .intro-content p { color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 24px; }
body.page-karta-cukr .intro-content p:last-child { margin-bottom: 0; }
body.page-karta-cukr .intro-content strong { color: var(--text-primary); font-weight: 500; }
body.page-karta-cukr .pull-quote { border-left: 2px solid var(--gold);
  padding: 16px 0 16px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px; }
body.page-karta-cukr .types-section { padding: 120px 0; }
body.page-karta-cukr .types-tabs { display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta-cukr .tab-btn { padding: 14px 24px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.4s var(--ease-out);
  display: inline-flex;
  align-items: center;
  gap: 10px; }
body.page-karta-cukr .tab-btn .tab-num { font-family: var(--font-display);
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  transition: color 0.3s; }
body.page-karta-cukr .tab-btn:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-karta-cukr .tab-btn.active { background: var(--gold);
  border-color: var(--gold);
  color: var(--bg-void); }
body.page-karta-cukr .tab-btn.active .tab-num { color: var(--bg-void); opacity: 0.6; }
body.page-karta-cukr .tab-panel { display: none;
  opacity: 0;
  animation: p_karta-cukr_fadeUp 0.6s var(--ease-out) forwards; }
body.page-karta-cukr .tab-panel.active { display: grid; }
body.page-karta-cukr .type-grid { grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start; }
body.page-karta-cukr .type-info h3 { font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 300;
  margin-bottom: 8px;
  letter-spacing: -0.02em; }
body.page-karta-cukr .type-info h3 em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta-cukr .type-info .who { font-size: 13px;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px; }
body.page-karta-cukr .type-info > p { color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 32px; }
body.page-karta-cukr .type-info ul { list-style: none;
  display: grid;
  gap: 12px;
  margin-bottom: 36px; }
body.page-karta-cukr .type-info ul li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta-cukr .type-info ul li svg { width: 16px; height: 16px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px; }
body.page-karta-cukr .type-meta-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px; }
body.page-karta-cukr .type-meta-item { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 24px;
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .type-meta-item:hover { border-color: var(--gold);
  transform: translateY(-3px); }
body.page-karta-cukr .type-meta-item .label { font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px; }
body.page-karta-cukr .type-meta-item .value { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1; }
body.page-karta-cukr .type-meta-item .value em { font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
  font-weight: 500; }
body.page-karta-cukr .type-visual { position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #1a1820 0%, #0c0c10 60%);
  border: 1px solid var(--border-subtle);
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px; }
body.page-karta-cukr .type-visual::before { content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(212, 175, 106, 0.25), transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(212, 175, 106, 0.12), transparent 50%);
  pointer-events: none; }
body.page-karta-cukr .type-visual svg.card-art { position: relative;
  z-index: 1;
  width: 90%; height: auto;
  filter: drop-shadow(0 25px 60px rgba(0,0,0,0.5)); }
body.page-karta-cukr .type-visual .floating-badge { position: absolute;
  bottom: 24px; right: 24px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--bg-void);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  text-align: center;
  line-height: 1.2;
  z-index: 2;
  box-shadow: 0 20px 50px -10px rgba(212, 175, 106, 0.5); }
body.page-karta-cukr .type-visual .floating-badge strong { display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px; }
body.page-karta-cukr .main-grid { display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: start;
  position: relative; }
body.page-karta-cukr .main-content > section { padding: 80px 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 160px; }
body.page-karta-cukr .main-content > section:first-child { padding-top: 0; }
body.page-karta-cukr .main-content > section:last-child { border-bottom: none; }
body.page-karta-cukr .sticky-sidebar { position: sticky;
  top: 160px;
  z-index: 10; }
body.page-karta-cukr .included-list { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
  margin-top: 32px;
  list-style: none; }
body.page-karta-cukr .included-list li { display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: padding 0.3s var(--ease-out); }
body.page-karta-cukr .included-list li:hover { padding-left: 8px; }
body.page-karta-cukr .included-list li:hover .checkmark { background: var(--gold); }
body.page-karta-cukr .included-list li:hover .checkmark svg { stroke: var(--bg-void); }
body.page-karta-cukr .checkmark { width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s; }
body.page-karta-cukr .checkmark svg { width: 12px; height: 12px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  transition: stroke 0.3s; }
body.page-karta-cukr .included-list .text { font-size: 14px; line-height: 1.5; padding-top: 4px; }
body.page-karta-cukr .included-list .text strong { display: block; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-karta-cukr .included-list .text span { color: var(--text-muted); font-size: 12px; }
body.page-karta-cukr .timeline { position: relative;
  display: grid;
  gap: 0;
  margin-top: 32px; }
body.page-karta-cukr .timeline::before { content: '';
  position: absolute;
  top: 32px; bottom: 32px;
  left: 31px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), var(--border-strong)); }
body.page-karta-cukr .timeline-step { display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  position: relative;
  transition: transform 0.4s var(--ease-out); }
body.page-karta-cukr .timeline-step:hover { transform: translateX(4px); }
body.page-karta-cukr .timeline-num { width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--bg-void);
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .timeline-step:hover .timeline-num { background: var(--gold);
  color: var(--bg-void);
  box-shadow: 0 0 0 8px var(--gold-soft); }
body.page-karta-cukr .timeline-info h4 { font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-karta-cukr .timeline-info p { color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  max-width: 480px; }
body.page-karta-cukr .timeline-meta { text-align: right;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 6px;
  white-space: nowrap; }
body.page-karta-cukr .timeline-meta strong { display: block;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: 2px; }
body.page-karta-cukr .docs-tabs { display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 32px 0 24px; }
body.page-karta-cukr .doc-tab { padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  transition: all 0.3s; }
body.page-karta-cukr .doc-tab:hover { border-color: var(--gold); color: var(--text-primary); }
body.page-karta-cukr .doc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--bg-void); }
body.page-karta-cukr .docs-panel { display: none; }
body.page-karta-cukr .docs-panel.active { display: grid; gap: 8px; animation: p_karta-cukr_fadeUp 0.4s var(--ease-out); }
body.page-karta-cukr .doc-item { display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: all 0.3s var(--ease-out); }
body.page-karta-cukr .doc-item:hover { border-color: var(--gold);
  background: var(--bg-card-hover);
  transform: translateX(4px); }
body.page-karta-cukr .doc-icon { width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; }
body.page-karta-cukr .doc-icon svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta-cukr .doc-info { flex-grow: 1; }
body.page-karta-cukr .doc-info .name { font-size: 14px; color: var(--text-primary); font-weight: 500; margin-bottom: 2px; }
body.page-karta-cukr .doc-info .note { font-size: 12px; color: var(--text-muted); }
body.page-karta-cukr .doc-status { font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 100px;
  font-weight: 600;
  flex-shrink: 0; }
body.page-karta-cukr .doc-status.req { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold); }
body.page-karta-cukr .doc-status.opt { color: var(--text-muted); border: 1px solid var(--border-strong); }
body.page-karta-cukr .doc-status.help { background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34,197,94,0.4); }
body.page-karta-cukr .pricing-section { padding: 120px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-karta-cukr .pricing-section::before { content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.08), transparent 65%);
  top: -200px; right: -250px;
  pointer-events: none; }
body.page-karta-cukr .pricing-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
  margin-top: 56px; }
body.page-karta-cukr .price-card { background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  position: relative;
  transition: all 0.5s var(--ease-out);
  display: flex;
  flex-direction: column; }
body.page-karta-cukr .price-card:hover { border-color: var(--gold);
  transform: translateY(-6px); }
body.page-karta-cukr .price-card.popular { background: linear-gradient(180deg, #1a1820 0%, #16161c 100%);
  border-color: var(--gold);
  transform: scale(1.03); }
body.page-karta-cukr .price-card.popular:hover { transform: scale(1.03) translateY(-6px); }
body.page-karta-cukr .popular-tag { position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold);
  color: var(--bg-void);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 7px; }
body.page-karta-cukr .popular-tag::before { content: '★';
  font-size: 11px; }
body.page-karta-cukr .price-card-head { margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta-cukr .price-card-head h3 { font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 8px;
  letter-spacing: -0.01em; }
body.page-karta-cukr .price-card-head p { font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5; }
body.page-karta-cukr .price-value { margin-bottom: 32px; }
body.page-karta-cukr .price-value .num { font-family: var(--font-display);
  font-size: 48px;
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text-primary); }
body.page-karta-cukr .price-value .num .cur { font-size: 0.5em;
  color: var(--gold);
  margin-left: 4px; }
body.page-karta-cukr .price-card.popular .price-value .num { color: var(--gold); }
body.page-karta-cukr .price-value .meta { font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  margin-top: 8px; }
body.page-karta-cukr .price-features { list-style: none;
  display: grid;
  gap: 14px;
  margin-bottom: 32px;
  flex-grow: 1; }
body.page-karta-cukr .price-features li { display: flex;
  align-items: start;
  gap: 12px;
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5; }
body.page-karta-cukr .price-features li svg { width: 14px; height: 14px;
  stroke: var(--gold);
  fill: none;
  stroke-width: 2.5;
  flex-shrink: 0;
  margin-top: 4px; }
body.page-karta-cukr .price-features li.muted { color: var(--text-muted); }
body.page-karta-cukr .price-features li.muted svg { stroke: var(--text-muted);
  stroke-width: 1.5; }
body.page-karta-cukr .price-card .btn { width: 100%; justify-content: center; }
body.page-karta-cukr .faq-section { padding: 120px 0; }
body.page-karta-cukr .faq-grid { display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start; }
body.page-karta-cukr .faq-left { position: sticky; top: 160px; }
body.page-karta-cukr .faq-left h2 { margin-bottom: 20px; }
body.page-karta-cukr .faq-left p { color: var(--text-secondary); font-size: 16px; line-height: 1.65; margin-bottom: 32px; }
body.page-karta-cukr .faq-list { display: grid; gap: 8px; }
body.page-karta-cukr .faq-item { border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  background: var(--bg-card); }
body.page-karta-cukr .faq-item:hover { border-color: var(--gold-deep); }
body.page-karta-cukr .faq-item.open { border-color: var(--gold); background: var(--bg-card-hover); }
body.page-karta-cukr .faq-q { width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: var(--text-primary);
  transition: color 0.3s; }
body.page-karta-cukr .faq-item.open .faq-q { color: var(--gold); }
body.page-karta-cukr .faq-toggle { width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .faq-toggle::before, body.page-karta-cukr .faq-toggle::after { content: '';
  position: absolute;
  background: var(--text-secondary);
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .faq-toggle::before { width: 12px; height: 1.5px; }
body.page-karta-cukr .faq-toggle::after { width: 1.5px; height: 12px; }
body.page-karta-cukr .faq-item.open .faq-toggle { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(180deg); }
body.page-karta-cukr .faq-item.open .faq-toggle::before { background: var(--bg-void); }
body.page-karta-cukr .faq-item.open .faq-toggle::after { opacity: 0; transform: scaleY(0); }
body.page-karta-cukr .faq-a { max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out); }
body.page-karta-cukr .faq-item.open .faq-a { max-height: 400px; }
body.page-karta-cukr .faq-a-inner { padding: 0 28px 28px;
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.7; }
body.page-karta-cukr .faq-a-inner p { margin-bottom: 12px; }
body.page-karta-cukr .faq-a-inner p:last-child { margin-bottom: 0; }
body.page-karta-cukr .faq-a-inner strong { color: var(--text-primary); font-weight: 500; }
body.page-karta-cukr .final-cta { padding: 140px 0;
  background: var(--bg-base);
  border-top: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden; }
body.page-karta-cukr .final-cta::before { content: '';
  position: absolute;
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 106, 0.1), transparent 65%);
  top: -300px; left: 50%; transform: translateX(-50%);
  pointer-events: none; }
body.page-karta-cukr .final-cta-inner { text-align: center;
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto; }
body.page-karta-cukr .final-cta-inner .eyebrow { justify-content: center; }
body.page-karta-cukr .final-cta-inner .eyebrow::before { display: none; }
body.page-karta-cukr .final-cta-inner h2 { margin: 24px 0 20px; }
body.page-karta-cukr .final-cta-inner > p { color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 48px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto; }
body.page-karta-cukr .final-cta-actions { display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap; }
body.page-karta-cukr .final-cta-meta { margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--text-muted);
  letter-spacing: 0.04em; }
body.page-karta-cukr .final-cta-meta span { display: flex; align-items: center; gap: 8px; }
body.page-karta-cukr .final-cta-meta svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta-cukr .related-section { padding: 120px 0; }
body.page-karta-cukr .related-grid { display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px; }
body.page-karta-cukr .related-card { position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 32px;
  overflow: hidden;
  transition: all 0.5s var(--ease-out); }
body.page-karta-cukr .related-card::before { content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--gold-soft), transparent 50%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none; }
body.page-karta-cukr .related-card:hover { border-color: var(--gold);
  transform: translateY(-4px); }
body.page-karta-cukr .related-card:hover::before { opacity: 1; }
body.page-karta-cukr .related-icon { width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--bg-void);
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: all 0.5s var(--ease-out); }
body.page-karta-cukr .related-icon svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
body.page-karta-cukr .related-card:hover .related-icon { background: var(--gold);
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.05); }
body.page-karta-cukr .related-card:hover .related-icon svg { stroke: var(--bg-void); }
body.page-karta-cukr .related-card h3 { font-family: var(--font-display);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 10px; }
body.page-karta-cukr .related-card p { color: var(--text-secondary);
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 24px; }
body.page-karta-cukr .related-card .link { display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  transition: color 0.3s;
  font-weight: 500; }
body.page-karta-cukr .related-card .link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; transition: transform 0.4s var(--ease-out); }
body.page-karta-cukr .related-card:hover .link svg { transform: translate(4px, -4px); }
body.page-karta-cukr .site-footer { padding: 80px 0 32px;
  background: var(--bg-void);
  border-top: 1px solid var(--border-subtle); }
body.page-karta-cukr .footer-top { display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border-subtle); }
body.page-karta-cukr .footer-top h4 { font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
  font-weight: 500; }
body.page-karta-cukr .footer-top ul { list-style: none; display: grid; gap: 12px; }
body.page-karta-cukr .footer-top a, body.page-karta-cukr .footer-top li { font-size: 14px;
  color: var(--text-secondary);
  transition: color 0.3s; }
body.page-karta-cukr .footer-top a:hover { color: var(--gold); }
body.page-karta-cukr .footer-brand .logo { margin-bottom: 20px; }
body.page-karta-cukr .footer-brand p { font-size: 14px;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 24px;
  max-width: 320px; }
body.page-karta-cukr .footer-socials { display: flex; gap: 10px; }
body.page-karta-cukr .footer-socials a { width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); }
body.page-karta-cukr .footer-socials a:hover { background: var(--gold);
  border-color: var(--gold);
  transform: translateY(-3px); }
body.page-karta-cukr .footer-socials a:hover svg { stroke: var(--bg-void); fill: none; }
body.page-karta-cukr .footer-socials svg { width: 16px; height: 16px; stroke: var(--text-secondary); fill: none; transition: all 0.3s; }
body.page-karta-cukr .footer-bottom { padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted); }
body.page-karta-cukr .footer-legal { display: flex; gap: 24px; }
body.page-karta-cukr .modal-backdrop { position: fixed;
  inset: 0;
  background: rgba(7, 7, 10, 0.85);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s; }
body.page-karta-cukr .modal-backdrop.open { opacity: 1; visibility: visible; }
body.page-karta-cukr .modal { background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  padding: 48px;
  position: relative;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.5s var(--ease-out);
  max-height: 92vh;
  overflow-y: auto; }
body.page-karta-cukr .modal::before { content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); }
body.page-karta-cukr .modal-backdrop.open .modal { transform: scale(1) translateY(0); }
body.page-karta-cukr .modal-close { position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; }
body.page-karta-cukr .modal-close:hover { border-color: var(--gold);
  background: var(--gold);
  transform: rotate(90deg); }
body.page-karta-cukr .modal-close:hover svg { stroke: var(--bg-void); }
body.page-karta-cukr .modal-close svg { width: 14px; height: 14px; stroke: var(--text-secondary); }
body.page-karta-cukr .modal-head { margin-bottom: 32px; }
body.page-karta-cukr .modal-head .eyebrow { margin-bottom: 16px; }
body.page-karta-cukr .modal-head h3 { font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 12px; }
body.page-karta-cukr .modal-head p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
body.page-karta-cukr .modal form { display: grid; gap: 22px; }
body.page-karta-cukr .field { position: relative; }
body.page-karta-cukr .field label { display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  font-weight: 500; }
body.page-karta-cukr .field label .req { color: var(--gold); }
body.page-karta-cukr .field input, body.page-karta-cukr .field select, body.page-karta-cukr .field textarea { width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--border-strong);
  padding: 14px 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.3s;
  outline: none;
  resize: vertical; }
body.page-karta-cukr .field input:focus, body.page-karta-cukr .field select:focus, body.page-karta-cukr .field textarea:focus { border-bottom-color: var(--gold); }
body.page-karta-cukr .field input::placeholder, body.page-karta-cukr .field textarea::placeholder { color: var(--text-muted); }
body.page-karta-cukr .field select { appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23d4af6a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  padding-right: 28px;
  cursor: pointer; }
body.page-karta-cukr .field select option { background: var(--bg-card); color: var(--text-primary); }
body.page-karta-cukr .consent { display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  cursor: pointer; }
body.page-karta-cukr .consent input { display: none; }
body.page-karta-cukr .consent .check { width: 18px; height: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s; }
body.page-karta-cukr .consent input:checked + .check { background: var(--gold); border-color: var(--gold); }
body.page-karta-cukr .consent input:checked + .check::after { content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 5px; height: 10px;
  border-right: 2px solid var(--bg-void);
  border-bottom: 2px solid var(--bg-void);
  transform: rotate(45deg); }
body.page-karta-cukr .consent a { color: var(--gold); text-decoration: underline; }
@media (max-width: 1100px) {
body.page-karta-cukr .hero-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-karta-cukr .intro-grid { grid-template-columns: 1fr; gap: 40px; }
body.page-karta-cukr .type-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-karta-cukr .main-grid { grid-template-columns: 1fr; gap: 60px; }
body.page-karta-cukr .sticky-sidebar { position: relative; top: 0; }
body.page-karta-cukr .pricing-grid { grid-template-columns: 1fr; gap: 32px; }
body.page-karta-cukr .price-card.popular { transform: none; }
body.page-karta-cukr .price-card.popular:hover { transform: translateY(-6px); }
body.page-karta-cukr .faq-grid { grid-template-columns: 1fr; gap: 48px; }
body.page-karta-cukr .faq-left { position: relative; top: 0; }
body.page-karta-cukr .related-grid { grid-template-columns: 1fr 1fr; }
body.page-karta-cukr .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
body.page-karta-cukr .container { padding: 0 20px; }
body.page-karta-cukr .nav-menu, body.page-karta-cukr .nav-phone { display: none; }
body.page-karta-cukr .menu-toggle { display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border-strong); }
body.page-karta-cukr .menu-toggle svg { width: 18px; height: 18px; stroke: var(--text-primary); }
body.page-karta-cukr .service-hero { padding: 130px 0 80px; }
body.page-karta-cukr .hero-stats { grid-template-columns: 1fr; gap: 24px; }
body.page-karta-cukr .included-list { grid-template-columns: 1fr; }
body.page-karta-cukr .timeline-step { grid-template-columns: 48px 1fr; gap: 16px; }
body.page-karta-cukr .timeline-meta { grid-column: 1 / -1; text-align: left; padding-left: 64px; padding-top: 0; margin-top: -16px; }
body.page-karta-cukr .timeline-num { width: 48px; height: 48px; font-size: 14px; }
body.page-karta-cukr .timeline::before { left: 23px; }
body.page-karta-cukr .related-grid { grid-template-columns: 1fr; }
body.page-karta-cukr .footer-top { grid-template-columns: 1fr; gap: 40px; }
body.page-karta-cukr .hero-side-card { padding: 28px; }
body.page-karta-cukr .modal { padding: 32px 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   404 — навигация (копия с page-home, чтобы меню работало)
   ═══════════════════════════════════════════════════════════════ */
body.page-e404 .site-header { position: fixed; top:0; left:0; right:0; z-index:100; padding:24px 0; transition:all .4s var(--ease-out); background:transparent; border-bottom:none; }
body.page-e404 .site-header.scrolled { background: rgba(7,7,10,.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom:1px solid var(--border-subtle); padding:16px 0; }
body.page-e404 .nav-row { display:flex; align-items:center; justify-content:space-between; gap:40px; }
body.page-e404 .logo { display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-weight:500; font-size:16px; letter-spacing:.05em; }
body.page-e404 .logo-mark { width:38px; height:38px; position:relative; flex-shrink:0; }
body.page-e404 .logo-mark svg { width:100%; height:100%; }
body.page-e404 .logo-text { line-height:1; }
body.page-e404 .logo-text span { display:block; font-family:var(--font-body); font-size:9px; font-weight:400; letter-spacing:.3em; color:var(--gold); margin-top:4px; }
body.page-e404 .nav-menu { display:flex; align-items:center; gap:36px; list-style:none; }
body.page-e404 .nav-menu a { position:relative; font-size:13px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--text-secondary); transition:color .3s; padding:6px 0; }
body.page-e404 .nav-menu a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .4s var(--ease-out); }
body.page-e404 .nav-menu a:hover { color:var(--text-primary); }
body.page-e404 .nav-menu a:hover::after { width:100%; }
body.page-e404 .nav-right { display:flex; align-items:center; gap:24px; }
body.page-e404 .nav-phone { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:var(--text-primary); transition:color .3s; }
body.page-e404 .nav-phone:hover { color:var(--gold); }
body.page-e404 .nav-phone svg { width:16px; height:16px; stroke:var(--gold); }
body.page-e404 .btn-header { padding:14px 24px; background:var(--gold); color:var(--bg-void); border-radius:100px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:all .4s var(--ease-out); }
body.page-e404 .btn-header:hover { background:var(--gold-bright); box-shadow:0 10px 30px -10px var(--gold-glow); }
body.page-e404 .menu-toggle { display:none; }

@media (max-width: 760px) {
  body.page-e404 .nav-menu, body.page-e404 .nav-phone { display:none; }
  body.page-e404 .menu-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:1px solid var(--border-strong); background:transparent; }
  body.page-e404 .menu-toggle svg { width:18px; height:18px; stroke:var(--text-primary); }
  body.page-e404 .btn-header { display:none; }
}
