/* ============================================================
   RMT — Responsive
============================================================ */

@media screen and (max-width: 1200px) {
    .banner-wrap .owl-item .banner-item .banner-content h5.heading {
        font-size: 36px;
    }
    .banner-wrap .banner-item .banner-inner {
        max-width: 540px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {

    /* Home Page Banner */
    .banner-wrap,
    .banner-wrap .banner-item {
        height: 75vh;
        min-height: 540px;
    }

    .banner-wrap .banner-item .banner-content {
        padding: 0 6%;
    }

    .banner-wrap .banner-item .banner-inner {
        max-width: 500px;
        padding-left: 22px;
    }

    .banner-wrap .owl-item .banner-item .banner-content h5.heading {
        font-size: 32px;
        line-height: 1.15;
        margin-bottom: 18px;
    }

    .banner-wrap .owl-item .banner-item .banner-content p.sub-heading {
        font-size: 15px;
        margin-bottom: 28px;
    }

    .banner-wrap .owl-dots {
        bottom: 40px;
        left: calc(6% + 22px);
    }

    .banner-wrap .owl-nav {
        right: 6%;
        bottom: 60px;
    }

    .banner-wrap .owl-nav button {
        padding: 20px !important;
    }

    /* Home Features */
    .home-features {
        padding: 80px 6%;
    }
    .home-features__heading {
        font-size: 32px;
    }
    .home-features__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Home Industries — tablet bento */
    .home-industries {
        padding: 80px 6%;
    }
    .home-industries__heading {
        font-size: 32px;
    }
    .home-industries__grid {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 260px 220px 220px;
        gap: 14px;
    }
    .home-industries__tile--hero        { grid-column: 1 / 5; grid-row: 1; }
    .home-industries__tile--wide-top    { grid-column: 1 / 3; grid-row: 2; }
    .home-industries__tile--small-top   { grid-column: 3 / 5; grid-row: 2; }
    .home-industries__tile--small-bottom{ grid-column: 1 / 3; grid-row: 3; }
    .home-industries__tile--wide-bottom { grid-column: 3 / 5; grid-row: 3; }
    .home-industries__tile--hero .home-industries__name { font-size: 28px; }

    /* Home Process — tablet 2x2 */
    .home-process {
        padding: 80px 6%;
    }
    .home-process__heading {
        font-size: 32px;
    }
    .home-process__track {
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
    }
    .home-process__step:nth-child(2) .home-process__connector,
    .home-process__step:nth-child(4) .home-process__connector {
        display: none;
    }
    .home-process__connector {
        right: -22px;
        width: 22px;
    }

    /* Clients */
    .clients .client-item .image {
        height: 100px;
        padding: 18px;
    }

    /* Products Page — tabs + category card tighten up */
    .products-tabs__nav {
        padding: 6px;
        gap: 6px;
        margin-bottom: 24px;
    }
    .products-tabs__btn {
        padding: 9px 14px;
        font-size: 12.5px;
    }
    .product-cat-card {
        padding: 22px 22px 18px;
    }
    .product-cat-card__title {
        font-size: 22px;
    }
    .p-card__img {
        height: 170px;
        padding: 16px;
    }
}

/* Mobile / tablet — Sectors dropdown collapses to inline accordion
   (HFE & Elementor hamburger menus typically kick in at ≤1024px) */
@media screen and (max-width: 1024px) {
    .header .sub-menu,
    .header ul.sub-menu,
    .header .hfe-sub-menu,
    .header .elementor-nav-menu .sub-menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        /* overflow left untouched so HFE's collapse mechanism works */
    }

    /* Hide the pointer triangle — only makes sense on the floating desktop card */
    .header .sub-menu::before {
        display: none !important;
    }

    /* Inline items — indent via the item's own padding so the container
       contributes zero box when the submenu is collapsed */
    .header .sub-menu li a {
        padding: 9px 16px 9px 30px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .header .sub-menu li a::before {
        display: none !important;
    }

    .header .sub-menu li a:hover,
    .header .sub-menu li a:focus {
        padding-left: 36px !important;
        background: transparent !important;
        color: var(--rmt-gold) !important;
    }

    .header .sub-menu li.current-menu-item > a,
    .header .sub-menu li.current_page_item > a {
        background: transparent !important;
        color: var(--rmt-gold) !important;
    }
}

@media screen and (max-width: 767px) {

    /* Page banner heading — smaller on mobile */
    .page-heading h2,
    .page-banner .page-container .page-heading h2,
    .page-heading {
        font-size: 28px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.3px !important;
    }

    /* Sticky header on mobile */
    .header {
        position: sticky !important;
        top: 0;
        left: 0;
        z-index: 9999;
        width: 100%;
        background: #ffffff;
        transition: box-shadow 0.35s var(--rmt-ease),
                    background 0.35s var(--rmt-ease),
                    backdrop-filter 0.35s var(--rmt-ease);
    }

    .header.sticky {
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 6px 22px rgba(21, 52, 98, 0.10);
        backdrop-filter: saturate(180%) blur(10px);
        -webkit-backdrop-filter: saturate(180%) blur(10px);
    }


    /* Home Page Banner */
    .banner-wrap,
    .banner-wrap .banner-item {
        height: auto;
        min-height: 580px;
    }

    .banner-wrap .banner-item .image::before {
        background:
            linear-gradient(180deg, rgba(8, 22, 44, 0.25) 0%, rgba(8, 22, 44, 0.50) 55%, rgba(8, 22, 44, 0.78) 100%);
    }

    .banner-wrap .banner-item .banner-content {
        padding: 0 6% 110px;
        align-items: flex-end;
    }

    .banner-wrap .banner-item .banner-inner {
        max-width: 100%;
        padding-left: 18px;
    }

    .banner-wrap .owl-item.active .banner-item .banner-accent,
    .banner-wrap .slick-active .banner-item .banner-accent {
        height: 68%;
    }

    .banner-wrap .banner-item .banner-tag {
        gap: 10px;
        margin-bottom: 14px;
    }

    .banner-wrap .banner-item .banner-tag .banner-tag__line {
        width: 22px;
    }

    .banner-wrap .owl-item .banner-item .banner-content h6.main-heading {
        font-size: 10.5px;
        letter-spacing: 2.4px;
    }

    .banner-wrap .banner-item .banner-content h5.heading {
        font-size: 26px !important;
        line-height: 1.2 !important;
        width: 100% !important;
        margin-bottom: 14px !important;
        letter-spacing: -0.3px !important;
    }

    .banner-wrap .banner-item .banner-content p.sub-heading {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
        margin-bottom: 22px !important;
        color: rgba(255, 255, 255, 0.82) !important;
    }

    .banner-wrap .banner-item .banner-cta {
        font-size: 12px;
        letter-spacing: 1.4px;
        gap: 12px;
    }

    .banner-wrap .banner-item .banner-cta::before {
        width: 46px;
    }

    .banner-wrap .banner-item .banner-cta__arrow {
        width: 18px;
    }

    .banner-wrap .owl-dots {
        bottom: 30px;
        left: calc(6% + 18px);
        gap: 8px;
    }

    .banner-wrap .owl-dots button.owl-dot {
        width: 28px;
    }

    .banner-wrap .owl-dots button.owl-dot.active {
        width: 46px;
    }

    .banner-wrap .owl-nav {
        bottom: 56px;
        right: 6%;
        gap: 8px;
    }

    .banner-wrap .owl-nav button {
        padding: 18px !important;
    }

    .banner-wrap .owl-nav button::before {
        font-size: 12px;
    }

    /* Clients */
    .clients .client-item .image {
        height: 90px;
        padding: 16px;
        margin: 6px;
    }

    .clients.clients-grid {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }

    /* Products — tab bar becomes horizontal scroller */
    .products-tabs__nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 6px;
        gap: 5px;
        margin-bottom: 18px;
        scrollbar-width: thin;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    .products-tabs__btn {
        flex: 0 0 auto;
        padding: 8px 14px;
        font-size: 12px;
        scroll-snap-align: start;
    }
    .products-tabs__count {
        min-width: 20px;
        height: 18px;
        font-size: 9.5px;
    }

    /* Products — category cards */
    .product-cat-card {
        padding: 18px 18px 16px;
        border-radius: 12px;
    }
    .product-cat-card__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-bottom: 14px;
        margin-bottom: 16px;
    }
    .product-cat-card__title {
        font-size: 19px;
    }
    .p-card__img {
        height: 150px;
        padding: 14px;
    }
    .p-card__title {
        font-size: 13.5px;
        margin: 12px 14px 14px;
    }

    /* Industries / Product nav */
    .industries-carousel.owl-carousel .owl-nav button,
    .product-cat-card__carousel .owl-nav button {
        width: 44px;
        height: 44px;
        margin: 14px 4px;
    }

    /* Home Industries — mobile stack */
    .home-industries {
        padding: 64px 6%;
    }
    .home-industries__header {
        margin-bottom: 40px;
    }
    .home-industries__heading {
        font-size: 26px;
        letter-spacing: -0.3px;
    }
    .home-industries__intro {
        font-size: 14px;
    }
    .home-industries__grid {
        grid-template-columns: 1fr;
        grid-template-rows: 280px 200px 200px 200px 200px;
        gap: 12px;
    }
    .home-industries__tile--hero        { grid-column: 1; grid-row: 1; }
    .home-industries__tile--wide-top    { grid-column: 1; grid-row: 2; }
    .home-industries__tile--small-top   { grid-column: 1; grid-row: 3; }
    .home-industries__tile--small-bottom{ grid-column: 1; grid-row: 4; }
    .home-industries__tile--wide-bottom { grid-column: 1; grid-row: 5; }
    .home-industries__tile--hero .home-industries__name { font-size: 24px; }
    .home-industries__name { font-size: 19px; }
    .home-industries__content { left: 22px; right: 22px; bottom: 22px; }
    /* On mobile, reveal description by default — no hover available */
    .home-industries__desc {
        max-height: 80px;
        opacity: 1;
        margin-top: 10px;
        font-size: 13px;
    }
    .home-industries__cta {
        opacity: 1;
        transform: translateY(0);
        font-size: 11px;
    }
    .home-industries__accent {
        transform: scaleX(1);
    }

    /* Home Process — mobile vertical timeline */
    .home-process {
        padding: 64px 6%;
    }
    .home-process__header {
        margin-bottom: 40px;
    }
    .home-process__heading {
        font-size: 26px;
        letter-spacing: -0.3px;
    }
    .home-process__intro {
        font-size: 14px;
    }
    .home-process__track {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .home-process__step {
        padding: 26px 22px 24px;
    }
    .home-process__icon {
        width: 52px;
        height: 52px;
        font-size: 19px;
        margin-bottom: 18px;
    }
    .home-process__title { font-size: 17px; }
    .home-process__desc { font-size: 13px; }
    .home-process__num { font-size: 32px; top: 18px; right: 20px; }
    /* Flip connector to vertical, sit between cards */
    .home-process__connector {
        top: auto;
        right: 50%;
        bottom: -16px;
        transform: translateX(50%);
        width: 2px;
        height: 16px;
        background-image: linear-gradient(180deg, var(--rmt-gold) 50%, transparent 50%);
        background-size: 2px 8px;
        background-repeat: repeat-y;
    }
    .home-process__step:nth-child(2) .home-process__connector,
    .home-process__step:nth-child(4) .home-process__connector {
        display: block;
    }

    /* Home Features */
    .home-features {
        padding: 64px 6%;
    }
    .home-features__header {
        margin-bottom: 40px;
    }
    .home-features__heading {
        font-size: 26px;
        letter-spacing: -0.3px;
    }
    .home-features__intro {
        font-size: 14px;
    }
    .home-features__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .home-features__card {
        padding: 28px 22px 26px;
    }
    .home-features__icon {
        width: 48px;
        height: 48px;
        font-size: 18px;
        margin-bottom: 18px;
    }
    .home-features__title {
        font-size: 16px;
    }
    .home-features__desc {
        font-size: 13px;
    }
    .home-features__num {
        top: 18px;
        right: 20px;
        font-size: 12px;
    }

    /* Contact Form */
    .form-submit .basic-details div {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {

    .banner-wrap,
    .banner-wrap .banner-item {
        min-height: 540px;
    }

    .banner-wrap .banner-item .banner-content h5.heading {
        font-size: 23px !important;
        line-height: 1.22 !important;
    }

    .banner-wrap .banner-item .banner-content p.sub-heading {
        font-size: 13px !important;
    }
}
