:root{--blue:#456f8c;--blue-dark:#2d5c7a;--text:#222;--line:#dce0e3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;background:#fff}
img{max-width:100%;height:auto}
a{color:inherit}
button{font:inherit}
.wrap{width:min(80%,1540px);margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:10px;z-index:1000;background:#fff;padding:8px}.skip-link:focus{top:10px}
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.contact-strip{background:var(--blue);color:#fff;height:41px}
.strip-inner{display:flex;align-items:center;gap:20px;height:100%;font-size:16px}
.strip-inner a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}
.strip-inner svg{width:18px;height:18px}
.site-header{background:#fff;position:relative;z-index:30}
.header-inner{display:flex;align-items:center;min-height:105px;gap:50px}
.brand{width:135px;flex:none;display:flex;align-items:center}
.brand img{width:110px;height:94px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:52px;color:var(--blue-dark);font-size:16px;font-weight:700}
.site-nav>a,.nav-products>a{display:inline-flex;align-items:center;min-height:60px;text-decoration:none;white-space:nowrap}
.site-nav a:hover,.site-nav a:focus-visible{color:#163c58}
.nav-products{position:relative;display:flex;align-items:center}
.chevron{font-size:20px;margin-left:9px;line-height:1}
.submenu-toggle{display:none}
.submenu{display:none;position:absolute;left:-10px;top:100%;width:285px;background:#fff;box-shadow:0 10px 25px #0002;z-index:50;padding:9px 0}
.nav-products:hover .submenu,.nav-products:focus-within .submenu{display:block}
.submenu a{display:block;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid #e8eef2}
.submenu a:last-child{border:0}
.menu-toggle{display:none}
.hero{position:relative}
.slides{position:relative;aspect-ratio:1700/650;overflow:hidden}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease}
.slide.active{opacity:1}
.slider-dots{display:flex;justify-content:center;align-items:center;gap:14px;height:76px;background:#fff}
.slider-dots button{width:9px;height:9px;background:#c7c7c7;border:0;border-radius:50%;padding:0;cursor:pointer}
.slider-dots button.active{background:#101010}
.slider-dots button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.highlights{display:grid;grid-template-columns:repeat(4,1fr);margin-top:47px;margin-bottom:100px;box-shadow:0 1px 33px #0000000d;background:#fff}
.highlight{text-align:center;padding:31px 16px 24px;border-right:1px solid #ddd;min-height:175px}
.highlight:last-child{border-right:0}
.highlight svg{display:block;margin:0 auto 10px;width:52px;height:52px;color:var(--blue)}
.highlight h2{font-size:18px;line-height:1.35;margin:0 0 9px;font-weight:700}
.highlight p{font-size:16px;line-height:1.45;margin:0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;margin-bottom:82px}
.intro-copy h2,.global h2{font-size:24px;line-height:1.25;color:var(--blue-dark);margin:0 0 22px}
.intro-copy p{font-size:15px;line-height:1.62;margin:0 0 17px}
.intro-points{display:flex;gap:70px;margin-top:30px}
.intro-points>div{display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.35}
.intro-points svg{width:29px;height:29px;color:var(--blue)}
.intro-points strong{font-weight:700}
.intro-media img{display:block;width:100%;aspect-ratio:600/400;object-fit:cover}
.intro-media ul{list-style:none;margin:0;padding:18px 21px 20px;background:var(--blue);color:#fff;font-size:15px;font-weight:600}
.intro-media li{margin:4px 0}.intro-media li::before{content:'✓';display:inline-grid;place-items:center;width:17px;height:17px;margin-right:8px;border-radius:50%;background:#fff;color:var(--blue);font-size:12px;font-weight:bold}
.values{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:75px}
.values>div{padding:14px 28px;border-left:1px solid #ddd}
.values svg{width:45px;height:45px;color:var(--blue);display:block;margin-bottom:18px}
.values h3{font-size:16px;color:var(--blue-dark);font-weight:700;margin:0 0 8px;padding-top:10px;border-top:1px solid var(--line)}
.values p{font-size:14px;line-height:1.48;margin:0}
.future{background:linear-gradient(#1742576e,#1742576e),url('assets/manufacturing.jpg') center center/cover no-repeat;min-height:485px;color:#fff;display:flex;align-items:center}
.future-inner{display:flex;justify-content:flex-end}
.future-panel{width:48%;border:7px solid #ffffff55;padding:35px 35px 28px}
.future-panel h2{font-size:26px;line-height:1.22;margin:0 0 18px}
.future-panel p{font-size:15px;line-height:1.5;margin:0 0 19px}
.future-panel a{display:inline-block;background:var(--blue-dark);color:#fff;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.3px;padding:11px 18px}
.global{display:grid;grid-template-columns:43% 57%;align-items:center;gap:2%;padding-top:80px;padding-bottom:78px}
.global-copy h2{font-size:24px;margin-bottom:19px}.global-copy p{font-size:15px;line-height:1.5;max-width:610px;margin:0 0 35px}
.certs{display:grid;grid-template-columns:repeat(4,70px);gap:18px 20px;align-items:center}
.certs img{width:70px;height:70px;object-fit:contain}
.world-map{width:100%;display:block}
.stats{background:var(--blue);color:#fff}
.stats-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0}
.stats-inner>div{text-align:center;border-right:1px solid #ffffff30;line-height:1.1}.stats-inner>div:last-child{border:0}
.stats strong{display:block;font-size:43px;line-height:1;font-weight:700}.stats span{display:block;margin-top:5px;font-size:17px;font-weight:600}
.portfolio{padding-top:78px;padding-bottom:75px}
.portfolio>h2{text-align:center;color:var(--blue-dark);font-size:29px;margin:0 0 43px;line-height:1.2}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px 30px}
.product-card{position:relative;background:var(--blue);color:#fff;min-height:365px;overflow:hidden;text-align:center}
.card-front,.card-back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;transition:opacity .36s ease,transform .36s ease}
.card-front img{width:70%;height:240px;object-fit:cover;display:block}
.card-front h3{font-size:23px;line-height:1.14;margin:22px 0 0;font-weight:700;max-width:96%}
.card-back{opacity:0;transform:translateY(20px);justify-content:space-around;padding:27px 32px}
.card-back h3{font-size:24px;line-height:1.2;margin:0}
.card-back p{font-size:18px;line-height:1.4;margin:7px 0;max-width:380px}
.card-back a{display:inline-block;background:#fff;color:#111;border-radius:3px;text-transform:uppercase;text-decoration:none;font-size:15px;line-height:1;font-weight:700;padding:14px 28px}
.card-back a:hover{background:#eaf2f8}
.product-card:hover .card-front,.product-card:focus-within .card-front,.product-card.is-open .card-front{opacity:0;transform:translateY(-20px);pointer-events:none}
.product-card:hover .card-back,.product-card:focus-within .card-back,.product-card.is-open .card-back{opacity:1;transform:translateY(0)}
.footer{background:var(--blue);color:#fff}
.footer-main{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:65px;padding:47px 0 34px;font-size:15px}
.footer-brand img{width:165px;height:130px;object-fit:contain;object-position:left center}
.footer h2{font-size:16px;margin:0 0 16px}.footer p{margin:0 0 15px;line-height:1.55}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}
.social{display:flex;gap:7px;margin-top:8px}.social a{font-size:16px;display:grid;place-items:center;width:18px;height:18px;background:#fff;color:var(--blue);border-radius:2px;font-weight:700}
.footer-bottom{background:#2e5d7b;font-size:13px}.footer-bottom>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:25px}.footer-bottom small{font-size:13px}
.translate-control{position:fixed;right:18px;bottom:0;z-index:100}
#translate-toggle{background:#ff9800;border:0;color:#fff;font-size:20px;line-height:1;font-weight:700;padding:14px 22px;box-shadow:0 0 10px #0003;cursor:pointer}
.translate-panel{background:#fff;padding:14px;box-shadow:0 0 15px #0003;min-width:205px}.translate-panel[hidden]{display:none}
@media(max-width:1200px){.site-nav{gap:28px}.header-inner{gap:28px}.wrap{width:min(84%,1540px)}.card-front img{height:200px}.product-card{min-height:330px}.card-back p{font-size:16px}}
@media(max-width:900px){.site-nav{gap:17px;font-size:14px}.header-inner{gap:18px}.brand{width:100px}.brand img{width:90px}.highlights{margin-bottom:75px}.highlight h2{font-size:16px}.highlight p{font-size:13px}.intro{gap:6%}.values>div{padding:12px}.card-front h3{font-size:18px}.card-front img{height:170px}.product-card{min-height:295px}.card-back{padding:16px}.card-back h3{font-size:19px}.card-back p{font-size:13px}}
@media(max-width:767px){
  .wrap{width:100%;padding-inline:24px}
  .contact-strip{height:38px}.strip-inner{justify-content:center;gap:15px;padding-inline:8px;font-size:12px}.strip-inner svg{width:17px;height:17px}
  .site-header{height:107px}.header-inner{height:100%;min-height:0;justify-content:space-between;padding-inline:35px}
  .brand{width:130px}.brand img{width:115px;height:100px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:49px;height:48px;padding:10px;background:var(--blue);border:0;cursor:pointer}.menu-toggle span{display:block;height:3px;width:100%;background:#fff}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:8px 24px 16px;background:#fff;box-shadow:0 14px 20px #0002;flex-direction:column;align-items:stretch;gap:0;font-size:16px}.site-nav.open{display:flex}
  .site-nav>a,.nav-products>a{min-height:42px;border-bottom:1px solid #e5e5e5}.nav-products{display:block}.nav-products>a{display:flex}.nav-products .chevron{display:none}
  .submenu-toggle{display:block;position:absolute;right:0;top:4px;padding:4px 16px;background:transparent;color:var(--blue);border:0;font-size:24px}
  .submenu{position:static;box-shadow:none;width:100%;padding:0 0 0 12px}.nav-products:hover .submenu,.nav-products:focus-within .submenu{display:none}.nav-products.expanded .submenu{display:block}
  .slides{aspect-ratio:1700/650}.slider-dots{height:38px;gap:14px}.slider-dots button{width:8px;height:8px}
  .highlights{width:100%;padding:0;margin-top:0;margin-bottom:58px;grid-template-columns:1fr;box-shadow:none}
  .highlight{min-height:205px;border-right:0;border-bottom:1px solid #ddd;padding:29px 20px 25px}
  .highlight svg{width:62px;height:62px;margin-bottom:12px}.highlight h2{font-size:26px;margin-bottom:12px}.highlight p{font-size:22px;line-height:1.4}
  .intro{grid-template-columns:1fr;gap:34px;margin-bottom:58px}.intro-copy h2{font-size:25px}.intro-copy p{font-size:16px}.intro-points{gap:35px}.intro-media{max-width:600px}
  .values{grid-template-columns:repeat(2,1fr);gap:25px 0;margin-bottom:60px}.values>div{padding:12px 20px}.values h3{font-size:16px}.values p{font-size:14px}
  .future{min-height:350px}.future-inner{justify-content:center}.future-panel{width:100%;max-width:550px;padding:23px;border-width:5px}.future-panel h2{font-size:23px}
  .global{grid-template-columns:1fr;padding-top:65px;padding-bottom:55px}.global h2{font-size:25px}.global p{font-size:16px}.certs{grid-template-columns:repeat(4,60px);gap:12px}.certs img{width:60px;height:60px}.world-map{margin-top:34px}
  .stats-inner{padding-block:22px}.stats strong{font-size:28px}.stats span{font-size:12px}
  .portfolio{padding-top:62px;padding-bottom:62px}.portfolio>h2{font-size:26px;margin-bottom:30px}.product-grid{grid-template-columns:repeat(2,1fr);gap:14px}.product-card{min-height:310px}.card-front{padding:12px}.card-front img{width:100%;height:190px}.card-front h3{font-size:17px}.card-back p{font-size:13px}.card-back h3{font-size:18px}.card-back a{font-size:11px;padding:11px 13px}
  .footer-main{grid-template-columns:1fr 1fr;gap:30px;padding-top:35px}.footer-brand{grid-column:1/-1}.footer-bottom>.wrap{flex-direction:column;align-items:flex-start}.footer-bottom nav{gap:14px}
  #translate-toggle{font-size:17px;padding:13px 16px}
}
@media(max-width:500px){.strip-inner{font-size:10px;gap:8px}.strip-inner svg{width:13px;height:13px}.header-inner{padding-inline:28px}.highlight{min-height:205px}.intro-points{gap:25px}.values{grid-template-columns:1fr 1fr}.values>div{padding:10px}.product-grid{grid-template-columns:1fr;gap:18px}.product-card{min-height:365px}.card-front img{width:74%;height:245px}.card-front h3{font-size:22px}.card-back{padding:25px}.card-back h3{font-size:23px}.card-back p{font-size:16px}.card-back a{font-size:14px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.stats strong{font-size:24px}.stats span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Inner pages */
.page-banner{background:var(--blue);color:#fff;text-align:center;padding:24px 0 25px}
.page-banner h1{font-size:26px;line-height:1.3;margin:0;font-weight:700}.page-banner p{font-size:18px;font-weight:600;margin:12px 0 0}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:58px;padding-bottom:55px;align-items:center}.about-intro h2,.about-goals h2{color:var(--blue-dark);font-size:25px;line-height:1.25;margin:0 0 17px}.about-intro p{font-size:16px;line-height:1.55;margin:0 0 16px;text-align:justify}.about-intro .intro-points{margin-top:24px}.about-intro .intro-points>div{min-width:145px}.about-goals{padding:55px 0 35px;background:#fafafa}.goals-grid{display:grid;grid-template-columns:42% 56%;gap:4%;align-items:start}.goals-grid>div>p{margin:0 0 22px;font-size:15px}.goal{display:flex;gap:12px;margin:15px 0}.goal b{background:var(--blue);color:#fff;min-width:65px;height:65px;display:grid;place-items:center;font-size:30px;font-weight:400}.goal h3{font-size:17px;margin:0 0 5px}.goal p{font-size:14px;margin:0;line-height:1.45}.goal-images{display:grid;grid-template-columns:1fr 1fr;gap:16px}.goal-images img{width:100%;height:590px;object-fit:cover}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;padding-top:44px;padding-bottom:55px}.catalog-card{min-width:0}.catalog-card>img{display:block;width:100%;height:295px;object-fit:cover}.catalog-copy{position:relative;background:#fff;margin:-22px 0 0 16px;padding:20px 16px 16px;box-shadow:0 2px 8px #0002;min-height:210px;display:flex;flex-direction:column}.catalog-copy h2{font-size:16px;margin:0 0 12px;line-height:1.25}.catalog-copy p{font-size:14px;line-height:1.55;margin:0 0 15px;flex:1}.button{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:700;text-align:center;padding:11px 16px;border:0;border-radius:2px}.button:hover,.button:focus-visible{background:var(--blue-dark)}.button.full{display:block;width:100%}
.detail-intro{padding:48px 0 32px;background:#fbfbfb}.detail-columns{display:grid;grid-template-columns:46% 51%;gap:5%;align-items:start}.detail-copy{font-size:16px;line-height:1.65}.detail-copy p{margin:0 0 18px}.detail-copy .button{margin-top:16px}.detail-photo{position:relative;margin:5px 18px 18px 0}.detail-photo:before{content:"";position:absolute;inset:-16px -18px 18px 18px;background:var(--blue)}.detail-photo img{position:relative;display:block;width:100%;aspect-ratio:1.3;object-fit:cover}.detail-copy h2{font-size:18px}.detail-extra{padding-top:18px;padding-bottom:65px;font-size:15px;line-height:1.6}.detail-extra h2{font-size:20px;line-height:1.3;margin:28px 0 15px;color:#111}.detail-extra p{margin:0 0 15px}.application-list{list-style:none;padding:0;margin:0 0 26px}.application-list li{position:relative;padding-left:37px;margin:0 0 17px}.application-list li:before{content:'–';position:absolute;left:0;color:var(--blue);font-weight:bold}.detail-copy table,.detail-extra table{width:100%;border-collapse:collapse;margin:15px 0 25px;font-size:14px}.detail-copy td,.detail-copy th,.detail-extra td,.detail-extra th{border:1px solid #ccc;padding:10px;text-align:left;vertical-align:top}.detail-copy tr:nth-child(even),.detail-extra tr:nth-child(even){background:#f4f4f4}.other-inquiry{padding-bottom:55px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:48px;padding-bottom:70px}.gallery-grid a{display:block;overflow:hidden}.gallery-grid img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .2s}.gallery-grid a:hover img{transform:scale(1.04)}
.contact-grid{display:grid;grid-template-columns:45% 46%;gap:9%;padding-top:55px;padding-bottom:70px;align-items:start}.office-details{padding:15px 0 0 55px}.office-block{position:relative;margin-bottom:36px}.office-block:before{content:'✉';position:absolute;left:-43px;top:0;color:#fff;background:var(--blue);height:32px;width:32px;display:grid;place-items:center}.office-block h2{font-size:19px;margin:0 0 12px}.office-block p{margin:0 0 12px;font-size:15px;line-height:1.7}.office-block a{text-decoration:none}.office-block a:hover{text-decoration:underline}.contact-images{padding:26px;box-shadow:0 3px 14px #0002;display:grid;gap:15px}.contact-images img{display:block;width:100%;max-height:350px;object-fit:cover}
@media(max-width:900px){.catalog-card>img{height:225px}.catalog-copy{min-height:255px}.goal-images img{height:500px}}
@media(max-width:767px){.page-banner{padding:24px 0}.page-banner h1{font-size:23px}.page-banner p{font-size:15px}.about-intro,.goals-grid,.detail-columns,.contact-grid{grid-template-columns:1fr;gap:30px}.about-intro{padding-top:35px}.goal-images img{height:390px}.catalog-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.detail-photo{margin-top:10px}.contact-grid{padding-top:35px}.office-details{padding-left:45px}}
@media(max-width:520px){.catalog-grid{grid-template-columns:1fr}.catalog-card>img{height:270px}.catalog-copy{min-height:0}.gallery-grid{gap:10px}.gallery-grid img{height:160px}.goal-images img{height:290px}.detail-copy table,.detail-extra table{font-size:12px}.detail-copy td,.detail-copy th,.detail-extra td,.detail-extra th{padding:5px}}
