/* =========================================================
   injectionmoldingmachine.co
   GLOBAL FOUNDATION
========================================================= */

:root {

    --imm-dark:
        #07111f;

    --imm-dark-2:
        #0d1d30;

    --imm-text:
        #16263b;

    --imm-muted:
        #718096;

    --imm-line:
        #e4e9ef;

    --imm-bg:
        #f6f8fb;

    --imm-white:
        #ffffff;

    --imm-accent:
        #ff5a36;

    --imm-accent-dark:
        #e74726;

    --imm-green:
        #1dbb70;

}


* {
    box-sizing:
        border-box;
}


html {
    scroll-behavior:
        smooth;
}


body {

    margin: 0;

    background:
        var(--imm-white);

    color:
        var(--imm-text);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    -webkit-font-smoothing:
        antialiased;

}


img {
    max-width: 100%;
}


a {
    transition:
        .2s ease;
}


/* =========================================================
   UTILITY BAR
========================================================= */

.imm-utility-bar {

    min-height:
        34px;

    display:
        flex;

    align-items:
        center;

    background:
        var(--imm-dark);

    color:
        rgba(255, 255, 255, .65);

    font-size:
        10px;

}


.imm-utility-inner {

    min-height:
        34px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

}


.imm-utility-contact {

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

}


.imm-utility-contact a {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    color:
        rgba(255, 255, 255, .63);

    text-decoration:
        none;

}


.imm-utility-contact a:hover {

    color:
        #fff;

}


.imm-made-in {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        #fff;

    font-weight:
        700;

}


.imm-status-dot {

    width:
        7px;

    height:
        7px;

    border-radius:
        50%;

    background:
        var(--imm-green);

    box-shadow:
        0 0 0 4px rgba(29, 187, 112, .11);

}


.imm-utility-right {

    display:
        flex;

    align-items:
        center;

    gap:
        19px;

}


.imm-wechat strong {

    color:
        #fff;

    font-weight:
        700;

}


/* =========================================================
   LANGUAGE SWITCHER
========================================================= */

.imm-lang-switcher {

    position:
        relative;

}


.imm-lang-button {

    height:
        34px;

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    padding:
        0 9px;

    border:
        0;

    background:
        transparent;

    color:
        #fff;

    font-size:
        9px;

    font-weight:
        800;

    cursor:
        pointer;

}


.imm-lang-button .fa-chevron-down {

    font-size:
        6px;

}


.imm-lang-menu {

    position:
        absolute;

    z-index:
        1000;

    top:
        calc(100% + 8px);

    inset-inline-end:
        0;

    min-width:
        150px;

    visibility:
        hidden;

    opacity:
        0;

    transform:
        translateY(-5px);

    padding:
        6px;

    border:
        1px solid var(--imm-line);

    border-radius:
        10px;

    background:
        #fff;

    box-shadow:
        0 15px 40px rgba(15, 23, 42, .14);

    transition:
        .2s ease;

}


.imm-lang-switcher:hover .imm-lang-menu,
.imm-lang-switcher.open .imm-lang-menu {

    visibility:
        visible;

    opacity:
        1;

    transform:
        translateY(0);

}


.imm-lang-menu a {

    display:
        block;

    padding:
        9px 11px;

    border-radius:
        7px;

    color:
        #506075;

    text-decoration:
        none;

    font-size:
        10px;

    font-weight:
        700;

}


.imm-lang-menu a:hover,
.imm-lang-menu a.active {

    background:
        var(--imm-bg);

    color:
        var(--imm-accent);

}


/* =========================================================
   MAIN HEADER
========================================================= */

.imm-header {

    position:
        sticky;

    z-index:
        900;

    top:
        0;

    border-bottom:
        1px solid rgba(15, 23, 42, .07);

    background:
        rgba(255, 255, 255, .97);

    backdrop-filter:
        blur(14px);

}


.imm-header-inner {

    min-height:
        82px;

    display:
        flex;

    align-items:
        center;

    gap:
        45px;

}


.imm-brand {

    flex:
        0 0 auto;

    display:
        flex;

    align-items:
        center;

    text-decoration:
        none;

}


.imm-brand img {

    width:
        auto;

    max-width:
        190px;

    height:
        54px;

    object-fit:
        contain;

}


/* =========================================================
   NAV
========================================================= */

.imm-main-nav {

    flex:
        1;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        clamp(18px,
            2.3vw,
            38px);

}


.imm-main-nav>a {

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    min-height:
        82px;

    color:
        #304158;

    text-decoration:
        none;

    font-size:
        11px;

    font-weight:
        750;

}


.imm-main-nav>a::after {

    content:
        "";

    position:
        absolute;

    inset-inline-start:
        0;

    bottom:
        0;

    width:
        0;

    height:
        3px;

    background:
        var(--imm-accent);

    transition:
        width .25s ease;

}


.imm-main-nav>a:hover {

    color:
        var(--imm-dark);

}


.imm-main-nav>a:hover::after {

    width:
        100%;

}


/* MACHINE NAV */

.imm-machines-link {

    flex-direction:
        column;

    justify-content:
        center;

    align-items:
        flex-start !important;

    gap:
        1px;

}


.imm-machines-link span {

    color:
        var(--imm-dark);

    font-size:
        12px;

    font-weight:
        850;

}


.imm-machines-link small {

    color:
        var(--imm-accent);

    font-size:
        7px;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

}


/* =========================================================
   HEADER ACTIONS
========================================================= */

.imm-header-actions {

    display:
        flex;

    align-items:
        center;

    gap:
        9px;

}


.imm-machine-selector {

    min-height:
        42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    padding:
        0 14px;

    border:
        1px solid var(--imm-line);

    border-radius:
        8px;

    color:
        #304158;

    text-decoration:
        none;

    font-size:
        9px;

    font-weight:
        800;

}


.imm-machine-selector i {

    color:
        var(--imm-accent);

}


.imm-machine-selector:hover {

    border-color:
        var(--imm-dark);

    color:
        var(--imm-dark);

}


.imm-rfq-button {

    min-height:
        42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    padding:
        0 17px;

    border-radius:
        8px;

    background:
        var(--imm-accent);

    color:
        #fff;

    text-decoration:
        none;

    font-size:
        9px;

    font-weight:
        850;

    box-shadow:
        0 8px 20px rgba(255, 90, 54, .18);

}


.imm-rfq-button:hover {

    background:
        var(--imm-accent-dark);

    color:
        #fff;

    transform:
        translateY(-1px);

}


/* =========================================================
   PROOF STRIP
========================================================= */

.imm-proof-strip {

    border-bottom:
        1px solid var(--imm-line);

    background:
        #f8fafc;

}


.imm-proof-inner {

    min-height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        23px;

    overflow:
        hidden;

    color:
        #7b8796;

    font-size:
        8px;

    white-space:
        nowrap;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;

}


.imm-proof-inner span {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

}


.imm-proof-inner strong {

    color:
        #27394f;

    font-size:
        9px;

}


.imm-proof-inner>i {

    width:
        3px;

    height:
        3px;

    flex:
        0 0 auto;

    border-radius:
        50%;

    background:
        var(--imm-accent);

}


/* =========================================================
   MOBILE
========================================================= */

.imm-mobile-actions {

    display:
        none;

}


.imm-mobile-whatsapp {

    width:
        40px;

    height:
        40px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        9px;

    background:
        #25d366;

    color:
        #fff;

    text-decoration:
        none;

    font-size:
        18px;

}


.imm-menu-button {

    width:
        42px;

    height:
        42px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        4px;

    border:
        0;

    border-radius:
        9px;

    background:
        var(--imm-dark);

}


.imm-menu-button span {

    width:
        17px;

    height:
        2px;

    border-radius:
        999px;

    background:
        #fff;

}


/* =========================================================
   OFFCANVAS
========================================================= */

.imm-mobile-menu {

    width:
        min(390px,
            92vw) !important;

    border:
        0 !important;

    background:
        #fff;

}


.imm-mobile-menu-head {

    min-height:
        78px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        12px 20px;

    border-bottom:
        1px solid var(--imm-line);

}


.imm-mobile-logo img {

    width:
        auto;

    height:
        48px;

    object-fit:
        contain;

}


.imm-mobile-close {

    width:
        40px;

    height:
        40px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        0;

    border-radius:
        50%;

    background:
        var(--imm-bg);

    color:
        var(--imm-dark);

}


.imm-mobile-menu-body {

    padding:
        23px 20px 30px !important;

}


.imm-mobile-menu-label,
.imm-mobile-section-title {

    display:
        block;

    margin-bottom:
        10px;

    color:
        #99a3af;

    font-size:
        8px;

    font-weight:
        850;

    letter-spacing:
        .11em;

    text-transform:
        uppercase;

}


.imm-mobile-nav {

    border-top:
        1px solid var(--imm-line);

}


.imm-mobile-nav a {

    min-height:
        61px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    border-bottom:
        1px solid var(--imm-line);

    color:
        #1d2e44;

    text-decoration:
        none;

    font-size:
        13px;

    font-weight:
        800;

}


.imm-mobile-nav a span {

    display:
        flex;

    align-items:
        center;

    gap:
        13px;

}


.imm-mobile-nav small {

    color:
        #adb5c0;

    font-size:
        7px;

}


.imm-mobile-nav>a>i {

    color:
        var(--imm-accent);

    font-size:
        9px;

}


html[dir="rtl"] .imm-mobile-nav>a>i {

    transform:
        rotate(180deg);

}


.imm-mobile-section {

    margin-top:
        27px;

}


.imm-mobile-languages {

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap:
        6px;

}


.imm-mobile-languages a {

    min-height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid var(--imm-line);

    border-radius:
        8px;

    color:
        #536277;

    text-decoration:
        none;

    font-size:
        9px;

    font-weight:
        750;

}


.imm-mobile-languages a.active {

    border-color:
        var(--imm-dark);

    background:
        var(--imm-dark);

    color:
        #fff;

}


.imm-mobile-contact {

    display:
        flex;

    flex-direction:
        column;

    gap:
        8px;

}


.imm-mobile-contact a {

    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    color:
        #57677c;

    text-decoration:
        none;

    font-size:
        10px;

}


.imm-mobile-contact i {

    width:
        18px;

    color:
        var(--imm-accent);

}


.imm-mobile-rfq {

    min-height:
        51px;

    margin-top:
        28px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        0 17px;

    border-radius:
        9px;

    background:
        var(--imm-accent);

    color:
        #fff;

    text-decoration:
        none;

    font-size:
        10px;

    font-weight:
        850;

}


.imm-mobile-rfq:hover {

    color:
        #fff;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .imm-header-inner {

        gap:
            24px;

    }


    .imm-main-nav {

        gap:
            18px;

    }


    .imm-machine-selector {

        display:
            none;

    }

}


/* =========================================================
   MOBILE / TABLET NAV
========================================================= */

@media (max-width: 991px) {

    .imm-utility-bar {

        display:
            none;

    }


    .imm-main-nav,
    .imm-header-actions {

        display:
            none;

    }


    .imm-mobile-actions {

        margin-inline-start:
            auto;

        display:
            flex;

        align-items:
            center;

        gap:
            7px;

    }


    .imm-header-inner {

        min-height:
            70px;

    }


    .imm-brand img {

        max-width:
            155px;

        height:
            46px;

    }


    .imm-proof-inner {

        justify-content:
            flex-start;

        overflow-x:
            auto;

        scrollbar-width:
            none;

    }


    .imm-proof-inner::-webkit-scrollbar {

        display:
            none;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .imm-header-inner {

        min-height:
            65px;

    }


    .imm-brand img {

        max-width:
            130px;

        height:
            42px;

    }


    .imm-mobile-whatsapp {

        width:
            38px;

        height:
            38px;

    }


    .imm-menu-button {

        width:
            40px;

        height:
            40px;

    }


    .imm-proof-inner {

        min-height:
            34px;

        gap:
            18px;

    }

}


/* =========================================================
   HOME PAGE
========================================================= */

.imm-home {
    overflow: hidden;
}


/* =========================================================
   SHARED
========================================================= */

.imm-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--imm-accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.imm-section-kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor;
}

.imm-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
    gap: 70px;
    align-items: end;
    margin-bottom: 34px;
}

.imm-section-head h2,
.imm-why-intro h2,
.imm-guide-heading h2,
.imm-factory-copy h2,
.imm-rfq-shell h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(31px, 4vw, 51px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.045em;
}

.imm-section-head>p,
.imm-section-head-action p {
    margin: 0;
    color: var(--imm-muted);
    font-size: 12px;
    line-height: 1.85;
}

.imm-section-head-action a,
.imm-text-link,
.imm-card-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--imm-text);
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
}

.imm-section-head-action a {
    margin-top: 13px;
}

.imm-section-head-action a i,
.imm-text-link i,
.imm-card-link i {
    color: var(--imm-accent);
    font-size: 8px;
}

.imm-section-head-light h2,
.imm-section-head-light>p,
.imm-section-head-light .imm-section-head-action p {
    color: #fff;
}

.imm-section-head-light>p,
.imm-section-head-light .imm-section-head-action p {
    color: rgba(255, 255, 255, .55);
}

.imm-section-head-light .imm-section-head-action a {
    color: #fff;
}

.imm-btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 21px;
    border-radius: 9px;
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
    transition: .2s ease;
}

.imm-btn:hover {
    transform: translateY(-2px);
}

.imm-btn-primary {
    background: var(--imm-accent);
    color: #fff;
    box-shadow: 0 10px 25px rgba(255, 90, 54, .20);
}

.imm-btn-primary:hover {
    background: var(--imm-accent-dark);
    color: #fff;
}

.imm-btn-dark {
    background: var(--imm-dark);
    color: #fff;
}

.imm-btn-dark:hover {
    color: #fff;
}

.imm-btn-whatsapp {
    background: #25d366;
    color: #fff;
}

.imm-btn-whatsapp:hover {
    color: #fff;
}


/* =========================================================
   HERO
========================================================= */

.imm-home-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 34%, rgba(255, 90, 54, .12), transparent 26%),
        linear-gradient(135deg, #f7f9fc 0%, #fff 54%, #f4f6f9 100%);
}

.imm-home-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .35;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(12, 28, 48, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(12, 28, 48, .035) 1px, transparent 1px);
    background-size: 56px 56px;
}

.imm-home-hero-layout {
    position: relative;
    z-index: 2;
    min-height: 590px;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
    gap: 40px;
    align-items: center;
    padding: 70px 0 78px;
}

.imm-home-hero-content {
    max-width: 700px;
}

.imm-home-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--imm-accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.imm-home-eyebrow span {
    width: 29px;
    height: 2px;
    background: currentColor;
}

.imm-home-hero h1 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(43px, 5.7vw, 76px);
    line-height: .99;
    font-weight: 950;
    letter-spacing: -.058em;
}

.imm-home-hero-copy {
    max-width: 650px;
    margin: 24px 0 0;
    color: #657589;
    font-size: 14px;
    line-height: 1.9;
}

.imm-home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 29px;
}

.imm-btn-ghost {
    border: 1px solid #d9e0e7;
    background: rgba(255, 255, 255, .78);
    color: #283a51;
}

.imm-btn-ghost:hover {
    border-color: var(--imm-dark);
    color: var(--imm-dark);
}

.imm-home-hero-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 20px;
    color: #8490a0;
    font-size: 9px;
    line-height: 1.7;
}

.imm-home-hero-note i {
    margin-top: 2px;
    color: #20b96b;
}

.imm-home-hero-visual {
    position: relative;
    min-width: 0;
}

.imm-home-hero-machine {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.imm-home-hero-machine::before {
    content: "";
    position: absolute;
    width: 75%;
    height: 32%;
    bottom: 10%;
    border-radius: 50%;
    background: rgba(11, 27, 46, .12);
    filter: blur(28px);
}

.imm-home-hero-machine img {
    position: relative;
    z-index: 3;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 25px 24px rgba(15, 23, 42, .16));
}

.imm-home-machine-orbit {
    position: absolute;
    border: 1px solid rgba(255, 90, 54, .18);
    border-radius: 50%;
}

.imm-orbit-one {
    width: 440px;
    height: 440px;
}

.imm-orbit-two {
    width: 330px;
    height: 330px;
    border-style: dashed;
}

.imm-home-machine-tag {
    position: absolute;
    z-index: 5;
    min-width: 120px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 10px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .09);
    backdrop-filter: blur(10px);
}

.imm-home-machine-tag span,
.imm-home-machine-tag strong {
    display: block;
}

.imm-home-machine-tag span {
    margin-bottom: 2px;
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 900;
}

.imm-home-machine-tag strong {
    color: var(--imm-dark);
    font-size: 9px;
    letter-spacing: .06em;
}

.imm-machine-tag-one {
    top: 20%;
    inset-inline-start: 0;
}

.imm-machine-tag-two {
    inset-inline-end: 3%;
    bottom: 20%;
}

.imm-home-stats {
    position: relative;
    z-index: 4;
    border-top: 1px solid rgba(17, 34, 56, .08);
    background: rgba(255, 255, 255, .68);
    backdrop-filter: blur(10px);
}

.imm-home-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.imm-home-stats-grid>div {
    min-height: 98px;
    padding: 20px 24px;
    border-inline-end: 1px solid rgba(17, 34, 56, .08);
}

.imm-home-stats-grid>div:last-child {
    border-inline-end: 0;
}

.imm-home-stats strong,
.imm-home-stats span {
    display: block;
}

.imm-home-stats strong {
    color: var(--imm-dark);
    font-size: 25px;
    font-weight: 950;
}

.imm-home-stats span {
    margin-top: 3px;
    color: #7e8a99;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}


/* =========================================================
   MACHINE FINDER
========================================================= */

.imm-finder-section {
    padding: 75px 0;
    background: #fff;
}

.imm-finder-shell {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
    gap: 60px;
    padding: 35px;
    border: 1px solid var(--imm-line);
    border-radius: 20px;
    background: #f9fbfd;
}

.imm-finder-copy h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: -.035em;
}

.imm-finder-copy p {
    margin: 14px 0 0;
    color: var(--imm-muted);
    font-size: 11px;
    line-height: 1.85;
}

.imm-machine-finder {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    align-content: center;
}

.imm-finder-field label {
    display: block;
    margin-bottom: 6px;
    color: #5e6d80;
    font-size: 8px;
    font-weight: 850;
}

.imm-finder-field input {
    width: 100%;
    height: 47px;
    padding: 0 13px;
    border: 1px solid #dce3e9;
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--imm-text);
    font-size: 10px;
}

.imm-finder-field input:focus {
    border-color: var(--imm-accent);
    box-shadow: 0 0 0 3px rgba(255, 90, 54, .07);
}

