/* ===== HADCO responsive layer — loaded on every page ===== */
html, body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }

@media (max-width: 1140px) {
  header > div { padding: 12px 20px !important; gap: 12px !important; }
  header nav { font-size: 13.5px !important; }
  header nav > div > a, header nav > a { padding: 12px 8px !important; }
}
@media (max-width: 860px) {
  header > div { flex-wrap: wrap !important; gap: 8px !important; padding: 10px 16px !important; }
  header img { height: 30px !important; }
  header nav { width: 100%; flex-wrap: wrap !important; justify-content: flex-start !important; row-gap: 2px; font-size: 14px !important; }
  header nav > div > a, header nav > a { padding: 8px 12px 8px 0 !important; }
  header nav > a[href="/contact"] { padding: 9px 16px !important; margin-left: 0 !important; margin-top: 6px; }
  header nav > button { margin-left: 10px !important; margin-top: 6px; padding: 8px 12px !important; }
  header nav > div > div { display: none !important; }
}

@media (max-width: 1024px) {
  section[style*="1280px"], section > div[style*="1280px"],
  section > div > div[style*="1280px"], footer > div {
    padding-left: 28px !important; padding-right: 28px !important;
  }
  [style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="repeat(3"] { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 760px) {
  section[style*="1280px"], section > div[style*="1280px"],
  section > div > div[style*="1280px"], footer > div {
    padding-left: 18px !important; padding-right: 18px !important;
    padding-top: 52px !important; padding-bottom: 44px !important;
  }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  section [style*="display:flex"], section [style*="display: flex"] { flex-wrap: wrap !important; }
  section [style*="flex:1"], section [style*="flex: 1"] { flex: 1 1 100% !important; }
  section img:not([style*="absolute"]) { width: 100% !important; height: auto !important; max-height: 340px; object-fit: cover; }

  h1 { font-size: 34px !important; line-height: 1.14 !important; letter-spacing: -.02em !important; }
  h2 { font-size: 25px !important; line-height: 1.22 !important; }
  h3 { font-size: 18px !important; line-height: 1.3 !important; }
  p, li, td, th { font-size: 15.5px !important; line-height: 1.65 !important; }

  [style*="font-size:34px"], [style*="font-size: 34px"] { font-size: 27px !important; }
  [style*="72px 64px"] { padding: 40px 22px !important; }
  [style*="padding:64px"], [style*="padding: 64px"] { padding: 32px 20px !important; }
  [style*="padding:40px"], [style*="padding: 40px"] { padding: 26px 20px !important; }
  [style*="24px 30px"] { padding: 20px 18px !important; }

  section[style*="min-height"] { min-height: 0 !important; }
  section > div[style*="linear-gradient"] { position: relative !important; }

  table { display: block; overflow-x: auto; }
  footer > div { flex-direction: column !important; align-items: flex-start !important; }
  footer [style*="text-align:right"], footer [style*="text-align: right"] { text-align: left !important; }
}