
/* Mobile-first refinements. Desktop remains driven by Tailwind/site styles. */
.mobile-sticky-cta{
  transition:transform .22s ease,opacity .18s ease;
}
.mobile-sticky-cta.is-hidden{
  transform:translateY(120%);
  opacity:0;
  pointer-events:none;
}

@media(max-width:639px){
  html{scroll-padding-top:68px}
  body{overflow-x:hidden}

  body>header>div:first-child{
    height:60px;
    padding-left:14px;
    padding-right:14px
  }
  .brand-mark{
    width:36px!important;
    height:36px!important;
    border-radius:10px!important
  }
  #menuButton{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important
  }
  #mobileMenu nav{
    max-height:calc(100dvh - 60px);
    overflow-y:auto;
    padding:10px 12px 14px
  }
  #mobileMenu .mobile-link{
    padding:10px 12px!important;
    min-height:42px
  }
  .section-kicker{
    font-size:.64rem!important;
    letter-spacing:.15em!important
  }

  .mobile-sticky-cta{
    padding:8px 10px max(8px,env(safe-area-inset-bottom))!important
  }
  .mobile-sticky-cta a{
    min-height:44px!important;
    border-radius:12px!important;
    font-size:13px!important
  }

  footer{
    font-size:11px
  }
}

@media(max-width:420px){
  .section-kicker{letter-spacing:.13em!important}
}