.imm-finder-submit {
    grid-column: 1 / -1;
    min-height: 49px;
    margin-top: 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    border: 0;
    border-radius: 9px;
    background: var(--imm-dark);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.imm-finder-submit i {
    color: #25d366;
    font-size: 18px;
}


/* =========================================================
   CATEGORY MOSAIC
========================================================= */

.imm-categories-section {
    padding: 90px 0;
    background: #f5f7fa;
}


/* =========================================================
   HOME CATEGORY SWIPER
========================================================= */

.imm-categories-section {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   SLIDER WRAPPER
========================================================= */

.imm-category-slider-wrap {
    position: relative;
    margin-top: 42px;
}


/* =========================================================
   SWIPER
========================================================= */

.immCategorySwiper {
    width: 100%;
    overflow: hidden;
    padding: 4px 2px 20px;
}

.immCategorySwiper .swiper-slide {
    height: auto;
}


/* =========================================================
   CATEGORY CARD
========================================================= */

.imm-category-card {
    position: relative;

    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 365px;

    background: #fff;

    border: 1px solid #e8ebef;
    border-radius: 22px;

    overflow: hidden;

    text-decoration: none;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


.imm-category-card:hover {
    transform: translateY(-6px);

    border-color: rgba(234, 45, 19, .28);

    box-shadow:
        0 22px 50px rgba(15, 23, 42, .10);
}


/* =========================================================
   IMAGE
========================================================= */

.imm-category-card-image {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 230px;

    padding: 25px;

    background:
        linear-gradient(145deg,
            #f8fafc 0%,
            #fff 100%);

    overflow: hidden;
}


.imm-category-card-image::after {
    content: "";

    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 0;

    height: 1px;

    background: #edf0f3;
}


.imm-category-card-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transition:
        transform .45s ease;
}


.imm-category-card:hover .imm-category-card-image img {
    transform: scale(1.055);
}


/* =========================================================
   CONTENT
========================================================= */

.imm-category-card-content {
    position: relative;

    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 25px 27px 27px;
}


/* NUMBER */

.imm-category-card-number {
    margin-bottom: 10px;

    color: #ea2d13;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}


/* TITLE */

.imm-category-card-content h3 {
    margin: 0;

    color: #0f172a;

    font-size: 20px;
    font-weight: 750;
    line-height: 1.35;
}


/* LINK */

.imm-category-card-link {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-top: auto;
    padding-top: 24px;

    color: #475569;

    font-size: 13px;
    font-weight: 700;

    transition:
        color .25s ease;
}


.imm-category-card-link i {
    color: #ea2d13;

    font-size: 12px;

    transition:
        transform .25s ease;
}


.imm-category-card:hover .imm-category-card-link {
    color: #ea2d13;
}


.imm-category-card:hover .imm-category-card-link i {
    transform: translateX(5px);
}


/* =========================================================
   NAVIGATION
========================================================= */

.imm-category-nav {
    position: absolute;
    top: 50%;

    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    padding: 0;

    border: 1px solid #e2e8f0;
    border-radius: 50%;

    background: #fff;

    color: #0f172a;

    box-shadow:
        0 10px 30px rgba(15, 23, 42, .10);

    transform: translateY(-50%);

    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.imm-category-prev {
    left: -24px;
}


.imm-category-next {
    right: -24px;
}


.imm-category-nav:hover {
    background: #ea2d13;
    border-color: #ea2d13;
    color: #fff;
}


.imm-category-nav.swiper-button-disabled {
    opacity: .35;
    cursor: default;
}


/* =========================================================
   PAGINATION
========================================================= */

.imm-category-pagination {
    display: flex;
    justify-content: center;

    margin-top: 22px;
}


.imm-category-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;

    margin: 0 5px !important;

    background: #cbd5e1;

    opacity: 1;

    transition:
        width .25s ease,
        border-radius .25s ease,
        background .25s ease;
}


.imm-category-pagination .swiper-pagination-bullet-active {
    width: 28px;

    border-radius: 10px;

    background: #ea2d13;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-category-card-link i {
    transform: rotate(180deg);
}


html[dir="rtl"] .imm-category-card:hover .imm-category-card-link i {
    transform:
        rotate(180deg) translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .imm-category-prev {
        left: 8px;
    }

    .imm-category-next {
        right: 8px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-categories-section {
        padding: 65px 0;
    }


    .imm-category-slider-wrap {
        margin-top: 30px;
    }


    .immCategorySwiper {
        overflow: visible;
    }


    .imm-category-card {
        min-height: 325px;
        border-radius: 18px;
    }


    .imm-category-card-image {
        height: 200px;
        padding: 20px;
    }


    .imm-category-card-content {
        padding: 20px;
    }


    .imm-category-card-content h3 {
        font-size: 18px;
    }


    .imm-category-nav {
        display: none;
    }

}




.imm-category-image,
.imm-category-image img,
.imm-category-shade {
    position: absolute;
    inset: 0;
}

.imm-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.imm-category-shade {
    background:
        linear-gradient(to top,
            rgba(6, 17, 30, .86),
            rgba(6, 17, 30, .05) 68%);
}

.imm-category-tile:hover .imm-category-image img {
    transform: scale(1.045);
}

.imm-category-content {
    position: absolute;
    z-index: 3;
    inset-inline: 20px;
    bottom: 19px;
}

.imm-category-content>span {
    display: block;
    margin-bottom: 7px;
    color: #ff8469;
    font-size: 8px;
    font-weight: 900;
}

.imm-category-content h3 {
    margin: 0;
    max-width: 440px;
    color: #fff;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 850;
}

.imm-category-featured .imm-category-content h3 {
    font-size: clamp(24px, 3vw, 36px);
}

.imm-category-content strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: rgba(255, 255, 255, .72);
    font-size: 8px;
    font-weight: 800;
}


/* =========================================================
   WHY
========================================================= */

.imm-why-section {
    padding: 95px 0;
    background: #fff;
}

.imm-why-layout {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    gap: 70px;
    align-items: start;
}

.imm-why-intro {
    position: sticky;
    top: 125px;
}

.imm-why-intro p {
    margin: 18px 0 22px;
    color: var(--imm-muted);
    font-size: 12px;
    line-height: 1.9;
}

.imm-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.imm-why-card {
    min-height: 215px;
    padding: 22px;
    border: 1px solid var(--imm-line);
    border-radius: 14px;
    background: #fff;
    transition: .25s ease;
}

.imm-why-card:last-child {
    grid-column: 1 / -1;
}

.imm-why-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 90, 54, .25);
    box-shadow: 0 14px 35px rgba(15, 23, 42, .07);
}

.imm-why-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.imm-why-card-top span {
    color: #b1bac4;
    font-size: 8px;
    font-weight: 900;
}

.imm-why-card-top i {
    color: var(--imm-accent);
    font-size: 17px;
}

.imm-why-card h3 {
    margin: 30px 0 9px;
    color: var(--imm-dark);
    font-size: 17px;
    font-weight: 850;
}

.imm-why-card p {
    margin: 0;
    color: var(--imm-muted);
    font-size: 10px;
    line-height: 1.8;
}


/* =========================================================
   APPLICATIONS
========================================================= */

.imm-applications-section {
    padding: 95px 0;
    background:
        radial-gradient(circle at 85% 15%, rgba(255, 90, 54, .13), transparent 28%),
        var(--imm-dark);
}

.imm-applications-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .09);
    border-inline-start: 1px solid rgba(255, 255, 255, .09);
}

.imm-application-card {
    min-height: 240px;
    padding: 24px;
    border-inline-end: 1px solid rgba(255, 255, 255, .09);
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    transition: .2s ease;
}

.imm-application-card:hover {
    background: rgba(255, 255, 255, .035);
}

.imm-application-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.imm-application-top span {
    color: rgba(255, 255, 255, .28);
    font-size: 8px;
}

.imm-application-top i {
    color: var(--imm-accent);
    font-size: 18px;
}

.imm-application-card h3 {
    margin: 36px 0 10px;
    color: #fff;
    font-size: 17px;
    font-weight: 850;
}

.imm-application-card p {
    margin: 0;
    color: rgba(255, 255, 255, .52);
    font-size: 10px;
    line-height: 1.75;
}

.imm-application-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 19px;
    color: rgba(255, 255, 255, .77);
    text-decoration: none;
    font-size: 8px;
    font-weight: 850;
}


/* =========================================================
   GUIDE
========================================================= */

.imm-guide-section {
    padding: 95px 0;
    background: #f6f8fb;
}

.imm-guide-layout {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
    gap: 80px;
}

.imm-guide-heading p {
    margin: 17px 0 24px;
    color: var(--imm-muted);
    font-size: 12px;
    line-height: 1.85;
}

.imm-guide-steps {
    border-top: 1px solid #dce3e9;
}

.imm-guide-step {
    min-height: 130px;
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid #dce3e9;
}

.imm-guide-step>span {
    color: var(--imm-accent);
    font-size: 10px;
    font-weight: 950;
}

.imm-guide-step h3 {
    margin: 0;
    color: var(--imm-dark);
    font-size: 17px;
    font-weight: 850;
}

.imm-guide-step p {
    max-width: 640px;
    margin: 7px 0 0;
    color: var(--imm-muted);
    font-size: 10px;
    line-height: 1.7;
}


/* =========================================================
   FACTORY
========================================================= */

.imm-factory-section {
    padding: 95px 0;
    background: #fff;
}

.imm-factory-layout {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 70px;
    align-items: center;
}

.imm-factory-visual {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 18px;
    background: #e8edf2;
}

.imm-factory-visual>img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.imm-factory-badge {
    position: absolute;
    inset-inline-end: 18px;
    bottom: 18px;
    min-width: 150px;
    padding: 17px;
    border-radius: 12px;
    background: rgba(7, 17, 31, .90);
    color: #fff;
}

.imm-factory-badge strong,
.imm-factory-badge span {
    display: block;
}

.imm-factory-badge strong {
    font-size: 28px;
    font-weight: 950;
}

.imm-factory-badge span {
    margin-top: 3px;
    color: rgba(255, 255, 255, .55);
    font-size: 8px;
}

.imm-factory-copy p {
    margin: 18px 0 25px;
    color: var(--imm-muted);
    font-size: 12px;
    line-height: 1.9;
}

.imm-factory-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 28px 0 23px;
    border-top: 1px solid var(--imm-line);
    border-bottom: 1px solid var(--imm-line);
}

.imm-factory-metrics>div {
    padding: 18px 0;
}

.imm-factory-metrics>div+div {
    padding-inline-start: 22px;
    border-inline-start: 1px solid var(--imm-line);
}

.imm-factory-metrics strong,
.imm-factory-metrics span {
    display: block;
}

.imm-factory-metrics strong {
    color: var(--imm-dark);
    font-size: 22px;
    font-weight: 950;
}

.imm-factory-metrics span {
    margin-top: 3px;
    color: #8d98a6;
    font-size: 8px;
}


/* =========================================================
   FEATURED PRODUCTS
========================================================= */

.imm-featured-section {
    padding: 95px 0;
    background: #f5f7fa;
}

.imm-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.imm-featured-card {
    overflow: hidden;
    border: 1px solid #e0e6eb;
    border-radius: 15px;
    background: #fff;
}

.imm-featured-image {
    position: relative;
    height: 245px;
    display: block;
    overflow: hidden;
    background: #f0f3f6;
}

.imm-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.imm-featured-card:hover .imm-featured-image img {
    transform: scale(1.04);
}

.imm-featured-open {
    position: absolute;
    top: 13px;
    inset-inline-end: 13px;
    width: 37px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--imm-dark);
    font-size: 9px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
}

.imm-featured-body {
    padding: 18px;
}

.imm-featured-model {
    display: block;
    margin-bottom: 6px;
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.imm-featured-body h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 850;
}

.imm-featured-body h3 a {
    color: var(--imm-dark);
    text-decoration: none;
}

.imm-featured-body p {
    min-height: 54px;
    margin: 9px 0 15px;
    color: var(--imm-muted);
    font-size: 9px;
    line-height: 1.75;
}


/* =========================================================
   KNOWLEDGE
========================================================= */

.imm-knowledge-section {
    padding: 95px 0;
    background: #0b192a;
}

.imm-knowledge-grid {
    display: grid;
    grid-template-columns: 1.35fr .825fr .825fr;
    gap: 14px;
}

.imm-knowledge-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 15px;
    background: rgba(255, 255, 255, .04);
}

.imm-knowledge-image {
    height: 200px;
    display: block;
    overflow: hidden;
}

.imm-knowledge-featured .imm-knowledge-image {
    height: 300px;
}

.imm-knowledge-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.imm-knowledge-card:hover .imm-knowledge-image img {
    transform: scale(1.04);
}

.imm-knowledge-body {
    padding: 19px;
}

.imm-knowledge-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}

.imm-knowledge-meta span {
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.imm-knowledge-meta small {
    color: rgba(255, 255, 255, .35);
    font-size: 7px;
}

.imm-knowledge-body h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 850;
}

.imm-knowledge-featured .imm-knowledge-body h3 {
    font-size: 22px;
}

.imm-knowledge-body h3 a {
    color: #fff;
    text-decoration: none;
}

.imm-knowledge-body p {
    margin: 10px 0 16px;
    color: rgba(255, 255, 255, .50);
    font-size: 9px;
    line-height: 1.75;
}

.imm-knowledge-body .imm-card-link {
    color: rgba(255, 255, 255, .82);
}


/* =========================================================
   RFQ
========================================================= */

.imm-rfq-section {
    padding: 85px 0;
    background: #fff;
}

.imm-rfq-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 55px;
    align-items: center;
    padding: 42px 46px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 20%, rgba(255, 90, 54, .16), transparent 25%),
        var(--imm-dark);
}

.imm-rfq-shell h2 {
    max-width: 760px;
    color: #fff;
}

.imm-rfq-shell p {
    max-width: 720px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .57);
    font-size: 11px;
    line-height: 1.8;
}

.imm-rfq-actions {
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-btn i.fa-arrow-right,
html[dir="rtl"] .imm-text-link i,
html[dir="rtl"] .imm-card-link i,
html[dir="rtl"] .imm-category-content i,
html[dir="rtl"] .imm-application-card a i {
    transform: rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .imm-home-hero-layout {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 58px 0 50px;
    }

    .imm-home-hero-content {
        max-width: 780px;
    }

    .imm-home-hero-machine {
        min-height: 350px;
    }

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

    .imm-home-stats-grid>div:nth-child(2) {
        border-inline-end: 0;
    }

    .imm-home-stats-grid>div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(17, 34, 56, .08);
    }

    .imm-finder-shell,
    .imm-why-layout,
    .imm-guide-layout,
    .imm-factory-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .imm-machine-finder {
        grid-template-columns: 1fr 1fr;
    }

    .imm-machine-finder .imm-finder-field:last-of-type {
        grid-column: 1 / -1;
    }

    .imm-category-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 330px 230px 230px;
    }

    .imm-category-featured {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .imm-why-intro {
        position: static;
    }

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

    .imm-knowledge-grid {
        grid-template-columns: 1fr 1fr;
    }

    .imm-knowledge-featured {
        grid-column: 1 / 3;
    }

    .imm-rfq-shell {
        grid-template-columns: 1fr;
    }

    .imm-rfq-actions {
        max-width: 330px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .imm-section-head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .imm-home-hero-layout {
        padding-top: 45px;
    }

    .imm-home-hero h1 {
        font-size: 42px;
    }

    .imm-home-hero-actions {
        flex-direction: column;
    }

    .imm-home-hero-actions .imm-btn {
        width: 100%;
    }

    .imm-home-hero-machine {
        min-height: 275px;
    }

    .imm-home-machine-orbit {
        display: none;
    }

    .imm-home-machine-tag {
        display: none;
    }

    .imm-home-stats-grid>div {
        padding: 16px;
    }

    .imm-home-stats strong {
        font-size: 20px;
    }

    .imm-finder-section,
    .imm-categories-section,
    .imm-why-section,
    .imm-applications-section,
    .imm-guide-section,
    .imm-factory-section,
    .imm-featured-section,
    .imm-knowledge-section,
    .imm-rfq-section {
        padding: 65px 0;
    }

    .imm-finder-shell {
        padding: 24px 18px;
        border-radius: 15px;
    }

    .imm-machine-finder {
        grid-template-columns: 1fr;
    }

    .imm-machine-finder .imm-finder-field:last-of-type {
        grid-column: auto;
    }

    .imm-category-mosaic {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .imm-category-featured {
        grid-column: auto;
    }

    .imm-category-tile,
    .imm-category-featured {
        min-height: 255px;
    }

    .imm-why-grid,
    .imm-applications-grid,
    .imm-featured-grid,
    .imm-knowledge-grid {
        grid-template-columns: 1fr;
    }

    .imm-why-card:last-child,
    .imm-knowledge-featured {
        grid-column: auto;
    }

    .imm-application-card {
        min-height: 205px;
    }

    .imm-guide-step {
        grid-template-columns: 45px 1fr;
    }

    .imm-factory-visual,
    .imm-factory-visual>img {
        min-height: 340px;
    }

    .imm-factory-metrics {
        grid-template-columns: 1fr;
    }

    .imm-factory-metrics>div+div {
        padding-inline-start: 0;
        border-inline-start: 0;
        border-top: 1px solid var(--imm-line);
    }

    .imm-featured-image {
        height: 260px;
    }

    .imm-knowledge-featured .imm-knowledge-image,
    .imm-knowledge-image {
        height: 230px;
    }

    .imm-rfq-shell {
        padding: 30px 22px;
    }

    .imm-rfq-actions {
        min-width: 0;
        max-width: none;
    }

}

/* =========================================================
   INDUSTRIAL FOOTER
========================================================= */

.imm-footer {
    position: relative;
    overflow: hidden;
    background: #07111f;
    color: #fff;
}


/* =========================================================
   FOOTER CTA
========================================================= */

.imm-footer-cta {
    position: relative;

    padding: 55px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .08);

    background:
        radial-gradient(circle at 82% 25%,
            rgba(255, 90, 54, .18),
            transparent 28%);
}


.imm-footer-cta::before {
    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: .10;

    background-image:
        linear-gradient(rgba(255, 255, 255, .07) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .07) 1px,
            transparent 1px);

    background-size:
        50px 50px;
}


.imm-footer-cta-inner {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 60px;

    align-items: center;
}


.imm-footer-cta-copy {
    max-width: 780px;
}


.imm-footer-kicker {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 11px;

    color: #ff7658;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: .14em;

    text-transform: uppercase;
}


.imm-footer-kicker::before {
    content: "";

    width: 27px;
    height: 2px;

    background: currentColor;
}


