:root{--navy:#0a2230;--navy2:#0f3443;--panel:#123f52;--teal:#2fc6b7;--teal-d:#1e9e91;--line:#1c4a5e;--muted:#9fbac4}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Arial Black','Helvetica Neue',Arial,sans-serif}
html{scroll-behavior:smooth}
body{background:var(--navy);color:#fff;line-height:1.1;overflow-x:hidden}
.sans{font-family:'Helvetica Neue',Arial,sans-serif}
.mono{font-family:'Courier New',monospace}
img{max-width:100%}

/* nav */
.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:3px solid var(--teal);position:sticky;top:0;background:var(--navy);z-index:40;flex-wrap:wrap;gap:10px}
.nav .logo img{height:40px;display:block}
.nav nav a{color:#fff;text-decoration:none;font-size:13px;font-weight:900;text-transform:uppercase;margin-left:18px;letter-spacing:-.3px}
.nav nav a:hover,.nav nav a.on{color:var(--teal)}
.nav .callbtn{background:var(--teal);color:var(--navy);padding:10px 16px;text-decoration:none;font-weight:900;font-size:13px;text-transform:uppercase;margin-left:18px}

/* hero */
.hero{border-bottom:3px solid var(--teal)}
.hero .top{display:grid;grid-template-columns:1.4fr 1fr}
.hero .l{padding:64px 28px 54px}
.hero .eyebrow{color:var(--teal);font-size:13px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-size:clamp(46px,10vw,118px);font-weight:900;letter-spacing:-4px;line-height:.9;text-transform:uppercase}
.hero h1 span{-webkit-text-stroke:2px #fff;color:transparent}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .sub{font-size:16px;font-weight:400;font-family:'Helvetica Neue',Arial,sans-serif;max-width:460px;margin-top:24px;color:var(--muted);line-height:1.5}
.hero .r{background:var(--teal);display:flex;flex-direction:column;justify-content:center;padding:40px 28px}
.hero .r a{background:var(--navy);color:#fff;text-decoration:none;padding:22px;font-size:20px;font-weight:900;text-transform:uppercase;text-align:center;margin-bottom:14px;border:3px solid var(--navy);transition:.15s}
.hero .r a:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--navy2)}
.hero .r a.o{background:var(--teal);color:var(--navy)}
.hero .r .ph{color:var(--navy);font-size:14px;font-weight:900;margin-top:8px;text-align:center;font-family:'Courier New',monospace}
@media(max-width:760px){.hero .top{grid-template-columns:1fr}}

/* marquee */
.marq{background:var(--teal);color:var(--navy);overflow:hidden;white-space:nowrap;border-bottom:3px solid #fff}
.marq div{display:inline-block;padding:14px 0;font-size:18px;font-weight:900;text-transform:uppercase;animation:sc 22s linear infinite}
.marq span{margin:0 22px}
@keyframes sc{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* stats with counters */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:3px solid var(--teal)}
.stats .s{padding:34px 18px;text-align:center;border-right:3px solid var(--line)}
.stats .s:last-child{border-right:none}
.stats b{display:block;font-size:46px;font-weight:900;color:var(--teal);letter-spacing:-2px;line-height:1}
.stats span{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--muted);font-family:'Helvetica Neue',Arial,sans-serif;margin-top:6px;display:block}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}.stats .s:nth-child(2){border-right:none}.stats .s:nth-child(1),.stats .s:nth-child(2){border-bottom:3px solid var(--line)}}

/* image band */
.imgband{border-bottom:3px solid var(--teal);position:relative}
.imgband img{width:100%;height:460px;object-fit:cover;display:block;filter:contrast(1.05) saturate(1.05)}
.imgband .tag{position:absolute;left:0;bottom:0;background:var(--teal);color:var(--navy);font-size:13px;font-weight:900;text-transform:uppercase;padding:10px 20px;letter-spacing:1px}

/* section head */
.shead{padding:56px 28px 8px;max-width:1200px;margin:0 auto}
.shead .k{color:var(--teal);font-size:14px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.shead h2{font-size:clamp(30px,6vw,60px);font-weight:900;text-transform:uppercase;letter-spacing:-3px;line-height:.95;margin-top:8px}
.shead h2 em{font-style:normal;color:var(--teal)}
.shead p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:16px;margin-top:14px;max-width:600px}

