/* ============================================================
   Responsive rules - mobile first friendly overrides
   ============================================================ */
@media (max-width:1100px){
  .masonry{columns:2}
}
@media (max-width:1024px){
  .nav__links{display:none}
  .hamburger{display:inline-grid}
  .mobile-menu{display:block}
  .nav__cta .btn--primary{display:none}
}
@media (max-width:768px){
  :root{--nav-h:66px}
  body{font-size:16px}
  .section{padding:3rem 0}
  .hero{min-height:92svh}
  .hero__inner{padding-top:calc(var(--nav-h) + 2rem)}
  .sticky-cta{display:flex}
  .floaters{bottom:5.2rem}
  .masonry{columns:2;column-gap:.8rem}
  .site-footer{padding-bottom:5.5rem}
}
@media (max-width:480px){
  .masonry{columns:1}
  .btn{width:auto}
  .hero__actions .btn{flex:1 1 100%}
}
@media (min-width:1900px){
  :root{--container:1440px}
}
@media (max-width:1024px){
  .mobile-menu{display:block}
}
@media (min-width:1025px){
  .mobile-menu,.menu-backdrop{display:none!important}
}
/* Guard against transform/animation overflow */
@media (max-width:768px){
  [data-reveal="left"],[data-reveal="right"]{transform:translateY(24px)}
}
