*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#11A5F5;--blue-dk:#0d8fd4;--navy:#0d2b4e;--graphite:#4A4A4F;--dark:#0E0E10;--light:#F5F5F5;--white:#ffffff;--border:#e2e8f0;--light-bg:#f4f7fb;--mid:#555e6d}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--white);color:var(--dark);overflow-x:hidden}

/* ─── TOP BAR ─── */
.topbar{background:#2b6892;padding:8px 0}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 2px;display:flex;justify-content:space-between;align-items:center}
.topbar-left{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.65)}
.topbar-left img{height:16px}
.topbar-right{display:flex;gap:24px;align-items:center}
.topbar-right a{font-size:12px;color:rgba(255,255,255,.8);text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .2s}
.topbar-right a:hover{color:#fff}
.topbar-right a i{color:var(--blue);font-size:11px}

/* ─── MAIN NAV ─── */
header{background:var(--white);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.nav-wrap{max-width:1280px;margin:0 auto;padding:0 2px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;height:88px}
.nav-logo{height:80px;object-fit:contain}
.nav-menu{display:flex;align-items:center;gap:0;list-style:none;height:100%}
.nav-item{position:relative;height:100%}
.nav-item>a{display:flex;align-items:center;gap:5px;height:100%;padding:0 18px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--navy);text-decoration:none;border-bottom:3px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.nav-item>a i{font-size:10px;transition:transform .2s}
.nav-item:hover>a{color:var(--blue);border-bottom-color:var(--blue)}
.nav-item:hover>a i{transform:rotate(180deg)}
/* Dropdown */
.dropdown{position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--blue);min-width:220px;box-shadow:0 8px 32px rgba(0,0,0,.12);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:300}
.nav-item:hover .dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}
.dropdown a{display:block;padding:11px 20px;font-size:13px;color:var(--graphite);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s,color .15s;font-weight:500}
.dropdown a:last-child{border-bottom:none}
.dropdown a:hover{background:var(--light-bg);color:var(--blue)}
.nav-cta{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:.5px;padding:11px 24px;background:var(--blue);color:#fff;text-decoration:none;transition:all .2s;margin-left:12px;white-space:nowrap}
.nav-cta:hover{background:var(--blue-dk)}
/* Mobile nav toggle */
.nav-cta-wrap{display:flex;align-items:center}
.nav-drawer-logo{display:none}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:22px;color:var(--navy)}

