
/* ============================================================
   HAZWOPER EDITABLE / RESPONSIVE SAFEGUARDS — v4.0
============================================================ */

body.single-growth_story main.cs-hazwoper-v40{
  width:100%;
  overflow:hidden;
}

/* Match the rest of CENTERSPREAD. */
body.single-growth_story main.cs-hazwoper-v40 .wrap{
  width:min(1220px,calc(100% - 44px)) !important;
  margin-inline:auto !important;
}

/*
 * The current global header is floating. v3.8 already creates a real
 * outer page gap; this keeps the case-study hero comfortably below it.
 */
body.single-growth_story main.cs-hazwoper-v40 .hero.hero-v2{
  padding-top:165px !important;
}

/* Long CMS copy should never force a grid wider than its container. */
body.single-growth_story main.cs-hazwoper-v40 .hero-v2-copy,
body.single-growth_story main.cs-hazwoper-v40 .chapter-side,
body.single-growth_story main.cs-hazwoper-v40 .chapter-main,
body.single-growth_story main.cs-hazwoper-v40 .detail-copy,
body.single-growth_story main.cs-hazwoper-v40 .system-card,
body.single-growth_story main.cs-hazwoper-v40 .metric-card,
body.single-growth_story main.cs-hazwoper-v40 .frontier-item,
body.single-growth_story main.cs-hazwoper-v40 .outcome-grid > *{
  min-width:0 !important;
}

body.single-growth_story main.cs-hazwoper-v40 h1,
body.single-growth_story main.cs-hazwoper-v40 h2,
body.single-growth_story main.cs-hazwoper-v40 h3,
body.single-growth_story main.cs-hazwoper-v40 p,
body.single-growth_story main.cs-hazwoper-v40 strong,
body.single-growth_story main.cs-hazwoper-v40 span{
  overflow-wrap:anywhere;
}

/* Keep in-page anchor jumps clear of the global header. */
body.single-growth_story main.cs-hazwoper-v40 section[id]{
  scroll-margin-top:125px;
}

@media(max-width:1100px){
  body.single-growth_story main.cs-hazwoper-v40 .hero.hero-v2{
    min-height:auto !important;
    padding-top:132px !important;
    padding-bottom:76px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-v2-grid,
  body.single-growth_story main.cs-hazwoper-v40 .chapter-grid,
  body.single-growth_story main.cs-hazwoper-v40 .performance-grid,
  body.single-growth_story main.cs-hazwoper-v40 .frontier-grid,
  body.single-growth_story main.cs-hazwoper-v40 .outcome-grid{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-static-visual{
    width:min(760px,100%) !important;
    margin-inline:auto !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 #infrastructure .system-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .chapter-nav{
    display:none !important;
  }
}

@media(max-width:720px){
  body.single-growth_story main.cs-hazwoper-v40 .wrap{
    width:min(1220px,calc(100% - 26px)) !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero.hero-v2{
    padding-top:102px !important;
    padding-bottom:58px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-title{
    font-size:clamp(45px,13vw,62px) !important;
    line-height:.95 !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .lead{
    font-size:17px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-v2-copy .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-v2-copy .hero-actions .btn{
    width:100% !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-v2-support{
    gap:10px 14px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-static-visual{
    min-height:auto !important;
    padding:10px !important;
    border-radius:23px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art{
    min-height:500px !important;
    border-radius:18px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-copy{
    width:100% !important;
    padding:48px 20px 0 !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-copy h3{
    font-size:clamp(34px,10vw,47px) !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card{
    width:150px !important;
    padding:12px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card.authority{
    left:16px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card.one,
  body.single-growth_story main.cs-hazwoper-v40 .case-art-card.two,
  body.single-growth_story main.cs-hazwoper-v40 .case-art-card.three{
    right:14px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .section{
    padding:78px 0 !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .section-sm{
    padding:62px 0 !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .workstream{
    padding:22px 18px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .workstream-points,
  body.single-growth_story main.cs-hazwoper-v40 .priority-points{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 #infrastructure .system-grid{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .metric-stack{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .growth-engine-mini-flow{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .growth-mini-connector{
    width:2px !important;
    height:18px !important;
    margin:auto !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .traffic-proof-launcher-grid{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .frontier-road{
    grid-template-columns:1fr !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .outcome-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .outcome-bottom .btn{
    width:100% !important;
  }

  body.single-growth_story .graph-modal-shell{
    width:min(94vw,760px) !important;
    max-height:90vh !important;
    overflow:auto !important;
  }

  body.single-growth_story .graph-modal-stage{
    padding:12px !important;
  }

  body.single-growth_story .graph-modal-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.single-growth_story .graph-modal-controls{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}

@media(max-width:430px){
  body.single-growth_story main.cs-hazwoper-v40 .case-art{
    min-height:475px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card{
    width:134px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card span{
    font-size:8px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .hero-v2-support span:last-child{
    display:flex !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .outcome-card{
    padding:24px 18px !important;
  }
}

@media(max-width:360px){
  body.single-growth_story main.cs-hazwoper-v40 .case-art-card{
    width:122px !important;
    padding:10px !important;
  }

  body.single-growth_story main.cs-hazwoper-v40 .case-art-card strong{
    font-size:11px !important;
  }
}