.imm-footer-cta h2 {
    margin: 0;

    max-width: 790px;

    color: #fff;

    font-size:
        clamp(29px,
            3.8vw,
            48px);

    line-height: 1.1;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-footer-cta p {
    max-width: 680px;

    margin: 14px 0 0;

    color:
        rgba(255, 255, 255, .51);

    font-size: 11px;

    line-height: 1.8;
}


.imm-footer-cta-actions {
    display: flex;

    flex-direction: column;

    gap: 8px;

    min-width: 215px;
}


.imm-footer-contact-btn,
.imm-footer-whatsapp-btn {
    min-height: 48px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding:
        0 17px;

    border-radius: 8px;

    text-decoration: none;

    font-size: 9px;

    font-weight: 900;
}


.imm-footer-contact-btn {
    background:
        var(--imm-accent);

    color: #fff;
}


.imm-footer-contact-btn:hover {
    background:
        var(--imm-accent-dark);

    color: #fff;
}


.imm-footer-whatsapp-btn {
    border:
        1px solid rgba(255, 255, 255, .14);

    background:
        rgba(255, 255, 255, .05);

    color: #fff;
}


.imm-footer-whatsapp-btn i {
    color: #25d366;

    font-size: 17px;
}


.imm-footer-whatsapp-btn:hover {
    background:
        rgba(255, 255, 255, .09);

    color: #fff;
}


/* =========================================================
   MAIN
========================================================= */

.imm-footer-main {
    padding:
        70px 0 40px;
}


.imm-footer-layout {
    display: grid;

    grid-template-columns:
        1.4fr .62fr 1fr 1.1fr;

    gap: 45px;
}


/* =========================================================
   BRAND
========================================================= */

.imm-footer-logo {
    display: inline-flex;

    align-items: center;

    margin-bottom: 20px;
}


.imm-footer-logo img {
    width: auto;

    max-width: 180px;

    height: 55px;

    object-fit: contain;
}


.imm-footer-brand>p {
    max-width: 355px;

    margin:
        0 0 22px;

    color:
        rgba(255, 255, 255, .46);

    font-size: 10px;

    line-height: 1.85;
}


.imm-footer-manufacturer {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 20px;
}


.imm-footer-status {
    width: 8px;

    height: 8px;

    flex: 0 0 auto;

    border-radius: 50%;

    background: #22c875;

    box-shadow:
        0 0 0 5px rgba(34, 200, 117, .10);
}


.imm-footer-manufacturer small,
.imm-footer-manufacturer strong {
    display: block;
}


.imm-footer-manufacturer small {
    margin-bottom: 3px;

    color:
        rgba(255, 255, 255, .30);

    font-size: 7px;

    text-transform: uppercase;

    letter-spacing: .08em;
}


.imm-footer-manufacturer strong {
    color:
        rgba(255, 255, 255, .78);

    font-size: 9px;

    font-weight: 750;
}


.imm-footer-certifications {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;
}


.imm-footer-certifications span {
    min-width: 44px;

    min-height: 30px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding:
        0 9px;

    border:
        1px solid rgba(255, 255, 255, .10);

    border-radius: 6px;

    color:
        rgba(255, 255, 255, .48);

    font-size: 7px;

    font-weight: 850;
}


/* =========================================================
   COLUMNS
========================================================= */

.imm-footer-column-number {
    display: block;

    margin-bottom: 12px;

    color:
        var(--imm-accent);

    font-size: 7px;

    font-weight: 900;
}


.imm-footer-column h3 {
    margin:
        0 0 18px;

    color: #fff;

    font-size: 12px;

    font-weight: 850;
}


.imm-footer-links {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 10px;
}


.imm-footer-links a {
    position: relative;

    color:
        rgba(255, 255, 255, .45);

    text-decoration: none;

    font-size: 9px;

    line-height: 1.5;
}


.imm-footer-links a:hover {
    color: #fff;

    transform:
        translateX(3px);
}


html[dir="rtl"] .imm-footer-links a:hover {
    transform:
        translateX(-3px);
}


.imm-footer-view-all {
    display: inline-flex !important;

    align-items: center;

    gap: 8px;

    margin-top: 7px;

    color:
        #ff7254 !important;

    font-weight: 850;
}


html[dir="rtl"] .imm-footer-view-all i {
    transform:
        rotate(180deg);
}


/* =========================================================
   CONTACT
========================================================= */

.imm-footer-contact-list {
    display: flex;

    flex-direction: column;

    gap: 15px;
}


.imm-footer-contact-item {
    padding-bottom: 13px;

    border-bottom:
        1px solid rgba(255, 255, 255, .07);
}


.imm-footer-contact-item:last-child {
    border-bottom: 0;
}


.imm-footer-contact-item>span {
    display: block;

    margin-bottom: 4px;

    color:
        rgba(255, 255, 255, .27);

    font-size: 7px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .07em;
}


.imm-footer-contact-item p,
.imm-footer-contact-item a,
.imm-footer-contact-item strong {
    margin: 0;

    color:
        rgba(255, 255, 255, .64);

    text-decoration: none;

    font-size: 9px;

    line-height: 1.65;

    font-weight: 600;
}


.imm-footer-contact-item a:hover {
    color: #fff;
}


/* =========================================================
   META
========================================================= */

.imm-footer-meta {
    margin-top: 55px;

    padding:
        22px 0;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    border-top:
        1px solid rgba(255, 255, 255, .08);

    border-bottom:
        1px solid rgba(255, 255, 255, .08);
}


.imm-footer-languages {
    display: flex;

    align-items: center;

    gap: 7px;
}


.imm-footer-languages>span {
    margin-inline-end: 5px;

    color:
        rgba(255, 255, 255, .28);

    font-size: 7px;

    text-transform: uppercase;

    font-weight: 800;
}


.imm-footer-languages a {
    min-width: 37px;

    height: 30px;

    padding:
        0 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid rgba(255, 255, 255, .10);

    border-radius: 6px;

    color:
        rgba(255, 255, 255, .45);

    text-decoration: none;

    font-size: 7px;

    font-weight: 750;
}


.imm-footer-languages a:hover,
.imm-footer-languages a.active {
    border-color:
        var(--imm-accent);

    color: #fff;
}


.imm-footer-industrial-data {
    display: flex;

    align-items: center;

    gap: 25px;
}


.imm-footer-industrial-data span {
    display: flex;

    align-items: center;

    gap: 6px;

    color:
        rgba(255, 255, 255, .30);

    font-size: 7px;

    text-transform: uppercase;
}


.imm-footer-industrial-data strong {
    color:
        rgba(255, 255, 255, .73);

    font-size: 8px;
}


/* =========================================================
   BOTTOM
========================================================= */

.imm-footer-bottom {
    background:
        #050d18;
}


.imm-footer-bottom-inner {
    min-height: 54px;

    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    gap: 20px;

    align-items: center;
}


.imm-footer-bottom p,
.imm-footer-bottom-center {
    margin: 0;

    color:
        rgba(255, 255, 255, .28);

    font-size: 7px;
}


.imm-footer-bottom-center {
    text-align: center;
}


.imm-back-top {
    justify-self: end;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color:
        rgba(255, 255, 255, .45);

    text-decoration: none;

    font-size: 7px;

    font-weight: 750;
}


.imm-back-top i {
    color:
        var(--imm-accent);
}


.imm-back-top:hover {
    color: #fff;
}


/* =========================================================
   FLOATING WHATSAPP
========================================================= */

.imm-floating-whatsapp {
    position: fixed;

    z-index: 850;

    inset-inline-end: 22px;

    bottom: 22px;

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 53px;

    padding:
        6px 15px 6px 7px;

    border-radius:
        999px;

    background:
        #fff;

    color:
        #26384d;

    text-decoration: none;

    box-shadow:
        0 12px 35px rgba(15, 23, 42, .17);

    transition:
        .25s ease;
}


html[dir="rtl"] .imm-floating-whatsapp {
    padding:
        6px 7px 6px 15px;
}


.imm-floating-whatsapp:hover {
    transform:
        translateY(-3px);

    color:
        #26384d;
}


.imm-floating-whatsapp-icon {
    width: 41px;

    height: 41px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex:
        0 0 auto;

    border-radius: 50%;

    background:
        #25d366;

    color: #fff;

    font-size: 20px;
}


.imm-floating-whatsapp-copy small,
.imm-floating-whatsapp-copy strong {
    display: block;
}


.imm-floating-whatsapp-copy small {
    color: #9aa4af;

    font-size: 7px;
}


.imm-floating-whatsapp-copy strong {
    margin-top: 1px;

    color: #23354b;

    font-size: 9px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .imm-footer-cta-inner {
        grid-template-columns:
            1fr;
    }


    .imm-footer-cta-actions {
        max-width:
            300px;
    }


    .imm-footer-layout {
        grid-template-columns:
            1.2fr 1fr;

        gap:
            45px 55px;
    }


    .imm-footer-meta {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .imm-footer-cta {
        padding:
            45px 0;
    }


    .imm-footer-cta-inner {
        gap:
            30px;
    }


    .imm-footer-cta-actions {
        max-width:
            none;

        width:
            100%;
    }


    .imm-footer-main {
        padding:
            55px 0 30px;
    }


    .imm-footer-layout {
        grid-template-columns:
            1fr;

        gap:
            40px;
    }


    .imm-footer-meta {
        margin-top:
            40px;
    }


    .imm-footer-languages {
        flex-wrap:
            wrap;
    }


    .imm-footer-industrial-data {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            8px;
    }


    .imm-footer-bottom-inner {
        min-height:
            auto;

        padding:
            18px 0;

        grid-template-columns:
            1fr;

        gap:
            9px;
    }


    .imm-footer-bottom-center {
        text-align:
            start;
    }


    .imm-back-top {
        justify-self:
            start;
    }


    .imm-floating-whatsapp {
        inset-inline-end:
            14px;

        bottom:
            14px;

        min-height:
            48px;

        padding:
            5px;
    }


    .imm-floating-whatsapp-icon {
        width:
            39px;

        height:
            39px;
    }


    .imm-floating-whatsapp-copy {
        display:
            none;
    }

}

/* =========================================================
   PRODUCTS CATALOG PAGE
========================================================= */

.imm-products-page {
    background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.imm-products-hero {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 82% 20%,
            rgba(255, 90, 54, .13),
            transparent 28%),
        var(--imm-dark);

    color: #fff;
}


.imm-products-hero-grid {
    position: absolute;

    inset: 0;

    opacity: .10;

    pointer-events: none;

    background-image:
        linear-gradient(rgba(255, 255, 255, .08) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .08) 1px,
            transparent 1px);

    background-size:
        52px 52px;
}


.imm-products-hero-layout {
    position: relative;

    z-index: 2;

    min-height: 420px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr) 260px;

    gap: 70px;

    align-items: center;

    padding:
        70px 0;
}


.imm-products-hero-copy {
    max-width: 850px;
}


.imm-products-hero .imm-section-kicker {
    color: #ff7658;
}


.imm-products-hero h1 {
    margin: 0;

    max-width: 900px;

    color: #fff;

    font-size:
        clamp(42px,
            5.5vw,
            70px);

    line-height: 1.02;

    font-weight: 950;

    letter-spacing: -.055em;
}


.imm-products-hero-copy>p {
    max-width: 700px;

    margin:
        20px 0 0;

    color:
        rgba(255, 255, 255, .58);

    font-size: 13px;

    line-height: 1.9;
}


.imm-products-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 27px;
}


.imm-btn-hero-outline {
    border:
        1px solid rgba(255, 255, 255, .17);

    background:
        rgba(255, 255, 255, .05);

    color: #fff;
}


.imm-btn-hero-outline:hover {
    background:
        rgba(255, 255, 255, .10);

    color: #fff;
}


/* HERO DATA */

.imm-products-hero-data {
    padding: 24px;

    border:
        1px solid rgba(255, 255, 255, .12);

    border-radius: 15px;

    background:
        rgba(255, 255, 255, .05);

    backdrop-filter:
        blur(10px);
}


.imm-products-hero-count strong {
    display: block;

    color: #fff;

    font-size: 44px;

    line-height: 1;

    font-weight: 950;
}


.imm-products-hero-count span,
.imm-products-hero-industrial span {
    display: block;

    margin-top: 6px;

    color:
        rgba(255, 255, 255, .40);

    font-size: 8px;

    font-weight: 750;
}


.imm-products-hero-divider {
    height: 1px;

    margin:
        20px 0;

    background:
        rgba(255, 255, 255, .09);
}


.imm-products-hero-industrial strong {
    display: block;

    margin-top: 3px;

    color: #fff;

    font-size: 19px;
}


/* =========================================================
   CATEGORY SWIPER
========================================================= */

.imm-catalog-categories {
    padding:
        80px 0;

    background:
        #f7f9fb;
}


.imm-catalog-category-head,
.imm-catalog-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) minmax(300px, 440px);

    gap: 60px;

    align-items: end;

    margin-bottom: 32px;
}


.imm-catalog-category-head h2,
.imm-catalog-heading h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(30px,
            3.7vw,
            45px);

    line-height: 1.1;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-catalog-category-head>p,
.imm-catalog-heading>p {
    margin: 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.8;
}


.imm-catalog-category-slider {
    position: relative;
}


.immCatalogCategorySwiper {
    overflow: hidden;

    padding:
        4px 2px 20px;
}


.immCatalogCategorySwiper .swiper-slide {
    height: auto;
}


.imm-catalog-category-card {
    height: 100%;

    min-height: 315px;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    border:
        1px solid #e2e7ec;

    border-radius: 15px;

    background: #fff;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.imm-catalog-category-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 16px 35px rgba(15, 23, 42, .08);
}


.imm-catalog-category-image {
    height: 190px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 20px;

    background:
        #fff;
}


.imm-catalog-category-image img {
    width: 100%;

    height: 100%;

    object-fit: contain;

    transition:
        transform .35s ease;
}


.imm-catalog-category-card:hover .imm-catalog-category-image img {
    transform:
        scale(1.05);
}


.imm-catalog-category-body {
    flex: 1;

    padding: 17px;

    border-top:
        1px solid #eef1f4;
}


.imm-catalog-category-body>span {
    display: block;

    margin-bottom: 6px;

    color:
        var(--imm-accent);

    font-size: 7px;

    font-weight: 850;
}


.imm-catalog-category-body h3 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size: 15px;

    line-height: 1.4;

    font-weight: 850;
}


.imm-catalog-category-body strong {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-top: 13px;

    color:
        #718096;

    font-size: 8px;
}


.imm-catalog-category-body strong i {
    color:
        var(--imm-accent);
}


/* ARROWS */

.imm-catalog-category-nav {
    position: absolute;

    z-index: 10;

    top: 44%;

    width: 43px;

    height: 43px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid #e0e5ea;

    border-radius: 50%;

    background: #fff;

    color:
        var(--imm-dark);

    box-shadow:
        0 8px 22px rgba(15, 23, 42, .09);

    transform:
        translateY(-50%);
}


.imm-catalog-category-prev {
    left: -21px;
}


.imm-catalog-category-next {
    right: -21px;
}


.imm-catalog-category-nav:hover {
    border-color:
        var(--imm-accent);

    background:
        var(--imm-accent);

    color: #fff;
}


.imm-catalog-category-pagination {
    margin-top: 15px;

    text-align: center;
}


.imm-catalog-category-pagination .swiper-pagination-bullet {
    width: 6px;

    height: 6px;

    background: #c5cdd6;

    opacity: 1;
}


.imm-catalog-category-pagination .swiper-pagination-bullet-active {
    width: 23px;

    border-radius: 8px;

    background:
        var(--imm-accent);
}


/* =========================================================
   MACHINE CATALOG
========================================================= */

.imm-machine-catalog {
    padding:
        90px 0 100px;

    background: #fff;
}


/* =========================================================
   FILTER
========================================================= */

.imm-catalog-filter {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) minmax(190px, .42fr) auto auto;

    gap: 8px;

    margin-bottom: 20px;

    padding: 10px;

    border:
        1px solid #e1e7ec;

    border-radius: 13px;

    background:
        #f8fafc;
}


.imm-filter-search,
.imm-filter-category {
    position: relative;
}


.imm-filter-search i,
.imm-filter-category>i {
    position: absolute;

    z-index: 2;

    top: 50%;

    inset-inline-start: 14px;

    transform:
        translateY(-50%);

    color:
        #8d99a8;

    font-size: 10px;
}


.imm-filter-search input,
.imm-filter-category select {
    width: 100%;

    height: 45px;

    padding:
        0 13px 0 40px;

    border:
        1px solid #dfe5ea;

    border-radius: 8px;

    outline: none;

    background: #fff;

    color:
        #2a3c52;

    font-size: 10px;
}


html[dir="rtl"] .imm-filter-search input,
html[dir="rtl"] .imm-filter-category select {
    padding:
        0 40px 0 13px;
}


.imm-filter-search input:focus,
.imm-filter-category select:focus {
    border-color:
        var(--imm-accent);
}


.imm-filter-submit {
    height: 45px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding:
        0 17px;

    border: 0;

    border-radius: 8px;

    background:
        var(--imm-dark);

    color: #fff;

    font-size: 9px;

    font-weight: 850;
}


.imm-filter-reset {
    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid #dfe5ea;

    border-radius: 8px;

    background: #fff;

    color:
        #8190a1;

    text-decoration: none;
}


/* =========================================================
   SUMMARY
========================================================= */

.imm-catalog-summary {
    min-height: 42px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 20px;

    color:
        #8a96a5;

    font-size: 9px;
}


.imm-catalog-summary>div {
    display: flex;

    align-items: center;

    gap: 5px;
}


.imm-catalog-summary strong {
    color:
        var(--imm-dark);
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.imm-catalog-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;
}


.imm-machine-card {
    overflow: hidden;

    border:
        1px solid #e2e7ec;

    border-radius: 15px;

    background: #fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.imm-machine-card:hover {
    transform:
        translateY(-5px);

    border-color:
        rgba(255, 90, 54, .25);

    box-shadow:
        0 17px 40px rgba(15, 23, 42, .08);
}


/* IMAGE */

.imm-machine-card-image {
    position: relative;

    height: 265px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    padding: 15px;

    background:
        #f7f9fb;
}


.imm-machine-card-image img {
    width: 100%;

    height: 100%;

    object-fit: contain;

    transition:
        transform .35s ease;
}


.imm-machine-card:hover .imm-machine-card-image img {
    transform:
        scale(1.04);
}


.imm-machine-category {
    position: absolute;

    z-index: 3;

    top: 12px;

    inset-inline-start: 12px;

    max-width: 72%;

    padding:
        6px 9px;

    border-radius: 6px;

    background:
        rgba(7, 17, 31, .87);

    color: #fff;

    font-size: 7px;

    font-weight: 750;
}


.imm-machine-card-open {
    position: absolute;

    z-index: 3;

    top: 12px;

    inset-inline-end: 12px;

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #fff;

    color:
        var(--imm-dark);

    font-size: 8px;

    box-shadow:
        0 6px 16px rgba(15, 23, 42, .08);
}


/* BODY */

.imm-machine-card-body {
    padding: 18px;
}


.imm-machine-code {
    display: block;

    margin-bottom: 5px;

    color:
        var(--imm-accent);

    font-size: 7px;

    font-weight: 850;

    letter-spacing: .06em;
}


.imm-machine-card h3 {
    margin: 0;

    font-size: 15px;

    line-height: 1.45;

    font-weight: 850;
}


.imm-machine-card h3 a {
    color:
        var(--imm-dark);

    text-decoration: none;
}


.imm-machine-card-body>p {
    min-height: 52px;

    margin:
        9px 0 15px;

    color:
        var(--imm-muted);

    font-size: 9px;

    line-height: 1.75;
}


.imm-machine-card-footer {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding-top: 14px;

    border-top:
        1px solid #edf0f3;
}


.imm-machine-view {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color:
        #314258;

    text-decoration: none;

    font-size: 9px;

    font-weight: 850;
}


.imm-machine-view i {
    color:
        var(--imm-accent);

    font-size: 8px;
}


.imm-machine-inquiry {
    width: 32px;

    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 7px;

    background:
        #f3f6f8;

    color:
        #536479;

    text-decoration: none;
}


/* =========================================================
   PAGINATION
========================================================= */

.imm-catalog-pagination {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 6px;

    margin-top: 40px;
}


.imm-catalog-pagination a {
    min-width: 38px;

    height: 38px;

    padding:
        0 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid #e0e5ea;

    border-radius: 7px;

    background: #fff;

    color:
        #566579;

    text-decoration: none;

    font-size: 9px;

    font-weight: 800;
}


.imm-catalog-pagination a:hover,
.imm-catalog-pagination a.active {
    border-color:
        var(--imm-dark);

    background:
        var(--imm-dark);

    color: #fff;
}


/* =========================================================
   EMPTY
========================================================= */

.imm-catalog-empty {
    padding:
        80px 20px;

    border:
        1px dashed #dce2e8;

    border-radius: 15px;

    text-align: center;

    background:
        #fafbfd;
}


.imm-catalog-empty>div {
    width: 55px;

    height: 55px;

    margin:
        0 auto 17px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #fff;

    color:
        var(--imm-accent);

    box-shadow:
        0 8px 25px rgba(15, 23, 42, .08);
}


.imm-catalog-empty h3 {
    color:
        var(--imm-dark);

    font-size: 20px;
}