/* services grid */
.svc{display:grid;grid-template-columns:repeat(2,1fr);border-top:3px solid var(--teal);margin-top:30px}
.svc .c{padding:44px 28px;border-bottom:3px solid var(--line);border-right:3px solid var(--line);background:var(--navy);transition:.2s}
.svc .c:nth-child(2n){border-right:none}
.svc .c:hover{background:var(--navy2)}
.svc .n{color:var(--teal);font-size:15px;font-weight:900}
.svc h3{font-size:32px;font-weight:900;text-transform:uppercase;letter-spacing:-2px;margin:8px 0 12px}
.svc p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:15px;line-height:1.5}
.svc ul{list-style:none;margin-top:10px}
.svc ul li{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:14px;padding-left:18px;position:relative;margin-bottom:5px}
.svc ul li::before{content:'▸';position:absolute;left:0;color:var(--teal)}
@media(max-width:760px){.svc{grid-template-columns:1fr}.svc .c{border-right:none}}

/* process strip */
.proc{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--teal);border-bottom:3px solid var(--teal)}
.proc .p{padding:40px 24px;border-right:3px solid var(--line);position:relative}
.proc .p:last-child{border-right:none}
.proc .num{font-size:54px;font-weight:900;color:var(--teal);-webkit-text-stroke:0;letter-spacing:-3px;line-height:1}
.proc h4{font-size:20px;font-weight:900;text-transform:uppercase;margin:10px 0 8px;letter-spacing:-1px}
.proc p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:14px;line-height:1.5}
@media(max-width:760px){.proc{grid-template-columns:1fr 1fr}.proc .p:nth-child(2){border-right:none}}

