/* =====================================================
   PREMIUM HEADER
===================================================== */

.premium-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}


/* =====================================================
   NAVBAR
===================================================== */

.premium-navbar {
    width: 100%;
    background: #0b0b0d00;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}


.premium-nav-container {
    width: 100%;
    max-width: 1500px;
    margin: auto;

    min-height: 100px;

    padding: 0 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;
}

/* =====================================================
   PREMIUM NAVBAR - MOBILE RESPONSIVE
===================================================== */

.premium-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;

    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;

    z-index: 1005;
}

.premium-menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: #111;
    transition: all 0.3s ease;
}


/* =====================================================
   TABLET + MOBILE
===================================================== */

@media (max-width: 991px) {

    .premium-navbar {
        position: relative;
        z-index: 1000;
    }

    .premium-nav-container {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 75px;
    }

    /* LOGO */

    .premium-logo {
        position: relative;
        z-index: 1005;
    }

    .premium-logo img {
        width: 170px;
        max-width: 100%;
        height: auto;
        display: block;
    }


    /* HIDE DESKTOP CTA */

    .premium-nav-cta {
        display: none;
    }


    /* SHOW MOBILE BUTTON */

    .premium-menu-toggle {
        display: flex;
        margin-left: auto;
    }


    /* =================================================
       MOBILE MENU
    ================================================= */

    .premium-nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;

        background: #fff;

        padding: 15px 20px 25px;

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);

        pointer-events: none;

        transition:
            opacity 0.3s ease,
            visibility 0.3s ease,
            transform 0.3s ease;

        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);

        z-index: 1000;
    }


    /* OPEN MENU */

    .premium-nav-menu.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }


    /* NAV LIST */

    .premium-nav-list {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;

        width: 100%;
        margin: 0;
        padding: 0;

        list-style: none;
    }


    .premium-nav-list > li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #eeeeee;
    }


    .premium-nav-list > li:last-child {
        border-bottom: 0;
    }


    .premium-nav-list > li > a {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;

        padding: 15px 5px;

        color: #111 !important;
        font-size: 13px;
        font-weight: 500;

        text-decoration: none;
    }


    .premium-nav-list > li > a:hover {
        color: #d91f26 !important;
    }


    /* ACTIVE */

    .premium-nav-list > li > a.active {
        color: #d91f26 !important;
    }


    /* =================================================
       MOBILE PRODUCT DROPDOWN
    ================================================= */

    .premium-dropdown {
        position: relative;
    }


    .premium-dropdown-toggle {
        cursor: pointer;
    }


    .premium-dropdown-toggle i {
        font-size: 12px;
        transition: transform 0.3s ease;
    }


    .premium-dropdown.active
    .premium-dropdown-toggle i {
        transform: rotate(180deg);
    }


    .premium-dropdown-menu {
        position: static !important;

        width: 100% !important;

        display: none;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;

        padding: 0 0 10px !important;

        background: #f8f8f8 !important;

        box-shadow: none !important;
        border: 0 !important;
    }


    .premium-dropdown.active
    .premium-dropdown-menu {
        display: block;
    }


    .premium-dropdown-grid {
        display: flex !important;
        flex-direction: column;

        width: 100%;
        gap: 0;
    }


    .premium-dropdown-grid a {
        display: block;

        width: 100%;

        padding: 11px 12px;

        border-bottom: 1px solid #e5e5e5;

        color: #555 !important;

        font-size: 12px;
        line-height: 1.4;

        text-decoration: none;
    }


    .premium-dropdown-grid a:last-child {
        border-bottom: 0;
    }


    .premium-dropdown-grid a:hover {
        color: #d91f26 !important;
        background: #fff;
    }


    /* =================================================
       HAMBURGER ANIMATION
    ================================================= */

    .premium-menu-toggle.active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .premium-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .premium-menu-toggle.active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .premium-nav-container {
        min-height: 68px;
        padding: 0 15px;
    }

    .premium-logo img {
        width: 145px;
    }

    .premium-menu-toggle {
        width: 40px;
        height: 40px;
    }

    .premium-menu-toggle span {
        width: 23px;
    }

    .premium-nav-menu {
        padding: 10px 15px 20px;
    }

}


/* =====================================================
   LOGO
===================================================== */

.premium-logo {
    display: flex;
    align-items: center;

    flex-shrink: 0;

    text-decoration: none;
}


.premium-logo img {
    width: 230px;
    max-width: 100%;
    height: auto;

    display: block;
}


/* =====================================================
   NAV MENU
===================================================== */

.premium-nav-menu {
    display: flex;
    align-items: center;

    margin-left: auto;
}


.premium-nav-list {
    list-style: none;

    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;

    gap: 30px;
}


.premium-nav-list>li {
    position: relative;
}


.premium-nav-list>li>a {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 48px 0 46px;

    color: #ffffff;

    text-decoration: none;

    font-family: Arial, sans-serif;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: .3px;

    white-space: nowrap;

    transition: .3s ease;
}


/* =====================================================
   NAV HOVER LINE
===================================================== */

.premium-nav-list>li>a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 38px;

    width: 0;
    height: 2px;

    background: #ed1c24;

    transition: width .3s ease;
}


.premium-nav-list>li>a:hover {
    color: #ed1c24;
}


.premium-nav-list>li>a:hover::after,
.premium-nav-list>li>a.active::after {
    width: 100%;
}


.premium-nav-list>li>a.active {
    color: #ed1c24;
}


/* =====================================================
   DROPDOWN ARROW
===================================================== */

.premium-dropdown-toggle i {
    font-size: 9px;

    transition: transform .3s ease;
}


.premium-dropdown:hover .premium-dropdown-toggle i {
    transform: rotate(180deg);
}


/* =====================================================
   PRODUCT DROPDOWN
===================================================== */

.premium-dropdown-menu {
    position: absolute;

    top: 100%;
    left: 50%;

    width: 760px;

    transform: translate(-50%, 15px);

    background: #ffffff;

    border-top: 3px solid #ed1c24;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, .25);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transition:
        opacity .3s ease,
        transform .3s ease,
        visibility .3s ease;
}


.premium-dropdown:hover .premium-dropdown-menu {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform: translate(-50%, 0);
}


/* =====================================================
   DROPDOWN GRID
===================================================== */

.premium-dropdown-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    padding: 20px 25px;
}


.premium-dropdown-grid a {
    position: relative;

    display: block;

    padding: 13px 12px;

    color: #252525;

    text-decoration: none;

    font-size: 13px;
    font-weight: 500;

    line-height: 1.45;

    border-bottom: 1px solid #e8e8e8;

    transition: .25s ease;
}


.premium-dropdown-grid a:hover {
    color: #ed1c24;

    background: #f8f8f8;

    padding-left: 17px;
}


/* =====================================================
   CTA
===================================================== */

.premium-nav-cta {
    flex-shrink: 0;
}


.premium-quote-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 50px;

    padding: 0 25px;

    background: #ed1c24;

    color: #ffffff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;

    transition: .3s ease;
}


.premium-quote-btn i {
    font-size: 14px;

    transition: .3s ease;
}


.premium-quote-btn:hover {
    background: #ffffff;

    color: #ed1c24;
}


.premium-quote-btn:hover i {
    transform: translate(3px, -3px);
}


/* =====================================================
   MOBILE TOGGLE
===================================================== */

.premium-menu-toggle {
    display: none;

    width: 48px;
    height: 45px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .35);

    background: #ed1c24;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 5px;

    cursor: pointer;
}


.premium-menu-toggle span {
    width: 22px;
    height: 2px;

    background: #ffffff;

    display: block;

    transition: .3s ease;
}


/* =====================================================
   MOBILE TOGGLE ACTIVE
===================================================== */

.premium-menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}


.premium-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}


.premium-menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =====================================================
   STICKY HEADER
===================================================== */

.premium-header.scrolled {
    position: fixed;
    top: 0;
}


.premium-header.scrolled .premium-navbar {
    background: rgba(11, 11, 13, .97);

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .15);
}


.premium-header.scrolled .premium-nav-container {
    min-height: 90px;
}


.premium-header.scrolled .premium-nav-list>li>a {
    padding-top: 32px;
    padding-bottom: 30px;
}


.premium-header.scrolled .premium-nav-list>li>a::after {
    bottom: 23px;
}


/* =====================================================
   LARGE LAPTOP
===================================================== */

@media (max-width: 1399px) {

    .premium-nav-container {
        padding: 0 30px;

        gap: 25px;
    }


    .premium-logo img {
        width: 170px;
    }


    .premium-nav-list {
        gap: 22px;
    }


    .premium-nav-list>li>a {
        font-size: 12px;
    }


    .premium-quote-btn {
        padding: 0 20px;
    }

}


/* =====================================================
   LAPTOP
===================================================== */

@media (max-width: 1199px) {

    .premium-nav-container {
        min-height: 105px;

        padding: 0 25px;
    }


    .premium-logo img {
        width: 155px;
    }


    .premium-nav-list {
        gap: 17px;
    }


    .premium-nav-list>li>a {
        font-size: 11px;

        padding-top: 40px;
        padding-bottom: 38px;
    }


    .premium-nav-list>li>a::after {
        bottom: 30px;
    }


    .premium-quote-btn {
        min-height: 45px;

        padding: 0 17px;

        font-size: 9px;
    }


    .premium-dropdown-menu {
        width: 680px;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .premium-header {
        position: absolute;
    }


    .premium-nav-container {
        min-height: 90px;

        padding: 0 25px;
    }


    .premium-logo img {
        width: 155px;
    }


    /* Hide desktop menu */

    .premium-nav-menu {
        position: absolute;

        top: 100%;

        left: 0;
        right: 0;

        width: 100%;

        background: #111113;

        padding: 10px 25px 25px;

        display: none;
    }


    .premium-nav-menu.show {
        display: block;
    }


    .premium-nav-list {
        width: 100%;

        flex-direction: column;

        align-items: stretch;

        gap: 0;
    }


    .premium-nav-list>li {
        width: 100%;

        border-bottom: 1px solid rgba(255, 255, 255, .10);
    }


    .premium-nav-list>li>a {
        width: 100%;

        padding: 17px 5px;

        font-size: 13px;
    }


    .premium-nav-list>li>a::after {
        display: none;
    }


    .premium-nav-list>li>a.active {
        color: #ed1c24;
    }


    /* CTA */

    .premium-nav-cta {
        margin-left: auto;
    }


    .premium-nav-cta .premium-quote-btn {
        display: none;
    }


    /* Toggle */

    .premium-menu-toggle {
        display: flex;
    }


    /* Dropdown */

    .premium-dropdown-menu {
        position: static;

        width: 100%;

        transform: none;

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        display: none;

        box-shadow: none;

        border-top: 1px solid #ed1c24;
    }


    .premium-dropdown.open .premium-dropdown-menu {
        display: block;
    }


    .premium-dropdown-grid {
        grid-template-columns: 1fr;

        padding: 5px 10px 10px;
    }


    .premium-dropdown-grid a {
        color: #d0d0d0;

        padding: 11px 10px;

        font-size: 12px;
    }


    .premium-dropdown-grid a:hover {
        background: #1b1b1d;

        color: #ed1c24;
    }


    .premium-dropdown-toggle i {
        margin-left: auto;
    }


    .premium-dropdown.open .premium-dropdown-toggle i {
        transform: rotate(180deg);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .premium-nav-container {
        min-height: 78px;

        padding: 0 18px;
    }


    .premium-logo img {
        width: 145px;
    }


    .premium-menu-toggle {
        width: 44px;
        height: 40px;
    }


    .premium-menu-toggle span {
        width: 20px;
    }


    .premium-nav-menu {
        padding: 8px 18px 20px;
    }


    .premium-nav-list>li>a {
        padding: 15px 4px;

        font-size: 12px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .premium-nav-container {
        min-height: 72px;

        padding: 0 15px;
    }


    .premium-logo img {
        width: 135px;
    }


    .premium-menu-toggle {
        width: 42px;
        height: 38px;
    }


    .premium-menu-toggle span {
        width: 19px;
    }


    .premium-nav-menu {
        padding-left: 15px;
        padding-right: 15px;
    }


    .premium-nav-list>li>a {
        font-size: 11px;

        padding: 14px 4px;
    }


    .premium-dropdown-grid a {
        font-size: 11px;
    }

}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 360px) {

    .premium-logo img {
        width: 190px;
    }


    .premium-menu-toggle {
        width: 39px;
        height: 36px;
    }


    .premium-nav-container {
        padding: 0 12px;
    }

}


/* =====================================================
   HERO VIDEO BANNER
===================================================== */

.industrial-hero {

    position: relative;

    min-height: 760px;

    height: 90vh;

    display: flex;

    align-items: center;

    overflow: hidden;

    background: #333;

}


/* =====================================================
   VIDEO
===================================================== */

.hero-video {

    position: absolute;

    inset: 0;

    z-index: 0;

}

.hero-video video {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}


/* =====================================================
   MEDIUM OVERLAY
===================================================== */

.hero-overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    background:

      linear-gradient(90deg, rgb(0 0 0 / 52%) 0%, rgb(0 0 0 / 29%) 45%, rgb(0 0 0 / 30%) 100%);

}


/* =====================================================
   CONTENT
===================================================== */

.hero-content {

    position: relative;

    z-index: 3;

    max-width: 680px;

    padding-top: 40px;

}


/* =====================================================
   LABEL
===================================================== */

.hero-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 24px;

    color: #fff;

    font-size: 10px;

    font-weight: 500;

    letter-spacing: 2.5px;

}

.hero-label span {

    width: 38px;

    height: 1px;

    background: #e31b23;

}


/* =====================================================
   HEADING
===================================================== */

.hero-content h1 {

    margin: 0 0 24px;

    color: #fff;

    font-size: clamp(42px, 5vw, 68px);

    line-height: 1.08;

    font-weight: 500;

    letter-spacing: -1.5px;

    max-width: 700px;

}

.hero-content h1 span {

    display: block;

    color: #e31b23;

    font-weight: 500;

}


/* =====================================================
   DESCRIPTION
===================================================== */

.hero-content p {

    max-width: 600px;

    margin: 0 0 32px;

    color: rgba(255,255,255,.85);

    font-size: 15px;

    line-height: 1.8;

    font-weight: 400;

}


/* =====================================================
   BUTTONS
===================================================== */

.hero-buttons {

    display: flex;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

}

.hero-btn {

    display: inline-flex;

    align-items: center;

    gap: 28px;

    padding: 15px 18px 15px 22px;

    background: #e31b23;

    color: #fff;

    text-decoration: none;

    font-size: 15px;

    font-weight: 500;

    transition: .3s ease;

}

.hero-btn i {

    font-size: 16px;

}

.hero-btn:hover {

    background: #fff;

    color: #222;

    transform: translateY(-2px);

}


.hero-outline-btn {

    display: inline-flex;

    align-items: center;

    padding: 14px 22px;

    border: 1px solid rgba(255,255,255,.65);

    color: #fff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 500;

    transition: .3s ease;

}

.hero-outline-btn:hover {

    background: #fff;

    color: #222;

}


/* =====================================================
   BOTTOM
===================================================== */

.hero-bottom {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 28px;

    z-index: 5;

}

.hero-bottom-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

}


/* =====================================================
   SCROLL
===================================================== */

.hero-scroll {

    display: flex;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.7);

    font-size: 9px;

    font-weight: 500;

    letter-spacing: 2px;

}

.hero-scroll span {

    width: 42px;

    height: 1px;

    background: rgba(255,255,255,.7);

    position: relative;

}

.hero-scroll span::after {

    content: "";

    position: absolute;

    left: 0;

    top: -1px;

    width: 12px;

    height: 3px;

    background: #e31b23;

}


/* =====================================================
   STATS
===================================================== */

.hero-stats {

    display: flex;

    align-items: center;

    gap: 22px;

}

.hero-stat {

    display: flex;

    align-items: center;

    gap: 9px;

}

.hero-stat strong {

    color: #fff;

    font-size: 28px;

    line-height: 1;

    font-weight: 500;

}

.hero-stat small {

    color: rgba(255,255,255,.65);

    font-size: 7px;

    line-height: 1.5;

    letter-spacing: 1px;

    font-weight: 500;

}

.hero-stat-divider {

    width: 1px;

    height: 28px;

    background: rgba(255,255,255,.3);

}


/* =====================================================
   LAPTOP
===================================================== */

@media (max-width: 1199px) {

    .industrial-hero {

        min-height: 680px;

        height: 80vh;

    }

    .hero-content {

        max-width: 600px;

    }

    .hero-content h1 {

        font-size: 56px;

    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .industrial-hero {

        min-height: 680px;

        height: 760px;

    }

    .hero-content {

        max-width: 620px;

        padding-top: 30px;

    }

    .hero-content h1 {

        font-size: 52px;

        letter-spacing: -1px;

    }

    .hero-content p {

        font-size: 14px;

        max-width: 540px;

    }

    .hero-bottom {

        bottom: 25px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .industrial-hero {

        min-height: 650px;

        height: 720px;

        align-items: center;

    }

    .hero-video video {

        object-position: center;

    }

    .hero-overlay {

        background:

           linear-gradient(90deg, rgb(0 0 0 / 0%), rgb(0 0 0 / 0%));

    }

    .hero-content {

        padding: 40px 15px 100px;

    }

    .hero-label {

        font-size: 8px;

        letter-spacing: 1.8px;

        margin-bottom: 18px;

    }

    .hero-label span {

        width: 25px;

    }

    .hero-content h1 {

        font-size: 40px;

        line-height: 1.1;

        letter-spacing: -.8px;

        margin-bottom: 18px;

        font-weight: 500;

    }

    .hero-content p {

        font-size: 13px;

        line-height: 1.7;

        margin-bottom: 25px;

    }

    .hero-buttons {

        gap: 10px;

    }

    .hero-btn {

        padding: 13px 16px 13px 18px;

        font-size: 11px;

    }

    .hero-outline-btn {

        padding: 12px 18px;

        font-size: 11px;

    }

    .hero-bottom-inner {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

    }

    .hero-stats {

        gap: 14px;

    }

    .hero-stat strong {

        font-size: 22px;

    }

    .hero-stat small {

        font-size: 6px;

    }

    .hero-stat-divider {

        height: 24px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .industrial-hero {

        min-height: 620px;

        height: 690px;

    }

    .hero-content {

        padding-left: 10px;

        padding-right: 10px;

    }

    .hero-content h1 {

        font-size: 35px;

    }

    .hero-content p {

        font-size: 12.5px;

        max-width: 330px;

    }

    .hero-buttons {

        flex-direction: column;

        align-items: flex-start;

    }

    .hero-btn,
    .hero-outline-btn {

        width: auto;

    }

    .hero-bottom {

        bottom: 18px;

    }

    .hero-scroll {

        font-size: 7px;

    }

    .hero-stats {

        gap: 10px;

    }

    .hero-stat strong {

        font-size: 19px;

    }

}

/* =====================================================
   PREMIUM INDUSTRIAL ABOUT
===================================================== */

.industrial-about {

    position: relative;

    padding: 198px 0 85px ;

    background: #f4f4f4;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.about-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    overflow: hidden;

}


/* =====================================================
   GIANT OUTLINE TEXT
===================================================== */

.about-outline-text {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: clamp(100px, 14vw, 220px);
    font-weight: 800;
    letter-spacing: -8px;
    color: #00000000;
    -webkit-text-stroke: 1px rgb(30 30 30 / 21%);
    opacity: .8;
    user-select: none;
    animation: outlineMove 10s ease-in-out infinite;
}


@keyframes outlineMove {

    0% {

        transform: translateX(-50%) translateY(0);

    }

    50% {

        transform: translateX(-50%) translateY(-12px);

    }

    100% {

        transform: translateX(-50%) translateY(0);

    }

}


/* =====================================================
   TRANSPARENT MACHINE IMAGE
===================================================== */

.about-machine-bg {
    position: absolute;
    right: -96px;
    top: 784px;
    width: 440px;
    height: 580px;
    opacity: 1.075;
    z-index: 1;
    animation: machineFloat 8s ease-in-out infinite;
}


.about-machine-bg img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    filter: grayscale(100%);

}


@keyframes machineFloat {

    0%,
    100% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-18px);

    }

}


/* =====================================================
   TECHNICAL LINES
===================================================== */

.about-tech-line {

    position: absolute;

    height: 1px;

    background: rgba(215, 25, 32, .16);

    transform-origin: left center;

}


.line-a {

    width: 420px;

    top: 22%;

    left: -80px;

    transform: rotate(-18deg);

}


.line-b {

    width: 330px;

    right: -80px;

    top: 63%;

    transform: rotate(-28deg);

}


.line-c {

    width: 260px;

    left: 32%;

    bottom: 12%;

    transform: rotate(14deg);

}


/* =====================================================
   TECH DOTS
===================================================== */

.about-tech-dot {

    position: absolute;

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow: 0 0 0 7px rgba(215, 25, 32, .06);

    animation: dotPulse 4s ease-in-out infinite;

}


.dot-a {

    top: 22%;

    left: 18%;

}


.dot-b {

    top: 45%;

    right: 19%;

    animation-delay: 1s;

}


.dot-c {

    bottom: 18%;

    left: 48%;

    animation-delay: 2s;

}


.dot-d {

    bottom: 28%;

    right: 8%;

    animation-delay: 3s;

}


@keyframes dotPulse {

    0%,
    100% {

        transform: scale(1);

        opacity: .35;

    }

    50% {

        transform: scale(1.7);

        opacity: 1;

    }

}


/* =====================================================
   DECORATIVE RINGS
===================================================== */

.about-ring

 {
    position: absolute;
    border: 1px solid rgb(215 25 32 / 80%);
    border-radius: 50%;
    animation: ringRotate 14s linear infinite;
}


.ring-a {
    width: 190px;
    height: 190px;
    left: -90px;
    bottom: 620px;
}


.ring-b {

    width: 260px;

    height: 260px;

    right: -130px;

    top: 80px;

}


@keyframes ringRotate {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}


/* =====================================================
   CONTENT CONTAINER
===================================================== */

.industrial-about .container {

    position: relative;

    z-index: 5;

}


/* =====================================================
   HEADING
===================================================== */

.about-heading {

    position: relative;

    max-width: 850px;

    margin: 0 auto 65px;

    text-align: center;

}


.about-heading-line {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin-bottom: 15px;

}


.about-heading-line span {

    width: 35px;

    height: 2px;

    background: #d71920;

}


.about-heading-line small {

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 4px;

    color: #d71920;

}


.about-heading h2 {

    margin: 0;

    font-size: clamp(36px, 4vw, 58px);

    line-height: 1.05;

    font-weight: 700;

    color: #171717;

    letter-spacing: -2px;

}


.about-heading h2 span {

    display: block;

    color: #d71920;

}


.about-heading p {

    margin: 16px auto 0;

    max-width: 550px;

    font-size: 14px;

    line-height: 1.7;

    color: #777;

}


/* =====================================================
   MAIN
===================================================== */

.about-main {

    position: relative;

}


/* =====================================================
   CONTENT
===================================================== */

.about-content {

    max-width: 580px;

    padding-right: 40px;

}


.about-kicker {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 18px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2.5px;

    color: #777;

}


.about-kicker span {

    width: 28px;

    height: 2px;

    background: #d71920;

}


.about-content h3 {

    margin: 0 0 22px;

    max-width: 550px;

    font-size: clamp(30px, 3vw, 43px);

    line-height: 1.15;

    font-weight: 700;

    color: #151515;

    letter-spacing: -1px;

}


.about-content p {

    margin-bottom: 15px;

    font-size: 14px;

    line-height: 1.85;

    color: #555;

}


/* =====================================================
   FEATURES
===================================================== */

.about-features {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 13px 25px;

    margin-top: 27px;

}


.about-feature {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 13px;

    line-height: 1.5;

    color: #3f3f3f;

}


.feature-icon {

    flex: 0 0 23px;

    width: 23px;

    height: 23px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #d71920;

    color: #fff;

    font-size: 12px;

}


/* =====================================================
   BUTTON
===================================================== */

.about-btn {

    display: inline-flex;

    align-items: center;

    gap: 20px;

    margin-top: 30px;

    padding: 14px 22px;

    background: #d71920;

    color: #fff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    transition: all .35s ease;

}


.about-btn i {

    transition: transform .35s ease;

}


.about-btn:hover {

    background: #161616;

    color: #fff;

}


.about-btn:hover i {

    transform: translate(5px, -5px);

}


/* =====================================================
   IMAGE AREA
===================================================== */

.about-visual {

    position: relative;

    min-height: 505px;

    margin-left: 15px;

}


/* MAIN IMAGE */

.about-main-image {

    position: absolute;

    top: 0;

    right: 15px;

    width: 78%;

    height: 385px;

    overflow: hidden;

    box-shadow: 0 20px 50px rgba(0, 0, 0, .12);

}


.about-main-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .8s ease;

}


.about-main-image:hover img {

    transform: scale(1.05);

}


/* =====================================================
   SMALL IMAGE
===================================================== */

.about-small-image {

    position: absolute;

    left: 0;

    bottom: 15px;

    width: 48%;

    height: 235px;

    padding: 8px;

    background: #fff;

    box-shadow: 0 18px 45px rgba(0, 0, 0, .15);

    z-index: 3;

}


.about-small-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


/* =====================================================
   EXPERIENCE
===================================================== */

.about-experience {

    position: absolute;

    right: 15px;

    bottom: 15px;

    width: 145px;

    height: 95px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    background: #d71920;

    color: #fff;

    z-index: 4;

}


.about-experience strong {

    font-size: 32px;

    font-weight: 700;

    line-height: 1;

}


.about-experience span {

    font-size: 9px;

    line-height: 1.5;

    letter-spacing: 1px;

    font-weight: 600;

}


/* =====================================================
   VERTICAL LABEL
===================================================== */

.about-side-label {

    position: absolute;

    left: -18px;

    top: 105px;

    writing-mode: vertical-rl;

    transform: rotate(180deg);

    font-size: 9px;

    letter-spacing: 3px;

    font-weight: 700;

    color: #999;

    z-index: 5;

}


/* =====================================================
   STATS
===================================================== */

.about-stats {

    position: relative;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    margin-top: 65px;

    padding-top: 25px;

    border-top: 1px solid rgba(0, 0, 0, .15);

}


.about-stat {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 75px;

    text-align: center;

    border-right: 1px solid rgba(0, 0, 0, .12);

}


.about-stat:last-child {

    border-right: 0;

}


.about-stat strong {

    font-size: 44px;

    line-height: 1;

    font-weight: 600;

    color: #d71920;

}


.about-stat span {

    margin-top: 8px;

    font-size: 10px;

    line-height: 1.5;

    letter-spacing: 1.5px;

    font-weight: 700;

    color: #222;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .industrial-about {

        padding: 85px 0 70px;

    }


    .about-outline-text {

        font-size: 130px;

    }


    .about-content {

        max-width: 100%;

        padding-right: 0;

        margin-bottom: 50px;

    }


    .about-visual {

        margin-left: 0;

    }


    .about-machine-bg {

        opacity: .045;

        width: 350px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .industrial-about {

        padding: 70px 0 55px;

    }


    .about-outline-text {

        top: 45px;

        font-size: 75px;

        letter-spacing: -3px;

    }


    .about-machine-bg {

        right: -100px;

        top: 130px;

        width: 300px;

        height: 430px;

        opacity: .045;

    }


    .about-heading {

        margin-bottom: 42px;

    }


    .about-heading h2 {

        font-size: 34px;

        letter-spacing: -1px;

    }


    .about-heading-line small {

        font-size: 10px;

        letter-spacing: 3px;

    }


    .about-content {

        margin-bottom: 40px;

    }


    .about-content h3 {

        font-size: 29px;

    }


    .about-content p {

        font-size: 13px;

        line-height: 1.75;

    }


    .about-features {

        grid-template-columns: 1fr;

        gap: 12px;

    }


    .about-visual {

        min-height: 390px;

    }


    .about-main-image {

        right: 0;

        width: 88%;

        height: 290px;

    }


    .about-small-image {

        width: 57%;

        height: 175px;

        bottom: 0;

    }


    .about-experience {

        right: 0;

        bottom: 0;

        width: 120px;

        height: 75px;

    }


    .about-experience strong {

        font-size: 25px;

    }


    .about-experience span {

        font-size: 8px;

    }


    .about-side-label {

        display: none;

    }


    .about-stats {

        grid-template-columns: 1fr 1fr;

        margin-top: 45px;

        row-gap: 20px;

    }


    .about-stat {

        min-height: 70px;

    }


    .about-stat:nth-child(2) {

        border-right: 0;

    }


    .about-stat:nth-child(3),
    .about-stat:nth-child(4) {

        padding-top: 18px;

        border-top: 1px solid rgba(0, 0, 0, .12);

    }


    .about-stat:nth-child(4) {

        border-right: 0;

    }


    .about-stat strong {

        font-size: 30px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .industrial-about {

        padding: 60px 0 45px;

    }


    .about-outline-text {

        font-size: 62px;

        top: 50px;

    }


    .about-heading h2 {

        font-size: 30px;

    }


    .about-content h3 {

        font-size: 26px;

    }


    .about-main-image {

        width: 92%;

        height: 260px;

    }


    .about-small-image {

        width: 60%;

        height: 155px;

    }


    .about-visual {

        min-height: 350px;

    }


    .about-experience {

        width: 108px;

        height: 67px;

    }


    .about-experience strong {

        font-size: 22px;

    }


    .about-stat strong {

        font-size: 26px;

    }

}
/* =====================================================
   ENGINEERING SECTION
===================================================== */

.engineering-section {
    position: relative;
    padding: 100px 0 120px;
    background: #f7f7f7;
    overflow: hidden;
}


/* =====================================================
   IMAGE COLLAGE
===================================================== */

.engineering-images {
    position: relative;
    width: 100%;
    max-width: 620px;
    height: 560px;
    margin: 0 auto;
}


/* Back Image */

.engineering-img {
    position: absolute;
    overflow: hidden;
}

.engineering-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    transition:
        transform 0.6s ease,
        filter 0.6s ease;
}


/* Back image */

.engineering-img-back {
    width: 72%;
    height: 390px;
    top: 0;
    right: 0;
    z-index: 1;
}

.engineering-img-back img {
    filter: saturate(0.9);
}


/* Front image */

.engineering-img-front {
    width: 62%;
    height: 360px;
    left: 0;
    bottom: -85px;
    z-index: 2;
    border: 6px solid #f7f7f7;
}


/* Image hover */

.engineering-img:hover img {
    transform: scale(1.06);
}


/* =====================================================
   CONTENT
===================================================== */

.engineering-content {
    max-width: 570px;
    padding-left: 25px;
}

.section-mini-title {
    display: inline-block;

    font-size: 15px;
    font-weight: 600;
    letter-spacing: 3px;

    color: #e3262e;

    margin-bottom: 12px;
}


/* Heading */

.engineering-content h2 {
    margin: 0;

    font-size: 36px;
    line-height: 1.15;

    font-weight: 500;

    color: #171717;

    text-transform: uppercase;
}

.engineering-content h2 span {
    display: block;
    color: #e3262e;
    font-weight: 500;
}

.engineering-content h3 {
    margin: 6px 0 25px;

    font-size: 24px;
    line-height: 1.25;

    font-weight: 500;

    color: #e3262e;
    text-transform: uppercase;
}


/* Paragraph */

