/* Fit to width, cap the height, and crop evenly around the image center. */
#hero.hero-3 {
    --carousel-height: clamp(360px, 42vw, 600px);
    background: #102a35;
}
#hero #heroSlider3,
#hero #heroSlider3 > .swiper-wrapper,
#hero #heroSlider3 > .swiper-wrapper > .swiper-slide {
    height: var(--carousel-height);
}
#hero .hero-inner {
    position: relative;
    height: 100%;
    overflow: hidden;
}
#hero .th-hero-bg {
    position: relative;
    height: 100%;
    background-color: #102a35;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
#hero .th-hero-bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
#hero .th-hero-bg:before { z-index: 1; }
#hero .hero-inner > .container {
    position: absolute;
    inset: 0;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
}
#hero .hero-style3 {
    padding: 24px 0;
    max-height: 100%;
    overflow-y: auto;
    overflow-wrap: anywhere;
}
#home-editor .hc-preview {
    height: 400px;
    min-height: 0;
    padding: 0;
    display: block;
    background: #102a35;
}
#home-editor .hc-preview img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
#home-editor .hc-copy {
    position: absolute;
    inset: 24px;
    max-height: 100%;
    overflow-y: auto;
    overflow-wrap: anywhere;
}
@media (max-width: 767px) {
    #home-editor .hc-preview { height: 360px; }
    #hero .hero-style3 { padding: 24px 12px; }
}