/* coverage map */
.cover{padding:56px 28px 64px;border-bottom:3px solid var(--teal);text-align:center}
.mapwrap{max-width:720px;margin:22px auto 0;position:relative}
.mapwrap svg{width:100%;height:auto;filter:drop-shadow(0 0 20px #2fc6b722)}
.emlist{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
.emlist span{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:13px;text-transform:uppercase;color:#fff;border:2px solid var(--teal);padding:8px 15px;border-radius:2px}
.emlist span.hq{background:var(--teal);color:var(--navy)}

/* gallery hover reveal */
.gwrap{padding:30px 28px 60px;max-width:1200px;margin:0 auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.grid figure{position:relative;overflow:hidden;border:3px solid var(--line);background:#0b2a37}
.grid img{width:100%;height:250px;object-fit:cover;display:block;transition:transform .45s ease;transform:scale(1.01)}
.grid figure::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#0a223066);opacity:1;transition:.3s;pointer-events:none}
.grid figure:hover img{transform:scale(1.08)}
.grid figure:hover::after{background:linear-gradient(transparent 40%,#2fc6b733)}
.grid figcaption{position:absolute;left:0;right:0;bottom:0;transform:translateY(101%);transition:.35s;background:var(--teal);color:var(--navy);font-weight:900;font-size:13px;text-transform:uppercase;padding:12px 14px;letter-spacing:.3px}
.grid figure:hover figcaption{transform:translateY(0)}
.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

/* project rows */
.proj{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;border-top:3px solid var(--teal);border-left:3px solid var(--line)}
.pitem{padding:22px 24px;border-right:3px solid var(--line);border-bottom:3px solid var(--line);background:var(--navy)}
.pitem:hover{background:var(--navy2)}
.pitem b{display:block;font-size:17px;text-transform:uppercase;letter-spacing:-.5px}
.pitem span{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:13.5px;display:block;margin-top:5px}
.pitem .tag{display:inline-block;margin-top:10px;font-size:11px;font-weight:900;color:var(--navy);background:var(--teal);padding:3px 10px;text-transform:uppercase}

/* sectors strip */
.sectors{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border-top:3px solid var(--teal);border-bottom:3px solid var(--teal)}
.sectors span{flex:1;min-width:140px;text-align:center;padding:26px 14px;border-right:3px solid var(--line);font-size:14px;font-weight:900;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}
.sectors span:last-child{border-right:none}

/* CTA */
.cta{padding:84px 28px;text-align:center;background:var(--navy2)}
.cta h2{font-size:clamp(34px,7vw,74px);font-weight:900;text-transform:uppercase;letter-spacing:-3px;line-height:.95}
.cta h2 em{font-style:normal;color:var(--teal)}
.cta a{display:inline-block;margin-top:30px;background:var(--teal);color:var(--navy);text-decoration:none;padding:22px 44px;font-size:22px;font-weight:900;text-transform:uppercase;transition:.15s}
.cta a:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--teal-d)}

/* checks / about */
.checks{list-style:none;max-width:680px;padding:0 28px;margin:20px auto 0}
.checks li{font-family:'Helvetica Neue',Arial,sans-serif;padding:16px 0 16px 42px;position:relative;border-bottom:3px solid var(--line);font-size:16px;font-weight:700}
.checks li::before{content:'✓';position:absolute;left:0;top:14px;width:26px;height:26px;background:var(--teal);color:var(--navy);font-weight:900;display:flex;align-items:center;justify-content:center}
.checks li span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:3px}
.pbody{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:16px;line-height:1.6;max-width:760px;padding:0 28px;margin:14px auto}
.pbody b{color:#fff;font-weight:900}
.showphoto{max-width:1140px;margin:24px auto;padding:0 28px}
.showphoto img{width:100%;height:440px;object-fit:cover;border:3px solid var(--teal)}

/* contact */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:3px solid var(--teal);border-left:3px solid var(--line)}
.ccard{padding:26px;border-right:3px solid var(--line);border-bottom:3px solid var(--line);background:var(--navy)}
.ccard b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--teal);margin-bottom:8px}
.ccard a,.ccard{font-family:'Helvetica Neue',Arial,sans-serif}
.ccard a{color:#fff;text-decoration:none;font-weight:900;font-size:16px;font-family:'Arial Black',sans-serif}
.ccard .t{font-weight:400;color:var(--muted);font-size:14px}

/* footer */
.foot{border-top:3px solid var(--teal);padding:40px 28px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
.foot img{height:34px}
.foot a{color:var(--teal);text-decoration:none;font-weight:700}

/* sticky quote bar */
.qbar{position:fixed;left:0;right:0;bottom:0;background:var(--teal);color:var(--navy);display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;transform:translateY(120%);transition:.3s;z-index:60;flex-wrap:wrap}
.qbar.show{transform:translateY(0)}
.qbar b{font-size:15px;font-weight:900;text-transform:uppercase}
.qbar a{background:var(--navy);color:#fff;text-decoration:none;font-weight:900;font-size:14px;text-transform:uppercase;padding:10px 20px}
.qbar a.wa{background:#128C4B}
@media(max-width:600px){.qbar b{display:none}}
/* whatsapp float */
.wafloat{position:fixed;right:18px;bottom:78px;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:61;box-shadow:0 8px 24px #0007;text-decoration:none;font-size:28px}
.wafloat svg{width:30px;height:30px;fill:#fff}
.wafloat:hover{transform:scale(1.08)}

/* --- scaffold cuplock/ringlock artwork backdrop --- */
body::before{content:'';position:fixed;inset:0;z-index:0;opacity:.10;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cg stroke='%232fc6b7' stroke-width='1.3' fill='none'%3E%3Cpath d='M20 0V200M100 0V200M180 0V200'/%3E%3Cpath d='M0 40H200M0 120H200'/%3E%3Cpath d='M20 120L100 40M100 200L180 120M20 200L100 120'/%3E%3C/g%3E%3Cg stroke='%232fc6b7' stroke-width='1.2' fill='none'%3E%3Ccircle cx='20' cy='40' r='7'/%3E%3Ccircle cx='100' cy='40' r='7'/%3E%3Ccircle cx='180' cy='40' r='7'/%3E%3Ccircle cx='20' cy='120' r='7'/%3E%3Ccircle cx='100' cy='120' r='7'/%3E%3Ccircle cx='180' cy='120' r='7'/%3E%3C/g%3E%3Cg fill='%232fc6b7'%3E%3Ccircle cx='13' cy='40' r='1.3'/%3E%3Ccircle cx='27' cy='40' r='1.3'/%3E%3Ccircle cx='20' cy='33' r='1.3'/%3E%3Ccircle cx='20' cy='47' r='1.3'/%3E%3Ccircle cx='93' cy='120' r='1.3'/%3E%3Ccircle cx='107' cy='120' r='1.3'/%3E%3Ccircle cx='100' cy='113' r='1.3'/%3E%3Ccircle cx='100' cy='127' r='1.3'/%3E%3C/g%3E%3Cg stroke='%232fc6b7' stroke-width='1.4' fill='none'%3E%3Cpath d='M15 76h10v6h-10zM95 76h10v6h-10zM175 76h10v6h-10zM15 160h10v6h-10zM95 160h10v6h-10zM175 160h10v6h-10z'/%3E%3C/g%3E%3C/svg%3E");
 animation:drift 110s linear infinite}
@keyframes drift{from{background-position:0 0}to{background-position:400px 200px}}
/* keep content above artwork */
.nav,.hero,.marq,.stats,.imgband,.shead,.svc,.proc,.cover,.gwrap,.sectors,.cta,.checks,.pbody,.showphoto,.cgrid,.proj,.foot,.qbar,.wafloat{position:relative;z-index:1}
/* let artwork show through header/section gaps by making solid cells slightly translucent */
.svc .c{background:rgba(10,34,48,.82)}
.svc .c:hover{background:rgba(15,52,67,.9)}
.pitem{background:rgba(10,34,48,.82)}
.stats .s{backdrop-filter:blur(1px)}

/* ---- PRODUCTS ---- */
.prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:0;border-top:3px solid var(--teal);border-left:3px solid var(--line)}
.prod{border-right:3px solid var(--line);border-bottom:3px solid var(--line);background:var(--navy);padding:0;transition:.2s}
.prod:hover{background:var(--navy2)}
.prod .art{background:linear-gradient(160deg,#0c2a38,#08202c);border-bottom:3px solid var(--line);padding:22px;display:flex;align-items:center;justify-content:center;height:180px}
.prod .art svg{width:100%;height:100%;max-height:150px}
.prod .body{padding:22px 24px}
.prod .cat{color:var(--teal);font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.prod h3{font-size:21px;font-weight:900;text-transform:uppercase;letter-spacing:-1px;margin:6px 0 10px}
.prod p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:14px;line-height:1.55}
.prod .specs{list-style:none;margin-top:12px;font-family:'Helvetica Neue',Arial,sans-serif}
.prod .specs li{font-size:13px;color:#c7d6dd;padding:5px 0 5px 18px;position:relative;border-top:1px solid var(--line)}
.prod .specs li::before{content:'▪';position:absolute;left:0;color:var(--teal)}
.prod .avail{display:inline-block;margin-top:14px;font-size:11px;font-weight:900;text-transform:uppercase;color:var(--navy);background:var(--teal);padding:4px 12px}
@media(max-width:700px){.prodgrid{grid-template-columns:1fr}.prod{border-right:none}}
.leadstrip{background:var(--navy2);border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);padding:40px 28px;text-align:center}
.leadstrip p{font-family:'Helvetica Neue',Arial,sans-serif;color:var(--muted);max-width:640px;margin:0 auto 8px;font-size:16px}
.leadstrip b{color:#fff}

/* ===== ANIME + 3D HERO SCENE ===== */
.scene{position:relative;overflow:hidden;border-bottom:3px solid var(--teal);min-height:600px;
 background:linear-gradient(180deg,#0a2a3a 0%,#0d3546 40%,#0a2230 100%)}
.scene .sky{position:absolute;inset:0;z-index:0}
.scene .sun{position:absolute;top:12%;right:14%;width:180px;height:180px;border-radius:50%;
 background:radial-gradient(circle,#5fe6d3 0%,#2fc6b7 45%,transparent 70%);opacity:.5;filter:blur(4px);
 animation:pulseSun 6s ease-in-out infinite}
@keyframes pulseSun{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.08);opacity:.6}}
.scene .cloud{position:absolute;height:26px;border-radius:20px;background:#2fc6b71a;filter:blur(2px)}
.scene .c1{top:20%;left:-30%;width:220px;animation:drift1 42s linear infinite}
.scene .c2{top:32%;left:-40%;width:160px;height:20px;animation:drift1 60s linear infinite}
@keyframes drift1{from{transform:translateX(0)}to{transform:translateX(160vw)}}
.scene .content{position:relative;z-index:5;padding:70px 28px 40px;max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.scene .copy .eyebrow{color:var(--teal);font-size:13px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;font-family:'Helvetica Neue',Arial,sans-serif}
.scene .copy h1{font-size:clamp(40px,7vw,90px);font-weight:900;letter-spacing:-3px;line-height:.9;text-transform:uppercase;text-shadow:0 6px 30px #0008}
.scene .copy h1 em{font-style:normal;color:var(--teal)}
.scene .copy h1 span{-webkit-text-stroke:2px #fff;color:transparent}
.scene .copy p{font-family:'Helvetica Neue',Arial,sans-serif;color:#cfe4e6;font-size:17px;max-width:440px;margin:22px 0 28px}
.scene .safetybadge{display:inline-flex;align-items:center;gap:10px;background:#0a223088;border:2px solid var(--teal);padding:8px 16px;margin-bottom:22px;backdrop-filter:blur(4px)}
.scene .safetybadge b{color:var(--teal);font-size:13px;font-weight:900;text-transform:uppercase;font-family:'Helvetica Neue',Arial,sans-serif}
.scene .stage{position:relative;height:460px}
.isoscaff{position:absolute;inset:0}
.isoscaff svg,.stage svg{width:100%;height:100%;overflow:visible}
.build path,.build line,.build rect,.build polygon{stroke-dasharray:1400;stroke-dashoffset:1400;animation:buildup 6s ease-out forwards}
@keyframes buildup{to{stroke-dashoffset:0}}
.crane{transform-origin:center;animation:sway 8s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(0deg)}50%{transform:rotate(1.5deg)}}
@media(max-width:820px){.scene .content{grid-template-columns:1fr}.scene .stage{height:340px;order:-1}}

/* ===== HSE ===== */
.hse{border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);background:
 linear-gradient(#0a2230f2,#0a2230f2)}
.hsegrid{display:grid;grid-template-columns:repeat(4,1fr)}
.hsegrid .h{padding:38px 24px;border-right:3px solid var(--line);text-align:center}
.hsegrid .h:last-child{border-right:none}
.hsegrid .ic{width:60px;height:60px;margin:0 auto 14px;border:3px solid var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center}
.hsegrid .ic svg{width:30px;height:30px;stroke:var(--teal);fill:none}
.hsegrid h4{font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;margin-bottom:8px}
.hsegrid p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:var(--muted);font-size:13.5px;line-height:1.5}
@media(max-width:760px){.hsegrid{grid-template-columns:1fr 1fr}.hsegrid .h:nth-child(2){border-right:none}}
.hsehero{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:3px solid var(--teal)}
.hsehero .txt{padding:56px 28px;background:var(--navy)}
.hsehero .txt .k{color:var(--teal);font-weight:900;letter-spacing:2px;text-transform:uppercase;font-size:13px}
.hsehero .txt h2{font-size:clamp(28px,4.5vw,46px);font-weight:900;text-transform:uppercase;letter-spacing:-2px;margin:8px 0 16px;line-height:1}
.hsehero .txt h2 em{color:var(--teal);font-style:normal}
.hsehero .art2{background:linear-gradient(160deg,#0c2a38,#08202c);display:flex;align-items:center;justify-content:center;padding:30px}
.hsehero .art2 svg{width:100%;max-width:360px}
@media(max-width:820px){.hsehero{grid-template-columns:1fr}}
.pledge{list-style:none;max-width:900px;margin:0 auto;padding:40px 28px;display:grid;grid-template-columns:1fr 1fr;gap:0}
.pledge li{font-family:'Helvetica Neue',Arial,sans-serif;padding:16px 16px 16px 44px;position:relative;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.pledge li span{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:3px}
.pledge li::before{content:'✓';position:absolute;left:14px;top:16px;width:22px;height:22px;background:var(--teal);color:var(--navy);font-weight:900;display:flex;align-items:center;justify-content:center;font-size:12px}
@media(max-width:640px){.pledge{grid-template-columns:1fr}}

/* ===== ANIMATED CREW HERO (glitch-proof: animate inner groups only) ===== */
.crewstage{position:absolute;inset:0}
.crewstage svg{width:100%;height:100%;overflow:visible}
.crewstage g[class]{will-change:transform}
.wkA{animation:climb 4.5s ease-in-out infinite}
@keyframes climb{0%,100%{transform:translateY(16px)}50%{transform:translateY(-4px)}}
.wkB{animation:lift 2.8s ease-in-out infinite}
@keyframes lift{0%,100%{transform:translateY(3px)}50%{transform:translateY(-5px)}}
.hammer{transform-box:fill-box;transform-origin:left center;animation:swing .8s ease-in-out infinite}
@keyframes swing{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(22deg)}}
.tube{animation:hoist 4.2s ease-in-out infinite}
@keyframes hoist{0%{transform:translateY(72px);opacity:0}18%{opacity:1}82%{transform:translateY(-30px);opacity:1}100%{transform:translateY(-46px);opacity:0}}
.tube2{animation:hoist 4.2s ease-in-out 2.1s infinite}
.rope{animation:ropep 4.2s ease-in-out infinite}
@keyframes ropep{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.wkWalk{animation:walk 7s linear infinite}
@keyframes walk{0%{transform:translateX(0)}100%{transform:translateX(300px)}}
.leg1{transform-box:fill-box;transform-origin:top center;animation:step .7s ease-in-out infinite}
.leg2{transform-box:fill-box;transform-origin:top center;animation:step .7s ease-in-out .35s infinite}
@keyframes step{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}}
.spark{animation:sp .8s ease-in-out infinite}
@keyframes sp{0%,100%{opacity:0}50%{opacity:1}}
.newledger{animation:slidein 4.5s ease-in-out infinite}
@keyframes slidein{0%{transform:translate(46px,-22px);opacity:0}30%{opacity:1}55%,100%{transform:translate(0,0);opacity:1}}
@media(prefers-reduced-motion:reduce){.wkA,.wkB,.hammer,.tube,.tube2,.rope,.wkWalk,.leg1,.leg2,.spark,.newledger,.crane,.sun,.cloud{animation:none!important}}

/* ===== PER-PAGE ART BAR ===== */
.artbar{border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);background:linear-gradient(160deg,#0c2a38,#08202c);overflow:hidden}
.artbar svg{display:block;width:100%;height:210px}
@media(max-width:600px){.artbar svg{height:150px}}

/* ===== TEXTURE & DEPTH LAYERING ===== */
body{background-color:var(--navy);
 background-image:
  radial-gradient(1000px 500px at 85% -5%, #12475c44, transparent 60%),
  radial-gradient(900px 500px at 5% 20%, #0f344366, transparent 55%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='60' height='60' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
 background-attachment:fixed,fixed,fixed}
/* soft top glow line under sticky nav */
.nav::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,transparent,#2fc6b7,transparent);opacity:.7}
/* section separators get a faint teal top-glow */
section,.hse,.proc,.stats,.cover,.leadstrip,.sectors,.cta,.band{position:relative}
/* card inner sheen */
.svc .c::after,.card::after,.prod::after,.pitem::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,#ffffff08,transparent 40%);pointer-events:none}
.svc .c,.card,.prod,.pitem{position:relative;overflow:hidden}
/* corner tick accents on cards */
.svc .c::before{content:'';position:absolute;top:0;left:0;width:22px;height:22px;border-top:3px solid var(--teal);border-left:3px solid var(--teal);opacity:.5}
/* stat numbers subtle glow */
.stats b{text-shadow:0 0 22px #2fc6b755}
.shead h2 em,.hero h1 em,.cta h2 em,.scene .copy h1 em{text-shadow:0 0 26px #2fc6b744}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== TRUST / CERTIFICATIONS STRIP ===== */
.certs{border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);background:linear-gradient(#0c2a38,#0a2230);padding:30px 20px}
.certs .row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:1100px;margin:0 auto}
.certs .chip{display:flex;align-items:center;gap:10px;border:2px solid var(--line);background:#0a223066;padding:12px 18px;border-radius:4px}
.certs .chip svg{width:22px;height:22px;stroke:var(--teal);fill:none;flex-shrink:0}
.certs .chip b{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:#fff;font-family:'Helvetica Neue',Arial,sans-serif}
.certs .chip span{display:block;font-size:11px;color:var(--muted);font-weight:400}

/* ===== TESTIMONIALS ===== */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;border-top:3px solid var(--teal);border-left:3px solid var(--line)}
.qcard{padding:34px 28px;border-right:3px solid var(--line);border-bottom:3px solid var(--line);background:var(--navy);position:relative}
.qcard .mark{font-size:60px;line-height:.6;color:var(--teal);font-weight:900;font-family:Georgia,serif;height:26px}
.qcard p{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;color:#dbe8ec;font-size:15.5px;line-height:1.55;margin:6px 0 16px}
.qcard .who{font-size:13px;font-weight:900;text-transform:uppercase;color:var(--teal);letter-spacing:.3px}
.qcard .who span{display:block;color:var(--muted);font-weight:400;font-size:12px;text-transform:none;margin-top:2px}
