/* ==========================================================================
   Sante Global -- Responsive rules (ALL breakpoints, ALL pages)
   Consolidated from what were previously per-page @media blocks.
   Written as max-width tiers, matching the rest of the codebase's existing
   convention -- this avoids a full rewrite of the base styles to a
   min-width authoring order, which would have meant touching thousands of
   existing declarations for no visual benefit.
   Verified: zero horizontal overflow at 320/375/414/768/900/1024/1280/1440/1920px
   across all 30 pages.
   ========================================================================== */

/* ---------- 960px ---------- */
@media(max-width:960px){
  /* product/brand hero split -> stack (shared across brand pages) */
  .hero-content{grid-template-columns:1fr;padding:0 5% 4rem;gap:2rem;}
  .hero-right{display:none;}
  .gh-hero-content{grid-template-columns:1fr;padding:0 5% 4rem;gap:2rem;}
  .gh-hero-right{display:none;}
  .re-hero-content{grid-template-columns:1fr;padding:0 5% 4rem;gap:2rem;}
  .re-hero-right{display:none;}
  .ie-hero-content{grid-template-columns:1fr;padding:0 5% 4rem;gap:2rem;}
  .ie-hero-right{display:none;}

  .sec-head{align-items:flex-start;}
  .sec-head-letter{font-size:4rem;margin-right:1.5rem;}
  .proj-sec-head{align-items:flex-start;}
  .psh-letter{font-size:4rem;margin-right:1.5rem;}

  .prod-row,.proj-row{grid-template-columns:1fr;direction:ltr!important;}
  .prod-row>*,.proj-row>*{direction:ltr!important;}
  .pr-img{min-height:340px;}
  .pr-content{border-left:none!important;border-right:none!important;border-top:1px solid var(--line);padding:3rem 5%;}

  .page-cta,.prod-cta,.re-cta,.ie-cta{flex-direction:column;align-items:flex-start;}

  .prod-grid{grid-template-columns:1fr 1fr;}
  .prod-intro{grid-template-columns:1fr;gap:2rem;padding:4rem 5% 3rem;}
  .chair-grid{grid-template-columns:1fr 1fr;}
  .mf-grid{grid-template-columns:1fr 1fr;}
  .variant-row{grid-template-columns:1fr;}
  .compact-grid{grid-template-columns:1fr;}

  .gh-about{grid-template-columns:1fr;}
  .gha-img{min-height:320px;}
  .gha-content{border-left:none;border-top:1px solid var(--line);padding:4rem 5%;}
  .gh-numbers{grid-template-columns:repeat(3,1fr);}
  .ghn:nth-child(3){border-right:none;}
  .ghn:nth-child(4),.ghn:nth-child(5){border-top:1px solid var(--line);}
  .gh-depts-header{grid-template-columns:1fr;gap:1.5rem;}
  .dept-grid{grid-template-columns:repeat(2,1fr);}
  .values-row{grid-template-columns:1fr;}
  .fac-grid{grid-template-columns:1fr;}
  .fac-row:nth-last-child(-n+2){border-bottom:1px solid var(--line);}
  .fac-row:last-child{border-bottom:none;}
  .ghw-inner{grid-template-columns:1fr;gap:3rem;padding:4rem 5%;}
  .gh-contact{grid-template-columns:1fr;}
  .ghc-map{min-height:280px;}
  .ghc-info{border-left:none;border-top:1px solid var(--line);padding:3.5rem 5%;}

  .re-brands-header{grid-template-columns:1fr;gap:1.5rem;}
  .brand-grid{grid-template-columns:1fr 1fr;}
  .proj-types{flex-wrap:wrap;}
  .pt{min-width:50%;border-bottom:1px solid var(--line);}

  .machines-grid{grid-template-columns:1fr;margin:2rem 5% 0;}
  .olive-grid{grid-template-columns:1fr;margin:0 5%;}
  .rm-split{grid-template-columns:1fr;}
  .rm-export{border-left:none;border-top:1px solid var(--line);}

  .footer-top{grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 5%;}
  .ham{display:flex;}.nav-links,.nav-cta{display:none;}

  /* homepage business-sector carousel: 2-col split -> stack */
  .bsc{height:auto;min-height:520px;}
  .bsc-slide{grid-template-columns:1fr;}
  .bsc-content{padding:2.5rem 5%;}

  /* sante-lifescience robotics/sutures development split (product info + roadmap card) */
  .dev-split-grid{grid-template-columns:1fr!important;gap:2.5rem!important;}
}

