.bh-wrapper-fe62989c {
    position: relative;
    width: 100%;
    /* Attached the shadow directly to the rounded box container and removed overflow:hidden from wrapper so shadow spills nicely */
    box-shadow: var(--box-shadow-x, 0px) var(--box-shadow-y, 8px) var(--box-shadow-blur, 15px) var(--box-shadow-color, rgba(0,0,0,0.3));
    border-radius: 4px; /* Matches default */
    background: transparent;
    
    /* Establish CSS Container Query Context */
    container-type: inline-size;
    container-name: bh-wrapper-container;
}

.bh-container-fe62989c {
    position: relative;
    display: flex;
    overflow: hidden; /* Required for scaling image & overlay clipping */
    width: 100%;
    text-decoration: none !important;
    border-radius: inherit; /* Matches parent wrapper radius exactly */
}

.bh-image-fe62989c {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s ease;
}

.bh-overlay-fe62989c {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #3085a3;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.bh-content-fe62989c {
    position: relative;
    z-index: 2;
    padding: clamp(15px, 8cqw, 40px);
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.bh-title-wrapper-fe62989c {
    display: inline-block;
    position: relative;
    width: fit-content;
}

.bh-title-wrapper-fe62989c::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    transition: width 0.3s ease;
}

/* Local alignment rules with prefix classes */
.bh-title-align-left .bh-title-wrapper-fe62989c {
    align-self: flex-start;
    text-align: left;
}
.bh-title-align-center .bh-title-wrapper-fe62989c {
    align-self: center;
    text-align: center;
}
.bh-title-align-right .bh-title-wrapper-fe62989c {
    align-self: flex-end;
    text-align: right;
}

/* Adjust title underline position depending on text-alignment */
.bh-title-align-center .bh-title-wrapper-fe62989c::after {
    left: 50%;
    transform: translateX(-50%);
}
.bh-title-align-right .bh-title-wrapper-fe62989c::after {
    left: auto;
    right: 0;
}

/* Vertical position classes for title using flex margins */
.bh-title-valign-top .bh-title-wrapper-fe62989c {
    margin-top: 0;
    margin-bottom: auto;
}
.bh-title-valign-middle .bh-title-wrapper-fe62989c {
    margin-top: auto;
    margin-bottom: auto;
}
.bh-title-valign-bottom .bh-title-wrapper-fe62989c {
    margin-top: auto;
    margin-bottom: 0;
}

.bh-title-fe62989c {
    margin: 0;
    padding: 0;
    font-size: clamp(18px, 6cqw, 36px);
    font-weight: bold;
    color: inherit;
    text-shadow: 0 0 var(--title-glow-size, 10px) var(--title-glow-color, rgba(255,255,255,0.8)),
                 0 0 var(--title-glow-strength, 2px) var(--title-glow-color, rgba(255,255,255,0.8));
}

/* Fluid Title Overwrite via Container Query Clamp */
.bh-title-fe62989c.bh-fluid-title {
    font-size: clamp(
        var(--title-fluid-min, 18px),
        var(--title-fluid-scale, 6cqw),
        var(--title-fluid-max, 36px)
    );
}

/* Description alignments and position layout */
.bh-desc-align-left .bh-desc-fe62989c {
    align-self: flex-start;
    text-align: left;
}
.bh-desc-align-center .bh-desc-fe62989c {
    align-self: center;
    text-align: center;
}
.bh-desc-align-right .bh-desc-fe62989c {
    align-self: flex-end;
    text-align: right;
}

.bh-desc-valign-top .bh-desc-fe62989c {
    margin-top: 0;
    margin-bottom: auto;
}
.bh-desc-valign-middle .bh-desc-fe62989c {
    margin-top: auto;
    margin-bottom: auto;
}
.bh-desc-valign-bottom .bh-desc-fe62989c {
    margin-top: auto;
    margin-bottom: 0;
}

.bh-desc-fe62989c {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
    font-size: clamp(12px, 3.5cqw, 18px);
    line-height: 1.5;
    text-shadow: 0 0 var(--desc-glow-size, 10px) var(--desc-glow-color, rgba(255,255,255,0.6)),
                 0 0 var(--desc-glow-strength, 2px) var(--desc-glow-color, rgba(255,255,255,0.6));
    width: fit-content;
}

/* Fluid Description Overwrite via Container Query Clamp */
.bh-desc-fe62989c.bh-fluid-desc {
    font-size: clamp(
        var(--desc-fluid-min, 12px),
        var(--desc-fluid-scale, 3.5cqw),
        var(--desc-fluid-max, 18px)
    );
}

/* Hover Effect */
.bh-container-fe62989c:hover .bh-image-fe62989c {
    transform: scale(1.1);
}

.bh-container-fe62989c:hover .bh-desc-fe62989c {
    opacity: 1;
    transform: translateY(0);
}