/* Reserve the same display space before images, fonts and Slick finish loading. */
.perf-lazy { background: #fff; }
.perf-home .home_banner_main { width: 100%; min-width: 0; }
.perf-home .b03_itm_img img.perf-lazy { width: 100%; height: 100%; object-fit: contain; }
.home_banner_img_lf img { display: block; width: 100%; height: auto; }
.home_banner_img_lf img[src*="2026_10_15_16_25_36_80.png"] { aspect-ratio: 1600 / 780; }
.home_banner_img_lf:not(.slick-initialized):has(> p:first-child img[src*="2026_10_15_16_25_36_80.png"]) { aspect-ratio: 1600 / 780; }
.home_banner_img_lf:not(.slick-initialized) > p:not(:first-child) { display: none; }
.copyright a { text-decoration: underline; }
.slick-track[role="listbox"] { outline-offset: 2px; }
/* Hidden CMS blocks must not start offscreen image downloads. */
.box03 .wow { visibility: visible !important; animation: none !important; }
/* Keep offscreen product sections in the document without laying them out early. */
@supports (content-visibility: auto) {
    .perf-home .box03 .b03_main:nth-child(n+3), .perf-home .box05 { content-visibility: auto; contain-intrinsic-size: auto 700px; }
    @media (max-width: 768px) {
        .perf-home .box03 .b03_main:nth-child(n+3) { contain-intrinsic-size: auto 1400px; }
    }
}
@media (max-width: 768px) {
    /* The mobile header is never sticky; avoid replaying the desktop exit animation. */
    .perf-home #header { animation: none; }
    .perf-home #header .logo img { width: min(100%, 150px); height: auto; aspect-ratio: auto 15 / 8; }
    .hotline-mobile { color: #29272a; }
    .hotline-mobile a { color: #29272a; }
    .hotline-mobile a img { width: 24px; height: 24px; object-fit: contain; }
}