/* ── HERO: ANIMATED BLUE + ORBITING PRODUCTS ── */
.hero{position:relative;min-height:760px;overflow:hidden;display:flex;align-items:center;padding:80px 56px;
  background:linear-gradient(125deg,#0d2b4e 0%,#15406e 52%,#1e5793 100%)}
/* animated soft light blobs */
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:0;pointer-events:none}
.hero-blob.b1{width:520px;height:520px;background:#5ed0ff;top:-140px;left:-120px;animation:blobFloat 14s ease-in-out infinite}
.hero-blob.b2{width:420px;height:420px;background:#0a4f99;bottom:-160px;right:18%;animation:blobFloat 18s ease-in-out infinite reverse}
.hero-blob.b3{width:300px;height:300px;background:#9be7ff;top:30%;left:40%;animation:blobFloat 22s ease-in-out infinite}
@keyframes blobFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.12)}66%{transform:translate(-30px,25px) scale(.92)}}
/* subtle grid overlay */
.hero::before{content:'';position:absolute;inset:0;z-index:0;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(circle at 70% 50%,#000,transparent 75%)}

.hero-inner{position:relative;z-index:3;width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}

/* hero text */
.hero-body{max-width:600px;animation:heroRise 1s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.hero-sup{display:flex;align-items:center;gap:12px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#fff;margin-bottom:22px}
.hero-sup span{display:block;width:34px;height:2px;background:#fff}
h1.hero-h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(48px,7vw,90px);line-height:.92;text-transform:uppercase;color:#fff;margin-bottom:26px;text-shadow:0 10px 40px rgba(7,55,96,.35)}
h1.hero-h1 em{display:inline;font-family:'Alex Brush',cursive;font-style:normal;font-weight:400;text-transform:none;color:#8fe3ff;-webkit-text-stroke:0;font-size:clamp(44px,6vw,92px);line-height:1;margin-left:10px;text-shadow:0 8px 30px rgba(7,40,70,.35)}
.hero-sub{font-size:16px;font-weight:300;color:rgba(255,255,255,.9);max-width:420px;line-height:1.75;margin-bottom:42px}
.hero-ctas{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn-solid{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:16px 38px;background:var(--blue);color:#fff;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s}
.btn-solid:hover{background:#0d8fd4;transform:translateY(-2px)}
.hero-body .btn-solid{background:#fff;color:#0a6dbf}
.hero-body .btn-solid:hover{background:#0a3d66;color:#fff;box-shadow:0 14px 34px rgba(7,40,70,.4)}
.btn-text{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.9);text-decoration:none;display:flex;align-items:center;gap:8px;transition:all .2s}
.btn-text:hover{color:#fff;gap:14px}

/* ── ORBIT STAGE ── */
.orbit-stage{position:relative;width:100%;aspect-ratio:1;max-width:600px;margin:0 auto;justify-self:center;display:flex;align-items:center;justify-content:center}
/* decorative orbit rings */
.orbit-ring{position:absolute;top:50%;left:50%;border:1px dashed rgba(255,255,255,.32);border-radius:50%;transform:translate(-50%,-50%)}
.orbit-ring.r1{width:48%;height:48%}
.orbit-ring.r2{width:72%;height:72%}
.orbit-ring.r3{width:94%;height:94%;border-style:solid;border-color:rgba(255,255,255,.12)}

/* center hub */
.orbit-core{position:relative;z-index:5;width:40%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 30px 70px rgba(6,40,70,.45);animation:corePulse 4s ease-in-out infinite}
@keyframes corePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.orbit-core img{width:58%;object-fit:contain}

/* the two rotating systems */
.orbit-rotor{position:absolute;top:50%;left:50%;width:0;height:0;z-index:4}
.orbit-rotor.sys1{animation:spin 26s linear infinite}
.orbit-rotor.sys2{animation:spin 38s linear infinite reverse}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* each product chip is positioned out from center, then counter-rotated to stay upright */
.orb{position:absolute;width:164px;height:164px;cursor:pointer;
  transform:translate(-50%,-50%);transition:transform .25s}
.orb img{width:100%;height:100%;object-fit:contain;display:block}
.orb .orb-tag{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 6px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:#fff;text-align:center;text-shadow:0 1px 4px rgba(4,18,38,.9)}
.orb-spin{width:100%;height:100%;animation:spin 26s linear infinite reverse}
.sys2 .orb-spin{animation:spin 38s linear infinite}
.orb:hover{transform:translate(-50%,-50%) scale(1.08)}

.hero-scroll{position:absolute;left:56px;bottom:46px;z-index:5;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:14px}
.hero-scroll::before{content:'';display:block;width:1px;height:48px;background:rgba(255,255,255,.4);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}

/* ── PRODUCT POPUP — lands exactly over the orbit core (same place & size) ── */
.product-pop{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64%;aspect-ratio:1;z-index:30;
  pointer-events:none;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.product-pop.open{opacity:1;visibility:visible}
.pp-circle{position:relative;width:100%;height:100%;border-radius:50%;will-change:transform;pointer-events:auto}
.pp-circle>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 16px 34px rgba(3,18,38,.5))}
.pp-inner{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:center;
  text-align:center;padding:14% 14% 15%;opacity:0;transition:opacity .35s .22s}
.product-pop.open .pp-inner{opacity:1}
.pp-title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(15px,1.7vw,22px);text-transform:uppercase;color:#fff;line-height:1.12;letter-spacing:.5px;text-decoration:none;cursor:pointer;transition:color .2s;text-shadow:0 1px 3px rgba(4,18,38,.95),0 2px 16px rgba(4,18,38,.9)}
.pp-title:hover{color:#7ddcff;text-decoration:underline;text-underline-offset:4px}
.pp-close{position:absolute;top:8%;right:8%;z-index:4;width:36px;height:36px;border-radius:50%;pointer-events:auto;
  border:1px solid rgba(255,255,255,.4);background:rgba(13,43,78,.92);color:#fff;font-size:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 14px rgba(3,18,38,.5)}
.pp-close:hover{background:#fff;color:var(--navy);transform:rotate(90deg)}

@media(prefers-reduced-motion:reduce){
  .hero-blob,.orbit-rotor,.orb-spin,.orbit-core,.hero-scroll::before,.hero-body{animation:none!important}
  .pp-circle{transition:none!important}
}

/* ── TICKER ── */
.ticker{background:var(--blue);padding:14px 0;overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 32s linear infinite}
.ti{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:#fff;padding:0 30px}
.ti::after{content:'◆';margin-left:30px;opacity:.38;font-size:7px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── WELCOME (text + image split) ── */
.welcome{background:var(--white);padding:104px 56px}
.welcome-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.welcome-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.welcome-text h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,3.4vw,46px);line-height:1.15;color:var(--navy);margin-bottom:26px}
.welcome-text p{font-size:15px;color:var(--mid);line-height:1.85;margin-bottom:20px;max-width:560px}
.welcome-btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:15px 36px;background:var(--navy);color:#fff;text-decoration:none;display:inline-block;margin-top:14px;transition:all .2s}
.welcome-btn:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,165,245,.3)}
.welcome-img{position:relative}
.welcome-img img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 30px 70px rgba(13,43,78,.18);display:block}
/* scroll-reveal: text slides in from left, image from right */
.welcome-text,.welcome-img{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.welcome-text{transform:translateX(-70px)}
.welcome-img{transform:translateX(70px)}
.welcome.in-view .welcome-text,.welcome.in-view .welcome-img{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.welcome-text,.welcome-img{opacity:1;transform:none;transition:none}}

/* ── QUICK PRODUCT LOCATOR ── */
.locator{position:relative;padding:80px 56px;overflow:hidden;background:linear-gradient(135deg,#0d2b4e 0%,#185a78 100%)}
.locator-bg{position:absolute;inset:0;background:url('../images/bgbanner.jpg') center/cover no-repeat;opacity:.14;z-index:0}
.locator-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto}
.locator-title{text-align:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);color:#fff;margin-bottom:36px}
.locator-panel{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);backdrop-filter:blur(4px);padding:40px 44px}
.locator-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px 24px}
.lf{display:flex;flex-direction:column;gap:8px}
.lf label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:.3px;color:#fff}
.lf input,.lf select{background:#fff;border:none;color:#333;font-family:'Inter',sans-serif;font-size:14px;padding:13px 16px;outline:none;border-radius:4px;-webkit-appearance:none;appearance:none}
.lf input::placeholder{color:#9aa3ad}
.lf input:focus,.lf select:focus{box-shadow:0 0 0 2px var(--blue)}
.lf select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230d2b4e' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:38px;cursor:pointer}
.locator-actions{text-align:center;margin-top:30px}
.locator-btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;padding:15px 42px;background:#fff;color:var(--navy);border:none;cursor:pointer;border-radius:4px;transition:all .2s}
.locator-btn:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}

/* ── POPULAR PRODUCTS SLIDER ── */
.pop-products{background:#eef1f5;padding:84px 56px}
.pp-head{text-align:center;max-width:760px;margin:0 auto 44px}
.pp-head h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);color:var(--navy);margin-bottom:14px}
.pp-head p{font-size:15px;color:var(--mid)}
.pp-head p a{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue)}
.pp-slider{position:relative;max-width:1280px;margin:0 auto}
.pp-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;-ms-overflow-style:none;scrollbar-width:none}
.pp-track::-webkit-scrollbar{display:none}
.pp-card{flex:0 0 300px;scroll-snap-align:start;background:#fff;border:1px solid var(--border);border-top:3px solid transparent;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(13,43,78,.07);transition:box-shadow .2s,transform .2s,border-color .2s}
.pp-card:hover{box-shadow:0 16px 40px rgba(13,43,78,.15);transform:translateY(-4px);border-top-color:var(--blue)}
.pp-card-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--navy);padding:16px 18px;border-bottom:1px solid var(--border);text-align:center}
.pp-card-body{position:relative;display:flex;padding:24px;align-items:center;justify-content:center;background:var(--light-bg)}
.pp-card-img{width:100%;height:290px;display:flex;align-items:center;justify-content:center}
.pp-card-img img{max-width:100%;max-height:100%;object-fit:contain}
.pp-details-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:.3px;color:#fff;background:var(--blue);border:none;border-radius:4px;padding:11px 22px;cursor:pointer;opacity:0;pointer-events:none;box-shadow:0 8px 22px rgba(17,165,245,.4);transition:opacity .2s,transform .2s,background .2s}
.pp-card:hover .pp-details-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.pp-details-btn:hover{background:var(--blue-dk)}
.pp-card:hover .pp-card-img{filter:blur(1px) brightness(.9)}
.pp-card-img{transition:filter .2s}
/* Product details modal */
.pp-modal{position:fixed;inset:0;background:rgba(13,43,78,.55);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:1000}
.pp-modal.open{opacity:1;pointer-events:auto}
.pp-modal-box{background:#fff;border-radius:8px;max-width:420px;width:100%;padding:28px;position:relative;box-shadow:0 24px 60px rgba(13,43,78,.35);transform:translateY(12px);transition:transform .2s}
.pp-modal.open .pp-modal-box{transform:translateY(0)}
.pp-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:26px;line-height:1;color:var(--mid);cursor:pointer}
.pp-modal-close:hover{color:var(--navy)}
.pp-modal-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:var(--navy);padding-right:24px;margin-bottom:16px}
.pp-modal-img{height:150px;display:flex;align-items:center;justify-content:center;background:var(--light-bg);border-radius:4px;margin-bottom:18px}
.pp-modal-img img{max-width:100%;max-height:100%;object-fit:contain}
.pp-modal-specs div{font-size:13px;color:var(--mid);line-height:1.9}
.pp-modal-specs b{color:var(--navy);font-weight:700}
.pp-modal-specs .sku{color:var(--blue);font-weight:700;margin-top:6px}
.pp-nav{position:absolute;top:46%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(17,165,245,.4);transition:background .2s,transform .2s;z-index:3}
.pp-nav:hover{background:var(--blue-dk)}
.pp-nav:active{transform:translateY(-50%) scale(.92)}
.pp-nav.prev{left:-22px}
.pp-nav.next{right:-22px}
.pp-actions{text-align:center;margin-top:36px}

/* ── ENVIRONMENTAL SUSTAINABILITY (image + text) ── */
.eco{background:#dbeaf7}
.eco-inner{max-width:1280px;margin:0 auto;padding:64px 0px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.eco-img img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 24px 60px rgba(13,43,78,.16);display:block}
.eco-text h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,3.2vw,44px);line-height:1.15;color:var(--navy);margin-bottom:24px}
.eco-text p{font-size:15px;color:#2f455c;line-height:1.85;margin-bottom:18px;max-width:560px}
.eco-btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:15px 36px;background:var(--navy);color:#fff;text-decoration:none;display:inline-block;margin-top:12px;transition:all .2s}
.eco-btn:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,165,245,.3)}

/* ── LATEST NEWS SLIDER ── */
.latest-news{background:var(--light-bg);padding:84px 56px}
.ln-head{text-align:center;max-width:760px;margin:0 auto 44px}
.ln-head .ln-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.ln-head h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);color:var(--navy);margin-bottom:12px}
.ln-head p{font-size:15px;color:var(--mid)}
.ln-slider{position:relative;max-width:1280px;margin:0 auto}
.ln-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 14px;-ms-overflow-style:none;scrollbar-width:none}
.ln-track::-webkit-scrollbar{display:none}
.ln-card{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start;background:#fff;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.ln-card:hover{box-shadow:0 16px 40px rgba(13,43,78,.14);transform:translateY(-4px)}
.ln-img{aspect-ratio:16/9;overflow:hidden;background:var(--border)}
.ln-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ln-card:hover .ln-img img{transform:scale(1.06)}
.ln-body{padding:22px;display:flex;flex-direction:column;flex:1}
.ln-meta{display:flex;gap:14px;align-items:center;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;color:var(--mid);margin-bottom:12px}
.ln-meta i{color:var(--blue);margin-right:4px}
.ln-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:var(--navy);line-height:1.42;margin-bottom:16px;flex:1}
.ln-read{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.5px;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.ln-read:hover{gap:11px}
.ln-nav{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(17,165,245,.4);transition:background .2s,transform .2s;z-index:3}
.ln-nav:hover{background:var(--blue-dk)}
.ln-nav:active{transform:translateY(-50%) scale(.92)}
.ln-nav.prev{left:-22px}
.ln-nav.next{right:-22px}
.ln-actions{text-align:center;margin-top:36px}

/* ── STATEMENT (white) ── */
.statement{background:var(--white);padding:120px 56px;text-align:center;display:flex;flex-direction:column;align-items:center}
.stmt-label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:28px}
.stmt-quote{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,4vw,60px);line-height:1.12;color:var(--dark);max-width:940px;margin-bottom:72px}
.stmt-quote em{font-style:italic;color:var(--blue)}
.stmt-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:840px;background:rgba(14,14,16,.08);gap:1px}
.ss{background:var(--white);padding:40px 24px}
.ss-n{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(36px,4vw,60px);color:var(--blue);display:block;line-height:1}
.ss-l{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(14,14,16,.4);margin-top:8px;display:block}

/* ── MOSAIC PRODUCTS ── */
.mosaic-section{background:var(--dark);padding:80px 0 0}
.mosaic-hdr{padding:0 56px 44px;display:flex;justify-content:space-between;align-items:flex-end}
.sec-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.sec-ttl{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(28px,3vw,46px);line-height:1.1;color:var(--light)}
.mosaic-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:360px 260px;gap:3px;padding:0 56px 3px}
.mc{position:relative;overflow:hidden;cursor:pointer;background:#1a1a22}
.mc:nth-child(1){grid-row:span 2}
.mc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.mc:hover img{transform:scale(1.07)}
.mc-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,14,16,.9) 0%,rgba(14,14,16,.1) 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.mc-num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:3px;color:var(--blue);margin-bottom:5px}
.mc-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(17px,1.8vw,24px);color:#fff;margin-bottom:0;transition:margin-bottom .3s}
.mc-desc{font-size:13px;color:rgba(255,255,255,.58);line-height:1.5;max-height:0;overflow:hidden;transition:max-height .4s,margin-top .3s}
.mc:hover .mc-name{margin-bottom:0}
.mc:hover .mc-desc{max-height:60px;margin-top:8px}

