/* Shared responsive corrections. Loaded after page styles; desktop layouts stay intact. */
.nav-sub-toggle{display:none}
@media(max-width:1279px){
 .header .bd .nav{width:min(86vw,420px);overflow-y:auto;overscroll-behavior:contain;padding-top:16px;padding-bottom:env(safe-area-inset-bottom,16px)}
 .header .bd .nav ul li>a{height:auto;min-height:56px;line-height:1.5;padding:17px 58px 17px 22px;overflow-wrap:anywhere}
 .header .bd .nav ul li>.sub .item{height:auto;min-height:46px;line-height:1.5;padding:13px 22px 13px 30px;white-space:normal;overflow-wrap:anywhere}
 .header .nav .nav-sub-toggle{display:block;position:absolute;right:8px;top:6px;width:44px;height:44px;border:1px solid #e5e7ea;background:#fff;color:#333;font-size:24px;cursor:pointer}
 .header .bd .tools{flex-shrink:0;align-items:center}
 .header .bd .tools .search .search-box{position:fixed;top:60px;right:8px;width:calc(100vw - 16px);max-width:433px;box-shadow:0 8px 20px #0002}
 .header .bd .tools .search .search-box input{min-width:0;height:52px;font-size:16px}
 .header .bd .tools .search .search-box button{width:52px;height:52px;flex-shrink:0}
 .header .bd .tools .btn-lang{width:auto;min-width:52px;max-width:100px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .header .bd .tools .custom-select .drop-list{max-width:calc(100vw - 20px);max-height:calc(100dvh - 76px);overflow:auto}
 .main,.l-box,.product-gallery,.product-info,.product-list .item,.contact-message .form{min-width:0}
 .footer .bd>*,.footer .bd dl dd{min-width:0;overflow-wrap:anywhere}
 .footer .bd dl{box-sizing:border-box;padding:0 10px}
 .footer .bd .info{max-width:none}
 .footer .bd dl dd a{display:inline-block;padding:5px 0;line-height:1.6}
 .product-list ul li .item .info{min-width:0;flex-wrap:wrap}
 .product-list ul li .item .info .desc{min-width:0;max-width:100%;overflow-wrap:anywhere}
 #product-catalog .product-list .data .l-scroll{height:auto;max-height:none;overflow:visible}
 .catalog-pagination{flex-wrap:wrap;justify-content:center}
 .catalog-pagination a,.catalog-pagination button{min-height:44px}
 .crumb .bd,.product-crumb .bd{flex-wrap:wrap;overflow-wrap:anywhere}
 .promotion-detail .bd,.case-article,.product-richtext{min-width:0;overflow-wrap:anywhere}
 .promotion-detail .bd img,.case-article img,.product-richtext img{max-width:100%!important;height:auto!important}
 .promotion-detail .bd iframe,.case-article iframe,.product-richtext iframe{max-width:100%}
 .promotion-detail .bd video,.case-article video,.product-richtext video{max-width:100%;height:auto}
 /* Contain wide CMS tables without changing their colors, cells or contents. */
 .mobile-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .mobile-table-scroll:focus-visible{outline:2px solid #a41626;outline-offset:2px}
 .contact-message .form{flex-basis:100%;width:100%}
 .contact-info ul li .item h3{max-width:100%;padding:0 16px;overflow-wrap:anywhere}
 .contact-map img,.home-map img{max-width:100%;height:auto}
 .home-enquiry input,.home-enquiry textarea,.home-enquiry select,.service-form input,.service-form textarea,.catalog-filter input,.catalog-filter select{font-size:16px!important;min-width:0;max-width:100%;box-sizing:border-box}
 .home-enquiry{box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
 .home-enquiry button{white-space:normal;min-height:44px}
}
@media(max-width:767px){
 .main{padding:28px 16px 36px}
 .main .l-box{padding:28px 0}
 .banner.section-banner{min-height:340px;padding:40px 20px}
 .banner.section-banner .txt h1,.banner.section-banner .txt .hero-heading{font-size:clamp(28px,8vw,38px);line-height:1.2;overflow-wrap:anywhere}
 .banner.section-banner .txt p{font-size:16px;line-height:1.65;overflow-wrap:anywhere}
 .banner.section-banner .section-cta{min-height:44px;box-sizing:border-box;white-space:normal}
 .index-banner .hero-content h1,.index-banner .hero-content h2{overflow-wrap:anywhere}
 .index-box4 .bd ul li .item .desc{pointer-events:none}
 .index-box2-swiper .item .desc,.index-box3-swiper .item .desc{min-width:0}
 .home-company-stats{gap:16px}
 .home-company-stats strong{font-size:24px}
 #product-catalog .product-category ul{gap:10px}
 #product-catalog .product-category ul li .item h3{height:auto;overflow:visible;min-height:5.8em;line-height:1.45;font-size:14px;overflow-wrap:anywhere}
 .product-gallery .product-swiper .product-item{height:clamp(290px,85vw,390px);padding:50px 32px 64px;background:#fff}
 .product-gallery .product-thumb-swiper .swiper-wrapper{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .product-gallery .product-thumb-swiper .swiper-slide{height:64px;box-sizing:border-box}
 .product-gallery .gallery-view-button{max-width:calc(100% - 80px);white-space:normal;min-height:44px;padding:8px 12px;line-height:1.3}
 .product-gallery .product-swiper .num{right:8px;font-size:12px}
 .product-gallery .product-swiper>.gallery-brandmark{width:100px;height:40px;box-sizing:border-box}
 .promotion-detail .hd h1,.promotion-detail .hd h2{font-size:26px;line-height:1.35;overflow-wrap:anywhere}
 .promotion-detail .hd .icons{flex-wrap:wrap;gap:8px}
 .contact-message{padding:24px 16px;margin:28px 0}
 .contact-message .desc h2{font-size:28px;line-height:1.3}
 .contact-message .desc .txt{font-size:15px;line-height:1.7}
 .form ul{margin:0}
 .form ul li{padding:10px 0}
 .form-control{box-sizing:border-box;min-height:44px}
 .footer .bd{padding:28px 16px 80px}
 .float-links{top:auto;bottom:max(10px,env(safe-area-inset-bottom));right:10px;transform:none;display:flex;gap:6px;padding:5px;background:#fffe;border-radius:28px;box-shadow:0 2px 12px #0002}
 .float-links .item{width:40px;height:40px;background-size:18px}
 .float-links .item+.item{margin-top:0}
 .float-links .ewm-div,.float-links .icon-x{display:none}
 body.o-h .float-links,body.enquiry-open .float-links{display:none}
}
@media(max-width:360px){
 .header .bd .logo img{max-width:128px;height:auto;max-height:30px}
 .header .bd .tools .btn{width:36px}
 .header .bd .tools .btn-lang{min-width:44px;max-width:70px;font-size:12px}
 #product-catalog .product-category ul{grid-template-columns:minmax(0,1fr)}
 #product-catalog .product-category ul li .item h3{min-height:0}
 .product-gallery .product-thumb-swiper .swiper-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
 .header .bd .nav,.product-gallery .gallery-zoom{transition:none}
}
@media(max-width:767px){
 .home-banner .hero-copy{left:20px;right:20px;max-width:calc(100% - 40px)}
 .home-banner .hero-copy h1,.home-banner .hero-copy h2{font-size:clamp(28px,8vw,36px);overflow-wrap:anywhere;line-height:1.2}
 .home-banner .hero-copy p{font-size:16px;line-height:1.6;margin-bottom:24px}
 .home-banner .hero-enquiry{max-width:100%;box-sizing:border-box;gap:18px;white-space:normal}
 .enquiry-captcha{flex-wrap:wrap;gap:10px}
 .enquiry-captcha label{flex:1 1 110px;max-width:none}
 .enquiry-refresh{flex:0 0 130px}
 .about-editable-content .desc,.about-office-card{min-width:0;overflow-wrap:anywhere}
 .about-editable-content img{max-width:100%}
 .about-editable-content video{width:100%;height:auto}
 .about-editable-content .about-section-contact .desc{grid-template-columns:minmax(0,1fr)}
 .case-related,.about-office-grid{min-width:0}
 .product-crumb .bd a{overflow-wrap:anywhere}
}
@media(max-width:360px){.about-process-grid{grid-template-columns:minmax(0,1fr)}}
