@media (max-width: 1100px) {
    .site-nav {
        gap: 17px;
        font-size: 0.82rem;
    }

    .hero-grid,
    .inner-hero-grid {
        gap: 50px;
    }

    .hero-badge {
        right: -12px;
    }

    .service-grid,
    .service-directory,
    .service-list-grid,
    .contact-office-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-grid,
    .value-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-grid li {
        border: 1px solid var(--line);
        border-radius: var(--radius-md) !important;
    }

    .office-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .safety-grid {
        grid-template-columns: auto 1fr;
    }

    .safety-list {
        grid-column: 1 / -1;
    }

    .article-grid {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 50px;
    }

    .province-block {
        grid-template-columns: 0.3fr 1fr;
    }

    .province-children {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 860px) {
    .container,
    .narrow-container {
        width: min(100% - 36px, 720px);
    }

    .section {
        padding: 80px 0;
    }

    .utility-inner span {
        display: none;
    }

    .utility-inner {
        justify-content: center;
    }

    .header-inner {
        min-height: 74px;
    }

    .brand {
        width: 160px;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        padding: 10px 13px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: var(--white);
        color: var(--navy-900);
        font-size: 0.76rem;
        font-weight: 800;
        gap: 10px;
    }

    .menu-lines,
    .menu-lines::before,
    .menu-lines::after {
        display: block;
        width: 16px;
        height: 2px;
        background: var(--navy-900);
        content: "";
    }

    .menu-lines {
        position: relative;
    }

    .menu-lines::before {
        position: absolute;
        top: -5px;
    }

    .menu-lines::after {
        position: absolute;
        top: 5px;
    }

    .site-nav {
        position: fixed;
        top: 110px;
        right: 18px;
        left: 18px;
        display: none;
        align-items: stretch;
        padding: 22px;
        border: 1px solid var(--line);
        border-radius: var(--radius-md);
        background: var(--white);
        box-shadow: var(--shadow);
        flex-direction: column;
        gap: 0;
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav > a:not(.nav-cta) {
        padding: 13px 4px;
        border-bottom: 1px solid var(--line);
    }

    .site-nav > a:not(.nav-cta)::after {
        display: none;
    }

    .nav-cta {
        margin-top: 14px;
        text-align: center;
    }

    .hero {
        padding: 65px 0;
    }

    .hero-grid,
    .inner-hero-grid,
    .split-heading,
    .about-layout,
    .sources-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .hero-copy {
        order: 1;
    }

    .hero-visual {
        order: 2;
        max-width: 580px;
    }

    .hero-badge {
        right: 15px;
    }

    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-grid > div,
    .trust-grid > div:first-child {
        border: 1px solid var(--line);
    }

    .equipment-row,
    .office-grid,
    .region-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .fast-quote {
        grid-template-columns: 1fr;
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .article-aside {
        display: none;
    }

    .about-layout aside,
    .sources-layout > aside {
        position: static;
    }

    .equipment-detail-card {
        grid-template-columns: 1fr;
    }

    .equipment-detail-card:nth-child(even) .equipment-detail-image {
        order: 0;
    }

    .equipment-detail-image img {
        max-height: 470px;
    }

    .province-block {
        grid-template-columns: 1fr;
    }

    .faq-list {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    body {
        font-size: 15px;
    }

    .container,
    .narrow-container {
        width: calc(100% - 28px);
    }

    .section {
        padding: 64px 0;
    }

    .breadcrumb-wrap {
        overflow-x: auto;
    }

    .breadcrumbs {
        width: max-content;
        min-width: 100%;
        padding-right: 14px;
        padding-left: 14px;
    }

    .hero h1,
    .inner-hero h1 {
        font-size: clamp(2.45rem, 13vw, 3.5rem);
    }

    .hero-lead,
    .inner-hero p {
        font-size: 0.94rem;
    }

    .hero-actions,
    .fast-quote-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .button {
        width: 100%;
    }

    .hero-checks {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .hero-image-caption {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .hero-badge {
        right: 8px;
        bottom: 90px;
        padding: 13px 16px;
    }

    .trust-grid,
    .service-grid,
    .process-grid,
    .equipment-row,
    .office-grid,
    .region-card-grid,
    .service-list-grid,
    .value-grid,
    .contact-office-grid,
    .service-directory,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .trust-grid > div {
        min-height: 78px;
    }

    .service-card {
        min-height: 285px;
    }

    .split-heading {
        gap: 18px;
    }

    .safety-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .safety-mark {
        width: 110px;
        height: 110px;
        font-size: 2.5rem;
    }

    .fast-quote {
        padding: 32px 24px;
        border-radius: var(--radius-md);
    }

    .inner-hero {
        padding: 60px 0;
    }

    .fact-panel,
    .location-card,
    .contact-panel,
    .region-map-card,
    .source-principle,
    .hero-quote {
        padding: 26px;
    }

    .about-facts {
        grid-template-columns: 1fr;
    }

    .equipment-hero-stack {
        height: 320px;
    }

    .equipment-hero-stack img {
        width: 220px;
    }

    .equipment-detail-copy {
        padding: 28px 22px;
    }

    .equipment-detail-copy h2 {
        font-size: 1.9rem;
    }

    .equipment-detail-copy dl {
        grid-template-columns: 1fr;
    }

    .equipment-safety-note {
        grid-template-columns: 1fr;
    }

    .category-heading {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .province-children {
        grid-template-columns: 1fr;
    }

    .article-section p,
    .local-content p,
    .about-copy p,
    .seo-note-section p {
        font-size: 0.94rem;
        line-height: 1.85;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

}

@media (max-width: 768px) {
    body {
        padding-bottom: 98px;
    }

    .sticky-contact {
        display: flex;
    }

    .contact-btn {
        gap: 8px;
        padding: 16px 15px;
        font-size: 0.875rem;
    }

    .btn-icon {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 480px) {
    .contact-btn {
        gap: 6px;
        padding: 14px 10px;
        font-size: 0.75rem;
    }

    .btn-icon {
        width: 18px;
        height: 18px;
    }
}