/* ── ABOUT: photo left / text right ── */
.about-section{display:grid;grid-template-columns:1.15fr 1fr;min-height:680px}
.about-img{position:relative;overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover;display:block}
.about-txt{background:#111115;padding:100px 64px;display:flex;flex-direction:column;justify-content:center}
.about-txt .sec-lbl{margin-bottom:18px}
.about-txt .sec-ttl{color:var(--light);margin-bottom:24px}
.about-txt .sec-ttl em{font-style:italic;color:var(--blue)}
.about-body{font-size:15px;font-weight:300;color:rgba(245,245,245,.62);line-height:1.8;max-width:400px}
.ag{display:grid;grid-template-columns:1fr 1fr;background:rgba(245,245,245,.05);gap:1px;margin-top:48px}
.agc{background:#111115;padding:26px 0}
.agc-n{font-family:'Montserrat',sans-serif;font-weight:900;font-size:38px;color:var(--blue);display:block;line-height:1}
.agc-l{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(245,245,245,.38);margin-top:6px;display:block}

/* ── INDUSTRIES: sticky left + list right ── */
.industries-section{background:var(--white);padding:120px 56px}
.ind-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}
.ind-left{position:sticky;top:120px}
.ind-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.ind-h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(28px,2.8vw,44px);line-height:1.1;color:var(--dark);margin-bottom:22px}
.ind-body{font-size:15px;font-weight:300;color:rgba(14,14,16,.58);line-height:1.75;margin-bottom:32px}
.ind-list{border-top:1px solid rgba(14,14,16,.12)}
.ind-row{display:flex;align-items:center;padding:20px 0;border-bottom:1px solid rgba(14,14,16,.1);cursor:default;transition:padding-left .3s}
.ind-row:hover{padding-left:16px}
.ind-row:hover .ir-num,.ind-row:hover .ir-name{color:var(--blue)}
.ir-num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:2px;color:rgba(14,14,16,.28);width:50px;flex-shrink:0;transition:color .2s}
.ir-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(20px,2.2vw,32px);color:var(--dark);flex:1;transition:color .2s}
.ir-icon{width:44px;height:44px;border-radius:50%;background:rgba(17,165,245,.08);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:16px}

/* ── PROCESS: horizontal steps on dark ── */
.process{background:var(--dark);padding:100px 56px}
.proc-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.proc-hdr .sec-ttl{color:var(--light)}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(245,245,245,.06)}
.pstep{background:var(--dark);padding:40px 36px;transition:background .3s}
.pstep:hover{background:#111115}
.pstep-n{font-family:'Montserrat',sans-serif;font-weight:900;font-size:52px;color:rgba(17,165,245,.25);line-height:1;display:block;margin-bottom:20px;transition:color .3s}
.pstep:hover .pstep-n{color:rgba(17,165,245,.5)}
.pstep-icon{font-size:22px;color:var(--blue);margin-bottom:16px;display:block}
.pstep-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;color:var(--light);margin-bottom:10px}
.pstep-body{font-size:13px;font-weight:300;color:rgba(245,245,245,.52);line-height:1.7}