.imm-catalog-empty p {
    margin:
        8px auto 20px;

    max-width:
        450px;

    color:
        var(--imm-muted);

    font-size: 10px;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-machine-view i,
html[dir="rtl"] .imm-catalog-category-body strong i,
html[dir="rtl"] .imm-filter-submit i {
    transform:
        rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .imm-products-hero-layout {
        grid-template-columns:
            1fr;

        gap: 30px;
    }


    .imm-products-hero-data {
        max-width:
            320px;
    }


    .imm-catalog-category-head,
    .imm-catalog-heading {
        grid-template-columns:
            1fr;

        gap: 12px;
    }


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


    .imm-catalog-filter {
        grid-template-columns:
            1fr 1fr;
    }


    .imm-filter-submit {
        grid-column:
            1 / -1;
    }


    .imm-filter-reset {
        position: absolute;

        inset-inline-end:
            10px;

        transform:
            translateY(55px);
    }


    .imm-catalog-category-prev {
        left: 8px;
    }


    .imm-catalog-category-next {
        right: 8px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .imm-products-hero-layout {
        min-height: auto;

        padding:
            55px 0;
    }


    .imm-products-hero h1 {
        font-size:
            40px;
    }


    .imm-products-hero-actions {
        flex-direction:
            column;
    }


    .imm-products-hero-actions .imm-btn {
        width: 100%;
    }


    .imm-catalog-categories {
        padding:
            60px 0;
    }


    .immCatalogCategorySwiper {
        overflow:
            visible;
    }


    .imm-catalog-category-nav {
        display: none;
    }


    .imm-machine-catalog {
        padding:
            65px 0 75px;
    }


    .imm-catalog-filter {
        grid-template-columns:
            1fr;

        padding: 9px;
    }


    .imm-filter-submit {
        grid-column: auto;
    }


    .imm-filter-reset {
        position: static;

        width: 100%;

        transform: none;
    }


    .imm-catalog-summary {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .imm-catalog-grid {
        grid-template-columns:
            1fr;
    }


    .imm-machine-card-image {
        height:
            285px;
    }

}

/* =========================================================
   PRODUCT PAGE
   injectionmoldingmachine.co
========================================================= */

.imm-product-page {
    position: relative;
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   PRODUCT ERROR
========================================================= */

.imm-product-error {
    padding: 100px 0;
    background: #f7f9fb;
}

.imm-product-error-box {
    max-width: 650px;
    margin: auto;
    padding: 60px 30px;
    border: 1px solid #e2e8ed;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

.imm-product-error-box>i {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f7f9fb;
    color: var(--imm-accent);
    font-size: 22px;
}

.imm-product-error-box h1 {
    margin: 0;
    color: var(--imm-dark);
    font-size: 32px;
    font-weight: 900;
}

.imm-product-error-box p {
    margin: 12px 0 25px;
    color: var(--imm-muted);
    font-size: 11px;
    line-height: 1.8;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.imm-product-breadcrumb-wrap {
    border-bottom: 1px solid #e5e9ed;
    background: #f8fafc;
}

.imm-product-breadcrumb {
    min-height: 49px;
    display: flex;
    align-items: center;
    gap: 9px;
    overflow: hidden;
    color: #8a97a7;
    font-size: 8px;
    white-space: nowrap;
}

.imm-product-breadcrumb a {
    color: #69778a;
    text-decoration: none;
    transition: .2s ease;
}

.imm-product-breadcrumb a:hover {
    color: var(--imm-accent);
}

.imm-product-breadcrumb i {
    flex: 0 0 auto;
    color: #b9c1ca;
    font-size: 6px;
}

.imm-product-breadcrumb span {
    overflow: hidden;
    color: #314258;
    text-overflow: ellipsis;
}

html[dir="rtl"] .imm-product-breadcrumb i {
    transform: rotate(180deg);
}


/* =========================================================
   PRODUCT HERO
========================================================= */

.imm-product-hero {
    position: relative;
    padding: 62px 0 75px;
    background:
        radial-gradient(circle at 18% 20%,
            rgba(255, 90, 54, .07),
            transparent 28%),
        linear-gradient(145deg,
            #fff,
            #f8fafc);
}

.imm-product-hero-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: 60px;
    align-items: center;
}


/* =========================================================
   PRODUCT GALLERY
========================================================= */

.imm-product-gallery {
    min-width: 0;
}

.imm-product-main-image {
    position: relative;
    min-height: 530px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 28px;
    border: 1px solid #e3e8ed;
    border-radius: 19px;
    background:
        linear-gradient(145deg,
            #f7f9fb,
            #fff);
}

.imm-product-main-image::after {
    content: "";
    position: absolute;
    width: 72%;
    height: 18%;
    left: 14%;
    bottom: 8%;
    border-radius: 50%;
    background: rgba(15, 23, 42, .08);
    filter: blur(25px);
}

.imm-product-main-image>img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform .35s ease;
}

.imm-product-main-image:hover>img {
    transform: scale(1.015);
}


/* CATEGORY BADGE */

.imm-product-category {
    position: absolute;
    z-index: 5;
    top: 15px;
    inset-inline-start: 15px;
    max-width: 70%;
    padding: 7px 11px;
    border-radius: 6px;
    background: rgba(7, 17, 31, .92);
    color: #fff;
    text-decoration: none;
    font-size: 7px;
    font-weight: 800;
    line-height: 1.4;
}

.imm-product-category:hover {
    background: var(--imm-accent);
    color: #fff;
}


/* ZOOM */

.imm-product-zoom {
    position: absolute;
    z-index: 5;
    top: 15px;
    inset-inline-end: 15px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e5ea;
    border-radius: 50%;
    background: #fff;
    color: #1c2e43;
    font-size: 11px;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .08);
    transition: .2s ease;
}

.imm-product-zoom:hover {
    border-color: var(--imm-accent);
    background: var(--imm-accent);
    color: #fff;
}


/* =========================================================
   THUMBNAILS
========================================================= */

.imm-product-thumbnails {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
}

.imm-product-thumbnails::-webkit-scrollbar {
    display: none;
}

.imm-product-thumb {
    position: relative;
    width: 92px;
    height: 72px;
    flex: 0 0 auto;
    padding: 6px;
    overflow: hidden;
    border: 1px solid #e2e7ec;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}

.imm-product-thumb:hover,
.imm-product-thumb.active {
    border-color: var(--imm-accent);
}

.imm-product-thumb.active {
    box-shadow:
        0 0 0 2px rgba(255, 90, 54, .08);
}

.imm-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.imm-product-info {
    min-width: 0;
}

.imm-product-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
    color: var(--imm-accent);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.imm-product-label>span {
    width: 29px;
    height: 2px;
    flex: 0 0 auto;
    background: currentColor;
}

.imm-product-info h1 {
    margin: 0;
    color: var(--imm-dark);
    font-size:
        clamp(35px,
            4.2vw,
            55px);
    line-height: 1.07;
    font-weight: 950;
    letter-spacing: -.045em;
}


/* =========================================================
   PRODUCT META
========================================================= */

.imm-product-meta {
    display: grid;
    grid-template-columns:
        repeat(3,
            minmax(0, 1fr));
    margin: 25px 0;
    border-top: 1px solid #e2e7ec;
    border-bottom: 1px solid #e2e7ec;
}

.imm-product-meta>div {
    min-width: 0;
    padding: 14px 12px;
    border-inline-end: 1px solid #e2e7ec;
}

.imm-product-meta>div:first-child {
    padding-inline-start: 0;
}

.imm-product-meta>div:last-child {
    border-inline-end: 0;
}

.imm-product-meta small,
.imm-product-meta strong {
    display: block;
}

.imm-product-meta small {
    margin-bottom: 4px;
    color: #98a3af;
    font-size: 7px;
    font-weight: 750;
    text-transform: uppercase;
}

.imm-product-meta strong {
    overflow: hidden;
    color: #35465b;
    font-size: 9px;
    font-weight: 800;
    text-overflow: ellipsis;
}


/* =========================================================
   INTRO
========================================================= */

.imm-product-intro {
    margin: 0;
    color: #657589;
    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   BENEFITS
========================================================= */

.imm-product-benefits {
    display: grid;
    grid-template-columns:
        repeat(3,
            minmax(0, 1fr));
    gap: 8px;
    margin-top: 26px;
}

.imm-product-benefits>div {
    min-height: 112px;
    padding: 14px;
    border: 1px solid #e4e9ed;
    border-radius: 10px;
    background: #fafbfd;
}

.imm-product-benefits i {
    display: block;
    margin-bottom: 13px;
    color: var(--imm-accent);
    font-size: 16px;
}

.imm-product-benefits strong,
.imm-product-benefits span {
    display: block;
}

.imm-product-benefits strong {
    color: #293b50;
    font-size: 8px;
    line-height: 1.4;
}

.imm-product-benefits span {
    margin-top: 5px;
    color: #8d98a5;
    font-size: 7px;
    line-height: 1.55;
}


/* =========================================================
   ACTIONS
========================================================= */

.imm-product-actions {
    display: grid;
    grid-template-columns:
        1fr 1fr;
    gap: 8px;
    margin-top: 25px;
}

.imm-product-whatsapp,
.imm-product-contact {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 16px;
    border-radius: 9px;
    text-decoration: none;
    transition: .2s ease;
}

.imm-product-whatsapp {
    background: #25d366;
    color: #fff;
}

.imm-product-whatsapp:hover {
    background: #20bd5a;
    color: #fff;
    transform: translateY(-2px);
}

.imm-product-whatsapp>i {
    font-size: 21px;
}

.imm-product-whatsapp small,
.imm-product-whatsapp strong {
    display: block;
}

.imm-product-whatsapp small {
    margin-bottom: 1px;
    font-size: 7px;
    opacity: .75;
}

.imm-product-whatsapp strong {
    font-size: 9px;
    font-weight: 900;
}

.imm-product-contact {
    justify-content: space-between;
    background: var(--imm-dark);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
}

.imm-product-contact:hover {
    background: #10243d;
    color: #fff;
    transform: translateY(-2px);
}

html[dir="rtl"] .imm-product-contact i {
    transform: rotate(180deg);
}


/* =========================================================
   SALES NOTE
========================================================= */

.imm-product-sales-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 13px;
    color: #8c97a5;
    font-size: 8px;
    line-height: 1.65;
}

.imm-product-sales-note i {
    margin-top: 2px;
    color: #20b96b;
}


/* =========================================================
   PRODUCT TAGS
========================================================= */

.imm-product-tags-section {
    border-top: 1px solid #e5e9ed;
    border-bottom: 1px solid #e5e9ed;
    background: #f8fafc;
}

.imm-product-tags {
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.imm-product-tags-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    color: #526276;
    font-size: 8px;
    font-weight: 850;
}

.imm-product-tags-title i {
    color: var(--imm-accent);
}

.imm-product-tags-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.imm-product-tags-list a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid #dfe5ea;
    border-radius: 999px;
    background: #fff;
    color: #6e7c8e;
    text-decoration: none;
    font-size: 7px;
    font-weight: 700;
    transition: .2s ease;
}

.imm-product-tags-list a span {
    color: var(--imm-accent);
}

.imm-product-tags-list a:hover {
    border-color: var(--imm-accent);
    color: var(--imm-accent);
}


/* =========================================================
   PRODUCT SECTIONS
========================================================= */

.imm-product-section {
    padding: 88px 0;
}

.imm-product-overview {
    background: #fff;
}

.imm-product-specifications {
    background: #f6f8fa;
}

.imm-product-video {
    background: #fff;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.imm-product-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
}

.imm-product-section-heading h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size:
        clamp(29px,
            3.7vw,
            46px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-product-section-heading>strong {
    color: #d0d6dc;
    font-size: 39px;
    line-height: 1;
    font-weight: 950;
}


/* =========================================================
   PRODUCT DESCRIPTION
========================================================= */

.imm-product-description {
    position: relative;
    padding: 38px;
    overflow: hidden;
    border: 1px solid #e1e7eb;
    border-radius: 17px;
    background: #fff;
    color: #526276;
    font-size: 11px;
    line-height: 1.9;
}

.imm-product-description::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 4px;
    height: 100%;
    background: var(--imm-accent);
}

.imm-product-description>*:first-child {
    margin-top: 0;
}

.imm-product-description>*:last-child {
    margin-bottom: 0;
}

.imm-product-description h2,
.imm-product-description h3,
.imm-product-description h4,
.imm-product-description strong {
    color: var(--imm-dark);
}

.imm-product-description h2 {
    font-size: 24px;
}

.imm-product-description h3 {
    font-size: 19px;
}

.imm-product-description img {
    max-width: 100%;
    height: auto;
}


/* =========================================================
   TECHNICAL SPECIFICATIONS
========================================================= */

.imm-product-specs-card {
    overflow: hidden;
    border: 1px solid #e0e6eb;
    border-radius: 17px;
    background: #fff;
}

.imm-product-specs-head {
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    border-bottom: 1px solid #e5e9ed;
    background: #fbfcfd;
}

.imm-product-specs-head i {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 7px;
    background: rgba(255, 90, 54, .08);
    color: var(--imm-accent);
}

.imm-product-specs-head p {
    margin: 0;
    color: #758395;
    font-size: 9px;
    line-height: 1.65;
}

.imm-product-specs-content {
    width: 100%;
    overflow-x: auto;
    padding: 22px;
}

.imm-product-specs-content table {
    width: 100% !important;
    min-width: 700px;
    margin: 0 !important;
    border-collapse: collapse !important;
    background: #fff !important;
}

.imm-product-specs-content table,
.imm-product-specs-content tbody,
.imm-product-specs-content tr {
    color: #405167;
}

.imm-product-specs-content th,
.imm-product-specs-content td {
    padding: 11px 13px !important;
    border: 1px solid #e3e8ed !important;
    color: #405167 !important;
    font-family: inherit !important;
    font-size: 9px !important;
    line-height: 1.55 !important;
    vertical-align: middle !important;
}

.imm-product-specs-content th {
    background: #f4f6f8 !important;
    color: #24364b !important;
    font-weight: 850 !important;
}

.imm-product-specs-content tr:nth-child(even) td {
    background: #fafbfd !important;
}


/* =========================================================
   VIDEO
========================================================= */

.imm-product-video-box {
    overflow: hidden;
    width: 100%;
    max-width: 1080px;
    margin: auto;
    border-radius: 18px;
    background: #000;
    box-shadow:
        0 20px 45px rgba(15, 23, 42, .10);
}

.imm-product-video-box iframe,
.imm-product-video-box video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    background: #000;
}


/* =========================================================
   PRODUCT RFQ
========================================================= */

.imm-product-rfq-section {
    padding: 80px 0;
    background: #fff;
}

.imm-product-rfq {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) auto;
    gap: 60px;
    align-items: center;
    padding: 42px 45px;
    border-radius: 19px;
    background:
        radial-gradient(circle at 90% 15%,
            rgba(255, 90, 54, .18),
            transparent 27%),
        var(--imm-dark);
}

.imm-product-rfq::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .08;
    background-image:
        linear-gradient(rgba(255, 255, 255, .07) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .07) 1px,
            transparent 1px);
    background-size: 45px 45px;
}

.imm-product-rfq>* {
    position: relative;
    z-index: 2;
}

.imm-product-rfq .imm-section-kicker {
    color: #ff7658;
}

.imm-product-rfq h2 {
    max-width: 730px;
    margin: 0;
    color: #fff;
    font-size:
        clamp(30px,
            3.8vw,
            46px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-product-rfq p {
    max-width: 680px;
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .53);
    font-size: 10px;
    line-height: 1.8;
}

.imm-product-rfq-actions {
    min-width: 245px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}


/* =========================================================
   RELATED PRODUCTS
========================================================= */

.imm-product-related-section {
    padding: 90px 0;
    background: #f6f8fa;
}

.imm-product-related-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.imm-product-related-heading h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size:
        clamp(29px,
            3.6vw,
            44px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-product-related-heading>a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #516176;
    text-decoration: none;
    font-size: 9px;
    font-weight: 850;
}

.imm-product-related-heading>a i {
    color: var(--imm-accent);
}

html[dir="rtl"] .imm-product-related-heading>a i {
    transform: rotate(180deg);
}


/* =========================================================
   RELATED SWIPER
========================================================= */

.immRelatedProductsSwiper {
    width: 100%;
    overflow: hidden;
    padding-bottom: 31px;
}

.immRelatedProductsSwiper .swiper-slide {
    height: auto;
}

.imm-related-product-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #e1e6eb;
    border-radius: 14px;
    background: #fff;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.imm-related-product-card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 16px 38px rgba(15, 23, 42, .08);
}

.imm-related-product-image {
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 14px;
    background: #fff;
}

.imm-related-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.imm-related-product-card:hover .imm-related-product-image img {
    transform: scale(1.04);
}

.imm-related-product-body {
    padding: 17px;
    border-top: 1px solid #edf0f2;
}

.imm-related-product-body>span {
    display: block;
    margin-bottom: 6px;
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 800;
}

.imm-related-product-body h3 {
    margin: 0;
    min-height: 42px;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 850;
}

.imm-related-product-body h3 a {
    color: var(--imm-dark);
    text-decoration: none;
}

.imm-related-product-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 13px;
    color: #536479;
    text-decoration: none;
    font-size: 8px;
    font-weight: 850;
}

.imm-related-product-link i {
    color: var(--imm-accent);
    font-size: 7px;
}

html[dir="rtl"] .imm-related-product-link i {
    transform: rotate(180deg);
}

.imm-related-products-pagination {
    margin-top: 20px;
    text-align: center;
}

.imm-related-products-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    opacity: 1;
    background: #c4ccd5;
}

.imm-related-products-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 8px;
    background: var(--imm-accent);
}


/* =========================================================
   LIGHTBOX
========================================================= */

body.imm-lightbox-open {
    overflow: hidden;
}

.imm-product-lightbox {
    position: fixed;
    z-index: 999999;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px;
    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.imm-product-lightbox.active {
    visibility: visible;
    opacity: 1;
}

.imm-product-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background:
        rgba(3, 8, 14, .90);
    backdrop-filter: blur(5px);
}

.imm-product-lightbox>img {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 92vw;
    max-height: 88vh;
    object-fit: contain;
}

.imm-product-lightbox-close {
    position: absolute;
    z-index: 4;
    top: 20px;
    inset-inline-end: 20px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #101d2d;
    font-size: 14px;
    cursor: pointer;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .imm-product-hero-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .imm-product-main-image {
        min-height: 440px;
    }

    .imm-product-rfq {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .imm-product-rfq-actions {
        max-width: 330px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-product-breadcrumb {
        min-height: 43px;
    }

    .imm-product-hero {
        padding: 38px 0 55px;
    }

    .imm-product-hero-layout {
        gap: 30px;
    }

    .imm-product-main-image {
        min-height: 300px;
        padding: 15px;
        border-radius: 14px;
    }

    .imm-product-info h1 {
        font-size: 34px;
    }

    .imm-product-meta {
        grid-template-columns: 1fr;
    }

    .imm-product-meta>div,
    .imm-product-meta>div:first-child {
        padding: 11px 0;
        border-inline-end: 0;
        border-bottom: 1px solid #e2e7ec;
    }

    .imm-product-meta>div:last-child {
        border-bottom: 0;
    }

    .imm-product-benefits {
        grid-template-columns: 1fr;
    }

    .imm-product-benefits>div {
        min-height: auto;
    }

    .imm-product-actions {
        grid-template-columns: 1fr;
    }

    .imm-product-tags {
        min-height: auto;
        padding: 17px 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .imm-product-section {
        padding: 60px 0;
    }

    .imm-product-section-heading {
        align-items: center;
    }

    .imm-product-section-heading>strong {
        font-size: 27px;
    }

    .imm-product-description {
        padding: 23px 18px;
    }

    .imm-product-specs-content {
        padding: 12px;
    }

    .imm-product-rfq-section {
        padding: 60px 0;
    }

    .imm-product-rfq {
        padding: 29px 20px;
    }

    .imm-product-rfq-actions {
        min-width: 0;
        max-width: none;
    }

    .imm-product-related-section {
        padding: 65px 0;
    }

    .imm-product-related-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .immRelatedProductsSwiper {
        overflow: visible;
    }

    .imm-product-lightbox {
        padding: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .imm-product-main-image {
        min-height: 265px;
    }

    .imm-product-thumb {
        width: 78px;
        height: 62px;
    }

    .imm-product-info h1 {
        font-size: 30px;
    }

    .imm-product-rfq h2,
    .imm-product-section-heading h2,
    .imm-product-related-heading h2 {
        font-size: 28px;
    }

}

/* =========================================================
   ABOUT / COMPANY PROFILE
========================================================= */

.imm-about-page {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.imm-about-hero {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 82% 18%,
            rgba(255, 90, 54, .10),
            transparent 27%),
        linear-gradient(135deg,
            #f7f9fc,
            #fff);
}


.imm-about-hero-grid-bg {
    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: .4;

    background-image:
        linear-gradient(rgba(7, 17, 31, .035) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(7, 17, 31, .035) 1px,
            transparent 1px);

    background-size:
        54px 54px;
}


.imm-about-hero-layout {
    position: relative;

    z-index: 2;

    min-height: 620px;

    display: grid;

    grid-template-columns:
        minmax(0, .85fr) minmax(520px, 1.15fr);

    gap: 60px;

    align-items: center;

    padding:
        75px 0;
}


.imm-about-hero-content h1 {
    margin: 0;

    max-width: 760px;

    color:
        var(--imm-dark);

    font-size:
        clamp(43px,
            5.6vw,
            72px);

    line-height: 1;

    font-weight: 950;

    letter-spacing: -.055em;
}


.imm-about-hero-desc {
    max-width: 680px;

    margin:
        23px 0 0;

    color:
        #66768a;

    font-size: 13px;

    line-height: 1.9;
}


.imm-about-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 28px;
}


.imm-about-outline-btn {
    min-height: 50px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding:
        0 21px;

    border:
        1px solid #dce3e9;

    border-radius: 9px;

    background:
        #fff;

    color:
        #34465b;

    text-decoration: none;

    font-size: 9px;

    font-weight: 850;
}


.imm-about-outline-btn:hover {
    border-color:
        var(--imm-dark);

    color:
        var(--imm-dark);
}


/* HERO META */

.imm-about-hero-meta {
    display: flex;

    gap: 38px;

    margin-top: 38px;
}


.imm-about-hero-meta strong,
.imm-about-hero-meta span {
    display: block;
}


.imm-about-hero-meta strong {
    color:
        var(--imm-dark);

    font-size: 24px;

    font-weight: 950;
}


.imm-about-hero-meta span {
    margin-top: 3px;

    color:
        #8e99a6;

    font-size: 8px;

    text-transform: uppercase;
}


/* HERO VISUAL */

.imm-about-hero-visual {
    position: relative;
}


.imm-about-hero-image {
    position: relative;

    min-height: 480px;

    overflow: hidden;

    border-radius:
        22px 22px 80px 22px;

    background:
        #e8edf2;

    box-shadow:
        0 25px 55px rgba(15, 23, 42, .13);
}


.imm-about-hero-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(7, 17, 31, .20),
            transparent 55%);
}


.imm-about-hero-image img {
    width: 100%;

    height: 100%;

    min-height: 480px;

    object-fit: cover;
}


.imm-about-floating-panel {
    position: absolute;

    inset-inline-start:
        -35px;

    bottom:
        30px;

    min-width:
        170px;

    padding:
        20px;

    border-radius:
        12px;

    background:
        var(--imm-dark);

    color: #fff;

    box-shadow:
        0 15px 35px rgba(7, 17, 31, .22);
}


.imm-about-floating-panel span,
.imm-about-floating-panel strong {
    display: block;
}


.imm-about-floating-panel span {
    color:
        var(--imm-accent);

    font-size: 30px;

    font-weight: 950;
}


.imm-about-floating-panel strong {
    margin-top: 4px;

    color:
        rgba(255, 255, 255, .70);

    font-size: 8px;

    line-height: 1.5;
}


/* =========================================================
   NUMBERS
========================================================= */

.imm-about-numbers {
    border-top:
        1px solid #e4e8ec;

    border-bottom:
        1px solid #e4e8ec;

    background:
        #fff;
}


.imm-about-numbers-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}


.imm-about-number {
    min-height: 125px;

    padding:
        24px;

    border-inline-end:
        1px solid #e4e8ec;
}


.imm-about-number:last-child {
    border-inline-end: 0;
}


.imm-about-number>span {
    display: block;

    margin-bottom:
        11px;

    color:
        var(--imm-accent);

    font-size: 7px;

    font-weight: 900;
}


.imm-about-number strong,
.imm-about-number small {
    display: block;
}


.imm-about-number strong {
    color:
        var(--imm-dark);

    font-size: 28px;

    font-weight: 950;
}


.imm-about-number small {
    margin-top:
        3px;

    color:
        #8b97a5;

    font-size: 8px;
}


/* =========================================================
   STORY
========================================================= */

.imm-about-story {
    padding:
        100px 0;
}


.imm-about-story-layout {
    display: grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap:
        90px;
}


.imm-about-story-heading h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(32px,
            4vw,
            49px);

    line-height: 1.08;

    font-weight: 900;

    letter-spacing: -.045em;
}


