.site-header .header-inner{position:relative;max-width:1440px;display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem)}
.site-header .site-nav{margin-left:auto;gap:clamp(1.5rem,3vw,3rem)}
.site-header .nav-toggle{width:44px;height:44px;padding:10px;flex-shrink:0}
.site-header .nav-toggle-bar{width:24px;height:2px;margin:5px 0}
@media(max-width:899px){
 .site-header .header-inner{flex-wrap:wrap;gap:0;padding-block:1rem}
 .site-header .wordmark{margin-right:auto}
 .site-header .nav-toggle{display:block;margin-left:0}
 .site-header #siteNav{order:5;flex-basis:100%;width:100%;margin:0;padding:0;display:none;gap:0}
 .site-header #siteNav.is-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.5rem 0}
 .site-header #siteNav>a:not(.btn){display:flex;justify-content:center;align-items:center;min-height:44px;font-size:.875rem;text-align:center}
 .site-header #siteNav .btn{display:none}
}
@media(min-width:900px){.site-header .nav-toggle{display:none}.site-header #siteNav{display:flex!important;width:auto}.site-header #siteNav .btn{display:inline-flex}}


/* CSS transitions are disabled; mobile drawer motion is controlled by cancellable JavaScript. */
/* Long words in Indic scripts may need to wrap inside narrow text columns. */


/* Display the supplied artwork at its original proportions with no excess canvas. */
.site-header .wordmark,.site-footer .wordmark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}
.site-header .wordmark-logo{display:block;width:92px;height:auto;aspect-ratio:340/166;overflow:hidden}
.site-footer .wordmark-logo{display:block;width:92px;height:auto;aspect-ratio:340/166;overflow:hidden}
.site-header .header-inner{align-items:center}

.badge-row .badge-dot{display:block;flex:0 0 4px;width:4px;height:4px}
.footer-legal .legal-separator{display:inline-block;margin-inline:.25em}
@media(max-width:899px){
 .site-footer .social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}
 .site-footer .social-text{display:none}
 .site-footer .social-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
}

/* One shared footer and outer alignment system on every page. */
:root{--gutter:clamp(1.25rem,5vw,6rem)}
.site-footer{background:#080808;color:#fff;padding:3rem 0 1.5rem;font-family:Arial,Helvetica,sans-serif;line-height:1.65}
.site-footer .footer-inner,.site-footer .footer-legal{width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--gutter)}
.site-footer .footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;padding-top:0;padding-bottom:3rem;border:0}
.site-footer .footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;width:auto;margin:0;padding:0}
.site-footer .footer-nav a{font-size:.8125rem;line-height:1.65;color:#aaa}
.site-footer .social-links{display:grid;grid-template-columns:repeat(4,44px);align-items:center;gap:1.5rem;margin:0;padding:0}
.site-footer .social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:#aaa}
.site-footer .social-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-footer .social-text{display:none}
.site-footer a:hover{color:white}
.site-footer .social-placeholder{cursor:default}
.site-footer .footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;border:0;border-top:1px solid #292929;padding-top:1.5rem;padding-bottom:0;color:#999;font-size:.75rem;line-height:1.65}
.site-footer .footer-legal p{margin:0;max-width:none}
.site-footer .footer-legal a{color:inherit}
@media(max-width:899px){
 .site-header .header-inner:has(#siteNav.is-open){padding-bottom:0}
 .site-header #siteNav.is-open{padding:1rem 0;align-items:center}
 .site-header #siteNav>a:not(.btn){margin:0;padding:0;line-height:1.5;align-self:stretch}
}
@media(max-width:759px){
 .site-footer .footer-inner{align-items:flex-start}
 .site-footer .footer-nav{width:100%;justify-content:space-between;gap:1rem}
 .site-footer .social-links{width:100%;grid-template-columns:repeat(4,minmax(44px,1fr));justify-items:center;gap:0}
 .site-footer .footer-legal{display:flex;flex-direction:column;align-items:flex-start}
}
/* Legal pages use the same header height and balanced section padding. */
body:has(.legal-main) .site-header{position:sticky;height:auto;background:#080808;border-bottom:1px solid #292929}
body:has(.legal-main) .header-inner{height:auto;padding-block:1.15rem}
.legal-main{padding-block:clamp(4rem,8vw,8rem)}
@media(max-width:899px){body:has(.legal-main) .header-inner{padding-block:1rem}}

/* Content-sized text, cropped artwork, and four equal separator gaps. */
.hero h1{margin-bottom:1rem}
.hero .hero-spec{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:clamp(.5rem,1.5vw,1rem)}
.hero-spec .hero-spec-item{flex:0 1 auto;min-width:0;max-width:34%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin:0;padding:0;gap:.35rem}
.hero-spec .hero-spec-item strong{font-size:clamp(.85rem,1.5vw,1.15rem);white-space:nowrap;line-height:1.3}
.hero-spec .hero-spec-item>span{font-size:clamp(.625rem,1vw,.8rem);line-height:1.5}
.hero-spec .hero-spec-divider{display:block;flex:0 0 1px;width:1px;align-self:stretch;background:#404040;margin:0;padding:0}
/* 604/866 retains the artwork's previous maximum visible width; 288/604 retains row height. */
.hero-spec .hero-assurance{flex:0 1 28%;max-width:125.543px;min-width:0;aspect-ratio:604/288;display:flex;align-items:center;justify-content:center;margin:0;padding:0}
.hero-assurance img{display:block;width:100%;max-width:none;height:auto;margin:0;padding:0}
@media(max-width:759px){
 .hero-spec .hero-spec-item strong{font-size:clamp(.85rem,4vw,1.15rem)}
 .hero-spec .hero-spec-item>span{font-size:clamp(.625rem,2.7vw,.8rem)}
}

/* Mobile product photograph: 4% taller, centered within the frame. */
@media(max-width:759px){.hero-wrap .unit-photo{aspect-ratio:1.1057692308;max-height:582.4px;object-position:50% 58.5%}}

/* Allow touch scrolling, but disable double-tap and pinch zoom where supported. */
html,body{touch-action:pan-x pan-y}
.site-header button,.site-header a,.product-visual,.service-photo{touch-action:pan-x pan-y}
