/* MCS Associates — shared responsive layer */
html { scroll-behavior: smooth; }
html, body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
img, video, iframe, svg {
  max-width: 100%;
  height: auto;
}
* { box-sizing: border-box; }

/* Soften horizontal padding on small screens where inline 28px is used */
@media (max-width: 760px) {
  .kw-pad { padding-left: 16px !important; padding-right: 16px !important; }
  .kw-brand { flex-shrink: 0 !important; min-width: auto !important; }
  .kw-brand-name { font-size: 24px !important; letter-spacing: 1.5px !important; overflow: visible !important; text-overflow: unset !important; }
  .kw-brand-sub { font-size: 10px !important; overflow: visible !important; text-overflow: unset !important; white-space: normal !important; max-width: 160px; }
  .kw-logo { width: 52px !important; height: 52px !important; }
  .kw-header-bar { padding-left: 14px !important; padding-right: 14px !important; height: 70px !important; gap: 12px !important; }
  .kw-footer-top { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .kw-footer-social { margin-left: 0 !important; }
  .kw-footer-bottom { flex-direction: column !important; align-items: flex-start !important; }
  .kw-footer-nav a {
    padding-left: 0 !important;
    padding-right: 14px !important;
    border-left: none !important;
  }
  .kw-hero-script { font-size: clamp(40px, 12vw, 64px) !important; }
  .kw-toast {
    max-width: calc(100vw - 32px) !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .kw-pkg-grid { grid-template-columns: 1fr !important; }
  .kw-filter-grid { grid-template-columns: 1fr !important; }
  .kw-features { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .kw-services-cards { grid-template-columns: 1fr !important; }
  .kw-aside-sticky { position: static !important; top: auto !important; }
  .kw-page-section { padding-left: 16px !important; padding-right: 16px !important; }
}

@media (max-width: 420px) {
  .kw-features { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .kw-brand-name { font-size: 22px !important; }
  .kw-brand-sub { max-width: 140px; }
}

@media (min-width: 761px) and (max-width: 1099px) {
  .kw-pkg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .kw-features { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .kw-banner-img { width: 100% !important; opacity: .35; -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 85%) !important; mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 85%) !important; }
  .kw-page-section { padding-left: 16px !important; padding-right: 16px !important; }
  input, select, textarea { font-size: 16px !important; } /* prevent iOS zoom */
}

@media (max-width: 760px) {
  .kw-hero-copy h1,
  .kw-hero-copy p { text-shadow: 0 1px 0 rgba(250,247,242,.8); }
}