/* ── SUSTAINABILITY: full-bleed photo with blue overlay ── */
.sustain{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sustain-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1920&q=85&auto=format&fit=crop') center/cover no-repeat;background-color:#0a2e10}
.sustain-bg::after{content:'';position:absolute;inset:0;background:rgba(17,165,245,.82)}
.sustain-inner{position:relative;z-index:2;text-align:center;padding:80px 56px;max-width:920px}
.s-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:22px}
.s-ttl{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(36px,5.5vw,76px);text-transform:uppercase;line-height:.95;color:#fff;margin-bottom:24px}
.s-body{font-size:17px;font-weight:300;color:rgba(255,255,255,.82);line-height:1.75;max-width:620px;margin:0 auto 52px}
.s-icons{display:flex;justify-content:center;gap:52px;flex-wrap:wrap}
.si-item{text-align:center}
.si-icon{font-size:30px;color:rgba(255,255,255,.85);margin-bottom:10px}
.si-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.85)}

/* ── CLIENTS STRIP ── */
.clients{background:var(--light);padding:64px 56px;text-align:center}
.clients-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:rgba(14,14,16,.4);margin-bottom:40px}
.clients-logos{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap}
.client-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(15px,1.6vw,20px);color:rgba(14,14,16,.22);letter-spacing:1px;text-transform:uppercase;transition:color .2s;cursor:default}
.client-name:hover{color:var(--blue)}

/* ── QUOTE FORM: split ── */
.quote-section{display:grid;grid-template-columns:1fr 1.2fr;min-height:680px}
.quote-left{background:var(--dark);padding:100px 64px;display:flex;flex-direction:column;justify-content:center}
.quote-left img{height:48px;object-fit:contain;margin-bottom:44px;filter:brightness(0) invert(1)}
.ql-lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.ql-ttl{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,2.6vw,42px);color:var(--light);line-height:1.15;margin-bottom:20px}
.ql-body{font-size:14px;font-weight:300;color:rgba(245,245,245,.6);line-height:1.8;max-width:360px}
.ql-details{margin-top:36px;display:flex;flex-direction:column;gap:12px}
.ql-d{display:flex;gap:12px;align-items:center;font-size:14px;color:rgba(245,245,245,.62)}
.ql-d i{color:var(--blue);width:18px}
.quote-right{background:var(--light);padding:80px 64px;display:flex;flex-direction:column;justify-content:center}
.quote-right .sec-lbl{margin-bottom:28px}
.qform{display:flex;flex-direction:column;gap:14px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:5px}
.fg label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(14,14,16,.4)}
.fg input,.fg select,.fg textarea{background:#fff;border:1px solid rgba(14,14,16,.14);color:var(--dark);font-family:'Inter',sans-serif;font-size:14px;padding:13px 15px;outline:none;transition:border-color .2s;border-radius:0}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue)}
.fg select option{background:#fff}
.fg textarea{resize:vertical;min-height:90px}
.q-btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:16px 38px;background:var(--blue);color:#fff;border:none;cursor:pointer;transition:all .25s;align-self:flex-start}
.q-btn:hover{background:#0d8fd4;transform:translateY(-2px)}

/* ── FOOTER ── */
footer{background:var(--dark);border-top:1px solid rgba(17,165,245,.1);padding:64px 56px}
.ft-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;max-width:1280px;margin:0 auto 56px}
.ft-logo{height:72px;object-fit:contain;display:block;margin-bottom:18px;filter:brightness(0) invert(1)}
.ft-brand p{font-size:13px;color:rgba(245,245,245,.38);line-height:1.7;max-width:220px}
.ft-col h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.ft-col ul{list-style:none}
.ft-col li{margin-bottom:10px}
.ft-col a{font-size:13px;color:rgba(245,245,245,.42);text-decoration:none;transition:color .2s}
.ft-col a:hover{color:var(--light)}
.ft-bottom{border-top:1px solid rgba(245,245,245,.06);padding-top:22px;max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(245,245,245,.28)}
.socials{display:flex;gap:10px}
.socials a{width:36px;height:36px;border:1px solid rgba(245,245,245,.1);display:flex;align-items:center;justify-content:center;color:rgba(245,245,245,.36);text-decoration:none;font-size:13px;transition:all .2s}
.socials a:hover{border-color:var(--blue);color:var(--blue)}

/* ── SCROLL REVEAL (sections below the hero) ── */
.reveal-on .locator,
.reveal-on .pop-products,
.reveal-on .eco,
.reveal-on .latest-news,
.reveal-on .statement,
.reveal-on .mosaic-section,
.reveal-on .about-section,
.reveal-on .industries-section,
.reveal-on .process,
.reveal-on .sustain,
.reveal-on .clients,
.reveal-on .quote-section,
.reveal-on footer{opacity:0;transform:translateY(48px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-on .locator.in-view,
.reveal-on .pop-products.in-view,
.reveal-on .eco.in-view,
.reveal-on .latest-news.in-view,
.reveal-on .statement.in-view,
.reveal-on .mosaic-section.in-view,
.reveal-on .about-section.in-view,
.reveal-on .industries-section.in-view,
.reveal-on .process.in-view,
.reveal-on .sustain.in-view,
.reveal-on .clients.in-view,
.reveal-on .quote-section.in-view,
.reveal-on footer.in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal-on .locator,.reveal-on .pop-products,.reveal-on .eco,.reveal-on .latest-news,.reveal-on .statement,.reveal-on .mosaic-section,.reveal-on .about-section,.reveal-on .industries-section,.reveal-on .process,.reveal-on .sustain,.reveal-on .clients,.reveal-on .quote-section,.reveal-on footer{opacity:1!important;transform:none!important;transition:none!important}
}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .topbar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 15px;}
  .topbar-left{display:none}
  .nav-wrap{padding:0 16px;padding-top:6px;height:72px}
  .nav-logo{height:66px}
  .nav-cta-wrap{display:none}
  .nav-toggle{display:block;position:relative;z-index:430}
  /* right-side slide-in drawer */
  .nav-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:fixed;top:0;right:0;height:100vh;width:330px;max-width:86vw;
    background:#fff;padding:14px 0 32px;
    transform:translateX(105%);transition:transform .42s cubic-bezier(.5,.02,.18,1);
    box-shadow:-18px 0 55px rgba(13,43,78,.25);overflow-y:auto;z-index:410}
  .nav-menu.open{transform:translateX(0)}
  .nav-drawer-logo{display:flex;align-items:center;padding:10px 28px 22px;margin-bottom:8px;border-bottom:1px solid var(--border)}
  .nav-drawer-logo img{height:52px;object-fit:contain}
  .nav-item{height:auto;position:relative}
  .nav-item>a{height:auto;padding:16px 28px;justify-content:space-between;border-bottom:1px solid var(--border);border-left:3px solid transparent;font-size:14px;transition:border-color .2s,color .2s,background .2s}
  .nav-item.open-sub>a{color:var(--blue);border-left-color:var(--blue);background:var(--light-bg)}
  .nav-item>a i{font-size:12px;transition:transform .3s}
  .nav-item.open-sub>a i{transform:rotate(180deg)}
  /* accordion dropdowns inside the drawer */
  .dropdown{position:static;opacity:1;pointer-events:auto;transform:none;min-width:0;border:none;box-shadow:none;background:var(--light-bg);max-height:0;overflow:hidden;transition:max-height .35s ease}
  .nav-item.open-sub .dropdown{max-height:420px}
  .dropdown a{padding:13px 40px;border-bottom:1px solid rgba(0,0,0,.04)}
  /* staggered entrance for the items */
  @keyframes navItemIn{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
  .nav-menu.open .nav-item{animation:navItemIn .45s ease both}
  .nav-menu.open .nav-item:nth-of-type(1){animation-delay:.06s}
  .nav-menu.open .nav-item:nth-of-type(2){animation-delay:.12s}
  .nav-menu.open .nav-item:nth-of-type(3){animation-delay:.18s}
  .nav-menu.open .nav-item:nth-of-type(4){animation-delay:.24s}
  .nav-menu.open .nav-item:nth-of-type(5){animation-delay:.30s}
  .nav-menu.open .nav-item:nth-of-type(6){animation-delay:.36s}
  /* backdrop */
  .nav-backdrop{position:fixed;inset:0;background:rgba(7,24,44,.55);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;z-index:400}
  .nav-backdrop.show{opacity:1;visibility:visible}
  .hero{padding:60px 20px}
  .hero-inner{grid-template-columns:1fr;gap:60px}
  .orbit-stage{max-width:460px;order:2}
  .orb{width:120px;height:120px}
  /* hide orbit tag text on mobile — scroll throttling desyncs the counter-rotation and flips the text upside down */
  .orb .orb-tag{display:none}
  .hero-scroll{display:none}
  .welcome{padding:64px 20px}
  .welcome-inner{grid-template-columns:1fr;gap:40px}
  .welcome-img{order:-1}
  .locator{padding:60px 20px}
  .locator-panel{padding:28px 20px}
  .locator-form{grid-template-columns:1fr;gap:18px}
  .pop-products{padding:60px 20px}
  .pp-card{flex-basis:270px}
  .pp-nav.prev{left:2px}
  .pp-nav.next{right:2px}
  .eco-inner{grid-template-columns:1fr;gap:36px;padding:56px 20px}
  .eco-img{order:-1}
  .latest-news{padding:60px 20px}
  .ln-card{flex-basis:100%}
  .ln-nav.prev{left:2px}
  .ln-nav.next{right:2px}
  .statement{padding:72px 20px}
  .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 200px;padding:0 20px 3px}
  .mc:nth-child(1){grid-row:span 1;grid-column:span 2}
  .mosaic-hdr{padding:0 20px 36px}
  .about-section{grid-template-columns:1fr}
  .about-img{height:380px}
  .about-txt{padding:60px 20px}
  .industries-section{padding:80px 20px}
  .ind-wrap{grid-template-columns:1fr;gap:40px}
  .ind-left{position:static}
  .process{padding:70px 20px}
  .proc-steps{grid-template-columns:1fr 1fr}
  .proc-hdr{margin-bottom:40px}
  .sustain-inner{padding:64px 20px}
  .s-icons{gap:32px}
  .clients{padding:48px 20px}
  .clients-logos{gap:32px}
  .quote-section{grid-template-columns:1fr}
  .quote-left{padding:60px 20px}
  .quote-right{padding:60px 20px}
  .frow{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px}
  footer{padding:40px 20px}
  .stmt-stats{grid-template-columns:1fr}
}
@media(max-width:520px){
  .orbit-stage{max-width:340px}
  .orb{width:90px;height:90px}
  .orb .orb-tag{font-size:7px;padding:10px 4px 4px}
}