.engineering-content p {
    margin-bottom: 18px;

    font-size: 16px;
    line-height: 1.75;

    color: #666;
}


/* =====================================================
   FEATURE LIST
===================================================== */

.engineering-list {
    list-style: none;

    margin: 25px 0;
    padding: 0;
}

.engineering-list li {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 12px;

    font-size: 14px;
    color: #444;
}

.engineering-list li i {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: #e3262e;
    color: #fff;

    font-size: 12px;

    flex-shrink: 0;
}


/* Bottom text */

.engineering-bottom-text {
    font-size: 15px !important;
    line-height: 1.7 !important;

    margin-top: 5px;
}


/* =====================================================
   BUTTON
===================================================== */

.engineering-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    margin-top: 10px;

    padding: 13px 22px;

    background: #e3262e;
    color: #fff;

    font-size: 15px;
    font-weight: 500;

    text-decoration: none;

    transition: all 0.3s ease;
}

.engineering-btn i {
    font-size: 15px;
    transition: transform 0.3s ease;
}

.engineering-btn:hover {
    background: #c91d25;
    color: #fff;
}

.engineering-btn:hover i {
    transform: translate(3px, -3px);
}


/* =====================================================
   IMAGE FLOAT ANIMATION
===================================================== */

.engineering-img-back {
    animation: facilityFloat 5s ease-in-out infinite;
}

.engineering-img-front {
    animation: facilityFloatReverse 5s ease-in-out infinite;
}

@keyframes facilityFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes facilityFloatReverse {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(8px);
    }
}


/* =====================================================
   LARGE LAPTOP
===================================================== */

@media (max-width: 1199px) {

    .engineering-section {
        padding: 90px 0 100px;
    }

    .engineering-images {
        height: 500px;
    }

    .engineering-img-back {
        width: 75%;
        height: 350px;
    }

    .engineering-img-front {
        width: 65%;
        height: 320px;
    }

    .engineering-content {
        padding-left: 10px;
    }

    .engineering-content h2 {
        font-size: 32px;
    }

    .engineering-content h3 {
        font-size: 21px;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .engineering-section {
        padding: 75px 0 85px;
    }

    .engineering-images {
        max-width: 650px;
        height: 500px;
    }

    .engineering-content {
        max-width: 700px;
        margin: 0 auto;
        padding-left: 0;
    }

    .engineering-content h2 {
        font-size: 31px;
    }

    .engineering-content h3 {
        font-size: 21px;
    }

    .engineering-content p {
        font-size: 14px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .engineering-section {
        padding: 60px 0 70px;
    }

    .engineering-images {
        height: 390px;
        max-width: 100%;
    }

    .engineering-img-back {
        width: 78%;
        height: 270px;
        right: 0;
    }

    .engineering-img-front {
        width: 70%;
        height: 250px;
        left: 0;
        bottom: 0;
        border-width: 4px;
    }

    .engineering-content {
        padding: 0 5px;
    }

    .section-mini-title {
        font-size: 9px;
        letter-spacing: 2.5px;
    }

    .engineering-content h2 {
        font-size: 27px;
        line-height: 1.2;
    }

    .engineering-content h3 {
        font-size: 18px;
        line-height: 1.35;
        margin-bottom: 20px;
    }

    .engineering-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .engineering-list {
        margin: 20px 0;
    }

    .engineering-list li {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .engineering-btn {
        padding: 12px 19px;
        font-size: 12px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .engineering-section {
        padding: 50px 0 60px;
    }

    .engineering-images {
        height: 330px;
    }

    .engineering-img-back {
        width: 82%;
        height: 220px;
    }

    .engineering-img-front {
        width: 72%;
        height: 215px;
    }

    .engineering-content h2 {
        font-size: 24px;
    }

    .engineering-content h3 {
        font-size: 17px;
    }

    .engineering-content p {
        font-size: 13px;
    }

    .engineering-list li {
        font-size: 12.5px;
    }

}

/* =====================================================
   INDUSTRIAL BACKGROUND ANIMATION
===================================================== */

.engineering-section {
    position: relative;
    overflow: hidden;
    background: #f7f7f7;
}


/* Background animation layer */

.engineering-bg-animation {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
    overflow: hidden;

    z-index: 0;
}


/* =====================================================
   MOVING ENGINEERING LINES
===================================================== */

.bg-line {
    position: absolute;

    display: block;

    width: 180px;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(227, 38, 46, 0.35),
        transparent
    );

    transform: rotate(-35deg);

    animation: engineeringLine 9s linear infinite;
}


.line-one {
    top: 15%;
    left: -220px;

    animation-delay: 0s;
}


.line-two {
    top: 50%;
    left: -300px;

    animation-delay: 3s;

    width: 240px;
}


.line-three {
    top: 80%;
    left: -250px;

    animation-delay: 6s;

    width: 140px;
}


@keyframes engineeringLine {

    0% {
        transform: translateX(0) rotate(-35deg);
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    70% {
        opacity: 0.7;
    }

    100% {
        transform: translateX(1500px) rotate(-35deg);
        opacity: 0;
    }

}


/* =====================================================
   SOFT INDUSTRIAL GLOW CIRCLES
===================================================== */

.bg-circle {
    position: absolute;
    display: block;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 2px solid rgb(227 38 46);
    animation: circlePulse 6s ease-in-out infinite;
}


.bg-circle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgb(255 0 11);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 20px rgb(227 38 46 / 44%);
}

.circle-one {
    top: 8%;
    left: -70px;

    animation-delay: 0s;
}


.circle-two {
    right: -80px;
    top: 42%;

    width: 230px;
    height: 230px;

    animation-delay: 2s;
}


.circle-three {
    bottom: -100px;
    left: 35%;

    width: 200px;
    height: 200px;

    animation-delay: 4s;
}


@keyframes circlePulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.35;
    }

    50% {
        transform: scale(1.12);
        opacity: 0.7;
    }

}


/* Make actual content stay above animation */

.engineering-section .container {
    position: relative;
    z-index: 2;
}

/* =====================================================
   PRODUCTS SECTION
===================================================== */

.products-section {
    position: relative;
    padding: 100px 0 110px;
    background: #f7f8f9;
    overflow: hidden;
}


/* =====================================================
   ANIMATED BACKGROUND
===================================================== */

.products-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.products-bg span {
    position: absolute;
    display: block;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(220, 25, 25, 0.08);
    border-radius: 50%;
    animation: hydraulicPulse 8s linear infinite;
}

.products-bg span:nth-child(1) {
    left: 5%;
    top: 20%;
}

.products-bg span:nth-child(2) {
    right: 8%;
    top: 10%;
    width: 260px;
    height: 260px;
    animation-delay: 2s;
}

.products-bg span:nth-child(3) {
    left: 35%;
    bottom: -100px;
    width: 300px;
    height: 300px;
    animation-delay: 4s;
}

.products-bg span:nth-child(4) {
    right: 35%;
    bottom: 5%;
    width: 120px;
    height: 120px;
    animation-delay: 1s;
}

.products-bg span:nth-child(5) {
    left: 70%;
    top: 45%;
    width: 200px;
    height: 200px;
    animation-delay: 5s;
}


@keyframes hydraulicPulse {

    0% {
        transform: scale(.7);
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }

}


/* =====================================================
   CONTAINER
===================================================== */

.products-container {
    position: relative;
    z-index: 2;
}


/* =====================================================
   HEADING
===================================================== */

.products-heading {
    max-width: 760px;
    margin: 0 auto 55px;
}

.products-small-title {
    display: block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #d71920;
}

.products-heading h2 {
    margin: 0;
    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    color: #171717;
    text-transform: uppercase;
}

.products-heading h2 span {
    color: #d71920;
}

.products-heading p {
    max-width: 620px;
    margin: 18px auto 0;
    font-size: 16px;
    line-height: 1.7;
    color: #666;
}


/* =====================================================
   SWIPER
===================================================== */

.hydraulicProductsSwiper {
    position: relative;
    padding: 10px 35px 70px;
    overflow: hidden;
}

.hydraulicProductsSwiper .swiper-wrapper {
    align-items: stretch;
}


/* =====================================================
   PRODUCT CARD
===================================================== */

.product-card {
    position: relative;
    height: 100%;
    background: #ffffff;
    border: 1px solid #e8e8e8;
    transition: all .4s ease;
    overflow: hidden;
}


/* Red Top Line */

.product-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #d71920;
    transform: scaleX(.3);
    transform-origin: center;
    transition: .4s ease;
    z-index: 3;
}

.product-card:hover::before {
    transform: scaleX(1);
}


/* Hover */

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .12);
}


/* =====================================================
   PRODUCT IMAGE
===================================================== */

.product-image {
    height: 230px;
    padding: 18px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .5s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.07);
}


/* =====================================================
   PRODUCT CONTENT
===================================================== */

.product-content {
    padding: 20px 18px 22px;
    text-align: center;
    border-top: 1px solid #eeeeee;
}

.product-content h3 {
    min-height: 46px;
    margin: 0 0 15px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    color: #222;
}

.product-content a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #d71920;
    text-decoration: none;
    transition: .3s ease;
}

.product-content a i {
    transition: .3s ease;
}

.product-content a:hover i {
    transform: translate(3px, -3px);
}


/* =====================================================
   ARROWS
===================================================== */

.product-prev,
.product-next {
    position: absolute;
    top: 45%;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #222;
    cursor: pointer;
    z-index: 10;
    transition: .3s ease;
}

.product-prev {
    left: 0;
}

.product-next {
    right: 0;
}

.product-prev:hover,
.product-next:hover {
    background: #d71920;
    border-color: #d71920;
    color: #fff;
}


/* =====================================================
   PAGINATION
===================================================== */

.hydraulicProductsSwiper .swiper-pagination {
    bottom: 18px;
}

.hydraulicProductsSwiper
.swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    opacity: 1;
    background: #d0d0d0;
    transition: .3s ease;
}

.hydraulicProductsSwiper
.swiper-pagination-bullet-active {
    width: 25px;
    border-radius: 10px;
    background: #d71920;
}


/* =====================================================
   VIEW ALL BUTTON
===================================================== */

.products-button {
    margin-top: 5px;
}

.view-products-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 15px 30px;
    border: 1px solid #d71920;
    color: #d71920;
    background: transparent;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: .3s ease;
}

.view-products-btn:hover {
    background: #d71920;
    color: #fff;
}

.view-products-btn i {
    transition: .3s ease;
}

.view-products-btn:hover i {
    transform: translate(3px, -3px);
}


/* =====================================================
   LARGE LAPTOP
===================================================== */

@media (max-width: 1399px) {

    .products-section {
        padding: 85px 0 95px;
    }

    .products-heading h2 {
        font-size: 38px;
    }

    .product-image {
        height: 210px;
    }

}


/* =====================================================
   LAPTOP
===================================================== */

@media (max-width: 1199px) {

    .products-section {
        padding: 75px 0 85px;
    }

    .products-heading {
        margin-bottom: 40px;
    }

    .products-heading h2 {
        font-size: 34px;
    }

    .product-image {
        height: 200px;
    }

    .product-content h3 {
        font-size: 15px;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .products-section {
        padding: 65px 0 75px;
    }

    .products-heading {
        max-width: 650px;
        margin-bottom: 35px;
    }

    .products-heading h2 {
        font-size: 32px;
    }

    .products-heading p {
        font-size: 14px;
    }

    .hydraulicProductsSwiper {
        padding-left: 25px;
        padding-right: 25px;
    }

    .product-image {
        height: 220px;
    }

    .product-prev,
    .product-next {
        width: 38px;
        height: 38px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .products-section {
        padding: 55px 0 65px;
    }

    .products-heading {
        padding: 0 20px;
        margin-bottom: 30px;
    }

    .products-small-title {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .products-heading h2 {
        font-size: 27px;
    }

    .products-heading p {
        font-size: 13px;
        line-height: 1.6;
    }

    .hydraulicProductsSwiper {
        padding: 5px 35px 60px;
    }

    .product-image {
        height: 230px;
    }

    .product-content {
        padding: 18px 15px 20px;
    }

    .product-content h3 {
        font-size: 15px;
    }

    .product-prev,
    .product-next {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    .product-prev {
        left: 2px;
    }

    .product-next {
        right: 2px;
    }

    .view-products-btn {
        padding: 13px 24px;
        font-size: 13px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .products-heading h2 {
        font-size: 24px;
    }

    .product-image {
        height: 210px;
    }

}

/* =====================================================
   SERVICES SECTION
===================================================== */

.services-section {
    position: relative;
    padding: 80px 0 80px;
    background: #f8f8f8;
    overflow: hidden;
}


/* --------------------------------
   BACKGROUND ANIMATION
-------------------------------- */

.services-bg-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.shape-one {
    width: 420px;
    height: 420px;
    right: -180px;
    top: 80px;
    background: rgba(220, 35, 35, 0.035);
    animation: servicesFloat 8s ease-in-out infinite;
}

.shape-two {
    width: 280px;
    height: 280px;
    left: -140px;
    bottom: 40px;
    background: rgba(220, 35, 35, 0.025);
    animation: servicesFloatReverse 10s ease-in-out infinite;
}

@keyframes servicesFloat {

    0% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-25px) scale(1.05);
    }

    100% {
        transform: translateY(0) scale(1);
    }

}

@keyframes servicesFloatReverse {

    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(25px);
    }

    100% {
        transform: translateY(0);
    }

}


/* --------------------------------
   MAIN WRAPPER
-------------------------------- */

.services-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 90px;
}


/* ==========================================
   NEW SERVICES IMAGE DESIGN
========================================== */

.services-visual {
    position: relative;
    height: 570px;
    width: 100%;
}


/* MAIN IMAGE */

.visual-main {
    position: absolute;
    top: 0;
    left: 20px;
    width: 72%;
    height: 410px;
    overflow: hidden;
    z-index: 1;
}

.visual-main img,
.visual-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}

.visual-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.02),
        rgba(0,0,0,0.18)
    );
}


/* SMALL IMAGE 1 */

.visual-small-one {
    position: absolute;
    right: 0;
    top: 85px;
    width: 42%;
    height: 210px;
    z-index: 3;

    border: 8px solid #f8f8f8;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}


/* SMALL IMAGE 2 */

.visual-small-two {
    position: absolute;
    left: 115px;
    bottom: 0;
    width: 48%;
    height: 210px;
    z-index: 4;

    border: 8px solid #f8f8f8;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}


/* HOVER */

.visual-main:hover img,
.visual-small:hover img {
    transform: scale(1.07);
}


/* RED ACCENT LINE */

.visual-line {
    position: absolute;
    left: 0;
    top: 35px;
    width: 5px;
    height: 150px;
    background: #d91f26;
    z-index: 5;
}


/* EXPERIENCE BADGE */

.visual-badge {
    position: absolute;
    right: 15px;
    bottom: 15px;

    width: 155px;
    height: 95px;

    background: #d91f26;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    z-index: 6;
}

.visual-badge strong {
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
}

.visual-badge span {
    font-size: 10px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* =====================================================
   SERVICES SECTION - RESPONSIVE FIX
===================================================== */

/* ---------- TABLET ---------- */

@media (max-width: 991px) {

    .services-section {
        padding: 80px 0 90px;
        overflow: hidden;
    }

    .services-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    /* IMAGE AREA */

    .services-visual {
        width: 100%;
        max-width: 650px;
        height: 520px;
        margin: 0 auto;
    }

    /* CONTENT */

    .services-content {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }

    .services-content h2 {
        font-size: 42px;
    }

    .services-intro {
        max-width: 100%;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 767px) {

    .services-section {
        padding: 65px 0 70px;
        overflow: hidden;
    }

    .services-wrapper {
        display: grid;
        grid-template-columns: 1fr;
        gap: 45px;
        width: 100%;
    }

    /* =================================
       IMAGE AREA
    ================================= */

    .services-visual {
        position: relative;
        width: 100%;
        max-width: 100%;
        height: 410px;
        margin: 0 auto;
    }

    .visual-main {
        left: 10px;
        top: 0;
        width: 75%;
        height: 275px;
    }

    .visual-small-one {
        right: 0;
        top: 55px;
        width: 42%;
        height: 140px;
        border-width: 5px;
    }

    .visual-small-two {
        left: 55px;
        bottom: 0;
        width: 53%;
        height: 150px;
        border-width: 5px;
    }

    .visual-line {
        left: 0;
        top: 25px;
        width: 4px;
        height: 95px;
    }

    .visual-badge {
        right: 5px;
        bottom: 5px;
        width: 120px;
        height: 65px;
    }

    .visual-badge strong {
        font-size: 23px;
    }

    .visual-badge span {
        font-size: 8px;
    }


    /* =================================
       CONTENT AREA
    ================================= */

    .services-content {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .services-small-title {
        font-size: 11px;
        letter-spacing: 3px;
        margin-bottom: 12px;
    }

    .services-content h2 {
        font-size: 34px;
        line-height: 1.15;
        margin-bottom: 18px;
    }

    .services-intro {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 28px;
    }


    /* =================================
       SERVICE ITEMS
    ================================= */

    .service-item {
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 20px;
        padding: 5px 0;
    }

    .service-icon {
        flex: 0 0 58px;
        width: 58px;
        height: 58px;
        font-size: 23px;
    }

    .service-text {
        min-width: 0;
        flex: 1;
    }

    .service-text h3 {
        font-size: 18px;
        line-height: 1.25;
        margin-bottom: 6px;
    }

    .service-text p {
        width: 100%;
        max-width: 100%;
        font-size: 13px;
        line-height: 1.55;
    }

    /* BUTTON */

    .services-btn {
        margin-top: 15px;
        padding: 13px 22px;
        font-size: 13px;
    }

}


/* ---------- SMALL MOBILE ---------- */

@media (max-width: 480px) {

    .services-section {
        padding: 55px 0 60px;
    }

    .services-wrapper {
        gap: 35px;
    }

    /* IMAGE */

    .services-visual {
        height: 345px;
    }

    .visual-main {
        left: 8px;
        width: 77%;
        height: 230px;
    }

    .visual-small-one {
        width: 43%;
        height: 115px;
        right: 0;
        top: 48px;
        border-width: 4px;
    }

    .visual-small-two {
        width: 54%;
        height: 120px;
        left: 42px;
        bottom: 0;
        border-width: 4px;
    }

    .visual-line {
        width: 3px;
        height: 80px;
        top: 20px;
    }

    .visual-badge {
        width: 100px;
        height: 55px;
        right: 3px;
        bottom: 3px;
    }

    .visual-badge strong {
        font-size: 19px;
    }

    .visual-badge span {
        font-size: 7px;
        letter-spacing: .5px;
    }


    /* CONTENT */

    .services-small-title {
        font-size: 10px;
        letter-spacing: 2.5px;
    }

    .services-content h2 {
        font-size: 30px;
        line-height: 1.15;
    }

    .services-intro {
        font-size: 13px;
        line-height: 1.65;
    }

    .service-item {
        gap: 13px;
        margin-bottom: 18px;
    }

    .service-icon {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
        font-size: 21px;
    }

    .service-text h3 {
        font-size: 17px;
    }

    .service-text p {
        font-size: 12.5px;
        line-height: 1.5;
    }

    .services-btn {
        width: auto;
        padding: 12px 20px;
    }

}

/* --------------------------------
   CONTENT
-------------------------------- */

.services-content {
    position: relative;
    z-index: 5;
}


.services-small-title {
    display: block;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 4px;
    color: #d91f26;
    text-transform: uppercase;
}


.services-content h2 {
    margin: 0 0 20px;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 500;
    color: #111;
}


.services-content h2 span {
    color: #d91f26;
}


.services-intro {
    max-width: 520px;
    margin-bottom: 35px;
    color: #666;
    font-size: 15px;
    line-height: 1.8;
}


/* --------------------------------
   SERVICE ITEMS
-------------------------------- */

.service-item {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
    padding: 8px 0;
    transition: transform 0.3s ease;
}

.service-item:hover {
    transform: translateX(8px);
}


/* Icon */

.service-icon {
    flex: 0 0 78px;
    width: 78px;
    height: 78px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eeeeee;
    color: #111;

    font-size: 30px;

    transition: all 0.35s ease;
}

.service-item:hover .service-icon {
    background: #d91f26;
    color: #fff;
}


/* Text */

.service-text h3 {
    margin: 0 0 7px;
    font-size: 22px;
    font-weight: 500;
    color: #111;
}

.service-text p {
    margin: 0;
    max-width: 500px;
    color: #777;
    font-size: 14px;
    line-height: 1.6;
}


/* --------------------------------
   BUTTON
-------------------------------- */

.services-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;

    margin-top: 25px;
    padding: 15px 28px;

    border: 1px solid #d91f26;

    color: #d91f26;
    background: transparent;

    font-size: 14px;
    font-weight: 500;

    text-decoration: none;

    transition: all 0.35s ease;
}

.services-btn i {
    transition: transform 0.3s ease;
}

.services-btn:hover {
    background: #d91f26;
    color: #fff;
}

.services-btn:hover i {
    transform: translate(4px, -4px);
}

/* =====================================================
   MODERN TESTIMONIAL + FAQ
===================================================== */

.review-faq-modern {

    position: relative;

    padding: 10px 0;

    background: #f8f8f8;

    overflow: hidden;

}


/* ==========================================
   BACKGROUND ANIMATION
========================================== */

.bg-line {

    position: absolute;

    width: 500px;

    height: 1px;

    background: rgba(220, 30, 35, 0.10);

    transform: rotate(-35deg);

    animation: movingLine 8s linear infinite;

}


.line-one {

    top: 100px;

    left: -150px;

}


.line-two {

    top: 400px;

    right: -180px;

    animation-delay: 2s;

}


.line-three {

    bottom: 100px;

    left: 25%;

    animation-delay: 4s;

}


@keyframes movingLine {

    0% {

        transform:
        translateX(-100px)
        rotate(-35deg);

        opacity: 0;

    }

    30% {

        opacity: 1;

    }

    70% {

        opacity: 1;

    }

    100% {

        transform:
        translateX(250px)
        rotate(-35deg);

        opacity: 0;

    }

}



/* ==========================================
   HEADING
========================================== */

.modern-section-head {

    position: relative;

    z-index: 2;

    display: flex;

    justify-content: space-between;

    align-items: end;

    gap: 50px;

    margin-bottom: 55px;

}


.modern-section-head span {

    display: block;

    font-size: 12px;

    letter-spacing: 3px;

    color: #e21d25;

    font-weight: 600;

    margin-bottom: 12px;

}


.modern-section-head h2 {

    margin: 0;

    font-size: 42px;

    line-height: 1.15;

    font-weight: 400;

    color: #161616;

}


.modern-section-head h2 b {

    color: #e21d25;

    font-weight: 500;

}


.modern-section-head > p {

    max-width: 410px;

    margin: 0 0 5px;

    color: #777;

    font-size: 15px;

    line-height: 1.8;

}



/* ==========================================
   MAIN ROW
========================================== */

.modern-review-row {

    position: relative;

    z-index: 2;

    background: #fff;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .07);

}



/* ==========================================
   REVIEW PANEL
========================================== */

.review-panel {

    min-height: 455px;

    padding: 45px;

    background: #e21d25;

    position: relative;

    overflow: hidden;

}


.review-panel::before {
    content: "“";
    position: absolute;
    right: 22px;
    top: -47px;
    font-size: 230px;
    line-height: 1;
    color: rgb(0 0 0);
    font-family: Georgia, serif;
}


.review-panel::after {

    content: "";

    position: absolute;

    width: 180px;

    height: 180px;

    border: 1px solid rgba(255,255,255,.15);

    border-radius: 50%;

    right: -80px;

    bottom: -70px;

    animation: pulseRing 5s infinite;

}


@keyframes pulseRing {

    0% {

        transform: scale(.8);

        opacity: .2;

    }

    50% {

        transform: scale(1.15);

        opacity: .6;

    }

    100% {

        transform: scale(.8);

        opacity: .2;

    }

}



/* ==========================================
   REVIEW TOP
========================================== */

.review-top {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 55px;

}


.review-label {
    font-size: 15px;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, .75);
    font-weight: 900;
}


.review-count {

    color: #fff;

}


.review-count span {

    font-size: 27px;

    font-weight: 500;

}


.review-count small {

    font-size: 12px;

    color: rgba(255,255,255,.6);

}



/* ==========================================
   REVIEW SLIDES
========================================== */

.review-slider {

    position: relative;

    min-height: 245px;

}


.review-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transform: translateX(30px);

    transition:
        opacity .6s ease,
        transform .6s ease;

}


.review-slide.active {

    opacity: 1;

    transform: translateX(0);

}


.rating {

    display: flex;

    gap: 5px;

    color: #fff;

    font-size: 12px;

    margin-bottom: 22px;

}


.review-text {

    max-width: 470px;

    color: #fff;

    font-size: 18px;

    line-height: 1.8;

    font-weight: 300;

    margin: 0 0 30px;

}


.review-client {

    display: flex;

    align-items: center;

    gap: 14px;

}


.client-symbol {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.5);

    color: #fff;

    font-size: 11px;

    font-weight: 600;

}


.review-client h5 {

    margin: 0 0 4px;

    font-size: 13px;

    color: #fff;

    font-weight: 500;

}


.review-client span {

    font-size: 11px;

    color: rgba(255,255,255,.65);

}



/* ==========================================
   CONTROLS
========================================== */

.review-controls {

    position: absolute;

    bottom: 40px;

    left: 45px;

    right: 45px;

    display: flex;

    align-items: center;

    gap: 15px;

}


.review-controls button {

    width: 38px;

    height: 38px;

    border: 1px solid rgba(255,255,255,.4);

    background: transparent;

    color: #fff;

    transition: .3s;

}


.review-controls button:hover {

    background: #fff;

    color: #e21d25;

}


.review-progress {

    width: 80px;

    height: 2px;

    background: rgba(255,255,255,.3);

}


.review-progress span {

    display: block;

    height: 100%;

    width: 33.33%;

    background: #fff;

    transition: .5s;

}



/* ==========================================
   FAQ
========================================== */

.faq-modern {

    padding: 45px 55px;

}


.faq-modern-head {

    margin-bottom: 25px;

}


.faq-modern-head span {

    font-size: 12px;

    letter-spacing: 3px;

    color: #e21d25;

    font-weight: 600;

}


.faq-modern-head h3 {

    margin: 10px 0 0;

    font-size: 29px;

    font-weight: 400;

    color: #1c1c1c;

}


.faq-modern-head strong {

    color: #e21d25;

    font-weight: 500;

}



/* ==========================================
   FAQ ROW
========================================== */

.faq-row {

    border-bottom: 1px solid #e5e5e5;

}


.faq-question {

    width: 100%;

    border: 0;

    background: transparent;

    display: flex;

    align-items: center;

    text-align: left;

    padding: 19px 0;

    cursor: pointer;

}


.faq-no {

    width: 45px;

    flex-shrink: 0;

    font-size: 11px;

    color: #bbb;

}


.faq-row.active .faq-no {

    color: #e21d25;

}


.faq-title {

    flex: 1;

    padding-right: 20px;

    color: #333;

    font-size: 15px;

    font-weight: 500;

}


.faq-icon {

    width: 28px;

    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #ddd;

    border-radius: 50%;

    color: #777;

    transition: .35s;

}


.faq-row.active .faq-icon {

    background: #e21d25;

    border-color: #e21d25;

    color: #fff;

    transform: rotate(45deg);

}


.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition: max-height .45s ease;

}


.faq-row.active .faq-answer {

    max-height: 150px;

}


.faq-answer p {

    margin: 0;

    padding: 0 45px 20px;

    color: #777;

    font-size: 14px;

    line-height: 1.8;

}



/* ==========================================
   LAPTOP
========================================== */

@media (max-width: 1199px) {

    .modern-section-head h2 {

        font-size: 36px;

    }

    .review-panel {

        padding: 38px;

    }

    .faq-modern {

        padding: 38px 40px;

    }

}



/* ==========================================
   TABLET
========================================== */

@media (max-width: 991px) {

    .review-faq-modern {

        padding: 80px 0;

    }


    .modern-section-head {

        display: block;

        margin-bottom: 40px;

    }


    .modern-section-head > p {

        margin-top: 20px;

    }


    .review-panel {

        min-height: 430px;

    }


    .faq-modern {

        padding: 45px 40px;

    }

}



/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .review-faq-modern {

        padding: 65px 0;

    }


    .modern-section-head h2 {

        font-size: 30px;

    }


    .modern-section-head > p {

        font-size: 13px;

    }


    .review-panel {

        padding: 30px;

        min-height: 430px;

    }


    .review-top {

        margin-bottom: 35px;

    }


    .review-text {

        font-size: 15px;

        line-height: 1.75;

    }


    .review-controls {

        left: 30px;

        right: 30px;

        bottom: 30px;

    }


    .faq-modern {

        padding: 35px 25px;

    }


    .faq-modern-head h3 {

        font-size: 25px;

    }


    .faq-title {

        font-size: 13px;

    }


    .faq-answer p {

        padding-left: 45px;

        font-size: 12px;

    }

}



/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width: 480px) {

    .review-panel {

        min-height: 455px;

    }


    .review-text {

        font-size: 14px;

    }


    .modern-section-head h2 {

        font-size: 27px;

    }

}

/* =====================================================
   INDUSTRIAL CTA
===================================================== */

.industrial-cta {

    position: relative;

    padding: 100px 0;

    background: #f5f5f2;

    overflow: hidden;

}


/* =====================================================
   CTA TECH ANIMATED BACKGROUND
===================================================== */

.industrial-cta {

    position: relative;

    padding: 100px 0;

    background: #f4f5f3;

    overflow: hidden;

}


/* =====================================================
   TECH BACKGROUND
===================================================== */

.cta-tech-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

}


/* =====================================================
   DIAGONAL LINES
===================================================== */

.tech-line {

    position: absolute;

    width: 180%;

    height: 1px;

    left: -40%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(199,25,32,.18),
            transparent
        );

    transform: rotate(-18deg);

}


.line-1 {

    top: 18%;

    animation:
        techLineMove 8s linear infinite;

}


.line-2 {

    top: 48%;

    opacity: .6;

    animation:
        techLineMove 11s linear infinite reverse;

}


.line-3 {

    top: 78%;

    opacity: .4;

    animation:
        techLineMove 9s linear infinite;

}


@keyframes techLineMove {

    0% {

        transform:
            translateX(-20%)
            rotate(-18deg);

    }

    100% {

        transform:
            translateX(20%)
            rotate(-18deg);

    }

}


/* =====================================================
   TECH CIRCLES
===================================================== */

.tech-circle {

    position: absolute;

    border: 1px solid rgba(199,25,32,.13);

    border-radius: 50%;

}


.circle-1 {

    width: 500px;

    height: 500px;

    right: -170px;

    top: -230px;

    animation:
        circleRotate 18s linear infinite;

}


.circle-2 {

    width: 300px;

    height: 300px;

    left: -130px;

    bottom: -170px;

    border-style: dashed;

    animation:
        circleRotateReverse 14s linear infinite;

}


@keyframes circleRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes circleRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


/* =====================================================
   MOVING DOTS
===================================================== */

.tech-dot {

    position: absolute;

    width: 5px;

    height: 5px;

    border-radius: 50%;

    background: #c71920;

    box-shadow:
        0 0 0 5px rgba(199,25,32,.07),
        0 0 20px rgba(199,25,32,.25);

}


