/* Correctifs responsive finaux — chargé après toutes les autres feuilles. */
@media (max-width: 1024px) {
  :root { --header-height: 154px; }
  .site-header { grid-template-rows: 72px 82px; }
  .sector-menu { min-height: 82px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; }
  .sector-menu a { min-width: 0; padding: 10px 7px; display: flex; flex: initial; }
  .sector-menu a strong { overflow-wrap: anywhere; font-size: clamp(12px, 1.55vw, 14px); line-height: 1.16; }
  .hero-visual { height: auto; min-height: 420px; }
  .hero-visual picture { position: static; width: 100%; height: auto; display: block; }
  .hero-visual img { width: 100%; height: auto; min-height: 420px; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 46%; }
}

/* V38 — photo complète, sans recadrage ni hauteur artificielle. */
@media (max-width: 1024px) {
  .hero-visual {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible;
    background: #171717;
  }

  .hero-visual picture {
    position: static !important;
    inset: auto !important;
    width: 100%;
    height: auto !important;
    display: block;
  }

  .hero-visual img {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

@media (max-width: 620px) {
  :root { --header-height: 150px; }
  .site-header { grid-template-rows: 68px 82px; }
  .sector-menu, .sector-menu a { min-height: 82px; }
  .sector-menu a { padding: 8px 4px; }
  .sector-menu a strong { font-size: clamp(11px, 3.05vw, 13px); }
  .hero-visual, .hero-visual img { min-height: 360px; }
  .hero-visual img { aspect-ratio: 4 / 3; object-position: 51% 48%; }
}

footer { text-align: center; }
.footer-main { grid-template-columns: 1fr; gap: 54px; }
.footer-brand { align-items: center; }
.footer-brand > a:first-child, .footer-contact, .footer-locations h2 { margin-right: auto; margin-left: auto; }
.footer-locations h2 { max-width: 900px; }
.footer-addresses { justify-items: center; text-align: center; }
.footer-addresses address, .footer-philosophy { width: 100%; align-items: center; justify-items: center; text-align: center; }
.footer-bottom { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px; }
.footer-status { justify-self: center; justify-content: center; flex-wrap: wrap; }
.footer-links { justify-content: center; }

@media (max-width: 900px) {
  .footer-brand, .footer-addresses, .footer-bottom, .footer-status, .footer-links {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
