/* Shared compact header and data-driven product navigation. */
:root{--site-header-height:126px;--site-top-height:88px}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
.site-header{z-index:30;isolation:isolate}
.site-header .top{max-width:1240px;height:auto;min-height:88px;gap:20px}
.site-header .brand{flex:0 0 142px}
.site-header .brand img{width:142px;max-width:100%;height:auto;display:block}
.site-header .nav{gap:18px;font-size:.875rem;line-height:1.4}
.site-header .nav a{white-space:nowrap}
.site-header .headcta{display:inline-flex;flex-shrink:0;font-size:.875rem;line-height:1.3;padding:14px 16px;min-height:46px;white-space:nowrap}
.site-header :is(a,button):focus-visible{outline:2px solid #242424;outline-offset:-3px}
.site-header .menu{min-width:44px;min-height:44px;padding:0 6px;line-height:1;flex-shrink:0;align-items:center;justify-content:center;gap:7px}.site-header .menu-icon{font-size:24px}.site-header .menu-label{font-size:14px;font-weight:600}
.product-strip{position:relative;border-top:1px solid #dedede;background:#f1f1f1;color:#242424}
.product-strip .product-strip-inner{display:flex;position:relative;align-items:center;gap:8px;max-width:1240px;min-width:0}
.product-rail{min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#999 #eee}
.product-nav-list{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0;width:max-content;min-width:100%}
.product-strip li{margin:0;list-style:none}
.product-nav-item{position:relative;display:flex;align-items:center;flex-shrink:0}
.product-strip a,.product-strip button{font-size:.875rem;line-height:1.35}
.product-nav-item>a,.product-all-item>a{display:flex;align-items:center;min-height:36px;padding:6px 9px;white-space:nowrap}
.product-strip .product-all-item>a{font-weight:700;text-decoration:none;background:var(--orange);color:#fff;padding:6px 14px}.product-strip .product-all-item>a:hover,.product-strip .product-all-item>a:focus-visible{background:#c65b0c;color:#fff}
.product-strip a:hover,.product-strip button:hover,.product-strip [data-product-toggle][aria-expanded=true]{background:#e1e1e1;color:#743504}
.product-more{flex-shrink:0;min-height:36px;padding:6px 9px;border:0;border-left:1px solid #ccc;background:transparent;font-weight:700;cursor:pointer}
.product-panel{position:fixed;z-index:40;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--site-header-height) - 24px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #ccc;border-top:3px solid var(--orange);box-shadow:0 8px 24px #0002;padding:10px}
.product-panel-title{font-size:.875rem;font-weight:700;margin:0;padding:8px 10px;color:#595959}
.product-panel ul{list-style:none;padding:0;margin:0}
.product-panel .product-nav-item{border-top:1px solid #eee;align-items:stretch}
.product-panel .product-nav-item>a{white-space:normal;min-height:44px;flex:1;padding:10px;line-height:1.5}
.product-strip [hidden]{display:none!important}
.product-scroll-hint{display:none;pointer-events:none}
.product-strip.has-overflow .product-scroll-hint{display:flex;position:absolute;right:24px;top:0;height:36px;width:28px;align-items:center;justify-content:flex-end;background:linear-gradient(90deg,#f1f1f100,#f1f1f1 55%);font-size:26px}
/* Scroll padding handles all anchor targets once, without doubling old margins. */
body :is(main [id],.product-catalog,.inquiry-section,.page-reading-layout article :is(h2,h3)[id]){scroll-margin-top:0}
.contents.page-contents{top:calc(var(--site-header-height) + 16px);max-height:calc(100dvh - var(--site-header-height) - 32px)}
.home-benefits{padding:32px 0 46px;border-bottom:1px solid #ddd}
.home-benefits .advantages{margin:0 0 26px}
.home-products{padding-bottom:24px}
@media(min-width:1281px){.site-header .nav{display:flex;position:static;padding:0;background:none;box-shadow:none;flex-direction:row}.site-header .menu{display:none}}
@media(max-width:1280px){
 :root{--site-header-height:110px;--site-top-height:72px}
 .site-header .top{min-height:72px;gap:14px}
 .site-header .nav{display:none;position:absolute;top:var(--site-top-height);left:0;right:0;padding:18px 24px;max-height:calc(100dvh - var(--site-top-height));overflow:auto;background:white;box-shadow:0 10px 24px #0002;flex-direction:column;align-items:stretch;gap:0;z-index:50}
 .site-header .nav.open{display:flex}
 .site-header .nav a{white-space:normal;padding:12px 0;font-size:1rem}
 .site-header .headcta{margin-left:auto}
 .site-header .menu{display:inline-flex;margin-left:0}
}
@media(max-width:760px){
 .site-header .top{gap:8px;padding:0 12px}
 .site-header .brand{flex:0 1 120px;min-width:64px}
 .site-header .brand img{width:120px}
 .site-header .headcta{padding:11px 10px;min-height:44px;flex-shrink:1;min-width:0;white-space:normal;text-align:center}
 .site-header .menu{min-width:44px;flex-direction:column;gap:3px;padding:0 4px}.site-header .menu-label{font-size:12px}
 .product-strip .product-strip-inner{padding:0 12px;gap:0}
 .product-rail{scrollbar-width:thin;touch-action:pan-x pan-y}
 .product-nav-list{padding-right:20px}
 .product-more{display:none!important}
 .product-strip.has-overflow .product-scroll-hint{right:12px}
 .contents.page-contents{position:static;max-height:none}
 .home-benefits{padding:16px 0 32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Comfortable touch targets while keeping the compact mouse layout. */
@media(max-width:760px),(hover:none),(any-pointer:coarse){
 .product-nav-item>a,.product-all-item>a,.product-more{min-width:44px;min-height:44px}
 .product-strip.has-overflow .product-scroll-hint{height:44px}
}