.dot-1 {

    left: 15%;

    top: 25%;

    animation:
        dotMoveOne 6s ease-in-out infinite;

}


.dot-2 {

    left: 45%;

    top: 15%;

    animation:
        dotMoveTwo 7s ease-in-out infinite;

}


.dot-3 {

    right: 20%;

    bottom: 25%;

    animation:
        dotMoveThree 5s ease-in-out infinite;

}


.dot-4 {

    left: 65%;

    bottom: 15%;

    animation:
        dotMoveFour 8s ease-in-out infinite;

}


@keyframes dotMoveOne {

    0%,
    100% {
        transform: translate(0,0);
        opacity: .3;
    }

    50% {
        transform: translate(70px,40px);
        opacity: 1;
    }

}


@keyframes dotMoveTwo {

    0%,
    100% {
        transform: translate(0,0);
    }

    50% {
        transform: translate(-50px,70px);
    }

}


@keyframes dotMoveThree {

    0%,
    100% {
        transform: translate(0,0);
    }

    50% {
        transform: translate(50px,-50px);
    }

}


@keyframes dotMoveFour {

    0%,
    100% {
        transform: translate(0,0);
    }

    50% {
        transform: translate(-60px,-30px);
    }

}


/* =====================================================
   CTA BOX
===================================================== */

.industrial-cta-box {

    position: relative;

    z-index: 5;

    display: grid;

    grid-template-columns: 60% 40%;

    min-height: 450px;

    background: #c71920;

    overflow: hidden;

    box-shadow:
        0 25px 70px rgba(0,0,0,.12);

}


/* =====================================================
   LEFT CONTENT
===================================================== */

.industrial-cta-content {

    padding: 70px 60px 70px 75px;

    position: relative;

    z-index: 3;

}


.industrial-cta-label {

    display: flex;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.7);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.industrial-cta-label span {

    width: 38px;

    height: 1px;

    background: #fff;

}


.industrial-cta-content h2 {

    margin: 25px 0;

    color: #fff;

    font-size: clamp(45px,5vw,68px);

    line-height: .98;

    font-weight: 400;

    letter-spacing: -3px;

}


.industrial-cta-content h2 strong {

    display: block;

    font-weight: 700;

}


.industrial-cta-content p {

    max-width: 540px;

    margin-bottom: 35px;

    color: rgba(255,255,255,.78);

    font-size: 14px;

    line-height: 1.85;

}


/* =====================================================
   BUTTON
===================================================== */

.industrial-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 30px;

    padding: 7px 7px 7px 22px;

    background: #fff;

    color: #171717;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    transition: .4s ease;

}


.industrial-cta-btn i {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #171717;

    color: #fff;

}


.industrial-cta-btn:hover {

    background: #171717;

    color: #fff;

    transform: translateY(-3px);

}


/* =====================================================
   RIGHT SIDE
===================================================== */

.industrial-cta-side {

    position: relative;

    z-index: 5;

    padding: 55px;

    background: #161616;

    color: #fff;

}


.cta-side-top {

    display: flex;

    justify-content: space-between;

    padding-bottom: 20px;

    border-bottom: 1px solid rgba(255,255,255,.15);

}


.cta-side-top span {

    color: #aaa;

    font-size: 9px;

    letter-spacing: 2px;

}


.cta-side-top i {

    color: #c71920;

}


.cta-contact {

    margin-top: 35px;

}


.cta-contact a {

    display: block;

    padding: 18px 0;

    border-bottom: 1px solid rgba(255,255,255,.12);

    text-decoration: none;

}


.cta-contact small {

    display: block;

    margin-bottom: 7px;

    color: #777;

    font-size: 8px;

    letter-spacing: 2px;

}


.cta-contact strong {

    color: #fff;

    font-size: 16px;

    font-weight: 500;

}


.cta-location {

    display: flex;

    gap: 12px;

    margin-top: 25px;

    color: #aaa;

    font-size: 10px;

    line-height: 1.7;

}


.cta-location i {

    color: #c71920;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .industrial-cta {

        padding: 80px 0;

    }

    .industrial-cta-box {

        grid-template-columns: 1fr;

    }

    .industrial-cta-content {

        padding: 60px 50px;

    }

    .industrial-cta-side {

        padding: 45px 50px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .industrial-cta {

        padding: 60px 0;

    }

    .industrial-cta-box {

        margin: 0 5px;

    }

    .industrial-cta-content {

        padding: 45px 25px;

    }

    .industrial-cta-content h2 {

        font-size: 39px;

        letter-spacing: -2px;

    }

    .industrial-cta-content p {

        font-size: 13px;

    }

    .industrial-cta-btn {

        width: 100%;

        justify-content: space-between;

    }

    .industrial-cta-side {

        padding: 40px 25px;

    }

    .cta-contact strong {

        font-size: 14px;

    }

    .circle-1 {

        width: 300px;

        height: 300px;

    }

    .circle-2 {

        width: 200px;

        height: 200px;

    }

}

/* =====================================================
   CTA BOX
===================================================== */

.industrial-cta-box {

    position: relative;

    min-height: 470px;

    display: grid;

    grid-template-columns: 60% 40%;

    background: #c71920;

    overflow: hidden;

    box-shadow:
        0 25px 70px rgba(0,0,0,.12);

}


/* =====================================================
   LEFT CONTENT
===================================================== */

.industrial-cta-content {

    position: relative;

    z-index: 5;

    padding: 75px 60px 70px 75px;

}


.industrial-cta-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 25px;

    color: rgba(255,255,255,.7);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.industrial-cta-label span {

    width: 38px;

    height: 1px;

    background: #fff;

}


.industrial-cta-content h2 {

    max-width: 600px;

    margin: 0;

    color: #fff;

    font-size: clamp(45px, 5vw, 70px);

    line-height: .98;

    letter-spacing: -3px;

    font-weight: 400;

}


.industrial-cta-content h2 strong {

    display: block;

    font-weight: 700;

    color: #fff;

}


.industrial-cta-content p {

    max-width: 550px;

    margin: 28px 0 35px;

    color: rgba(255,255,255,.78);

    font-size: 14px;

    line-height: 1.85;

}


/* =====================================================
   BUTTON
===================================================== */

.industrial-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 30px;

    padding: 7px 7px 7px 22px;

    background: #fff;

    color: #171717;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    transition: .4s ease;

}


.industrial-cta-btn i {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #171717;

    color: #fff;

    transition: .4s ease;

}


.industrial-cta-btn:hover {

    color: #fff;

    background: #171717;

    transform: translateY(-3px);

}


.industrial-cta-btn:hover i {

    background: #c71920;

    transform: translate(3px,-3px);

}


/* =====================================================
   RIGHT CONTACT PANEL
===================================================== */

.industrial-cta-side {

    position: relative;

    z-index: 6;

    padding: 55px 55px;

    background: #151515;

    color: #fff;

}


.cta-side-top {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding-bottom: 20px;

    border-bottom: 1px solid rgba(255,255,255,.15);

}


.cta-side-top span {

    font-size: 15px;

    letter-spacing: 2.5px;

    color: #aaa;

}


.cta-side-top i {

    color: #c71920;

    font-size: 20px;

}


/* =====================================================
   CONTACT DETAILS
===================================================== */

.cta-contact {

    margin-top: 45px;

}


.cta-contact a {

    display: block;

    padding: 20px 0;

    border-bottom: 1px solid rgba(255,255,255,.12);

    text-decoration: none;

    transition: .3s ease;

}


.cta-contact a:hover {

    padding-left: 8px;

}


.cta-contact small {

    display: block;

    margin-bottom: 8px;

    color: #777;

    font-size: 13px;

    letter-spacing: 2px;

}


.cta-contact strong {

    color: #fff;

    font-size: 17px;

    font-weight: 500;

}


.cta-location {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    margin-top: 30px;

    color: #aaa;

    font-size: 11px;

    line-height: 1.7;

}


.cta-location i {

    color: #c71920;

    font-size: 17px;

}


/* =====================================================
   HYDRAULIC CYLINDER DECORATION
===================================================== */

.cta-cylinder {

    position: absolute;

    right: 28%;

    bottom: -40px;

    width: 420px;

    height: 150px;

    z-index: 3;

    opacity: .12;

    transform: rotate(-15deg);

    pointer-events: none;

}


.cylinder-body {

    position: relative;

    width: 300px;

    height: 85px;

    top: 35px;

    background: #fff;

    border-radius: 45px;

    box-shadow:
        inset 0 0 0 10px rgba(0,0,0,.15);

}


.cylinder-head {

    position: absolute;

    left: -25px;

    top: 8px;

    width: 45px;

    height: 69px;

    border-radius: 50%;

    background: #fff;

}


.cylinder-rod {

    position: absolute;

    right: -150px;

    top: 25px;

    width: 170px;

    height: 35px;

    background: #fff;

}


.cylinder-tip {

    position: absolute;

    right: -180px;

    top: 14px;

    width: 55px;

    height: 57px;

    border: 15px solid #fff;

    border-radius: 50%;

}


/* =====================================================
   CYLINDER ANIMATION
===================================================== */

.cta-cylinder {

    animation:
        cylinderFloat 5s ease-in-out infinite;

}


@keyframes cylinderFloat {

    0%,
    100% {

        transform:
            rotate(-15deg)
            translateX(0);

    }

    50% {

        transform:
            rotate(-15deg)
            translateX(30px);

    }

}


/* =====================================================
   HOVER EFFECT
===================================================== */

.industrial-cta-box::after {

    content: "";

    position: absolute;

    width: 250px;

    height: 250px;

    border-radius: 50%;

    left: 45%;

    top: 50%;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(255,255,255,.15);

    animation: ctaPulse 4s ease-in-out infinite;

}


@keyframes ctaPulse {

    0%,
    100% {

        transform:
            translate(-50%, -50%)
            scale(.8);

        opacity: .2;

    }

    50% {

        transform:
            translate(-50%, -50%)
            scale(1.3);

        opacity: .6;

    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .industrial-cta {

        padding: 80px 0;

    }


    .industrial-cta-box {

        grid-template-columns: 1fr;

    }


    .industrial-cta-content {

        padding: 60px 50px;

    }


    .industrial-cta-side {

        padding: 45px 50px;

    }


    .cta-cylinder {

        right: 5%;

        bottom: 35%;

        opacity: .08;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .industrial-cta {

        padding: 60px 0;

    }


    .industrial-cta-box {

        margin: 0 5px;

    }


    .industrial-cta-content {

        padding: 45px 25px;

    }


    .industrial-cta-content h2 {

        font-size: 40px;

        letter-spacing: -2px;

    }


    .industrial-cta-content p {

        font-size: 13px;

        line-height: 1.75;

    }


    .industrial-cta-btn {

        width: 100%;

        justify-content: space-between;

    }


    .industrial-cta-side {

        padding: 40px 25px;

    }


    .cta-contact {

        margin-top: 30px;

    }


    .cta-contact strong {

        font-size: 15px;

    }


    .cta-location {

        font-size: 10px;

    }


    .cta-cylinder {

        display: none;

    }


    .industrial-cta-box::after {

        display: none;

    }

}

/* =====================================================
   PREMIUM FOOTER
===================================================== */

.site-footer {
    background: #151718;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}


/* =====================================================
   FOOTER MAIN
===================================================== */

.footer-main {
    padding: 80px 0 65px;
    position: relative;
}


/* subtle background effect */

.footer-main::before {
    content: "";
    position: absolute;

    width: 500px;
    height: 500px;

    right: -220px;
    top: -250px;

    border-radius: 50%;

    background: rgba(199, 25, 31, 0.07);

    filter: blur(80px);

    pointer-events: none;
}


/* =====================================================
   LOGO
===================================================== */

.footer-logo {
    display: inline-block;
    margin-bottom: 22px;
}

.footer-logo img {
    width: 210px;
    max-width: 100%;
    height: auto;
    display: block;
}


/* =====================================================
   DESCRIPTION
===================================================== */

.footer-description {
    max-width: 390px;

    margin: 0;

    color: #a8abad;

    font-size: 14px;

    line-height: 1.9;
}


/* =====================================================
   SOCIAL
===================================================== */

.footer-social {
    display: flex;
    gap: 9px;
    margin-top: 28px;
}

.footer-social a {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.16);

    color: #b8bbbd;

    text-decoration: none;

    transition: .35s ease;
}

.footer-social a:hover {
    background: #c71920;
    border-color: #c71920;
    color: #fff;

    transform: translateY(-3px);
}


/* =====================================================
   FOOTER HEADINGS
===================================================== */

.footer-column h5 {
    position: relative;

    margin: 4px 0 25px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.footer-column h5::after {
    content: "";

    display: block;

    width: 28px;
    height: 2px;

    margin-top: 11px;

    background: #c71920;
}


/* =====================================================
   LINKS
===================================================== */

.footer-links {
    list-style: none;

    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #9da1a3;

    text-decoration: none;

    font-size: 13px;

    line-height: 1.5;

    transition: .3s ease;
}

.footer-links a:hover {
    color: #ffffff;
    padding-left: 5px;
}


/* Product links */

.footer-product-links {

    max-height: 145px;

    overflow-y: auto;

    overflow-x: hidden;

    padding-right: 10px;

    scrollbar-width: thin;

    scrollbar-color: #c71920 transparent;
}


/* Chrome / Edge / Safari */

.footer-product-links::-webkit-scrollbar {
    width: 4px;
}

.footer-product-links::-webkit-scrollbar-track {
    background: transparent;
}

.footer-product-links::-webkit-scrollbar-thumb {
    background: #c71920;
    border-radius: 10px;
}

.footer-product-links::-webkit-scrollbar-thumb:hover {
    background: #e02a31;
}


/* =====================================================
   CONTACT
===================================================== */

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.contact-icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.15);

    color: #c71920;

    font-size: 15px;
}

.footer-contact-item small {
    display: block;

    margin-bottom: 4px;

    color: #777d80;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.footer-contact-item p,
.footer-contact-item a {
    margin: 0;

    color: #b4b7b9;

    text-decoration: none;

    font-size: 13px;

    line-height: 1.6;

    transition: .3s ease;
}

.footer-contact-item a:hover {
    color: #c71920;
}


/* =====================================================
FOOTER BOTTOM
===================================================== */

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.10);

    padding: 22px 0 20px;
}

.footer-bottom-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


/* Copyright */

.copyright-text {
    margin: 0;

    color: #777d80;

    font-size: 11px;

    line-height: 1.7;
}

.company-name {
    color: #bfc2c4;

    text-decoration: none;

    transition: .3s ease;
}

.company-name:hover {
    color: #c71920;
}


/* =====================================================
   LEGAL LINKS
===================================================== */

.footer-legal {
    display: flex;
    align-items: center;
    gap: 25px;
}

.footer-legal a {
    color: #777d80;

    text-decoration: none;

    font-size: 11px;

    transition: .3s ease;
}

.footer-legal a:hover {
    color: #ffffff;
}


/* =====================================================
   DEVELOPER CREDIT
===================================================== */

.developer-credit {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    margin-top: 18px;

    padding-top: 17px;

    border-top: 1px solid rgba(255,255,255,.06);

    color: #666c6f;

    font-size: 10px;
}

.technest-logo {
    width: 105px;

    height: auto;

    display: inline-block;

    vertical-align: middle;

    opacity: .85;

    transition: .3s ease;
}

.technest-logo:hover {
    opacity: 1;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .footer-main {
        padding: 65px 0 50px;
    }

    .footer-description {
        max-width: 500px;
    }

    .footer-column {
        margin-top: 10px;
    }

    .footer-product-links {
        max-height: none;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .footer-main {
        padding: 55px 0 40px;
    }

    .footer-logo img {
        width: 190px;
    }

    .footer-description {
        font-size: 13px;
    }

    .footer-column h5 {
        margin-bottom: 20px;
    }

    .footer-bottom {
        padding: 20px 0;
    }

    .footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .footer-legal {
        gap: 18px;
    }

    .developer-credit {
        flex-wrap: wrap;
        text-align: center;
        gap: 7px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .footer-main {
        padding: 48px 0 35px;
    }

    .footer-social a {
        width: 37px;
        height: 37px;
    }

    .footer-links a {
        font-size: 12px;
    }

    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 12px;
    }

    .footer-legal {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .copyright-text {
        font-size: 10px;
    }

    .technest-logo {
        width: 95px;
    }

}

.footer-bottom {

    background: #111111;

    border-top: 1px solid rgba(255,255,255,.08);

    padding: 20px 0;

}


.copyright {

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

}


.copyright-text {

    margin: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 8px;

    color: #d5d5d5;

    font-size: 14px;

    line-height: 1.6;

    text-align: center;

}


.company-name {

    color: #ffffff;

    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;

}


.company-name:hover {

    color: #c71920;

}


.developer-text {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-left: 3px;

    color: #d5d5d5;

}


.developer-text a {

    display: inline-flex;

    align-items: center;

}


.technest-logo {

    width: 20px;

    height: 22px;

    object-fit: contain;

    display: block;

    transition: .3s ease;

}


.developer-text a:hover .technest-logo {

    transform: translateY(-2px);

}

@media (max-width: 767px) {

    .footer-product-links {

        max-height: 180px;

    }


    .footer-bottom {

        padding: 18px 15px;

    }


    .copyright-text {

        font-size: 11px;

        gap: 5px;

        line-height: 1.8;

    }


    .developer-text {

        margin-left: 0;

    }


    .technest-logo {

        width: 18px;

        height: 20px;

    }

}

/* =====================================================
   MOBILE NAV FIX
===================================================== */

@media (max-width: 991px) {

    .premium-navbar {
        position: relative;
        z-index: 9999;
    }

    .premium-nav-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    /* HAMBURGER */

  .premium-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
        width: 42px;
        height: 42px;
        padding: 0;
        margin-left: auto;
        border: 0;
        background: #fe2626;
        cursor: pointer;
        position: relative;
        z-index: 10001;
    }

    .premium-menu-toggle span {
        display: block !important;

        width: 25px;
        height: 2px;

        background: #111;

        transition: 0.3s ease;
    }


    /* MOBILE MENU */

    .premium-nav-menu {
        display: block !important;

        position: absolute !important;

        top: 100% !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;

        background: #fff;

        max-height: 0 !important;

        overflow: hidden !important;

        opacity: 0;
        visibility: hidden;

        transition:
            max-height 0.4s ease,
            opacity 0.3s ease,
            visibility 0.3s ease;

        box-shadow: 0 15px 30px rgba(0,0,0,0.12);

        z-index: 10000;
    }


    /* OPEN MENU */

    .premium-nav-menu.active {
        max-height: 85vh !important;

        opacity: 1 !important;
        visibility: visible !important;

        overflow-y: auto !important;
    }


    /* NAV LIST */

    .premium-nav-list {
        display: block !important;

        width: 100%;

        margin: 0 !important;
        padding: 10px 20px 20px !important;

        list-style: none;
    }

    .premium-nav-list > li {
        display: block !important;

        width: 100%;

        border-bottom: 1px solid #eee;
    }

    .premium-nav-list > li > a {
        display: flex !important;

        align-items: center;
        justify-content: space-between;

        width: 100%;

        padding: 15px 5px;

        color: #111 !important;

        text-decoration: none;

        font-size: 13px;
    }


    /* PRODUCTS */

    .premium-dropdown {
        display: block !important;
        position: relative;
    }

    .premium-dropdown-toggle {
        display: flex !important;

        align-items: center;
        justify-content: space-between;

        cursor: pointer;
    }

    .premium-dropdown-toggle i {
        transition: transform 0.3s ease;
    }

    .premium-dropdown.active
    .premium-dropdown-toggle i {
        transform: rotate(180deg);
    }


    /* DROPDOWN */

    .premium-dropdown-menu {
        position: static !important;

        display: block !important;

        width: 100% !important;

        max-height: 0 !important;

        padding: 0 !important;

        margin: 0 !important;

        overflow: hidden !important;

        opacity: 0;

        visibility: hidden;

        background: #f7f7f7 !important;

        box-shadow: none !important;

        transition:
            max-height 0.4s ease,
            opacity 0.3s ease;
    }

    .premium-dropdown.active
    .premium-dropdown-menu {
        max-height: 700px !important;

        padding: 5px 10px !important;

        opacity: 1 !important;

        visibility: visible !important;

        overflow-y: auto !important;
    }

    .premium-dropdown-grid {
        display: block !important;

        grid-template-columns: none !important;
    }

    .premium-dropdown-grid a {
        display: block !important;

        padding: 11px 8px !important;

        color: #555 !important;

        font-size: 12px !important;

        line-height: 1.5;

        text-decoration: none;

        border-bottom: 1px solid #e5e5e5;
    }


    /* QUOTE HIDE */

    .premium-nav-cta {
        display: none !important;
    }


    /* HAMBURGER → X */

    .premium-menu-toggle.active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .premium-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .premium-menu-toggle.active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

}

/* =====================================================
   FLOATING WHATSAPP
===================================================== */

.floating-whatsapp {
    position: fixed;

    right: 25px;
    bottom: 85px;

    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #fff;

    border-radius: 50%;

    font-size: 28px;

    text-decoration: none;

    z-index: 9999;

    box-shadow: 0 8px 25px rgba(0,0,0,0.18);

    animation: whatsappPulse 2.2s infinite;

    transition: all 0.3s ease;
}

.floating-whatsapp:hover {
    color: #fff;

    transform: translateY(-5px) scale(1.05);

    box-shadow: 0 12px 30px rgba(37,211,102,0.35);
}


/* WhatsApp pulse */

@keyframes whatsappPulse {

    0% {
        box-shadow:
            0 0 0 0 rgba(37,211,102,0.45);
    }

    70% {
        box-shadow:
            0 0 0 14px rgba(37,211,102,0);
    }

    100% {
        box-shadow:
            0 0 0 0 rgba(37,211,102,0);
    }

}


/* =====================================================
   BACK TO TOP
===================================================== */

.back-to-top {
    position: fixed;

    right: 25px;
    bottom: 20px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;

    background: #d91f26;
    color: #fff;

    border-radius: 50%;

    font-size: 20px;

    cursor: pointer;

    z-index: 9998;

    opacity: 0;
    visibility: hidden;

    transform: translateY(15px);

    transition: all 0.35s ease;

    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

.back-to-top:hover {
    background: #111;

    transform: translateY(-4px);
}

.back-to-top i {
    transition: transform 0.3s ease;
}

.back-to-top:hover i {
    transform: translateY(-3px);
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .floating-whatsapp {
        width: 48px;
        height: 48px;

        right: 15px;
        bottom: 72px;

        font-size: 24px;
    }

    .back-to-top {
        width: 42px;
        height: 42px;

        right: 18px;
        bottom: 18px;

        font-size: 17px;
    }

}

/* =====================================================
   FLOATING PHONE
===================================================== */

.floating-phone {
    position: fixed;

    right: 25px;
    bottom: 153px;

    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #d91f26;
    color: #fff;

    border-radius: 50%;

    font-size: 22px;

    text-decoration: none;

    z-index: 9999;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18);

    transition: all 0.3s ease;

    animation: phonePulse 2s infinite;
}

.floating-phone:hover {
    color: #fff;

    background: #111;

    transform: translateY(-5px);
}


/* PHONE PULSE */

@keyframes phonePulse {

    0% {
        box-shadow:
            0 0 0 0 rgba(217, 31, 38, 0.45);
    }

    70% {
        box-shadow:
            0 0 0 14px rgba(217, 31, 38, 0);
    }

    100% {
        box-shadow:
            0 0 0 0 rgba(217, 31, 38, 0);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .floating-phone {
        width: 48px;
        height: 48px;

        right: 15px;
        bottom: 130px;

        font-size: 20px;
    }

}

/* =========================================================
   ABOUT US - ACTUAL LETTER PATH ANIMATION
========================================================= */

.about-outline-wrap {
    position: absolute;
    top: 55px;
    left: 50%;
    width: 80%;
    height: 133px;
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
}


/* =========================================================
   SVG
========================================================= */

.about-outline-svg {

    width: 100%;

    height: 100%;

    display: block;

    overflow: visible;

}


/* =========================================================
   LETTER OUTLINE
========================================================= */

.outline-path {
    fill: none;
    stroke: rgba(50, 50, 50, 0.30);
    stroke-width: 5.5px;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* =========================================================
   RED GLOWING DOT
========================================================= */

.about-trace-dot {

    fill: #ed1c24;

    opacity: 1;

    filter:

        drop-shadow(0 0 4px #ed1c24)

        drop-shadow(0 0 9px rgba(237, 28, 36, .9))

        drop-shadow(0 0 18px rgba(237, 28, 36, .65))

        drop-shadow(0 0 30px rgba(237, 28, 36, .35));

}


/* =========================================================
   DOT PULSE
========================================================= */

@keyframes aboutDotPulse {

    0% {

        r: 6;

    }

    50% {

        r: 8;

    }

    100% {

        r: 6;

    }

}


.about-trace-dot {

    animation:

        aboutDotPulse 1s ease-in-out infinite;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width: 767px) {

    .about-outline-wrap {

        top: 0;

        height: 110px;

    }

}


@media(max-width: 480px) {

    .about-outline-wrap {

        height: 90px;

    }

}

/* =====================================================
   PREMIUM HEADER - TOP TRANSPARENT / SCROLL BLACK
===================================================== */

.premium-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

/* TOP OF PAGE - TRANSPARENT */
.premium-navbar {
    background: transparent;
    transition: background-color 0.35s ease,
                box-shadow 0.35s ease;
}

/* AFTER SCROLL - BLACK */
.premium-header.scrolled .premium-navbar {
    background: #000;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.18);
}

/* =====================================================
   ABOUT PAGE HERO
===================================================== */

.about-page-hero {

    position: relative;

    min-height: 620px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background: #111;

}


/* BACKGROUND IMAGE */

.about-hero-bg {

    position: absolute;

    inset: 0;

}

.about-hero-bg img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    animation: aboutHeroZoom 15s ease-in-out infinite alternate;

}

@keyframes aboutHeroZoom {

    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.07);
    }

}


/* OVERLAY */

.about-hero-overlay {

    position: absolute;

    inset: 0;

    background:
      linear-gradient(90deg, rgb(10 10 10 / 41%) 0%, rgb(10 10 10 / 0%) 48%, rgb(10 10 10 / 38%) 100%);

}


/* TECHNICAL PATTERN */

.about-hero-pattern {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size: 55px 55px;

    animation: aboutPatternMove 20s linear infinite;

}

@keyframes aboutPatternMove {

    from {
        background-position: 0 0;
    }

    to {
        background-position: 55px 55px;
    }

}


/* CONTENT */

.about-hero-content {

    position: relative;

    z-index: 3;

    max-width: 700px;

    padding-top: 70px;

}


.about-hero-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: #fff;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 3px;

}

.about-hero-label i {

    width: 35px;
    height: 2px;

    background: #d71920;

}


.about-hero-content h1 {

    margin: 0;

    color: #fff;

    font-size: clamp(55px, 7vw, 92px);

    line-height: .95;

    font-weight: 500;

    letter-spacing: -4px;

}


.about-hero-content h1 span {

    display: block;

    color: #d71920;

}


.about-hero-content p {

    max-width: 590px;

    margin: 25px 0 30px;

    color: rgb(255 255 255 / 83%);

    font-size: 15px;

    line-height: 1.8;

}


.about-breadcrumb {

    display: flex;

    align-items: center;

    gap: 10px;

  color: #000000;
    font-size: 12px;
}

.about-breadcrumb a {

    color: #fff;

    text-decoration: none;

}

.about-breadcrumb i {

    color: #d71920;

}


/* SCROLL */

.about-hero-scroll {

    position: absolute;

    right: 35px;

    bottom: 35px;

    z-index: 4;

    color: rgba(255,255,255,.6);

    font-size: 8px;

    letter-spacing: 2px;

    writing-mode: vertical-rl;

}

.about-hero-scroll span {

    display: block;

    width: 1px;

    height: 45px;

    margin-top: 12px;

    background: #d71920;

    animation: heroScrollLine 2s infinite;

}

@keyframes heroScrollLine {

    0%,
    100% {
        transform: scaleY(.3);
        transform-origin: top;
    }

    50% {
        transform: scaleY(1);
    }

}


/* TABLET */

@media (max-width: 991px) {

    .about-page-hero {
        min-height: 560px;
    }

    .about-hero-content {
        padding-top: 60px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .about-page-hero {
        min-height: 500px;
    }

    .about-hero-content {
        padding: 50px 10px 70px;
    }

    .about-hero-content h1 {
        font-size: 52px;
        letter-spacing: -2px;
    }

    .about-hero-content p {
        font-size: 13px;
    }

    .about-hero-scroll {
        display: none;
    }

}

/* =====================================================
   COMPANY INTRO
===================================================== */

.company-intro {

    position: relative;

    padding: 115px 0 90px;

    background: #f5f5f3;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.intro-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    overflow: hidden;

}


/* TECH GRID */

.intro-grid {

    position: absolute;

    inset: 0;

    opacity: .35;

    background-image:

        linear-gradient(
            rgba(0,0,0,.035) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(0,0,0,.035) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    animation: introGridMove 22s linear infinite;

}


@keyframes introGridMove {

    from {
        background-position: 0 0;
    }

    to {
        background-position: 60px 60px;
    }

}


/* ORBITS */

.intro-orbit {

    position: absolute;

    border: 1px solid rgba(210, 25, 32, .10);

    border-radius: 50%;

}


.orbit-one {

    width: 500px;

    height: 500px;

    left: -300px;

    top: 15%;

    animation: orbitRotate 22s linear infinite;

}


.orbit-two {

    width: 380px;

    height: 380px;

    right: -240px;

    bottom: -100px;

    border-style: dashed;

    animation: orbitRotateReverse 28s linear infinite;

}


@keyframes orbitRotate {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes orbitRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }

}


/* DOTS */

.intro-dot {

    position: absolute;

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.06);

    animation: introDotPulse 3.5s ease-in-out infinite;

}


.intro-dot-one {

    top: 20%;

    left: 25%;

}


.intro-dot-two {

    top: 62%;

    right: 18%;

    animation-delay: 1.2s;

}


.intro-dot-three {

    bottom: 15%;

    left: 50%;

    animation-delay: 2.2s;

}


@keyframes introDotPulse {

    0%,
    100% {

        transform: scale(1);

        opacity: .25;

    }

    50% {

        transform: scale(1.7);

        opacity: .8;

    }

}


/* =====================================================
   PREMIUM COMPANY SECTION
===================================================== */

.premium-company {

    position: relative;

    padding: 120px 0 85px;

    background: #f3f3f1;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.company-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

}


/* HUGE OUTLINE WORD */

.company-outline {

    position: absolute;

    top: 90px;

    right: -110px;

    color: #00000005;

    -webkit-text-stroke: 1px rgba(20,20,20,.08);

    font-size: clamp(120px, 16vw, 250px);

    font-weight: 800;

    letter-spacing: -8px;

    line-height: .8;

    white-space: nowrap;

    transform: rotate(-8deg);

    animation: companyWordFloat 10s ease-in-out infinite;

}


@keyframes companyWordFloat {

    0%,
    100% {

        transform: rotate(-8deg) translateY(0);

    }

    50% {

        transform: rotate(-8deg) translateY(-15px);

    }

}


/* =====================================================
   SCANNING LINES
===================================================== */

.scan-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(211,25,32,.45),
            transparent
        );

}


