/* responsive.css — corrections fines pour viewports specifiques */

/* mobile XS (sous 380px) : on serre tout pour iPhone SE etc. */
@media (max-width: 380px){
  .container{ padding: 0 16px; }
  .hero-title{ font-size: 2.05rem; }
  h2{ font-size: 1.7rem; }
  .btn{ padding: 13px 18px; font-size: .9rem; }
  .about-illu .stamp-circle{
    width: 92px; height: 92px;
    top: 12px; right: 12px;
    font-size: .76rem;
  }
  .about-illu .stamp-circle strong{ font-size: 1.45rem; }
  .menu-mobile a{ font-size: 1.45rem; padding: 16px 4px; }
}

/* tablette */
@media (min-width: 640px) and (max-width: 767px){
  .services-grid{ grid-template-columns: repeat(2, 1fr); }
  .proof-grid{ grid-template-columns: repeat(2, 1fr); }
  .method-grid{ grid-template-columns: repeat(2, 1fr); }
  .stats-grid{ grid-template-columns: repeat(3, 1fr); }
  .stat-item{ border-bottom: 0; border-right: 1px solid var(--border); padding: 6px 12px; }
  .stat-item:last-child{ border-right: 0; }
}

/* large desktop */
@media (min-width: 1100px){
  .hero-title{ font-size: clamp(2.8rem, 5.6vw, 4.6rem); }
  .hero-cta{ gap: 14px; }
}

/* print : on cache les CTA bavards */
@media print{
  .site-header, .menu-mobile, .fab-call, .hero-cta, .contact-cta-mobile{ display: none !important; }
}
/* wf-footer-fix */
footer, .site-footer, .footer { margin-top: 0 !important; }

/* wf-noxoverflow : reveal vertical (le slide horizontal translateX deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
