/* Fix horizontal overflow */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

* {
  box-sizing: border-box !important;
}

.page-wrapper,
.main-wrapper,
.container-large,
.container-medium,
.container-small {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* Mobile First Responsive Design */
@media (max-width: 768px) {
  .container-large,
  .container-medium,
  .container-small {
    padding: 0 1rem !important;
    max-width: 100% !important;
  }
  
  .nav_container {
    padding: 0 1rem !important;
  }
  
  .nav_menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: white !important;
    display: none !important;
  }
  
  .nav_menu.w--open {
    display: block !important;
  }
  
  .nav_menu_container {
    flex-direction: column !important;
    padding: 1rem !important;
  }
  
  .nav-menu-inner {
    flex-direction: column !important;
    gap: 1rem !important;
  }
  
  .nav_button {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    cursor: pointer !important;
  }
  
  .nav_lines_icon {
    display: block !important;
  }
  
  .nav_menu-lines div {
    width: 20px !important;
    height: 2px !important;
    background: #333 !important;
    margin: 3px 0 !important;
  }
  
  .hero_content h1 {
    font-size: 2rem !important;
  }
  
  .services-grid-new {
    grid-template-columns: 1fr !important;
  }
  
  .businesses-grid-new {
    grid-template-columns: 1fr !important;
  }
  
  .four_column_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .fifty_fifty-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  .cards_grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .four_column_grid {
    grid-template-columns: 1fr !important;
  }
  
  .hero_content h1 {
    font-size: 1.5rem !important;
  }
  
  .nav_logo {
    height: 35px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
  .services-grid-new {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .businesses-grid-new {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}