.front.template-natural {
  --pk-container: 1200px;
  --pk-section-y: 5rem;
  --pk-block-gap: 2rem;
  --pk-radius-sm: 0.25rem;
  --pk-radius-md: 0.75rem;
  --pk-radius-lg: 1.5rem;
  --pk-radius-pill: 9999px;
  --pk-shadow-sm: 0 1px 3px rgba(60, 50, 30, 0.06);
  --pk-shadow-md: 0 6px 18px rgba(60, 50, 30, 0.1);
  --pk-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.12);
  --pk-text-h1: 2.5rem;
  --pk-text-h2: 2rem;
  --pk-text-h3: 1.5rem;
  --pk-text-body: 1rem;
  --pk-heading-weight: 700;
  --pk-heading-transform: none;
  --pk-heading-tracking: 0;
  --pk-body-leading: 1.75;
  --pk-btn-radius: 9999px;
  --pk-btn-px: 1.5rem;
  --pk-btn-py: 0.75rem;
  --pk-btn-weight: 600;
  --pk-btn-transform: none;
}

/* =====================================================
   TEMPLATE: NATURAL
   Chaleureux, organique, tons terreux, formes arrondies
   ===================================================== */

/* -- h2 : centré, double trait organique -- */

.front.template-natural h2 {
  position: relative;
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 2.5rem;
}

.front.template-natural h2::before {
  content: none;
}

.front.template-natural h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: var(--accent-color);
  border-radius: 999px;
  box-shadow: 20px 0 0 var(--accent-color), -20px 0 0 var(--accent-color);
}

.front.template-natural .section-black h2::after,
.front.template-natural .section-red h2::after,
.front.template-natural .section-green h2::after,
.front.template-natural .section-purple h2::after,
.front.template-natural .section-primary h2::after,
.front.template-natural .section-accent h2::after,
.front.template-natural .section-neutral h2::after,
.front.template-natural .section-teal h2::after {
  background: white;
  box-shadow: 20px 0 0 white, -20px 0 0 white;
}

/* -- BlockService : carte douce, bande accent en haut -- */

.front.template-natural .block-service {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--accent-color);
}

.front.template-natural .block-service:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.front.template-natural .service-icon {
  height: 4rem;
  width: 4rem;
  border-radius: 9999px;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  background: rgb(var(--accent-100));
  color: rgb(var(--accent-700));
}

.front.template-natural .block-service:hover .service-icon {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.front.template-natural .service-link {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-600) / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.front.template-natural .service-link:hover {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-700) / var(--tw-text-opacity, 1));
}

/* -- BlockTestimonial : fond léger accent, arrondi -- */

.front.template-natural .block-testimonial {
  background: rgb(var(--accent-50));
  border-radius: 1rem;
  border: 1px solid rgb(var(--accent-100));
}

.front.template-natural .testimonial-photo {
  border-radius: 9999px;
}

/* -- BlockFaq : arrondi, hover doux -- */

.front.template-natural .block-faq details {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  border-radius: 0.75rem;
}

.front.template-natural .block-faq details:hover {
  border-color: rgb(var(--accent-200));
}

.front.template-natural .block-faq summary {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.front.template-natural .block-faq summary:hover {
  background: rgb(var(--accent-50));
}

.front.template-natural .faq-number {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  font-weight: 600;
  background: rgb(var(--accent-100));
  color: rgb(var(--accent-700));
}

.front.template-natural .faq-chevron {
  color: rgb(var(--accent-400));
}

.front.template-natural .faq-answer {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

/* -- BlockPerson : carte douce, bande accent -- */

.front.template-natural .block-person {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--accent-color);
}

.front.template-natural .block-person:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.front.template-natural .person-photo {
  border-radius: 9999px;
}

.front.template-natural .person-social {
  border-radius: 9999px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  background: rgb(var(--accent-50));
  color: rgb(var(--accent-600));
}

.front.template-natural .person-social:hover {
  background: rgb(var(--accent-600));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* -- BlockHero -- */

.front.template-natural .hero-cta {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-600) / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  border-radius: 999px;
}

.front.template-natural .hero-cta:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-700) / var(--tw-bg-opacity, 1));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.front.template-natural .hero-cta-secondary {
  --tw-text-opacity: 1;
  color: rgb(var(--brand-600) / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  border-radius: 999px;
}

.front.template-natural .hero-cta-secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(var(--brand-50) / var(--tw-bg-opacity, 1));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.front.template-natural .hero-feature {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--accent-color);
}

.front.template-natural .hero-feature:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.front.template-natural .hero-feature-icon {
  border-radius: 9999px;
  background: rgb(var(--accent-100));
  color: rgb(var(--accent-700));
}

/* -- Hero V2 card -- */

.front.template-natural .hero-v2-card {
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--accent-color);
}

/* -- BlockCta -- */

.front.template-natural .block-cta,
.front.template-natural .block-cta-v2 {
  border-radius: 1rem;
}

.front.template-natural .cta-button {
  border-radius: 999px;
}

/* -- BlockTimeline -- */

.front.template-natural .timeline-date {
  border-radius: 999px;
}

.front.template-natural .timeline-image img {
  border-radius: 1rem;
}

.front.template-natural .timeline-line::before {
  background: var(--accent-color);
  opacity: 0.25;
}

.front.template-natural .timeline-card {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--accent-color);
}

/* -- BlockVideo -- */

.front.template-natural .video-embed {
  border-radius: 1rem;
}

/* -- Header -- */

.front.template-natural header {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
}

/* -- BlockShowcase -- */

.front.template-natural .showcase-img {
  border-radius: 1rem;
}

.front.template-natural .showcase-patch-text {
  border-radius: 1rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* -- BlockIllustratedCard -- */

.front.template-natural .block-illustrated-card {
  --ic-radius: 1rem;
}

.front.template-natural .ic-content {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.front.template-natural .ic-button {
  border-radius: 999px;
}

.front.template-natural .ic-overlap .ic-content {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}