.scan-one {

    width: 700px;

    top: 32%;

    left: -250px;

    transform: rotate(-18deg);

    animation: scanMoveOne 9s ease-in-out infinite;

}


.scan-two {

    width: 550px;

    bottom: 17%;

    right: -180px;

    transform: rotate(-22deg);

    animation: scanMoveTwo 11s ease-in-out infinite;

}


@keyframes scanMoveOne {

    0% {

        transform:
            translateX(-40px)
            rotate(-18deg);

        opacity: .1;

    }

    50% {

        transform:
            translateX(160px)
            rotate(-18deg);

        opacity: .75;

    }

    100% {

        transform:
            translateX(-40px)
            rotate(-18deg);

        opacity: .1;

    }

}


@keyframes scanMoveTwo {

    0% {

        transform:
            translateX(80px)
            rotate(-22deg);

        opacity: .1;

    }

    50% {

        transform:
            translateX(-150px)
            rotate(-22deg);

        opacity: .7;

    }

    100% {

        transform:
            translateX(80px)
            rotate(-22deg);

        opacity: .1;

    }

}


/* =====================================================
   MOVING POINTS
===================================================== */

.company-point {

    position: absolute;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 7px rgba(215,25,32,.06),
        0 0 18px rgba(215,25,32,.25);

    animation: pointPulse 3.5s ease-in-out infinite;

}


.point-one {

    left: 12%;

    top: 25%;

}


.point-two {

    right: 20%;

    top: 45%;

    animation-delay: 1s;

}


.point-three {

    left: 52%;

    bottom: 12%;

    animation-delay: 2s;

}


@keyframes pointPulse {

    0%,
    100% {

        transform: scale(1);

        opacity: .25;

    }

    50% {

        transform: scale(1.7);

        opacity: .8;

    }

}


/* =====================================================
   DECORATIVE CIRCLES
===================================================== */

.company-circle {

    position: absolute;

    border: 1px solid rgba(215,25,32,.11);

    border-radius: 50%;

}


.circle-one {

    width: 450px;

    height: 450px;

    left: -260px;

    bottom: -150px;

    animation: circleSpin 22s linear infinite;

}


.circle-two {

    width: 280px;

    height: 280px;

    right: -140px;

    top: 100px;

    border-style: dashed;

    animation: circleSpinReverse 18s linear infinite;

}


@keyframes circleSpin {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes circleSpinReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


/* =====================================================
   CONTAINER CONTENT
===================================================== */

.premium-company .container {

    position: relative;

    z-index: 5;

}


/* =====================================================
   TOP BAR
===================================================== */

.company-topbar {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 50px;

}


.company-section-label {

    display: flex;

    align-items: center;

    gap: 12px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

    color: #d71920;

}


.company-section-label span {

    width: 35px;

    height: 2px;

    background: #d71920;

}


.company-page-number {

    font-size: 10px;

    color: #999;

    letter-spacing: 2px;

}


/* =====================================================
   MAIN GRID
===================================================== */

.company-main {

    display: grid;

    grid-template-columns: 48% 52%;

    align-items: center;

    gap: 25px;

}


/* =====================================================
   LEFT CONTENT
===================================================== */

.company-copy {

    padding-right: 45px;

}


.company-copy h2 {

    max-width: 650px;

    margin: 0;

    color: #161616;

    font-size: clamp(43px, 5vw, 72px);

    line-height: .98;

    font-weight: 400;

    letter-spacing: -3.5px;

}


.company-copy h2 span {

    display: inline-block;

    color: #d71920;

    font-weight: 700;

}


.company-intro-text {

    margin-top: 32px;

    max-width: 560px;

}


.company-lead {

    font-size: 18px !important;

    line-height: 1.75 !important;

    color: #333 !important;

}


.company-intro-text p {

    margin: 0 0 15px;

    font-size: 14px;

    line-height: 1.85;

    color: #707070;

}


/* =====================================================
   VALUES
===================================================== */

.company-values {

    margin-top: 28px;

    border-top: 1px solid #d5d5d2;

}


.company-value {

    display: grid;

    grid-template-columns: 45px 1fr;

    align-items: center;

    min-height: 62px;

    border-bottom: 1px solid #d5d5d2;

    transition: .35s ease;

}


.company-value:hover {

    padding-left: 10px;

    background: rgba(255,255,255,.55);

}


.company-value > span {

    color: #d71920;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

}


.company-value strong {

    display: block;

    margin-bottom: 3px;

    font-size: 14px;

    font-weight: 600;

    color: #222;

}


.company-value p {

    margin: 0;

    font-size: 11px;

    color: #888;

}


/* =====================================================
   LINK
===================================================== */

.company-link {

    display: inline-flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding-bottom: 8px;

    border-bottom: 1px solid #d71920;

    color: #171717;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

}


.company-link i {

    color: #d71920;

    transition: .3s ease;

}


.company-link:hover {

    color: #d71920;

}


.company-link:hover i {

    transform: translate(5px,-5px);

}


/* =====================================================
   VISUAL
===================================================== */

.company-visual {

    position: relative;

    min-height: 590px;

}


/* MAIN IMAGE */

.company-image-main {

    position: absolute;

    top: 0;

    right: 0;

    width: 82%;

    height: 455px;

    overflow: hidden;

    box-shadow:
        0 25px 60px rgba(0,0,0,.12);

}


.company-image-main img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 1s ease;

}


.company-image-main:hover img {

    transform: scale(1.06);

}


/* IMAGE TEXT */

.image-overlay-text {

    position: absolute;

    left: 25px;

    bottom: 25px;

    z-index: 2;

    color: #fff;

    font-size: 9px;

    font-weight: 700;

    line-height: 1.7;

    letter-spacing: 2px;

}


/* FLOAT IMAGE */

.company-image-float {

    position: absolute;

    left: 0;

    bottom: 20px;

    width: 42%;

    height: 245px;

    padding: 8px;

    background: #fff;

    box-shadow:
        0 20px 50px rgba(0,0,0,.15);

    z-index: 3;

}


.company-image-float img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


/* FLOAT NUMBER */

.float-number {

    position: absolute;

    top: -18px;

    left: 15px;

    font-size: 10px;

    letter-spacing: 2px;

    color: #999;

}


/* RED INFO */

.company-red-box {

    position: absolute;

    right: 0;

    bottom: 20px;

    z-index: 4;

    width: 150px;

    height: 100px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    background: #d71920;

    color: #fff;

}


.company-red-box strong {

    font-size: 33px;

    line-height: 1;

    font-weight: 700;

}


.company-red-box span {

    font-size: 8px;

    line-height: 1.5;

    letter-spacing: 1px;

    font-weight: 600;

}


/* VERTICAL LABEL */

.company-vertical {

    position: absolute;

    right: -22px;

    top: 100px;

    writing-mode: vertical-rl;

    transform: rotate(180deg);

    color: #999;

    font-size: 8px;

    letter-spacing: 3px;

    font-weight: 700;

}


/* =====================================================
   STATS
===================================================== */

.company-stats {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    margin-top: 65px;

    border-top: 1px solid #d4d4d1;

}


.company-stat {

    min-height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    border-right: 1px solid #d4d4d1;

}


.company-stat:last-child {

    border-right: 0;

}


.company-stat strong {

    font-size: 31px;

    color: #d71920;

    font-weight: 600;

}


.company-stat span {

    font-size: 8px;

    font-weight: 700;

    line-height: 1.5;

    letter-spacing: 1.2px;

    color: #555;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .premium-company {

        padding: 85px 0 70px;

    }


    .company-main {

        grid-template-columns: 1fr;

        gap: 60px;

    }


    .company-copy {

        padding-right: 0;

    }


    .company-visual {

        min-height: 520px;

    }


    .company-image-main {

        width: 85%;

        height: 400px;

    }


    .company-stats {

        margin-top: 50px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .premium-company {

        padding: 70px 0 55px;

    }


    .company-outline {

        font-size: 80px;

        top: 150px;

        right: -80px;

    }


    .company-topbar {

        margin-bottom: 35px;

    }


    .company-main {

        gap: 40px;

    }


    .company-copy h2 {

        font-size: 38px;

        line-height: 1.02;

        letter-spacing: -2px;

    }


    .company-lead {

        font-size: 15px !important;

    }


    .company-intro-text p {

        font-size: 13px;

    }


    .company-value {

        min-height: 58px;

    }


    .company-value strong {

        font-size: 13px;

    }


    .company-visual {

        min-height: 400px;

    }


    .company-image-main {

        width: 88%;

        height: 290px;

    }


    .company-image-float {

        width: 55%;

        height: 175px;

        bottom: 0;

    }


    .company-red-box {

        width: 115px;

        height: 72px;

        bottom: 0;

    }


    .company-red-box strong {

        font-size: 25px;

    }


    .company-red-box span {

        font-size: 7px;

    }


    .company-vertical {

        display: none;

    }


    .company-stats {

        grid-template-columns: 1fr 1fr;

        margin-top: 45px;

    }


    .company-stat {

        min-height: 70px;

        padding: 10px;

    }


    .company-stat:nth-child(2) {

        border-right: 0;

    }


    .company-stat:nth-child(3),
    .company-stat:nth-child(4) {

        border-top: 1px solid #d4d4d1;

    }


    .company-stat:nth-child(4) {

        border-right: 0;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .company-copy h2 {

        font-size: 32px;

    }


    .company-image-main {

        height: 250px;

    }


    .company-image-float {

        height: 145px;

    }


    .company-stat strong {

        font-size: 24px;

    }

}

/* =====================================================
   MANUFACTURING ADVANTAGE
===================================================== */

.manufacturing-advantage {

    position: relative;

    padding: 100px 0 85px;

    background: #f7f7f5;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.advantage-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

}


/* RINGS */

.advantage-ring {

    position: absolute;

    border: 1px solid rgba(215,25,32,.10);

    border-radius: 50%;

}


.ring-one {

    width: 420px;

    height: 420px;

    right: -240px;

    top: -140px;

    animation:
        advantageRing 20s linear infinite;

}


.ring-two {

    width: 300px;

    height: 300px;

    left: -180px;

    bottom: -130px;

    border-style: dashed;

    animation:
        advantageRingReverse 16s linear infinite;

}


@keyframes advantageRing {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes advantageRingReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }

}


/* LINES */

.advantage-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.18),
            transparent
        );

}


.line-one {

    width: 550px;

    left: -180px;

    top: 30%;

    transform: rotate(-17deg);

    animation:
        advantageLineOne 9s ease-in-out infinite;

}


.line-two {

    width: 500px;

    right: -170px;

    bottom: 20%;

    transform: rotate(-22deg);

    animation:
        advantageLineTwo 11s ease-in-out infinite;

}


@keyframes advantageLineOne {

    0%,
    100% {
        transform:
            translateX(-30px)
            rotate(-17deg);

        opacity: .15;
    }

    50% {
        transform:
            translateX(110px)
            rotate(-17deg);

        opacity: .7;
    }

}


@keyframes advantageLineTwo {

    0%,
    100% {
        transform:
            translateX(30px)
            rotate(-22deg);

        opacity: .15;
    }

    50% {
        transform:
            translateX(-110px)
            rotate(-22deg);

        opacity: .7;
    }

}


/* DOTS */

.advantage-dot {

    position: absolute;

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.06);

    animation:
        advantageDot 3.5s ease-in-out infinite;

}


.dot-one {

    top: 20%;

    left: 12%;
}


.dot-two {

    top: 68%;

    right: 14%;

    animation-delay: 1.2s;

}


.dot-three {

    bottom: 15%;

    left: 48%;

    animation-delay: 2.2s;

}


@keyframes advantageDot {

    0%,
    100% {
        transform: scale(1);

        opacity: .25;
    }

    50% {
        transform: scale(1.8);

        opacity: .85;
    }

}


/* =====================================================
   CONTENT
===================================================== */

.manufacturing-advantage .container {

    position: relative;

    z-index: 3;

}


/* =====================================================
   HEADING
===================================================== */

.advantage-heading {

    max-width: 760px;

    margin-bottom: 55px;

}


.advantage-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 16px;

    color: #d71920;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.advantage-label span {

    width: 35px;

    height: 2px;

    background: #d71920;

}


.advantage-heading h2 {

    margin: 0;

    font-size: clamp(40px,5vw,64px);

    line-height: 1;

    font-weight: 400;

    letter-spacing: -2.5px;

    color: #171717;

}


.advantage-heading h2 strong {

    display: block;

    color: #d71920;

    font-weight: 700;

}


.advantage-heading p {

    max-width: 610px;

    margin: 18px 0 0;

    color: #777;

    font-size: 14px;

    line-height: 1.8;

}


/* =====================================================
   PROCESS
===================================================== */

.advantage-process {

    display: grid;

    grid-template-columns:
        1fr
        55px
        1fr
        55px
        1fr;

    align-items: stretch;

}


/* =====================================================
   STEP CARD
===================================================== */

.advantage-step {

    position: relative;

    min-height: 290px;

    padding: 30px;

    background: rgba(255,255,255,.5);

    border: 1px solid #ddddda;

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;

}


.advantage-step:hover,
.advantage-step.featured {

    background: #fff;

    box-shadow:
        0 20px 45px rgba(0,0,0,.07);

    transform: translateY(-6px);

}


/* TOP */

.step-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 35px;

}


.step-number {

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    color: #aaa;

}


.advantage-step:hover .step-number,
.advantage-step.featured .step-number {

    color: #d71920;

}


/* ICON */

.step-icon {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #d8d8d5;

    border-radius: 50%;

    color: #d71920;

    font-size: 20px;

    transition: .35s ease;

}


.advantage-step:hover .step-icon,
.advantage-step.featured .step-icon {

    background: #d71920;

    border-color: #d71920;

    color: #fff;

    transform: rotate(-8deg);

}


/* CONTENT */

.step-content small {

    display: block;

    margin-bottom: 7px;

    color: #d71920;

    font-size: 8px;

    letter-spacing: 2px;

    font-weight: 700;

}


.step-content h3 {

    margin: 0 0 10px;

    color: #222;

    font-size: 21px;

    font-weight: 600;

}


.step-content p {

    margin: 0;

    color: #777;

    font-size: 12px;

    line-height: 1.75;

}


/* =====================================================
   CONNECTOR
===================================================== */

.advantage-connector {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 10px;

}


.advantage-connector span {

    width: 100%;

    height: 1px;

    background: #d8d8d5;

}


.advantage-connector i {

    color: #d71920;

    font-size: 16px;

    animation:
        connectorMove 2s ease-in-out infinite;

}


@keyframes connectorMove {

    0%,
    100% {
        transform: translateX(0);

        opacity: .5;
    }

    50% {
        transform: translateX(5px);

        opacity: 1;
    }

}


/* =====================================================
   BOTTOM
===================================================== */

.advantage-bottom {

    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 45px;

}


.advantage-bottom-line {

    flex: 1;

    height: 1px;

    background: #d5d5d2;

}


.advantage-bottom span {

    color: #888;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .manufacturing-advantage {

        padding: 80px 0 70px;

    }


    .advantage-process {

        grid-template-columns: 1fr;

        gap: 15px;

    }


    .advantage-connector {

        display: none;

    }


    .advantage-step {

        min-height: 220px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .manufacturing-advantage {

        padding: 65px 0 55px;

    }


    .advantage-heading {

        margin-bottom: 35px;

    }


    .advantage-heading h2 {

        font-size: 34px;

        letter-spacing: -1.5px;

    }


    .advantage-heading p {

        font-size: 13px;

    }


    .advantage-step {

        min-height: auto;

        padding: 24px;

    }


    .step-top {

        margin-bottom: 25px;

    }


    .step-content h3 {

        font-size: 19px;

    }


    .step-content p {

        font-size: 12px;

    }


    .advantage-bottom {

        flex-wrap: wrap;

        gap: 10px;

        justify-content: center;

    }


    .advantage-bottom-line {

        display: none;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .advantage-heading h2 {

        font-size: 30px;

    }

    .advantage-step {

        padding: 20px;

    }

}

/* =====================================================
   QUALITY SECTION
===================================================== */

.quality-section {

    position: relative;

    padding: 110px 0 105px;

    background: #f2f3f1;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.quality-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    overflow: hidden;

}


.quality-grid {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            rgba(0,0,0,.028) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(0,0,0,.028) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    opacity: .65;

    animation: qualityGridMove 20s linear infinite;

}


@keyframes qualityGridMove {

    from {
        background-position: 0 0;
    }

    to {
        background-position: 60px 60px;
    }

}


/* TECHNICAL LINES */

.quality-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.20),
            transparent
        );

}


.q-line-one {

    width: 600px;

    left: -170px;

    top: 24%;

    transform: rotate(-18deg);

    animation: qualityLineOne 9s ease-in-out infinite;

}


.q-line-two {

    width: 500px;

    right: -140px;

    bottom: 18%;

    transform: rotate(-22deg);

    animation: qualityLineTwo 11s ease-in-out infinite;

}


@keyframes qualityLineOne {

    0%,
    100% {
        transform: translateX(-30px) rotate(-18deg);
        opacity: .15;
    }

    50% {
        transform: translateX(120px) rotate(-18deg);
        opacity: .65;
    }

}


@keyframes qualityLineTwo {

    0%,
    100% {
        transform: translateX(40px) rotate(-22deg);
        opacity: .15;
    }

    50% {
        transform: translateX(-110px) rotate(-22deg);
        opacity: .65;
    }

}


/* DOTS */

.quality-dot {

    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.06);

    animation: qualityDotPulse 3.5s ease-in-out infinite;

}


.q-dot-one {
    top: 22%;
    left: 14%;
}

.q-dot-two {
    right: 16%;
    top: 48%;
    animation-delay: 1.2s;
}

.q-dot-three {
    left: 48%;
    bottom: 15%;
    animation-delay: 2.2s;
}


@keyframes qualityDotPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: .25;
    }

    50% {
        transform: scale(1.7);
        opacity: .85;
    }

}


/* =====================================================
   CONTAINER
===================================================== */

.quality-section .container {

    position: relative;

    z-index: 3;

}


/* =====================================================
   HEADING
===================================================== */

.quality-heading {

    max-width: 780px;

    margin-bottom: 55px;

}


.quality-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 16px;

    color: #d71920;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.quality-label span {

    width: 35px;

    height: 2px;

    background: #d71920;

}


.quality-heading h2 {

    margin: 0;

    font-size: clamp(40px, 5vw, 65px);

    line-height: 1;

    font-weight: 400;

    letter-spacing: -2.5px;

    color: #171717;

}


.quality-heading h2 strong {

    color: #d71920;

    font-weight: 700;

}


.quality-heading > p {

    max-width: 620px;

    margin: 18px 0 0;

    color: #777;

    font-size: 14px;

    line-height: 1.8;

}


/* =====================================================
   LEFT IMAGE / RIGHT CONTENT
===================================================== */

.quality-layout {

    display: grid;

    grid-template-columns: 46% 54%;

    gap: 65px;

    align-items: center;

}


/* =====================================================
   LEFT IMAGE
===================================================== */

.quality-visual {

    position: relative;

    min-height: 540px;

}


.quality-image {

    position: absolute;

    top: 0;

    left: 0;

    width: 88%;

    height: 455px;

    overflow: hidden;

    background: #ddd;

    box-shadow:
        0 25px 60px rgba(0,0,0,.12);

}


.quality-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(0,0,0,.48)
        );

}


.quality-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 1s ease;

}


.quality-image:hover img {

    transform: scale(1.06);

}


/* Image caption */

.quality-image-overlay {

    position: absolute;

    left: 25px;

    bottom: 25px;

    z-index: 3;

    color: #fff;

}


.quality-image-overlay span {

    display: block;

    margin-bottom: 6px;

    color: #ff4c52;

    font-size: 8px;

    letter-spacing: 3px;

    font-weight: 700;

}


.quality-image-overlay strong {

    font-size: 23px;

    font-weight: 500;

}


/* =====================================================
   GAUGE
===================================================== */

.quality-gauge {

    position: absolute;

    left: -20px;

    bottom: 20px;

    z-index: 5;

}


.gauge-circle {

    position: relative;

    width: 145px;

    height: 145px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #fff;

    border-radius: 50%;

    box-shadow:
        0 20px 45px rgba(0,0,0,.13);

}


.gauge-circle svg {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    transform: rotate(-90deg);

}


.gauge-track {

    fill: none;

    stroke: #e4e4e1;

    stroke-width: 5;

}


.gauge-progress {

    fill: none;

    stroke: #d71920;

    stroke-width: 5;

    stroke-linecap: round;

    stroke-dasharray: 314;

    stroke-dashoffset: 314;

    animation:
        gaugeProgress 2.5s ease forwards,
        gaugePulse 3s ease-in-out 2.5s infinite;

}


@keyframes gaugeProgress {

    to {
        stroke-dashoffset: 0;
    }

}


@keyframes gaugePulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .55;
    }

}


.gauge-content {

    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    align-items: center;

}


.gauge-content strong {

    font-size: 26px;

    line-height: 1;

    color: #d71920;

}


.gauge-content span {

    margin-top: 6px;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

    color: #777;

}


/* =====================================================
   FLOATING TAG
===================================================== */

.quality-tag {

    position: absolute;

    right: 0;

    bottom: 20px;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 14px 18px;

    background: #d71920;

    color: #fff;

}


.quality-tag > i {

    font-size: 20px;

}


.quality-tag strong {

    display: block;

    font-size: 11px;

    font-weight: 600;

}


.quality-tag span {

    display: block;

    margin-top: 2px;

    color: rgba(255,255,255,.75);

    font-size: 8px;

}


/* =====================================================
   RIGHT CONTENT
===================================================== */

.quality-content {

    border-top: 1px solid #d5d5d2;

}


.quality-intro {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 0 0 20px;

}


.quality-intro-line {

    width: 28px;

    height: 2px;

    background: #d71920;

}


.quality-intro p {

    margin: 0;

    color: #666;

    font-size: 13px;

}


/* =====================================================
   QUALITY ITEMS
===================================================== */

.quality-item {

    position: relative;

    display: grid;

    grid-template-columns: 42px 1fr 35px;

    gap: 18px;

    align-items: start;

    padding: 22px 10px 22px 0;

    border-bottom: 1px solid #d5d5d2;

    transition:
        background .35s ease,
        padding .35s ease;

}


.quality-item:hover,
.quality-item.active {

    background: rgba(255,255,255,.65);

    padding-left: 15px;

}


.quality-item::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 3px;

    height: 0;

    background: #d71920;

    transition: height .35s ease;

}


.quality-item:hover::before,
.quality-item.active::before {

    height: 100%;

}


/* Number */

.quality-number {

    padding-top: 3px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    color: #aaa;

}


.quality-item:hover .quality-number,
.quality-item.active .quality-number {

    color: #d71920;

}


/* Content */

.quality-item-content small {

    display: block;

    margin-bottom: 5px;

    color: #d71920;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.quality-item-content h3 {

    margin: 0 0 7px;

    font-size: 19px;

    font-weight: 600;

    color: #222;

}


.quality-item-content p {

    max-width: 520px;

    margin: 0;

    color: #777;

    font-size: 12px;

    line-height: 1.7;

}


/* Arrow */

.quality-item-arrow {

    margin-top: 2px;

    color: #aaa;

    opacity: 0;

    transform: translate(-7px, 7px);

    transition: .35s ease;

}


.quality-item:hover .quality-item-arrow,
.quality-item.active .quality-item-arrow {

    opacity: 1;

    color: #d71920;

    transform: translate(0,0);

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .quality-section {

        padding: 85px 0 75px;

    }

    .quality-layout {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .quality-visual {

        min-height: 470px;

        max-width: 650px;

        width: 100%;

        margin: 0 auto;

    }

    .quality-image {

        width: 88%;

        height: 420px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .quality-section {

        padding: 70px 0 60px;

    }

    .quality-heading {

        margin-bottom: 38px;

    }

    .quality-heading h2 {

        font-size: 35px;

        letter-spacing: -1.5px;

    }

    .quality-heading > p {

        font-size: 13px;

    }

    .quality-visual {

        min-height: 370px;

    }

    .quality-image {

        width: 90%;

        height: 295px;

    }

    .quality-gauge {

        left: -5px;

        bottom: 10px;

    }

    .gauge-circle {

        width: 105px;

        height: 105px;

    }

    .gauge-content strong {

        font-size: 21px;

    }

    .quality-tag {

        padding: 11px 13px;

        bottom: 10px;

    }

    .quality-tag strong {

        font-size: 9px;

    }

    .quality-tag span {

        font-size: 7px;

    }

    .quality-intro p {

        font-size: 12px;

    }

    .quality-item {

        grid-template-columns: 32px 1fr 25px;

        gap: 12px;

        padding: 19px 5px;

    }

    .quality-item:hover,
    .quality-item.active {

        padding-left: 10px;

    }

    .quality-item-content h3 {

        font-size: 17px;

    }

    .quality-item-content p {

        font-size: 11px;

        line-height: 1.6;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .quality-heading h2 {

        font-size: 30px;

    }

    .quality-visual {

        min-height: 330px;

    }

    .quality-image {

        height: 250px;

    }

    .gauge-circle {

        width: 92px;

        height: 92px;

    }

    .quality-tag {

        right: 0;

        padding: 9px 10px;

    }

}

/* =====================================================
   CAPABILITIES SECTION
===================================================== */

.capabilities-section {

    position: relative;

    padding: 105px 0 100px;

    background: #f7f7f5;

    overflow: hidden;
}


/* =====================================================
   BACKGROUND ANIMATION
===================================================== */

.capabilities-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


/* GRID */

.cap-grid {

    position: absolute;

    inset: 0;

    background-image:

        linear-gradient(
            rgba(0,0,0,.025) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(0,0,0,.025) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    animation: capGridMove 20s linear infinite;

}


@keyframes capGridMove {

    from {
        background-position: 0 0;
    }

    to {
        background-position: 60px 60px;
    }

}


/* ORBITS */

.cap-orbit {

    position: absolute;

    border: 1px solid rgba(215,25,32,.10);

    border-radius: 50%;

}


.orbit-one {

    width: 420px;
    height: 420px;

    left: -230px;
    top: -170px;

    animation: capOrbit 22s linear infinite;
}


.orbit-two {

    width: 330px;
    height: 330px;

    right: -170px;
    bottom: -130px;

    border-style: dashed;

    animation: capOrbitReverse 18s linear infinite;
}


@keyframes capOrbit {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes capOrbitReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }

}


/* PULSES */

.cap-pulse {

    position: absolute;

    width: 7px;
    height: 7px;

    background: #d71920;

    border-radius: 50%;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.05);

    animation: capPulse 3.5s ease-in-out infinite;
}


.pulse-one {
    left: 12%;
    top: 28%;
}


.pulse-two {
    right: 18%;
    top: 40%;
    animation-delay: 1s;
}


.pulse-three {
    left: 56%;
    bottom: 15%;
    animation-delay: 2s;
}


@keyframes capPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: .25;
    }

    50% {
        transform: scale(1.8);
        opacity: .9;
    }

}


/* SCANNING LINES */

.cap-scan {

    position: absolute;

    width: 600px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.2),
            transparent
        );
}


.scan-one {

    left: -200px;
    top: 32%;

    transform: rotate(-18deg);

    animation: capScanOne 9s ease-in-out infinite;
}


.scan-two {

    right: -200px;
    bottom: 25%;

    transform: rotate(-20deg);

    animation: capScanTwo 11s ease-in-out infinite;
}


@keyframes capScanOne {

    0%,
    100% {
        transform: translateX(-30px) rotate(-18deg);
        opacity: .15;
    }

    50% {
        transform: translateX(130px) rotate(-18deg);
        opacity: .7;
    }

}


@keyframes capScanTwo {

    0%,
    100% {
        transform: translateX(30px) rotate(-20deg);
        opacity: .15;
    }

    50% {
        transform: translateX(-120px) rotate(-20deg);
        opacity: .7;
    }

}


/* =====================================================
   CONTENT
===================================================== */

.capabilities-section .container {

    position: relative;

    z-index: 3;
}


/* HEADING */

.capabilities-heading {

    margin-bottom: 50px;
}


.cap-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 16px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

    color: #d71920;
}


.cap-label span {

    width: 35px;

    height: 2px;

    background: #d71920;
}


.cap-heading-row {

    display: grid;

    grid-template-columns: 58% 42%;

    align-items: end;

    gap: 40px;
}


.cap-heading-row h2 {

    margin: 0;

    max-width: 700px;

    font-size: clamp(40px,5vw,65px);

    line-height: 1;

    font-weight: 400;

    letter-spacing: -2.5px;

    color: #171717;
}


.cap-heading-row h2 strong {

    display: block;

    color: #d71920;

    font-weight: 700;
}


.cap-heading-row > p {

    max-width: 420px;

    margin: 0 0 4px;

    color: #777;

    font-size: 14px;

    line-height: 1.8;
}


/* =====================================================
   CARD GRID
===================================================== */

.capability-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid #d6d6d3;

    border-left: 1px solid #d6d6d3;
}


/* CARD */

.capability-card {

    position: relative;

    min-height: 290px;

    padding: 27px 25px;

    background: rgba(255,255,255,.45);

    border-right: 1px solid #d6d6d3;

    border-bottom: 1px solid #d6d6d3;

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.capability-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 3px;

    height: 0;

    background: #d71920;

    transition: height .4s ease;
}


.capability-card:hover {

    background: #fff;

    transform: translateY(-7px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);
}


.capability-card:hover::before {

    height: 100%;
}


/* TOP */

.cap-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 50px;
}


.cap-card-top span {

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    color: #aaa;
}


.capability-card:hover .cap-card-top span {

    color: #d71920;
}


.cap-card-top i {

    width: 45px;
    height: 45px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #d8d8d5;

    border-radius: 50%;

    color: #d71920;

    font-size: 18px;

    transition: .4s ease;
}


.capability-card:hover .cap-card-top i {

    background: #d71920;

    border-color: #d71920;

    color: #fff;

    transform: rotate(-8deg);
}


/* CONTENT */

.cap-card-body h3 {

    margin: 0 0 10px;

    font-size: 19px;

    font-weight: 600;

    color: #222;
}


.cap-card-body p {

    max-width: 250px;

    margin: 0;

    font-size: 12px;

    line-height: 1.7;

    color: #777;
}


/* ARROW */

.cap-card-arrow {

    position: absolute;

    right: 22px;

    bottom: 20px;

    color: #aaa;

    font-size: 16px;

    transition: .35s ease;
}


.capability-card:hover .cap-card-arrow {

    color: #d71920;

    transform: translate(4px,-4px);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .capabilities-section {

        padding: 85px 0 75px;
    }

    .cap-heading-row {

        grid-template-columns: 1fr;

        gap: 18px;
    }

    .capability-grid {

        grid-template-columns: 1fr 1fr;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .capabilities-section {

        padding: 70px 0 60px;
    }

    .capabilities-heading {

        margin-bottom: 35px;
    }

    .cap-heading-row h2 {

        font-size: 35px;

        letter-spacing: -1.5px;
    }

    .cap-heading-row > p {

        font-size: 13px;
    }

    .capability-grid {

        grid-template-columns: 1fr;
    }

    .capability-card {

        min-height: 230px;

        padding: 24px 22px;
    }

    .cap-card-top {

        margin-bottom: 35px;
    }

}

/* =====================================================
   OUR APPROACH
===================================================== */

.approach-section {

    position: relative;

    padding: 70px  0;

    background: #ffffff;

    overflow: hidden;
}


/* =====================================================
   BACKGROUND
===================================================== */

.approach-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    overflow: hidden;
}


