.fy-desktop-banner-track {
    display: flex;
    height: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.fy-desktop-banner-track::-webkit-scrollbar { display: none; }
.b2c-home-banner .fy-desktop-banner-slide { position: relative; height: 100%; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.fy-banner-link { position: absolute; inset: 0; display: block; z-index: 1; }
.fy-banner-link:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
.b2c-home-landing .fy-mobile-promo-controls { z-index: 2; }
.b2c-home-banner.fy-managed-desktop-banner::after { display: none; }
.b2c-home-banner.fy-managed-desktop-banner img { object-fit: fill; }
.fy-desktop-banner-dots { position: absolute; z-index: 2; bottom: 8px; left: 50%; transform: translateX(-50%); display: flex; border-radius: 24px; background: #07385899; padding: 0 8px; }
.fy-desktop-banner-dots button { display: grid; place-items: center; width: 32px; height: 44px; padding: 0; border: 0; background: transparent; }
.fy-desktop-banner-dots span { display: block; width: 7px; height: 7px; border-radius: 50%; background: #fff; opacity: .45; }
.fy-desktop-banner-dots [aria-pressed="true"] span { opacity: 1; }
.fy-desktop-banner-dots button:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
@media (min-width: 768px) {
    .b2c-home-landing .b2c-home-banner { height: auto; }
    .b2c-home-landing .b2c-home-banner picture,
    .b2c-home-landing .b2c-home-banner img { height: auto; }
    .b2c-home-landing .fy-managed-desktop-banner { aspect-ratio: 1916 / 821; }
    .b2c-home-landing .fy-managed-desktop-banner .fy-desktop-banner-track { position: absolute; inset: 0; }
    .b2c-home-landing .fy-managed-desktop-banner picture,
    .b2c-home-landing .fy-managed-desktop-banner img { height: 100%; }
}
@media (max-width: 767.98px) {
    .b2c-home-landing .fy-mobile-promos.is-empty { display: none; }
    /* Let the service card overlap the artwork instead of a separate green strip. */
    .b2c-home-landing .fy-mobile-promos:has(.fy-managed-mobile-slide) { padding-bottom: 0; }
    .b2c-home-landing .fy-mobile-promo.fy-managed-mobile-slide { display: block; align-self: stretch; padding: 0; aspect-ratio: 1.85; }
    .fy-managed-mobile-slide picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
    .fy-managed-mobile-slide img { display: block; width: 100%; height: 100%; object-fit: fill; object-position: center; }
}
