/* Full-width homepage hero preview. Existing carousel behavior is retained. */
.gr-hero.gr-hero--wide {
    display: flex;
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: 650px;
    min-height: clamp(650px, calc(100svh - 100px), 820px);
    padding: 0;
    gap: 0;
    align-items: center;
    background: #172a21;
}
.gr-hero--wide .gr-hero-image {
    position: absolute;
    inset: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    background: #172a21;
    z-index: -1;
}
.gr-hero--wide .gr-carousel::after {
    inset: 0;
    background: linear-gradient(90deg, rgba(12,30,22,.86) 0%, rgba(12,30,22,.70) 32%, rgba(12,30,22,.24) 72%, rgba(12,30,22,.12) 100%),
        linear-gradient(0deg, rgba(12,30,22,.55), transparent 35%);
}
.gr-hero-overlay {
    position: relative;
    padding-block: 76px 142px;
    pointer-events: none;
}
.gr-hero--wide .gr-hero-copy {
    padding: 0;
    max-width: 700px;
    pointer-events: auto;
}
.gr-hero--wide .gr-eyebrow {
    color: #edf2e8;
}
.gr-hero--wide .gr-eyebrow > span {
    background: #b8ce93;
}
.gr-hero--wide h1 {
    max-width: 700px;
    font-size: clamp(54px, 5.5vw, 80px);
    line-height: 1.06;
    color: #fff;
    margin-bottom: 26px;
}
.gr-hero--wide h1 em {
    color: #d6e4be;
}
.gr-hero--wide .gr-hero-intro {
    max-width: 510px;
    font-size: 18px;
    color: #eef2ec;
}
.gr-hero--wide .gr-actions {
    margin-top: 26px;
    gap: 14px 26px;
}
.gr-hero--wide .gr-button.gr-button {
    color: #233e32;
    background: #f7f6f0;
    border-color: #f7f6f0;
}
.gr-hero--wide .gr-button.gr-button:hover {
    background: #dce8cc;
    border-color: #dce8cc;
}
.gr-hero--wide .gr-text-link.gr-text-link {
    color: #fff;
}
.gr-hero--wide .gr-carousel-controls {
    left: max(48px, calc((100% - 1320px) / 2));
    right: auto;
    bottom: 30px;
    width: 340px;
    max-width: calc(100% - 40px);
    padding: 4px 8px;
    border: 1px solid #ffffff45;
    border-radius: 6px;
    background: #142b22a6;
}
@media(max-width:1100px) {
    .gr-hero--wide .gr-carousel-controls {
        left: 28px;
    }
}
@media(max-width:850px) {
    .gr-hero.gr-hero--wide {
        min-height: 650px;
    }
    .gr-hero--wide h1 {
        font-size: 58px;
    }
    .gr-hero--wide .gr-hero-copy {
        max-width: 620px;
    }
    .gr-hero--wide .gr-carousel::after {
        background: linear-gradient(90deg, #10251bdd, #10251b7a), linear-gradient(0deg, #10251b80, transparent 50%);
    }
}
@media(max-width:600px) {
    .gr-hero.gr-hero--wide {
        min-height: 640px;
    }
    .gr-hero-overlay {
        padding-block: 52px 126px;
    }
    .gr-hero--wide h1 {
        font-size: clamp(38px, 10vw, 54px);
        margin-bottom: 24px;
    }
    .gr-hero--wide .gr-hero-intro {
        font-size: 16px;
        line-height: 1.7;
        max-width: 370px;
    }
    .gr-hero--wide .gr-carousel-controls {
        left: 20px;
        bottom: 24px;
        width: 310px;
    }
    .gr-hero--wide .gr-carousel-slide img {
        object-position: 58% center;
    }
    .gr-hero--wide .gr-carousel::after {
        background: linear-gradient(90deg, #10251bd9, #10251b8c), linear-gradient(0deg, #10251b9c, transparent 65%);
    }
}