.approach-ring-big {

    position: absolute;

    width: 650px;
    height: 650px;

    left: 50%;
    top: 50%;

    transform: translate(-50%,-50%);

    border: 1px solid rgba(215,25,32,.08);

    border-radius: 50%;

    animation:
        approachRing 25s linear infinite;
}


@keyframes approachRing {

    from {
        transform:
            translate(-50%,-50%)
            rotate(0);
    }

    to {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }

}


/* RAYS */

.approach-ray {

    position: absolute;

    left: 50%;
    top: 50%;

    width: 700px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.14),
            transparent
        );

    transform-origin: center;
}


.ray-one {

    transform:
        translate(-50%,-50%)
        rotate(0deg);

    animation:
        rayRotate 12s linear infinite;
}


.ray-two {

    transform:
        translate(-50%,-50%)
        rotate(60deg);

    animation:
        rayRotate 15s linear infinite reverse;
}


.ray-three {

    transform:
        translate(-50%,-50%)
        rotate(120deg);

    animation:
        rayRotate 18s linear infinite;
}


@keyframes rayRotate {

    from {
        opacity: .2;
    }

    50% {
        opacity: .7;
    }

    to {
        opacity: .2;
    }

}


/* POINTS */

.approach-point {

    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.06);

    animation:
        approachPoint 3s ease-in-out infinite;
}


.point-one {

    left: 24%;

    top: 30%;
}


.point-two {

    right: 25%;

    bottom: 25%;

    animation-delay: 1.4s;
}


@keyframes approachPoint {

    0%,
    100% {

        transform: scale(1);

        opacity: .25;

    }

    50% {

        transform: scale(1.8);

        opacity: .9;

    }

}


/* =====================================================
   CONTENT
===================================================== */

.approach-section .container {

    position: relative;

    z-index: 3;
}


/* HEADER */

.approach-header {

    text-align: center;

    max-width: 720px;

    margin: 0 auto 60px;
}


.approach-label {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin-bottom: 15px;

    color: #d71920;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;
}


.approach-label span {

    width: 30px;

    height: 2px;

    background: #d71920;
}


.approach-header h2 {

    margin: 0;

    font-size: clamp(40px,5vw,62px);

    line-height: 1;

    font-weight: 400;

    letter-spacing: -2.5px;

    color: #171717;
}


.approach-header h2 strong {

    color: #d71920;

    font-weight: 700;
}


/* =====================================================
   FLOW
===================================================== */

.approach-flow {

    display: grid;

    grid-template-columns:
        1fr
        60px
        1fr
        60px
        1fr;

    align-items: center;
}


/* STEP */

.approach-step {

    text-align: center;

    padding: 20px;

}


/* CIRCLE */

.approach-circle {

    position: relative;

    width: 135px;

    height: 135px;

    margin: 0 auto 25px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border: 1px solid #d8d8d5;

    border-radius: 50%;

    background: #fff;

    box-shadow:
        0 12px 30px rgba(0,0,0,.05);

    transition:
        background .4s ease,
        border-color .4s ease,
        transform .4s ease;
}


.approach-circle::before {

    content: "";

    position: absolute;

    inset: -8px;

    border: 1px dashed rgba(215,25,32,.16);

    border-radius: 50%;

    animation:
        approachCircleRotate 12s linear infinite;
}


@keyframes approachCircleRotate {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


.approach-circle span {

    position: absolute;

    top: 24px;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

    color: #aaa;
}


.approach-circle i {

    margin-top: 10px;

    color: #d71920;

    font-size: 28px;

    transition: .4s ease;
}


.approach-step:hover .approach-circle {

    background: #d71920;

    border-color: #d71920;

    transform: translateY(-6px);

}


.approach-step:hover .approach-circle i {

    color: #fff;

    transform: scale(1.1);

}


.approach-step:hover .approach-circle span {

    color: rgba(255,255,255,.7);

}


/* CONTENT */

.approach-step-content small {

    display: block;

    margin-bottom: 7px;

    color: #d71920;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;
}


.approach-step-content h3 {

    margin: 0 0 9px;

    color: #222;

    font-size: 19px;

    font-weight: 600;
}


.approach-step-content p {

    max-width: 280px;

    margin: 0 auto;

    color: #777;

    font-size: 12px;

    line-height: 1.7;
}


/* CONNECTOR */

.approach-connector {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;
}


.approach-connector span {

    width: 100%;

    height: 1px;

    background: #d5d5d2;
}


.approach-connector i {

    color: #d71920;

    animation:
        approachArrow 2s ease-in-out infinite;
}


@keyframes approachArrow {

    0%,
    100% {
        transform: translateX(0);
        opacity: .5;
    }

    50% {
        transform: translateX(5px);
        opacity: 1;
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .approach-section {

        padding: 80px 0;
    }

    .approach-flow {

        grid-template-columns: 1fr;

        gap: 10px;
    }

    .approach-connector {

        display: none;
    }

    .approach-step {

        max-width: 500px;

        margin: auto;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .approach-section {

        padding: 65px 0;
    }

    .approach-header {

        margin-bottom: 40px;
    }

    .approach-header h2 {

        font-size: 34px;

        letter-spacing: -1.5px;
    }

    .approach-circle {

        width: 115px;

        height: 115px;
    }

    .approach-circle i {

        font-size: 24px;
    }

    .approach-step-content h3 {

        font-size: 17px;
    }

    .approach-step-content p {

        font-size: 11px;
    }

}

/* =====================================================
   ABOUT FINAL CTA
===================================================== */

.about-final-cta {

    position: relative;

    padding: 100px 0;

    background: #f3f4f1;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.about-cta-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

}


/* OUTLINE TEXT */

.cta-outline-text {

    position: absolute;

    right: -100px;

    top: 35px;

    white-space: nowrap;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(20,20,20,.08);

    font-size:
        clamp(90px, 13vw, 190px);

    font-weight: 800;

    letter-spacing: -7px;

    transform: rotate(-7deg);

    animation:
        ctaOutlineFloat 9s ease-in-out infinite;

}


@keyframes ctaOutlineFloat {

    0%,
    100% {
        transform:
            rotate(-7deg)
            translateY(0);
    }

    50% {
        transform:
            rotate(-7deg)
            translateY(-15px);
    }

}


/* =====================================================
   SCAN LINES
===================================================== */

.cta-scan-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.22),
            transparent
        );

}


.scan-a {

    width: 650px;

    left: -180px;

    top: 28%;

    transform: rotate(-18deg);

    animation:
        ctaScanOne 9s ease-in-out infinite;

}


.scan-b {

    width: 550px;

    right: -180px;

    bottom: 20%;

    transform: rotate(-22deg);

    animation:
        ctaScanTwo 11s ease-in-out infinite;

}


@keyframes ctaScanOne {

    0%,
    100% {
        transform:
            translateX(-30px)
            rotate(-18deg);

        opacity: .15;
    }

    50% {
        transform:
            translateX(130px)
            rotate(-18deg);

        opacity: .7;
    }

}


@keyframes ctaScanTwo {

    0%,
    100% {
        transform:
            translateX(40px)
            rotate(-22deg);

        opacity: .15;
    }

    50% {
        transform:
            translateX(-120px)
            rotate(-22deg);

        opacity: .7;
    }

}


/* =====================================================
   DOTS
===================================================== */

.cta-pulse-dot {

    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 6px rgba(215,25,32,.06),
        0 0 20px rgba(215,25,32,.20);

    animation:
        ctaDotPulse 3.5s ease-in-out infinite;

}


.pulse-a {

    left: 15%;

    top: 22%;

}


.pulse-b {

    right: 17%;

    bottom: 22%;

    animation-delay: 1.5s;

}


@keyframes ctaDotPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: .25;
    }

    50% {
        transform: scale(1.8);
        opacity: .9;
    }

}


/* =====================================================
   ORBITS
===================================================== */

.cta-orbit {

    position: absolute;

    border: 1px solid rgba(215,25,32,.10);

    border-radius: 50%;

}


.orbit-a {

    width: 450px;
    height: 450px;

    left: -250px;
    bottom: -180px;

    animation:
        ctaOrbit 22s linear infinite;

}


.orbit-b {

    width: 300px;
    height: 300px;

    right: -160px;
    top: -120px;

    border-style: dashed;

    animation:
        ctaOrbitReverse 18s linear infinite;

}


@keyframes ctaOrbit {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes ctaOrbitReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }

}


/* =====================================================
   MAIN CTA BOX
===================================================== */

.about-cta-inner {

    position: relative;

    z-index: 5;

    display: grid;

    grid-template-columns: 60% 40%;

    min-height: 430px;

    background: #ffffff;

    border: 1px solid #dededb;

    box-shadow:
        0 25px 70px rgba(0,0,0,.07);

    overflow: hidden;

}


/* =====================================================
   CONTENT
===================================================== */

.about-cta-content {

    padding: 70px 55px 70px 70px;

}


.about-cta-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: #777;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.7px;

}


.about-cta-label span {

    width: 35px;

    height: 2px;

    background: #d71920;

}


.about-cta-content h2 {

    max-width: 620px;

    margin: 0 0 22px;

    font-size: clamp(44px,5vw,70px);

    line-height: .98;

    font-weight: 400;

    letter-spacing: -3px;

    color: #171717;

}


.about-cta-content h2 strong {

    display: block;

    color: #d71920;

    font-weight: 700;

}


.about-cta-content p {

    max-width: 560px;

    margin: 0;

    color: #777;

    font-size: 14px;

    line-height: 1.85;

}


/* =====================================================
   BUTTONS
===================================================== */

.about-cta-actions {

    display: flex;

    align-items: center;

    gap: 25px;

    margin-top: 32px;

    flex-wrap: wrap;

}


.about-cta-primary {

    display: inline-flex;

    align-items: center;

    gap: 28px;

    padding: 7px 7px 7px 22px;

    background: #d71920;

    color: #fff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    transition: .35s ease;

}


.about-cta-primary i {

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.15);

    transition: .35s ease;

}


.about-cta-primary:hover {

    background: #171717;

    color: #fff;

    transform: translateY(-3px);

}


.about-cta-primary:hover i {

    transform: translate(4px,-4px);

}


.about-cta-secondary {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #333;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    border-bottom: 1px solid #aaa;

    padding-bottom: 7px;

}


.about-cta-secondary i {

    color: #d71920;

    transition: .3s ease;

}


.about-cta-secondary:hover {

    color: #d71920;

    border-color: #d71920;

}


.about-cta-secondary:hover i {

    transform: translateX(5px);

}


/* =====================================================
   VISUAL
===================================================== */

.about-cta-visual {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 430px;

    background:
       linear-gradient(145deg, #000000, #c63e3e);

    overflow: hidden;

}


/* =====================================================
   MAIN CIRCLE
===================================================== */

.cta-engineering-circle {

    position: relative;

    width: 235px;

    height: 235px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        radial-gradient(
            circle,
            #fff 0%,
            #e7e7e4 68%,
            #d9d9d6 100%
        );

    box-shadow:
        0 25px 55px rgba(0,0,0,.10);

    animation:
        ctaCircleRotate 14s linear infinite;

}


@keyframes ctaCircleRotate {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


/* inner */

.cta-inner-circle {

    width: 115px;

    height: 115px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #d71920;

    color: #fff;

    box-shadow:
        0 15px 35px rgba(215,25,32,.25);

}


.cta-inner-circle i {

    font-size: 42px;

    animation:
        ctaGearReverse 14s linear infinite;

}


@keyframes ctaGearReverse {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(-360deg);
    }

}


/* =====================================================
   FLOATING NOTES
===================================================== */

.cta-floating-note {

    position: absolute;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 11px 14px;

    background: rgba(255,255,255,.95);

    border: 1px solid #ddd;

    box-shadow:
        0 12px 30px rgba(0,0,0,.08);

    animation:
        ctaNoteFloat 4s ease-in-out infinite;

}


.cta-floating-note i {

    color: #d71920;

    font-size: 17px;

}


.cta-floating-note span {

    color: #333;

    font-size: 8px;

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: .5px;

}


.note-one {

    top: 60px;

    left: 20px;

}


.note-two {

    right: 20px;

    bottom: 65px;

    animation-delay: 1.5s;

}


@keyframes ctaNoteFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-9px);
    }

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .about-final-cta {

        padding: 80px 0;

    }

    .about-cta-inner {

        grid-template-columns: 1fr;

    }

    .about-cta-content {

        padding: 60px 50px;

    }

    .about-cta-visual {

        min-height: 390px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .about-final-cta {

        padding: 65px 0;

    }

    .about-cta-content {

        padding: 45px 25px;

    }

    .about-cta-content h2 {

        font-size: 40px;

        letter-spacing: -2px;

    }

    .about-cta-content p {

        font-size: 13px;

    }

    .about-cta-actions {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

    }

    .about-cta-primary {

        width: 100%;

        justify-content: space-between;

    }

    .about-cta-visual {

        min-height: 340px;

    }

    .cta-engineering-circle {

        width: 180px;

        height: 180px;

    }

    .cta-inner-circle {

        width: 90px;

        height: 90px;

    }

    .cta-inner-circle i {

        font-size: 31px;

    }

    .note-one {

        top: 30px;

        left: 10px;

    }

    .note-two {

        right: 10px;

        bottom: 30px;

    }

    .cta-outline-text {

        font-size: 70px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .about-cta-content h2 {

        font-size: 34px;

    }

    .about-cta-visual {

        min-height: 310px;

    }

    .cta-engineering-circle {

        width: 155px;

        height: 155px;

    }

    .cta-inner-circle {

        width: 78px;

        height: 78px;

    }

    .cta-inner-circle i {

        font-size: 26px;

    }

}

/* =====================================================
   FACILITY SECTION
===================================================== */

.facility-section {

    position: relative;

    padding: 110px 0 100px;

    background: #f7f7f5;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND WRAPPER
===================================================== */

.facility-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    z-index: 0;

}


/* =====================================================
   LARGE CIRCULAR ARCS
===================================================== */

.facility-arc {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

}


/* LEFT ARC */

.arc-left {

    width: 430px;

    height: 430px;

    left: -255px;

    top: 25px;

    border: 2px solid rgba(215, 25, 32, .55);

    animation:
        facilityArcLeft 12s ease-in-out infinite;

}


/* RIGHT DASHED ARC */

.arc-right {

    width: 300px;

    height: 300px;

    right: -145px;

    top: 35px;

    border: 2px dashed rgba(215, 25, 32, .40);

    animation:
        facilityArcRight 16s linear infinite;

}


/* BOTTOM ARC */

.arc-bottom {

    width: 240px;

    height: 240px;

    left: 42%;

    bottom: -175px;

    border: 2px solid rgba(215, 25, 32, .28);

    animation:
        facilityArcBottom 10s ease-in-out infinite;

}


/* =====================================================
   ARC ANIMATIONS
===================================================== */

@keyframes facilityArcLeft {

    0%,
    100% {

        transform:
            translateY(0)
            rotate(0deg);

    }

    50% {

        transform:
            translateY(-16px)
            rotate(3deg);

    }

}


@keyframes facilityArcRight {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}


@keyframes facilityArcBottom {

    0%,
    100% {

        transform:
            translateY(0)
            scale(1);

        opacity: .5;

    }

    50% {

        transform:
            translateY(-18px)
            scale(1.05);

        opacity: .9;

    }

}


/* =====================================================
   DIAGONAL TECHNICAL LINES
===================================================== */

.facility-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215, 25, 32, .18),
            transparent
        );

    transform-origin: center;

}


/* LINE ONE */

.facility-line-one {

    width: 720px;

    top: 28%;

    left: -220px;

    transform: rotate(-16deg);

    animation:
        facilityLineMoveOne 9s ease-in-out infinite;

}


/* LINE TWO */

.facility-line-two {

    width: 620px;

    top: 70%;

    right: -230px;

    transform: rotate(-14deg);

    animation:
        facilityLineMoveTwo 11s ease-in-out infinite;

}


/* =====================================================
   LINE ANIMATION
===================================================== */

@keyframes facilityLineMoveOne {

    0%,
    100% {

        transform:
            translateX(-30px)
            rotate(-16deg);

        opacity: .15;

    }

    50% {

        transform:
            translateX(130px)
            rotate(-16deg);

        opacity: .65;

    }

}


@keyframes facilityLineMoveTwo {

    0%,
    100% {

        transform:
            translateX(40px)
            rotate(-14deg);

        opacity: .12;

    }

    50% {

        transform:
            translateX(-120px)
            rotate(-14deg);

        opacity: .6;

    }

}


/* =====================================================
   MOVING LIGHT BEAMS
===================================================== */

.facility-light {

    position: absolute;

    width: 170px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.75),
            transparent
        );

    filter: blur(.4px);

    opacity: 0;

}


/* LIGHT ONE */

.light-one {

    left: -180px;

    top: 35%;

    transform: rotate(-15deg);

    animation:
        facilityLightOne 6s linear infinite;

}


/* LIGHT TWO */

.light-two {

    right: -180px;

    bottom: 25%;

    transform: rotate(-15deg);

    animation:
        facilityLightTwo 7s linear infinite;

}


/* =====================================================
   LIGHT ANIMATION
===================================================== */

@keyframes facilityLightOne {

    0% {

        left: -200px;

        opacity: 0;

    }

    15% {

        opacity: .65;

    }

    75% {

        opacity: .65;

    }

    100% {

        left: 110%;

        opacity: 0;

    }

}


@keyframes facilityLightTwo {

    0% {

        right: -200px;

        opacity: 0;

    }

    15% {

        opacity: .55;

    }

    75% {

        opacity: .55;

    }

    100% {

        right: 110%;

        opacity: 0;

    }

}


/* =====================================================
   SMALL TECHNICAL MARKERS
===================================================== */

.facility-marker {

    position: absolute;

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: #d71920;

    box-shadow:
        0 0 0 5px rgba(215,25,32,.05);

    animation:
        facilityMarkerPulse 3s ease-in-out infinite;

}


/* LEFT */

.marker-one {

    left: 17%;

    top: 25%;

}


/* RIGHT */

.marker-two {

    right: 17%;

    top: 62%;

    animation-delay: 1.4s;

}


@keyframes facilityMarkerPulse {

    0%,
    100% {

        transform: scale(1);

        opacity: .25;

    }

    50% {

        transform: scale(1.6);

        opacity: .8;

    }

}


/* =====================================================
   CONTENT ABOVE BACKGROUND
===================================================== */

.facility-section .container {

    position: relative;

    z-index: 5;

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .facility-section {

        padding: 90px 0 80px;

    }


    .arc-left {

        width: 340px;

        height: 340px;

        left: -210px;

    }


    .arc-right {

        width: 250px;

        height: 250px;

        right: -125px;

    }


    .facility-line-one {

        width: 550px;

    }


    .facility-line-two {

        width: 500px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .facility-section {

        padding: 65px 0 60px;

    }


    .arc-left {

        width: 240px;

        height: 240px;

        left: -175px;

        top: 40px;

    }


    .arc-right {

        width: 180px;

        height: 180px;

        right: -90px;

        top: 50px;

    }


    .arc-bottom {

        width: 170px;

        height: 170px;

        left: 38%;

        bottom: -125px;

    }


    .facility-line-one {

        width: 420px;

    }


    .facility-line-two {

        width: 380px;

    }


    .facility-light {

        width: 110px;

    }


    .marker-one {

        left: 10%;

    }


    .marker-two {

        right: 10%;

    }

}

/* =====================================================
   QUALITY SECTION
   PREMIUM MEASUREMENT ANIMATION
===================================================== */

.quality-section {

    position: relative;

    padding: 110px 0 105px;

    background: #f4f5f2;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.quality-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    z-index: 0;

}


/* =====================================================
   MEASUREMENT LINES
===================================================== */

.quality-measure {

    position: absolute;

    width: 520px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.16),
            transparent
        );

    transform-origin: center;

}


.measure-one {

    left: -150px;

    top: 24%;

    transform: rotate(-12deg);

    animation:
        measureMoveOne 8s ease-in-out infinite;

}


.measure-two {

    right: -170px;

    top: 48%;

    transform: rotate(10deg);

    animation:
        measureMoveTwo 10s ease-in-out infinite;

}


.measure-three {

    left: 15%;

    bottom: 18%;

    width: 420px;

    transform: rotate(-7deg);

    opacity: .6;

    animation:
        measureMoveThree 12s ease-in-out infinite;

}


@keyframes measureMoveOne {

    0%,
    100% {

        transform:
            translateX(-40px)
            rotate(-12deg);

        opacity: .15;

    }

    50% {

        transform:
            translateX(130px)
            rotate(-12deg);

        opacity: .7;

    }

}


@keyframes measureMoveTwo {

    0%,
    100% {

        transform:
            translateX(50px)
            rotate(10deg);

        opacity: .1;

    }

    50% {

        transform:
            translateX(-120px)
            rotate(10deg);

        opacity: .65;

    }

}


@keyframes measureMoveThree {

    0%,
    100% {

        transform:
            translateX(-20px)
            rotate(-7deg);

        opacity: .15;

    }

    50% {

        transform:
            translateX(100px)
            rotate(-7deg);

        opacity: .55;

    }

}


/* =====================================================
   LASER SCAN
===================================================== */

.quality-laser {

    position: absolute;

    top: -10%;

    left: 35%;

    width: 1px;

    height: 120%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(215,25,32,.65),
            transparent
        );

    box-shadow:
        0 0 12px rgba(215,25,32,.25);

    animation:
        qualityLaserMove 7s linear infinite;

}


@keyframes qualityLaserMove {

    0% {

        left: 15%;

        opacity: 0;

    }

    15% {

        opacity: .45;

    }

    50% {

        left: 72%;

        opacity: .7;

    }

    85% {

        opacity: .3;

    }

    100% {

        left: 95%;

        opacity: 0;

    }

}


/* =====================================================
   SOFT LIGHT PANELS
===================================================== */

.quality-panel {

    position: absolute;

    width: 330px;

    height: 330px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(215,25,32,.055),
            rgba(215,25,32,.015) 45%,
            transparent 72%
        );

    filter: blur(2px);

}


.panel-one {

    left: -150px;

    top: 5%;

    animation:
        panelFloatOne 9s ease-in-out infinite;

}


.panel-two {

    right: -130px;

    bottom: -70px;

    animation:
        panelFloatTwo 11s ease-in-out infinite;

}


@keyframes panelFloatOne {

    0%,
    100% {

        transform:
            translate(0,0)
            scale(1);

        opacity: .55;

    }

    50% {

        transform:
            translate(40px,25px)
            scale(1.08);

        opacity: .9;

    }

}


@keyframes panelFloatTwo {

    0%,
    100% {

        transform:
            translate(0,0)
            scale(1);

        opacity: .45;

    }

    50% {

        transform:
            translate(-35px,-25px)
            scale(1.1);

        opacity: .8;

    }

}


/* =====================================================
   TECHNICAL CORNERS
===================================================== */

.quality-corner {

    position: absolute;

    width: 70px;

    height: 70px;

    opacity: .28;

}


.corner-left {

    left: 35px;

    top: 35px;

    border-top: 1px solid #d71920;

    border-left: 1px solid #d71920;

}


.corner-right {

    right: 35px;

    bottom: 35px;

    border-right: 1px solid #d71920;

    border-bottom: 1px solid #d71920;

}


/* =====================================================
   CONTENT ABOVE BACKGROUND
===================================================== */

.quality-section .container {

    position: relative;

    z-index: 5;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .quality-bg {

        opacity: .8;

    }

    .quality-measure {

        width: 320px;

    }

    .quality-laser {

        left: 20%;

    }

    .quality-panel {

        width: 230px;

        height: 230px;

    }

    .quality-corner {

        width: 45px;

        height: 45px;

    }

}
/* =====================================================
   APPROACH SECTION
   PREMIUM MECHANICAL FLOW ANIMATION
===================================================== */

.approach-section {

    position: relative;

    padding: 100px 0;

    background: #ffffff;

    overflow: hidden;

}


/* =====================================================
   BACKGROUND
===================================================== */

.approach-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    z-index: 0;

}


/* =====================================================
   LARGE MECHANICAL PATHS
===================================================== */

.approach-path {

    position: absolute;

    border: 1px solid rgba(20,20,20,.07);

    border-radius: 50%;

}


.path-one {

    width: 800px;

    height: 300px;

    left: 50%;

    top: 50%;

    transform:
        translate(-50%,-50%)
        rotate(-12deg);

    animation:
        approachPathOne 14s ease-in-out infinite;

}


.path-two {

    width: 600px;

    height: 230px;

    left: 50%;

    top: 50%;

    transform:
        translate(-50%,-50%)
        rotate(15deg);

    border-color: rgba(215,25,32,.09);

    animation:
        approachPathTwo 18s ease-in-out infinite reverse;

}


@keyframes approachPathOne {

    0%,
    100% {

        transform:
            translate(-50%,-50%)
            rotate(-12deg)
            scale(1);

        opacity: .4;

    }

    50% {

        transform:
            translate(-50%,-50%)
            rotate(-8deg)
            scale(1.06);

        opacity: .85;

    }

}


@keyframes approachPathTwo {

    0%,
    100% {

        transform:
            translate(-50%,-50%)
            rotate(15deg)
            scale(1);

        opacity: .3;

    }

    50% {

        transform:
            translate(-50%,-50%)
            rotate(19deg)
            scale(.95);

        opacity: .75;

    }

}


/* =====================================================
   ROTATING MECHANICAL STRUCTURE
===================================================== */

.approach-mechanical {

    position: absolute;

    left: 50%;

    top: 50%;

    width: 230px;

    height: 230px;

    transform:
        translate(-50%,-50%);

    border:

        1px solid rgba(215,25,32,.12);

    border-radius: 50%;

    animation:
        mechanicalRotate 18s linear infinite;

}


.approach-mechanical::before {

    content: "";

    position: absolute;

    inset: 25px;

    border:
        1px dashed rgba(215,25,32,.13);

    border-radius: 50%;

}


.approach-mechanical::after {

    content: "";

    position: absolute;

    inset: 55px;

    border:
        1px solid rgba(0,0,0,.08);

    border-radius: 50%;

}


.approach-mechanical span {

    position: absolute;

    width: 40px;

    height: 1px;

    top: 50%;

    left: -20px;

    background: #d71920;

}


.approach-mechanical span::after {

    content: "";

    position: absolute;

    width: 40px;

    height: 1px;

    right: -130px;

    background: #d71920;

}


@keyframes mechanicalRotate {

    from {

        transform:
            translate(-50%,-50%)
            rotate(0deg);

    }

    to {

        transform:
            translate(-50%,-50%)
            rotate(360deg);

    }

}


/* =====================================================
   MOVING BEAMS
===================================================== */

.approach-beam {

    position: absolute;

    width: 220px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.55),
            transparent
        );

}


.beam-one {

    top: 35%;

    left: -240px;

    transform: rotate(-12deg);

    animation:
        approachBeamOne 6s linear infinite;

}


.beam-two {

    bottom: 30%;

    right: -240px;

    transform: rotate(-12deg);

    animation:
        approachBeamTwo 7s linear infinite;

}


@keyframes approachBeamOne {

    0% {

        left: -240px;

        opacity: 0;

    }

    15% {

        opacity: .7;

    }

    75% {

        opacity: .7;

    }

    100% {

        left: 110%;

        opacity: 0;

    }

}


@keyframes approachBeamTwo {

    0% {

        right: -240px;

        opacity: 0;

    }

    15% {

        opacity: .65;

    }

    75% {

        opacity: .65;

    }

    100% {

        right: 110%;

        opacity: 0;

    }

}


/* =====================================================
   CENTER GLOW
===================================================== */

.approach-center-glow {

    position: absolute;

    left: 50%;

    top: 50%;

    width: 170px;

    height: 170px;

    transform:
        translate(-50%,-50%);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(215,25,32,.06),
            transparent 70%
        );

    animation:
        centerGlowPulse 5s ease-in-out infinite;

}


@keyframes centerGlowPulse {

    0%,
    100% {

        transform:
            translate(-50%,-50%)
            scale(.9);

        opacity: .4;

    }

    50% {

        transform:
            translate(-50%,-50%)
            scale(1.2);

        opacity: .85;

    }

}


/* =====================================================
   CORNERS
===================================================== */

.approach-corner {

    position: absolute;

    width: 65px;

    height: 65px;

    opacity: .25;

}


.approach-corner-left {

    left: 30px;

    bottom: 30px;

    border-left:
        1px solid #d71920;

    border-bottom:
        1px solid #d71920;

}


.approach-corner-right {

    right: 30px;

    top: 30px;

    border-right:
        1px solid #d71920;

    border-top:
        1px solid #d71920;

}


/* =====================================================
   CONTENT
===================================================== */

.approach-section .container {

    position: relative;

    z-index: 5;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .approach-bg {

        opacity: .8;

    }

    .path-one {

        width: 500px;

        height: 220px;

    }

    .path-two {

        width: 400px;

        height: 170px;

    }

    .approach-mechanical {

        width: 170px;

        height: 170px;

    }

    .approach-mechanical::before {

        inset: 20px;

    }

    .approach-mechanical::after {

        inset: 42px;

    }

    .approach-corner {

        width: 40px;

        height: 40px;

    }

}

/* =====================================================
  Single Acting Hydraulic Cylinders
===================================================== */
/* =====================================================
   PRODUCT PAGE HERO
===================================================== */

.product-page-hero {

    position: relative;

    min-height: 470px;

    display: flex;

    align-items: center;

    background: #f5f5f3;

    overflow: hidden;

}


/* =====================================================
   HERO BACKGROUND ANIMATION
===================================================== */

.product-hero-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    overflow: hidden;

}


.hero-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(215,25,32,.20),
            transparent
        );

}


.hero-line-1 {

    width: 700px;

    left: -230px;

    top: 30%;

    transform: rotate(-15deg);

    animation:
        heroLineOne 8s ease-in-out infinite;

}


.hero-line-2 {

    width: 580px;

    right: -200px;

    bottom: 25%;

    transform: rotate(-20deg);

    animation:
        heroLineTwo 10s ease-in-out infinite;

}


@keyframes heroLineOne {

    0%,
    100% {
        transform:
            translateX(-40px)
            rotate(-15deg);

        opacity: .15;
    }

    50% {
        transform:
            translateX(140px)
            rotate(-15deg);

        opacity: .65;
    }

}


@keyframes heroLineTwo {

    0%,
    100% {
        transform:
            translateX(40px)
            rotate(-20deg);

        opacity: .12;
    }

    50% {
        transform:
            translateX(-130px)
            rotate(-20deg);

        opacity: .65;
    }

}


/* Arcs */

.hero-arc {

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(215,25,32,.11);

}


.hero-arc-1 {

    width: 420px;

    height: 420px;

    left: -250px;

    top: 20px;

    animation:
        heroArcRotate 18s linear infinite;

}


.hero-arc-2 {

    width: 300px;

    height: 300px;

    right: -150px;

    bottom: -100px;

    border-style: dashed;

    animation:
        heroArcRotateReverse 15s linear infinite;

}


@keyframes heroArcRotate {

    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes heroArcRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }

}


/* Beam */

.hero-beam {

    position: absolute;

    width: 180px;

    height: 2px;

    top: 65%;

    left: -200px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #d71920,
            transparent
        );

    animation:
        heroBeamMove 5s linear infinite;

}