/* ══════════ PRODUCT DETAILS PAGE ══════════ */
/* banner */
.pd-banner{position:relative;overflow:hidden;padding:70px 56px 60px;
  background:linear-gradient(125deg,#0d2b4e 0%,#15406e 52%,#1e5793 100%)}
.pd-banner-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto}
.pd-crumbs{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:16px}
.pd-crumbs a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}
.pd-crumbs a:hover{color:#7ddcff}
.pd-crumbs span{color:var(--blue)}
.pd-banner h1{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,3.6vw,46px);color:#fff;line-height:1.12;text-transform:uppercase}

/* main product section */
.pd-main{background:var(--white);padding:80px 56px}
.pd-wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:flex-start}

/* gallery */
.pd-gallery{position:sticky;top:96px}
.pd-stage{position:relative;background:var(--light-bg);border:1px solid var(--border);border-radius:14px;
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:44px;cursor:zoom-in;overflow:hidden}
.pd-stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.75,.25,1)}
.pd-stage:hover img{transform:scale(1.06)}
.pd-zoom{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:rgba(13,43,78,.9);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;pointer-events:none;box-shadow:0 6px 18px rgba(3,18,38,.4)}
.pd-thumbs{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
.pd-thumb{width:88px;height:88px;border:2px solid var(--border);border-radius:10px;background:var(--light-bg);
  display:flex;align-items:center;justify-content:center;padding:10px;cursor:pointer;transition:border-color .2s,transform .2s}
.pd-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.pd-thumb:hover{transform:translateY(-3px)}
.pd-thumb.active{border-color:var(--blue);box-shadow:0 8px 20px rgba(17,165,245,.22)}

/* info */
.pd-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.pd-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);line-height:1.14;color:var(--navy);margin-bottom:14px;text-transform:uppercase}
.pd-code{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--blue);background:var(--light-bg);border:1px solid var(--border);border-radius:6px;padding:7px 14px;margin-bottom:24px}
.pd-desc p{font-size:15px;color:var(--mid);line-height:1.85;margin-bottom:16px;max-width:560px}
.pd-specs{list-style:none;margin:26px 0 30px;border-top:1px solid var(--border)}
.pd-specs li{display:flex;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid var(--border);font-size:14px}
.pd-specs li b{color:var(--navy);font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.3px}
.pd-specs li span{color:var(--mid)}
.pd-ctas{display:flex;gap:16px;flex-wrap:wrap}
.pd-btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  padding:15px 34px;text-decoration:none;display:inline-block;transition:all .2s;border:2px solid transparent;cursor:pointer}
.pd-btn.solid{background:var(--blue);color:#fff}
.pd-btn.solid:hover{background:var(--blue-dk);transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,165,245,.32)}
.pd-btn.ghost{background:transparent;color:var(--navy);border-color:var(--border)}
.pd-btn.ghost:hover{border-color:var(--navy);transform:translateY(-2px)}

/* reveal for product page */
.reveal-on .pd-main,.reveal-on .sp-section{opacity:0;transform:translateY(48px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-on .pd-main.in-view,.reveal-on .sp-section.in-view{opacity:1;transform:translateY(0)}
.pd-gallery,.pd-info{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.pd-gallery{transform:translateX(-60px)}
.pd-info{transform:translateX(60px)}
.pd-main.in-view .pd-gallery,.pd-main.in-view .pd-info{opacity:1;transform:translateX(0)}

/* similar products */
.sp-section{background:var(--light-bg);padding:80px 56px}
.sp-head{max-width:1280px;margin:0 auto 40px;text-align:center}
.sp-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.sp-head h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(24px,3vw,38px);color:var(--navy)}
.sp-slider{position:relative;max-width:1280px;margin:0 auto}
.sp-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 10px;scrollbar-width:none}
.sp-track::-webkit-scrollbar{display:none}
.sp-card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start;background:#fff;border:1px solid var(--border);border-top:3px solid transparent;border-radius:10px;overflow:hidden;
  text-decoration:none;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(13,43,78,.07);transition:box-shadow .2s,transform .2s,border-color .2s}
