@media (max-width: 1100px) {
  .bc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bc-mini-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vc-footer__primary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px; }
  .vc-footer__brand { grid-column: 1/-1; }
}

@media (max-width: 991px) {
  .vc-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .vc-header__inner { min-height: 72px; grid-template-columns: auto auto; justify-content: space-between; gap: 16px; }
  .vc-header__logo { height: 58px; max-width: 155px; }
  .vc-btn--desktop { display: none; }
  .vc-menu-toggle { position: relative; z-index: 27; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
  .vc-menu-backdrop { display: block; position: fixed; inset: 0; z-index: 24; border: 0; background: rgba(0,0,0,.7); opacity: 0; pointer-events: none; transition: var(--transition); }
  .vc-nav { position: fixed; top: 0; right: 0; z-index: 25; width: min(88vw,380px); height: 100vh; height: 100dvh; padding: max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 18px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px; overflow-y: auto; overscroll-behavior: contain; border-left: 1px solid var(--line); background: rgba(8,8,8,.98); backdrop-filter: blur(18px); transform: translateX(102%); visibility: hidden; transition: transform var(--transition), visibility var(--transition); }
  .vc-nav > * { flex-shrink: 0; }
  .vc-nav__mobile-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 62px; margin-bottom: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .vc-nav__close { display: inline-flex; flex: 0 0 auto; }
  .vc-nav__list { width: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  .vc-nav__item { width: 100%; }
  .vc-nav__row { display: grid; grid-template-columns: minmax(0,1fr) 48px; width: 100%; border-radius: 16px; }
  .vc-nav__link { width: 100%; min-height: 50px; padding: 14px 16px; border-radius: 16px; font-size: .96rem; }
  .vc-nav__row > .vc-nav__link { padding-right: 8px; border-radius: 16px 4px 4px 16px; }
  .vc-nav__submenu-toggle { width: 48px; height: 50px; border-radius: 12px; }
  .vc-submenu--categories {
    position: static;
    width: calc(100% - 12px);
    max-height: none;
    margin: 4px 0 6px 12px;
    padding: 4px 0 4px 10px;
    overflow: visible;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.13);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .vc-submenu__row { grid-template-columns: minmax(0,1fr) 46px; }
  .vc-submenu__link { padding: 12px 10px; white-space: normal; font-size: .88rem; }
  .vc-submenu__toggle { width: 46px; height: 46px; }
  .vc-submenu--services { margin: 0 0 5px 8px; padding: 1px 0 5px 8px; }
  .vc-submenu--services a { padding: 10px 10px 10px 12px; white-space: normal; font-size: .84rem; }
  .vc-btn--menu { display: inline-flex; width: 100%; margin-top: 8px; }
  body.menu-open .vc-nav { transform: translateX(0); visibility: visible; }
  body.menu-open .vc-menu-toggle { opacity: 0; pointer-events: none; }
  body.menu-open .vc-menu-backdrop { opacity: 1; pointer-events: auto; }
  body.menu-open .bc-whatsapp-float { visibility: hidden; }

  .vc-about__grid, .vc-contact__grid, .bc-content-grid { grid-template-columns: 1fr; }
  .vc-about__content { padding: 12px; }
  .bc-media-card, .bc-spec-card { position: relative; top: auto; }
  .bc-faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .bc-faq-layout > .bc-section-heading { max-width: 720px; }
  .vc-footer__primary { grid-template-columns: 1fr 1fr; gap: 42px 34px; }
  .vc-footer__brand { grid-column: 1/-1; }
  .vc-footer__desc { max-width: 650px; }
  .vc-footer__categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .vc-container { width: min(100% - 24px,1180px); }
  .vc-hero-shell__bg { grid-template-columns: 1fr; }
  .vc-hero-shell__image--left { display: none; }
  .vc-hero-shell__image { background-position: center top; filter: grayscale(1) brightness(.58) contrast(1.02); }
  .vc-hero { padding-top: 64px; padding-bottom: 64px; }
  .vc-hero__title { font-size: clamp(2.5rem,12vw,3.7rem); max-width: 16ch; }
  .vc-hero__subtitle { max-width: 31ch; }
  .vc-services, .vc-about-section, .vc-differentials, .vc-contact, .bc-page-hero, .bc-list-section, .bc-content-section, .bc-related-section, .bc-support-section { padding-top: 58px; padding-bottom: 58px; }
  .bc-page-hero__title { font-size: clamp(2.5rem,12vw,3.7rem); }
  .bc-grid, .bc-mini-grid, .vc-differentials__grid { grid-template-columns: 1fr; }
  .bc-process-grid, .bc-reasons-grid { grid-template-columns: 1fr; }
  .bc-process-card, .bc-reason-card { min-height: 0; }
  .bc-process-card__number { margin-bottom: 28px; }
  .bc-post-media { aspect-ratio: 4/3; border-radius: 20px; }
  .bc-post-meta { flex-wrap: wrap; }
  .vc-form-grid { grid-template-columns: 1fr; }
  .vc-form-grid__full { grid-column: auto; }
  .vc-about__media, .vc-about__media img { min-height: 320px; }
  .bc-cta__inner { flex-direction: column; align-items: flex-start; }
  .bc-cta__inner .vc-btn { width: 100%; }
  .vc-footer { padding-top: 60px; }
  .vc-footer__primary { grid-template-columns: 1fr; }
  .vc-footer__brand { grid-column: auto; }
  .vc-footer__catalog { margin-top: 46px; padding: 40px 0 42px; }
  .vc-footer__category { padding: 22px 20px 19px; }
  .vc-footer__bottom { grid-template-columns: 1fr auto; }
  .vc-footer__legal { grid-column: 1/-1; grid-row: 1; }
  .vc-footer__bottom > p { grid-column: 1; grid-row: 2; }
  .vc-footer__back-top { grid-column: 2; grid-row: 2; }
  .bc-whatsapp-float { display: none; }
  .bc-whatsapp-bar { position: fixed; left: max(12px,env(safe-area-inset-left)); right: max(12px,env(safe-area-inset-right)); bottom: max(12px,env(safe-area-inset-bottom)); z-index: 45; display: block; transform: translateY(calc(100% + 32px)); opacity: 0; visibility: hidden; pointer-events: none; transition: .28s ease; }
  .bc-whatsapp-bar.is-visible { transform: translateY(0); opacity: 1; visibility: visible; pointer-events: auto; }
  body.menu-open .bc-whatsapp-bar { transform: translateY(120%); opacity: 0; pointer-events: none; }
  .bc-whatsapp-bar a { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px; border-radius: 999px; background: linear-gradient(135deg,var(--accent),var(--accent-strong)); color: #fff; text-decoration: none; font-weight: 800; box-shadow: 0 18px 42px rgba(0,0,0,.42); }
  .bc-whatsapp-bar svg { width: 21px; height: 21px; }
  .vc-footer { padding-bottom: max(32px,env(safe-area-inset-bottom)); }
}

@media (max-width: 640px) {
  .vc-footer { padding-top: 50px; }
  .vc-footer__primary { grid-template-columns: 1fr; gap: 38px; }
  .vc-footer__brand { grid-column: auto; }
  .vc-footer__brand img { width: 112px; height: 112px; }
  .vc-footer__desc { margin-top: 18px; font-size: .93rem; line-height: 1.7; }
  .vc-footer__primary h2 { margin-bottom: 17px; }
  .vc-footer__nav-list a { min-height: 44px; }
  .vc-footer__catalog-head { align-items: flex-start; flex-direction: column; gap: 18px; }
  .vc-footer__catalog-all { min-height: 36px; }
  .vc-footer__categories { grid-template-columns: 1fr; gap: 12px; }
  .vc-footer__category:hover { transform: none; }
  .vc-footer__service-list a { min-height: 44px; }
  .vc-footer__bottom { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .vc-footer__legal { grid-column: auto; grid-row: auto; gap: 9px 16px; }
  .vc-footer__bottom > p { grid-column: auto; grid-row: auto; line-height: 1.5; }
  .vc-footer__back-top { grid-column: auto; grid-row: auto; width: fit-content; min-height: 34px; }
}

@media (max-width: 480px) {
  .vc-header__logo { height: 52px; }
  .vc-hero__services { gap: 7px; }
  .vc-hero__services span { min-height: 30px; padding: 0 10px; font-size: .67rem; }
  .vc-about, .vc-contact__form, .bc-content-card, .bc-spec-card { padding: 20px; border-radius: 20px; }
  .bc-process-card, .bc-reason-card { padding: 22px; border-radius: 20px; }
  .bc-faq-list summary { min-height: 62px; padding: 18px 52px 18px 18px; font-size: .94rem; }
  .bc-faq-list summary::after { right: 20px; }
  .bc-faq-list details p { padding: 0 18px 20px; font-size: .88rem; }
  .bc-page-hero__actions .vc-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* Maintain the image-above-copy layout on smaller screens. */
@media (max-width: 900px) {
  .bc-service-intro { gap: 24px; }
  .bc-feature-card .bc-related-card__image { height: 230px; }
}
@media (max-width: 640px) {
  .bc-category-page > .vc-container,
  .bc-generated-page > .vc-container { gap: 20px; }
  .bc-entity-image,
  .bc-service-intro__image { height: 240px; }
  .bc-entity-media,
  .bc-service-intro__media { border-radius: 18px; }
  .bc-service-intro { gap: 20px; }
  .bc-grid-card__media { height: 220px; }
  .bc-grid-card__body { padding: 18px; }
  .bc-grid-card h3 { font-size: 1.2rem; }
  .bc-feature-card:has(.bc-related-card__image) > a { padding: 16px; }
  .bc-feature-card .bc-related-card__image { height: 220px; }
  .bc-mini-card .bc-related-card__image { height: 210px; }
}
