@media (max-width: 1100px) {
  :root { --container: min(100% - 34px, 960px); }
  .nav { gap: 18px; }
  .header-cta { display: none; }
  .brand img { width: 185px; }
  .feature-grid { grid-template-columns: repeat(2,1fr); }
  .values-grid { grid-template-columns: repeat(3,1fr); }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .sector-grid { grid-template-columns: repeat(2,1fr); }
  .footer-main { grid-template-columns: 1.2fr .8fr 1fr; }
  .footer-main > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  :root { --container: min(100% - 30px, 720px); }
  .section { padding: 76px 0; }
  .section-sm { padding: 58px 0; }
  .topbar { display: none; }
  .navbar { min-height: 72px; }
  .brand img { width: 188px; height: 62px; }
  .menu-toggle { display: grid; }
  .nav-wrap {
    position: fixed;
    z-index: 1400;
    top: 72px;
    right: 0;
    bottom: 0;
    width: min(380px, 88vw);
    padding: 18px 24px 40px;
    overflow-y: auto;
    background: var(--white);
    box-shadow: -20px 20px 50px rgba(3,31,66,.18);
    transform: translateX(104%);
    transition: transform .35s ease;
  }
  .nav-wrap.open { transform: none; }
  .nav { display: block; }
  .nav > li { border-bottom: 1px solid var(--line); }
  .nav > li > a, .nav-trigger { width: 100%; justify-content: space-between; padding: 16px 4px; font-size: .92rem; }
  .nav > li > a::after, .nav-trigger::after { display: none; }
  .submenu {
    position: static;
    width: 100%;
    max-height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: max-height .35s ease, padding .35s ease;
  }
  .has-submenu:hover .submenu { max-height: 0; padding: 0; }
  .has-submenu.open .submenu, .has-submenu.open:hover .submenu { max-height: 420px; padding: 0 0 12px; }
  .has-submenu.open .nav-trigger i { transform: rotate(180deg); }
  .nav-overlay { position: fixed; z-index: 1300; inset: 72px 0 0; background: rgba(3,18,39,.58); opacity: 0; visibility: hidden; transition: .3s ease; }
  .nav-overlay.show { opacity: 1; visibility: visible; }
  .hero, .hero__content { min-height: 650px; }
  .hero__content { padding-bottom: 120px; }
  .hero-slide::after { background: linear-gradient(90deg, rgba(3,23,49,.94), rgba(3,31,66,.72)); }
  .hero-stats { grid-template-columns: 1fr; margin-top: 0; border-radius: 0; width: 100%; box-shadow: none; }
  .hero-stat { width: var(--container); min-height: 94px; margin-inline: auto; padding-inline: 0; }
  .hero-stat:not(:last-child)::after { top: auto; right: 0; bottom: 0; left: 0; width: 100%; height: 1px; }
  .split, .category-panel, .maintenance-highlight, .contact-grid { grid-template-columns: 1fr; }
  .split.reverse .split__media, .category-panel.reverse .category-panel__media { order: 0; }
  .split__media img { min-height: 420px; }
  .category-panel__media { min-height: 360px; }
  .tab-panel { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .process { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .process::before { display: none; }
  .gallery-grid { grid-template-columns: repeat(2,1fr); }
  .clients { grid-template-columns: repeat(3,1fr); }
  .client-logo:nth-child(3) { border-right: 0; }
  .client-logo:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .cta-strip__inner { display: block; }
  .cta-strip .btn-row { margin-top: 26px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-main > div:last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  :root { --container: calc(100% - 26px); --radius: 17px; }
  .section { padding: 64px 0; }
  .section-sm { padding: 50px 0; }
  .section-title { margin-bottom: 35px; }
  .section-title h2 { font-size: 2rem; }
  .navbar { min-height: 68px; }
  .brand img { width: 162px; height: 58px; }
  .nav-wrap { top: 68px; }
  .nav-overlay { inset: 68px 0 0; }
  .hero, .hero__content { min-height: 625px; }
  .hero__content { padding: 66px 0 125px; align-items: center; }
  .hero__copy h1 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
  .hero__copy p { font-size: .95rem; }
  .hero__locations { font-size: .7rem; gap: 8px 14px; }
  .hero__locations span:not(:last-child)::after { display: none; }
  .slider-controls { right: 14px; bottom: 58px; }
  .slider-dots { left: 14px; bottom: 75px; }
  .slider-arrow { width: 42px; height: 42px; }
  .btn-row { display: grid; grid-template-columns: 1fr; }
  .btn { width: 100%; }
  .inner-hero { min-height: 330px; }
  .inner-hero__content { padding: 60px 0; }
  .inner-hero h1 { font-size: 2.4rem; }
  .services-grid, .feature-grid, .sector-grid, .division-grid, .values-grid, .stats-grid, .gallery-grid { grid-template-columns: 1fr; }
  .service-card__body p { min-height: 0; }
  .split { gap: 38px; }
  .split__media img { min-height: 340px; }
  .split__badge { right: 12px; bottom: 16px; }
  .check-list.two, .icon-list, .form-grid { grid-template-columns: 1fr; }
  .category-panel__media { min-height: 280px; }
  .category-panel__content { padding: 30px 23px; }
  .tab-buttons { grid-template-columns: 1fr; }
  .tab-btn { padding: 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .tab-panel { padding: 24px 20px; }
  .tab-panel img { height: 245px; }
  .process { grid-template-columns: 1fr; }
  .process-step { display: grid; grid-template-columns: 58px 1fr; column-gap: 15px; text-align: left; }
  .process-step__num { grid-row: 1 / span 2; width: 55px; height: 55px; border-width: 5px; }
  .process-step p { margin: 0; }
  .gallery-item { height: 260px; }
  .clients { grid-template-columns: repeat(2,1fr); }
  .client-logo:nth-child(3) { border-right: 1px solid var(--line); }
  .client-logo:nth-child(2n) { border-right: 0; }
  .client-logo:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .contact-form, .contact-panel { padding: 25px 20px; }
  .coverage-map { min-height: 290px; }
  .map-pin:nth-child(1) { top: 20%; left: 44%; }
  .map-pin:nth-child(2) { top: 42%; left: 12%; }
  .map-pin:nth-child(3) { top: 62%; left: 51%; }
  .map-pin:nth-child(4) { top: 77%; left: 27%; }
  .cta-strip { padding: 55px 0; }
  .footer-main { grid-template-columns: 1fr; padding-top: 60px; }
  .footer-bottom { display: block; text-align: center; }
  .footer-bottom__links { justify-content: center; margin-top: 10px; }
  .float-btn--call { display: grid; }
  .back-to-top { right: 26px; bottom: 161px; }
  .floating-actions { right: 17px; bottom: 17px; }
  .float-btn { width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
