/* Standard service mobile containment fix — Sep 2026 */
@media (max-width: 1024px){
  html,body{max-width:100%;overflow-x:hidden!important}
  .service-detail-v3,
  .service-detail-v3 *{box-sizing:border-box}
  .service-detail-v3{width:100%;max-width:100%;overflow-x:hidden!important}
  .service-detail-v3 .container{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;margin-inline:auto!important;min-width:0!important}
  .service-detail-hero-grid-v3{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:26px!important;width:100%!important;max-width:100%!important}
  .service-detail-hero-grid-v3>*{width:100%!important;max-width:100%!important;min-width:0!important}
  .service-detail-copy-v3,
  .service-detail-copy-v3 h1,
  .service-detail-copy-v3 .lead{width:100%!important;max-width:100%!important;min-width:0!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .service-detail-layout-v3{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .service-detail-nav-v3{position:relative!important;top:auto!important;inset:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 28px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:hidden!important}
  .service-detail-nav-v3 span{display:none!important}
  .service-detail-nav-v3 a{min-width:0!important;width:100%!important;max-width:100%!important;white-space:normal!important;text-align:center!important;overflow-wrap:anywhere!important}
  .service-detail-content-v3,
  .service-detail-content-v3>section,
  .service-detail-content-v3 .quote-box,
  .service-detail-content-v3 .scope-bridge,
  .service-detail-content-v3 .contact-box,
  .service-detail-content-v3 .related-program-card{width:100%!important;max-width:100%!important;min-width:0!important;overflow-wrap:anywhere!important}
  .service-detail-content-v3 h1,
  .service-detail-content-v3 h2,
  .service-detail-content-v3 h3,
  .service-detail-content-v3 p,
  .service-detail-content-v3 li{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .service-editorial-interlude-v3{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .service-editorial-interlude-v3 figure,
  .service-editorial-interlude-v3>div{width:100%!important;max-width:100%!important;min-width:0!important}
  .service-editorial-interlude-v3 strong{max-width:100%!important;overflow-wrap:anywhere!important}
  .service-detail-media-v3,
  .service-detail-media-v3 figure{width:100%!important;max-width:100%!important;min-width:0!important}
  .service-hero-promise-v3{grid-template-columns:minmax(0,1fr)!important}
}

@media (max-width: 767px){
  .service-detail-hero-v3{padding:40px 0 32px!important}
  .service-detail-copy-v3 h1{font-size:clamp(34px,10vw,46px)!important;line-height:1.25!important;letter-spacing:0!important;margin:10px 0 16px!important}
  .service-detail-copy-v3 .lead{font-size:15px!important;line-height:1.85!important}
  .service-detail-copy-v3 .button-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;width:100%!important}
  .service-detail-copy-v3 .button-row .btn{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important}
  .service-detail-media-v3,
  .service-detail-media-v3 figure{height:360px!important;min-height:360px!important;border-radius:24px!important}
  .service-detail-body-v3{padding:42px 0 74px!important}
  .service-detail-layout-v3{display:block!important}
  .service-detail-nav-v3{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px!important;border-radius:18px!important}
  .service-detail-nav-v3 a{font-size:12px!important;line-height:1.45!important;padding:10px 7px!important}
  .service-detail-content-v3>section{padding-bottom:40px!important;margin-bottom:40px!important}
  .service-detail-content-v3>section>h2{font-size:29px!important;line-height:1.4!important}
  .service-detail-content-v3 p,
  .service-detail-content-v3 li{font-size:15px!important;line-height:1.9!important}
  .service-detail-content-v3 .outcome-grid{grid-template-columns:minmax(0,1fr)!important}
  .service-editorial-interlude-v3{margin:38px 0 0!important;border-radius:22px!important}
  .service-editorial-interlude-v3 figure{height:280px!important;min-height:280px!important}
  .service-editorial-interlude-v3>div{padding:22px 18px!important}
  .service-editorial-interlude-v3 strong{font-size:18px!important;line-height:1.75!important}
}

/* Global mobile repair layer — header, flagship story and all intake forms */
@media (max-width: 767px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  body *{box-sizing:border-box}

  /* Header: keep the mark visually close to the physical edge in both LTR and RTL. */
  .site-header .container.header-inner{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    min-height:68px!important;
    margin-inline:auto!important;
    padding:0!important;
    gap:6px!important;
  }
  .site-header .brand-logo{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:154px!important;
    margin-inline-start:-4px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .site-header .brand-logo-img{
    display:block!important;
    width:148px!important;
    max-width:42vw!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
  }
  .ltr .site-header .brand-logo-img{object-position:left center!important}
  .rtl .site-header .brand-logo-img{object-position:right center!important}
  .site-header .mobile-menu-toggle{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:12px!important}
  .site-header .header-actions{gap:4px!important;flex:0 0 auto!important;min-width:0!important}
  .site-header .lang-switch{padding:8px 9px!important;font-size:10px!important;line-height:1!important}
  .site-header .pill-btn{display:none!important}

  /* The six-month transformation page should read as a normal one-column page on phones. */
  .organization-transformation-page,
  .organization-transformation-page>*,
  .organization-transformation-page .container,
  .organization-transformation-page .story-content,
  .organization-transformation-page .flagship-content{width:100%;max-width:100%;min-width:0}
  .organization-transformation-page .flagship-standard-hero{padding:36px 0 30px!important}
  .organization-transformation-page .flagship-standard-hero .container,
  .organization-transformation-page .org-content>.container{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    margin-inline:auto!important;
  }
  .organization-transformation-page .flagship-standard-hero h1{
    font-size:clamp(36px,9.6vw,44px)!important;
    line-height:1.42!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .organization-transformation-page .flagship-standard-hero .lead{font-size:15px!important;line-height:2!important}
  .organization-transformation-page .flagship-trust{font-size:15px!important;line-height:1.95!important}
  .organization-transformation-page .flagship-keyfacts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .organization-transformation-page .flagship-keyfacts span{width:100%!important;text-align:center!important;white-space:normal!important;line-height:1.6!important}
  .organization-transformation-page .flagship-keyfacts span:last-child{grid-column:1/-1}
  .organization-transformation-page .flagship-standard-hero .button-row{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:9px!important}
  .organization-transformation-page .flagship-standard-hero .button-row .btn{width:100%!important;max-width:100%!important;text-align:center!important;justify-content:center!important}
  .organization-transformation-page .flagship-hero-photo{height:300px!important;min-height:300px!important;border-radius:24px!important;margin-top:26px!important}
  .organization-transformation-page .org-content{padding:44px 0 118px!important}
  .organization-transformation-page .flagship-content>.story-scene{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:44px 0!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  .organization-transformation-page .flagship-content>.story-scene:nth-of-type(3n+2){
    padding-inline:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .organization-transformation-page .flagship-content>.story-scene:before,
  .organization-transformation-page .flagship-content>.story-scene:after{display:none!important}
  .organization-transformation-page .flagship-content h2{font-size:29px!important;line-height:1.55!important;overflow-wrap:normal!important;word-break:normal!important}
  .organization-transformation-page .flagship-content h3{font-size:19px!important;line-height:1.6!important;overflow-wrap:normal!important;word-break:normal!important}
  .organization-transformation-page .flagship-content p,
  .organization-transformation-page .flagship-content li{font-size:15px!important;line-height:2!important;overflow-wrap:break-word!important;word-break:normal!important}
  .organization-transformation-page .capacity-card{padding:26px 20px!important;border-radius:22px!important}
  .organization-transformation-page .capacity-card h2{color:#fff!important}
  .organization-transformation-page .capacity-card p{color:rgba(255,255,255,.82)!important}
  .organization-transformation-page .mobile-review-cta{left:8px!important;right:8px!important;bottom:8px!important;min-height:58px!important;padding:11px 14px!important;border-radius:18px!important;transition:opacity .2s ease,transform .2s ease!important}
  .organization-transformation-page .mobile-review-cta span{max-width:62%!important;white-space:normal!important;line-height:1.45!important}
  .organization-transformation-page .mobile-review-cta.is-hidden{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}
  .organization-transformation-page #apply{scroll-margin-top:78px!important;padding-top:34px!important}

  /* Assessment/contact shells: force the late desktop grid declarations back to one column. */
  .hsas-shell,
  .hsas-program-shell,
  .hsas-contact-shell,
  .hsas-diagnostic-wrap,
  .hsas-gate-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .hsas-shell,
  .hsas-program-shell,
  .hsas-contact-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    overflow:hidden!important;
    margin-inline:0!important;
    border-radius:22px!important;
  }
  .hsas-program-shell .hsas-aside,
  .hsas-contact-shell .hsas-contact-aside{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    border-inline-end:0!important;
  }
  .hsas-program-shell .hsas-aside{padding:26px 20px!important}
  .hsas-contact-shell .hsas-contact-aside{padding:26px 20px!important}
  .hsas-form,
  .hsas-program-shell .hsas-form,
  .hsas-contact-shell .hsas-form,
  .hsas-diagnostic-wrap>.hsas-form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:26px 16px 24px!important;
  }
  .hsas-form-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .hsas-form-head h2{font-size:26px!important;line-height:1.5!important;overflow-wrap:normal!important;word-break:normal!important}
  .hsas-step-label{justify-self:start!important;white-space:normal!important}
  .hsas-grid,
  .hsas-program-shell .hsas-grid,
  .hsas-contact-shell .hsas-grid,
  .hsas-gate-card .hsas-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px!important;
    width:100%!important;
  }
  .hsas-form label,
  .hsas-form fieldset,
  .hsas-form .hsas-full,
  .hsas-form .hsas-phone{width:100%!important;max-width:100%!important;min-width:0!important}
  .hsas-phone,
  .rtl .hsas-phone,
  .hsas-program-shell .hsas-phone,
  .rtl .hsas-program-shell .hsas-phone,
  .hsas-gate-card .hsas-phone,
  .rtl .hsas-gate-card .hsas-phone{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .hsas-phone select,
  .rtl .hsas-phone select{order:1!important}
  .hsas-phone input,
  .rtl .hsas-phone input{order:2!important}
  .hsas-form input,
  .hsas-form select,
  .hsas-form textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:16px!important;
  }
  .hsas-form select{white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}
  .hsas-options,
  .hsas-checks,
  .hsas-diagnostic-wrap .hsas-options,
  .hsas-diagnostic-wrap .hsas-checks{grid-template-columns:minmax(0,1fr)!important}
  .hsas-actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important;width:100%!important}
  .hsas-actions>span{display:none!important}
  .hsas-actions button{flex:1 1 145px!important;min-width:0!important;max-width:100%!important}

  /* Contact page and every legacy/project form use a single readable column. */
  .contact-v3 .story-content{width:100%!important;max-width:100%!important}
  .contact-v3 .story-content>section:first-child{display:block!important;width:100%!important;max-width:100%!important}
  .contact-v3 .story-content>section:first-child>h2,
  .contact-v3 .story-content>section:first-child>p,
  .contact-v3 .story-content>section:first-child>.contact-box{width:100%!important;max-width:100%!important;grid-column:auto!important;grid-row:auto!important}
  .contact-v3 .contact-box{margin-top:20px!important;padding:24px 18px!important;border-radius:22px!important}
  .contact-v3 .contact-box p:last-child,
  .contact-v3 .contact-box .button-row{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important}
  .contact-v3 .contact-box .btn{width:100%!important;max-width:100%!important;justify-content:center!important;text-align:center!important}
  .hsas-contact-section{width:100%!important;max-width:100%!important;margin-top:22px!important}
  .project-form-shell,
  .application-shell,
  .program-application,
  .project-request-form{width:100%!important;max-width:100%!important;min-width:0!important}
  .project-request-form .form-grid,
  .project-request-form .request-options,
  .program-application .form-grid,
  .program-application .check-grid,
  .form-grid,
  .check-grid{grid-template-columns:minmax(0,1fr)!important}
  .project-request-form input,
  .project-request-form select,
  .project-request-form textarea,
  .program-application input,
  .program-application select,
  .program-application textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}

  form,fieldset{max-width:100%;min-width:0}
}

@media (max-width: 420px){
  .site-header .container.header-inner{width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important}
  .site-header .brand-logo{max-width:144px!important;margin-inline-start:-3px!important}
  .site-header .brand-logo-img{width:144px!important;max-width:39vw!important}
  .organization-transformation-page .flagship-keyfacts{grid-template-columns:1fr!important}
  .organization-transformation-page .flagship-keyfacts span:last-child{grid-column:auto}
  .hsas-actions{display:grid!important;grid-template-columns:1fr!important}
  .hsas-actions button{width:100%!important}
}
