/* Shared JRI visual system. Loaded after legacy layouts to preserve their content. */
:root{--navy:#071d36;--navy2:#102e4e;--blue:#123d78;--yellow:#ffd331;--ink:#14263d;--muted:#52647a;--paper:#f5f7fa;--line:#dce3eb;--shadow:0 8px 24px rgb(7 29 54 / 7%);--shell:min(1280px,calc(100% - 64px))}
body{font-size:16px;line-height:1.6}
h1,h2,h3{line-height:1.2;text-wrap:balance}
p{line-height:1.7}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #2873b7;outline-offset:4px}
.section{padding:72px 0}
.section-head{gap:48px;margin-bottom:32px}
.section-title,.text-block h2,.story-copy h2{font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.13;letter-spacing:-.025em;font-weight:800}
.eyebrow{font-size:.8rem;letter-spacing:.1em;color:var(--muted);line-height:1.6}
.eyebrow:before,.feature:before{background:var(--yellow);flex-shrink:0}
.check-list div:before,.about-links a:after,.reference-body small{color:var(--blue)}
.section-dark,.reference-archive-section{background:var(--navy)}
.page-hero{background:var(--navy);padding:48px 0}
.hero:before,.hero:after,.page-hero:before,.page-hero:after,.about-hero:after{display:none}
.page-hero h1,.about-hero-copy h1{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.1;letter-spacing:-.025em;max-width:920px;margin:16px 0}
.page-hero p,.about-hero-copy>p{font-size:1rem;line-height:1.7;max-width:760px;margin-bottom:0}
.breadcrumbs{font-size:.875rem;letter-spacing:.02em;line-height:1.5;margin-bottom:16px}
.about-hero{min-height:460px}.about-hero-copy{padding-top:56px;padding-bottom:56px}
.about-hero .eyebrow{color:#c6dcec}
.reference-hero .shell{padding-bottom:0}.reference-proof{margin-top:24px}
.btn,.header-cta{min-height:48px;padding:13px 22px;font-size:.875rem;line-height:1.35;letter-spacing:.01em;border-radius:3px;box-shadow:none;text-align:center}
.btn-primary,.header-cta{background:var(--yellow);color:var(--navy)}
.btn-outline{border:1px solid #dce5ef;background:transparent}
.btn:hover,.header-cta:hover{filter:brightness(.96)}
.cta-band{background:var(--yellow)}
.cap-card,.reference-card,.resource-card,.customer-panel,.customer-logo,.quote-form,.story-media img,.solution-hero img,.about-quality-callout{box-shadow:none}
.reference-card,.resource-card,.quality-card,.related-link,.core-card{border-radius:3px}
.about-quality-callout{border-left-color:var(--yellow)}
.cap-card p,.reference-body p,.process-step p,.feature,.subnav a,.factory-proof-grid span{font-size:.9375rem}
.cap-card span,.reference-body small,.metric span,.stat span,.quote-form label{font-size:.875rem}
.gallery{gap:24px}.gallery-item button{border-radius:3px}.gallery-item button:hover img{transform:none}
.gallery-item figcaption{font-size:.9375rem}.solution-hero img{border:0;object-fit:contain;background:var(--paper);height:auto;max-height:500px}
.site-footer{background:#08182d}.footer-grid{gap:40px}.footer-brand span,.footer-bottom{font-size:.875rem}
.site-header{background:#fff;backdrop-filter:none}
.header-inner.shell{width:calc(100% - 64px);max-width:1440px}
.brand{gap:12px;margin:0;min-width:0}.brand img{width:64px;height:64px;flex:0 0 64px}
.brand-copy{display:block;max-width:none}.brand strong{font-size:1.25rem;line-height:1.1;letter-spacing:-.02em}
.brand .brand-industry{font-size:.875rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:6px 0 0}
.brand-copy>span{font-size:.8125rem;line-height:1.4;margin-top:5px}
.nav-link,.nav-drop>button{position:relative;font-size:.875rem;letter-spacing:0;line-height:1.35;min-height:48px}
.nav-drop>button{display:flex;align-items:center;gap:10px}
.nav-drop>button:after{content:"";border:solid currentColor;border-width:0 1.5px 1.5px 0;padding:3px;transform:rotate(45deg);margin-top:-4px}
.nav-drop>button[aria-expanded="true"]:after{transform:rotate(225deg);margin-top:3px}
.drop-menu{border-top:3px solid var(--yellow);border-bottom:1px solid var(--line);border-radius:0 0 3px 3px;top:100%;left:0;width:310px;padding:10px;z-index:3}
.drop-menu a{font-size:.9375rem;line-height:1.4;min-height:44px;padding:12px;text-transform:none;letter-spacing:0}
@media(min-width:1041px){#resources-menu{left:auto;right:0}}
.lang-switch{gap:3px}.lang-switch button{min-height:44px;min-width:38px;font-size:.875rem}
@media(min-width:1041px){
 .header-inner{display:grid;grid-template-columns:240px 1fr auto auto;grid-template-rows:58px 56px;gap:0 22px;padding:0;min-height:114px}
 .brand{grid-column:1;grid-row:1/3;border-right:1px solid var(--line);padding-right:22px}
 .main-nav{grid-column:2/5;grid-row:2;order:initial;width:auto;display:flex;justify-content:space-between;gap:20px;position:static;padding:0}
 .lang-switch{grid-column:3;grid-row:1;justify-self:end;margin:0}
 .header-cta{grid-column:4;grid-row:1;margin:0;min-height:42px;padding:10px 20px}
 .main-nav>.nav-link,.nav-drop>button{padding:16px 0}
 .main-nav>.nav-link.active:after,.nav-drop>button.active:before{content:"";position:absolute;bottom:3px;left:0;right:0;height:3px;background:var(--blue)}
 .drop-menu .nav-link{width:100%;padding:12px}
}
.industrial-backdrop{inset:0;width:100%;object-position:center}
.home-industrial-hero:after{background:linear-gradient(90deg,rgba(4,23,44,.96),rgba(4,23,44,.82) 33%,rgba(4,23,44,.2) 70%,rgba(4,23,44,.1))}
.industrial-hero-content{min-height:540px;padding-top:52px;padding-bottom:52px}
.home-industrial-hero h1{font-size:clamp(2.5rem,4.6vw,4.65rem);line-height:1.04;max-width:850px;margin:20px 0}
.home-industrial-hero h1 span{max-width:670px}.home-industrial-hero p{font-size:1.125rem;max-width:620px;color:#e0e9f2}
.home-industrial-hero .eyebrow{color:#d8e7f5;font-size:.875rem}
.home-credentials{background:white;border-bottom:1px solid var(--line)}
.home-credentials>.shell{padding:24px 0}
.home-credentials .shell>.credential{display:flex;gap:18px;align-items:center;padding:0 24px}
.home-credentials .shell>.credential:first-child{padding-left:0}
.credential-icon{width:40px;height:44px;flex:0 0 40px;color:var(--blue)}
.home-credentials strong{font-size:1.25rem;text-transform:none;line-height:1.3}
.home-credentials span{color:var(--muted);font-size:.875rem}
.home-core.section{padding:48px 0}.home-core .section-title{font-size:clamp(1.8rem,2.7vw,2.8rem)}
.lang-th h1,.lang-th h2,.lang-th h3,.lang-th .section-title{line-height:1.3;letter-spacing:0;text-wrap:pretty}
@media(max-width:1040px){
 .header-inner.shell{width:calc(100% - 40px)}.header-inner{display:flex;min-height:82px;gap:12px;padding:0}
 .brand img{width:48px;height:48px;flex-basis:48px}.brand strong{font-size:1rem}.brand .brand-industry{font-size:.72rem;margin-top:4px}
 .brand-copy>span{font-size:.75rem;margin-top:3px}.brand{margin-right:auto;gap:10px}
 .main-nav{top:82px;max-height:calc(100dvh - 82px);padding:16px 24px 24px;gap:0}
 .nav-link,.nav-drop>button{padding:14px 0;min-height:48px}.nav-drop>button{justify-content:space-between}
 .drop-menu{width:100%;padding:0 0 8px 14px;border:0}.drop-menu a{padding:12px}
 .header-cta{display:none}.lang-switch{margin:0}.menu-toggle{min-height:44px;min-width:44px;padding:8px}
 .section{padding:56px 0}.section-head{gap:20px}
 .home-credentials>.shell{grid-template-columns:1fr 1fr;gap:24px}.home-credentials .shell>.credential{padding:0;border:0}
 .industrial-hero-content{min-height:500px}.home-industrial-hero h1{font-size:clamp(2.7rem,5.8vw,4rem);max-width:740px}
}
@media(max-width:680px){
 :root{--shell:calc(100% - 40px)}.header-inner.shell{width:calc(100% - 24px)}.header-inner{gap:3px}
 .brand-copy>span{font-size:.75rem}.brand img{width:42px;height:42px;flex-basis:42px}.brand{gap:8px}
 .lang-switch button{min-width:32px}.menu-toggle{min-width:40px}.menu-toggle span{width:22px}
 .section{padding:44px 0}.section-title,.text-block h2,.story-copy h2{font-size:1.85rem}
 .page-hero{padding:32px 0}.page-hero h1,.about-hero-copy h1{font-size:2.1rem;line-height:1.15}
 .page-hero p,.about-hero-copy>p{font-size:1rem}.about-hero-copy{padding:36px 0}.about-hero{min-height:430px}
 .industrial-hero-content{min-height:560px;padding:40px 0}.home-industrial-hero h1{font-size:clamp(2.1rem,8.6vw,3rem);line-height:1.08;margin:20px 0}
 .home-industrial-hero:after{background:linear-gradient(90deg,rgba(4,23,44,.94),rgba(4,23,44,.74))}
 .industrial-backdrop{object-position:62% center}.home-industrial-hero p{font-size:1rem}.home-industrial-hero .eyebrow{font-size:.75rem;letter-spacing:.06em;gap:9px}
 .hero-actions,.about-hero-actions{gap:12px;width:100%;margin-top:24px}.hero-actions .btn,.about-hero-actions .btn{width:100%;min-height:50px}
 .home-credentials>.shell{gap:24px 16px;padding:24px 0}.home-credentials .shell>.credential{gap:10px;align-items:flex-start}
 .credential-icon{width:28px;height:34px;flex-basis:28px}.home-credentials strong{font-size:1rem}.home-credentials span{font-size:.875rem}
 .gallery{gap:20px}.footer-grid{gap:28px}.quote-form,.contact-card,.quality-card{padding:22px}
 .subnav .shell{gap:24px}.reference-proof span{font-size:.75rem}.factory-proof-grid span{font-size:.875rem}
 .resource-grid,.downloads-grid{grid-template-columns:1fr}.core-card h3{font-size:1.5rem}
}