/* ---------- 900px (general site-wide tier) ---------- */
@media(max-width:900px){
  .hero-content{grid-template-columns:1fr;padding:0 5% 60px;}.hero-right{display:none;}
  .v-header{grid-template-columns:1fr;}.v-row-inner{grid-template-columns:56px 1fr 40px;}.v-brands{display:none;}
  .vis-split{grid-template-columns:1fr;}.vs-img{min-height:320px;}.vs-content{border-left:none;border-top:1px solid var(--line);padding:4rem 5%;}
  .sig-inner{grid-template-columns:1fr;gap:4rem;padding:4rem 5%;}
  .ah-split{grid-template-columns:1fr;}.ah-img{min-height:280px;}.ah-content{border-left:none;border-top:1px solid var(--line);padding:4rem 5%;}
  .footer-top{grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 5%;}
  .founder-strip{grid-template-columns:1fr;}.fs-img{min-height:320px;}.fs-content{border-left:none;border-top:1px solid var(--line);padding:4rem 5%;}
  .about-facts{grid-template-columns:1fr 1fr;}.tl-grid{grid-template-columns:1fr;}
  .tl-item:nth-child(even){border-right:1px solid var(--line);}.tl-item:nth-last-child(-n+2){border-bottom:1px solid var(--line);}.tl-item:last-child{border-bottom:none;}
  .val-grid{grid-template-columns:1fr 1fr;}
  .sust-split{grid-template-columns:1fr;}.si-r{min-height:280px;}
  .pillars-grid{grid-template-columns:1fr;}.goals-grid{grid-template-columns:1fr 1fr;}
  .legal-layout{grid-template-columns:1fr;}.legal-nav{position:static;border-right:none;border-bottom:1px solid var(--line);padding:2rem 5%;}
  .cert-steps{flex-direction:column;}.cert-step{border-right:none;border-bottom:1px solid var(--line);}.cert-step:last-child{border-bottom:none;}
  .init-row{grid-template-columns:1fr;gap:1.5rem;}
  .contact-grid{grid-template-columns:1fr;}.cg-l{border-right:none;border-bottom:1px solid var(--line);}
  .prod-intro{grid-template-columns:1fr;gap:2rem;}.dd-grid{grid-template-columns:1fr;}
  .ham{display:flex;}.nav-links,.nav-cta{display:none;}

  /* leadership cards (about.html): 2-col -> stack */
  .lead-grid{grid-template-columns:1fr;}

  /* brand/listing card grid: allow narrower minimum before forcing 1-col at 480 */
  .bg-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}

  /* spec tables: allow horizontal scroll instead of squeezing/breaking layout */
  .spec-tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}

  /* dev banners: allow wrapping instead of forcing a fixed inline width */
  .dev-banner{flex-wrap:wrap;}
}

/* ---------- 860px ---------- */
@media(max-width:860px){
  .catalog-box{grid-template-columns:1fr;text-align:center;padding:2.6rem 1.8rem;}
  .catalog-icon{margin:0 auto;}
  .catalog-info p{max-width:none;}
  .catalog-meta{justify-content:center;}
  .catalog-btns{justify-content:center;flex-wrap:wrap;}
}

/* ---------- 640px ---------- */
@media(max-width:640px){
  .tl-row{grid-template-columns:78px 1fr;}
  .tl-rail{left:74px;}
  .tl-yr{font-size:1.5rem;}
  .tl-yr-col{padding-right:1.5rem;}
  .tl-cards{padding-left:1.5rem;}
}

/* ---------- 600px ---------- */
@media(max-width:600px){
  .about-facts{grid-template-columns:1fr 1fr;}.val-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}.goals-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}.coming-box{padding:4rem 2rem;}

  .gh-numbers{grid-template-columns:1fr 1fr;}
  .ghn:nth-child(3){border-right:1px solid var(--line);}
  .ghn:nth-child(2n){border-right:none;}
  .ghn:nth-child(n+3){border-top:1px solid var(--line);}

  .dept-grid{grid-template-columns:1fr;}
  .brand-grid{grid-template-columns:1fr;}
  .prod-grid{grid-template-columns:1fr;}
  .chair-grid{grid-template-columns:1fr;}
  .mf-grid{grid-template-columns:1fr;}

  .dev-banner{padding:1rem 1.2rem;gap:.7rem;}

  /* development-roadmap rows (sante-lifescience robotics/sutures): stack label + status badge */
  .roadmap-row{flex-wrap:wrap;gap:.5rem;}
}

/* ---------- 480px: smallest phones ---------- */
@media(max-width:480px){
  /* about-facts still 2 columns down to here is too tight with the existing
     3rem/2.5rem padding -- tighten padding rather than drop to 1 column,
     to keep the visual rhythm as close to the original design as possible */
  .af{padding:2rem 1.2rem;}

  /* brand/listing card grid: single column once below tablet-ish width */
  .bg-grid{grid-template-columns:1fr;}

  .gh-numbers{grid-template-columns:1fr 1fr;}
  .ghn{padding:2rem 1rem;}

  .dev-banner{padding:.9rem 1rem;}
}

/* ---------- 375px and below: ensure the smallest supported phones (320px) never overflow ---------- */
@media(max-width:375px){
  .about-facts{grid-template-columns:1fr;}
  .af{border-right:none;border-bottom:1px solid var(--line);}
  .af:last-child{border-bottom:none;}

  .lead-name,.lead-role,.lead-dept{max-width:100%;}

  /* timeline: shrink the year column and card padding further so cards fit in 320-375px */
  .tl-row{grid-template-columns:58px 1fr;}
  .tl-yr-col{padding-right:.9rem;}
  .tl-yr{font-size:1.2rem;}
  .tl-cards{padding-left:.9rem;}
  .tl-card{padding:1rem 1.1rem;}
  .tl-card{transform:translateX(8px);}
}