.imm-about-story-lead {
    margin:
        0 0 25px;

    color:
        #24364b;

    font-size: 18px;

    line-height: 1.65;

    font-weight: 750;
}


.imm-about-story-columns {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        30px;
}


.imm-about-story-columns p {
    margin: 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.9;
}


/* =========================================================
   CAPABILITIES
========================================================= */

.imm-about-capabilities {
    padding:
        95px 0;

    background:
        var(--imm-dark);
}


.imm-about-section-center {
    max-width:
        760px;

    margin:
        0 auto 40px;

    text-align:
        center;
}


.imm-about-section-center h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(30px,
            4vw,
            47px);

    line-height: 1.1;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-capability-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top:
        1px solid rgba(255, 255, 255, .09);

    border-inline-start:
        1px solid rgba(255, 255, 255, .09);
}


.imm-about-capability-card {
    min-height: 300px;

    padding:
        28px;

    border-inline-end:
        1px solid rgba(255, 255, 255, .09);

    border-bottom:
        1px solid rgba(255, 255, 255, .09);

    transition:
        background .25s ease;
}


.imm-about-capability-card:hover {
    background:
        rgba(255, 255, 255, .035);
}


.imm-about-capability-top {
    display: flex;

    align-items: center;

    justify-content: space-between;
}


.imm-about-capability-top span {
    color:
        rgba(255, 255, 255, .26);

    font-size: 8px;
}


.imm-about-capability-top i {
    color:
        var(--imm-accent);

    font-size: 20px;
}


.imm-about-capability-card h3 {
    margin:
        65px 0 12px;

    color: #fff;

    font-size: 20px;

    font-weight: 850;
}


.imm-about-capability-card p {
    margin: 0;

    color:
        rgba(255, 255, 255, .50);

    font-size: 10px;

    line-height: 1.8;
}


/* =========================================================
   FACTORY
========================================================= */

.imm-about-factory {
    padding:
        100px 0;

    background:
        #f6f8fa;
}


.imm-about-factory-layout {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        70px;

    align-items: center;
}


.imm-about-factory-image {
    position: relative;

    min-height:
        570px;

    overflow: hidden;

    border-radius:
        18px;
}


.imm-about-factory-image img {
    width: 100%;

    height: 100%;

    min-height:
        570px;

    object-fit: cover;
}


.imm-about-factory-index {
    position: absolute;

    inset-inline-end:
        18px;

    bottom:
        18px;

    min-width:
        130px;

    padding:
        16px;

    border-radius:
        10px;

    background:
        rgba(7, 17, 31, .90);

    color: #fff;
}


.imm-about-factory-index span,
.imm-about-factory-index strong {
    display: block;
}


.imm-about-factory-index span {
    color:
        rgba(255, 255, 255, .44);

    font-size: 7px;

    letter-spacing: .1em;
}


.imm-about-factory-index strong {
    margin-top:
        4px;

    color:
        var(--imm-accent);

    font-size: 27px;
}


.imm-about-factory-copy h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(31px,
            4vw,
            49px);

    line-height: 1.08;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-factory-copy>p {
    margin:
        18px 0 27px;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.9;
}


.imm-about-factory-stats {
    border-top:
        1px solid #dfe5ea;

    border-bottom:
        1px solid #dfe5ea;
}


.imm-about-factory-stats>div {
    display: grid;

    grid-template-columns:
        120px 1fr;

    gap:
        20px;

    align-items: center;

    min-height:
        70px;

    border-bottom:
        1px solid #dfe5ea;
}


.imm-about-factory-stats>div:last-child {
    border-bottom: 0;
}


.imm-about-factory-stats strong {
    color:
        var(--imm-dark);

    font-size: 19px;

    font-weight: 950;
}


.imm-about-factory-stats span {
    color:
        #8490a0;

    font-size: 8px;
}


/* =========================================================
   PROCESS
========================================================= */

.imm-about-process {
    padding:
        100px 0;
}


.imm-about-process-heading {
    display: grid;

    grid-template-columns:
        1fr 420px;

    gap:
        60px;

    align-items: end;

    margin-bottom:
        40px;
}


.imm-about-process-heading h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(31px,
            4vw,
            48px);

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-process-heading>p {
    margin: 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.85;
}


.imm-about-process-list {
    border-top:
        1px solid #dfe5ea;
}


.imm-about-process-list article {
    min-height:
        140px;

    display: grid;

    grid-template-columns:
        65px 55px 1fr;

    gap:
        25px;

    align-items: center;

    border-bottom:
        1px solid #dfe5ea;
}


.imm-about-process-no {
    color:
        var(--imm-accent);

    font-size: 9px;

    font-weight: 900;
}


.imm-about-process-icon {
    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius:
        9px;

    background:
        #f5f7f9;

    color:
        var(--imm-dark);
}


.imm-about-process-list h3 {
    margin:
        0 0 6px;

    color:
        var(--imm-dark);

    font-size:
        18px;

    font-weight: 850;
}


.imm-about-process-list p {
    max-width:
        780px;

    margin: 0;

    color:
        var(--imm-muted);

    font-size:
        10px;

    line-height: 1.75;
}


/* =========================================================
   FACTORY GALLERY
========================================================= */

.imm-about-gallery {
    padding:
        95px 0;

    background:
        #f6f8fa;
}


.imm-about-gallery-head {
    display: grid;

    grid-template-columns:
        1fr 420px;

    gap:
        60px;

    align-items: end;

    margin-bottom:
        35px;
}


.imm-about-gallery-head h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(31px,
            4vw,
            48px);

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-gallery-head>p {
    margin: 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.85;
}


.immAboutGallerySwiper {
    overflow: hidden;

    padding-bottom:
        30px;
}


.immAboutGallerySwiper .swiper-slide {
    height: auto;
}


.imm-about-gallery-card {
    position: relative;

    height:
        380px;

    margin: 0;

    overflow: hidden;

    border-radius:
        15px;

    background:
        #dde4ea;
}


.imm-about-gallery-card img {
    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .4s ease;
}


.imm-about-gallery-card:hover img {
    transform:
        scale(1.04);
}


.imm-about-gallery-card::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(7, 17, 31, .80),
            transparent 55%);
}


.imm-about-gallery-card figcaption {
    position: absolute;

    z-index: 3;

    inset-inline:
        18px;

    bottom:
        17px;
}


.imm-about-gallery-card figcaption span,
.imm-about-gallery-card figcaption strong {
    display: block;
}


.imm-about-gallery-card figcaption span {
    margin-bottom:
        5px;

    color:
        var(--imm-accent);

    font-size: 7px;
}


.imm-about-gallery-card figcaption strong {
    color: #fff;

    font-size: 13px;

    font-weight: 800;
}


.imm-about-gallery-pagination {
    margin-top:
        20px;

    text-align: center;
}


.imm-about-gallery-pagination .swiper-pagination-bullet {
    width: 6px;

    height: 6px;

    opacity: 1;

    background:
        #c4ccd5;
}


.imm-about-gallery-pagination .swiper-pagination-bullet-active {
    width: 25px;

    border-radius:
        10px;

    background:
        var(--imm-accent);
}


/* =========================================================
   CERTIFICATES
========================================================= */

.imm-about-certificates {
    padding:
        100px 0;
}


.imm-about-certificates-layout {
    display: grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap:
        70px;

    align-items: start;
}


.imm-about-certificates-copy {
    position: sticky;

    top:
        120px;
}


.imm-about-certificates-copy h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(30px,
            4vw,
            47px);

    line-height: 1.08;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-certificates-copy p {
    margin:
        17px 0 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.9;
}


.imm-about-certificates-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:
        13px;
}


.imm-about-certificate {
    position: relative;

    height:
        360px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    padding:
        18px;

    border:
        1px solid #e1e6eb;

    border-radius:
        14px;

    background:
        #f8fafc;

    text-decoration: none;

    transition:
        .25s ease;
}


.imm-about-certificate:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(255, 90, 54, .25);

    box-shadow:
        0 15px 35px rgba(15, 23, 42, .08);
}


.imm-about-certificate img {
    width: 100%;

    height: 100%;

    object-fit: contain;
}


.imm-about-certificate span {
    position: absolute;

    top:
        12px;

    inset-inline-start:
        12px;

    width:
        30px;

    height:
        30px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius:
        6px;

    background:
        var(--imm-dark);

    color: #fff;

    font-size: 7px;

    font-weight: 800;
}


/* =========================================================
   QUALITY
========================================================= */

.imm-about-quality {
    padding:
        95px 0;

    background:
        #f6f8fa;
}


.imm-about-quality-shell {
    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    gap:
        70px;

    padding:
        42px;

    border-radius:
        18px;

    background:
        var(--imm-dark);
}


.imm-about-quality-intro h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(29px,
            3.8vw,
            44px);

    line-height: 1.1;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-quality-intro p {
    margin:
        15px 0 0;

    color:
        rgba(255, 255, 255, .50);

    font-size: 10px;

    line-height: 1.85;
}


.imm-about-quality-points {
    border-top:
        1px solid rgba(255, 255, 255, .10);
}


.imm-about-quality-points>div {
    min-height:
        82px;

    display: grid;

    grid-template-columns:
        45px 1fr;

    gap:
        18px;

    align-items: center;

    border-bottom:
        1px solid rgba(255, 255, 255, .10);
}


.imm-about-quality-points span {
    color:
        var(--imm-accent);

    font-size: 8px;
}


.imm-about-quality-points strong {
    color:
        rgba(255, 255, 255, .80);

    font-size: 10px;

    line-height: 1.6;
}


/* =========================================================
   CTA
========================================================= */

.imm-about-cta {
    padding:
        90px 0;
}


.imm-about-cta-shell {
    position: relative;

    overflow: hidden;

    display: grid;

    grid-template-columns:
        1fr auto;

    gap:
        60px;

    align-items: center;

    padding:
        44px;

    border-radius:
        19px;

    background:
        radial-gradient(circle at 88% 20%,
            rgba(255, 90, 54, .18),
            transparent 28%),
        var(--imm-dark);
}


.imm-about-cta-shell h2 {
    margin: 0;

    max-width:
        720px;

    color: #fff;

    font-size:
        clamp(30px,
            4vw,
            47px);

    line-height: 1.08;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-about-cta-shell p {
    max-width:
        650px;

    margin:
        14px 0 0;

    color:
        rgba(255, 255, 255, .52);

    font-size: 10px;

    line-height: 1.8;
}


.imm-about-cta-actions {
    min-width:
        230px;

    display: flex;

    flex-direction: column;

    gap:
        8px;
}


.imm-about-cta-contact {
    min-height:
        50px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        0 20px;

    border:
        1px solid rgba(255, 255, 255, .15);

    border-radius:
        9px;

    background:
        rgba(255, 255, 255, .05);

    color: #fff;

    text-decoration: none;

    font-size: 9px;

    font-weight: 850;
}


.imm-about-cta-contact:hover {
    background:
        rgba(255, 255, 255, .10);

    color: #fff;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-about-hero-actions .fa-arrow-right,
html[dir="rtl"] .imm-about-cta-actions .fa-arrow-right {
    transform:
        rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .imm-about-hero-layout {
        min-height: auto;

        grid-template-columns:
            1fr;

        gap:
            40px;

        padding:
            60px 0;
    }


    .imm-about-floating-panel {
        inset-inline-start:
            20px;
    }


    .imm-about-story-layout,
    .imm-about-factory-layout,
    .imm-about-certificates-layout,
    .imm-about-quality-shell {
        grid-template-columns:
            1fr;

        gap:
            40px;
    }


    .imm-about-process-heading,
    .imm-about-gallery-head {
        grid-template-columns:
            1fr;

        gap:
            15px;
    }


    .imm-about-certificates-copy {
        position:
            static;
    }


    .imm-about-cta-shell {
        grid-template-columns:
            1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .imm-about-hero-content h1 {
        font-size:
            41px;
    }


    .imm-about-hero-actions {
        flex-direction:
            column;
    }


    .imm-about-hero-actions a {
        width:
            100%;
    }


    .imm-about-hero-meta {
        gap:
            25px;
    }


    .imm-about-hero-image,
    .imm-about-hero-image img {
        min-height:
            340px;
    }


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


    .imm-about-number:nth-child(2) {
        border-inline-end:
            0;
    }


    .imm-about-number:nth-child(-n+2) {
        border-bottom:
            1px solid #e4e8ec;
    }


    .imm-about-story,
    .imm-about-capabilities,
    .imm-about-factory,
    .imm-about-process,
    .imm-about-gallery,
    .imm-about-certificates,
    .imm-about-quality,
    .imm-about-cta {
        padding:
            65px 0;
    }


    .imm-about-story-columns {
        grid-template-columns:
            1fr;

        gap:
            15px;
    }


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


    .imm-about-capability-card {
        min-height:
            240px;
    }


    .imm-about-factory-image,
    .imm-about-factory-image img {
        min-height:
            380px;
    }


    .imm-about-process-list article {
        grid-template-columns:
            40px 40px 1fr;

        gap:
            15px;

        min-height:
            130px;
    }


    .immAboutGallerySwiper {
        overflow:
            visible;
    }


    .imm-about-gallery-card {
        height:
            320px;
    }


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


    .imm-about-certificate {
        height:
            420px;
    }


    .imm-about-quality-shell {
        padding:
            28px 20px;
    }


    .imm-about-cta-shell {
        padding:
            30px 22px;
    }


    .imm-about-cta-actions {
        min-width:
            0;
    }

}


/* =========================================================
   NEWS PAGE
========================================================= */

.imm-news-page {
    background: #fff;
    color: #0b1728;
}


/* =========================================================
   HERO
========================================================= */

.imm-news-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 90px;
    background:
        linear-gradient(120deg,
            #071525 0%,
            #0b1d31 62%,
            #102a42 100%);
    color: #fff;
}

.imm-news-hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    right: -160px;
    top: -260px;
}

.imm-news-hero::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 70px solid rgba(255, 91, 65, .06);
    border-radius: 50%;
    right: 15%;
    bottom: -200px;
}

.imm-news-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 70px;
    align-items: end;
}

.imm-news-hero-copy {
    max-width: 850px;
}

.imm-news-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #ff5b41;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.imm-news-eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor;
}

.imm-news-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(45px, 5.4vw, 78px);
    line-height: .98;
    letter-spacing: -3px;
    font-weight: 800;
}

.imm-news-hero-copy>p {
    max-width: 700px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 17px;
    line-height: 1.8;
}

.imm-news-hero-side {
    padding-left: 30px;
    border-left: 1px solid rgba(255, 255, 255, .15);
}

.imm-news-hero-side>span {
    display: block;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, .55);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.imm-news-hero-side strong {
    display: block;
    font-size: 68px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -4px;
}

.imm-news-hero-side small {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .6);
}


/* =========================================================
   SEARCH
========================================================= */

.imm-news-tools {
    position: relative;
    z-index: 5;
    margin-top: -31px;
}

.imm-news-search {
    display: flex;
    align-items: stretch;
    max-width: 970px;
    margin: auto;
    min-height: 64px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 18px 55px rgba(9, 30, 53, .12);
}

.imm-news-search-field {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 24px;
}

.imm-news-search-icon {
    color: #ff5b41;
    font-size: 25px;
}

.imm-news-search input[type="search"] {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0b1728;
    font-size: 15px;
}

.imm-news-search button {
    min-width: 150px;
    border: 0;
    padding: 0 25px;
    background: #ff5b41;
    color: #fff;
    font-weight: 800;
    transition: .25s ease;
}

.imm-news-search button span {
    margin-left: 10px;
}

.imm-news-search button:hover {
    background: #071525;
}

.imm-news-clear {
    display: flex;
    align-items: center;
    padding: 0 20px;
    color: #687386;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   FEATURED
========================================================= */

.imm-news-featured {
    padding: 100px 0 30px;
}

.imm-news-featured-card {
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 520px;
    background: #f4f6f8;
}

.imm-news-featured-image {
    position: relative;
    display: block;
    min-height: 520px;
    overflow: hidden;
}

.imm-news-featured-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s ease;
}

.imm-news-featured-card:hover img {
    transform: scale(1.035);
}

.imm-news-featured-badge {
    position: absolute;
    left: 24px;
    top: 24px;
    padding: 10px 15px;
    background: #ff5b41;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.imm-news-featured-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px;
}

.imm-news-content-label {
    margin-bottom: 20px;
    color: #ff5b41;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.imm-news-featured-content h2 {
    margin: 0;
    font-size: clamp(31px, 3vw, 48px);
    line-height: 1.1;
    letter-spacing: -1.7px;
    font-weight: 800;
}

.imm-news-featured-content h2 a {
    color: #071525;
    text-decoration: none;
}

.imm-news-featured-content p {
    margin: 25px 0 0;
    color: #687386;
    font-size: 15px;
    line-height: 1.85;
}

.imm-news-featured-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-top: 35px;
    padding-top: 27px;
    border-top: 1px solid #dce2e8;
}

.imm-news-primary-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #071525;
    font-weight: 800;
    text-decoration: none;
}

.imm-news-primary-link span {
    color: #ff5b41;
    transition: transform .25s ease;
}

.imm-news-primary-link:hover span {
    transform: translateX(5px);
}

.imm-news-view-count {
    color: #8993a2;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   LIBRARY
========================================================= */

.imm-news-library {
    padding: 90px 0 110px;
}

.imm-news-library-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e4e9ee;
}

.imm-news-library-head h2 {
    margin: 0;
    color: #071525;
    font-size: clamp(34px, 4vw, 55px);
    line-height: 1.05;
    letter-spacing: -2px;
    font-weight: 800;
}

