
        /* Prevent horizontal scrollbars on mobile */
        @media (max-width: 768px) {
            html, body {
              overflow-x: hidden;
              max-width: 100%;
            }
            
            /* Reset AOS horizontal animations on mobile */
            [data-aos="fade-left"],
            [data-aos="fade-right"] {
              transform: none !important;
              opacity: 1 !important;
            }
            
            /* Before animation state */
            [data-aos="fade-left"]:not(.aos-animate),
            [data-aos="fade-right"]:not(.aos-animate) {
              transform: translateY(20px) !important;
              opacity: 0 !important;
            }
        }
        
        /* Additional safety for AOS animations */
        .aos-animate {
            overflow: hidden;
        }
/* Header logo overrides to prevent theme JS/CSS forcing a 40px box */
.q_logo a {
  height: 100px !important;
}
.q_logo img,
.q_logo .site-logo {
  height: 100px !important;
  max-width: 220px !important; /* adjust as desired */
  width: auto !important;
  display: block;
}
@media (max-width: 768px) {
  .q_logo img,
  .q_logo .site-logo {
    max-width: 140px !important;
  }
  .q_logo a {
  height: 70px !important;
}
  }

        

/* When header becomes compact (scrolled / sticky), force the logo anchor to 70px
   so the header height remains consistent when scrolling. Use !important to
   override theme JS dynamic sizing. */
header.page_header.scrolled .q_logo a,
header.page_header.sticky .q_logo a,
header.scrolled .q_logo a,
header.sticky .q_logo a,
header.fixed_hiding.scrolled .q_logo a,
header.fixed_hiding.sticky .q_logo a {
  height: 70px !important;
}

/* Ensure the image inside the logo box respects the compact height */
header.page_header.scrolled .q_logo img,
header.page_header.sticky .q_logo img,
header.scrolled .q_logo img,
header.sticky .q_logo img {
  max-height: 70px !important;
  height: auto !important;
  width: auto !important;
}

