/* ===== Theme: Médiéval Forêt — 🌿 organique, terreux, médiéval ===== */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600;700;900&family=EB+Garamond:wght@400;600;700;900&family=Karla:wght@400;600;700;900&family=Nunito+Sans:wght@400;600;700;900&display=swap');

:root {
  --radius-card: 24px;
  --radius-button: 12px;
  --r: 24px;
  --r-lg: 24px;
  --r-full: 12px;
}

body, p, .text {
  font-family: 'Karla', 'Nunito Sans', sans-serif;
}

h1, h2, h3, h4, h5, .hero h1, .cluster-hero h1, .badge {
  font-family: 'EB Garamond', 'Crimson Pro', serif;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.hero, .hero-photo, .cluster-hero {
  background: linear-gradient(160deg, #14532D 0%, #16A34A 60%, #22C55E 100%) !important;
  position: relative;
}
.hero::after, .cluster-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top left, rgba(134,239,172,.2) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.hero > *, .cluster-hero > * { position: relative; z-index: 1; }

.card, .feature-card, .ra-card, .region-card {
  border-radius: 24px !important;
  box-shadow: 0 4px 0 #14532D, 0 12px 28px -8px rgba(20,83,45,.25) !important;
  border: 2px solid #86EFAC !important;
  transition: transform .2s, box-shadow .2s;
}
.card:hover, .feature-card:hover, .ra-card:hover, .region-card:hover {
  transform: translateY(-4px);
}

.btn-primary, .btn-cta, .header-cta, button[type="submit"], .a54-sticky-cta-bar a {
  border-radius: 12px !important;
}

section.hero, section.cluster-hero {
  clip-path: ellipse(75% 60% at 50% 0%);
}