.imm-news-result-count {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.imm-news-result-count strong {
    color: #ff5b41;
    font-size: 28px;
}

.imm-news-result-count span {
    color: #8993a2;
    font-size: 12px;
    font-weight: 700;
}

.imm-news-search-context {
    margin-top: 25px;
    padding: 16px 20px;
    background: #f5f7f9;
    color: #687386;
    font-size: 13px;
}

.imm-news-search-context strong {
    margin-left: 5px;
    color: #071525;
}


/* =========================================================
   NEWS GRID
========================================================= */

.imm-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 45px 28px;
    margin-top: 48px;
}

.imm-news-card {
    min-width: 0;
}

.imm-news-card-image {
    position: relative;
    display: block;
    height: 285px;
    overflow: hidden;
    background: #eef1f4;
}

.imm-news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.imm-news-card:hover .imm-news-card-image img {
    transform: scale(1.045);
}

.imm-news-card-index {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 55px;
    padding: 13px;
    background: #071525;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
}

.imm-news-card-content {
    padding-top: 23px;
}

.imm-news-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 13px;
}

.imm-news-card-top>span {
    color: #ff5b41;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.imm-news-card-top small {
    color: #9aa3af;
    font-size: 11px;
}

.imm-news-card h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 800;
}

.imm-news-card h3 a {
    color: #071525;
    text-decoration: none;
    transition: color .2s ease;
}

.imm-news-card h3 a:hover {
    color: #ff5b41;
}

.imm-news-card p {
    margin: 15px 0 0;
    color: #727d8e;
    font-size: 13px;
    line-height: 1.75;
}

.imm-news-card-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    color: #071525;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.imm-news-card-link span {
    color: #ff5b41;
    font-size: 17px;
}


/* =========================================================
   EMPTY
========================================================= */

.imm-news-empty {
    max-width: 650px;
    margin: 70px auto 0;
    padding: 70px 40px;
    background: #f6f8fa;
    text-align: center;
}

.imm-news-empty-number {
    display: block;
    color: #ff5b41;
    font-size: 55px;
    line-height: 1;
    font-weight: 800;
}

.imm-news-empty h3 {
    margin: 20px 0 10px;
    font-size: 27px;
}

.imm-news-empty p {
    color: #727d8e;
}

.imm-news-empty a {
    display: inline-flex;
    gap: 12px;
    margin-top: 20px;
    color: #071525;
    font-weight: 800;
    text-decoration: none;
}


/* =========================================================
   SEO CONTENT
========================================================= */

.imm-news-seo {
    padding: 85px 0;
    background: #f4f6f8;
}

.imm-news-seo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center;
}

.imm-news-seo h2 {
    max-width: 570px;
    margin: 0;
    color: #071525;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    letter-spacing: -1.8px;
    font-weight: 800;
}

.imm-news-seo p {
    margin: 0;
    color: #687386;
    font-size: 15px;
    line-height: 1.9;
}

.imm-news-seo a {
    display: inline-flex;
    gap: 12px;
    margin-top: 25px;
    color: #ff5b41;
    font-weight: 800;
    text-decoration: none;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-news-hero-side {
    padding-left: 0;
    padding-right: 30px;
    border-left: 0;
    border-right: 1px solid rgba(255, 255, 255, .15);
}

html[dir="rtl"] .imm-news-eyebrow::before {
    order: 2;
}

html[dir="rtl"] .imm-news-search button span,
html[dir="rtl"] .imm-news-primary-link span {
    display: inline-block;
    transform: rotate(180deg);
}

html[dir="rtl"] .imm-news-featured-badge {
    left: auto;
    right: 24px;
}

html[dir="rtl"] .imm-news-card-index {
    right: auto;
    left: 0;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .imm-news-hero {
        padding: 80px 0;
    }

    .imm-news-hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .imm-news-hero-side {
        max-width: 220px;
    }

    .imm-news-featured-card {
        grid-template-columns: 1fr;
    }

    .imm-news-featured-image {
        min-height: 430px;
    }

    .imm-news-featured-content {
        padding: 40px;
    }

    .imm-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imm-news-seo-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-news-hero {
        padding: 65px 0 75px;
    }

    .imm-news-hero h1 {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .imm-news-tools {
        margin-top: -22px;
    }

    .imm-news-search {
        display: grid;
        grid-template-columns: 1fr;
    }

    .imm-news-search-field {
        min-height: 60px;
    }

    .imm-news-search button {
        min-height: 55px;
    }

    .imm-news-clear {
        justify-content: center;
        min-height: 45px;
    }

    .imm-news-featured {
        padding-top: 70px;
    }

    .imm-news-featured-image {
        min-height: 300px;
    }

    .imm-news-featured-content {
        padding: 30px 25px;
    }

    .imm-news-featured-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .imm-news-library {
        padding: 70px 0;
    }

    .imm-news-library-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .imm-news-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .imm-news-card-image {
        height: 260px;
    }

    .imm-news-seo {
        padding: 65px 0;
    }
}

/* =========================================================
   SINGLE NEWS PAGE
========================================================= */

.imm-single-news-page {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   ERROR
========================================================= */

.imm-single-news-error {
    padding: 110px 0;
    background: #f6f8fa;
}

.imm-single-news-error-card {
    max-width: 650px;
    margin: auto;
    padding: 70px 30px;
    background: #fff;
    text-align: center;
}

.imm-single-news-error-card>span {
    display: block;
    color: #ff5b41;
    font-size: 70px;
    line-height: 1;
    font-weight: 900;
}

.imm-single-news-error-card h1 {
    margin: 20px 0 0;
    color: #071525;
    font-size: 35px;
}

.imm-single-news-error-card p {
    margin: 12px 0 25px;
    color: #687386;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.imm-single-news-breadcrumb-wrap {
    border-bottom: 1px solid #e5e9ee;
    background: #f8fafc;
}

.imm-single-news-breadcrumb {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 9px;
    overflow: hidden;
    color: #8b96a4;
    font-size: 11px;
    white-space: nowrap;
}

.imm-single-news-breadcrumb a {
    color: #677588;
    text-decoration: none;
}

.imm-single-news-breadcrumb>span {
    color: #ff5b41;
}

.imm-single-news-breadcrumb strong {
    overflow: hidden;
    color: #24364c;
    font-weight: 700;
    text-overflow: ellipsis;
}


/* =========================================================
   HERO
========================================================= */

.imm-single-news-hero {
    position: relative;
    overflow: hidden;
    padding: 95px 0 105px;
    background:
        radial-gradient(circle at 82% 15%,
            rgba(255, 91, 65, .14),
            transparent 25%),
        #071525;
    color: #fff;
}

.imm-single-news-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .07;
    background-image:
        linear-gradient(rgba(255, 255, 255, .1) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .1) 1px,
            transparent 1px);
    background-size: 58px 58px;
}

.imm-single-news-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 190px;
    gap: 80px;
    align-items: end;
}

.imm-single-news-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #ff5b41;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.imm-single-news-label::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor;
}

.imm-single-news-hero h1 {
    max-width: 1000px;
    margin: 0;
    color: #fff;
    font-size:
        clamp(42px,
            5vw,
            70px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -2.6px;
}

.imm-single-news-hero-content>p {
    max-width: 780px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .62);
    font-size: 16px;
    line-height: 1.85;
}

.imm-single-news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 32px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, .11);
}

.imm-single-news-meta span {
    color: rgba(255, 255, 255, .40);
    font-size: 10px;
    text-transform: uppercase;
}

.imm-single-news-meta strong {
    margin-inline-end: 6px;
    color: #fff;
    font-size: 11px;
}

.imm-single-news-hero-index {
    padding-inline-start: 25px;
    border-inline-start: 1px solid rgba(255, 255, 255, .13);
}

.imm-single-news-hero-index>span,
.imm-single-news-hero-index strong,
.imm-single-news-hero-index small {
    display: block;
}

.imm-single-news-hero-index>span {
    color: rgba(255, 255, 255, .35);
    font-size: 8px;
    letter-spacing: 1.5px;
}

.imm-single-news-hero-index strong {
    margin: 10px 0;
    color: #ff5b41;
    font-size: 64px;
    line-height: 1;
    font-weight: 900;
}

.imm-single-news-hero-index small {
    color: rgba(255, 255, 255, .55);
    font-size: 9px;
    line-height: 1.6;
}


/* =========================================================
   MAIN IMAGE
========================================================= */

.imm-single-news-image-section {
    position: relative;
    z-index: 4;
    margin-top: -45px;
}

.imm-single-news-main-image {
    position: relative;
    height: 640px;
    overflow: hidden;
    background: #e5e9ed;
    box-shadow: 0 20px 55px rgba(10, 30, 50, .12);
}

.imm-single-news-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform .5s ease;
}

.imm-single-news-main-image:hover img {
    transform: scale(1.015);
}

.imm-single-news-main-image button {
    position: absolute;
    top: 20px;
    inset-inline-end: 20px;
    width: 48px;
    height: 48px;
    border: 0;
    background: #fff;
    color: #071525;
    font-size: 19px;
    cursor: pointer;
}


/* =========================================================
   CONTENT
========================================================= */

.imm-single-news-content-section {
    padding: 95px 0;
}

.imm-single-news-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 320px;
    gap: 70px;
    align-items: start;
}

.imm-single-news-article-heading {
    margin-bottom: 32px;
    padding-bottom: 25px;
    border-bottom: 1px solid #e5e9ee;
}

.imm-single-news-article-heading>span {
    display: block;
    margin-bottom: 9px;
    color: #ff5b41;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.imm-single-news-article-heading h2 {
    margin: 0;
    color: #071525;
    font-size: 31px;
    line-height: 1.25;
    font-weight: 800;
}


/* =========================================================
   ARTICLE BODY
========================================================= */

.imm-single-news-body {
    color: #4f5f73;
    font-size: 15px;
    line-height: 1.95;
}

.imm-single-news-body p {
    margin: 0 0 22px;
}

.imm-single-news-body h2 {
    margin: 45px 0 18px;
    color: #071525;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 800;
}

.imm-single-news-body h3 {
    margin: 35px 0 15px;
    color: #071525;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
}

.imm-single-news-body h4 {
    margin: 28px 0 12px;
    color: #071525;
    font-size: 19px;
}

.imm-single-news-body strong {
    color: #071525;
}

.imm-single-news-body a {
    color: #ff5b41;
}

.imm-single-news-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 32px auto;
}

.imm-single-news-body ul,
.imm-single-news-body ol {
    margin: 22px 0;
    padding-inline-start: 25px;
}

.imm-single-news-body li {
    margin-bottom: 9px;
}

.imm-single-news-body blockquote {
    margin: 35px 0;
    padding: 25px 30px;
    border-inline-start: 4px solid #ff5b41;
    background: #f5f7f9;
    color: #34475d;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   TABLES INSIDE ARTICLE
========================================================= */

.imm-single-news-body table {
    width: 100%;
    margin: 30px 0;
    border-collapse: collapse;
}

.imm-single-news-body th,
.imm-single-news-body td {
    padding: 12px 14px;
    border: 1px solid #dfe5ea;
    font-size: 13px;
}

.imm-single-news-body th {
    background: #071525;
    color: #fff;
}


/* =========================================================
   SIDEBAR
========================================================= */

.imm-single-news-sidebar {
    position: sticky;
    top: 115px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.imm-single-news-side-card {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border: 1px solid #e1e6eb;
    background: #f8fafc;
}

.imm-single-news-side-number {
    position: absolute;
    top: 18px;
    inset-inline-end: 18px;
    color: #d3d9df;
    font-size: 23px;
    font-weight: 900;
}

.imm-single-news-side-card>small {
    display: block;
    margin-bottom: 13px;
    color: #ff5b41;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.imm-single-news-side-card h3 {
    margin: 0;
    color: #071525;
    font-size: 20px;
    line-height: 1.35;
}

.imm-single-news-side-card p {
    margin: 14px 0 20px;
    color: #728094;
    font-size: 12px;
    line-height: 1.8;
}

.imm-single-news-side-card>a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #071525;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

.imm-single-news-side-card>a span {
    color: #ff5b41;
}

.imm-single-news-contact-card {
    border-color: #071525;
    background: #071525;
}

.imm-single-news-contact-card h3 {
    color: #fff;
}

.imm-single-news-contact-card p {
    color: rgba(255, 255, 255, .55);
}

.imm-single-news-contact-card>a {
    color: #fff;
}


/* =========================================================
   CTA
========================================================= */

.imm-single-news-cta {
    padding: 40px 0 90px;
}

.imm-single-news-cta-shell {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) auto;
    gap: 60px;
    align-items: center;
    padding: 45px;
    background:
        radial-gradient(circle at 90% 20%,
            rgba(255, 91, 65, .18),
            transparent 27%),
        #071525;
}

.imm-single-news-cta h2 {
    max-width: 750px;
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1.5px;
}

.imm-single-news-cta p {
    max-width: 670px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    line-height: 1.8;
}

.imm-single-news-cta-actions {
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.imm-single-news-cta-primary,
.imm-single-news-cta-secondary {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

.imm-single-news-cta-primary {
    background: #ff5b41;
    color: #fff;
}

.imm-single-news-cta-primary:hover {
    background: #e94b32;
    color: #fff;
}

.imm-single-news-cta-secondary {
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .15);
    color: #fff;
}

.imm-single-news-cta-secondary:hover {
    background: rgba(255, 255, 255, .06);
    color: #fff;
}


/* =========================================================
   RELATED
========================================================= */

.imm-single-news-related {
    padding: 90px 0;
    background: #f4f6f8;
}

.imm-single-news-related-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 35px;
}

.imm-single-news-related-heading h2 {
    margin: 0;
    color: #071525;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -1.5px;
}

.imm-single-news-related-heading>a {
    display: inline-flex;
    gap: 10px;
    color: #071525;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.imm-single-news-related-heading>a span {
    color: #ff5b41;
}


/* =========================================================
   RELATED SWIPER
========================================================= */

.immSingleRelatedNewsSwiper {
    overflow: hidden;
    padding-bottom: 35px;
}

.immSingleRelatedNewsSwiper .swiper-slide {
    height: auto;
}

.imm-single-related-card {
    height: 100%;
    background: #fff;
}

.imm-single-related-image {
    display: block;
    height: 240px;
    overflow: hidden;
}

.imm-single-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.imm-single-related-card:hover .imm-single-related-image img {
    transform: scale(1.04);
}

.imm-single-related-content {
    padding: 22px;
}

.imm-single-related-content>span {
    display: block;
    margin-bottom: 9px;
    color: #ff5b41;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.imm-single-related-content h3 {
    margin: 0;
    font-size: 19px;
    line-height: 1.38;
}

.imm-single-related-content h3 a {
    color: #071525;
    text-decoration: none;
}

.imm-single-related-content p {
    margin: 12px 0 0;
    color: #748094;
    font-size: 12px;
    line-height: 1.75;
}

.imm-single-related-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    color: #071525;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.imm-single-related-link span {
    color: #ff5b41;
}

.imm-single-related-pagination {
    margin-top: 20px;
    text-align: center;
}

.imm-single-related-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    opacity: 1;
    background: #bfc8d2;
}

.imm-single-related-pagination .swiper-pagination-bullet-active {
    width: 26px;
    border-radius: 10px;
    background: #ff5b41;
}


/* =========================================================
   LIGHTBOX
========================================================= */

body.imm-news-lightbox-open {
    overflow: hidden;
}

.imm-news-lightbox {
    position: fixed;
    z-index: 999999;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    transition: .2s ease;
}

.imm-news-lightbox.active {
    visibility: visible;
    opacity: 1;
}

.imm-news-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 8, 14, .92);
    backdrop-filter: blur(6px);
}

.imm-news-lightbox>img {
    position: relative;
    z-index: 2;
    max-width: 94vw;
    max-height: 90vh;
    object-fit: contain;
}

.imm-news-lightbox-close {
    position: absolute;
    z-index: 4;
    top: 20px;
    inset-inline-end: 20px;
    width: 45px;
    height: 45px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #071525;
    font-size: 22px;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-single-news-breadcrumb>span,
html[dir="rtl"] .imm-single-news-cta-primary span,
html[dir="rtl"] .imm-single-news-related-heading>a span {
    display: inline-block;
    transform: rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .imm-single-news-hero-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .imm-single-news-hero-index {
        max-width: 220px;
    }

    .imm-single-news-main-image {
        height: 500px;
    }

    .imm-single-news-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .imm-single-news-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .imm-single-news-cta-shell {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-single-news-hero {
        padding: 65px 0 80px;
    }

    .imm-single-news-hero h1 {
        font-size: 40px;
        letter-spacing: -1.5px;
    }

    .imm-single-news-meta {
        gap: 18px;
        flex-direction: column;
    }

    .imm-single-news-image-section {
        margin-top: -25px;
    }

    .imm-single-news-main-image {
        height: 300px;
    }

    .imm-single-news-content-section {
        padding: 65px 0;
    }

    .imm-single-news-article-heading h2 {
        font-size: 25px;
    }

    .imm-single-news-body {
        font-size: 14px;
    }

    .imm-single-news-body h2 {
        font-size: 26px;
    }

    .imm-single-news-sidebar {
        grid-template-columns: 1fr;
    }

    .imm-single-news-cta {
        padding-bottom: 65px;
    }

    .imm-single-news-cta-shell {
        padding: 30px 22px;
    }

    .imm-single-news-cta-actions {
        min-width: 0;
    }

    .imm-single-news-related {
        padding: 65px 0;
    }

    .imm-single-news-related-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .immSingleRelatedNewsSwiper {
        overflow: visible;
    }

}


/* =========================================================
   CONTACT PAGE
========================================================= */

.imm-contact-page {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.imm-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background:
        radial-gradient(circle at 84% 20%,
            rgba(255, 90, 54, .15),
            transparent 27%),
        #071525;
    color: #fff;
}

.imm-contact-hero-grid-bg {
    position: absolute;
    inset: 0;
    opacity: .07;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .09) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .09) 1px,
            transparent 1px);
    background-size: 55px 55px;
}

.imm-contact-hero-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 340px;
    gap: 80px;
    align-items: center;
}