@keyframes heroBeamMove {

    0% {
        left: -220px;
        opacity: 0;
    }

    15% {
        opacity: .7;
    }

    75% {
        opacity: .7;
    }

    100% {
        left: 110%;
        opacity: 0;
    }

}


/* =====================================================
   HERO CONTENT
===================================================== */

.product-page-hero-content {

    position: relative;

    z-index: 3;

    max-width: 850px;

    padding: 80px 0;

}


.product-breadcrumb {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 30px;

    font-size: 10px;

}


.product-breadcrumb a {

    color: #777;

    text-decoration: none;

}


.product-breadcrumb a:hover {

    color: #d71920;

}


.product-breadcrumb i {

    color: #aaa;

    font-size: 8px;

}


.product-breadcrumb span {

    color: #d71920;

}


.product-hero-label {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 16px;

    color: #d71920;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 3px;

}


.product-hero-label span {

    width: 32px;

    height: 2px;

    background: #d71920;

}


.product-page-hero h1 {

    margin: 0;

    font-size: clamp(45px,5.5vw,72px);

    line-height: .98;

    letter-spacing: -3px;

    font-weight: 400;

    color: #ffffff;

}


.product-page-hero h1 strong {

    display: block;

    color: #d71920;

    font-weight: 700;

}


.product-page-hero-content > p {

    max-width: 650px;

    margin: 22px 0 0;

    color: #666;

    font-size: 14px;

    line-height: 1.8;

}


/* =====================================================
   PRODUCT IMAGE
===================================================== */

.product-image-section {

    position: relative;

    padding: 55px 0 85px;

    background: #fff;

}


.product-feature-image {

    position: relative;

    width: 100%;

    height: 530px;

    overflow: hidden;

    background: #eeeeeb;

    box-shadow:
        0 25px 60px rgba(0,0,0,.10);

}


.product-feature-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            transparent 55%,
            rgba(0,0,0,.35)
        );

}


.product-feature-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 1s
        cubic-bezier(.2,.7,.2,1);

}


.product-feature-image:hover img {

    transform: scale(1.05);

}


.product-image-overlay {

    position: absolute;

    z-index: 2;

    left: 35px;

    bottom: 30px;

    color: #fff;

}


.product-image-overlay span {

    display: block;

    margin-bottom: 6px;

    color: #ff555b;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.product-image-overlay strong {

    font-size: 25px;

    font-weight: 500;

}


.product-image-number {

    position: absolute;

    z-index: 3;

    left: 0;

    top: 35px;

    width: 75px;

    height: 75px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    background: #d71920;

    color: #fff;

}


.product-image-number small {

    font-size: 7px;

    letter-spacing: 2px;

}


.product-image-number strong {

    font-size: 28px;

    line-height: 1;

}


/* =====================================================
   CONTENT SECTION
===================================================== */

.product-content-section {

    position: relative;

    padding: 20px 0 100px;

    background: #f6f6f4;

}


.product-main-content {

    padding-right: 15px;

}


.product-content-block {

    margin-bottom: 50px;

}


.content-label {

    display: inline-block;

    margin-bottom: 13px;

    color: #d71920;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.product-content-block h2 {

    max-width: 850px;

    margin: 0 0 20px;

    font-size: clamp(34px,4vw,50px);

    line-height: 1.05;

    letter-spacing: -2px;

    font-weight: 500;

    color: #171717;

}


.product-content-block h3 {

    margin: 0 0 17px;

    color: #222;

    font-size: 25px;

    font-weight: 600;

}


.product-content-block p {

    max-width: 900px;

    margin-bottom: 15px;

    color: #666;

    font-size: 14px;

    line-height: 1.9;

}


/* =====================================================
   FEATURE BOXES
===================================================== */

.content-feature-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 14px;

}


.content-feature-box {

    display: flex;

    align-items: flex-start;

    gap: 14px;

    padding: 20px;

    border: 1px solid #ddddda;

    background: #fff;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


.content-feature-box:hover {

    transform: translateY(-5px);

    box-shadow:
        0 15px 30px rgba(0,0,0,.06);

}


.content-feature-box > i {

    width: 42px;

    height: 42px;

    flex: 0 0 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #f2f2ef;

    color: #d71920;

    font-size: 17px;

}


.content-feature-box h4 {

    margin: 0 0 6px;

    color: #222;

    font-size: 16px;

    font-weight: 600;

}


.content-feature-box p {

    margin: 0;

    font-size: 11px;

    line-height: 1.6;

}


/* =====================================================
   APPLICATIONS
===================================================== */

.application-list {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 20px;

}


.application-list span {

    padding: 10px 15px;

    border: 1px solid #ddd;

    background: #fff;

    color: #555;

    font-size: 10px;

    transition: .3s ease;

}


.application-list span:hover {

    color: #d71920;

    border-color: #d71920;

}


/* =====================================================
   INLINE CTA
===================================================== */

.product-inline-cta {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    margin-top: 60px;

    padding: 28px 30px;

    background: #171717;

    color: #fff;

}


.product-inline-cta span {

    display: block;

    margin-bottom: 7px;

    color: #aaa;

    font-size: 8px;

    letter-spacing: 2px;

    font-weight: 700;

}


.product-inline-cta h3 {

    margin: 0;

    color: #fff;

    font-size: 19px;

    font-weight: 500;

}


.product-inline-cta a {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 12px 16px;

    background: #d71920;

    color: #fff;

    text-decoration: none;

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;

}


.product-inline-cta a i {

    transition: .3s ease;

}


.product-inline-cta a:hover i {

    transform: translate(4px,-4px);

}


/* =====================================================
   SIDEBAR
===================================================== */

.product-sidebar {

    position: sticky;

    top: 105px;

    padding: 27px;

    background: #fff;

    border: 1px solid #ddd;

    box-shadow:
        0 18px 45px rgba(0,0,0,.06);

}


.sidebar-heading {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 15px;

    color: #d71920;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

}


.sidebar-heading > span {

    width: 25px;

    height: 2px;

    background: #d71920;

}


.product-sidebar > h3 {

    margin: 0 0 25px;

    font-size: 24px;

    line-height: 1.15;

    color: #222;

    font-weight: 600;

}


/* details */

.sidebar-details {

    border-top: 1px solid #ddd;

}


.sidebar-detail {

    padding: 14px 0;

    border-bottom: 1px solid #ddd;

}


.sidebar-detail small {

    display: block;

    margin-bottom: 5px;

    color: #999;

    font-size: 7px;

    letter-spacing: 1.5px;

    font-weight: 700;

}


.sidebar-detail strong {

    color: #333;

    font-size: 11px;

    font-weight: 600;

}


/* features */

.sidebar-feature-list {

    margin-top: 20px;

}


.sidebar-feature-list > div {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 10px;

    color: #555;

    font-size: 11px;

}


.sidebar-feature-list i {

    width: 20px;

    height: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #d71920;

    color: #fff;

    font-size: 10px;

    flex: 0 0 20px;

}


/* quote */

.sidebar-quote-box {

    margin-top: 25px;

    padding: 22px;

    background: #f5f5f3;

    border-left: 3px solid #d71920;

}


.sidebar-quote-box small {

    display: block;

    margin-bottom: 7px;

    color: #d71920;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 1.5px;

}


.sidebar-quote-box h4 {

    margin: 0 0 17px;

    color: #222;

    font-size: 18px;

    line-height: 1.3;

    font-weight: 600;

}


.sidebar-quote-box a {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 11px 15px;

    background: #d71920;

    color: #fff;

    text-decoration: none;

    font-size: 9px;

    font-weight: 700;

}


.sidebar-quote-box a i {

    transition: .3s ease;

}


.sidebar-quote-box a:hover i {

    transform: translate(4px,-4px);

}


/* related */

.sidebar-products {

    margin-top: 35px;

}


.sidebar-products .sidebar-heading {

    margin-bottom: 10px;

}


.sidebar-products > a {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    padding: 13px 0;

    border-bottom: 1px solid #ddd;

    color: #555;

    text-decoration: none;

    font-size: 10px;

    line-height: 1.4;

}


.sidebar-products > a i {

    color: #d71920;

    transition: .3s ease;

}


.sidebar-products > a:hover {

    color: #d71920;

}


.sidebar-products > a:hover i {

    transform: translate(3px,-3px);

}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .product-page-hero {

        min-height: 430px;

    }

    .product-feature-image {

        height: 450px;

    }

    .product-sidebar {

        position: relative;

        top: 0;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .product-page-hero-content {

        padding: 65px 0;

    }

    .product-page-hero h1 {

        font-size: 39px;

        letter-spacing: -1.5px;

    }

    .product-page-hero-content > p {

        font-size: 13px;

    }

    .product-image-section {

        padding: 30px 0 60px;

    }

    .product-feature-image {

        height: 290px;

    }

    .product-image-overlay {

        left: 20px;

        bottom: 20px;

    }

    .product-image-overlay strong {

        font-size: 19px;

    }

    .product-image-number {

        width: 58px;

        height: 58px;

        top: 20px;

    }

    .product-image-number strong {

        font-size: 21px;

    }

    .product-content-section {

        padding-bottom: 65px;

    }

    .product-main-content {

        padding-right: 0;

    }

    .product-content-block h2 {

        font-size: 32px;

    }

    .product-content-block h3 {

        font-size: 21px;

    }

    .product-content-block p {

        font-size: 13px;

        line-height: 1.8;

    }

    .content-feature-grid {

        grid-template-columns: 1fr;

    }

    .product-inline-cta {

        flex-direction: column;

        align-items: flex-start;

    }

    .sidebar-heading {

        font-size: 8px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .product-page-hero h1 {

        font-size: 34px;

    }

    .product-feature-image {

        height: 250px;

    }

    .product-sidebar {

        padding: 20px;

    }

}

/* =====================================================
   PRODUCT PAGE - FONT SIZE IMPROVEMENT
===================================================== */

/* Breadcrumb */
.product-breadcrumb {
    font-size: 12px;
}

/* Hero label */
.product-hero-label {
    font-size: 11px;
}

/* Hero description */
.product-page-hero-content > p {
    font-size: 16px;
    line-height: 1.85;
}


/* =====================================================
   MAIN CONTENT
===================================================== */

.content-label {
    font-size: 10px;
}

.product-content-block h2 {
    font-size: clamp(38px, 4vw, 54px);
}

.product-content-block h3 {
    font-size: 27px;
}

.product-content-block p {
    font-size: 15px;
    line-height: 1.9;
}


/* Feature boxes */

.content-feature-box h4 {
    font-size: 17px;
}

.content-feature-box p {
    font-size: 13px;
    line-height: 1.7;
}


/* Application tags */

.application-list span {
    font-size: 11px;
    padding: 10px 15px;
}


/* =====================================================
   SIDEBAR
===================================================== */

.sidebar-heading {
    font-size: 10px;
}

.product-sidebar > h3 {
    font-size: 26px;
    line-height: 1.25;
}

.sidebar-detail small {
    font-size: 8px;
}

.sidebar-detail strong {
    font-size: 13px;
}

.sidebar-feature-list > div {
    font-size: 13px;
}

.sidebar-quote-box small {
    font-size: 8px;
}

.sidebar-quote-box h4 {
    font-size: 20px;
}

.sidebar-quote-box a {
    font-size: 10px;
}

.sidebar-products > a {
    font-size: 12px;
}


/* =====================================================
   INLINE CTA
===================================================== */

.product-inline-cta span {
    font-size: 9px;
}

.product-inline-cta h3 {
    font-size: 21px;
}

.product-inline-cta a {
    font-size: 11px;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .product-breadcrumb {
        font-size: 11px;
    }

    .product-page-hero-content > p {
        font-size: 14px;
    }

    .product-content-block h2 {
        font-size: 31px;
    }

    .product-content-block h3 {
        font-size: 22px;
    }

    .product-content-block p {
        font-size: 14px;
    }

    .content-feature-box h4 {
        font-size: 16px;
    }

    .content-feature-box p {
        font-size: 12px;
    }

    .sidebar-detail strong {
        font-size: 12px;
    }

    .sidebar-feature-list > div {
        font-size: 12px;
    }

    .sidebar-quote-box h4 {
        font-size: 19px;
    }

}

/* =====================================================
   PRODUCT PAGE HERO
===================================================== */

.product-page-hero {

    position: relative;

    min-height: 520px;

    display: flex;

    align-items: center;

    overflow: hidden;

    /* MAIN BACKGROUND IMAGE */
    background-image:
        url("assets/images/single-acting-banner.webp");

    background-repeat: no-repeat;

    background-position: center center;

    background-size: cover; 

    background-color: #222;

}


/* =====================================================
   DARK OVERLAY
===================================================== */

.product-page-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.52) 45%,
            rgba(0,0,0,.25) 100%
        );

}


/* IMPORTANT:
   REMOVE the old ::after completely
*/


/* =====================================================
   ANIMATION LAYER
===================================================== */

.product-hero-bg {

    position: absolute;

    inset: 0;

    z-index: 2;

    overflow: hidden;

    pointer-events: none;

}


/* =====================================================
   CONTENT
===================================================== */

.product-page-hero-content {

    position: relative;

    z-index: 5;

    max-width: 850px;

    padding: 100px 0;

}

       /* =====================================================
           APPLICATION HERO
        ====================================================== */

/* =====================================================
   BLACK ANIMATED APPLICATION HERO
===================================================== */

.applications-hero {

    min-height: 650px;

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: center;

    background: #050505;

    color: #ffffff;

}


/* =====================================================
   ANIMATED BACKGROUND
===================================================== */

.applications-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(190, 0, 0, .16),
            transparent 28%
        );

}


/* =====================================================
   MOVING TECHNICAL GRID
===================================================== */

.grid-line {

    position: absolute;

    width: 160%;

    height: 1px;

    left: -30%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.10),
        rgba(190,0,0,.45),
        rgba(255,255,255,.10),
        transparent
    );

    transform: rotate(-22deg);

    animation: technicalLine 8s linear infinite;

}


.grid-line-1 {
    top: 18%;
}

.grid-line-2 {
    top: 48%;
    animation-delay: -2.5s;
}

.grid-line-3 {
    top: 78%;
    animation-delay: -5s;
}


@keyframes technicalLine {

    0% {
        transform: translateX(-25%) rotate(-22deg);
        opacity: .2;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateX(25%) rotate(-22deg);
        opacity: .2;
    }

}


/* =====================================================
   RED HYDRAULIC RINGS
===================================================== */

.bg-ring {

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(210,0,0,.35);

    animation: hydraulicRing 18s linear infinite;

}


.bg-ring::before {

    content: "";

    position: absolute;

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 10px #d00000,
        0 0 25px rgba(208,0,0,.7);

    top: 50%;

    left: -5px;

}


.bg-ring-1 {

    width: 520px;

    height: 520px;

    right: -100px;

    top: 60px;

}


.bg-ring-2 {

    width: 720px;

    height: 720px;

    right: -200px;

    top: -40px;

    border-color: rgba(255,255,255,.08);

    animation-duration: 25s;

    animation-direction: reverse;

}


@keyframes hydraulicRing {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}


/* =====================================================
   ORBIT SYSTEM
===================================================== */

.bg-orbit {

    position: absolute;

    border-radius: 50%;

    border: 1px dashed rgba(255,255,255,.12);

    animation: orbitMove 12s linear infinite;

}


.bg-orbit-1 {

    width: 420px;

    height: 150px;

    right: 120px;

    top: 250px;

    transform: rotate(25deg);

}


.bg-orbit-2 {

    width: 520px;

    height: 180px;

    right: 30px;

    top: 225px;

    transform: rotate(-25deg);

    animation-duration: 18s;

    animation-direction: reverse;

}


@keyframes orbitMove {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}


/* =====================================================
   RED ENERGY GLOW
===================================================== */

.bg-glow {

    position: absolute;

    width: 350px;

    height: 350px;

    right: 20%;

    top: 25%;

    border-radius: 50%;

    background: #d00000;

    opacity: .10;

    filter: blur(100px);

    animation: redGlow 5s ease-in-out infinite;

}


@keyframes redGlow {

    0%,
    100% {

        transform: scale(.7);

        opacity: .05;

    }

    50% {

        transform: scale(1.2);

        opacity: .14;

    }

}


/* =====================================================
   FLOATING PARTICLES
===================================================== */

.bg-particle {

    position: absolute;

    width: 4px;

    height: 4px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 8px #d00000,
        0 0 20px rgba(208,0,0,.7);

    animation: particleMove 6s ease-in-out infinite;

}


.particle-1 {

    left: 12%;

    top: 25%;

}


.particle-2 {

    left: 40%;

    top: 70%;

    animation-delay: -2s;

}


.particle-3 {

    right: 30%;

    top: 20%;

    animation-delay: -4s;

}


.particle-4 {

    right: 12%;

    bottom: 22%;

    animation-delay: -1s;

}


.particle-5 {

    left: 62%;

    bottom: 15%;

    animation-delay: -3s;

}


@keyframes particleMove {

    0%,
    100% {

        transform: translateY(0);

        opacity: .2;

    }

    50% {

        transform: translateY(-35px);

        opacity: 1;

    }

}


/* =====================================================
   HERO CONTENT
===================================================== */

.applications-hero-content {

    max-width: 820px;

    position: relative;

    z-index: 5;

    padding: 100px 0;

}


.application-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #d00000;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

    margin-bottom: 25px;

}


.application-eyebrow span {

    width: 42px;

    height: 2px;

    background: #d00000;

    position: relative;

}


.application-eyebrow span::after {

    content: "";

    position: absolute;

    width: 10px;

    height: 2px;

    right: -18px;

    background: #ffffff;

    display: none;

}


/* =====================================================
   HERO TITLE
===================================================== */

.applications-hero h1 {

    font-size: clamp(48px, 6vw, 82px);

    line-height: .98;

    font-weight: 300;

    letter-spacing: -3px;

    margin: 0;

    color: #ffffff;

}


.applications-hero h1 strong {

    display: block;

    color: #d00000;

    font-weight: 800;

}


/* =====================================================
   HERO DESCRIPTION
===================================================== */

.applications-hero p {

    max-width: 650px;

    margin: 30px 0;

    color: rgba(255,255,255,.62);

    font-size: 17px;

    line-height: 1.8;

}


/* =====================================================
   HERO BUTTON
===================================================== */

.application-hero-bottom {

    display: flex;

    align-items: center;

    gap: 40px;

    margin-top: 40px;

}


.application-scroll-btn {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 15px 23px;

    border: 1px solid rgba(255,255,255,.35);

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    position: relative;

    overflow: hidden;

    transition: .35s;

}


.application-scroll-btn::before {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 0;

    height: 100%;

    background: #d00000;

    z-index: -1;

    transition: .35s;

}


.application-scroll-btn:hover {

    color: #ffffff;

    border-color: #d00000;

}


.application-scroll-btn:hover::before {

    width: 100%;

}


.application-scroll-btn i {

    transition: .3s;

}


.application-scroll-btn:hover i {

    transform: translateY(4px);

}


/* =====================================================
   HERO STAT
===================================================== */

.hero-stat {

    display: flex;

    align-items: center;

    gap: 12px;

}


.hero-stat strong {

    font-size: 34px;

    color: #d00000;

}


.hero-stat span {

    font-size: 9px;

    letter-spacing: 2px;

    line-height: 1.6;

    color: rgba(255,255,255,.45);

}


/* =====================================================
   ANIMATED BOTTOM LINE
===================================================== */

.hero-bottom-line {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #ffffff,
        #d00000,
        #ffffff,
        transparent
    );

    background-size: 300% 100%;

    animation: bottomLine 4s linear infinite;

}


@keyframes bottomLine {

    0% {

        background-position: 0% 50%;

    }

    100% {

        background-position: 300% 50%;

    }

}


/* =====================================================
   EXTRA SCAN EFFECT
===================================================== */

.applications-hero::after {

    content: "";

    position: absolute;

    left: 0;

    top: -100%;

    width: 100%;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(208,0,0,.8),
        transparent
    );

    box-shadow:
        0 0 20px rgba(208,0,0,.5);

    animation: scanLine 7s linear infinite;

    pointer-events: none;

}


@keyframes scanLine {

    0% {

        top: -10%;

        opacity: 0;

    }

    15% {

        opacity: 1;

    }

    85% {

        opacity: 1;

    }

    100% {

        top: 110%;

        opacity: 0;

    }

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 991px) {

    .applications-hero {

        min-height: 600px;

    }

    .bg-ring-1 {

        right: -250px;

    }

    .bg-ring-2 {

        right: -350px;

    }

}


@media (max-width: 575px) {

    .applications-hero {

        min-height: 620px;

    }

    .applications-hero-content {

        padding: 70px 0;

    }

    .applications-hero h1 {

        font-size: 48px;

        letter-spacing: -2px;

    }

    .applications-hero p {

        font-size: 15px;

    }

    .application-hero-bottom {

        flex-direction: column;

        align-items: flex-start;

        gap: 25px;

    }

    .bg-ring-1 {

        width: 400px;

        height: 400px;

        right: -220px;

    }

    .bg-ring-2 {

        width: 550px;

        height: 550px;

        right: -300px;

    }

}
/* =====================================================
   HERO CONTENT
===================================================== */

.applications-hero-content {

    max-width: 820px;

    position: relative;

    z-index: 2;

    padding: 100px 0;

}


.application-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #c00000;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

    margin-bottom: 25px;

}


.application-eyebrow span {

    width: 40px;

    height: 2px;

    background: #c00000;

}


.applications-hero h1 {

    font-size: clamp(48px, 6vw, 82px);

    line-height: .98;

    font-weight: 300;

    letter-spacing: -3px;

    margin: 0;

    color: #fffefe;

}


.applications-hero h1 strong {

    display: block;

    color: #c00000;

    font-weight: 800;

}


.applications-hero p {

    max-width: 650px;

    margin: 30px 0;

    color: #555555;

    font-size: 17px;

    line-height: 1.8;

}


.application-hero-bottom {

    display: flex;

    align-items: center;

    gap: 40px;

    margin-top: 40px;

}


.application-scroll-btn {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 15px 23px;

    border: 1px solid #111111;

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    transition: .3s;

    background-color: #c00000;

}


.application-scroll-btn:hover {

    background: #c00000;

    border-color: #c00000;

    color: #ffffff;

}


.hero-stat {

    display: flex;

    align-items: center;

    gap: 12px;

}


.hero-stat strong {

    font-size: 34px;

    color: #c00000;

}


.hero-stat span {

    font-size: 9px;

    letter-spacing: 2px;

    line-height: 1.6;

    color: #777777;

}


.hero-bottom-line {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 3px;

    background: linear-gradient(
        90deg,
        transparent,
        #111111,
        #c00000,
        #111111,
        transparent
    );

    animation: lineMove 4s linear infinite;

}


@keyframes lineMove {

    from {
        background-position: -500px 0;
    }

    to {
        background-position: 500px 0;
    }

}


/* =====================================================
   INTRO
===================================================== */

.applications-intro {

    padding: 110px 0 70px;

    background: #f5f5f5;

}


.section-label {

    display: block;

    font-size: 11px;

    letter-spacing: 3px;

    font-weight: 700;

    color: #c00000;

    margin-bottom: 18px;

}


.applications-intro h2 {

    margin: 0;

    font-size: clamp(38px,5vw,62px);

    line-height: 1.05;

    font-weight: 300;

    color: #111111;

    letter-spacing: -2px;

}


.applications-intro h2 span {

    display: block;

    font-weight: 800;

}


.applications-intro p {

    margin: 0;

    color: #666666;

    line-height: 1.9;

    font-size: 15px;

}


/* =====================================================
   APPLICATION GRID
===================================================== */

.applications-grid-section {

    padding: 40px 0 120px;

    background: #f5f5f5;

}


.applications-grid {

    display: grid;

    grid-template-columns: repeat(4,1fr);

    gap: 18px;

}


.application-card {

    position: relative;

    min-height: 390px;

    padding: 32px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #dddddd;

    color: #111111;

    text-decoration: none;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;

}


.application-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 4px;

    height: 0;

    background: #c00000;

    transition: height .4s ease;

}


.application-card::after {

    content: "";

    position: absolute;

    width: 180px;

    height: 180px;

    border-radius: 50%;

    background: rgba(192,0,0,.05);

    right: -80px;

    bottom: -80px;

    transition: .5s;

}


.application-card:hover {

    transform: translateY(-10px);

    border-color: #c00000;

    box-shadow:
        0 25px 55px rgba(0,0,0,.12);

    color: #111111;

}


.application-card:hover::before {

    height: 100%;

}


.application-card:hover::after {

    transform: scale(2);

}


.application-card-number {

    font-size: 12px;

    letter-spacing: 2px;

    color: #999999;

    font-weight: 700;

}


.application-card-icon {

    width: 62px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #f3f3f3;

    color: #c00000;

    font-size: 27px;

    transition: .4s;

}


.application-card:hover .application-card-icon {

    background: #c00000;

    color: #ffffff;

    transform: rotate(-8deg) scale(1.08);

}


.application-card-content span {

    font-size: 9px;

    letter-spacing: 2px;

    color: #c00000;

    font-weight: 700;

}


.application-card-content h3 {

    margin: 10px 0;

    font-size: 25px;

    line-height: 1.15;

    font-weight: 800;

}


.application-card-content p {

    margin: 0;

    color: #666666;

    font-size: 13px;

    line-height: 1.7;

}


.application-card-arrow {

    position: absolute;

    right: 25px;

    top: 25px;

    width: 38px;

    height: 38px;

    border: 1px solid #dddddd;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #c00000;

    transition: .3s;

}


.application-card:hover .application-card-arrow {

    background: #c00000;

    color: #ffffff;

    border-color: #c00000;

    transform: rotate(45deg);

}


/* =====================================================
   ENGINEERING SECTION
===================================================== */

.application-engineering {

    position: relative;

    overflow: hidden;

    padding: 110px 0;

    background: #eeeeee;

    color: #111111;

}


.engineering-pattern {

    position: absolute;

    inset: 0;

    opacity: .5;

    background-image:
        linear-gradient(
            rgba(0,0,0,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(0,0,0,.04) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    animation: patternMove 15s linear infinite;

}


@keyframes patternMove {

    from {
        background-position: 0 0;
    }

    to {
        background-position: 60px 60px;
    }

}


.application-engineering h2 {

    font-size: clamp(38px,5vw,60px);

    line-height: 1.05;

    font-weight: 300;

    letter-spacing: -2px;

    margin-bottom: 25px;

}


.application-engineering h2 span {

    display: block;

    color: #c00000;

    font-weight: 800;

}


.application-engineering p {

    max-width: 650px;

    color: #666666;

    line-height: 1.8;

    margin-bottom: 30px;

}


.engineering-btn {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 15px 23px;

    background: #c00000;

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition: .3s;

}


.engineering-btn:hover {

    background: #111111;

    color: #ffffff;

}


.engineering-points {

    border-top: 1px solid #cccccc;

}


.engineering-points > div {

    display: flex;

    align-items: center;

    gap: 25px;

    padding: 20px 0;

    border-bottom: 1px solid #cccccc;

}


.engineering-points strong {

    color: #c00000;

    font-size: 12px;

    letter-spacing: 2px;

}


.engineering-points span {

    color: #333333;

    font-size: 14px;

}


/* =====================================================
   CTA
===================================================== */

.applications-cta {

    position: relative;

    overflow: hidden;

    padding: 110px 0;

    background: #ffffff;

    text-align: center;

    border-top: 1px solid #eeeeee;

}


.cta-orbit {

    position: absolute;

    width: 600px;

    height: 600px;

    border: 1px solid rgba(192,0,0,.10);

    border-radius: 50%;

    left: 50%;

    top: 50%;

    transform: translate(-50%,-50%);

    animation: ctaOrbit 20s linear infinite;

}


.cta-orbit::before {

    content: "";

    position: absolute;

    width: 12px;

    height: 12px;

    border-radius: 50%;

    background: #c00000;

    top: 50px;

    left: 50px;

}


@keyframes ctaOrbit {

    from {
        transform: translate(-50%,-50%) rotate(0deg);
    }

    to {
        transform: translate(-50%,-50%) rotate(360deg);
    }

}


.applications-cta-content {

    position: relative;

    z-index: 2;

    max-width: 800px;

    margin: auto;

}


.applications-cta-content > span {

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 3px;

    color: #c00000;

}


.applications-cta h2 {

    margin: 20px 0;

    font-size: clamp(40px,5vw,68px);

    line-height: 1;

    font-weight: 300;

    color: #111111;

    letter-spacing: -2px;

}


.applications-cta h2 strong {

    font-weight: 800;

    color: #c00000;

}


.applications-cta p {

    max-width: 620px;

    margin: 0 auto 30px;

    color: #666666;

    line-height: 1.8;

}


.applications-cta a {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 16px 25px;

    background: #111111;

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

    transition: .3s;

}


.applications-cta a:hover {

    background: #c00000;

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:1199px) {

    .applications-grid {

        grid-template-columns: repeat(3,1fr);

    }

}


@media (max-width:991px) {

    .applications-hero {

        min-height: 600px;

    }

    .applications-grid {

        grid-template-columns: repeat(2,1fr);

    }

    .applications-intro {

        padding-top: 80px;

    }

}


@media (max-width:575px) {

    .applications-hero {

        min-height: 620px;

    }

    .applications-hero-content {

        padding: 70px 0;

    }

    .applications-hero h1 {

        font-size: 48px;

        letter-spacing: -2px;

    }

    .applications-hero p {

        font-size: 15px;

    }

    .application-hero-bottom {

        gap: 25px;

        align-items: flex-start;

        flex-direction: column;

    }

    .applications-grid {

        grid-template-columns: 1fr;

    }

    .application-card {

        min-height: 350px;

    }

    .applications-intro {

        padding: 75px 0 45px;

    }

    .applications-grid-section {

        padding-bottom: 80px;

    }

    .application-engineering {

        padding: 80px 0;

    }

    .applications-cta {

        padding: 80px 20px;

    }

}

/* =====================================================
   APPLICATION DETAIL HERO
===================================================== */

.application-detail-hero {
    min-height: 650px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #050505;
    color: #fff;
}


/* =====================================================
   ANIMATED BACKGROUND
===================================================== */

.detail-animated-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 78% 50%,
            rgba(210, 0, 0, .16),
            transparent 30%
        );
}


/* Moving Lines */

.detail-grid-line {
    position: absolute;
    width: 160%;
    height: 1px;
    left: -30%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.08),
        rgba(210,0,0,.6),
        rgba(255,255,255,.08),
        transparent
    );

    transform: rotate(-20deg);

    animation: detailLineMove 8s linear infinite;
}

.line-1 {
    top: 20%;
}

.line-2 {
    top: 50%;
    animation-delay: -3s;
}

.line-3 {
    top: 80%;
    animation-delay: -6s;
}

@keyframes detailLineMove {

    0% {
        transform: translateX(-25%) rotate(-20deg);
        opacity: .2;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateX(25%) rotate(-20deg);
        opacity: .2;
    }
}


/* =====================================================
   ANIMATED RINGS
===================================================== */

.detail-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(210,0,0,.35);

    animation: ringRotate 18s linear infinite;
}

.detail-ring::before {
    content: "";
    position: absolute;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 10px #d00000,
        0 0 25px rgba(210,0,0,.7);

    top: 50%;
    left: -4px;
}

