/* CLS prevention — reinforce critical-inline shell when this file loads async */



/* Non-photo carousels only — do not override fixed photo-hero heights */

.hero-swiper:not(.hero-swiper--photo):not(.swiper-initialized) .swiper-wrapper {

    display: block !important;

    transform: none !important;

}



.hero-swiper:not(.hero-swiper--photo):not(.swiper-initialized) .swiper-slide:not(:first-child) {

    display: none !important;

}



.hero-swiper:not(.hero-swiper--photo):not(.swiper-initialized) .swiper-slide {

    display: block !important;

    position: relative !important;

    width: 100% !important;

    opacity: 1 !important;

    visibility: visible !important;

    transform: none !important;

}



.hero-section--photo .hero-swiper--photo,

.hero-section--photo .hero-swiper--photo .swiper-wrapper,

.hero-section--photo .hero-swiper--photo .swiper-slide.hero-slide--photo {

    height: clamp(520px, 81vh, 936px);

    min-height: clamp(520px, 81vh, 936px);

}



.hero-swiper.swiper-initialized .swiper-wrapper,

.hero-swiper.swiper-fade .swiper-slide {

    height: 100% !important;

    min-height: 100% !important;

}



.hero-slide-watermark--featured {

    min-height: clamp(11rem, 22vh, 13.5rem);

    transform: none;

    left: 0;

    right: 0;

    margin-inline: auto;

}



/* hero-slide-photo sizing lives in critical-inline — do not override here (async load caused CLS) */



.hero-mobile-static {

    min-height: clamp(420px, 72vh, 560px);

    height: clamp(420px, 72vh, 560px);

}



.hero-mobile-static__photo {

    aspect-ratio: 480 / 270;

    width: min(96%, 480px);

    height: auto;

}



@media (max-width: 768px) {

    .hero-swiper-desktop {

        display: none !important;

    }



    .hero-mobile-static {

        display: block;

    }

}



@media (min-width: 769px) {

    .hero-mobile-static {

        display: none !important;

    }

}



@media (max-width: 768px) {

    .testimonials-swiper,

    .partners-swiper {

        min-height: 0;

    }

}



.section-padding {

    padding: 5rem 0;

}



.section-desc {

    min-height: 3.4em;

}



.feature-card {

    min-height: 240px;

    backdrop-filter: blur(16px);

    -webkit-backdrop-filter: blur(16px);

}



.stat-number {

    font-variant-numeric: tabular-nums;

    min-width: 5.5ch;

    display: inline-block;

}



@media (max-width: 991.98px) {

    .section-padding {

        padding: 3.5rem 0;

    }

}



.blog-card .card-img-top,

.card-img-top.blog-card__image {

    aspect-ratio: 16 / 9;

    width: 100%;

    height: auto;

    object-fit: cover;

}



.product-landing .product-hero__image {

    aspect-ratio: 4 / 3;

    width: 100%;

    height: auto;

}



.product-landing .pl-hero__visual {

    min-height: 280px;

}



.article-detail .ad-hero--image {

    min-height: clamp(180px, 28vh, 320px);

}



.site-header .brand-icon img {

    width: 28px;

    height: 28px;

    object-fit: contain;

}



.partners-swiper,

.testimonials-swiper {

    min-height: 120px;

}



body.public-site [data-aos],

body.public-site [data-aos].aos-init,

body.public-site [data-aos].aos-animate,

body.public-site [data-aos]:not(.aos-animate) {

    opacity: 1 !important;

    visibility: visible !important;

    transform: none !important;

}