.sp-card:hover{box-shadow:0 16px 40px rgba(13,43,78,.15);transform:translateY(-4px);border-top-color:var(--blue)}
.sp-card-img{position:relative;height:290px;display:flex;align-items:center;justify-content:center;padding:26px;background:var(--light-bg)}
.sp-card-img img{max-width:100%;max-height:100%;object-fit:contain;transition:filter .2s}
.sp-card:hover .sp-card-img img{filter:blur(1px) brightness(.9)}
.sp-card:hover .pp-details-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.sp-card-body{padding:18px;text-align:center}
.sp-card-name{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--navy);margin-bottom:6px;text-decoration:none;transition:color .2s}
.sp-card-name:hover{color:var(--blue)}
.sp-card-code{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);font-weight:700}
.sp-nav{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:var(--blue);color:#fff;
  font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(17,165,245,.4);transition:background .2s,transform .2s;z-index:3}
.sp-nav:hover{background:var(--blue-dk)}
.sp-nav:active{transform:translateY(-50%) scale(.92)}
.sp-nav.prev{left:-18px}
.sp-nav.next{right:-18px}

/* lightbox */
.pd-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(8,24,44,.94);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s}
.pd-lightbox.open{opacity:1;pointer-events:auto}
.pd-lb-img{max-width:88vw;max-height:82vh;object-fit:contain;transform:scale(.94);transition:transform .3s}
.pd-lightbox.open .pd-lb-img{transform:scale(1)}
.pd-lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(13,43,78,.7);color:#fff;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.pd-lb-btn:hover{background:var(--blue)}
.pd-lb-close{top:26px;right:26px}
.pd-lb-prev{left:26px;top:50%;transform:translateY(-50%)}
.pd-lb-next{right:26px;top:50%;transform:translateY(-50%)}
.pd-lb-prev:hover,.pd-lb-next:hover{transform:translateY(-50%) scale(1.08)}
.pd-lb-count{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);
  font-family:'Montserrat',sans-serif;font-size:13px;letter-spacing:2px}

@media(max-width:960px){
  .pd-banner{padding:54px 20px 46px}
  .pd-main{padding:56px 20px}
  .pd-wrap{grid-template-columns:1fr;gap:36px}
  .pd-gallery{position:static;top:auto}
  .pd-info{transform:translateY(40px)}
  .pd-main.in-view .pd-info{transform:translateY(0)}
  .sp-section{padding:56px 20px}
  .sp-nav.prev{left:2px}
  .sp-nav.next{right:2px}
  .sp-card{flex:0 0 calc((100% - 24px)/2)}
  .sp-card-img{height:220px}
}
@media(max-width:520px){
  .pd-thumb{width:66px;height:66px}
  .pd-lb-btn{width:42px;height:42px;font-size:15px}
  .sp-card{flex:0 0 100%}
  .sp-card-img{height:250px}
  .pd-banner h1{font-size:22px}
  .pd-title{font-size:20px}
  .pd-crumbs{font-size:10px;letter-spacing:1px;margin-bottom:12px}
  .pd-ctas{flex-wrap:nowrap;gap:10px}
  .pd-btn{padding:12px 16px;font-size:10px;letter-spacing:1px;text-align:center;flex:1 1 auto}
}

/* ══════════ ALL PRODUCTS PAGE ══════════ */
.ap-section{background:var(--white);padding:56px 56px 90px}
.ap-wrap{max-width:1280px;margin:0 auto}
/* toolbar */
.ap-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:14px;
  position:sticky;top:0;z-index:20;background:var(--white);padding:18px 0}
.ap-search{position:relative;flex:1 1 320px;min-width:220px}
.ap-search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:14px}
.ap-search input{width:100%;padding:14px 16px 14px 44px;border:1px solid var(--border);border-radius:8px;background:var(--light-bg);
  font-family:'Inter',sans-serif;font-size:14px;color:var(--navy);transition:border-color .2s,box-shadow .2s}
.ap-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,165,245,.15);background:#fff}
.ap-sort{position:relative}
.ap-sort select{appearance:none;-webkit-appearance:none;padding:14px 42px 14px 18px;border:1px solid var(--border);border-radius:8px;background:var(--light-bg);
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--navy);cursor:pointer;transition:border-color .2s}
.ap-sort select:focus{outline:none;border-color:var(--blue)}
.ap-sort::after{content:'\f107';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--blue);pointer-events:none;font-size:14px}
.ap-count{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--mid);margin-bottom:26px}
.ap-count b{color:var(--navy)}
/* grid */
.ap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ap-card{background:#fff;border:1px solid var(--border);border-top:3px solid transparent;border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(13,43,78,.07);transition:box-shadow .25s,transform .25s,border-color .25s;
  opacity:0;transform:translateY(34px)}
.ap-card.in-view{opacity:1;transform:translateY(0);transition:box-shadow .25s,transform .55s cubic-bezier(.2,.75,.25,1),border-color .25s,opacity .55s ease}
.ap-card:hover{box-shadow:0 16px 40px rgba(13,43,78,.15);transform:translateY(-4px);border-top-color:var(--blue)}
.ap-card-img{position:relative;height:290px;display:flex;align-items:center;justify-content:center;padding:26px;background:var(--light-bg)}
.ap-card-img img{max-width:100%;max-height:100%;object-fit:contain;transition:filter .2s}
.ap-card:hover .ap-card-img img{filter:blur(1px) brightness(.9)}
.ap-card:hover .pp-details-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.ap-card-body{padding:18px;text-align:center}
.ap-card-name{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--navy);margin-bottom:6px;text-decoration:none;transition:color .2s}
.ap-card-name:hover{color:var(--blue)}
.ap-card-code{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);font-weight:700}
/* loader + empty */
.ap-loader{display:flex;justify-content:center;padding:34px 0;color:var(--blue)}
.ap-loader i{font-size:26px;animation:spin 1s linear infinite}
.ap-loader.hidden{display:none}
.ap-empty{text-align:center;padding:60px 20px;color:var(--mid)}
.ap-empty i{font-size:40px;color:var(--border);margin-bottom:16px}
.ap-empty h3{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--navy);font-size:20px;margin-bottom:8px}

@media(max-width:1080px){.ap-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){
  .ap-section{padding:40px 20px 70px}
  .ap-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .ap-toolbar{gap:10px;flex-wrap:wrap}
  .ap-search{flex:1 1 100%;min-width:0}
  .ap-sort{flex:1 1 calc(50% - 5px);min-width:0}
  .ap-sort select{width:100%;padding:14px 38px 14px 14px}
  .ap-toolbar .pd-btn{flex:1 1 100%;text-align:center}
  .ap-card-img{height:240px}
}
@media(max-width:520px){
  .ap-grid{grid-template-columns:1fr 1fr;gap:14px}
  .ap-card-name{font-size:13px}
  .ap-card-img{height:170px;padding:18px}
  .ap-sort{flex:1 1 100%}
}