.ring-1 {
    width: 500px;
    height: 500px;

    right: -120px;
    top: 70px;
}

.ring-2 {
    width: 700px;
    height: 700px;

    right: -220px;
    top: -30px;

    border-color: rgba(255,255,255,.08);

    animation-duration: 28s;
    animation-direction: reverse;
}

@keyframes ringRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =====================================================
   RED GLOW
===================================================== */

.detail-red-glow {
    position: absolute;

    width: 350px;
    height: 350px;

    right: 20%;
    top: 25%;

    border-radius: 50%;

    background: #d00000;

    opacity: .08;

    filter: blur(100px);

    animation: redGlow 5s ease-in-out infinite;
}

@keyframes redGlow {

    0%,
    100% {
        transform: scale(.75);
        opacity: .04;
    }

    50% {
        transform: scale(1.2);
        opacity: .13;
    }
}


/* =====================================================
   PARTICLES
===================================================== */

.detail-particle {
    position: absolute;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 8px #d00000,
        0 0 20px rgba(210,0,0,.7);

    animation: particleFloat 6s ease-in-out infinite;
}

.p-1 {
    left: 15%;
    top: 25%;
}

.p-2 {
    left: 40%;
    top: 70%;
    animation-delay: -2s;
}

.p-3 {
    right: 30%;
    top: 20%;
    animation-delay: -4s;
}

.p-4 {
    right: 12%;
    bottom: 20%;
    animation-delay: -1s;
}

@keyframes particleFloat {

    0%,
    100% {
        transform: translateY(0);
        opacity: .2;
    }

    50% {
        transform: translateY(-35px);
        opacity: 1;
    }
}


/* =====================================================
   HERO CONTENT
===================================================== */

.detail-hero-content {
    position: relative;
    z-index: 5;

    max-width: 850px;

    padding: 110px 0;
}


/* Label */

.detail-label {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 25px;

    color: #d00000;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 3px;
}

.detail-label span {
    width: 42px;
    height: 2px;

    background: #d00000;
}


/* Title */

.detail-hero-content h1 {
    margin: 0;

    font-size: clamp(48px, 7vw, 88px);

    line-height: .95;

    font-weight: 300;

    letter-spacing: -4px;

    color: #ffffff;
}

.detail-hero-content h1 strong {
    display: block;

    color: #d00000;

    font-weight: 800;
}


/* Description */

.detail-hero-content > p {
    max-width: 680px;

    margin: 30px 0;

    color: rgba(255,255,255,.62);

    font-size: 16px;

    line-height: 1.85;
}


/* Breadcrumb */

.detail-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 40px;

    font-size: 12px;
}

.detail-breadcrumb a {
    color: #fff;
    text-decoration: none;

    transition: .3s;
}

.detail-breadcrumb a:hover {
    color: #d00000;
}

.detail-breadcrumb i {
    color: #d00000;
    font-size: 10px;
}

.detail-breadcrumb span {
    color: rgba(255,255,255,.4);
}


/* =====================================================
   HERO BOTTOM LINE
===================================================== */

.detail-hero-line {
    position: absolute;

    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #fff,
        #d00000,
        #fff,
        transparent
    );

    background-size: 300% 100%;

    animation: bottomLine 4s linear infinite;
}

@keyframes bottomLine {

    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 300% 50%;
    }
}


/* =====================================================
   CONTENT SECTION
===================================================== */

.application-detail-content {
    padding: 110px 0;

    background: #ffffff;

    color: #111;
}


/* =====================================================
   MAIN CONTENT
===================================================== */

.application-detail-content .content-label {
    display: block;

    margin-bottom: 18px;

    color: #d00000;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;
}

.application-detail-content h2 {
    max-width: 850px;

    margin-bottom: 30px;

    font-size: clamp(38px, 5vw, 62px);

    line-height: 1.05;

    font-weight: 300;

    letter-spacing: -2px;

    color: #111;
}

.application-detail-content h3 {
    margin-top: 65px;

    margin-bottom: 20px;

    font-size: 30px;

    font-weight: 800;

    color: #111;
}

.application-detail-content p {
    max-width: 850px;

    color: #666;

    font-size: 15px;

    line-height: 1.9;

    margin-bottom: 20px;
}


/* =====================================================
   SIMPLE CONTENT LIST
===================================================== */

.application-content-list {
    margin-top: 30px;

    border-top: 1px solid #ddd;
}

.application-content-list div {
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 18px 0;

    border-bottom: 1px solid #ddd;
}

.application-content-list i {
    color: #d00000;

    font-size: 18px;
}

.application-content-list span {
    color: #333;

    font-size: 14px;

    font-weight: 500;
}


/* =====================================================
   SIDEBAR
===================================================== */

.application-sidebar {
    position: sticky;

    top: 120px;

    padding: 35px;

    background: #111;

    color: #fff;

    overflow: hidden;
}

.application-sidebar::before {
    content: "";

    position: absolute;

    width: 200px;
    height: 200px;

    right: -100px;
    top: -100px;

    border: 1px solid rgba(210,0,0,.35);

    border-radius: 50%;

    animation: sidebarRotate 12s linear infinite;
}

@keyframes sidebarRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.application-sidebar > span {
    display: block;

    margin-bottom: 15px;

    color: #d00000;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;
}

.application-sidebar h3 {
    margin: 0 0 35px;

    color: #fff;

    font-size: 30px;

    line-height: 1.15;

    font-weight: 800;
}


/* Sidebar Details */

.sidebar-item {
    padding: 18px 0;

    border-top: 1px solid rgba(255,255,255,.12);
}

.sidebar-item small {
    display: block;

    margin-bottom: 7px;

    color: rgba(255,255,255,.4);

    font-size: 9px;

    letter-spacing: 2px;
}

.sidebar-item strong {
    color: #fff;

    font-size: 14px;

    font-weight: 600;
}


/* Sidebar Button */

.application-sidebar > a {
    position: relative;
    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 25px;

    padding: 16px 18px;

    background: #d00000;

    color: #fff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition: .3s;
}

.application-sidebar > a:hover {
    background: #fff;

    color: #111;
}

.application-sidebar > a i {
    transition: .3s;
}

.application-sidebar > a:hover i {
    transform: rotate(45deg);
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 991px) {

    .application-detail-hero {
        min-height: 600px;
    }

    .detail-hero-content {
        padding: 90px 0;
    }

    .ring-1 {
        right: -270px;
    }

    .ring-2 {
        right: -370px;
    }

    .application-detail-content {
        padding: 80px 0;
    }

    .application-sidebar {
        position: relative;

        top: auto;

        margin-top: 30px;
    }
}


@media (max-width: 575px) {

    .application-detail-hero {
        min-height: 620px;
    }

    .detail-hero-content {
        padding: 70px 0;
    }

    .detail-hero-content h1 {
        font-size: 46px;

        letter-spacing: -2px;
    }

    .detail-hero-content > p {
        font-size: 14px;
    }

    .detail-label {
        font-size: 10px;

        letter-spacing: 2px;
    }

    .detail-breadcrumb {
        gap: 8px;

        font-size: 10px;
    }

    .application-detail-content {
        padding: 70px 0;
    }

    .application-detail-content h2 {
        font-size: 38px;
    }

    .application-detail-content h3 {
        margin-top: 45px;

        font-size: 27px;
    }

    .application-sidebar {
        padding: 28px;
    }

    .application-sidebar h3 {
        font-size: 26px;
    }

}

/* =====================================================
   CONTACT HERO
===================================================== */

.contact-page-hero {

    min-height: 620px;

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: center;

    background: #050505;

    color: #fff;

}


/* =====================================================
   ANIMATED BACKGROUND
===================================================== */

.contact-hero-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 50%,
            rgba(210,0,0,.15),
            transparent 32%
        );

}


/* Moving Lines */

.contact-grid-line {

    position: absolute;

    width: 160%;

    height: 1px;

    left: -30%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.08),
        rgba(210,0,0,.55),
        rgba(255,255,255,.08),
        transparent
    );

    transform: rotate(-20deg);

    animation: contactLineMove 8s linear infinite;

}

.contact-line-1 {
    top: 20%;
}

.contact-line-2 {
    top: 50%;
    animation-delay: -3s;
}

.contact-line-3 {
    top: 80%;
    animation-delay: -6s;
}


@keyframes contactLineMove {

    0% {
        transform: translateX(-25%) rotate(-20deg);
        opacity: .2;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateX(25%) rotate(-20deg);
        opacity: .2;
    }

}


/* =====================================================
   RINGS
===================================================== */

.contact-ring {

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(210,0,0,.35);

    animation: contactRingRotate 18s linear infinite;

}

.contact-ring::before {

    content: "";

    position: absolute;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 10px #d00000,
        0 0 25px rgba(210,0,0,.7);

    top: 50%;
    left: -4px;

}

.contact-ring-1 {

    width: 500px;
    height: 500px;

    right: -120px;
    top: 60px;

}

.contact-ring-2 {

    width: 700px;
    height: 700px;

    right: -220px;
    top: -40px;

    border-color: rgba(255,255,255,.07);

    animation-duration: 28s;

    animation-direction: reverse;

}


@keyframes contactRingRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* =====================================================
   PARTICLES
===================================================== */

.contact-particle {

    position: absolute;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 8px #d00000,
        0 0 20px rgba(210,0,0,.7);

    animation: contactParticleFloat 6s ease-in-out infinite;

}

.contact-particle-1 {
    left: 15%;
    top: 25%;
}

.contact-particle-2 {
    left: 40%;
    top: 70%;
    animation-delay: -2s;
}

.contact-particle-3 {
    right: 30%;
    top: 20%;
    animation-delay: -4s;
}

.contact-particle-4 {
    right: 12%;
    bottom: 20%;
    animation-delay: -1s;
}


@keyframes contactParticleFloat {

    0%,
    100% {
        transform: translateY(0);
        opacity: .2;
    }

    50% {
        transform: translateY(-35px);
        opacity: 1;
    }

}


/* =====================================================
   RED GLOW
===================================================== */

.contact-red-glow {

    position: absolute;

    width: 350px;
    height: 350px;

    right: 20%;
    top: 25%;

    border-radius: 50%;

    background: #d00000;

    opacity: .08;

    filter: blur(100px);

    animation: contactGlow 5s ease-in-out infinite;

}


@keyframes contactGlow {

    0%,
    100% {
        transform: scale(.75);
        opacity: .04;
    }

    50% {
        transform: scale(1.2);
        opacity: .13;
    }

}


/* =====================================================
   HERO CONTENT
===================================================== */

.contact-hero-content {

    position: relative;

    z-index: 5;

    max-width: 850px;

    padding: 110px 0;

}


.contact-eyebrow {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 25px;

    color: #d00000;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-eyebrow span {

    width: 42px;

    height: 2px;

    background: #d00000;

}


.contact-hero-content h1 {

    margin: 0;

    font-size: clamp(50px, 7vw, 88px);

    line-height: .95;

    font-weight: 300;

    letter-spacing: -4px;

}


.contact-hero-content h1 strong {

    display: block;

    color: #d00000;

    font-weight: 800;

}


.contact-hero-content > p {

    max-width: 680px;

    margin: 30px 0;

    color: rgba(255,255,255,.62);

    font-size: 16px;

    line-height: 1.85;

}


/* Breadcrumb */

.contact-breadcrumb {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 40px;

    font-size: 12px;

}


.contact-breadcrumb a {

    color: #fff;

    text-decoration: none;

}

.contact-breadcrumb a:hover {

    color: #d00000;

}

.contact-breadcrumb i {

    color: #d00000;

    font-size: 10px;

}

.contact-breadcrumb span {

    color: rgba(255,255,255,.4);

}


/* Hero Line */

.contact-hero-line {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #fff,
        #d00000,
        #fff,
        transparent
    );

    background-size: 300% 100%;

    animation: contactBottomLine 4s linear infinite;

}


@keyframes contactBottomLine {

    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 300% 50%;
    }

}


/* =====================================================
   CONTACT MAIN SECTION
===================================================== */

.contact-main-section {

    padding: 110px 0;

    background: #fff;

}


/* =====================================================
   INTRO
===================================================== */

.contact-section-label {

    display: block;

    margin-bottom: 18px;

    color: #d00000;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-intro h2 {

    margin-bottom: 25px;

    font-size: clamp(42px, 5vw, 62px);

    line-height: 1;

    font-weight: 300;

    letter-spacing: -2px;

    color: #111;

}


.contact-intro > p {

    color: #666;

    font-size: 15px;

    line-height: 1.9;

    max-width: 500px;

}


/* =====================================================
   CONTACT DETAILS
===================================================== */

.contact-details {

    margin-top: 45px;

}


.contact-detail-item {

    display: flex;

    gap: 18px;

    padding: 22px 0;

    border-top: 1px solid #ddd;

}


.contact-detail-icon {

    width: 50px;

    height: 50px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #111;

    color: #fff;

    font-size: 19px;

    transition: .3s;

}


.contact-detail-item:hover .contact-detail-icon {

    background: #d00000;

}


.contact-detail-item small {

    display: block;

    margin-bottom: 5px;

    color: #d00000;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

}


.contact-detail-item h4 {

    margin: 0;

    color: #111;

    font-size: 16px;

    font-weight: 700;

}


.contact-detail-item h4 a {

    color: #111;

    text-decoration: none;

}


.contact-detail-item h4 a:hover {

    color: #d00000;

}


.contact-detail-item p {

    margin: 4px 0 0;

    color: #777;

    font-size: 12px;

}


/* =====================================================
   CONTACT FORM
===================================================== */

.contact-form-wrapper {

    padding: 45px;

    background: #f5f5f5;

    border: 1px solid #e5e5e5;

}


.contact-form-heading span {

    color: #d00000;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-form-heading h3 {

    margin: 10px 0;

    color: #111;

    font-size: 38px;

    font-weight: 800;

}


.contact-form-heading p {

    margin-bottom: 35px;

    color: #777;

    font-size: 14px;

}


/* Input */

.contact-input-group label {

    display: block;

    margin-bottom: 9px;

    color: #222;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .5px;

}


.contact-input-group input,
.contact-input-group select,
.contact-input-group textarea {

    width: 100%;

    padding: 15px 16px;

    border: 1px solid #ddd;

    outline: none;

    background: #fff;

    color: #111;

    font-family: inherit;

    font-size: 13px;

    transition: .3s;

}


.contact-input-group textarea {

    resize: vertical;

}


.contact-input-group input:focus,
.contact-input-group select:focus,
.contact-input-group textarea:focus {

    border-color: #d00000;

    box-shadow: 0 0 0 2px rgba(208,0,0,.06);

}


/* Submit */

.contact-submit-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 25px;

    min-width: 190px;

    padding: 16px 22px;

    border: 0;

    background: #d00000;

    color: #fff;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition: .3s;

}


.contact-submit-btn:hover {

    background: #111;

}


.contact-submit-btn i {

    transition: .3s;

}


.contact-submit-btn:hover i {

    transform: rotate(45deg);

}


/* =====================================================
   BOTTOM FEATURES
===================================================== */

.contact-bottom-section {

    padding: 100px 0;

    background: #f5f5f5;

}


.contact-bottom-heading {

    max-width: 750px;

    margin-bottom: 55px;

}


.contact-bottom-heading > span {

    color: #d00000;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-bottom-heading h2 {

    margin-top: 15px;

    color: #111;

    font-size: clamp(35px, 5vw, 55px);

    line-height: 1.05;

    font-weight: 300;

    letter-spacing: -2px;

}


/* Feature */

.contact-feature {

    height: 100%;

    padding: 35px;

    background: #fff;

    border: 1px solid #e5e5e5;

    transition: .35s;

}


.contact-feature:hover {

    transform: translateY(-7px);

    border-color: #d00000;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

}


.contact-feature i {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 55px;

    height: 55px;

    margin-bottom: 25px;

    background: #111;

    color: #fff;

    font-size: 22px;

    transition: .3s;

}


.contact-feature:hover i {

    background: #d00000;

}


.contact-feature h3 {

    margin-bottom: 12px;

    color: #111;

    font-size: 20px;

    font-weight: 800;

}


.contact-feature p {

    margin: 0;

    color: #666;

    font-size: 13px;

    line-height: 1.8;

}


/* =====================================================
   MAP
===================================================== */

.contact-map-section {

    padding: 0 0 100px;

    background: #f5f5f5;

}


.contact-map-wrapper {

    overflow: hidden;

    background: #111;

}


.contact-map-wrapper iframe {

    display: block;

    filter: grayscale(100%);

    transition: .5s;

}


.contact-map-wrapper:hover iframe {

    filter: grayscale(0%);

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 991px) {

    .contact-page-hero {

        min-height: 580px;

    }

    .contact-hero-content {

        padding: 90px 0;

    }

    .contact-ring-1 {

        right: -270px;

    }

    .contact-ring-2 {

        right: -370px;

    }

    .contact-form-wrapper {

        margin-top: 20px;

    }

}


@media (max-width: 575px) {

    .contact-page-hero {

        min-height: 600px;

    }

    .contact-hero-content {

        padding: 70px 0;

    }

    .contact-hero-content h1 {

        font-size: 46px;

        letter-spacing: -2px;

    }

    .contact-hero-content > p {

        font-size: 14px;

    }

    .contact-main-section {

        padding: 70px 0;

    }

    .contact-form-wrapper {

        padding: 25px;

    }

    .contact-form-heading h3 {

        font-size: 30px;

    }

    .contact-bottom-section {

        padding: 70px 0;

    }

}

/* =====================================================
   CONTACT HERO
===================================================== */

.contact-page-hero {

    min-height: 620px;

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: center;

    background: #050505;

    color: #fff;

}


/* =====================================================
   BACKGROUND
===================================================== */

.contact-hero-bg {

    position: absolute;

    inset: 0;

    overflow: hidden;

}


/* Background Image */

.contact-bg-image {

    position: absolute;

    inset: 0;

    background-image: url("../assets/images/contact-bg.webp");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    transform: scale(1.05);

    animation: contactImageZoom 12s ease-in-out infinite alternate;

}


@keyframes contactImageZoom {

    0% {

        transform: scale(1.05);

    }

    100% {

        transform: scale(1.12);

    }

}


/* =====================================================
   DARK OVERLAY
===================================================== */

.contact-bg-overlay {

    position: absolute;

    inset: 0;

    background:

       linear-gradient(90deg, rgb(0 0 0 / 55%) 0%, rgb(0 0 0 / 0%) 38%, rgb(0 0 0 / 0%) 70%, rgb(0 0 0 / 0%) 100%);

}


/* Red Overlay */

.contact-bg-overlay::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            120deg,
            transparent 55%,
            rgba(190,0,0,.18),
            transparent 75%
        );

    animation: redSweep 7s ease-in-out infinite;

}


@keyframes redSweep {

    0% {

        transform: translateX(-30%);

        opacity: 0;

    }

    50% {

        opacity: 1;

    }

    100% {

        transform: translateX(30%);

        opacity: 0;

    }

}


/* =====================================================
   RED PARTICLES
===================================================== */

.contact-red-particle {

    position: absolute;

    width: 4px;

    height: 4px;

    border-radius: 50%;

    background: #d00000;

    box-shadow:
        0 0 8px #d00000,
        0 0 20px rgba(208,0,0,.7);

    z-index: 2;

    animation: contactParticleFloat 6s ease-in-out infinite;

}


.contact-red-particle.particle-1 {

    top: 25%;

    right: 25%;

}


.contact-red-particle.particle-2 {

    top: 65%;

    right: 40%;

    animation-delay: -2s;

}


.contact-red-particle.particle-3 {

    top: 35%;

    right: 12%;

    animation-delay: -4s;

}


@keyframes contactParticleFloat {

    0%,
    100% {

        transform: translateY(0);

        opacity: .2;

    }

    50% {

        transform: translateY(-30px);

        opacity: 1;

    }

}


/* =====================================================
   RED GLOW
===================================================== */

.contact-red-glow {

    position: absolute;

    width: 400px;

    height: 400px;

    right: 5%;

    top: 15%;

    border-radius: 50%;

    background: #d00000;

    filter: blur(120px);

    opacity: .08;

    animation: contactGlow 6s ease-in-out infinite;

}


@keyframes contactGlow {

    0%,
    100% {

        transform: scale(.8);

        opacity: .04;

    }

    50% {

        transform: scale(1.15);

        opacity: .12;

    }

}


/* =====================================================
   HERO CONTENT
===================================================== */

.contact-hero-content {

    position: relative;

    z-index: 5;

    max-width: 850px;

    padding: 110px 0;

}


.contact-eyebrow {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 25px;

    color: #d00000;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-eyebrow span {

    width: 45px;

    height: 2px;

    background: #d00000;

}


.contact-hero-content h1 {

    margin: 0;

    font-size: clamp(50px, 7vw, 88px);

    line-height: .95;

    font-weight: 300;

    letter-spacing: -4px;

}


.contact-hero-content h1 strong {

    display: block;

    color: #d00000;

    font-weight: 800;

}


.contact-hero-content > p {

    max-width: 650px;

    margin: 30px 0;

    color: rgba(255,255,255,.72);

    font-size: 16px;

    line-height: 1.85;

}


/* =====================================================
   BREADCRUMB
===================================================== */

.contact-breadcrumb {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 40px;

    font-size: 12px;

}


.contact-breadcrumb a {

    color: #fff;

    text-decoration: none;

    transition: .3s;

}


.contact-breadcrumb a:hover {

    color: #d00000;

}


.contact-breadcrumb i {

    color: #d00000;

    font-size: 10px;

}


.contact-breadcrumb span {

    color: rgba(255,255,255,.45);

}


/* =====================================================
   BOTTOM LINE
===================================================== */

.contact-hero-line {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #fff,
        #d00000,
        #fff,
        transparent
    );

    background-size: 300% 100%;

    animation: contactBottomLine 4s linear infinite;

}


@keyframes contactBottomLine {

    0% {

        background-position: 0% 50%;

    }

    100% {

        background-position: 300% 50%;

    }

}



/* Full-width content from Applications onward — existing design preserved */
        @media (min-width: 992px) {
            .product-main-content .full-width-from-applications {
                width: 150%;
                max-width: 150%;
            }
        }

        @media (max-width: 991.98px) {
            .product-main-content .full-width-from-applications {
                width: 100%;
                max-width: 100%;
            }
        }




/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .contact-page-hero {

        min-height: 600px;

    }


    .contact-bg-image {

        background-position: 65% center;

    }


    .contact-bg-overlay {

        background:

           linear-gradient(90deg, rgb(0 0 0 / 20%), rgb(0 0 0 / 27%));

    }


    .contact-hero-content {

        padding: 80px 0;

    }


    .contact-hero-content h1 {

        font-size: 46px;

        letter-spacing: -2px;

    }


    .contact-hero-content > p {

        font-size: 14px;

    }

}

/* =====================================================
   CONTACT MOBILE OVERFLOW FIX
===================================================== */

.contact-page-hero {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.contact-hero-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    max-width: 100%;
}

.contact-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.contact-red-glow {
    pointer-events: none;
}

.contact-red-particle {
    pointer-events: none;
}


/* Mobile */

@media (max-width: 767px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .contact-page-hero {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .contact-hero-image {
        width: 100%;
        max-width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .contact-hero-content {
        width: 100%;
        max-width: 100%;
    }

}
.contact-map-section {
    width: 100%;
    padding: 60px 0;
    background: #fff;
}

.contact-map-wrapper {
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #f5f5f5;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.map-link {
    display: block;
    width: 100%;
    line-height: 0;
    text-decoration: none;
}

.map-link iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
}
/* =========================================================
   APPLICATIONS GRID
========================================================= */

.applications-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}


/* =========================================================
   APPLICATION CARD
========================================================= */

.application-card-custom {
    position: relative;
    min-height: 360px;

    display: flex;
    flex-direction: column;

    overflow: hidden;
    isolation: isolate;

    border-radius: 18px;

    color: #fff;
    text-decoration: none;

    background: #111;

    padding: 28px;

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}


/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.application-bg-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: -3;

    transition:
        transform .7s ease;
}


/* =========================================================
   DARK OVERLAY
========================================================= */

.application-overlay {
    position: absolute;
    inset: 0;

    z-index: -2;

    background:
       linear-gradient(180deg, rgba(0, 0, 0, .28) 0%, rgb(0 0 0 / 0%) 45%, rgb(0 0 0 / 2%) 100%)

    transition:
        background .45s ease;
}


/* =========================================================
   HOVER
========================================================= */

.application-card-custom:hover {
    transform: translateY(-8px);

    box-shadow:
        0 20px 45px rgba(0, 0, 0, .22);
}

.application-card-custom:hover .application-bg-image {
    transform: scale(1.08);
}

.application-card-custom:hover .application-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .20) 0%,
            rgba(0, 0, 0, .45) 40%,
            rgba(0, 0, 0, .90) 100%
        );
}


/* =========================================================
   NUMBER
========================================================= */

.application-card-number {
    position: relative;
    z-index: 2;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 2px;

    opacity: .85;
}


/* =========================================================
   ICON
========================================================= */

.application-card-icon {
    position: relative;
    z-index: 2;

    width: 58px;
    height: 58px;

    margin-top: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 14px;

    background: rgba(255,255,255,.10);

    backdrop-filter: blur(8px);

    font-size: 25px;

    transition:
        background .35s ease,
        transform .35s ease;
}

.application-card-custom:hover .application-card-icon {
    background: rgba(255,255,255,.20);
    transform: translateY(-4px);
}


/* =========================================================
   CONTENT
========================================================= */

.application-card-content {
    position: relative;
    z-index: 2;

    margin-top: auto;
}

.application-card-content span {
    display: block;

    margin-bottom: 8px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;

    opacity: .78;
}

.application-card-content h3 {
    margin: 0;

    color: #fff;

    font-size: 25px;
    line-height: 1.15;

    font-weight: 700;
}


/* =========================================================
   ARROW
========================================================= */

.application-card-arrow {
    position: absolute;

    right: 25px;
    bottom: 25px;

    z-index: 3;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 50%;

    background: rgba(255,255,255,.10);

    backdrop-filter: blur(8px);

    font-size: 17px;

    transition:
        background .35s ease,
        transform .35s ease;
}

.application-card-custom:hover .application-card-arrow {
    background: #fff;
    color: #111;

    transform: rotate(45deg);
}

/* =========================================================
   GALLERY GRID - 3 CARDS PER ROW
========================================================= */

.pt-gallery-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;

    width: 100%;
}


/* =========================================================
   GALLERY CARD
========================================================= */

.pt-gallery-item {
    position: relative;

    width: 100%;
    height: 320px;

    overflow: hidden;

    border-radius: 14px;

    background: #111;

    cursor: pointer;

    isolation: isolate;
}


/* Remove large / tall sizing */

.pt-gallery-item.large,
.pt-gallery-item.tall {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE
========================================================= */

.pt-gallery-item img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .6s ease;
}


/* =========================================================
   OVERLAY
========================================================= */

.pt-gallery-overlay {
    position: absolute;

    inset: 0;

    z-index: 2;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 15px;

    padding: 24px;

    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, .88) 0%,
            rgba(0, 0, 0, .45) 42%,
            rgba(0, 0, 0, 0) 75%
        );

    opacity: 0;

    transition: opacity .35s ease;
}


/* =========================================================
   HOVER
========================================================= */

.pt-gallery-item:hover img {
    transform: scale(1.07);
}

.pt-gallery-item:hover .pt-gallery-overlay {
    opacity: 1;
}


/* =========================================================
   TITLE
========================================================= */

.pt-gallery-overlay h3 {
    margin: 0;

    color: #fff;

    font-size: 20px;

    line-height: 1.25;

    font-weight: 600;

    transform: translateY(10px);

    transition: transform .35s ease;
}

.pt-gallery-item:hover .pt-gallery-overlay h3 {
    transform: translateY(0);
}


/* =========================================================
   ARROW
========================================================= */

.pt-gallery-arrow {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.45);

    border-radius: 50%;

    background: rgba(255,255,255,.10);

    backdrop-filter: blur(8px);

    color: #fff;

    font-size: 16px;

    transform: translateY(10px);

    transition:
        all .35s ease;
}

.pt-gallery-item:hover .pt-gallery-arrow {
    transform:
        translateY(0)
        rotate(45deg);

    background: #e3262e;

    border-color: #e3262e;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .pt-gallery-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 18px;
    }

    .pt-gallery-item {
        height: 300px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .pt-gallery-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .pt-gallery-item {
        height: 280px;

        border-radius: 12px;
    }

    .pt-gallery-overlay {
        opacity: 1;

        padding: 20px;
    }

    .pt-gallery-overlay h3 {
        font-size: 18px;

        transform: translateY(0);
    }

    .pt-gallery-arrow {
        width: 40px;
        height: 40px;

        transform: translateY(0);
    }

}

/* =========================================================
   GALLERY SECTION
========================================================= */

.pt-gallery-section {
    padding: 70px 0 90px;
    background: #fff;
}


/* =========================================================
   GALLERY GRID
========================================================= */

.pt-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    width: 100%;
}


/* =========================================================
   GALLERY ITEM
========================================================= */

.pt-gallery-item {
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 14px;
    background: #111;
    cursor: pointer;
    isolation: isolate;
}


/* Remove large / tall effect */

.pt-gallery-item.large,
.pt-gallery-item.tall {
    grid-column: auto;
    grid-row: auto;
}


/* IMAGE */

.pt-gallery-item img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;

    transition: transform .6s ease;
}


/* =========================================================
   OVERLAY
========================================================= */

.pt-gallery-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 15px;
    padding: 24px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.45) 42%,
        rgba(0,0,0,0) 75%
    );

    opacity: 0;

    transition: opacity .35s ease;
}


/* TITLE */

.pt-gallery-overlay h3 {
    margin: 0;

    color: #fff;

    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;

    transform: translateY(10px);

    transition: transform .35s ease;
}


/* =========================================================
   ARROW
========================================================= */

.pt-gallery-arrow {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;

    background: rgba(255,255,255,.10);

    backdrop-filter: blur(8px);

    color: #fff;
    font-size: 16px;

    transform: translateY(10px);

    transition: all .35s ease;
}


/* =========================================================
   HOVER
========================================================= */

.pt-gallery-item:hover img {
    transform: scale(1.07);
}

.pt-gallery-item:hover .pt-gallery-overlay {
    opacity: 1;
}

.pt-gallery-item:hover .pt-gallery-overlay h3 {
    transform: translateY(0);
}

.pt-gallery-item:hover .pt-gallery-arrow {
    transform: translateY(0) rotate(45deg);

    background: #e3262e;
    border-color: #e3262e;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .pt-gallery-section {
        padding: 60px 0 70px;
    }

    .pt-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .pt-gallery-item {
        height: 300px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .pt-gallery-section {
        padding: 45px 15px 60px;
    }

    .pt-gallery-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pt-gallery-item {
        height: 280px;
        border-radius: 12px;
    }

    .pt-gallery-overlay {
        opacity: 1;
        padding: 20px;
    }

    .pt-gallery-overlay h3 {
        font-size: 18px;
        transform: translateY(0);
    }

    .pt-gallery-arrow {
        width: 40px;
        height: 40px;
        transform: translateY(0);
    }
}

/* =========================================================
   GALLERY IMAGE LIGHTBOX
========================================================= */

.pt-lightbox {
    position: fixed;
    inset: 0;

    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 40px;

    background: rgba(0, 0, 0, 0.92);
}

