/* Garde-fou responsive — overrides specifiques 390px */

@media (max-width: 640px){
  section{ padding: 48px 0; }
  .section-head{ margin-bottom: 30px; }
  .hero{ min-height: 100dvh; padding-top: 120px; padding-bottom: 36px; }
  .hero__title{ font-size: clamp(2rem, 9vw, 3rem); }
  .hero__sub{ font-size: 1rem; }
  .stat-num{ font-size: 2.4rem; }
  .about-photo .photo-frame{ transform: rotate(0); }
  .about-photo .photo-frame{ box-shadow: 8px 8px 0 -4px var(--accent-soft); }
  .about-body p:first-of-type::first-letter{ font-size: 3rem; padding: 0 10px 0 0; }
  .services__bonus{ padding: 18px 18px; }
  .faq-trigger{ font-size: 1rem; padding: 18px 4px; gap: 14px; }
  .faq-chevron{ width: 28px; height: 28px; }
  .tel-big{ font-size: 1.8rem; }
  .contact-form{ padding: 22px 18px; }
}

@media (max-width: 380px){
  .hero{ padding-left: 16px; padding-right: 16px; }
  .container{ padding: 0 16px; }
  .header__inner{ padding: 0 16px; }
}
