/* Shared mobile refinements loaded by every public page. */

@media(max-width:900px){
  html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
  body{overflow-x:hidden}
  [id]{scroll-margin-top:88px}

  /* Prevent desktop sticky offsets from moving mobile cards outside their flow boxes. */
  .home-who-help .who-help-item:nth-child(n){position:relative;top:auto;transform:none!important;will-change:auto}

  /* Mobile/tablet service cards use natural document flow instead of an image overlay. */
  .home-strategy-services .strategy-service-card{
    height:auto;
    min-height:0;
    padding:0;
    display:grid;
    grid-template-rows:240px minmax(0,1fr);
    overflow:hidden;
    cursor:default;
  }
  .home-strategy-services .strategy-service-card>img{
    position:relative;
    inset:auto;
    height:240px;
  }
  .home-strategy-services .strategy-service-panel{
    position:relative;
    right:auto;
    bottom:auto;
    left:auto;
    height:auto!important;
    min-height:264px;
    padding:50px 28px 28px;
    display:flex;
    flex-direction:column;
    overflow:visible;
    border-radius:0;
  }
  .home-strategy-services .strategy-service-icon{left:28px}
  .home-strategy-services .strategy-service-copy p{
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
  }
  .home-strategy-services .strategy-service-cta{
    margin-top:auto;
    padding-top:20px;
    opacity:1;
    pointer-events:auto;
    transform:none;
  }

  .mobile-menu{max-height:calc(100dvh - 72px);padding:14px 20px 22px;gap:2px;overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu>a{min-height:48px;padding:11px 4px;display:flex;align-items:center}
  .mobile-menu .mobile-cta{margin-top:10px;padding:0 18px;justify-content:center}

  input,select,textarea{font-size:16px}
  .contact-intake .home-closing-form input{height:48px}
  .contact-intake .home-closing-consent{min-height:44px}
  .contact-direct-grid a{min-height:44px;display:inline-flex;align-items:center}

  .legal-nav a{min-height:44px;display:flex;align-items:center}

  .footer-main nav a,.footer-contact a,.footer-bottom a{min-height:44px;display:flex;align-items:center}
  .footer-email{overflow-wrap:anywhere}
}

@media(min-width:761px) and (max-width:900px){
  .home-strategy-services{padding:88px 24px}
  .home-strategy-services .strategy-services-inner{width:100%}
  .home-strategy-services .strategy-services-heading{margin-bottom:42px}
  .home-strategy-services .strategy-services-heading h2{font-size:48px;line-height:52px}
}

@media(max-width:520px){
  .hero-actions{width:100%}
  .hero-actions .btn{min-width:0}
  .home-strategy-services .strategy-service-card{grid-template-rows:220px minmax(0,1fr)}
  .home-strategy-services .strategy-service-card>img{height:220px}
  .home-strategy-services .strategy-service-panel{min-height:0;padding:48px 22px 24px}
  .home-strategy-services .strategy-service-icon{left:22px}
  .footer-brand-lockup{max-width:100%}
  .footer-brand-name{min-width:0}
  .footer-brand-name strong{white-space:normal}
  .footer-bottom>div{width:100%;align-items:flex-start;flex-direction:column;gap:0}
}
