/* Last-loaded responsive rules shared by the site's PHP templates. */
img, svg, video, canvas { max-width: 100%; }
img { height: auto; }
input, select, textarea { max-width: 100%; }
main, section, article, aside, .row > *, .grid > * { min-width: 0; }
@media (max-width: 1199px) {
  body .site-header .desktop-menu { display: none !important; }
  body .site-header .mobile-toggle { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  body .site-header .nav-bar { gap: 12px !important; }
  body .site-header .mobile-menu { max-height: calc(100dvh - 100px) !important; overflow-y: auto !important; overscroll-behavior: contain; }
  body .site-header .mobile-menu.active { display: block !important; visibility: visible !important; opacity: 1 !important; }
}
@media (max-width: 991px) {
  body .site-header .container { width: 100% !important; padding-left: 16px !important; padding-right: 16px !important; }
  body .site-header.sticky .nav-bar { padding-left: 16px !important; padding-right: 16px !important; }
  body .site-footer .footer-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 28px !important; }
  body :is(.development-overview-inner, .intro-grid, .strategy-flex, .ig-text-split, .hero-content-wrapper, .about-grid, .dev-intro-grid) { gap: 28px !important; }
  body .x-marketing-content .strategy-flex { flex-direction: column !important; align-items: stretch !important; }
  body .x-marketing-content :is(.strategy-text-col,.strategy-list-col) { width: 100% !important; }
}
@media (max-width: 767px) {
  body > section:not(.inner-hero), main > section:not(.inner-hero) { padding-top: 36px !important; padding-bottom: 36px !important; }
  body :is(.container,.container-small) { max-width: 100% !important; }
  body > section:not(.inner-hero) .container,
  main > section:not(.inner-hero) .container { padding-left: 20px; padding-right: 20px; }
  body :is(section,main) :is(.grid,[class$="-grid"],[class*="-grid "],.grid-responsive,.bento-grid,.services-merged-grid) {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 20px !important;
  }
  body :is(section,main) :is(.grid,[class$="-grid"],[class*="-grid "],.bento-grid) > * {
    grid-column: auto !important;
    min-width: 0;
  }
  body :is(.ecom-services-grid,.ecom-benefits-grid,.services-grid,.content-grid,.form-row,.im-services-grid) { grid-template-columns: minmax(0,1fr) !important; }
  body :is(.service-card-horizontal,.intro-flex,.content-flex,.split-layout,.cta-inner-content) { flex-direction: column !important; align-items: stretch !important; }
  body :is(.inner-hero-content,.premium-hero-content) { padding-left: 20px !important; padding-right: 20px !important; max-width: 100%; }
  body :is(.inner-hero-content,.premium-hero-content) h1 { font-size: clamp(28px,8vw,40px) !important; line-height: 1.2 !important; letter-spacing: -0.5px !important; overflow-wrap: anywhere; }
  body > section:not(.inner-hero) h2,
  main > section:not(.inner-hero) h2 { font-size: clamp(24px,6vw,30px) !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
  body :is(section,main) :is(h3,h4) { overflow-wrap: anywhere; }
  body :is(section,main) :is(p,li) { overflow-wrap: break-word; }
  body :is(.section-desc,.desc-text,.description) { text-align: left !important; }
  body :is(.hero-buttons,.cta-btn-group,.contact-actions,.feed-actions) { flex-wrap: wrap; }
  body :is(.btn-hero-primary,.btn-hero-secondary,.dev-btn,.cta-button,.cloud-cta-btn,.ig-btn) { max-width: 100%; white-space: normal !important; text-align: center; }
  body :is(.ecom-header-box,.ecom-footer-note,.ig-cta-card,.development-expertise-panel,.service-grid-card,.why-panel) { padding: 24px 20px !important; }
  body :is(.ecom-content-wrap,.cw-container,.local-seo-content) { max-width: 100%; }
  body .site-footer .container { padding-left: 20px !important; padding-right: 20px !important; }
  body .site-footer .footer-grid { grid-template-columns: minmax(0,1fr) !important; }
  body .site-footer :is(p,li,a) { overflow-wrap: anywhere; }
  body .mobile-dropdown-content.show { grid-template-columns: minmax(0,1fr) !important; }
  body .mobile-nav-link, body .mobile-sub-link { min-height: 44px; }
  /* Keep wide data tables usable without forcing the page wider. */
  body section table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body .contact-page, body.contact-page .contact-wrapper { max-width: 100%; }
  body.contact-page .contact-section { width: calc(100% - 28px) !important; padding-left: 0 !important; padding-right: 0 !important; }
  body.contact-page .map-location-card { position: relative; inset: auto; width: auto; margin: 14px; }
  body.contact-page .contact-wrapper { grid-template-columns: minmax(0,1fr) !important; }
  body .development-overview-inner { width: 100%; grid-template-columns: minmax(0,1fr); }
  body .development-overview { padding-left: 20px !important; padding-right: 20px !important; }
  body .development-expertise-row:hover { transform: none; }
  body .erp-page > section.container { width: 100% !important; }
}
@media (max-width: 399px) {
  body .site-header .logo img { max-width: 135px !important; }
  body .site-header .nav-bar { padding-left: 10px !important; padding-right: 10px !important; }
  body .contact-actions { gap: 12px; }
  body :is(.glass-card,.im-card,.cloud-service-card,.cloud-benefit-card,.cloud-why-card,.cloud-industry-card,.glass-card-light) { padding: 20px !important; }
}
