/* Keep decorative overspill inside the page, including mobile Safari. */
html{overflow-x:hidden}
@supports(overflow:clip){html{overflow-x:clip}}
.intro-grid>*,.trainer-grid>*,.outcomes-grid>*,.program-grid>*,.contact-grid>*,.format-grid>*,.audience-grid>*{min-width:0}
@media(max-width:720px){
 .intro-grid,.trainer-grid,.outcomes-grid,.program-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
 .ticker{margin-left:0;margin-right:0;transform:none;flex-wrap:wrap;white-space:normal;gap:10px 16px}
 .text-link{max-width:100%;width:auto}
 .header .button,.hero-title .button,.program-aside .button,.submit{max-width:100%;gap:16px}
 .header .brand,.header .button{min-width:0}
 .lessons summary{grid-template-columns:22px minmax(0,1fr) 28px}
 .situation-options label span{min-width:0}
 h2,h3,.hero .eyebrow,.lesson-body,.privacy-note,.contact-sign{overflow-wrap:anywhere}
 footer>span{width:auto;flex:1 1 140px}
}
/* Mobile title must fit even when Impact is unavailable on Android/iOS. */
@media(max-width:720px){
 .hero-title{min-width:0;max-width:100%}
 .hero h1{font-size:clamp(40px,17vw,112px);line-height:1;max-width:100%}
}
