/* === LAYOUT === */

/* Атмосферный фон: тёплый ivory + мягкие blush-сияния + зерно */
body {
  position: relative;
  background:
    radial-gradient(1100px 700px at 85% -5%, rgba(231,169,188,0.40), transparent 60%),
    radial-gradient(900px 600px at 0% 30%, rgba(252,233,230,0.7), transparent 55%),
    linear-gradient(180deg, var(--color-paper) 0%, var(--color-cream) 100%);
  background-attachment: fixed;
}
/* Зерно поверх фона */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
}
body > * { position: relative; z-index: 1; }

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}
@media (min-width: 768px) { .container { padding-inline: 40px; } }

section { padding-block: 56px; }
@media (min-width: 768px) { section { padding-block: 88px; } }

.section-head { margin-bottom: var(--space-12); max-width: 720px; }

/* Botanical divider — тонкая розовая линия со стеблем */
.botanical-divider {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding-inline: 24px;
}
.botanical-divider svg { width: 100%; height: 30px; color: var(--color-sage-mist); }

/* Two-column split */
.split { display: grid; gap: var(--space-12); align-items: center; }
@media (min-width: 900px) { .split { grid-template-columns: 1fr 1fr; gap: var(--space-20); } }

main { min-height: 60vh; }

/* CTA band */
.cta-band {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  margin-block: var(--space-12);
  padding: clamp(40px, 7vw, 80px);
  text-align: center;
  background:
    radial-gradient(600px 300px at 50% -20%, rgba(255,255,255,0.5), transparent 70%),
    linear-gradient(135deg, var(--color-bloom) 0%, #D8588A 60%, var(--color-sage) 130%);
  color: var(--color-white);
  box-shadow: var(--shadow-lg);
}
.cta-band h2 {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 800;
  color: var(--color-white);
  margin-bottom: var(--space-4);
}
.cta-band h2 em { font-weight: 500; }
.cta-band p { color: rgba(255,255,255,0.88); max-width: 52ch; margin: 0 auto var(--space-8); font-size: var(--text-lg); }
.cta-band .btn-primary { background: var(--color-white); color: var(--color-bloom); }
.cta-band .btn-primary:hover { background: var(--color-paper); }

/* Footer */
.site-footer {
  background: linear-gradient(180deg, #4A2A3A 0%, #2E1822 100%);
  color: var(--color-paper);
  padding-block: 64px 40px;
  margin-top: 100px;
}
.site-footer .container {
  display: grid;
  gap: var(--space-12);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .site-footer .container { grid-template-columns: 1.4fr 1fr 1fr; gap: var(--space-20); }
}
.footer-brand {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
}
.footer-col h4 {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--color-sage-mist);
  margin-bottom: var(--space-4);
}
.footer-col a, .footer-col p {
  display: block;
  font-size: var(--text-sm);
  color: rgba(255,247,244,0.78);
  margin-bottom: var(--space-2);
  transition: color var(--transition);
}
.footer-col a:hover { color: var(--color-sage-mist); }
.footer-bottom {
  grid-column: 1 / -1;
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid rgba(255,247,244,0.14);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: rgba(255,247,244,0.5);
}