/* ══════════ CONTACT PAGE ══════════ */
.ct-section{background:var(--white);padding:80px 56px}
.ct-wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:stretch}
/* info panel */
.ct-info{position:relative;overflow:hidden;border-radius:16px;padding:48px 44px;color:#fff;
  background:linear-gradient(150deg,#0d2b4e 0%,#15406e 55%,#1e5793 100%);box-shadow:0 26px 60px rgba(13,43,78,.28)}
.ct-info .hero-blob{opacity:.4}
.ct-info-in{position:relative;z-index:2}
.ct-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#7ddcff;margin-bottom:16px}
.ct-info h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin-bottom:16px}
.ct-info p.lead{font-size:15px;color:rgba(255,255,255,.82);line-height:1.8;margin-bottom:34px;max-width:420px}
.ct-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}
.ct-item .ic{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#7ddcff;font-size:16px}
.ct-item h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.4px;margin-bottom:4px}
.ct-item a,.ct-item span{color:rgba(255,255,255,.8);font-size:14px;line-height:1.7;text-decoration:none;transition:color .2s}
.ct-item a:hover{color:#7ddcff}
.ct-socials{display:flex;gap:12px;margin-top:34px}
.ct-socials a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;transition:background .2s,transform .2s}
.ct-socials a:hover{background:var(--blue);transform:translateY(-3px)}
/* form card */
.ct-form{background:#fff;border:1px solid var(--border);border-radius:16px;padding:44px;box-shadow:0 18px 50px rgba(13,43,78,.1)}
.ct-form h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;color:var(--navy);margin-bottom:6px}
.ct-form .sub{font-size:14px;color:var(--mid);margin-bottom:28px}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.ct-field{display:flex;flex-direction:column;gap:8px}
.ct-field.full{grid-column:1 / -1}
.g-recaptcha{transform-origin:left top;margin-top:4px}
.ct-field label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.4px;color:var(--navy)}
.ct-field input,.ct-field textarea,.ct-field select{border:1px solid var(--border);border-radius:8px;background:var(--light-bg);
  font-family:'Inter',sans-serif;font-size:14px;color:var(--navy);padding:13px 15px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.ct-field textarea{resize:vertical;min-height:130px}
.ct-field input:focus,.ct-field textarea:focus,.ct-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(17,165,245,.15);background:#fff}
.ct-submit{margin-top:24px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  padding:16px 40px;background:var(--blue);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}
.ct-submit:hover{background:var(--blue-dk);transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,165,245,.32)}
.ct-note{margin-top:18px;font-size:13px;font-weight:600;display:none}
.ct-note.show{display:block}
.ct-note.ok{color:#16a34a}
/* map */
.ct-map{width:100%;margin:0;padding:0}
.ct-map iframe{width:100%;height:420px;border:0;border-radius:0;display:block}
/* reveal */
.reveal-on .ct-section{opacity:0;transform:translateY(48px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-on .ct-section.in-view{opacity:1;transform:translateY(0)}
.ct-info,.ct-form{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.ct-info{transform:translateX(-60px)}
.ct-form{transform:translateX(60px)}
.ct-section.in-view .ct-info,.ct-section.in-view .ct-form{opacity:1;transform:translateX(0)}

@media(max-width:960px){
  .ct-section{padding:56px 20px}
  .ct-wrap{grid-template-columns:1fr;gap:28px}
  .ct-info,.ct-form{padding:34px 24px}
  .ct-form{order:-1;transform:translateY(40px)}
  .ct-section.in-view .ct-form{transform:translateY(0)}
}
@media(max-width:520px){
  .ct-grid{grid-template-columns:1fr}
  .ct-map iframe{height:320px}
}

/* ══════════ MEDIA PAGE ══════════ */
.mn-section{background:var(--white);padding:80px 56px}
.mn-wrap{max-width:1280px;margin:0 auto}
.mn-hdr{text-align:center;max-width:760px;margin:0 auto 48px}
.mn-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.mn-hdr h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);color:var(--navy);margin-bottom:12px}
.mn-hdr p{font-size:15px;color:var(--mid)}
/* news grid */
.mn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mn-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;
  text-decoration:none;box-shadow:0 8px 26px rgba(13,43,78,.07);transition:box-shadow .25s,transform .25s;
  opacity:0;transform:translateY(34px)}
.mn-card.in-view{opacity:1;transform:translateY(0);transition:box-shadow .25s,transform .55s cubic-bezier(.2,.75,.25,1),opacity .55s ease}
.mn-card:hover{box-shadow:0 16px 40px rgba(13,43,78,.15);transform:translateY(-4px)}
.mn-img{aspect-ratio:16/9;overflow:hidden;background:var(--border)}
.mn-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mn-card:hover .mn-img img{transform:scale(1.06)}
.mn-body{padding:22px;display:flex;flex-direction:column;flex:1}
.mn-meta{display:flex;gap:14px;align-items:center;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;color:var(--mid);margin-bottom:12px}
.mn-meta i{color:var(--blue);margin-right:5px}
.mn-tag{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);background:var(--light-bg);border-radius:4px;padding:4px 9px}
.mn-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:var(--navy);line-height:1.42;margin-bottom:14px;flex:1}
.mn-read{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.5px;color:var(--blue);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.mn-card:hover .mn-read{gap:11px}
/* gallery */
.mg-section{background:var(--light-bg);padding:80px 56px}
.mg-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mg-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;cursor:zoom-in;background:var(--border);
  opacity:0;transform:scale(.92)}
.mg-item.in-view{opacity:1;transform:scale(1);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.25,1)}
.mg-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mg-item:hover img{transform:scale(1.08)}
.mg-item::after{content:'\f00e';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:24px;background:rgba(13,43,78,.45);opacity:0;transition:opacity .25s}
.mg-item:hover::after{opacity:1}
/* tall/wide feature cells */
.mg-item.wide{grid-column:span 2}
.mg-item.tall{grid-row:span 2;aspect-ratio:auto}

@media(max-width:960px){
  .mn-section{padding:56px 20px}
  .mn-grid{grid-template-columns:1fr 1fr;gap:20px}
  .mg-section{padding:56px 20px}
  .mg-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .mn-grid{grid-template-columns:1fr}
  .mg-grid{grid-template-columns:1fr 1fr;gap:12px}
  .mg-item.wide{grid-column:span 2}
  .mg-item.tall{grid-row:span 1;aspect-ratio:1}
}

