/* Anti-overflow safety net */
img, picture, video, iframe, svg, table { max-width: 100%; }
table { width: 100%; border-collapse: collapse; }

/* Mobile spacing tweaks */
@media (max-width: 767px) {
  section { padding-left: 0; padding-right: 0; }
  .bio-callout { padding: 32px 22px; }
  .modal-box { padding: 32px 22px 28px; }
  .hero-grid75 { padding-top: clamp(20px, 4vw, 32px); }
  .stat-num { font-size: 2rem; }
}

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