/* Keep handheld layouts within the viewport; desktop layout is unchanged. */
@media(max-width:800px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{min-width:0}
 .wrap{padding-left:20px;padding-right:20px}
 .head{grid-template-columns:minmax(0,1fr);padding:20px;gap:16px;min-width:0}
 .head>*{min-width:0}
 .brand,.brand img{width:180px}
 .search{grid-column:1;width:100%;max-width:none;min-height:48px;order:0}
 .search input{width:0;min-width:0;padding:12px;font-size:16px}
 .search button{padding:0 18px;flex-shrink:0}
 .blog-links{grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
 .blog-links a{width:100%;height:44px;padding:8px 4px;font-size:13px;min-width:0;letter-spacing:-.5px}
 header.wrap .nav{margin:0;padding:12px 20px;gap:8px 18px;flex-wrap:wrap;white-space:normal;overflow:visible;font-size:14px;line-height:1.5}
 .nav a,.nav button{display:flex;align-items:center;min-height:36px}
 .section.wrap{padding-left:20px;padding-right:20px}
 .slide .wrap{min-height:0;padding:28px 24px 64px;gap:18px}
 .slide h1{font-size:clamp(25px,6.5vw,32px);line-height:1.4;letter-spacing:-1px;margin:14px 0}
 .slide p{font-size:15px;line-height:1.7;margin:12px 0}
 .slide .hero-photo{height:auto;max-height:210px;margin:0;object-position:center}
 .eyebrow{font-size:12px;letter-spacing:.3px}
 .banner-actions{gap:8px}
 .slide .banner-cta{padding:11px 12px;font-size:13px}
 .carousel-controls>button{top:auto;bottom:14px;transform:none;left:20px;width:34px;height:34px}
 .carousel-controls>#slideNext{right:20px}
 .carousel-dots{bottom:26px}
 .lead{line-height:1.7;font-size:14px;overflow-wrap:anywhere}
 .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cat{min-width:0;padding:14px 12px;min-height:64px;font-size:14px;gap:8px}
 .footer{font-size:13px;overflow-wrap:anywhere}
 .service .wrap{gap:18px}
 .service a{white-space:normal;font-size:14px;padding:13px 16px}
 .empty{padding:30px 16px}
}
@media(max-width:540px){
 .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .card-visual{height:150px;flex-basis:150px;padding:10px}
 .card-body{padding:12px 10px}
 .card h3{font-size:14px;min-height:42px;overflow-wrap:anywhere;word-break:normal}
 .product-price{font-size:17px;margin-bottom:10px}
 .card p.product-description{font-size:12px;min-height:54px;margin-bottom:12px;overflow-wrap:anywhere}
 .card button{padding:11px 4px;font-size:12px;min-height:40px}
 .photo-note{font-size:10px;max-width:calc(100% - 12px);left:6px;bottom:6px}
 .detail .photo{height:280px}
 .info h1{overflow-wrap:anywhere}
 .spec{grid-template-columns:80px minmax(0,1fr);gap:12px;font-size:14px;overflow-wrap:anywhere}
 .detail-links a{padding:12px;font-size:13px}
 .spec-table{font-size:14px}
 .guide-photo{height:240px}
 .source-box{overflow-wrap:anywhere}
 .inquiry-dialog{width:100%;padding:20px 16px}
 .inquiry-header h2{font-size:20px}
 .inquiry-fields input:not([type=radio]),.inquiry-fields select,.inquiry-fields textarea{min-width:0;font-size:16px}
}
@media(max-width:350px){
 .wrap,.section.wrap{padding-left:16px;padding-right:16px}
 .head{padding:18px 16px}
 .blog-links{gap:5px}
 .blog-links a{font-size:12px}
 .card-visual{height:130px;flex-basis:130px}
}