.pt-lightbox.active {
    display: flex;
}


/* IMAGE WRAPPER */

.pt-lightbox-content {
    position: relative;

    width: 100%;
    max-width: 1296px;

    height: 530px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #000;

    border-radius: 8px;

    overflow: hidden;

    box-shadow: 0 25px 80px rgba(0, 0, 0, .5);
}


/* FULL IMAGE */

.pt-lightbox-content img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}


/* CLOSE BUTTON */

.pt-lightbox-close {
    position: absolute;

    top: 18px;
    right: 18px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

    background: rgba(0,0,0,.65);

    color: #fff;

    font-size: 22px;

    cursor: pointer;

    z-index: 5;

    transition: .3s ease;
}

.pt-lightbox-close:hover {
    background: #e3262e;
    border-color: #e3262e;
    transform: rotate(90deg);
}


/* PREVIOUS / NEXT */

.pt-lightbox-prev,
.pt-lightbox-next {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;

    background: rgba(0,0,0,.65);

    color: #fff;

    font-size: 20px;

    cursor: pointer;

    z-index: 5;

    transition: .3s ease;
}

.pt-lightbox-prev {
    left: 20px;
}

.pt-lightbox-next {
    right: 20px;
}

.pt-lightbox-prev:hover,
.pt-lightbox-next:hover {
    background: #e3262e;
    border-color: #e3262e;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1390px) {

    .pt-lightbox {
        padding: 30px;
    }

    .pt-lightbox-content {
        max-width: 100%;
        height: 530px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .pt-lightbox {
        padding: 20px;
    }

    .pt-lightbox-content {
        height: auto;
        max-height: 75vh;

        aspect-ratio: 16 / 9;
    }

    .pt-lightbox-content img {
        object-fit: contain;
    }

    .pt-lightbox-close {
        top: 10px;
        right: 10px;

        width: 38px;
        height: 38px;

        font-size: 18px;
    }

    .pt-lightbox-prev,
    .pt-lightbox-next {
        width: 38px;
        height: 38px;

        font-size: 16px;
    }

    .pt-lightbox-prev {
        left: 8px;
    }

    .pt-lightbox-next {
        right: 8px;
    }
}

/* =========================================================
   GLOBAL PRESENCE
========================================================= */

.global-presence-section {
    position: relative;

    padding: 110px 0 100px;

    background: #fffbfb;

    overflow: hidden;
}


/* subtle background */

.global-presence-section::before {
    content: "";

    position: absolute;
    top: -250px;
    right: -200px;

    width: 600px;
    height: 600px;

    background: radial-gradient(
        circle,
        rgba(227, 38, 46, .12),
        transparent 70%
    );

    pointer-events: none;
}


/* =========================================================
   HEADING
========================================================= */

.global-presence-heading {
    position: relative;

    max-width: 700px;

    margin-bottom: 55px;
}

.global-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 18px;

    color: #e3262e;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.global-eyebrow span {
    width: 35px;
    height: 2px;

    background: #e3262e;
}


.global-presence-heading h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(40px, 5vw, 72px);

    line-height: 1;

    font-weight: 700;

    letter-spacing: -2px;
}

.global-presence-heading h2 strong {
    display: block;

    color: #e3262e;
}


.global-presence-heading p {
    max-width: 650px;

    margin: 25px 0 0;

    color: rgba(255,255,255,.58);

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================================
   MAP
========================================================= */

.global-map-wrapper {
    position: relative;

    width: 100%;

    min-height: 560px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 20px;

    background:
       radial-gradient(circle at 70% 50%, rgb(227 38 46 / 16%), #00000000 35%), #0d0d0df2;

    overflow: hidden;
}


/* MAP IMAGE */

.global-world-map {
    position: absolute;

    left: 3%;
    top: 5%;

    width: 94%;
    height: 90%;

    object-fit: contain;

    opacity: .30;

    filter:
        grayscale(1)
        brightness(.8)
        contrast(1.2);
}


/* =========================================================
   SVG ROUTES
========================================================= */

.global-routes {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;

    z-index: 3;
}


.global-route {
    fill: none;

    stroke: #e3262e;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-dasharray: 8 8;

    opacity: .85;

    animation:
        routeFlow 2.5s linear infinite;
}


@keyframes routeFlow {

    from {
        stroke-dashoffset: 80;
    }

    to {
        stroke-dashoffset: 0;
    }

}


/* =========================================================
   LOCATION DOT
========================================================= */

.global-location {
    position: absolute;

    z-index: 5;

    transform: translate(-50%, -50%);
}


.location-dot {
    position: relative;

    display: block;

    width: 11px;
    height: 11px;

    background: #e3262e;

    border: 2px solid #fff;

    border-radius: 50%;

    box-shadow:
        0 0 0 5px rgba(227,38,46,.15),
        0 0 20px rgba(227,38,46,.7);
}


.location-pulse {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 35px;
    height: 35px;

    transform: translate(-50%, -50%);

    border: 1px solid #e3262e;

    border-radius: 50%;

    animation: locationPulse 2s ease-out infinite;
}


@keyframes locationPulse {

    0% {
        transform: translate(-50%, -50%) scale(.5);
        opacity: .8;
    }

    100% {
        transform: translate(-50%, -50%) scale(1.8);
        opacity: 0;
    }

}


/* =========================================================
   COUNTRY LABEL
========================================================= */

.location-label {
    position: absolute;

    left: 20px;
    top: -12px;

    min-width: 110px;

    padding: 8px 12px;

    background: rgba(10,10,10,.88);

    border-left: 2px solid #e3262e;

    backdrop-filter: blur(10px);

    white-space: nowrap;
}


.location-label strong {
    display: block;

    color: #fff;

    font-size: 12px;

    letter-spacing: 1px;
}


.location-label small {
    display: block;

    margin-top: 2px;

    color: rgba(255,255,255,.45);

    font-size: 9px;
}


/* =========================================================
   COUNTRY CARDS
========================================================= */

.global-country-list {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 12px;

    margin-top: 25px;
}


.global-country-card {
    padding: 20px;

    border: 1px solid rgba(255,255,255,.08);

    background: #101010;

    transition: .3s ease;
}


.global-country-card:hover {
    border-color: rgba(227,38,46,.5);

    transform: translateY(-5px);
}


.global-country-card span {
    display: block;

    margin-bottom: 12px;

    color: #e3262e;

    font-size: 11px;

    font-weight: 700;
}


.global-country-card strong {
    display: block;

    color: #fff;

    font-size: 17px;
}


.global-country-card small {
    display: block;

    margin-top: 5px;

    color: rgba(255,255,255,.4);

    font-size: 11px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .global-presence-section {
        padding: 80px 0;
    }

    .global-map-wrapper {
        min-height: 450px;
    }

    .global-country-list {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .global-presence-section {
        padding: 65px 0;
    }

    .global-presence-heading {
        margin-bottom: 30px;
    }

    .global-presence-heading h2 {
        font-size: 40px;

        letter-spacing: -1px;
    }

    .global-presence-heading p {
        font-size: 14px;
    }

    .global-map-wrapper {
        min-height: 350px;

        border-radius: 14px;
    }

    .global-world-map {
        width: 120%;
        left: -10%;
    }

    .global-route {
        stroke-width: 2.5;
    }

    .location-label {
        left: 14px;

        padding: 6px 8px;

        min-width: auto;
    }

    .location-label strong {
        font-size: 9px;
    }

    .location-label small {
        display: none;
    }

    .global-country-list {
        grid-template-columns: repeat(2, 1fr);

        gap: 10px;
    }

    .global-country-card {
        padding: 15px;
    }

}

/* =========================================================
   GLOBAL PRESENCE - MAP LOCATIONS
   Based on world.svg viewBox="0 0 2000 857"
========================================================= */

.global-location {
    position: absolute;
    z-index: 10;
}


/* ================= INDIA ================= */

.global-india {
    left: 72.5%;
    top: 47%;
}


/* ================= THAILAND ================= */

.global-thailand {
    left: 78%;
    top: 51%;
}


/* ================= SRI LANKA ================= */

.global-srilanka {
    left: 72.3%;
    top: 53%;
}


/* ================= MALAYSIA ================= */

.global-malaysia {
    left: 79%;
    top: 55%;
}


/* ================= ITALY ================= */

.global-italy {
    left: 52%;
    top: 30%;
}


/* ================= GHANA ================= */

.global-ghana {
    left: 49.3%;
    top: 52%;
}

.global-routes {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
    overflow: visible;
}

.global-route {
    fill: none;
    stroke: #ed1c24;
    stroke-width: 2;
    stroke-dasharray: 8 8;
    stroke-linecap: round;
    opacity: 0.95;

    animation: routeFlow 2.5s linear infinite;
}

@keyframes routeFlow {
    from {
        stroke-dashoffset: 32;
    }

    to {
        stroke-dashoffset: 0;
    }
}

.global-location {
    position: absolute;
    z-index: 5;
    transform: translate(-50%, -50%);
}
/* =========================================================
   GLOBAL PRESENCE
========================================================= */

.global-presence-section {
    padding: 70px 0 90px;
    background: #fff;
    overflow: hidden;
}


/* =========================================================
   MAP WRAPPER
========================================================= */

.global-map-wrapper {
    position: relative;
    width: 100%;
    max-width: 1250px;
    height: 540px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 24px;
    background: #171717;
}


/* =========================================================
   WORLD MAP
========================================================= */

.global-world-map {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: contain;

    opacity: 0.78;

    filter:
        brightness(.82)
        contrast(1.05);

    z-index: 1;
}


/* =========================================================
   MAP OVERLAY
========================================================= */

.global-map-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 68% 52%,
            rgba(237, 29, 36, .16),
            transparent 25%
        ),
        linear-gradient(
            90deg,
            rgba(0,0,0,.08),
            rgba(0,0,0,.20)
        );

    pointer-events: none;
    z-index: 2;
}


/* =========================================================
   ROUTES
========================================================= */

.global-routes {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    z-index: 4;

    pointer-events: none;
}


.global-route {
    fill: none;

    stroke: #ed1d24;
    stroke-width: 2;

    stroke-dasharray: 7 7;

    opacity: .85;

    filter:
        drop-shadow(0 0 5px rgba(237,29,36,.35));

    animation: routeFlow 2.8s linear infinite;
}


@keyframes routeFlow {

    from {
        stroke-dashoffset: 30;
    }

    to {
        stroke-dashoffset: 0;
    }

}


/* =========================================================
   LOCATION
========================================================= */

.global-location {
    position: absolute;

    width: 18px;
    height: 18px;

    transform: translate(-50%, -50%);

    z-index: 10;
}


/* =========================================================
   LOCATION DOT
========================================================= */

.location-dot {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 10px;
    height: 10px;

    transform: translate(-50%, -50%);

    background: #ed1d24;

    border: 2px solid #fff;

    border-radius: 50%;

    box-shadow:
        0 0 0 4px rgba(237,29,36,.18),
        0 0 18px rgba(237,29,36,.65);

    z-index: 3;
}


/* =========================================================
   PULSE
========================================================= */

.location-pulse {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 26px;
    height: 26px;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(237,29,36,.6);

    border-radius: 50%;

    animation: locationPulse 2s ease-out infinite;
}


@keyframes locationPulse {

    0% {
        transform: translate(-50%, -50%) scale(.5);
        opacity: .8;
    }

    70% {
        transform: translate(-50%, -50%) scale(1.7);
        opacity: 0;
    }

    100% {
        opacity: 0;
    }

}


/* =========================================================
   LOCATION LABEL
========================================================= */

.location-label {
    position: absolute;

    left: 20px;
    top: 50%;

    transform: translateY(-50%);

    min-width: 110px;

    padding: 9px 14px;

    background: rgba(10,10,10,.94);

    border-left: 3px solid #ed1d24;

    box-shadow:
        0 8px 25px rgba(0,0,0,.25);

    white-space: nowrap;

    z-index: 20;
}


.location-label strong {
    display: block;

    color: #fff;

    font-size: 13px;

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .3px;
}


.location-label small {
    display: block;

    margin-top: 3px;

    color: #aaa;

    font-size: 9px;

    line-height: 1.2;
}


/* =========================================================
   INDIVIDUAL LABEL POSITIONS
========================================================= */


/* India */

.india .location-label {
    left: 22px;
    top: -2px;
}


/* Italy */

.italy .location-label {
    left: 20px;
    top: -12px;
}


/* Saudi Arabia */

.saudi .location-label {
    left: 22px;
    top: -18px;
}


/* Ghana */

.ghana .location-label {
    left: 22px;
    top: 5px;
}


/* Thailand */

.thailand .location-label {
    left: 22px;
    top: -2px;
}


/* Sri Lanka */

.srilanka .location-label {
    left: 22px;
    top: 12px;
}


/* Malaysia */

.malaysia .location-label {
    left: 22px;
    top: 12px;
}


/* =========================================================
   COUNTRY CARDS
========================================================= */

.global-country-list {
    display: grid;

    grid-template-columns: repeat(6, 1fr);

    gap: 16px;

    margin-top: 24px;
}


.global-country-card {
    position: relative;

    min-height: 112px;

    padding: 20px;

    background: #111;

    border: 1px solid rgba(237,29,36,.12);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


.global-country-card:hover {
    transform: translateY(-5px);

    border-color: rgba(237,29,36,.55);

    box-shadow:
        0 15px 35px rgba(0,0,0,.12);
}


.global-country-card span {
    display: block;

    margin-bottom: 15px;

    color: #ed1d24;

    font-size: 11px;

    font-weight: 700;
}


.global-country-card strong {
    display: block;

    color: #fff;

    font-size: 16px;

    line-height: 1.2;
}


.global-country-card small {
    display: block;

    margin-top: 8px;

    color: #888;

    font-size: 10px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .global-presence-section {
        padding: 55px 0 70px;
    }

    .global-map-wrapper {
        height: 450px;
        border-radius: 20px;
    }

    .global-country-list {
        grid-template-columns: repeat(3, 1fr);
    }

    .location-label {
        padding: 7px 10px;
    }

    .location-label strong {
        font-size: 11px;
    }

    .location-label small {
        font-size: 8px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .global-map-wrapper {
        height: 350px;

        border-radius: 16px;
    }

    .global-country-list {
        grid-template-columns: repeat(2, 1fr);

        gap: 12px;
    }

    .global-country-card {
        min-height: 100px;

        padding: 16px;
    }

    .global-country-card strong {
        font-size: 14px;
    }

    .global-route {
        stroke-width: 1.5;
        stroke-dasharray: 5 6;
    }

    .location-label {
        min-width: auto;

        padding: 6px 8px;
    }

    .location-label strong {
        font-size: 9px;
    }

    .location-label small {
        font-size: 7px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .global-map-wrapper {
        height: 270px;
    }

    .global-country-list {
        grid-template-columns: 1fr 1fr;
    }

    .global-country-card {
        min-height: 90px;
        padding: 14px;
    }

    .global-country-card span {
        margin-bottom: 10px;
    }

    .global-country-card strong {
        font-size: 13px;
    }

    .global-country-card small {
        font-size: 9px;
    }

    /* Smaller map labels */

    .location-label {
        padding: 5px 7px;
        border-left-width: 2px;
    }

    .location-label strong {
        font-size: 8px;
    }

    /* Prevent Saudi label from touching India */

    .saudi .location-label {
        left: 16px;
        top: -20px;
    }

    /* India */

    .india .location-label {
        left: 16px;
        top: -4px;
    }

}

/* =========================================================
   CLIENTS HERO
========================================================= */

.clients-hero {
    position: relative;
    min-height: 620px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(237, 29, 36, .13),
            transparent 30%
        ),
        #111;

    color: #fff;
}


.clients-bg {
    position: absolute;
    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


.clients-grid-line {
    position: absolute;

    width: 1px;
    height: 100%;

    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );
}


.clients-grid-line-1 {
    left: 25%;
}

.clients-grid-line-2 {
    left: 50%;
}

.clients-grid-line-3 {
    left: 75%;
}


.clients-ring {
    position: absolute;

    border: 1px solid rgba(237,29,36,.16);

    border-radius: 50%;

    animation: clientsRing 12s linear infinite;
}


.clients-ring-1 {
    width: 550px;
    height: 550px;

    right: -160px;
    top: -100px;
}


.clients-ring-2 {
    width: 350px;
    height: 350px;

    right: 100px;
    bottom: -170px;

    animation-direction: reverse;
}


@keyframes clientsRing {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


.clients-particle {
    position: absolute;

    width: 4px;
    height: 4px;

    background: #ed1d24;

    border-radius: 50%;

    box-shadow:
        0 0 15px rgba(237,29,36,.8);

    animation: clientParticle 4s ease-in-out infinite;
}


.clients-particle-1 {
    left: 20%;
    top: 25%;
}

.clients-particle-2 {
    left: 70%;
    top: 20%;

    animation-delay: 1s;
}

.clients-particle-3 {
    left: 82%;
    top: 65%;

    animation-delay: 2s;
}

.clients-particle-4 {
    left: 45%;
    top: 75%;

    animation-delay: 3s;
}


@keyframes clientParticle {

    0%,
    100% {
        transform: translateY(0);
        opacity: .4;
    }

    50% {
        transform: translateY(-25px);
        opacity: 1;
    }

}


.clients-bg-glow {
    position: absolute;

    width: 500px;
    height: 500px;

    right: 5%;
    top: 50%;

    transform: translateY(-50%);

    background: rgba(237,29,36,.08);

    filter: blur(100px);

    border-radius: 50%;
}


.clients-hero-content {
    position: relative;

    max-width: 850px;

    padding: 100px 0 90px;

    z-index: 2;
}


.clients-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;

    color: #ed1d24;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 22px;
}


.clients-eyebrow span {
    width: 32px;
    height: 2px;

    background: #ed1d24;
}


.clients-hero h1 {
    margin: 0;

    max-width: 850px;

    font-size: clamp(48px, 6vw, 82px);

    line-height: .98;

    font-weight: 700;

    letter-spacing: -2px;
}


.clients-hero h1 strong {
    display: block;

    color: #ed1d24;

    font-weight: 700;
}


.clients-hero p {
    max-width: 650px;

    margin: 28px 0 0;

    color: #aaa;

    font-size: 17px;

    line-height: 1.8;
}


.clients-hero-bottom {
    display: flex;
    align-items: center;

    gap: 45px;

    margin-top: 42px;
}


.clients-scroll-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 15px 22px;

    color: #fff;

    border: 1px solid rgba(255,255,255,.2);

    text-decoration: none;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .5px;

    transition: .3s ease;
}


.clients-scroll-btn i {
    color: #ed1d24;

    transition: .3s ease;
}


.clients-scroll-btn:hover {
    background: #ed1d24;

    border-color: #ed1d24;

    color: #fff;
}


.clients-scroll-btn:hover i {
    color: #fff;

    transform: translateY(3px);
}


.clients-mini-stat {
    display: flex;
    align-items: center;

    gap: 12px;
}


.clients-mini-stat strong {
    color: #ed1d24;

    font-size: 28px;
}


.clients-mini-stat span {
    color: #777;

    font-size: 9px;

    line-height: 1.4;

    letter-spacing: 1px;
}


.clients-hero-line {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #ed1d24,
            transparent
        );
}


/* =========================================================
   CLIENT INTRO
========================================================= */

.clients-intro {
    padding: 105px 0 75px;

    background: #fff;
}


.clients-section-label {
    display: inline-block;

    margin-bottom: 18px;

    color: #ed1d24;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;
}


.clients-intro h2 {
    max-width: 700px;

    margin: 0;

    color: #151515;

    font-size: clamp(36px, 4vw, 56px);

    line-height: 1.05;

    letter-spacing: -1.5px;
}


.clients-intro h2 span,
.client-heading h2 span,
.client-industries-heading h2 span {
    color: #ed1d24;
}


.clients-intro p {
    margin: 0;

    color: #666;

    font-size: 15px;

    line-height: 1.8;
}


/* =========================================================
   CLIENT LOGOS
========================================================= */

.client-logo-section {
    padding: 75px 0 110px;

    background: #f6f6f6;
}


.client-heading {
    max-width: 720px;

    margin-bottom: 45px;
}


.client-heading h2 {
    margin: 0 0 16px;

    color: #151515;

    font-size: clamp(34px, 4vw, 52px);

    line-height: 1.08;

    letter-spacing: -1.5px;
}


.client-heading p {
    margin: 0;

    color: #777;

    font-size: 15px;

    line-height: 1.8;
}


/* =========================================================
   LOGO GRID
========================================================= */

.client-logo-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 18px;
}


.client-logo-card {
    position: relative;

    min-height: 220px;

    padding: 20px;

    background: #fff;

    border: 1px solid #e8e8e8;

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


.client-logo-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 3px;
    height: 0;

    background: #ed1d24;

    transition: height .4s ease;
}


.client-logo-card:hover {
    transform: translateY(-7px);

    border-color: rgba(237,29,36,.25);

    box-shadow:
        0 20px 45px rgba(0,0,0,.09);
}


.client-logo-card:hover::before {
    height: 100%;
}


.client-number {
    display: block;

    color: #ed1d24;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;
}


.client-logo {
    height: 125px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 20px;
}


.client-logo img {
    max-width: 85%;
    max-height: 75px;

    width: auto;
    height: auto;

    object-fit: contain;

    filter: grayscale(100%);

    opacity: .72;

    transition:
        filter .35s ease,
        opacity .35s ease,
        transform .35s ease;
}


.client-logo-card:hover .client-logo img {
    filter: grayscale(0);

    opacity: 1;

    transform: scale(1.05);
}


.client-logo-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 12px;

    border-top: 1px solid #eee;
}


.client-logo-bottom span {
    color: #999;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1px;
}


.client-logo-bottom i {
    color: #ed1d24;

    font-size: 14px;

    transition: .3s ease;
}


.client-logo-card:hover
.client-logo-bottom i {
    transform: translate(3px, -3px);
}


/* =========================================================
   INDUSTRIES
========================================================= */

.client-industries {
    position: relative;

    padding: 100px 0;

    background: #111;

    overflow: hidden;
}


.client-industries-pattern {
    position: absolute;

    inset: 0;

    opacity: .3;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size: 60px 60px;
}


.client-industries-heading {
    max-width: 650px;

    margin-bottom: 45px;
}


.client-industries-heading h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(36px, 4vw, 52px);

    line-height: 1.05;

    letter-spacing: -1px;
}


.industry-client-card {
    display: flex;
    align-items: center;

    gap: 18px;

    min-height: 105px;

    padding: 20px;

    background: #181818;

    border: 1px solid rgba(255,255,255,.08);

    transition: .35s ease;
}


.industry-client-card:hover {
    transform: translateY(-5px);

    border-color: rgba(237,29,36,.5);

    background: #1d1d1d;
}


.industry-client-icon {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(237,29,36,.08);

    border: 1px solid rgba(237,29,36,.25);

    color: #ed1d24;

    font-size: 20px;
}


.industry-client-card span {
    display: block;

    margin-bottom: 5px;

    color: #ed1d24;

    font-size: 9px;

    font-weight: 700;
}


.industry-client-card h3 {
    margin: 0;

    color: #fff;

    font-size: 16px;

    font-weight: 600;
}


/* =========================================================
   PARTNERSHIP
========================================================= */

.client-partnership {
    padding: 90px 0;

    background: #fff;
}


.client-partnership-box {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;

    padding: 55px 60px;

    background: #f5f5f5;

    border-left: 4px solid #ed1d24;

    overflow: hidden;
}


.client-partnership-content {
    max-width: 800px;
}


.client-partnership-content > span {
    display: block;

    margin-bottom: 15px;

    color: #ed1d24;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}


.client-partnership-content h2 {
    margin: 0 0 18px;

    color: #151515;

    font-size: clamp(30px, 4vw, 48px);

    line-height: 1.1;
}


.client-partnership-content h2 strong {
    display: block;

    color: #ed1d24;
}


.client-partnership-content p {
    max-width: 700px;

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.8;
}


.client-partnership-icon {
    width: 100px;
    height: 100px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ed1d24;

    border: 1px solid rgba(237,29,36,.2);

    border-radius: 50%;

    font-size: 42px;
}


/* =========================================================
   CTA
========================================================= */

.clients-cta {
    position: relative;

    padding: 110px 0;

    background:
        radial-gradient(
            circle at 80% 50%,
            rgba(237,29,36,.14),
            transparent 30%
        ),
        #111;

    overflow: hidden;
}


.clients-cta-orbit {
    position: absolute;

    width: 550px;
    height: 550px;

    right: -200px;
    top: -150px;

    border: 1px solid rgba(237,29,36,.18);

    border-radius: 50%;

    animation: clientsRing 15s linear infinite;
}


.clients-cta-content {
    position: relative;

    max-width: 800px;

    z-index: 2;
}


.clients-cta-content > span {
    display: block;

    margin-bottom: 18px;

    color: #ed1d24;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;
}


.clients-cta-content h2 {
    margin: 0;

    color: #fff;

    font-size: clamp(38px, 5vw, 64px);

    line-height: 1;

    letter-spacing: -1.5px;
}


.clients-cta-content h2 strong {
    color: #ed1d24;
}


.clients-cta-content p {
    max-width: 650px;

    margin: 25px 0 32px;

    color: #999;

    font-size: 15px;

    line-height: 1.8;
}


.clients-cta-content a {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 16px 24px;

    background: #ed1d24;

    color: #fff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    transition: .3s ease;
}


.clients-cta-content a:hover {
    background: #fff;

    color: #111;
}


.clients-cta-content a i {
    transition: .3s ease;
}


.clients-cta-content a:hover i {
    transform: translate(3px, -3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .clients-hero {
        min-height: 560px;
    }

    .clients-hero-content {
        padding: 80px 0;
    }

    .client-logo-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .client-partnership-box {
        padding: 45px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .clients-hero {
        min-height: 530px;
    }

    .clients-hero-content {
        padding: 75px 0;
    }

    .clients-hero h1 {
        font-size: 44px;

        letter-spacing: -1px;
    }

    .clients-hero p {
        font-size: 14px;

        line-height: 1.7;
    }

    .clients-hero-bottom {
        gap: 25px;
    }

    .clients-mini-stat {
        display: none;
    }

    .clients-intro,
    .client-logo-section,
    .client-industries,
    .client-partnership {
        padding: 70px 0;
    }

    .client-logo-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 12px;
    }

    .client-logo-card {
        min-height: 190px;

        padding: 15px;
    }

    .client-logo {
        height: 110px;

        padding: 15px;
    }

    .client-logo img {
        max-height: 60px;
    }

    .client-logo-bottom span {
        font-size: 7px;
    }

    .client-partnership-box {
        flex-direction: column;

        align-items: flex-start;

        padding: 35px 25px;
    }

    .client-partnership-icon {
        width: 75px;
        height: 75px;

        font-size: 30px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .clients-hero h1 {
        font-size: 38px;
    }

    .clients-hero-bottom {
        margin-top: 30px;
    }

    .clients-scroll-btn {
        padding: 13px 17px;

        font-size: 10px;
    }

    .client-logo-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .client-logo-card {
        min-height: 175px;
    }

    .client-logo {
        height: 95px;
    }

    .client-logo img {
        max-width: 90%;
        max-height: 52px;
    }

    .industry-client-card {
        min-height: 90px;
    }

}

/* =========================================================
   CLIENTS SECTION
========================================================= */

.clients-section {
    padding: 45px 0 70px;
    background: #f5f5f5;
}


/* =========================================================
   CLIENT GRID
========================================================= */

.clients-grid {
    display: grid;

    grid-template-columns: repeat(8, 1fr);

    gap: 10px;
}


/* =========================================================
   CLIENT CARD
========================================================= */

.client-card {
    height: 172px;

    background: #ffffff;

    border: 1px solid #e1e1e1;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 10px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* =========================================================
   LOGO
========================================================= */

.client-card img {
       width: 130px;
    height: 155px;


    /*max-width: 100%;*/

    /*max-height: 150px;*/

    object-fit: contain;

    display: block;

    transition:
        transform 0.3s ease;
}


/* =========================================================
   HOVER
========================================================= */

.client-card:hover {
    transform: translateY(-3px);

    border-color: #d5d5d5;

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.08);
}


.client-card:hover img {
    transform: scale(1.04);
}


/* =========================================================
   LARGE LAPTOP
========================================================= */

@media (max-width: 1400px) {

    .clients-grid {
        grid-template-columns: repeat(7, 1fr);
    }

}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1200px) {

    .clients-grid {
        grid-template-columns: repeat(6, 1fr);

        gap: 12px;
    }

    .client-card {
        height: 170px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .clients-section {
        padding: 40px 0 60px;
    }

    .clients-grid {
        grid-template-columns: repeat(4, 1fr);

        gap: 12px;
    }

    .client-card {
        height: 175px;
    }

    .client-card img {
        width: 115px;
        height: 145px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .clients-grid {
        grid-template-columns: repeat(3, 1fr);

        gap: 10px;
    }

    .client-card {
        height: 155px;

        padding: 8px;
    }

    .client-card img {
        width: 105px;

        height: 135px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .clients-section {
        padding: 30px 0 50px;
    }

    .clients-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 10px;
    }

    .client-card {
        height: 165px;
    }

    .client-card img {
        width: 105px;
        height: 135px;
    }

}
/* =========================================================
   CLIENT CARD
========================================================= */

.client-card {
    position: relative;

    height: 172px;

    background: #ffffff;

    border: 1px solid #e5e5e5;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 10px;

    overflow: hidden;

    cursor: pointer;

    transition:
        transform 0.4s cubic-bezier(.2,.8,.2,1),
        box-shadow 0.4s ease,
        border-color 0.4s ease;
}


/* =========================================================
   SHINE EFFECT
========================================================= */

.client-card::before {
    content: "";

    position: absolute;

    top: -100%;
    left: -70%;

    width: 45%;
    height: 300%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.85),
        transparent
    );

    transform: rotate(20deg);

    transition: left 0.7s ease;

    pointer-events: none;

    z-index: 2;
}


.client-card:hover::before {
    left: 130%;
}


/* =========================================================
   TOP ACCENT LINE
========================================================= */

.client-card::after {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 0;
    height: 3px;

    background: #ed1d24;

    transform: translateX(-50%);

    transition: width 0.4s ease;

    z-index: 3;
}


.client-card:hover::after {
    width: 100%;
}


/* =========================================================
   HOVER CARD
========================================================= */

.client-card:hover {
    transform: translateY(-8px);

    border-color: #d9d9d9;

    box-shadow:
        0 16px 35px rgba(0, 0, 0, 0.12);
}


/* =========================================================
   LOGO
========================================================= */

.client-card img {
    width: 121px;

    height: 150px;

    max-width: 100%;
    max-height: 150px;

    object-fit: contain;

    display: block;

    position: relative;

    z-index: 1;

    transition:
        transform 0.45s cubic-bezier(.2,.8,.2,1),
        filter 0.4s ease;
}


/* =========================================================
   LOGO HOVER
========================================================= */

.client-card:hover img {
    transform: scale(1.07);

    filter: drop-shadow(
        0 6px 10px rgba(0, 0, 0, 0.10)
    );
}

@media (max-width: 767px) {

    .client-card:hover {
        transform: translateY(-4px);

        box-shadow:
            0 10px 22px rgba(0, 0, 0, 0.10);
    }

    .client-card:hover img {
        transform: scale(1.04);
    }

}