/* Reddy IT — responsive / mobile rules.
   Kept in an external stylesheet because the DC helmet <style> block strips @media.
   Attribute selectors + !important override the inline styles without touching markup. */

html, body { overflow-x: hidden; }
img { max-width: 100%; }

/* ---------- Tablet / small laptop ---------- */
@media (max-width: 960px) {
  nav > div { flex-wrap: wrap !important; height: auto !important; padding: 12px 18px !important; row-gap: 10px !important; }
  nav a[href^="tel:"] { display: none !important; }
  nav div[style*="gap: 26px"] { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; }

  [style*="max-width: 1200px"], [style*="max-width: 1120px"], [style*="max-width: 1040px"] {
    padding-left: 24px !important; padding-right: 24px !important;
  }

  /* two-column content grids -> single column */
  [style*="1fr 1.08fr"], [style*="0.95fr 1.05fr"], [style*="1.05fr 0.95fr"], [style*="1.25fr 0.9fr"] {
    grid-template-columns: 1fr !important;
  }
  /* multi-up card grids -> 2 up */
  [style*="repeat(6,"], [style*="repeat(4,"], [style*="repeat(3,"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  footer [style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; row-gap: 28px !important; }

  h1[style*="font-size: 64px"] { font-size: 44px !important; }
  h1[style*="font-size: 56px"] { font-size: 40px !important; }
  h1[style*="font-size: 52px"] { font-size: 38px !important; }

  body image-slot#home-hero { height: 380px !important; }
  body image-slot#home-values { height: 340px !important; }
  body image-slot#about-story { height: 340px !important; }
}

/* ---------- Phones ---------- */
@media (max-width: 560px) {
  [style*="repeat(6,"], [style*="repeat(4,"], [style*="repeat(3,"], [style*="repeat(2,"], [style*="1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  footer [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }

  [style*="max-width: 1200px"], [style*="max-width: 1120px"], [style*="max-width: 1040px"] {
    padding-left: 16px !important; padding-right: 16px !important;
  }

  h1[style*="font-size: 64px"] { font-size: 34px !important; }
  h1[style*="font-size: 56px"] { font-size: 30px !important; }
  h1[style*="font-size: 52px"] { font-size: 30px !important; }
  h2[style*="font-size: 40px"], h2[style*="font-size: 38px"] { font-size: 26px !important; }

  body image-slot#home-hero { height: 300px !important; }
  body image-slot#home-values { height: 280px !important; }
  body image-slot#about-story { height: 280px !important; }

  /* stat band + CTA padding trim */
  [style*="padding: 48px 44px"] { padding: 30px 22px !important; }
  [style*="padding: 56px 52px"], [style*="padding: 52px"] { padding: 34px 22px !important; }
}


/* careers search overflow fix */
@media (max-width: 560px){
  [style*="display:flex"][style*="gap"] > button,
  [style*="display: flex"][style*="gap"] > button{ max-width:100%; }
  form, form > div{ flex-wrap:wrap !important; max-width:100% !important; }
  input, select, textarea, button{ max-width:100% !important; box-sizing:border-box !important; }
}


/* careers search bar wrap fix v2 */
@media (max-width: 560px){
  [style*="height: 64px"][style*="gap: 10px"]{ flex-wrap:wrap !important; height:auto !important; padding:10px 14px !important; }
  [style*="height: 64px"][style*="gap: 10px"] > *{ flex:1 1 auto !important; min-width:0 !important; }
  [style*="height: 64px"][style*="gap: 10px"] input{ width:100% !important; }
}
