/* Homepage hero: desktop-only refinements. Mobile styles remain unchanged. */
@media screen and (min-width: 992px) {
    .home-hero {
        position: relative;
        overflow: hidden;
    }

    .home-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            90deg,
            rgba(23, 52, 70, 1) 0%,
            rgba(23, 52, 70, .98) 43%,
            rgba(23, 52, 70, .82) 58%,
            rgba(23, 52, 70, 0) 76%
        );
    }

    .home-hero .banner,
    .home-hero .banner-content1 {
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .home-hero .banner {
        margin-bottom: 0;
        background-color: transparent;
    }

    .home-hero .home-hero__content {
        left: clamp(32px, 4vw, 72px);
        top: 50%;
        width: min(64vw, 820px);
        margin-top: 0 !important;
        transform: translateY(-50%);
    }

    .home-hero .intro-subtitle {
        margin: 0 0 14px;
        color: rgba(255, 255, 255, .82);
        font-size: clamp(15px, 1.15vw, 18px);
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: .01em;
    }

    .home-hero .intro-title {
        max-width: 820px;
        margin: 0 0 18px;
        color: #fff;
        background: none;
        -webkit-background-clip: initial;
        -webkit-text-fill-color: currentColor;
        font-size: clamp(38px, 3.1vw, 50px);
        font-weight: 600;
        line-height: 1.06;
        letter-spacing: -.025em;
        text-indent: 0;
        text-wrap: balance;
    }

    .home-hero .intro-price {
        max-width: 760px;
        margin: 0 0 24px;
        color: rgba(255, 255, 255, .9);
        font-size: clamp(17px, 1.3vw, 20px);
        font-weight: 300;
        line-height: 1.45;
        letter-spacing: 0;
    }

    .home-hero .intro-actions {
        display: flex;
        align-items: center;
        gap: 22px;
        margin-top: 0 !important;
    }

    .home-hero .intro-actions .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-width: 0;
        padding: 9px 10px 9px 22px;
        border: 1px solid #ff9900;
        border-radius: 999px;
        background-color: #ff9900;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
        color: #173446;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: .01em;
        transition: background-color .2s ease, border-color .2s ease,
                    box-shadow .2s ease, color .2s ease, transform .2s ease;
    }

    .home-hero .intro-actions .btn i:last-child {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        margin-left: 0;
        border-radius: 50%;
        background-color: rgba(23, 52, 70, .13);
        font-size: 14px;
        transition: transform .2s ease;
    }

    .home-hero .intro-actions .btn:hover,
    .home-hero .intro-actions .btn:focus {
        border-color: #ffad1f;
        background-color: #ffad1f;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
        color: #173446;
        transform: translateY(-2px);
    }

    .home-hero .intro-actions .btn:hover i:last-child,
    .home-hero .intro-actions .btn:focus i:last-child {
        transform: translateX(2px);
    }

    .home-hero .intro-actions .btn:active {
        transform: translateY(0);
    }

    .home-hero .intro-actions .btn:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px rgba(255, 153, 0, .3),
                    0 10px 28px rgba(0, 0, 0, .24);
    }
    .home-hero .intro-actions > a:last-child {
        margin-left: 0 !important;
        color: rgba(255, 255, 255, .88) !important;
        font-size: 15px;
        text-underline-offset: 4px;
        transition: color .2s ease;
    }

    .home-hero .intro-actions > a:last-child:hover,
    .home-hero .intro-actions > a:last-child:focus {
        color: #ffad1f !important;
    }
}
/* Mobile hero layout. */
@media screen and (max-width: 991px) {
    .home-hero {
        position: relative;
        min-height: 520px;
        overflow: hidden;
        background-position: right bottom !important;
        background-size: auto 58% !important;
    }

    .home-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(23, 52, 70, 1) 0%,
            rgba(23, 52, 70, .99) 58%,
            rgba(23, 52, 70, .86) 76%,
            rgba(23, 52, 70, .28) 100%
        );
    }

    .home-hero > figure {
        height: 520px !important;
        margin: 0;
    }

    .home-hero .banner,
    .home-hero .banner-content1 {
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .home-hero .banner {
        margin-bottom: 0;
        background-color: transparent;
    }

    .home-hero .home-hero__content {
        left: 24px;
        right: 24px;
        top: 30px;
        width: auto;
        margin-top: 0 !important;
        transform: none;
    }

    .home-hero .intro-subtitle {
        max-width: 620px;
        margin: 0 0 10px;
        color: rgba(255, 255, 255, .8);
        font-size: 15px;
        font-weight: 400;
        line-height: 1.35;
        letter-spacing: .01em;
    }

    .home-hero .intro-title {
        max-width: 680px;
        margin: 0 0 16px;
        color: #fff;
        background: none;
        -webkit-background-clip: initial;
        -webkit-text-fill-color: currentColor;
        font-size: clamp(32px, 6vw, 42px);
        font-weight: 600;
        line-height: 1.06;
        letter-spacing: -.025em;
        text-indent: 0;
        text-wrap: balance;
    }

    .home-hero .intro-price {
        max-width: 620px;
        margin: 0 0 22px;
        color: rgba(255, 255, 255, .9);
        font-size: 17px;
        font-weight: 300;
        line-height: 1.42;
        letter-spacing: 0;
    }

    .home-hero .intro-actions {
        display: flex;
        align-items: center;
        gap: 18px;
        margin-top: 0 !important;
    }

    .home-hero .intro-actions .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-width: 0;
        padding: 9px 10px 9px 22px;
        border: 1px solid #ff9900;
        border-radius: 999px;
        background-color: #ff9900;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
        color: #173446;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: .01em;
    }

    .home-hero .intro-actions .btn i:last-child {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        margin-left: 0;
        border-radius: 50%;
        background-color: rgba(23, 52, 70, .13);
        font-size: 14px;
    }

    .home-hero .intro-actions > a:last-child {
        margin-left: 0 !important;
        color: rgba(255, 255, 255, .88) !important;
        font-size: 14px;
        text-underline-offset: 4px;
    }
}

@media screen and (max-width: 575px) {
    .home-hero {
        min-height: 660px;
        background-size: auto 44% !important;
    }

    .home-hero > figure {
        height: 660px !important;
    }

    .home-hero .home-hero__content {
        left: 20px;
        right: 20px;
        top: 24px;
    }

    .home-hero .intro-subtitle {
        font-size: 14px;
    }

    .home-hero .intro-title {
        font-size: clamp(30px, 8.6vw, 38px);
    }

    .home-hero .intro-price {
        font-size: 16px;
        line-height: 1.4;
    }

    .home-hero .intro-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .home-hero .intro-actions .btn {
        justify-content: space-between;
        width: 100%;
        max-width: 340px;
    }

    .home-hero .intro-actions > a:last-child {
        align-self: flex-start;
        margin-left: 4px !important;
    }
}