/* Ajustements exclusivement mobiles. Aucun style ordinateur modifié. */
@media screen and (max-width: 800px) {
  html { scroll-padding-top: 95px; }
  body { overflow-x: clip; }
  main, section, .container, .footer { min-width: 0; }
  .header { width: 100%; }
  .nav-wrap { gap: 12px; }
  .brand { min-width: 0; max-width: calc(100% - 65px); }
  .brand-text { min-width: 0; }
  .brand-text small { overflow-wrap: anywhere; }
  .mobile-toggle { flex: 0 0 auto; min-width: 44px; min-height: 44px; }
  .nav-links.open { max-height: calc(100dvh - 95px); overflow-y: auto; }
  h1, h2, h3, p, li, blockquote { overflow-wrap: break-word; }
  .page-hero h1, .section-title, .home-section h2 { max-width: 100%; }
  .contact-detail a, .contact-detail span { overflow-wrap: anywhere; word-break: normal; }
  .contact-box, .price-card, .feature, .service-card { min-width: 0; }
  .contact-box { padding-inline: 22px; }
  .form-field input, .form-field select, .form-field textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  .footer .brand { max-width: 100%; }
  .footer-grid > * { min-width: 0; }
  .footer-link, .footer p { overflow-wrap: anywhere; }
  .btn, .home-button { max-width: 100%; white-space: normal; text-align: center; }
  .meta-line, .mini-strip { max-width: 100%; }
  .pill, .mini-strip span { max-width: 100%; }
  .story-strip { min-width: 0; }
  .story-strip p { overflow-wrap: break-word; }
}
@media screen and (max-width: 430px) {
  .nav-wrap { padding-inline: 16px; }
  .brand { gap: 9px; }
  .brand img { width: 44px; height: 44px; flex: 0 0 44px; }
  .brand-text { font-size: 17px; }
  .brand-text small { font-size: 8px; letter-spacing: .13em; }
  .container { width: calc(100% - 32px); }
  .page-hero h1 { font-size: clamp(39px, 11vw, 50px); }
  .section-title { font-size: clamp(34px, 10vw, 42px); }
  .price-card { padding: 28px 22px; }
  .price-card .price { font-size: clamp(55px, 15vw, 76px); }
  .price-card .price small { font-size: 16px; }
  .story .lead { font-size: 26px; }
  .footer { padding-top: 48px; }
}