/* ══════════ SINGLE NEWS / ARTICLE PAGE ══════════ */
.na-section{background:var(--white);padding:70px 20px 90px}
.na-wrap{max-width:820px;margin:0 auto}
.na-meta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-bottom:22px;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;color:var(--mid)}
.na-meta i{color:var(--blue);margin-right:6px}
.na-tag{font-weight:700;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);background:var(--light-bg);border-radius:4px;padding:5px 11px}
.na-hero{margin:0 0 40px;border-radius:16px;overflow:hidden;box-shadow:0 22px 55px rgba(13,43,78,.16);aspect-ratio:16/9;background:var(--border)}
.na-hero img{width:100%;height:100%;object-fit:cover;display:block}
.na-body{font-family:'Inter',sans-serif;color:var(--graphite);font-size:16.5px;line-height:1.9}
.na-body>p{margin-bottom:24px}
.na-body>p:first-of-type{font-size:19px;line-height:1.75;color:var(--navy)}
.na-body h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:24px;color:var(--navy);margin:40px 0 16px}
.na-body h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;color:var(--navy);margin:32px 0 12px}
.na-body ul{list-style:none;margin:0 0 24px;padding:0}
.na-body ul li{position:relative;padding-left:30px;margin-bottom:12px}
.na-body ul li::before{content:'\f058';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;left:0;top:1px;color:var(--blue)}
.na-body blockquote{margin:32px 0;padding:22px 28px;border-left:4px solid var(--blue);background:var(--light-bg);border-radius:0 10px 10px 0;
  font-family:'Montserrat',sans-serif;font-weight:600;font-style:italic;font-size:18px;color:var(--navy);line-height:1.6}
.na-body img{max-width:100%;border-radius:12px;margin:12px 0 28px;display:block}
.na-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
/* share + back */
.na-foot{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;margin-top:44px;padding-top:28px;border-top:1px solid var(--border)}
.na-share{display:flex;gap:12px;align-items:center}
.na-share span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--navy)}
.na-share a{width:40px;height:40px;border-radius:50%;background:var(--light-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--navy);transition:all .2s}
.na-share a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-3px)}
.na-back{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap .2s}
.na-back:hover{gap:12px}
/* related */
.na-related{background:var(--light-bg);padding:72px 56px}

/* article reveal */
.reveal-on .na-section{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
.reveal-on .na-section.in-view{opacity:1;transform:translateY(0)}

@media(max-width:520px){
  .na-section{padding:44px 20px 64px}
  .na-body{font-size:15.5px}
  .na-body>p:first-of-type{font-size:17px}
  .na-body h2{font-size:21px}
  .na-related{padding:52px 20px}
}

/* smooth in-page anchor scrolling + offset below the header */
html{scroll-behavior:smooth}
.au-intro[id]{scroll-margin-top:90px}

/* ══════════ ABOUT PAGE ══════════ */
.au-eyebrow{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
/* intro */
.au-intro{background:var(--white);padding:88px 56px}
.au-intro-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.au-intro.solo .au-intro-in{grid-template-columns:1fr;max-width:820px;text-align:center}
.au-intro.solo .au-intro-txt ul{margin-left:auto;margin-right:auto;text-align:left}
.au-intro h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(26px,3.2vw,42px);line-height:1.15;color:var(--navy);margin-bottom:24px}
.au-intro h2 em{font-style:italic;color:var(--blue)}
.au-intro p{font-size:15px;color:var(--mid);line-height:1.85;margin-bottom:18px;max-width:560px}
.ind-benefits,.au-intro-txt ul{list-style:none;margin:6px 0 26px;padding:0;max-width:560px}
.ind-benefits li,.au-intro-txt ul li{position:relative;padding-left:30px;margin-bottom:12px;font-size:15px;color:var(--mid);line-height:1.6}
.ind-benefits li::before,.au-intro-txt ul li::before{content:'\f058';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;left:0;top:1px;color:var(--blue)}
.au-intro-img{position:relative}
.au-intro-img img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 30px 70px rgba(13,43,78,.18);display:block}
.au-intro-img .badge{position:absolute;right:-18px;bottom:-18px;background:var(--blue);color:#fff;border-radius:14px;padding:20px 26px;box-shadow:0 16px 36px rgba(17,165,245,.4);text-align:center}
.au-intro-img .badge b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:30px;line-height:1}
.au-intro-img .badge span{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;letter-spacing:1px;text-transform:uppercase}
/* stats band */
.au-stats{position:relative;overflow:hidden;padding:62px 56px;background:linear-gradient(125deg,#0d2b4e 0%,#15406e 52%,#1e5793 100%)}
.au-stats-in{position:relative;z-index:2;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.au-stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(32px,4vw,50px);color:#fff;line-height:1}
.au-stat span{display:block;margin-top:10px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#7ddcff}
/* mission / vision */
.au-mv{background:var(--light-bg);padding:84px 56px}
.au-mv-in{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.au-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--blue);border-radius:14px;padding:40px 38px;box-shadow:0 12px 34px rgba(13,43,78,.08)}
.au-card .ic{width:56px;height:56px;border-radius:14px;background:var(--light-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:22px}
.au-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;color:var(--navy);margin-bottom:14px}
.au-card p{font-size:15px;color:var(--mid);line-height:1.85}
/* values */
.au-values{background:var(--white);padding:84px 56px}
.au-vhead{text-align:center;max-width:720px;margin:0 auto 48px}
.au-vhead h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(24px,3vw,38px);color:var(--navy);margin-bottom:12px}
.au-vhead p{font-size:15px;color:var(--mid)}
.au-vgrid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.au-value{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px 28px;transition:box-shadow .25s,transform .25s,border-color .25s}
.au-value:hover{box-shadow:0 16px 40px rgba(13,43,78,.13);transform:translateY(-4px);border-color:transparent}
.au-value .ic{width:50px;height:50px;border-radius:50%;background:var(--light-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:18px}
.au-value h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:var(--navy);margin-bottom:10px}
.au-value p{font-size:14px;color:var(--mid);line-height:1.8}
/* cta */
.au-cta{position:relative;overflow:hidden;padding:76px 56px;text-align:center;background:linear-gradient(125deg,#0d2b4e 0%,#15406e 52%,#1e5793 100%)}
.au-cta-in{position:relative;z-index:2;max-width:720px;margin:0 auto}
.au-cta h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(24px,3vw,38px);color:#fff;margin-bottom:16px}
.au-cta p{font-size:15px;color:rgba(255,255,255,.82);line-height:1.8;margin-bottom:30px}
.au-cta .btn-solid{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:16px 40px;background:#fff;color:var(--navy);text-decoration:none;border-radius:6px;transition:all .2s}
.au-cta .btn-solid:hover{background:var(--blue);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,165,245,.35)}
/* reveal */
.reveal-on .au-intro,.reveal-on .au-stats,.reveal-on .au-mv,.reveal-on .au-values,.reveal-on .au-cta{opacity:0;transform:translateY(46px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-on .au-intro.in-view,.reveal-on .au-stats.in-view,.reveal-on .au-mv.in-view,.reveal-on .au-values.in-view,.reveal-on .au-cta.in-view{opacity:1;transform:translateY(0)}

@media(max-width:960px){
  .au-intro{padding:56px 20px}
  .au-intro-in{grid-template-columns:1fr;gap:40px}
  .au-intro-img{order:-1}
  .au-stats{padding:48px 20px}
  .au-stats-in{grid-template-columns:1fr 1fr;gap:34px 20px}
  .au-mv{padding:56px 20px}
  .au-mv-in{grid-template-columns:1fr;gap:20px}
  .au-values{padding:56px 20px}
  .au-vgrid{grid-template-columns:1fr 1fr;gap:18px}
  .au-cta{padding:60px 20px}
}
@media(max-width:520px){
  .au-vgrid{grid-template-columns:1fr}
  .au-intro-img .badge{right:12px;bottom:-14px;padding:16px 20px}
}