.imm-contact-hero-content h1 {
    max-width: 850px;
    margin: 0;
    color: #fff;
    font-size:
        clamp(43px,
            5.3vw,
            74px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.055em;
}

.imm-contact-hero-content>p {
    max-width: 720px;
    margin: 23px 0 0;
    color: rgba(255, 255, 255, .58);
    font-size: 14px;
    line-height: 1.85;
}

.imm-contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.imm-contact-hero-whatsapp {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 9px;
    background: rgba(255, 255, 255, .05);
    color: #fff;
    text-decoration: none;
    font-size: 9px;
    font-weight: 850;
}

.imm-contact-hero-whatsapp i {
    color: #25d366;
    font-size: 18px;
}

.imm-contact-hero-whatsapp:hover {
    background: rgba(255, 255, 255, .10);
    color: #fff;
}


/* PANEL */

.imm-contact-hero-panel {
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 15px;
    background: rgba(255, 255, 255, .045);
    backdrop-filter: blur(10px);
}

.imm-contact-panel-label {
    display: block;
    margin-bottom: 9px;
    color: #ff7658;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.imm-contact-hero-panel>strong {
    display: block;
    color: #fff;
    font-size: 22px;
    line-height: 1.3;
}

.imm-contact-hero-panel>p {
    margin: 12px 0 22px;
    color: rgba(255, 255, 255, .50);
    font-size: 10px;
    line-height: 1.75;
}

.imm-contact-panel-stats {
    border-top: 1px solid rgba(255, 255, 255, .10);
}

.imm-contact-panel-stats>div {
    min-height: 55px;
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.imm-contact-panel-stats span {
    color: #ff7658;
    font-size: 7px;
}

.imm-contact-panel-stats strong {
    color: rgba(255, 255, 255, .75);
    font-size: 9px;
}


/* =========================================================
   DIRECT CONTACT
========================================================= */

.imm-contact-direct {
    background: #f5f7f9;
}

.imm-contact-direct-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.imm-contact-direct-card {
    position: relative;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border-inline-end: 1px solid #e0e5ea;
    color: inherit;
    text-decoration: none;
    background: #fff;
    transition: .25s ease;
}

.imm-contact-direct-card:first-child {
    border-inline-start: 1px solid #e0e5ea;
}

.imm-contact-direct-card:hover {
    z-index: 2;
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
}

.imm-contact-direct-number {
    position: absolute;
    top: 17px;
    inset-inline-end: 17px;
    color: #d1d7dd;
    font-size: 8px;
    font-weight: 900;
}

.imm-contact-direct-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    border-radius: 9px;
    background: #f4f6f8;
    color: var(--imm-accent);
    font-size: 16px;
}

.imm-contact-direct-card>small {
    margin-bottom: 7px;
    color: #98a2af;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}

.imm-contact-direct-card>strong {
    color: var(--imm-dark);
    font-size: 13px;
    line-height: 1.5;
    word-break: break-word;
}

.imm-contact-direct-card>p {
    margin: auto 0 0;
    padding-top: 18px;
    color: #8591a0;
    font-size: 8px;
    line-height: 1.7;
}

.imm-contact-direct-whatsapp .imm-contact-direct-icon {
    background: rgba(37, 211, 102, .08);
    color: #25b95d;
}


/* =========================================================
   MAIN
========================================================= */

.imm-contact-main {
    padding: 100px 0;
}

.imm-contact-main-layout {
    display: grid;
    grid-template-columns:
        minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: 80px;
    align-items: start;
}


/* COMPANY */

.imm-contact-company h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(31px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-contact-company-intro {
    margin: 17px 0 28px;
    color: var(--imm-muted);
    font-size: 11px;
    line-height: 1.9;
}

.imm-contact-company-row {
    min-height: 95px;
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 18px;
    align-items: center;
    border-top: 1px solid #dfe5ea;
}

.imm-contact-company-row:last-of-type {
    border-bottom: 1px solid #dfe5ea;
}

.imm-contact-company-index {
    color: var(--imm-accent);
    font-size: 8px;
    font-weight: 900;
}

.imm-contact-company-row small {
    display: block;
    margin-bottom: 5px;
    color: #98a3af;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}

.imm-contact-company-row p,
.imm-contact-company-row a {
    margin: 0;
    color: #42546a;
    text-decoration: none;
    font-size: 10px;
    line-height: 1.7;
}


/* SOCIAL */

.imm-contact-social {
    margin-top: 30px;
}

.imm-contact-social>span {
    display: block;
    margin-bottom: 11px;
    color: #788596;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.imm-contact-social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.imm-contact-social-list a {
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e5ea;
    border-radius: 8px;
    background: #fff;
    transition: .2s ease;
}

.imm-contact-social-list a:hover {
    border-color: var(--imm-accent);
    transform: translateY(-3px);
}

.imm-contact-social-list img {
    max-width: 25px;
    max-height: 25px;
    object-fit: contain;
}


/* =========================================================
   FORM
========================================================= */

.imm-contact-form-card {
    padding: 36px;
    border: 1px solid #e1e6eb;
    border-radius: 18px;
    background: #f8fafc;
}

.imm-contact-form-heading>span {
    display: block;
    margin-bottom: 8px;
    color: var(--imm-accent);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.imm-contact-form-heading h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(28px, 3vw, 39px);
    font-weight: 900;
    letter-spacing: -.035em;
}

.imm-contact-form-heading p {
    margin: 12px 0 25px;
    color: #7b8796;
    font-size: 10px;
    line-height: 1.8;
}

.imm-contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.imm-contact-field {
    margin-bottom: 15px;
}

.imm-contact-field label {
    display: block;
    margin-bottom: 6px;
    color: #45566b;
    font-size: 8px;
    font-weight: 800;
}

.imm-contact-field label span {
    color: var(--imm-accent);
}

.imm-contact-field input,
.imm-contact-field textarea {
    width: 100%;
    border: 1px solid #dce2e7;
    border-radius: 8px;
    outline: none;
    background: #fff;
    color: #2f4156;
    font-family: inherit;
    font-size: 10px;
    transition: .2s ease;
}

.imm-contact-field input {
    height: 48px;
    padding: 0 13px;
}

.imm-contact-field textarea {
    min-height: 135px;
    padding: 13px;
    resize: vertical;
}

.imm-contact-field input:focus,
.imm-contact-field textarea:focus {
    border-color: var(--imm-accent);
    box-shadow: 0 0 0 3px rgba(255, 90, 54, .06);
}


/* ALERT */

.imm-contact-alert {
    display: none;
    margin-bottom: 14px;
    padding: 11px 13px;
    border: 1px solid #f2c5c5;
    border-radius: 7px;
    background: #fff0f0;
    color: #b33a3a;
    font-size: 9px;
}

.imm-contact-alert.active {
    display: block;
}


/* SUBMIT */

.imm-contact-submit {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    border: 0;
    border-radius: 9px;
    background: var(--imm-dark);
    color: #fff;
    cursor: pointer;
}

.imm-contact-submit span small,
.imm-contact-submit span strong {
    display: block;
    text-align: start;
}

.imm-contact-submit span small {
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .45);
    font-size: 7px;
}

.imm-contact-submit span strong {
    font-size: 10px;
}

.imm-contact-submit i {
    color: #25d366;
    font-size: 22px;
}

.imm-contact-form-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 12px;
    color: #929ca8;
    font-size: 7px;
    line-height: 1.6;
}


/* =========================================================
   LOCATION
========================================================= */

.imm-contact-location {
    padding: 90px 0;
    background: #f5f7f9;
}

.imm-contact-location-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.imm-contact-location h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size: clamp(30px, 4vw, 47px);
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-contact-location p {
    max-width: 650px;
    margin: 16px 0 20px;
    color: #68778a;
    font-size: 11px;
    line-height: 1.85;
}

.imm-contact-location a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--imm-dark);
    text-decoration: none;
    font-size: 9px;
    font-weight: 850;
}

.imm-contact-location a span {
    color: var(--imm-accent);
}

.imm-contact-location-data {
    border-top: 1px solid #dce2e7;
}

.imm-contact-location-data>div {
    min-height: 85px;
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid #dce2e7;
}

.imm-contact-location-data span {
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 900;
}

.imm-contact-location-data strong {
    color: #314258;
    font-size: 14px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.imm-contact-final {
    padding: 85px 0;
}

.imm-contact-final-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: center;
    padding: 42px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 18%,
            rgba(255, 90, 54, .18),
            transparent 28%),
        var(--imm-dark);
}

.imm-contact-final h2 {
    margin: 0;
    max-width: 760px;
    color: #fff;
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 900;
    line-height: 1.08;
}

.imm-contact-final p {
    max-width: 650px;
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .53);
    font-size: 10px;
    line-height: 1.8;
}

.imm-contact-final-whatsapp {
    min-width: 210px;
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    border-radius: 10px;
    background: #25d366;
    color: #fff;
    text-decoration: none;
}

.imm-contact-final-whatsapp i {
    font-size: 24px;
}

.imm-contact-final-whatsapp small,
.imm-contact-final-whatsapp strong {
    display: block;
}

.imm-contact-final-whatsapp small {
    font-size: 7px;
    opacity: .7;
}

.imm-contact-final-whatsapp strong {
    font-size: 10px;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-contact-location a span {
    display: inline-block;
    transform: rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .imm-contact-hero-layout,
    .imm-contact-main-layout,
    .imm-contact-location-layout {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .imm-contact-hero-panel {
        max-width: 420px;
    }

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

    .imm-contact-final-shell {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .imm-contact-hero {
        padding: 65px 0;
    }

    .imm-contact-hero-content h1 {
        font-size: 40px;
    }

    .imm-contact-hero-actions {
        flex-direction: column;
    }

    .imm-contact-hero-actions a {
        width: 100%;
    }

    .imm-contact-direct-grid {
        grid-template-columns: 1fr;
    }

    .imm-contact-direct-card {
        min-height: 200px;
        border-inline-start: 1px solid #e0e5ea;
    }

    .imm-contact-main,
    .imm-contact-location,
    .imm-contact-final {
        padding: 65px 0;
    }

    .imm-contact-form-card {
        padding: 25px 18px;
    }

    .imm-contact-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .imm-contact-location-data>div {
        grid-template-columns: 90px 1fr;
    }

    .imm-contact-final-shell {
        padding: 30px 22px;
    }

    .imm-contact-final-whatsapp {
        min-width: 0;
    }

}

/* =========================================================
   TAG PAGE
========================================================= */

.imm-tag-page {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   TAG ERROR
========================================================= */

.imm-tag-error-page {
    min-height: 600px;
    display: flex;
    align-items: center;
    padding: 100px 0;
    background: #f6f8fa;
}

.imm-tag-error-card {
    max-width: 650px;
    margin: auto;
    padding: 65px 35px;
    border: 1px solid #e1e6eb;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

.imm-tag-error-code {
    display: block;
    margin-bottom: 10px;
    color: var(--imm-accent);
    font-size: 72px;
    line-height: 1;
    font-weight: 950;
}

.imm-tag-error-card h1 {
    margin: 0;
    color: var(--imm-dark);
    font-size: 33px;
    font-weight: 900;
}

.imm-tag-error-card p {
    max-width: 480px;
    margin: 12px auto 24px;
    color: var(--imm-muted);
    font-size: 11px;
    line-height: 1.8;
}


/* =========================================================
   HERO
========================================================= */

.imm-tag-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 83% 25%,
            rgba(255, 90, 54, .14),
            transparent 27%),
        #071525;
    color: #fff;
}

.imm-tag-hero-grid-bg {
    position: absolute;
    inset: 0;
    opacity: .07;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .10) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .10) 1px,
            transparent 1px);
    background-size: 55px 55px;
}

.imm-tag-hero-layout {
    position: relative;
    z-index: 2;
    min-height: 455px;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) 320px;
    gap: 70px;
    align-items: center;
    padding: 65px 0;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.imm-tag-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, .42);
    font-size: 8px;
}

.imm-tag-breadcrumb a {
    color: rgba(255, 255, 255, .50);
    text-decoration: none;
}

.imm-tag-breadcrumb a:hover {
    color: #fff;
}

.imm-tag-breadcrumb i {
    color: rgba(255, 255, 255, .20);
    font-size: 6px;
}

.imm-tag-breadcrumb span {
    color: #ff7658;
}

html[dir="rtl"] .imm-tag-breadcrumb i {
    transform: rotate(180deg);
}


/* =========================================================
   HERO CONTENT
========================================================= */

.imm-tag-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: #ff7658;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.imm-tag-hero h1 {
    margin: 0;
    max-width: 850px;
    color: #fff;
    font-size:
        clamp(48px,
            6vw,
            78px);
    line-height: .98;
    font-weight: 950;
    letter-spacing: -.055em;
}

.imm-tag-hero-content>p {
    max-width: 700px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
    line-height: 1.85;
}

.imm-tag-scroll {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 25px;
    color: #fff;
    text-decoration: none;
    font-size: 9px;
    font-weight: 850;
}

.imm-tag-scroll>span {
    min-width: 28px;
    height: 24px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--imm-accent);
    color: #fff;
    font-size: 7px;
}

.imm-tag-scroll i {
    color: rgba(255, 255, 255, .45);
}


/* =========================================================
   HERO VISUAL
========================================================= */

.imm-tag-hero-visual {
    position: relative;
    min-height: 260px;
}

.imm-tag-symbol {
    position: absolute;
    top: 50%;
    inset-inline-end: 10px;
    transform: translateY(-50%);
}

.imm-tag-symbol span {
    display: block;
    color: rgba(255, 255, 255, .035);
    font-size: 270px;
    line-height: 1;
    font-weight: 950;
}

.imm-tag-hero-stat {
    position: absolute;
    z-index: 2;
    inset-inline-start: 0;
    bottom: 0;
    min-width: 190px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 13px;
    background: rgba(255, 255, 255, .045);
    backdrop-filter: blur(10px);
}

.imm-tag-hero-stat small,
.imm-tag-hero-stat strong,
.imm-tag-hero-stat span {
    display: block;
}

.imm-tag-hero-stat small {
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .40);
    font-size: 7px;
    text-transform: uppercase;
}

.imm-tag-hero-stat strong {
    color: #fff;
    font-size: 42px;
    line-height: 1;
    font-weight: 950;
}

.imm-tag-hero-stat span {
    margin-top: 8px;
    overflow: hidden;
    color: #ff7658;
    font-size: 9px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   RESULTS
========================================================= */

.imm-tag-results {
    padding: 95px 0 100px;
}

.imm-tag-results-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) minmax(300px, 440px);
    gap: 60px;
    align-items: end;
    margin-bottom: 30px;
}

.imm-tag-results-heading h2 {
    margin: 0;
    color: var(--imm-dark);
    font-size:
        clamp(30px,
            4vw,
            48px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-tag-results-heading h2>span {
    color: var(--imm-accent);
}

.imm-tag-results-heading>p {
    margin: 0;
    color: var(--imm-muted);
    font-size: 11px;
    line-height: 1.85;
}


/* =========================================================
   SUMMARY
========================================================= */

.imm-tag-summary {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 25px;
    padding: 0 18px;
    border: 1px solid #e0e5ea;
    border-radius: 10px;
    background: #f8fafc;
}

.imm-tag-summary-count {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.imm-tag-summary-count>span {
    color: var(--imm-accent);
    font-size: 18px;
    font-weight: 900;
}

.imm-tag-summary-count strong {
    color: var(--imm-dark);
    font-size: 18px;
    font-weight: 950;
}

.imm-tag-summary-count small {
    color: #8b97a5;
    font-size: 8px;
}

.imm-tag-summary>a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #44556b;
    text-decoration: none;
    font-size: 8px;
    font-weight: 850;
}

.imm-tag-summary>a i {
    color: var(--imm-accent);
}

html[dir="rtl"] .imm-tag-summary>a i {
    transform: rotate(180deg);
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.imm-tag-products-grid {
    display: grid;
    grid-template-columns:
        repeat(3,
            minmax(0, 1fr));
    gap: 15px;
}

.imm-tag-product-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e1e6eb;
    border-radius: 15px;
    background: #fff;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.imm-tag-product-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 90, 54, .25);
    box-shadow:
        0 18px 40px rgba(15, 23, 42, .08);
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.imm-tag-product-image {
    position: relative;
    height: 270px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 16px;
    background:
        linear-gradient(145deg,
            #f7f9fb,
            #fff);
}

.imm-tag-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.imm-tag-product-card:hover .imm-tag-product-image img {
    transform: scale(1.04);
}

.imm-tag-product-category {
    position: absolute;
    z-index: 3;
    top: 13px;
    inset-inline-start: 13px;
    max-width: 70%;
    padding: 6px 9px;
    border-radius: 6px;
    background: rgba(7, 17, 31, .90);
    color: #fff;
    font-size: 7px;
    font-weight: 750;
}

.imm-tag-product-arrow {
    position: absolute;
    z-index: 3;
    top: 13px;
    inset-inline-end: 13px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--imm-dark);
    font-size: 8px;
    box-shadow:
        0 6px 18px rgba(15, 23, 42, .08);
}


/* =========================================================
   PRODUCT BODY
========================================================= */

.imm-tag-product-body {
    padding: 18px;
    border-top: 1px solid #edf0f3;
}

.imm-tag-product-topline {
    min-height: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.imm-tag-product-topline>span {
    overflow: hidden;
    color: var(--imm-accent);
    font-size: 7px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.imm-tag-product-topline>small {
    color: #a0a9b4;
    font-size: 7px;
}

.imm-tag-product-body h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 850;
}

.imm-tag-product-body h3 a {
    color: var(--imm-dark);
    text-decoration: none;
}

.imm-tag-product-body>p {
    min-height: 53px;
    margin: 9px 0 15px;
    color: var(--imm-muted);
    font-size: 9px;
    line-height: 1.75;
}

.imm-tag-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 14px;
    border-top: 1px solid #edf0f3;
}

.imm-tag-view-machine {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #37495f;
    text-decoration: none;
    font-size: 8px;
    font-weight: 850;
}

.imm-tag-view-machine i {
    color: var(--imm-accent);
    font-size: 7px;
}

html[dir="rtl"] .imm-tag-view-machine i {
    transform: rotate(180deg);
}

.imm-tag-product-quote {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #f2f5f7;
    color: #56667a;
    text-decoration: none;
}

.imm-tag-product-quote:hover {
    background: var(--imm-accent);
    color: #fff;
}


/* =========================================================
   PAGINATION
========================================================= */

.imm-tag-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 42px;
}

.imm-tag-pagination a {
    min-width: 39px;
    height: 39px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe5ea;
    border-radius: 7px;
    background: #fff;
    color: #576679;
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
    transition: .2s ease;
}

.imm-tag-pagination a:hover,
.imm-tag-pagination a.active {
    border-color: var(--imm-dark);
    background: var(--imm-dark);
    color: #fff;
}

.imm-tag-page-dots {
    padding: 0 5px;
    color: #9aa4b0;
}

html[dir="rtl"] .imm-tag-page-arrow i {
    transform: rotate(180deg);
}


/* =========================================================
   EMPTY
========================================================= */

.imm-tag-empty {
    padding: 80px 25px;
    border: 1px dashed #dce2e7;
    border-radius: 17px;
    background: #f8fafc;
    text-align: center;
}

.imm-tag-empty-symbol {
    display: block;
    color: var(--imm-accent);
    font-size: 60px;
    line-height: 1;
    font-weight: 950;
}

.imm-tag-empty h3 {
    margin: 17px 0 0;
    color: var(--imm-dark);
    font-size: 25px;
}

.imm-tag-empty p {
    max-width: 500px;
    margin: 10px auto 23px;
    color: var(--imm-muted);
    font-size: 10px;
    line-height: 1.8;
}


/* =========================================================
   DISCOVERY / SEO SECTION
========================================================= */

.imm-tag-discovery {
    padding: 80px 0;
    background: #f5f7f9;
}

.imm-tag-discovery-shell {
    display: grid;
    grid-template-columns:
        .9fr 1.1fr;
    gap: 80px;
    align-items: center;
    padding: 42px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 20%,
            rgba(255, 90, 54, .17),
            transparent 28%),
        var(--imm-dark);
}

.imm-tag-discovery-shell h2 {
    margin: 0;
    color: #fff;
    font-size:
        clamp(29px,
            3.7vw,
            44px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.04em;
}

.imm-tag-discovery-shell p {
    margin: 0;
    color: rgba(255, 255, 255, .52);
    font-size: 10px;
    line-height: 1.85;
}

.imm-tag-discovery-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.imm-tag-discovery-contact {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 9px;
    color: #fff;
    text-decoration: none;
    font-size: 9px;
    font-weight: 850;
}

.imm-tag-discovery-contact:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .imm-tag-hero-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .imm-tag-hero-visual {
        min-height: 180px;
        max-width: 350px;
    }

    .imm-tag-results-heading {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .imm-tag-products-grid {
        grid-template-columns:
            repeat(2,
                minmax(0, 1fr));
    }

    .imm-tag-discovery-shell {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-tag-hero-layout {
        min-height: auto;
        padding: 50px 0;
    }

    .imm-tag-hero h1 {
        font-size: 43px;
    }

    .imm-tag-breadcrumb {
        margin-bottom: 25px;
        overflow: hidden;
        white-space: nowrap;
    }

    .imm-tag-hero-visual {
        min-height: 145px;
    }

    .imm-tag-symbol span {
        font-size: 180px;
    }

    .imm-tag-results {
        padding: 65px 0 75px;
    }

    .imm-tag-summary {
        min-height: auto;
        align-items: flex-start;
        flex-direction: column;
        padding: 15px;
    }

    .imm-tag-products-grid {
        grid-template-columns: 1fr;
    }

    .imm-tag-product-image {
        height: 290px;
    }

    .imm-tag-discovery {
        padding: 60px 0;
    }

    .imm-tag-discovery-shell {
        padding: 28px 20px;
    }

    .imm-tag-discovery-actions {
        flex-direction: column;
    }

    .imm-tag-discovery-actions>a {
        width: 100%;
    }

}

/* =========================================================
   404 PAGE
========================================================= */

.imm-404-page {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.imm-404-hero {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 78% 25%,
            rgba(255, 90, 54, .14),
            transparent 28%),
        #071525;

    color: #fff;
}


.imm-404-grid-bg {
    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: .07;

    background-image:
        linear-gradient(rgba(255, 255, 255, .09) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .09) 1px,
            transparent 1px);

    background-size:
        56px 56px;
}


.imm-404-layout {
    position: relative;

    z-index: 2;

    min-height: 620px;

    display: grid;

    grid-template-columns:
        minmax(0, .82fr) minmax(480px, 1.18fr);

    gap: 70px;

    align-items: center;

    padding:
        70px 0;
}


/* =========================================================
   LABEL
========================================================= */

.imm-404-label {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 12px;

    color: #ff7658;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: .13em;

    text-transform: uppercase;
}


.imm-404-label>span {
    width: 28px;

    height: 2px;

    background: currentColor;
}


/* =========================================================
   404 NUMBER
========================================================= */

.imm-404-number {
    display: flex;

    align-items: center;

    gap: 4px;

    margin-bottom: 12px;

    color: #fff;

    font-size:
        clamp(90px,
            12vw,
            155px);

    line-height: .85;

    font-weight: 950;

    letter-spacing: -.08em;
}


.imm-404-number strong {
    color:
        transparent;

    -webkit-text-stroke:
        2px rgba(255, 118, 88, .75);

    text-stroke:
        2px rgba(255, 118, 88, .75);
}


/* =========================================================
   COPY
========================================================= */

.imm-404-content h1 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(34px,
            4.1vw,
            52px);

    line-height: 1.06;

    font-weight: 900;

    letter-spacing: -.045em;
}


.imm-404-content>p {
    max-width: 620px;

    margin:
        18px 0 0;

    color:
        rgba(255, 255, 255, .55);

    font-size: 12px;

    line-height: 1.9;
}


/* =========================================================
   ACTIONS
========================================================= */

.imm-404-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 27px;
}


