/**
 * GEO Environment homepage carousel.
 * Slider Revolution remains the host; this file owns the visible composition.
 */

@font-face {
    font-display: swap;
    font-family: "Montserrat GEO";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/montserrat-geo-latin.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Montserrat GEO";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/montserrat-geo-latin.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Montserrat GEO";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/montserrat-geo-latin.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Montserrat GEO";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/montserrat-geo-latin.woff2") format("woff2");
}

/* Keep the non-JavaScript cover legible and identical on Windows and Mac. */
body.home sr7-module[data-alias="slider3"]::before,
body.home sr7-module[data-alias="slider3"]::after {
    font-family: "Montserrat GEO", "Montserrat", Arial, sans-serif !important;
}

body.home sr7-module[data-alias="slider3"].geo-hero-enhanced {
    background: linear-gradient(180deg, #f3f3f3 0%, #d5d4d4 52%, #a5a3a3 100%) !important;
    height: 56.25vw !important;
    height: min(56.25vw, calc(100vh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
    height: min(56.25vw, calc(100svh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

body.home sr7-module[data-alias="slider3"].geo-hero-enhanced::before,
body.home sr7-module[data-alias="slider3"].geo-hero-enhanced::after {
    content: none !important;
    display: none !important;
}

.geo-hero-slider,
.geo-hero-slide,
.geo-hero-picture,
.geo-hero-picture img {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.geo-hero-slider {
    background: linear-gradient(180deg, #f3f3f3 0%, #d5d4d4 52%, #a5a3a3 100%);
    color: #010072;
    isolation: isolate;
    overflow: hidden;
    pointer-events: auto;
    z-index: 20;
}

/*
 * Slider Revolution keeps transparent masks over the module even after its
 * native slides are hidden. Disable every legacy descendant so those masks
 * cannot sit above this carousel and intercept the arrow controls.
 */
body.home sr7-module[data-alias="slider3"].geo-hero-enhanced > sr7-adjuster *,
body.home sr7-module[data-alias="slider3"].geo-hero-enhanced > sr7-content *,
body.home sr7-module[data-alias="slider3"].geo-hero-enhanced > sr7-module-shadow * {
    pointer-events: none !important;
    visibility: hidden !important;
}

.geo-hero-slide {
    opacity: 0;
    transition: opacity 1000ms ease, visibility 0s linear 400ms;
    visibility: hidden;
    z-index: 1;
}

.geo-hero-slide.is-active {
    opacity: 1;
    transition-delay: 0s;
    visibility: visible;
    z-index: 2;
}

.geo-hero-picture {
    display: block;
    margin: 0;
}

.geo-hero-picture img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.geo-hero-slide--1 .geo-hero-picture img {
    object-position: center 35%;
}

.geo-hero-slide--2 .geo-hero-picture img {
    object-position: center 30%;
}

.geo-hero-slide--3 .geo-hero-picture img {
    object-position: center 25%;
}

.geo-hero-slide--4 .geo-hero-picture img {
    object-position: center center;
}

/* The lifting equipment reaches every edge of its wide source image. */
@media (min-width: 1025px), (orientation: landscape) {
    .geo-hero-slide--4 .geo-hero-picture img {
        object-fit: contain;
    }
}

.geo-hero-copy {
    box-sizing: border-box;
    left: 50%;
    position: absolute;
    text-align: center;
    top: clamp(22px, 4.5vmin, 52px);
    transform: translateX(-50%);
    width: min(calc(100% - 64px), 1600px);
    z-index: 3;
}

.geo-hero-kicker,
.geo-hero-title {
    font-family: "Montserrat GEO", "Montserrat", Arial, sans-serif !important;
    text-wrap: balance;
}

.geo-hero-kicker {
    color: #000;
    font-size: clamp(20px, min(1.75vw, 4.5vmin), 36px);
    font-weight: 600;
    line-height: clamp(26px, 4vmin, 44px);
    margin: 0;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .35);
}

.geo-hero-title {
    color: #010072;
    font-size: clamp(48px, min(4.6vw, 10vmin), 104px);
    font-weight: 600;
    line-height: 1.04;
    margin: clamp(10px, 1.5vmin, 18px) 0 0;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .48);
}

.geo-hero-title span {
    display: block;
}

.geo-hero-slide--2 .geo-hero-copy,
.geo-hero-slide--3 .geo-hero-copy,
.geo-hero-slide--4 .geo-hero-copy {
    top: clamp(16px, 3vmin, 32px);
}

.geo-hero-slide--2 .geo-hero-title,
.geo-hero-slide--3 .geo-hero-title,
.geo-hero-slide--4 .geo-hero-title {
    font-size: clamp(38px, min(3.5vw, 7vmin), 76px);
    line-height: 1.06;
    margin-top: clamp(8px, 1.2vmin, 14px);
}

.geo-hero-arrow {
    -webkit-appearance: none;
    align-items: center;
    appearance: none;
    background: rgba(1, 0, 114, .54);
    border: 2px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 54px;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: absolute;
    top: min(50%, calc((100vh - var(--geo-hero-page-top, var(--geo-header-height, 80px))) / 2));
    top: min(50%, calc((100svh - var(--geo-hero-page-top, var(--geo-header-height, 80px))) / 2));
    transform: translateY(-50%);
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
    width: 54px;
    z-index: 12;
    pointer-events: auto;
    touch-action: manipulation;
}

.geo-hero-arrow--previous {
    left: max(clamp(12px, 2vw, 34px), calc(env(safe-area-inset-left) + 8px));
}

.geo-hero-arrow--next {
    right: max(clamp(12px, 2vw, 34px), calc(env(safe-area-inset-right) + 8px));
}

.geo-hero-arrow span {
    border-right: 4px solid currentColor;
    border-top: 4px solid currentColor;
    display: block;
    height: 13px;
    width: 13px;
}

.geo-hero-arrow--previous span {
    margin-left: 5px;
    transform: rotate(-135deg);
}

.geo-hero-arrow--next span {
    margin-right: 5px;
    transform: rotate(45deg);
}

.geo-hero-arrow:hover,
.geo-hero-arrow:focus-visible {
    background: rgba(76, 175, 42, .94);
    border-color: #fff;
    outline: 0;
}

.geo-hero-arrow:focus-visible {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .96), 0 6px 18px rgba(0, 0, 0, .25);
}

.geo-hero-status {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

@media (max-width: 1024px) and (orientation: portrait) {
    body.home sr7-module[data-alias="slider3"].geo-hero-enhanced {
        height: 124.96vw !important;
        height: min(124.96vw, calc(100vh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
        height: min(124.96vw, calc(100svh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
        max-height: none !important;
    }

    .geo-hero-slide--1 .geo-hero-picture img,
    .geo-hero-slide--2 .geo-hero-picture img,
    .geo-hero-slide--4 .geo-hero-picture img {
        object-position: center center;
    }

    .geo-hero-slide--3 .geo-hero-picture img {
        object-position: center top;
    }

    .geo-hero-copy {
        top: clamp(24px, 7vw, 52px);
        width: calc(100% - 16px);
    }

    .geo-hero-kicker {
        font-size: clamp(16px, 4.5vw, 28px);
        line-height: clamp(22px, 5.5vw, 36px);
        white-space: nowrap;
    }

    .geo-hero-title {
        font-size: clamp(32px, 10vw, 72px);
        line-height: 1.04;
        margin-top: clamp(8px, 2vw, 12px);
    }

    .geo-hero-slide--2 .geo-hero-copy,
    .geo-hero-slide--3 .geo-hero-copy,
    .geo-hero-slide--4 .geo-hero-copy {
        top: clamp(20px, 6vw, 46px);
    }

    .geo-hero-slide--2 .geo-hero-title,
    .geo-hero-slide--3 .geo-hero-title,
    .geo-hero-slide--4 .geo-hero-title {
        font-size: clamp(25px, 7.5vw, 56px);
        line-height: 1.08;
        margin-top: clamp(6px, 1.5vw, 10px);
    }

    .geo-hero-slide--4 .geo-hero-copy {
        top: clamp(14px, 4vw, 28px);
    }

    .geo-hero-slide--4 .geo-hero-title {
        font-size: clamp(22px, 6.2vw, 46px);
        line-height: 1.05;
        margin-top: 4px;
    }
}

@media (max-width: 900px) and (orientation: landscape) {
    body.home sr7-module[data-alias="slider3"].geo-hero-enhanced {
        height: 56.25vw !important;
        height: min(56.25vw, calc(100vh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
        height: min(56.25vw, calc(100svh - var(--geo-hero-page-top, var(--geo-header-height, 80px)))) !important;
        max-height: none !important;
    }

    .geo-hero-copy {
        top: clamp(14px, 4vmin, 22px);
    }

    .geo-hero-kicker {
        font-size: clamp(16px, 2.5vw, 20px);
        line-height: clamp(20px, 4vmin, 26px);
    }

    .geo-hero-title {
        font-size: clamp(36px, 6vw, 50px);
        margin-top: clamp(7px, 2vmin, 10px);
    }

    .geo-hero-slide--2 .geo-hero-copy,
    .geo-hero-slide--3 .geo-hero-copy,
    .geo-hero-slide--4 .geo-hero-copy {
        top: clamp(12px, 3vmin, 18px);
    }

    .geo-hero-slide--2 .geo-hero-title,
    .geo-hero-slide--3 .geo-hero-title,
    .geo-hero-slide--4 .geo-hero-title {
        font-size: clamp(28px, 4.4vw, 38px);
        line-height: 1.05;
        margin-top: clamp(5px, 1.5vmin, 8px);
    }
}

/* Slide 4 uses the clear space framed by both lifting machines. */
.geo-hero-slide--4 .geo-hero-copy {
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(calc(100% - 220px), 900px);
}

.geo-hero-slide--4 .geo-hero-title {
    color: #010072;
    font-size: clamp(36px, min(3.2vw, 6.5vmin), 64px);
    line-height: 1.05;
    margin: 0;
    text-shadow: 0 1px 3px rgba(255, 255, 255, .72);
}

@media (min-width: 1025px) {
    .geo-hero-slide--4 .geo-hero-copy {
        left: calc(50% + clamp(40px, 4vw, 60px));
    }
}

@media (max-width: 1024px) and (orientation: portrait) {
    .geo-hero-slide--4 .geo-hero-copy {
        width: calc(100% - 136px);
    }

    .geo-hero-slide--4 .geo-hero-title {
        font-size: clamp(22px, 6.2vw, 46px);
    }
}

@media (max-width: 900px) and (orientation: landscape) {
    .geo-hero-slide--4 .geo-hero-copy {
        width: calc(100% - 140px);
    }

    .geo-hero-slide--4 .geo-hero-title {
        font-size: clamp(28px, 4.4vw, 38px);
    }
}

@media (max-width: 430px) {
    .geo-hero-arrow {
        height: 44px;
        width: 44px;
    }

    .geo-hero-arrow span {
        border-width: 3px;
        height: 11px;
        width: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .geo-hero-slide,
    .geo-hero-arrow {
        transition: none !important;
    }
}

@media print {
    .geo-hero-slide:not(.is-active),
    .geo-hero-arrow {
        display: none !important;
    }
}
