/* v148 — final mobile alignment pass after v146 review.
   Desktop is untouched. */
@media (max-width:760px){
  /* Make the public header identical on home and every inner page.
     Older responsive rules offset the brand when .global-back-btn exists. */
  .site-header,
  body:has(.global-back-btn) .site-header{
    height:68px!important;min-height:68px!important;max-height:68px!important;
    padding:0!important;
  }
  .site-header .container.header-inner,
  body:has(.global-back-btn) .site-header .container.header-inner{
    width:100%!important;max-width:none!important;height:68px!important;min-height:68px!important;max-height:68px!important;
    margin:0!important;padding:0 22px!important;position:relative!important;display:block!important;
  }
  .site-header .brand,
  body:has(.global-back-btn) .site-header .brand{
    position:absolute!important;left:22px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;
    margin:0!important;margin-left:0!important;margin-right:0!important;padding:0!important;
    height:auto!important;min-height:0!important;max-width:calc(100% - 98px)!important;
    display:flex!important;align-items:center!important;gap:8px!important;
  }
  .site-header .menu-toggle,
  body:has(.global-back-btn) .site-header .menu-toggle{
    position:absolute!important;right:22px!important;left:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;margin:0!important;
  }
  .site-header .main-nav,
  body:has(.global-back-btn) .site-header .main-nav{
    top:68px!important;right:22px!important;left:auto!important;
  }

  /* Home first screen: reduce unused top air, then place portrait just a touch lower than v146. */
  body:not(.application-page) .hero{padding-top:10px!important}
  body:not(.application-page) .hero .hero-copy{padding-top:2px!important}
  body:not(.application-page) .hero .hero-brandline{margin-top:0!important;margin-bottom:14px!important}
  body:not(.application-page) .hero .hero-stage{
    top:-58px!important;
  }

  /* Home actions: wider, clearly separated left/right and more readable. */
  body:not(.application-page) .hero .hero-actions{
    width:calc(100vw - 44px)!important;max-width:none!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;
    margin-top:14px!important;
  }
  body:not(.application-page) .hero .hero-actions .btn-3d,
  body:not(.application-page) .hero .hero-actions .btn-glass{
    width:100%!important;min-height:50px!important;padding:10px 12px!important;
    font-size:13px!important;line-height:1!important;font-weight:950!important;letter-spacing:.005em!important;
    display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  }

  /* Programs: force the primary button labels to use the large mobile type.
     Higher specificity avoids the older in-page responsive rules. */
  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-3d,
  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-glass,
  body.programs-hub-page .hub-card .hub-actions > a{
    width:100%!important;min-height:56px!important;padding:11px 14px!important;
    font-size:18px!important;line-height:1.08!important;font-weight:950!important;
    color:#063d32!important;text-shadow:0 1px 0 rgba(255,255,255,.98)!important;
    white-space:normal!important;text-align:center!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
}

@media (max-width:420px){
  .site-header,
  body:has(.global-back-btn) .site-header{height:64px!important;min-height:64px!important;max-height:64px!important}
  .site-header .container.header-inner,
  body:has(.global-back-btn) .site-header .container.header-inner{
    height:64px!important;min-height:64px!important;max-height:64px!important;padding:0 18px!important
  }
  .site-header .brand,
  body:has(.global-back-btn) .site-header .brand{left:18px!important;max-width:calc(100% - 88px)!important}
  .site-header .menu-toggle,
  body:has(.global-back-btn) .site-header .menu-toggle{right:18px!important}
  .site-header .main-nav,
  body:has(.global-back-btn) .site-header .main-nav{top:64px!important;right:18px!important}

  body:not(.application-page) .hero{padding-top:6px!important}
  body:not(.application-page) .hero .hero-stage{top:-66px!important}
  body:not(.application-page) .hero .hero-actions{
    width:calc(100vw - 36px)!important;gap:14px!important;margin-top:13px!important;
  }
  body:not(.application-page) .hero .hero-actions .btn-3d,
  body:not(.application-page) .hero .hero-actions .btn-glass{
    min-height:49px!important;font-size:12.5px!important;padding:9px 9px!important
  }

  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-3d,
  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-glass,
  body.programs-hub-page .hub-card .hub-actions > a{
    min-height:55px!important;font-size:17px!important;padding:10px 12px!important;
  }
}

@media (max-width:370px){
  .site-header .container.header-inner,
  body:has(.global-back-btn) .site-header .container.header-inner{padding:0 14px!important}
  .site-header .brand,
  body:has(.global-back-btn) .site-header .brand{left:14px!important}
  .site-header .menu-toggle,
  body:has(.global-back-btn) .site-header .menu-toggle{right:14px!important}
  .site-header .main-nav,
  body:has(.global-back-btn) .site-header .main-nav{right:14px!important}
  body:not(.application-page) .hero .hero-stage{top:-58px!important}
  body:not(.application-page) .hero .hero-actions{width:calc(100vw - 28px)!important;gap:10px!important}
  body:not(.application-page) .hero .hero-actions .btn-3d,
  body:not(.application-page) .hero .hero-actions .btn-glass{font-size:11.6px!important}
  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-3d,
  body.programs-hub-page .hub-grid .hub-card .hub-actions > a.btn-glass,
  body.programs-hub-page .hub-card .hub-actions > a{font-size:16px!important}
}

/* v148 install-safe marker: same approved visual polish as v147, fresh cache key. */