.imm-404-secondary-btn {
    min-height: 50px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding:
        0 20px;

    border:
        1px solid rgba(255, 255, 255, .15);

    border-radius: 9px;

    background:
        rgba(255, 255, 255, .05);

    color: #fff;

    text-decoration: none;

    font-size: 9px;

    font-weight: 850;
}


.imm-404-secondary-btn:hover {
    background:
        rgba(255, 255, 255, .10);

    color: #fff;
}


/* =========================================================
   MACHINE
========================================================= */

.imm-404-visual {
    min-width: 0;
}


.imm-404-machine {
    position: relative;

    min-height: 410px;

    display: flex;

    align-items: center;

    justify-content: center;
}


.imm-404-machine-glow {
    position: absolute;

    width: 70%;

    height: 45%;

    left: 15%;

    bottom: 16%;

    border-radius: 50%;

    background:
        rgba(255, 90, 54, .20);

    filter:
        blur(55px);
}


.imm-404-machine>img {
    position: relative;

    z-index: 2;

    width: 100%;

    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(0 24px 30px rgba(0, 0, 0, .28));
}


.imm-404-machine-panel {
    position: absolute;

    z-index: 4;

    inset-inline-start: 20px;

    bottom: 20px;

    display: flex;

    align-items: center;

    gap: 11px;

    min-width: 200px;

    padding:
        14px 16px;

    border:
        1px solid rgba(255, 255, 255, .11);

    border-radius: 11px;

    background:
        rgba(7, 21, 37, .82);

    backdrop-filter:
        blur(10px);
}


.imm-404-status-dot {
    width: 8px;

    height: 8px;

    flex: 0 0 auto;

    border-radius: 50%;

    background:
        #25d366;

    box-shadow:
        0 0 0 5px rgba(37, 211, 102, .10);
}


.imm-404-machine-panel small,
.imm-404-machine-panel strong {
    display: block;
}


.imm-404-machine-panel small {
    margin-bottom: 3px;

    color:
        rgba(255, 255, 255, .40);

    font-size: 7px;
}


.imm-404-machine-panel strong {
    color: #fff;

    font-size: 9px;
}


/* =========================================================
   QUICK LINKS
========================================================= */

.imm-404-help {
    padding:
        90px 0;
}


.imm-404-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) minmax(300px, 430px);

    gap: 60px;

    align-items: end;

    margin-bottom: 32px;
}


.imm-404-heading h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(30px,
            4vw,
            47px);

    line-height: 1.08;

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-404-heading>p {
    margin: 0;

    color:
        var(--imm-muted);

    font-size: 11px;

    line-height: 1.85;
}


.imm-404-links-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid #e0e5ea;

    border-inline-start:
        1px solid #e0e5ea;
}


.imm-404-link-card {
    min-height: 190px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    gap: 20px;

    padding: 22px;

    border-inline-end:
        1px solid #e0e5ea;

    border-bottom:
        1px solid #e0e5ea;

    background: #fff;

    color: inherit;

    text-decoration: none;

    transition:
        background .25s ease,
        transform .25s ease;
}


.imm-404-link-card:hover {
    position: relative;

    z-index: 2;

    background:
        #f7f9fb;

    transform:
        translateY(-4px);
}


.imm-404-link-number {
    color:
        var(--imm-accent);

    font-size: 8px;

    font-weight: 900;
}


.imm-404-link-card strong,
.imm-404-link-card small {
    display: block;
}


.imm-404-link-card strong {
    margin-bottom: 6px;

    color:
        var(--imm-dark);

    font-size: 16px;

    font-weight: 850;
}


.imm-404-link-card small {
    color:
        #8793a1;

    font-size: 8px;

    line-height: 1.7;
}


.imm-404-link-arrow {
    color:
        var(--imm-accent);
}


html[dir="rtl"] .imm-404-link-arrow i {
    transform:
        rotate(180deg);
}


/* =========================================================
   POPULAR CATEGORIES
========================================================= */

.imm-404-categories {
    padding:
        90px 0;

    background:
        #f5f7f9;
}


.imm-404-category-heading {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 30px;
}


.imm-404-category-heading h2 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size:
        clamp(30px,
            3.8vw,
            45px);

    font-weight: 900;

    letter-spacing: -.04em;
}


.imm-404-category-heading>a {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color:
        #536478;

    text-decoration: none;

    font-size: 8px;

    font-weight: 850;
}


.imm-404-category-heading>a i {
    color:
        var(--imm-accent);
}


html[dir="rtl"] .imm-404-category-heading>a i {
    transform:
        rotate(180deg);
}


.imm-404-category-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.imm-404-category-card {
    overflow: hidden;

    border:
        1px solid #e1e6eb;

    border-radius:
        14px;

    background:
        #fff;

    color: inherit;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.imm-404-category-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 17px 38px rgba(15, 23, 42, .08);
}


.imm-404-category-image {
    height: 190px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 16px;

    background: #fff;
}


.imm-404-category-image img {
    width: 100%;

    height: 100%;

    object-fit: contain;

    transition:
        transform .35s ease;
}


.imm-404-category-card:hover .imm-404-category-image img {
    transform:
        scale(1.04);
}


.imm-404-category-fallback {
    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        #f3f6f8;

    color:
        var(--imm-accent);

    font-size: 24px;
}


.imm-404-category-content {
    padding: 17px;

    border-top:
        1px solid #edf0f3;
}


.imm-404-category-content>span {
    display: block;

    margin-bottom: 6px;

    color:
        var(--imm-accent);

    font-size: 7px;

    font-weight: 850;
}


.imm-404-category-content h3 {
    margin: 0;

    color:
        var(--imm-dark);

    font-size: 14px;

    line-height: 1.4;

    font-weight: 850;
}


.imm-404-category-content strong {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-top: 13px;

    color:
        #66768a;

    font-size: 8px;
}


.imm-404-category-content strong i {
    color:
        var(--imm-accent);
}


html[dir="rtl"] .imm-404-category-content strong i {
    transform:
        rotate(180deg);
}


/* =========================================================
   FINAL CTA
========================================================= */

.imm-404-final {
    padding:
        80px 0;
}


.imm-404-final-shell {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) auto;

    gap: 50px;

    align-items: center;

    padding:
        40px;

    border-radius:
        18px;

    background:
        radial-gradient(circle at 90% 20%,
            rgba(255, 90, 54, .17),
            transparent 28%),
        var(--imm-dark);
}


.imm-404-final-shell h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(29px,
            3.8vw,
            44px);

    font-weight: 900;

    line-height: 1.08;
}


.imm-404-final-shell p {
    max-width: 650px;

    margin:
        12px 0 0;

    color:
        rgba(255, 255, 255, .52);

    font-size: 10px;

    line-height: 1.8;
}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .imm-404-actions .fa-arrow-right,
html[dir="rtl"] .imm-404-final-shell .fa-arrow-right {
    transform:
        rotate(180deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .imm-404-layout {
        min-height: auto;

        grid-template-columns:
            1fr;

        gap: 35px;

        padding:
            60px 0;
    }


    .imm-404-visual {
        max-width:
            700px;
    }


    .imm-404-heading {
        grid-template-columns:
            1fr;

        gap: 13px;
    }


    .imm-404-links-grid,
    .imm-404-category-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .imm-404-final-shell {
        grid-template-columns:
            1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .imm-404-layout {
        padding:
            50px 0;
    }


    .imm-404-number {
        font-size:
            95px;
    }


    .imm-404-content h1 {
        font-size:
            35px;
    }


    .imm-404-actions {
        flex-direction:
            column;
    }


    .imm-404-actions>a {
        width: 100%;
    }


    .imm-404-machine {
        min-height:
            280px;
    }


    .imm-404-help,
    .imm-404-categories,
    .imm-404-final {
        padding:
            65px 0;
    }


    .imm-404-links-grid,
    .imm-404-category-grid {
        grid-template-columns:
            1fr;
    }


    .imm-404-category-heading {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .imm-404-final-shell {
        padding:
            28px 20px;
    }

}

/* =========================================================
   SONLY SERIES / CATEGORY PAGE
========================================================= */

.zs-series-page {
    background: #fff;
    color: #172033;
}


/* =========================================================
   COMMON
========================================================= */

.zs-section-label {
    display: block;
    margin-bottom: 13px;
    color: #e33a26;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.zs-btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: .25s ease;
}

.zs-btn-primary {
    background: #e33a26;
    color: #fff;
}

.zs-btn-primary:hover {
    background: #c92c1b;
    color: #fff;
}

.zs-btn-outline {
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

.zs-btn-outline:hover {
    background: #fff;
    color: #172033;
}


/* =========================================================
   HERO
========================================================= */

.zs-series-hero {
    position: relative;
    overflow: hidden;
    min-height: 670px;
    background:
        linear-gradient(115deg,
            #07131f 0%,
            #0d1c2c 58%,
            #14283c 100%);
    color: #fff;
}

.zs-series-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .05;
    background-image:
        linear-gradient(rgba(255, 255, 255, .15) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .15) 1px,
            transparent 1px);
    background-size: 60px 60px;
}

.zs-series-hero-layout {
    position: relative;
    z-index: 2;
    min-height: 670px;
    display: grid;
    grid-template-columns: 47% 53%;
    gap: 60px;
    align-items: center;
    padding: 80px 0;
}


/* Breadcrumb */

.zs-series-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, .38);
    font-size: 11px;
}

.zs-series-breadcrumb a {
    color: rgba(255, 255, 255, .55);
    text-decoration: none;
}

.zs-series-breadcrumb a:hover {
    color: #fff;
}

.zs-series-breadcrumb strong {
    color: #e76859;
    font-weight: 500;
}


/* Content */

.zs-series-eyebrow {
    display: block;
    margin-bottom: 11px;
    color: #ef513f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.zs-series-english-name {
    display: block;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, .44);
    font-size: 13px;
    letter-spacing: .03em;
}

.zs-series-hero h1 {
    max-width: 780px;
    margin: 0;
    color: #fff;
    font-size: clamp(45px, 5vw, 72px);
    line-height: 1.03;
    font-weight: 850;
    letter-spacing: -.045em;
}

.zs-series-hero-content>p {
    max-width: 640px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, .63);
    font-size: 15px;
    line-height: 1.9;
}

.zs-series-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 31px;
}


/* =========================================================
   HERO MACHINE
========================================================= */

.zs-series-hero-machine {
    position: relative;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zs-series-machine-bg {
    position: absolute;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
}

.zs-series-machine-bg::before,
.zs-series-machine-bg::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .05);
}

.zs-series-machine-bg::before {
    inset: 45px;
}

.zs-series-machine-bg::after {
    inset: 95px;
}

.zs-series-hero-machine>img {
    position: relative;
    z-index: 2;
    width: 100%;
    max-height: 450px;
    object-fit: contain;
    filter:
        drop-shadow(0 30px 32px rgba(0, 0, 0, .35));
}

.zs-series-model-count {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 35px;
    min-width: 145px;
    padding: 18px;
    border-left: 3px solid #e33a26;
    background: rgba(5, 15, 24, .88);
    backdrop-filter: blur(8px);
}

.zs-series-model-count strong,
.zs-series-model-count span {
    display: block;
}

.zs-series-model-count strong {
    color: #fff;
    font-size: 30px;
    line-height: 1;
    font-weight: 800;
}

.zs-series-model-count span {
    margin-top: 7px;
    color: rgba(255, 255, 255, .50);
    font-size: 10px;
    text-transform: uppercase;
}


/* =========================================================
   OVERVIEW
========================================================= */

.zs-series-overview {
    padding: 105px 0;
}

.zs-series-overview-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 100px;
    align-items: start;
}

.zs-series-overview-title h2 {
    margin: 0;
    color: #101b2b;
    font-size: clamp(35px, 4vw, 55px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.04em;
}

.zs-series-overview-copy>p {
    margin: 0;
    color: #66758a;
    font-size: 15px;
    line-height: 1.95;
}

.zs-series-capabilities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 36px;
    border-top: 1px solid #e2e7eb;
}

.zs-series-capabilities>div {
    padding: 22px 18px 0 0;
}

.zs-series-capabilities span {
    display: block;
    margin-bottom: 10px;
    color: #e33a26;
    font-size: 10px;
}

.zs-series-capabilities strong {
    color: #29394d;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   MODELS
========================================================= */

.zs-series-models {
    padding: 100px 0;
    background: #f5f7f8;
}

.zs-series-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px;
}

.zs-series-section-head h2 {
    margin: 0;
    color: #101b2b;
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.04em;
}

.zs-series-section-count {
    text-align: right;
}

.zs-series-section-count strong,
.zs-series-section-count span {
    display: block;
}

.zs-series-section-count strong {
    color: #e33a26;
    font-size: 35px;
    line-height: 1;
}

.zs-series-section-count span {
    margin-top: 4px;
    color: #8894a1;
    font-size: 10px;
    text-transform: uppercase;
}


/* Model grid */

.zs-series-model-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zs-series-model-card {
    min-width: 0;
    background: #fff;
    border: 1px solid #e0e5e9;
    transition: .3s ease;
}

.zs-series-model-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(13, 30, 48, .09);
}


/* image */

.zs-series-model-image {
    position: relative;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 24px;
    background: #fff;
}

.zs-series-model-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .4s ease;
}

.zs-series-model-card:hover .zs-series-model-image img {
    transform: scale(1.04);
}

.zs-series-model-index {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    color: #b5bdc6;
    font-size: 11px;
    font-weight: 700;
}


/* body */

.zs-series-model-body {
    padding: 24px;
    border-top: 1px solid #edf0f2;
}

.zs-series-model-label {
    display: block;
    margin-bottom: 9px;
    color: #e33a26;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zs-series-model-body h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 750;
}

.zs-series-model-body h3 a {
    color: #152236;
    text-decoration: none;
}

.zs-series-model-en {
    display: block;
    margin-top: 5px;
    color: #9ba4ae;
    font-size: 10px;
}

.zs-series-model-body>p {
    min-height: 75px;
    margin: 15px 0 0;
    color: #748195;
    font-size: 12px;
    line-height: 1.8;
}

.zs-series-model-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid #edf0f2;
}

.zs-series-model-footer>a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #1b2b40;
    text-decoration: none;
    font-size: 11px;
    font-weight: 750;
}

.zs-series-model-footer>a i {
    color: #e33a26;
}

.zs-series-model-footer>span {
    color: #a0a9b3;
    font-size: 9px;
}


/* =========================================================
   EMPTY
========================================================= */

.zs-series-empty {
    padding: 80px 30px;
    background: #fff;
    border: 1px solid #e1e5e9;
    text-align: center;
}

.zs-series-empty>span {
    color: #e33a26;
    font-size: 12px;
    font-weight: 800;
}

.zs-series-empty h3 {
    margin: 15px 0 0;
    color: #172438;
    font-size: 28px;
}

.zs-series-empty p {
    max-width: 550px;
    margin: 12px auto 25px;
    color: #748195;
    line-height: 1.8;
}


/* =========================================================
   MANUFACTURING
========================================================= */

.zs-series-manufacturing {
    padding: 110px 0;
}

.zs-series-manufacturing-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 80px;
    align-items: center;
}

.zs-series-manufacturing-image {
    position: relative;
    height: 520px;
    overflow: hidden;
}

.zs-series-manufacturing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zs-series-manufacturing-image>span {
    position: absolute;
    left: 20px;
    bottom: 20px;
    padding: 10px 15px;
    background: #fff;
    color: #19283b;
    font-size: 10px;
    font-weight: 700;
}

.zs-series-manufacturing-copy h2 {
    margin: 0;
    color: #111d2d;
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.07;
    font-weight: 800;
    letter-spacing: -.04em;
}

.zs-series-manufacturing-copy>p {
    margin: 22px 0 0;
    color: #68778b;
    font-size: 14px;
    line-height: 1.9;
}

.zs-series-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 35px;
    border-top: 1px solid #e0e5e9;
    border-left: 1px solid #e0e5e9;
}

.zs-series-stats>div {
    padding: 23px;
    border-right: 1px solid #e0e5e9;
    border-bottom: 1px solid #e0e5e9;
}

.zs-series-stats strong,
.zs-series-stats span {
    display: block;
}

.zs-series-stats strong {
    color: #172437;
    font-size: 27px;
    font-weight: 800;
}

.zs-series-stats span {
    margin-top: 6px;
    color: #8792a0;
    font-size: 10px;
}


/* =========================================================
   CTA
========================================================= */

.zs-series-cta {
    padding: 0 0 100px;
}

.zs-series-cta-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: center;
    padding: 55px;
    background:
        linear-gradient(115deg,
            #07131f,
            #10283c);
}

.zs-series-cta-shell>div>span {
    display: block;
    margin-bottom: 10px;
    color: #e95c49;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.zs-series-cta h2 {
    max-width: 800px;
    margin: 0;
    color: #fff;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 800;
}

.zs-series-cta p {
    max-width: 700px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    line-height: 1.8;
}

.zs-series-cta-shell>a {
    min-width: 180px;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 0 20px;
    background: #e33a26;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
}


/* =========================================================
   ERROR
========================================================= */

.zs-category-error {
    padding: 120px 0;
    background: #f5f7f8;
}

.zs-category-error-card {
    max-width: 650px;
    margin: auto;
    padding: 70px 40px;
    background: #fff;
    text-align: center;
}

.zs-category-error-card>span {
    display: block;
    color: #e33a26;
    font-size: 62px;
    line-height: 1;
    font-weight: 900;
}

.zs-category-error-card h1 {
    margin: 18px 0 0;
    color: #172438;
    font-size: 33px;
}

.zs-category-error-card p {
    margin: 12px 0 25px;
    color: #718094;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .zs-series-hero-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .zs-series-hero-machine {
        min-height: 380px;
    }

    .zs-series-overview-grid,
    .zs-series-manufacturing-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

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

    .zs-series-cta-shell {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .zs-series-hero-layout {
        padding: 55px 0;
    }

    .zs-series-hero h1 {
        font-size: 40px;
    }

    .zs-series-hero-actions {
        flex-direction: column;
    }

    .zs-series-hero-actions a {
        width: 100%;
    }

    .zs-series-hero-machine {
        min-height: 280px;
    }

    .zs-series-machine-bg {
        width: 280px;
        height: 280px;
    }

    .zs-series-model-count {
        bottom: 0;
    }

    .zs-series-overview,
    .zs-series-models,
    .zs-series-manufacturing {
        padding: 70px 0;
    }

    .zs-series-overview-grid {
        gap: 30px;
    }

    .zs-series-capabilities {
        grid-template-columns: 1fr;
    }

    .zs-series-capabilities>div {
        padding: 18px 0;
        border-bottom: 1px solid #e4e8eb;
    }

    .zs-series-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .zs-series-section-count {
        text-align: left;
    }

    .zs-series-model-grid {
        grid-template-columns: 1fr;
    }

    .zs-series-model-image {
        height: 280px;
    }

    .zs-series-manufacturing-image {
        height: 340px;
    }

    .zs-series-stats {
        grid-template-columns: 1fr;
    }

    .zs-series-cta {
        padding-bottom: 70px;
    }

    .zs-series-cta-shell {
        padding: 35px 25px;
    }

}