/* Shared sizing and accessible interactions across every public page. */
*,*::before,*::after{box-sizing:border-box}
main{overflow-x:clip}
h1,h2,h3,p,dd{word-break:keep-all;overflow-wrap:anywhere}
.shell>*{min-width:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3182f6;outline-offset:5px}
.button,.header-contact,.text-link{min-height:44px}
.button i{flex-shrink:0}
.header-inner{gap:28px}
.desktop-nav{gap:24px;white-space:nowrap}
.header-contact{white-space:nowrap}
.hero-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}
.hero-visual{width:100%;max-width:500px}
.hero-copy h1 span{white-space:normal}
.hero-copy h1{font-size:clamp(48px,4.6vw,80px);line-height:1.17}
.hero-actions{flex-wrap:wrap;gap:22px}
.client-line{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.client-line h2{font-size:clamp(48px,7vw,108px)}
.insight-row{grid-template-columns:38px minmax(0,1fr) 24px}
.catalog-item{grid-template-columns:32px minmax(0,.95fr) minmax(0,1fr) 24px;gap:24px}
.patent-row{grid-template-columns:32px minmax(0,1fr) 155px 20px;gap:22px}
.product-description dl div{grid-template-columns:130px minmax(0,1fr)}
.footer-info span{display:inline-block;margin:4px 16px 0 0}
.footer-info p{line-height:1.8}
.footer-links{flex-wrap:wrap}
.contact-quick p{grid-template-columns:80px minmax(0,1fr)}
.contact-quick a{overflow-wrap:anywhere}
.form-grid input,.form-grid textarea,.form-grid select{font-size:16px;min-height:48px}
.check{line-height:1.7}.check input{width:20px;height:20px;flex:0 0 20px}
.product-card>p:not(.eyebrow){padding-right:20px}
.eyebrow{color:#667383}.hero-copy .eyebrow{color:#1764ca}
.feature-band .eyebrow.light,.rnd-direction .eyebrow.light{color:#667383}
.mobile-panel[inert]{visibility:hidden}
.reveal{opacity:1;transform:none}
@media(min-width:981px) and (max-width:1200px){
 .brand{min-width:150px}.desktop-nav{gap:18px}.header-inner{gap:20px}
 .hero-inner{padding:65px 40px;gap:30px}.hero-copy h1{font-size:46px}
 .process-intro{grid-template-columns:1fr 1.6fr}.process-intro>p:last-child{grid-column:2}
 .footer-bottom{grid-template-columns:1fr 2fr}.footer-links{grid-column:2}
}
@media(max-width:980px){
 .desktop-nav,.header-contact{display:none}.menu-toggle{display:block;margin-left:auto;min-width:44px;min-height:44px}
 .header-inner{height:70px}.brand{min-width:0}
 .mobile-panel{display:block;position:fixed;inset:70px 0 auto;height:calc(100dvh - 70px);background:white;padding:26px 24px;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .3s}
 .site-header.menu-active .mobile-panel{transform:none;visibility:visible}
 .mobile-panel nav{display:flex;flex-direction:column}.mobile-panel nav a{padding:16px 0;border-bottom:1px solid #e5e8eb;font-size:28px;font-weight:700}
 .mobile-panel>p{position:static;margin-top:32px;line-height:1.8}
 .site-header.menu-active .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
 .site-header.menu-active .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .hero-inner{display:block;min-height:0;padding:70px 40px}.hero-visual{display:none}.hero-copy h1{font-size:clamp(36px,7vw,62px)}
 .hero-copy h1 span{white-space:normal}.hero-copy>p:not(.eyebrow){max-width:580px}
 .client-line{grid-template-columns:1fr;gap:24px}
 .footer-bottom{grid-template-columns:1fr;gap:25px}
 .product-detail-hero{gap:30px}.product-detail-copy h1{font-size:52px}
}
@media(max-width:600px){
 :root{--shell:calc(100vw - 36px)}
 .section{padding-block:76px}.intro-section{padding-top:80px}
 .hero{padding:84px 10px 10px}.hero-inner{padding:48px 22px 54px;border-radius:24px;min-height:0}
 .hero-copy h1{font-size:clamp(30px,9.2vw,48px);line-height:1.22;letter-spacing:-.06em}
 .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}.hero-copy .eyebrow{font-size:10px;max-width:100%}
 .hero-actions{margin-top:30px;gap:12px}.hero-actions .button{min-width:0;width:100%;justify-content:center;gap:22px}
 .metric-band{padding:28px 0}.metrics{gap:10px}.metric{padding:24px 16px;border-radius:18px}
 .metric span{line-height:1.6}.section h2{font-size:clamp(30px,8vw,40px);line-height:1.3;letter-spacing:-.055em}
 .section-aside{margin-bottom:24px}.two-copy{margin-top:30px;gap:18px}.two-copy p{font-size:16px}
 .section-heading-row{gap:20px;margin-bottom:30px}.product-grid{gap:22px}
 .product-card h3{font-size:25px}.product-card>p:not(.eyebrow){line-height:1.8}
 .process-intro{margin-bottom:35px}.process-list{grid-template-columns:1fr}.process-item,.process-item:not(:first-child){min-height:0;padding:26px}
 .process-item h3{margin:30px 0 14px}.patent-card{padding:28px 24px}.patent-card h3{font-size:24px;line-height:1.4;margin-top:32px}
 .patent-card p{font-size:15px;line-height:1.8}.patent-copy{margin-bottom:0}
 .client-section{padding:48px 24px}.client-line h2{font-size:clamp(36px,10vw,54px);line-height:.95}
 .client-line p{font-size:17px}.client-section small{margin-top:30px;line-height:1.7}
 .insight-row{grid-template-columns:minmax(0,1fr) 20px;gap:10px;padding:24px 20px}
 .insight-row>span{display:none}.insight-row h3{font-size:22px;line-height:1.4}.insight-row div>p:last-child{font-size:14px;line-height:1.7}
 .site-footer{padding-top:70px;border-radius:28px 28px 0 0}.footer-top{padding-bottom:55px;gap:30px}.footer-top h2{font-size:36px;line-height:1.3}
 .footer-bottom{padding-block:30px}.footer-info{font-size:13px}.copyright{line-height:1.7;gap:14px}
 .page-hero{padding-top:130px;padding-bottom:55px}.page-hero-index{margin-bottom:28px}.page-hero-copy h1{font-size:clamp(34px,10vw,48px);line-height:1.25}
 .page-hero-copy .lead{font-size:17px;line-height:1.8;margin-top:26px}.wide-visual{height:300px}.factory-abstract{border-radius:24px}
 .value-card,.value-card:not(:first-child),.rnd-grid article,.rnd-grid article:not(:first-child){min-height:0;padding:28px}.value-card h3{margin:48px 0 18px}
 .catalog-item{grid-template-columns:minmax(0,1fr) 24px;gap:14px;padding:18px}.catalog-no{grid-column:1}.catalog-image{grid-column:1/-1;grid-row:2}.catalog-copy{grid-column:1/-1;grid-row:3}.catalog-item>i{grid-column:2;grid-row:1}
 .catalog-copy{padding:10px 4px}.catalog-copy h2{font-size:30px}
 .patent-row{grid-template-columns:minmax(0,1fr) 20px;padding:26px 20px;gap:15px}.patent-row>span{display:none}.patent-row>div{grid-column:1}.patent-row>b{grid-column:1}.patent-row>i{grid-column:2}.patent-row h3{font-size:23px;line-height:1.4}
 .project-card{padding:26px 22px}.project-top{grid-template-columns:24px 1fr;gap:12px}.project-body{padding:35px 0;gap:8px}.project-meta{line-height:1.8;letter-spacing:0}
 .partner-statement blockquote{font-size:26px;margin:30px 0}.article-copy h2{font-size:28px}.insights-grid{gap:48px}
 .post-page{padding-top:120px;padding-bottom:70px}.post-header{margin-bottom:35px}.post-header h1{font-size:38px;line-height:1.3}.post-header>p:last-child{font-size:18px}.post-content{margin:45px auto}
 .contact-hero{padding-top:135px;padding-bottom:50px}.contact-hero h1{font-size:42px;line-height:1.25}.contact-quick{margin-top:15px}.contact-area{padding:20px;gap:40px}
 .inquiry-form{padding:24px 18px}.form-grid{gap:24px;margin-top:28px}.form-heading h2{font-size:32px}.inquiry-form>.button{width:100%;min-width:0;gap:12px}
 .product-description dl div{grid-template-columns:1fr;gap:8px}.large-copy{font-size:21px}.product-detail-copy h1{font-size:40px;line-height:1.3}
 .legal-page{padding-top:140px;padding-bottom:80px}.legal-page h1{font-size:38px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
