/* Restored original homepage banner styles. */
/* ============================================================
           SUBDOMAIN HERO
        ============================================================ */

    .sd-hero-section {
        position: relative;
        /* The slides provide spacing; override the shared section padding. */
        padding: 0;
        overflow: hidden;
        background: #f7fbf9;
    }


    .sd-hero-carousel,
    .sd-hero-carousel .carousel-inner,
    .sd-hero-carousel .carousel-item {
        width: 100%;
    }


        .sd-hero-carousel .carousel-item {
            height: auto !important;
        }


    .sd-hero {
        position: relative;
        min-height: auto;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 32px 0 48px;
        background: radial-gradient( circle at 8% 15%, rgba(6, 129, 169, .09), transparent 31% ), radial-gradient( circle at 88% 80%, rgba(25, 135, 84, .08), transparent 26% ), linear-gradient( 135deg, #ffffff 0%, #f5fbfa 52%, #edf8f5 100% );
    }


        .sd-hero::before {
            content: "";
            position: absolute;
            width: 400px;
            height: 400px;
            top: -250px;
            right: -150px;
            border-radius: 50%;
            border: 75px solid rgba(6, 129, 169, .04);
        }


        .sd-hero::after {
            content: "";
            position: absolute;
            width: 230px;
            height: 230px;
            left: -130px;
            bottom: -150px;
            border-radius: 50%;
            background: rgba(25, 135, 84, .04);
        }


        .sd-hero .container {
            position: relative;
            z-index: 2;
        }



    /* ============================================================
           TEXT
        ============================================================ */

    .sd-hero__content {
        position: relative;
        z-index: 3;
        max-width: 680px;
    }


    .sd-hero__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
        padding: 7px 12px;
        border-radius: 999px;
        background: rgba(6, 129, 169, .08);
        border: 1px solid rgba(6, 129, 169, .12);
        color: #067b9f;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
    }


    .sd-hero__eyebrow-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }


    /* HomeBannerSD title */

    .sd-hero__title {
        margin: 0 0 18px;
        max-width: 720px;
        color: #16261f;
        font-size: clamp( 34px, 4vw, 56px );
        font-weight: 800;
        line-height: 1.1;
        letter-spacing: -.02em;
    }



    /* Main Banner HTML heading */

    .sd-hero__main-heading {
        color: #16261f;
        font-size: clamp( 34px, 4vw, 56px );
        font-weight: 800;
        line-height: 1.1;
        letter-spacing: -.02em;
    }


        .sd-hero__main-heading h1,
        .sd-hero__main-heading h2,
        .sd-hero__main-heading h3,
        .sd-hero__main-heading h4,
        .sd-hero__main-heading p {
            margin: 0 0 18px;
            color: inherit;
            font-size: inherit;
            line-height: inherit;
            font-weight: inherit;
        }



    /* Descriptions */

    .sd-hero__description,
    .sd-hero__headline {
        max-width: 630px;
        margin: 0 0 25px;
        color: #64736b;
        font-size: 16px;
        line-height: 1.75;
    }


        /*
         Keep DB HTML from making banner text huge.
        */

        .sd-hero__headline h1,
        .sd-hero__headline h2,
        .sd-hero__headline h3,
        .sd-hero__headline h4,
        .sd-hero__headline h5,
        .sd-hero__headline h6,
        .sd-hero__headline p {
            margin: 0;
            color: inherit;
            font-size: inherit;
            line-height: inherit;
            font-weight: 400;
        }



    /*
         Prevent long descriptions from destroying hero height.
        */

    .sd-hero__description,
    .sd-hero__headline {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
    }



    /* ============================================================
           BUTTONS
        ============================================================ */

    .sd-hero__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 11px;
        margin-bottom: 23px;
    }


    .sd-hero__primary-btn,
    .sd-hero__secondary-btn {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 700;
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
    }


    .sd-hero__primary-btn {
        border: 1px solid #0681a9;
        background: #0681a9;
        color: #fff;
    }


        .sd-hero__primary-btn:hover {
            color: #fff;
            background: #056e90;
            border-color: #056e90;
            transform: translateY(-2px);
            box-shadow: 0 12px 26px rgba(6, 129, 169, .20);
        }


    .sd-hero__secondary-btn {
        background: #fff;
        border: 1px solid #cedbd5;
        color: #283b32;
    }


        .sd-hero__secondary-btn:hover {
            background: #f3faf7;
            border-color: #198754;
            color: #198754;
            transform: translateY(-2px);
        }



    /* ============================================================
           TRUST TEXT
        ============================================================ */

    .sd-hero__trust {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 17px;
        color: #62736b;
        font-size: 12px;
        font-weight: 600;
    }


    .sd-hero__trust-item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }


        .sd-hero__trust-item i {
            color: #198754;
        }



    /* ============================================================
           HERO IMAGE
        ============================================================ */

    .sd-hero__visual {
        position: relative;
        max-width: 610px;
        margin-left: auto;
        padding: 18px 18px 25px;
    }


    .sd-hero__shape {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 79%;
        height: 84%;
        border-radius: 30px;
        background: linear-gradient( 135deg, rgba(6, 129, 169, .13), rgba(25, 135, 84, .08) );
    }


    .sd-hero__image {
        position: relative;
        z-index: 2;
        overflow: hidden;
        width: 100%;
        height: 385px;
        border-radius: 22px;
        background: #eaf3ef;
        box-shadow: 0 25px 55px rgba(30, 62, 46, .15);
    }


        .sd-hero__image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform .7s ease;
        }


    .sd-hero-carousel
    .carousel-item.active
    .sd-hero__image img {
        transform: scale(1.015);
    }



    /* ============================================================
           FLOATING IMAGE CARD
        ============================================================ */

    .sd-hero__image-badge {
        position: absolute;
        z-index: 5;
        left: -4px;
        bottom: 0;
        display: flex;
        align-items: center;
        gap: 11px;
        max-width: 270px;
        padding: 12px 14px;
        border-radius: 12px;
        background: rgba(255,255,255,.97);
        box-shadow: 0 14px 35px rgba(30, 58, 43, .15);
    }


    .sd-hero__image-badge-icon {
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 9px;
        background: #0681a9;
        color: #fff;
    }


    .sd-hero__image-badge strong {
        display: block;
        margin-bottom: 2px;
        color: #203029;
        font-size: 12px;
    }


    .sd-hero__image-badge small {
        display: block;
        color: #75817b;
        font-size: 10px;
        line-height: 1.4;
    }



    /* ============================================================
           CAROUSEL CONTROLS
        ============================================================ */

    .sd-hero-control {
        width: 48px;
        opacity: 1;
    }


    .sd-hero-control__button {
        width: 39px;
        height: 39px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(20, 48, 34, .82);
        color: #fff;
        box-shadow: 0 8px 20px rgba(0, 0, 0, .13);
        transition: transform .2s ease, background .2s ease;
    }


    .sd-hero-control:hover
    .sd-hero-control__button {
        background: #0681a9;
        transform: scale(1.05);
    }


    .sd-hero-control--prev {
        left: 7px;
    }


    .sd-hero-control--next {
        right: 7px;
    }



    /* ============================================================
           INDICATORS
        ============================================================ */

    .sd-hero-indicators {
        bottom: 15px;
        margin-bottom: 0;
    }


        .sd-hero-indicators
        [data-bs-target] {
            width: 8px;
            height: 8px;
            margin: 0 4px;
            border: 0;
            border-radius: 50%;
            background: #70877b;
            opacity: .4;
        }


        .sd-hero-indicators
        .active {
            width: 26px;
            border-radius: 6px;
            background: #0681a9;
            opacity: 1;
        }



    /* ============================================================
           TABLET
        ============================================================ */

    @media (max-width: 767px) {
        .sd-hero-indicators {
            position: static;
            margin: 0 auto 16px;
        }
    }

    @media (
            max-width: 991.98px
        ) {

        .sd-hero {
            min-height: auto;
            padding: 32px 0 48px;
        }


        .sd-hero__content {
            max-width: 760px;
            margin: 0 auto;
            text-align: center;
        }


        .sd-hero__eyebrow {
            justify-content: center;
        }


        .sd-hero__description,
        .sd-hero__headline {
            margin-left: auto;
            margin-right: auto;
        }


        .sd-hero__actions,
        .sd-hero__trust {
            justify-content: center;
        }


        .sd-hero__visual {
            max-width: 690px;
            margin: 8px auto 0;
        }


        .sd-hero__image {
            height: 365px;
        }
    }



    /* ============================================================
           MOBILE
        ============================================================ */

    @media (
            max-width: 575.98px
        ) {

        .sd-hero {
            padding: 28px 0 54px;
        }


            .sd-hero .container {
                padding-left: 17px;
                padding-right: 17px;
            }


        .sd-hero__content {
            text-align: left;
        }


        .sd-hero__eyebrow {
            justify-content: flex-start;
            margin-bottom: 12px;
            padding: 6px 9px;
            font-size: 9px;
        }


        .sd-hero__title,
        .sd-hero__main-heading {
            font-size: 29px;
            line-height: 1.13;
        }


            .sd-hero__main-heading h1,
            .sd-hero__main-heading h2,
            .sd-hero__main-heading h3,
            .sd-hero__main-heading h4,
            .sd-hero__main-heading p {
                font-size: 29px;
                line-height: 1.13;
            }


        .sd-hero__description,
        .sd-hero__headline {
            margin-bottom: 19px;
            font-size: 13px;
            line-height: 1.6;
            -webkit-line-clamp: 4;
        }
        /*
             CTA remains visible on mobile.
            */

        .sd-hero__actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
            margin-bottom: 17px;
        }


        .sd-hero__primary-btn,
        .sd-hero__secondary-btn {
            width: 100%;
            min-height: 43px;
            padding: 8px 9px;
            font-size: 11px;
        }


        .sd-hero__trust {
            justify-content: flex-start;
            gap: 11px;
            font-size: 10px;
        }


        .sd-hero__visual {
            padding: 6px 3px 14px;
            margin-top: 3px;
        }


        .sd-hero__image {
            height: 235px;
            border-radius: 15px;
        }


        .sd-hero__shape {
            display: none;
        }


        .sd-hero__image-badge {
            position: relative;
            left: auto;
            bottom: auto;
            max-width: calc(100% - 24px);
            margin: -17px auto 0;
            padding: 9px 11px;
            border-radius: 9px;
        }


        .sd-hero__image-badge-icon {
            width: 34px;
            height: 34px;
            flex-basis: 34px;
        }


        .sd-hero__image-badge strong {
            font-size: 11px;
        }


        .sd-hero__image-badge small {
            font-size: 9px;
        }
        /*
             Hide arrows on phones.
             Swipe + indicators remain.
            */

        .sd-hero-control {
            display: none;
        }


        .sd-hero-indicators {
            bottom: 10px;
        }
    }



    /* ============================================================
           VERY SMALL PHONES
        ============================================================ */

    @media (
            max-width: 380px
        ) {

        .sd-hero__title,
        .sd-hero__main-heading,
        .sd-hero__main-heading h1,
        .sd-hero__main-heading h2,
        .sd-hero__main-heading h3 {
            font-size: 26px;
        }


        .sd-hero__actions {
            grid-template-columns: 1fr;
        }


        .sd-hero__image {
            height: 205px;
        }


        .sd-hero__trust {
            flex-direction: column;
            align-items: flex-start;
        }
    }

/* Keep the full banner artwork visible, including logo-based banners. */
.sd-hero__image img {
    object-fit: contain;
    background: #f3f8f5;
}
