
/* Layout: corporate-industrial. White ground, navy authority bands, one red accent line per section. Hero = engineered line drawing of a power transformer and substation gantry; a two-country delivery model sits at the centre of the page. */
:root{
  --bg:#FFFFFF; --soft:#F4F6F9; --ink:#0E1726; --navy:#0C1F45; --navy-2:#15306A; --muted:#56607A; --line:#E0E4EB;
  --red:#1F5BD0; --red-on-navy:#6FA0FF; --red-soft:#EAF1FD;
  --on-navy:#FFFFFF; --navy-muted:#B9C2D3; --navy-line:#2A4378;
  --il-ink:#0C1F45; --il-fill:#FFFFFF; --il-bg:#EEF1F6;
  --ph-bg:#FFF2C9; --ph-ink:#5A4300;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
h1,h2,h3,h4{font-family:var(--body);margin:0;line-height:1.08;text-wrap:balance;color:inherit}
h2{font-size:clamp(34px,4.4vw,54px);font-weight:600;letter-spacing:-.02em}
h3{font-size:22px;font-weight:600;letter-spacing:-.01em}
p{margin:0}
.kicker{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.kicker::before{content:"";width:28px;height:2px;background:currentColor}
.on-navy .kicker{color:var(--red-on-navy)}
.lede{font-size:19px;color:var(--muted);max-width:60ch}
.ph{font-family:var(--mono);font-size:.84em;background:var(--ph-bg);color:var(--ph-ink);padding:1px 6px;border-radius:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:2px;font-family:var(--body);font-weight:600;font-size:16px;letter-spacing:.01em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn svg{width:16px;height:16px;transition:transform .2s}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--red);color:#FFFFFF}
.btn-primary:hover{background:#0A2F7A}
.btn-navy{background:var(--navy);color:#FFFFFF}
.btn-navy:hover{background:var(--navy-2)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#FFFFFF}
.btn-outline-light{border-color:rgba(255,255,255,.45);color:#FFFFFF}
.btn-outline-light:hover{border-color:#FFFFFF;background:rgba(255,255,255,.06)}
section{padding-block:clamp(72px,9vw,128px)}
.head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px 72px;align-items:end;margin-bottom:56px}
.head .t{display:flex;flex-direction:column;gap:18px}
@media (max-width:860px){.head{grid-template-columns:minmax(0,1fr)}}
.on-navy{background:var(--navy);color:var(--on-navy)}
.on-navy .lede,.on-navy p{color:var(--navy-muted)}

/* header */
.preview-note{background:var(--ph-bg);color:var(--ph-ink);font-size:13px;text-align:center;padding:6px 16px}
.topbar{background:var(--navy);color:var(--navy-muted);font-size:13.5px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding-block:8px}
.topbar b{color:#FFFFFF;font-weight:500}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.brand{display:block;line-height:0;flex-shrink:0}
.brand svg{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:2px}
.nav > a,.dd-btn{font-family:var(--body);font-weight:500;font-size:15.5px;color:var(--ink);background:none;border:0;padding:10px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:none;white-space:nowrap}
.nav > a:hover,.dd-btn:hover{color:var(--red)}
.dd{position:relative}
.dd-btn svg{width:11px;height:11px;transition:transform .2s}
.dd-menu{position:absolute;top:calc(100% + 1px);left:0;min-width:300px;background:#FFFFFF;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 24px 50px rgba(10,23,48,.14);padding:8px;list-style:none;margin:0;display:none}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{display:block}
.dd:hover .dd-btn svg,.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-menu a{display:block;padding:10px 12px;text-decoration:none;font-size:15px;color:var(--ink);white-space:nowrap}
.dd-menu a:hover{background:var(--soft);color:var(--red)}
.dd-menu .grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px 4px}
.menu-btn{display:none}
.head-cta{white-space:nowrap}
@media (min-width:1301px){.nav > a.contact-link{display:none}}
@media (max-width:1300px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#FFFFFF;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px clamp(16px,4vw,48px) 20px;max-height:calc(100vh - 140px);overflow-y:auto}
  .nav.open{display:flex}
  .nav > a,.dd-btn{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .dd-menu{position:static;display:block;box-shadow:none;border:0;padding:4px 0 10px 8px;min-width:0}
  .dd-menu a{padding:7px 0;color:var(--muted);white-space:normal}
  .dd-menu a:hover{background:transparent}
  .dd-btn svg{display:none}
  .menu-btn{display:inline-flex}
  .head-cta{display:none}
  .brand svg{height:38px}
}
@media (max-width:640px){.topbar .wrap > span:last-child{display:none}}

/* hero */
.hero{background:linear-gradient(180deg,var(--soft),#FFFFFF);padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px);border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.hero h1{font-size:clamp(44px,5.8vw,76px);font-weight:600;letter-spacing:-.03em;line-height:1.02;color:var(--navy)}
.hero h1 span{color:var(--red)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:20px;gap:16px}
.hero-points div{display:flex;flex-direction:column;gap:2px;min-width:0}
.hero-points b{font-size:15px;font-weight:600;color:var(--navy)}
.hero-points span{font-size:14px;color:var(--muted)}
.drawing{position:relative;max-width:100%}
.drawing svg{width:100%;height:auto;display:block}
.drawing figcaption{position:absolute;right:0;bottom:-6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-points{grid-template-columns:minmax(0,1fr)}}
.d-ln{fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.d-th{fill:none;stroke:var(--navy);stroke-width:.9;opacity:.55}
.d-fill{fill:#FFFFFF;stroke:var(--navy);stroke-width:1.6;stroke-linejoin:round}
.d-red{fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round}
.d-dim{fill:none;stroke:var(--red);stroke-width:.9}
.d-txt{font-family:var(--mono);font-size:9px;fill:var(--muted);letter-spacing:.06em}
.d-txt-r{font-family:var(--mono);font-size:9px;fill:var(--red);letter-spacing:.06em}
.d-grid{stroke:var(--line);stroke-width:.6}

/* clients */
.clients{padding-block:44px;border-bottom:1px solid var(--line)}
.clients .wrap{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px 48px;align-items:center}
.clients .label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.client-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 36px}
.client-row span{font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:.02em;color:#8A93A5;white-space:nowrap;transition:color .2s}
.client-row span:hover{color:var(--navy)}
.client-row .slot{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.06em;border:1px dashed var(--line);padding:8px 12px}
@media (max-width:760px){.clients .wrap{grid-template-columns:minmax(0,1fr)}.client-row{justify-content:flex-start}}

/* numbers */
.numbers{padding-block:0}
.numbers .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.num{padding:40px 28px;border-left:1px solid var(--navy-line);display:flex;flex-direction:column;gap:6px;min-width:0}
.num:first-child{border-left:0;padding-left:0}
.num b{font-size:clamp(34px,3.6vw,48px);font-weight:600;letter-spacing:-.02em;color:#FFFFFF;line-height:1;font-variant-numeric:tabular-nums}
.num span{font-size:14.5px;color:var(--navy-muted)}
@media (max-width:860px){.numbers .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.num{border-left:0;padding-left:0;border-top:1px solid var(--navy-line)}}

/* model */
.model{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line)}
.col{padding:36px 32px;display:flex;flex-direction:column;gap:16px;min-width:0;border-left:1px solid var(--line);position:relative}
.col:first-child{border-left:0}
.col .where{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.col h3{font-size:28px;color:var(--navy)}
.col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.col li{padding:11px 0;border-top:1px solid var(--line);font-size:16px;display:flex;gap:12px;align-items:baseline}
.col li::before{content:"";width:6px;height:6px;background:var(--red);flex-shrink:0;transform:translateY(-2px)}
.col.ca{background:var(--navy);color:#FFFFFF;border-left:0}
.col.ca h3{color:#FFFFFF}
.col.ca .where{color:var(--red-on-navy)}
.col.ca li{border-top-color:var(--navy-line);color:#E6EAF1}
.col.ca li::before{background:var(--red-on-navy)}
.col.ca p{color:var(--navy-muted)}
.col p{color:var(--muted);font-size:15.5px}
@media (max-width:960px){.model{grid-template-columns:minmax(0,1fr)}.col{border-left:0;border-top:1px solid var(--line)}}
.route{margin-top:28px;max-width:100%}
.route svg{width:100%;height:auto;display:block}

/* products */
.feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}
.fcard{background:#FFFFFF;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;scroll-margin-top:110px;transition:box-shadow .25s,transform .25s}
.fcard:hover{box-shadow:0 24px 50px rgba(10,23,48,.12);transform:translateY(-4px)}
.fcard .pic{background:var(--il-bg);aspect-ratio:16/10;max-width:100%;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--red)}
.fcard .pic svg{width:72%;height:auto}
.fcard .body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px}
.fcard .cat{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.fcard h3{font-size:24px;color:var(--navy)}
.fcard p{color:var(--muted);font-size:16px}
.plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--navy)}
.pitem{padding:20px 24px 22px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0;scroll-margin-top:110px}
.pitem:not(:nth-child(3n+1)){padding-left:24px;border-left:1px solid var(--line)}
.pitem .cat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pitem h3{font-size:20px;color:var(--navy)}
.pitem p{font-size:15px;color:var(--muted)}
@media (max-width:960px){.feature{grid-template-columns:minmax(0,1fr)}.plist{grid-template-columns:repeat(2,minmax(0,1fr))}.pitem:not(:nth-child(3n+1)){padding-left:0;border-left:0}.pitem:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}}
@media (max-width:560px){.plist{grid-template-columns:minmax(0,1fr)}.pitem:nth-child(even){padding-left:0;border-left:0}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:#FFFFFF;display:flex;flex-direction:column;min-width:0;scroll-margin-top:110px;position:relative}
.svc .art{background:var(--il-bg);aspect-ratio:3/2;max-width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.svc .art svg{width:70%;height:auto}
.svc .body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.svc h3{font-size:22px;color:var(--navy)}
.svc p{font-size:15.5px;color:var(--muted)}
.svc .where{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.svc .where.ca{color:var(--red)}
.svc a.more{margin-top:auto;padding-top:6px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.svc a.more:hover{color:var(--red)}
.svc a.more svg{width:15px;height:15px;transition:transform .2s}
.svc a.more:hover svg{transform:translateX(4px)}
.svc::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc:hover::after{transform:scaleX(1)}
.svc-grid.small{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:24px}
.svc-grid.small .art{aspect-ratio:auto;height:96px;background:#FFFFFF;justify-content:flex-start;padding:24px 26px 0}
.svc-grid.small .art svg{width:46px;height:46px}
.svc-grid.small h3{font-size:19px}
@media (max-width:1040px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-grid.small{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-grid,.svc-grid.small{grid-template-columns:minmax(0,1fr)}}
.ln{fill:none;stroke:var(--il-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lf{fill:var(--il-fill);stroke:var(--il-ink);stroke-width:2.2;stroke-linejoin:round}
.ac{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.acf{fill:var(--red)}
.thin{stroke-width:1.3}
.dash{stroke-dasharray:5 5}
.pulse,.spin,.drop,.slide{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .svc:hover .pulse{animation:pulse .7s ease-in-out infinite alternate}
  .svc:hover .spin{animation:spin 1.6s linear infinite}
  .svc:hover .drop{animation:drop 1.2s ease-in-out infinite alternate}
  .svc:hover .slide{animation:slide 1.4s ease-in-out infinite alternate}
}
@keyframes pulse{from{opacity:1}to{opacity:.25}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes drop{from{transform:translateY(-6px)}to{transform:translateY(4px)}}
@keyframes slide{from{transform:translateX(-18px)}to{transform:translateX(18px)}}

/* on-site */
.onsite{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.onsite .t{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
@media (max-width:960px){.onsite{grid-template-columns:minmax(0,1fr);gap:40px}.onsite .t{position:static}}
.sup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--navy-line);border:1px solid var(--navy-line)}
.sup div{background:var(--navy);padding:28px;display:flex;flex-direction:column;gap:10px;min-width:0;transition:background .2s}
.sup div:hover{background:var(--navy-2)}
.sup svg{width:34px;height:34px}
.sup .ic{fill:none;stroke:#FFFFFF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sup .icr{fill:none;stroke:var(--red-on-navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sup h3{font-size:20px;color:#FFFFFF}
.sup p{font-size:15px}
@media (max-width:560px){.sup{grid-template-columns:minmax(0,1fr)}}

/* materials */
.mats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.mat{display:flex;flex-direction:column;gap:12px;min-width:0;scroll-margin-top:110px}
.sw{aspect-ratio:1/1;max-width:100%;position:relative;border:1px solid var(--line)}
.mat h3{font-size:17px;color:var(--navy);line-height:1.2}
.mat p{font-family:var(--mono);font-size:12px;color:var(--muted)}
.sw-hrpo{background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 40%,rgba(255,255,255,.05) 70%,transparent),radial-gradient(circle at 30% 40%,#4A5058,#2E3238 70%)}
.sw-cr{background:linear-gradient(160deg,#8E959D,#C9CED3 42%,#A7AEB5 60%,#8A9199)}
.sw-carbon{background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 7px),linear-gradient(135deg,#3E434A,#555B62 50%,#3A3F45)}
.sw-galv{background-image:radial-gradient(circle at 25% 30%,rgba(255,255,255,.16) 0 16%,transparent 17%),radial-gradient(circle at 70% 65%,rgba(0,0,0,.05) 0 20%,transparent 21%),linear-gradient(140deg,#B8BEC4,#9EA6AE);background-size:58px 58px,46px 46px,100% 100%}
.sw-ss{background:linear-gradient(100deg,rgba(255,255,255,.25),transparent 45%,rgba(255,255,255,.18) 70%,transparent),repeating-linear-gradient(0deg,#B7BDC3 0 1px,#CDD2D7 1px 2px,#C2C8CD 2px 4px)}
.sw-al{background:linear-gradient(120deg,#CDD2D7,#EEF0F2 48%,#D3D8DC 62%,#BFC5CB)}
@media (max-width:1000px){.mats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.mats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* quality */
.qgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--navy)}
.qi{padding:26px 28px 28px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;min-width:0}
.qi:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.qi .tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.qi h3{font-size:21px;color:var(--navy)}
.qi p{font-size:15.5px;color:var(--muted)}
@media (max-width:900px){.qgrid{grid-template-columns:minmax(0,1fr)}.qi:not(:nth-child(3n+1)){padding-left:0;border-left:0}}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.about .t{display:flex;flex-direction:column;gap:20px}
.mission{border-left:3px solid var(--red);padding:6px 0 6px 24px;font-size:clamp(22px,2.4vw,28px);line-height:1.3;color:var(--navy);font-weight:500}
.org{border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:110px}
.org-top{background:var(--navy);color:#FFFFFF;padding:18px 22px;display:flex;flex-direction:column;gap:2px;position:relative}
.org-top span,.org-kids span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.org-top span{color:var(--navy-muted)}
.org-top b{font-size:22px;font-weight:600}
.org-kids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.org-kids div{padding:18px 22px;display:flex;flex-direction:column;gap:3px;border-top:3px solid var(--line);min-width:0}
.org-kids div + div{border-left:1px solid var(--line)}
.org-kids div.ca{border-top-color:var(--red)}
.org-kids span{color:var(--muted)}
.org-kids b{font-size:19px;color:var(--navy)}
.org-kids em{font-style:normal;font-size:14px;color:var(--muted)}
@media (max-width:520px){.org-kids{grid-template-columns:minmax(0,1fr)}.org-kids div + div{border-left:0}}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.timeline li{padding:0 0 28px 28px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:#FFFFFF;border:2px solid var(--red)}
.timeline b{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--red);margin-bottom:4px}
.timeline h3{font-size:20px;color:var(--navy);margin-bottom:4px}
.timeline p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.about{grid-template-columns:minmax(0,1fr);gap:40px}}

/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-top:1px solid var(--navy-line)}
.step{padding:26px 20px 0 0;display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--red-on-navy)}
.step .n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--navy-muted)}
.step .loc{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-on-navy)}
.step h3{font-size:20px;color:#FFFFFF}
.step p{font-size:15px}
@media (max-width:1040px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* quote */
.quote-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
@media (max-width:960px){.quote-grid{grid-template-columns:minmax(0,1fr);gap:40px}}
.quote-side{display:flex;flex-direction:column;gap:22px}
.contact{display:flex;flex-direction:column;border-top:2px solid var(--navy);margin:0}
.contact div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.contact dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.contact dd{margin:0}
form.quote{background:var(--soft);border-top:3px solid var(--red);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:20px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
@media (max-width:560px){.row2{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.legend{font-size:14px;font-weight:600;color:var(--navy)}
.req{color:var(--red)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{font:inherit;font-size:16px;color:var(--ink);background:#FFFFFF;border:1px solid var(--line);border-radius:2px;padding:11px 12px;min-height:48px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:transparent}
textarea{min-height:120px;resize:vertical}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.chk{position:relative}
.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk span{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border:1px solid var(--line);font-size:14.5px;cursor:pointer;background:#FFFFFF;user-select:none}
.chk input:checked + span{background:var(--navy);border-color:var(--navy);color:#FFFFFF}
.chk input:focus-visible + span{outline:2px solid var(--red);outline-offset:2px}
.drop{border:1.5px dashed #C9CFD9;padding:18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:#FFFFFF}
.drop.over{border-color:var(--red)}
.drop .hint{font-size:14px;color:var(--muted)}
.files{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:13px;display:flex;flex-direction:column;gap:4px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.form-foot small{color:var(--muted);font-size:13.5px;max-width:42ch}
.sent{background:var(--soft);border-top:3px solid var(--red);padding:30px;display:flex;flex-direction:column;gap:12px}
.sent h3{color:var(--navy)}
.sent pre{font-family:var(--mono);font-size:13px;white-space:pre-wrap;margin:0;color:var(--muted)}

/* cta band + footer */
.cta-band{padding-block:clamp(56px,7vw,88px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{color:#FFFFFF;max-width:20ch}
.foot{background:#0E1726;color:var(--navy-muted);padding-block:64px 36px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.foot h4{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF;margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px}
.foot a{text-decoration:none}.foot a:hover{color:#FFFFFF}
.foot .brand svg{height:50px}
.foot-base{margin-top:48px;padding-top:22px;border-top:1px solid var(--navy-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13.5px}
@media (max-width:860px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* ===== multi-page factory site additions ===== */
.head-actions{display:flex;gap:10px;align-items:center}
.dd-menu a.all{font-weight:600;color:var(--navy);border-bottom:1px solid var(--line);margin-bottom:4px}
.dd.cur > .dd-btn,.nav > a.cur{color:var(--red)}
.dd.cur > .dd-btn{box-shadow:inset 0 -2px 0 var(--red)}
.dd-menu{max-height:calc(100vh - 160px);overflow-y:auto}
.page{animation:none}
@keyframes fadein{from{opacity:.4}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.page{animation:none}}

/* banner */
.banner{background:var(--soft);border-bottom:1px solid var(--line);padding-block:44px 40px;position:relative}
.banner::after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:3px;background:var(--red)}
.banner .wrap{display:flex;flex-direction:column;gap:12px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--muted)}.crumbs a:hover{color:var(--red)}
.crumbs b{font-weight:500;color:var(--navy)}
.banner h1{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:-.02em;color:var(--navy)}
.banner p{font-size:18px;color:var(--muted);max-width:64ch}

/* detail layout */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:56px;align-items:start;padding-block:56px 96px}
@media (max-width:980px){.detail{grid-template-columns:minmax(0,1fr)}}
.main{display:flex;flex-direction:column;gap:44px;min-width:0}
.hero-art{background:var(--il-bg);aspect-ratio:16/8;max-width:100%;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--red);position:relative}
.hero-art svg{width:min(56%,420px);height:auto}
.hero-art.swatch span{position:absolute;left:20px;bottom:16px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.9);color:var(--navy);padding:5px 10px}
.blk{display:flex;flex-direction:column;gap:16px;padding:0}
.blk h2{font-size:28px;font-weight:600;color:var(--navy);letter-spacing:-.01em;display:flex;align-items:center;gap:12px}
.blk h2::before{content:"";width:4px;height:24px;background:var(--red)}
.blk .lede{font-size:18px;color:var(--ink)}
.blk p{color:var(--muted)}
.note{font-size:13.5px;color:var(--muted)}
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.ticks li{padding:12px 0 12px 30px;border-bottom:1px solid var(--line);position:relative;font-size:16px}
.ticks li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:7px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
@media (max-width:620px){.ticks{grid-template-columns:minmax(0,1fr)}}
.tbl-wrap{overflow-x:auto}
table.spec{border-collapse:collapse;width:100%;font-size:16px}
table.spec th,table.spec td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.spec th{width:38%;background:var(--soft);font-weight:600;color:var(--navy);font-size:15px}
table.spec tr:first-child th,table.spec tr:first-child td{border-top:2px solid var(--navy)}
.flow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--navy)}
.flow-steps li{padding:18px 14px 4px 0;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}
.flow-steps li::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:var(--red)}
.flow-steps .n{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--muted)}
.flow-steps .loc{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.flow-steps h4{margin:0;font-size:17px;color:var(--navy)}
.flow-steps p{font-size:14.5px}
@media (max-width:860px){.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}}
@media (max-width:480px){.flow-steps{grid-template-columns:minmax(0,1fr)}}
.faqs{border-top:2px solid var(--navy)}
.faqs details{border-bottom:1px solid var(--line)}
.faqs summary{cursor:pointer;list-style:none;padding:16px 40px 16px 0;font-weight:600;color:var(--navy);position:relative;font-size:16.5px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:24px;font-weight:400;color:var(--red)}
.faqs details[open] summary::after{content:"–"}
.faqs details p{padding:0 0 18px;max-width:70ch}
.inline-cta{background:var(--navy);color:#FFFFFF;padding:28px 32px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.inline-cta h3{font-size:24px;color:#FFFFFF}
.inline-cta p{color:var(--navy-muted)}

/* sidebar */
.side{display:flex;flex-direction:column;gap:20px;position:sticky;top:110px}
@media (max-width:980px){.side{position:static}}
.side-box{border:1px solid var(--line);padding:22px}
.side h4{margin:0 0 12px;font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.side-list{list-style:none;margin:0;padding:0;max-height:440px;overflow-y:auto}
.side-list a{display:block;padding:10px 12px;margin-inline:-12px;text-decoration:none;font-size:15px;color:var(--ink);border-left:3px solid transparent}
.side-list a:hover{background:var(--soft);color:var(--red)}
.side-list a.on{border-left-color:var(--red);background:var(--soft);color:var(--navy);font-weight:600}
.side-all{display:inline-flex;gap:8px;align-items:center;margin-top:12px;font-weight:600;font-size:14.5px;color:var(--navy);text-decoration:none}
.side-all:hover{color:var(--red)}
.side-cta{background:var(--navy);color:#FFFFFF;padding:24px;display:flex;flex-direction:column;gap:12px}
.side-cta h4{color:var(--navy-muted);margin:0}
.side-cta p{color:#E2E7EF;font-size:15px}
.side-contact{font-size:15px;line-height:1.8;color:var(--ink)}
svg.arr{width:15px;height:15px;transition:transform .2s;flex-shrink:0}
a:hover > svg.arr,a:hover .more svg.arr,.btn:hover svg.arr{transform:translateX(4px)}

/* overview cards */
.pad{padding-block:56px 96px}
.pad-y{padding-block:clamp(64px,8vw,104px)}
.soft{background:var(--soft)}
.navy{background:var(--navy);color:#FFFFFF}
.navy h2{color:#FFFFFF}
.sub-head{display:flex;flex-direction:column;gap:10px;margin:8px 0 24px}
.sub-head + .cards{margin-bottom:56px}
.sub-head h2{font-size:32px;color:var(--navy)}
.cards{display:grid;gap:24px}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1040px){.cards.c3,.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cards.c2,.cards.c3,.cards.c4{grid-template-columns:minmax(0,1fr)}}
.card{display:flex;flex-direction:column;border:1px solid var(--line);background:#FFFFFF;text-decoration:none;color:var(--ink);transition:box-shadow .25s,transform .25s,border-color .25s;min-width:0}
.card:hover{box-shadow:0 22px 46px rgba(10,23,48,.12);transform:translateY(-4px);border-color:#CDD3DD}
.card-art{background:var(--il-bg);aspect-ratio:16/10;max-width:100%;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--red)}
.card-art svg{width:62%;height:auto}
.card-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex-grow:1}
.card .cat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.card h3{font-size:21px;color:var(--navy)}
.card p{font-size:15.5px;color:var(--muted)}
.card .grades{font-family:var(--mono);font-size:12.5px;color:var(--ink)}
.card .more{margin-top:auto;padding-top:8px;display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:15px;color:var(--navy)}
.card:hover .more{color:var(--red)}
.card:hover .pulse{animation:pulse .7s ease-in-out infinite alternate}
.card:hover .spin{animation:spin 1.6s linear infinite}
.card:hover .drop{animation:drop 1.2s ease-in-out infinite alternate}
.card:hover .slide{animation:slide 1.4s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.card:hover .pulse,.card:hover .spin,.card:hover .drop,.card:hover .slide{animation:none}}
.sec-title{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:36px}
.sec-title > div{display:flex;flex-direction:column;gap:14px}
.sec-title h2{color:var(--navy)}
.navy .sec-title h2{color:#FFFFFF}
.link{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--navy);text-decoration:none;font-size:16px}
.link:hover{color:var(--red)}
.link.light{color:#FFFFFF}.link.light:hover{color:var(--red-on-navy)}
.navy .kicker{color:var(--red-on-navy)}

/* home extras */
.hero h1{font-size:clamp(40px,5.2vw,68px)}
.client-bar{padding-block:30px;border-bottom:1px solid var(--line)}
.client-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:16px 48px}
.client-bar .label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.client-bar .client-row{flex:1 1 480px}
.reasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--navy)}
.reasons div{padding:24px 24px 8px 0;display:flex;flex-direction:column;gap:8px;min-width:0}
.reasons div + div{padding-left:24px;border-left:1px solid var(--line)}
.reasons b{font-family:var(--mono);font-weight:500;font-size:13px;color:var(--red)}
.reasons h3{font-size:21px;color:var(--navy)}
.reasons p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.reasons{grid-template-columns:repeat(2,minmax(0,1fr))}.reasons div + div{padding-left:0;border-left:0}.reasons div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}}
@media (max-width:520px){.reasons{grid-template-columns:minmax(0,1fr)}.reasons div:nth-child(even){padding-left:0;border-left:0}}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--navy-line);border:1px solid var(--navy-line)}
.how div{background:var(--navy);padding:28px;display:flex;flex-direction:column;gap:8px}
.how span{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-on-navy)}
.how h3{font-size:24px;color:#FFFFFF}
.how p{color:var(--navy-muted);font-size:15.5px}
@media (max-width:860px){.how{grid-template-columns:minmax(0,1fr)}}
.mgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.mcard{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.mcard .swatch{aspect-ratio:1/1;max-width:100%;border:1px solid var(--line);transition:transform .25s}
.mcard:hover .swatch{transform:translateY(-4px)}
.mcard h3{font-size:17px;color:var(--navy);line-height:1.2}
.mcard:hover h3{color:var(--red)}
.mcard span{font-family:var(--mono);font-size:12px;color:var(--muted)}
@media (max-width:1000px){.mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.certs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.certs div{background:#FFFFFF;border:1px solid var(--line);padding:24px 20px;display:flex;flex-direction:column;gap:6px;font-size:22px;font-weight:600;color:var(--navy);min-width:0}
.certs div .ph{font-size:14px}
.certs span:not(.ph){font-size:14px;font-weight:400;color:var(--muted)}
@media (max-width:900px){.certs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cta-band{background:var(--navy);padding-block:clamp(56px,7vw,88px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{color:#FFFFFF;max-width:22ch}
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.client-grid span{background:#FFFFFF;padding:30px 20px;text-align:center;font-size:22px;font-weight:600;color:#7D879A}
.client-grid .slot{font-family:var(--mono);font-size:13px;font-weight:400}
@media (max-width:560px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.inds div{border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:6px}
.inds h3{font-size:19px;color:var(--navy)}
.inds p{font-size:15px}
@media (max-width:520px){.inds{grid-template-columns:minmax(0,1fr)}}
.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.values div{background:#FFFFFF;padding:24px;display:flex;flex-direction:column;gap:6px}
.values h3{font-size:20px;color:var(--navy)}
.values p{font-size:15.5px}
@media (max-width:560px){.values{grid-template-columns:minmax(0,1fr)}}
.qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.qi:not(:nth-child(3n+1)){padding-left:0;border-left:0}
.qi:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
@media (max-width:620px){.qgrid{grid-template-columns:minmax(0,1fr)}.qi:nth-child(even){padding-left:0;border-left:0}}
.swatch.sw-hrpo,.swatch.sw-cr,.swatch.sw-carbon,.swatch.sw-galv,.swatch.sw-ss,.swatch.sw-al{border-bottom-color:var(--red)}
.contact-pg form.quote{margin:0}

/* ===== visible tab bar ===== */
.site-head{background:#FFFFFF}
.site-head .head-row{min-height:84px}
.head-info{display:flex;flex-direction:column;align-items:center;font-size:13.5px;color:var(--muted);line-height:1.35;text-align:center}
.head-info b{font-weight:600;color:var(--navy)}
.head-actions{display:flex;align-items:center;gap:18px}
.head-phone{font-size:15px;font-weight:600;color:var(--navy);white-space:nowrap}
@media (max-width:900px){.head-info{display:none}}
@media (max-width:560px){.head-phone{display:none}.site-head .btn{min-height:42px;padding:0 14px;font-size:14.5px}.brand svg{height:34px}}
.tabbar{background:var(--navy);position:relative}
.tabs{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:7px;min-height:52px;padding:0 20px;color:#E6EAF1;text-decoration:none;font-weight:600;font-size:15.5px;white-space:nowrap;border-bottom:3px solid transparent;transition:background .15s,color .15s}
.tab svg{width:11px;height:11px;opacity:.7;transition:transform .2s}
.tab:hover{background:var(--navy-2);color:#FFFFFF}
.tab.cur{background:#FFFFFF;color:var(--navy);border-bottom-color:var(--red)}
.tab:first-child{margin-left:-20px}
.tab-dd{position:relative;display:flex}
.tmenu{position:absolute;top:100%;left:0;min-width:300px;background:#FFFFFF;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 24px 50px rgba(10,23,48,.16);padding:8px;list-style:none;margin:0;display:none;z-index:50;max-height:calc(100vh - 200px);overflow-y:auto}
.tmenu a{display:block;padding:9px 12px;text-decoration:none;font-size:15px;color:var(--ink);white-space:nowrap}
.tmenu a:hover{background:var(--soft);color:var(--red)}
.tmenu a.all{font-weight:600;color:var(--navy);border-bottom:1px solid var(--line);margin-bottom:4px}
.tmenu .grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px 4px}
@media (hover:hover) and (min-width:1000px){
  .tabs{overflow:visible}
  .tab-dd:hover .tmenu,.tab-dd:focus-within .tmenu{display:block}
  .tab-dd:hover .tab svg{transform:rotate(180deg)}
}
@media (max-width:999px){.tab svg{display:none}.tab{padding:0 16px;font-size:15px}.tab:first-child{margin-left:-16px}}
html{scroll-padding-top:150px}
.side{top:160px}

/* ===== home explorer ===== */
.explorer{background:#FFFFFF;border-bottom:1px solid var(--line)}
.xtabs{display:flex;gap:0;border-bottom:2px solid var(--line);margin-bottom:28px;overflow-x:auto;scrollbar-width:none}
.xtabs::-webkit-scrollbar{display:none}
.xtabs button{font:inherit;font-weight:600;font-size:17px;color:var(--muted);background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:14px 22px;cursor:pointer;white-space:nowrap;display:inline-flex;gap:10px;align-items:center;min-height:52px}
.xtabs button span{font-family:var(--mono);font-size:12px;background:var(--soft);color:var(--muted);padding:2px 8px}
.xtabs button:hover{color:var(--navy)}
.xtabs button.on{color:var(--navy);border-bottom-color:var(--red)}
.xtabs button.on span{background:var(--navy);color:#FFFFFF}
.xtabs button:first-child{padding-left:0}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:1000px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tiles{grid-template-columns:minmax(0,1fr)}}
.tile{display:flex;align-items:center;gap:16px;border:1px solid var(--line);padding:12px 16px 12px 12px;text-decoration:none;color:var(--ink);background:#FFFFFF;transition:border-color .2s,box-shadow .2s;min-width:0}
.tile:hover{border-color:var(--red);box-shadow:0 10px 24px rgba(10,23,48,.08)}
.tile-art{width:72px;height:56px;flex-shrink:0;background:var(--il-bg);display:flex;align-items:center;justify-content:center}
.tile-art svg{width:84%;height:auto}
.tile-art.swatch{border:0}
.tile-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex-grow:1}
.tile-txt em{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-txt b{font-size:16.5px;font-weight:600;color:var(--navy);line-height:1.25}
.tile svg.arr{color:var(--muted)}
.tile:hover svg.arr{color:var(--red);transform:translateX(4px)}

/* ===== v3: professional industrial ===== */
:root{--dark:#0E1116;--dark-2:#161A21;--dark-line:#262C36;--cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--red-hot:#6FA0FF}
h1,h2{font-family:var(--cond);text-transform:uppercase;letter-spacing:.01em;font-weight:600}
h2{font-size:clamp(36px,4.4vw,56px);line-height:1}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.2em}
.btn{font-family:var(--cond);font-weight:600;font-size:17px;letter-spacing:.08em;text-transform:uppercase;border-radius:0;min-height:52px;padding:0 28px}
.btn-primary{background:#2F6FE0}
.btn-primary:hover{background:#123F99}

/* header + tabs */
.preview-note{font-size:12.5px}
.topbar{background:var(--dark);border-bottom:1px solid var(--dark-line)}
.site-head{box-shadow:0 1px 0 var(--line)}
.tabbar{background:var(--dark)}
.tab{font-family:var(--cond);font-weight:600;font-size:16.5px;letter-spacing:.1em;text-transform:uppercase;color:#D3D9E2;min-height:54px;padding:0 22px;border-bottom:3px solid transparent}
.tab:hover{background:var(--dark-2);color:#FFFFFF}
.tab.cur{background:transparent;color:#FFFFFF;border-bottom-color:var(--red-hot)}
.tmenu{border-radius:0;border-top:3px solid var(--red-hot);padding:6px 0}
.tmenu a{padding:11px 20px;font-size:15px;letter-spacing:.02em;border-bottom:1px solid #EEF0F3}
.tmenu li:last-child a{border-bottom:0}
.tmenu a:hover{background:var(--soft);color:#2F6FE0;padding-left:24px}
.tmenu a{transition:padding .15s,background .15s}
.tmenu a.all{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;color:#2F6FE0;margin:0}

/* hero */
.hero3{position:relative;overflow:hidden;background:var(--dark);color:#FFFFFF;isolation:isolate}
.hero3 canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hero3-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,17,22,.96) 0%,rgba(14,17,22,.86) 34%,rgba(14,17,22,.35) 64%,rgba(14,17,22,.15) 100%),linear-gradient(0deg,rgba(14,17,22,.85) 0%,transparent 30%)}
@media (max-width:900px){.hero3-shade{background:linear-gradient(180deg,rgba(14,17,22,.55),rgba(14,17,22,.92) 70%)}}
.hero3-inner{padding-block:clamp(84px,11vw,168px) clamp(150px,15vw,210px)}
.hero3-copy{max-width:760px;display:flex;flex-direction:column;gap:24px}
.hero3 .kicker{color:var(--red-hot)}
.hero3 h1{font-size:clamp(50px,7.6vw,108px);line-height:.92;font-weight:700;color:#FFFFFF}
.hero3-sub{font-family:var(--cond);font-size:clamp(18px,1.9vw,23px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#E6EAF1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.hero3-sub i{width:6px;height:6px;background:var(--red-hot);display:inline-block}
.hero3-lede{font-size:18.5px;color:#B8C0CC;max-width:56ch}
.laser-tag{position:absolute;right:20px;bottom:120px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9AA4B2;display:flex;gap:10px;align-items:center}
.laser-tag b{color:#FFB547;font-weight:500}
.laser-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#FFB547;box-shadow:0 0 12px #FFB547;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
@media (max-width:760px){.laser-tag{display:none}}

/* featured service cards overlapping the hero */
.feat-wrap{position:relative;z-index:2;margin-top:-110px}
.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;box-shadow:0 30px 70px rgba(14,17,22,.22);background:#FFFFFF}
.feat{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#FFFFFF;border-right:1px solid var(--line);min-width:0;transition:background .25s}
.feat:last-child{border-right:0}
.feat-art{position:relative;aspect-ratio:16/10;max-width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.feat-art svg{width:58%;height:auto;transition:transform .5s ease}
.feat:hover .feat-art svg{transform:scale(1.08)}
.feat-num{position:absolute;left:18px;top:14px;font-family:var(--cond);font-size:34px;font-weight:700;color:rgba(255,255,255,.18)}
.feat-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex-grow:1;border-top:3px solid #2F6FE0}
.feat-body h3{font-family:var(--cond);text-transform:uppercase;font-size:24px;letter-spacing:.03em;color:var(--navy)}
.feat-body p{font-size:15px;color:var(--muted)}
.feat .more{margin-top:auto;padding-top:8px;display:inline-flex;gap:8px;align-items:center;font-family:var(--cond);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:15px;color:#2F6FE0}
@media (max-width:1040px){.feats{grid-template-columns:repeat(2,minmax(0,1fr))}.feat:nth-child(2){border-right:0}.feat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.feats{grid-template-columns:minmax(0,1fr)}.feat{border-right:0;border-bottom:1px solid var(--line)}.feat-wrap{margin-top:-70px}}

/* dark steel image panels for all illustrations */
.feat-art,.card-art:not(.swatch),.hero-art:not(.swatch),.tile-art:not(.swatch){
  --il-ink:#DCE2EB;--il-fill:rgba(255,255,255,.035);
  background-color:#1A1F27;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(120% 90% at 70% 20%,#2A313C 0%,#161A21 70%);
  background-size:24px 24px,24px 24px,100% 100%}
.feat-art .ln,.feat-art .lf,.card-art .ln,.card-art .lf,.hero-art .ln,.hero-art .lf,.tile-art .ln,.tile-art .lf{stroke-width:1.5}
.feat-art .ac,.card-art .ac,.hero-art .ac,.tile-art .ac{stroke:var(--red-hot);stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(111,160,255,.6))}
.feat-art .acf,.card-art .acf,.hero-art .acf,.tile-art .acf{fill:var(--red-hot)}
.cards .card:nth-child(3n+2) .card-art:not(.swatch){background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(120% 90% at 30% 30%,#2B3240 0%,#151920 70%)}
.cards .card:nth-child(3n) .card-art:not(.swatch){background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(120% 90% at 50% 80%,#2C2E33 0%,#15171B 70%)}
.card-art{border-bottom:3px solid #2F6FE0;overflow:hidden}
.card-art svg{transition:transform .5s ease}
.card:hover .card-art svg{transform:scale(1.08)}
.card{border-radius:0}
.card h3{font-family:var(--cond);text-transform:uppercase;font-size:23px;letter-spacing:.03em}
.card .more{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;color:#2F6FE0}
.card .cat{color:#2F6FE0}
.tile-art{width:76px;height:58px}
.tile{border-radius:0}
.tile-txt b{font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em;font-size:18px}
.tile-txt em{color:#2F6FE0}

/* stats */
.stats{background:var(--dark);color:#FFFFFF;padding-block:56px;margin-top:72px;position:relative}
.stats::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#2F6FE0 0 25%,transparent 25%)}
.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-row div{padding:8px 28px;border-left:1px solid var(--dark-line);display:flex;flex-direction:column;gap:6px;min-width:0}
.stats-row div:first-child{border-left:0;padding-left:0}
.stats b{font-family:var(--cond);font-size:clamp(52px,6vw,80px);font-weight:700;line-height:1;color:#FFFFFF;font-variant-numeric:tabular-nums}
.stats b::after{content:"+";color:var(--red-hot);font-size:.6em;vertical-align:.5em;margin-left:2px}
.stats span{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:15px;color:#9AA4B2}
@media (max-width:860px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.stats-row div:nth-child(3){border-left:0;padding-left:0}}

/* reasons */
.sec-title.center{justify-content:center;text-align:center}
.sec-title.center > div{align-items:center}
.sec-title.center .kicker::before{display:none}
.reasons3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.reasons3 div{text-align:center;padding:34px 22px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .3s,box-shadow .3s,border-color .3s;min-width:0}
.reasons3 div:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(14,17,22,.1);border-color:transparent}
.reasons3 svg{width:54px;height:54px}
.reasons3 .i1{fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reasons3 .i2{fill:none;stroke:#2F6FE0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reasons3 h3{font-family:var(--cond);text-transform:uppercase;font-size:23px;letter-spacing:.04em;color:var(--navy)}
.reasons3 p{font-size:15.5px;color:var(--muted)}
@media (max-width:980px){.reasons3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.reasons3{grid-template-columns:minmax(0,1fr)}}

/* ticker */
.ticker3{background:#2F6FE0;color:#FFFFFF;overflow:hidden;white-space:nowrap}
.ticker3-track{display:inline-flex;animation:tick3 60s linear infinite;padding-block:16px}
.ticker3 span{font-family:var(--cond);font-weight:600;font-size:20px;letter-spacing:.12em;text-transform:uppercase;padding-inline:26px;display:inline-flex;align-items:center;gap:26px}
.ticker3 span::after{content:"";width:6px;height:6px;background:#FFFFFF;transform:rotate(45deg)}
@keyframes tick3{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker3-track{animation:none}}

/* explorer + sections */
.explorer{border-bottom:0}
.xtabs button{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:18px}
.sec-title h2{color:var(--navy)}
.dark3{background:var(--dark);color:#FFFFFF;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px}
.dark3 .sec-title h2{color:#FFFFFF}
.dark3 .kicker{color:var(--red-hot)}
.dark3 .how{background:var(--dark-line);border-color:var(--dark-line)}
.dark3 .how div{background:var(--dark-2)}
.dark3 .how h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em}
.route3{margin:0 0 28px}
.route3 svg{width:100%;height:auto;display:block}
.route3 text{fill:#C9D1DD}
.route3 circle:first-of-type{fill:#FFFFFF}
.mcard h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em;font-size:18px}
.certs div{border-radius:0;font-family:var(--cond);font-size:26px}
.client-bar{background:#FFFFFF}
.client-row span{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(20px,2.2vw,28px)}
.cta3{background:linear-gradient(110deg,var(--dark) 0 62%,#2F6FE0 62% 100%);color:#FFFFFF;padding-block:clamp(56px,7vw,92px)}
.cta3 .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta3 .wrap > div{display:flex;flex-direction:column;gap:14px}
.cta3 .kicker{color:var(--red-hot)}
.cta3 h2{color:#FFFFFF}
.cta3 .btn-primary{background:#FFFFFF;color:#2F6FE0}
.cta3 .btn-primary:hover{background:#F1F1F1}
@media (max-width:760px){.cta3{background:var(--dark)}.cta3 .btn-primary{background:#2F6FE0;color:#FFFFFF}}

/* detail page banner */
.banner{background-color:var(--dark);background-image:linear-gradient(90deg,rgba(14,17,22,.98) 30%,rgba(14,17,22,.75)),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),radial-gradient(80% 140% at 85% 50%,#3A2420 0%,#1A1F27 60%);background-size:100% 100%,28px 28px,28px 28px,100% 100%;border-bottom:0;padding-block:64px 58px}
.banner::after{width:160px;height:4px;background:#2F6FE0}
.banner h1{color:#FFFFFF;font-size:clamp(40px,5.4vw,72px);line-height:.95}
.banner p{color:#B8C0CC}
.crumbs,.crumbs a{color:#9AA4B2}
.crumbs a:hover{color:#FFFFFF}
.crumbs b{color:#FFFFFF}
.blk h2{font-size:30px;font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em}
.blk h2::before{background:#2F6FE0}
.hero-art{border-bottom:4px solid #2F6FE0}
.inline-cta{background:var(--dark)}
.inline-cta h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;font-size:28px}
.side-cta{background:var(--dark)}
.side-list a.on{border-left-color:#2F6FE0}
.foot{background:var(--dark);border-top:4px solid #2F6FE0}
.stats-row div:not(:first-child) b::after{content:none}

/* ===== v6: corporate (ABB / Schneider-like restraint) ===== */
:root{
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --body:var(--sans);--cond:var(--sans);--mono:var(--sans);
  --navy:#0C1F45;--ink:#0C1F45;--text:#3A4458;--muted:#5B6476;--red:#1F5BD0;
  --line:#E3E6EB;--soft:#F5F6F8;
}
html,body{font-family:var(--sans)}
body{color:var(--text);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.tab,.btn,.feat-body h3,.card h3,.tile-txt b,.mcard h3,.reasons3 h3,.blk h2,.inline-cta h3,.xtabs button,.client-row span,.stats span,.feat .more,.card .more,.dark3 .how h3,.certs div,.hero3-sub,.ticker3 span{font-family:var(--sans);text-transform:none;letter-spacing:0}
h1,h2{font-weight:500;letter-spacing:-.02em;color:var(--navy)}
h2{font-size:clamp(30px,3.4vw,42px);line-height:1.15}
h3{font-weight:600;letter-spacing:-.01em;color:var(--navy)}
p,li,td,dd{color:var(--text)}
.lede{color:var(--text);font-size:18px}
.kicker{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.kicker::before{width:20px;height:2px;background:var(--red)}
.btn{font-weight:500;font-size:15.5px;min-height:48px;padding:0 24px;border-radius:2px}
.btn-primary{background:var(--red)!important;color:#FFFFFF!important}
.btn-primary:hover{background:#0A2F7A!important}
.btn-outline{border:1px solid var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#FFFFFF}
.btn-outline-light{border:1px solid rgba(255,255,255,.6);color:#FFFFFF}
.btn-outline-light:hover{background:#FFFFFF;color:var(--navy);border-color:#FFFFFF}
svg.arr{width:14px;height:14px}

/* header */
.preview-note{font-family:var(--sans)}
.topbar{background:var(--soft);color:var(--muted);border-bottom:1px solid var(--line);font-size:13px}
.topbar b{color:var(--navy);font-weight:600}
.site-head{background:#FFFFFF;box-shadow:none;border-bottom:1px solid var(--line)}
.head-info span{color:var(--muted)}.head-info b{color:var(--navy);font-weight:600}
.head-phone{color:var(--navy);font-weight:500}
.tabbar{background:#FFFFFF;border-top:1px solid var(--line)}
.tab{color:var(--navy);font-weight:500;font-size:15px;min-height:52px;padding:0 18px;border-bottom:2px solid transparent}
.tab svg{opacity:.55}
.tab:hover{background:transparent;color:var(--red)}
.tab.cur{background:transparent;color:var(--navy);border-bottom-color:var(--red);font-weight:600}
.tab:first-child{margin-left:-18px}
.tmenu{border-radius:0;border:1px solid var(--line);border-top:2px solid var(--red);box-shadow:0 18px 40px rgba(12,31,69,.12);padding:8px 0}
.tmenu a{color:var(--navy);font-size:14.5px;padding:10px 20px;border-bottom:0}
.tmenu a:hover{background:var(--soft);color:var(--red);padding-left:20px}
.tmenu a.all{font-family:var(--sans);text-transform:none;letter-spacing:0;color:var(--red);border-bottom:1px solid var(--line)}
.tmenu .grp{font-family:var(--sans)}

/* hero: calm navy */
.hero3{background:#0A1A3A}
.hero3-shade{background:linear-gradient(90deg,rgba(21,34,61,.97) 0%,rgba(21,34,61,.88) 36%,rgba(21,34,61,.35) 70%,rgba(21,34,61,.15) 100%)}
@media (max-width:900px){.hero3-shade{background:linear-gradient(180deg,rgba(21,34,61,.6),rgba(21,34,61,.94) 70%)}}
.hero3 .kicker{color:#FFFFFF}
.hero3 .kicker::before{background:#FFFFFF}
.hero3 h1{font-size:clamp(42px,5.6vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.025em;color:#FFFFFF}
.hero3-sub{font-size:16px;font-weight:500;letter-spacing:0;color:#FFFFFF;gap:6px 14px}
.hero3-sub i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.6)}
.hero3-lede{color:rgba(255,255,255,.82);font-size:18px}
.hero3-inner{padding-block:clamp(80px,10vw,140px) clamp(140px,13vw,190px)}

/* light illustration panels */
.feat-art,.card-art:not(.swatch),.hero-art:not(.swatch),.tile-art:not(.swatch),
.cards .card:nth-child(3n+2) .card-art:not(.swatch),.cards .card:nth-child(3n) .card-art:not(.swatch){
  --il-ink:#0C1F45;--il-fill:#FFFFFF;
  background-color:#F2F4F7;background-image:linear-gradient(rgba(12,31,69,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(12,31,69,.045) 1px,transparent 1px);background-size:22px 22px,22px 22px}
.feat-art .ln,.feat-art .lf,.card-art .ln,.card-art .lf,.hero-art .ln,.hero-art .lf,.tile-art .ln,.tile-art .lf{stroke:#0C1F45;stroke-width:1.4}
.feat-art .ac,.card-art .ac,.hero-art .ac,.tile-art .ac{stroke:#1F5BD0;stroke-width:1.8;filter:none}
.feat-art .acf,.card-art .acf,.hero-art .acf,.tile-art .acf{fill:#1F5BD0}
.feat-num{color:#0C1F45!important;opacity:.14;font-family:var(--sans);font-weight:500}
.card-art,.hero-art{border-bottom:1px solid var(--line)}
.feat-body{border-top:0}
.feats{box-shadow:0 20px 50px rgba(12,31,69,.14)}
.feat-body h3,.card h3{font-size:19px;font-weight:600;color:var(--navy)}
.feat-body p,.card p{color:var(--text)}
.feat .more,.card .more{font-size:14.5px;font-weight:500;color:var(--red)}
.card .cat,.tile-txt em,.prod .cat,.qi .tag,.flow-steps .loc{font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.06em;color:var(--red)}
.card{border:1px solid var(--line)}
.card:hover{box-shadow:0 16px 36px rgba(12,31,69,.1);transform:translateY(-3px)}
.tile-txt b{font-size:15.5px;font-weight:600;color:var(--navy)}
.tile:hover{border-color:var(--navy)}

/* stats */
.stats{background:var(--navy);margin-top:64px}
.stats::before{display:none}
.stats b{font-family:var(--sans);font-weight:300;font-size:clamp(44px,5vw,64px);color:#FFFFFF;letter-spacing:-.02em}
.stats b::after{color:#FFFFFF;font-weight:300}
.stats span{font-size:14px;color:rgba(255,255,255,.8);letter-spacing:0}
.stats-row div{border-left-color:rgba(255,255,255,.18)}

/* reasons */
.reasons3 div{border:0;border-top:2px solid var(--navy);text-align:left;align-items:flex-start;padding:26px 0 0;gap:10px}
.reasons3 div:hover{transform:none;box-shadow:none}
.reasons3 svg{width:40px;height:40px}
.reasons3 h3{font-size:19px}
.reasons3 p{color:var(--text)}
.sec-title.center{justify-content:flex-start;text-align:left}
.sec-title.center > div{align-items:flex-start}
.sec-title.center .kicker::before{display:inline-block}
.sec-title h2{color:var(--navy)}
.link{font-weight:500;color:var(--navy)}
.link:hover{color:var(--red)}
.ticker3{display:none}
.xtabs button{font-size:15.5px;font-weight:500;color:var(--muted)}
.xtabs button.on{color:var(--navy);border-bottom-color:var(--red);font-weight:600}
.xtabs button span{font-family:var(--sans);border-radius:2px}
.xtabs button.on span{background:var(--navy)}

/* how we work */
.dark3{background:var(--navy);background-image:none}
.dark3 .sec-title h2{color:#FFFFFF}
.dark3 .kicker{color:#FFFFFF}.dark3 .kicker::before{background:#FFFFFF}
.dark3 .how{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.16)}
.dark3 .how div{background:var(--navy)}
.dark3 .how span{font-family:var(--sans);font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.dark3 .how h3{color:#FFFFFF;font-size:21px}
.dark3 .how p{color:rgba(255,255,255,.8)}
.route3 path{stroke:rgba(255,255,255,.3)}
.route3 text{fill:#FFFFFF;font-family:var(--sans)}
.route3 circle:first-of-type{fill:#FFFFFF}
.link.light{color:#FFFFFF}

/* misc sections */
.mcard h3{font-size:15.5px;font-weight:600;color:var(--navy)}
.mcard span{font-family:var(--sans);color:var(--muted)}
.client-bar .label{font-family:var(--sans);font-weight:600;letter-spacing:.06em;color:var(--muted)}
.client-row span{font-weight:600;font-size:clamp(18px,1.8vw,22px);color:#8C94A3}
.client-row span:hover{color:var(--navy)}
.certs div{font-size:20px;font-weight:600;color:var(--navy)}
.certs span:not(.ph){color:var(--muted)}
.cta3{background:var(--navy)}
.cta3 h2{color:#FFFFFF;font-size:clamp(28px,3vw,38px)}
.cta3 .kicker{color:#FFFFFF}.cta3 .kicker::before{background:#FFFFFF}
.cta3 .btn-primary{background:var(--red)!important;color:#FFFFFF!important}

/* detail pages */
.banner{background:var(--navy);background-image:none;padding-block:56px 50px}
.banner::after{height:3px;width:96px;background:var(--red)}
.banner h1{font-size:clamp(34px,4.2vw,52px);font-weight:500;color:#FFFFFF;line-height:1.1}
.banner p{color:rgba(255,255,255,.82)}
.crumbs,.crumbs a{color:rgba(255,255,255,.7)}.crumbs b{color:#FFFFFF}.crumbs a:hover{color:#FFFFFF}
.blk h2{font-size:24px;font-weight:600;color:var(--navy)}
.blk h2::before{width:3px;height:20px;background:var(--red)}
.blk .lede{color:var(--text)}
.ticks li{color:var(--text)}
table.spec th{background:var(--soft);color:var(--navy);font-weight:600}
.faqs summary{color:var(--navy);font-weight:500}
.inline-cta,.side-cta{background:var(--navy)}
.inline-cta h3{font-size:22px;font-weight:600;color:#FFFFFF}
.inline-cta p,.side-cta p{color:rgba(255,255,255,.82)}
.side-cta h4{color:rgba(255,255,255,.75)}
.side h4{font-family:var(--sans);font-weight:600;letter-spacing:.06em;color:var(--muted)}
.side-list a{color:var(--navy)}
.side-list a.on{color:var(--navy);border-left-color:var(--red);font-weight:600}
.side-list a:hover{color:var(--red)}
.flow-steps .n{font-family:var(--sans);color:var(--muted)}
.flow-steps h4{color:var(--navy);font-weight:600}
.timeline b{font-family:var(--sans)}
.org-top span,.org-kids span{font-family:var(--sans)}
.qi h3,.pitem h3,.values h3,.inds h3,.timeline h3{color:var(--navy)}

/* footer */
.foot{background:#0E1726;border-top:0;color:rgba(255,255,255,.75)}
.foot h4{font-family:var(--sans);font-weight:600;letter-spacing:.06em;color:#FFFFFF}
.foot a:hover{color:#FFFFFF}
.foot-base{border-top:1px solid rgba(255,255,255,.14)}

/* ===== v7: photography ===== */
img{display:block}
/* hero photo with slow zoom */
.hero-photo{position:absolute;inset:0;z-index:-2;background:#0A1A3A url(../img/03.jpg) center 40%/cover no-repeat;transform-origin:60% 50%;animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,1%)}}
.hero3-shade{background:linear-gradient(90deg,rgba(10,23,48,.94) 0%,rgba(10,23,48,.8) 38%,rgba(10,23,48,.25) 72%,rgba(10,23,48,.1) 100%),linear-gradient(0deg,rgba(10,23,48,.6) 0%,transparent 35%)!important}
@media (max-width:900px){.hero3-shade{background:linear-gradient(180deg,rgba(10,23,48,.55),rgba(10,23,48,.92) 70%)!important}}
.hero3-inner{padding-block:clamp(110px,13vw,190px) clamp(150px,14vw,210px)}
/* hero copy entrance */
@media (prefers-reduced-motion:no-preference){
  .hero3-copy > *{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero3-copy > *:nth-child(2){animation-delay:.08s}.hero3-copy > *:nth-child(3){animation-delay:.16s}
  .hero3-copy > *:nth-child(4){animation-delay:.24s}.hero3-copy > *:nth-child(5){animation-delay:.32s}
}
@keyframes rise{from{transform:translateY(22px);opacity:.001}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hero-photo{animation:none}}

/* photo frames */
.feat-art,.card-art,.hero-art,.tile-art{background:#0C1F45!important;background-image:none!important;overflow:hidden;position:relative}
.feat-art img,.card-art img,.hero-art img,.tile-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.feat:hover .feat-art img,.card:hover .card-art img,.tile:hover .tile-art img{transform:scale(1.07)}
.feat-art::after,.card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,23,48,.35));pointer-events:none}
.feat-num{color:#FFFFFF!important;opacity:.85!important;z-index:1;font-weight:300!important;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.feat-art{aspect-ratio:4/3}
.card-art{aspect-ratio:3/2;border-bottom:3px solid #1F5BD0}
.hero-art{aspect-ratio:16/8;border-bottom:3px solid #1F5BD0}
.hero-art img{animation:slowzoom 18s ease-in-out infinite alternate}
@keyframes slowzoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.hero-art img{animation:none}}
.tile-art{width:84px;height:62px}
/* svg fallbacks still work on photo frames */
.card-art svg,.feat-art svg,.hero-art svg,.tile-art svg{position:relative;z-index:1}
.card-art:has(svg),.feat-art:has(svg),.hero-art:has(svg),.tile-art:has(svg){background:#F2F4F7!important}

/* banners with photo */
.banner.has-photo{position:relative;background:#0A1A3A;isolation:isolate;overflow:hidden;padding-block:clamp(80px,9vw,130px) clamp(60px,7vw,96px)}
.banner.has-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.95) 0%,rgba(10,23,48,.8) 45%,rgba(10,23,48,.4) 100%),var(--photo) center/cover no-repeat;animation:kenburns 30s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.banner.has-photo::before{animation:none}}

/* photo bands */
.photo-band{position:relative;isolation:isolate;overflow:hidden}
.photo-band::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover no-repeat;transform:scale(1.05)}
.photo-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.95),rgba(10,23,48,.82) 55%,rgba(10,23,48,.6))}
.dark3.photo-band{background:#0A1A3A}
.dark3.photo-band .how{background:rgba(255,255,255,.18)}
.dark3.photo-band .how div{background:rgba(10,23,48,.72);backdrop-filter:blur(6px)}
.cta3.photo-band{background:#0A1A3A}
.cta3.photo-band::after{background:linear-gradient(90deg,rgba(10,23,48,.96) 0%,rgba(10,23,48,.85) 50%,rgba(31,91,208,.55) 100%)}

/* plant gallery */
.pgal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,240px));gap:12px}
.pgal figure{margin:0;position:relative;overflow:hidden;background:#0C1F45}
.pgal img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pgal figure:hover img{transform:scale(1.06)}
.pgal figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;color:#FFFFFF;font-weight:500;font-size:15px;background:linear-gradient(180deg,transparent,rgba(10,23,48,.85))}
.pgal .g1{grid-column:span 2;grid-row:span 2}
@media (max-width:860px){.pgal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:180px}.pgal .g1{grid-column:span 2;grid-row:span 1}}

/* reveal on scroll (transform only, content always visible) */
@media (prefers-reduced-motion:no-preference){
  .js-reveal .reveal{transform:translateY(28px);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .js-reveal .reveal.in{transform:none}
}

/* ===================== v8 refresh ===================== */
:root{--ease:cubic-bezier(.2,.7,.2,1);--navy-ink:#0E1726;--hot:#6FA0FF}
::selection{background:#0C1F45;color:#FFFFFF}
.preview-note{display:none}
.wrap{max-width:1280px}
h2{font-size:clamp(30px,3.3vw,44px);font-weight:500;letter-spacing:-.022em;line-height:1.12}

/* header */
.topbar{background:var(--navy-ink);color:rgba(255,255,255,.72);border:0;font-size:12.5px}
.topbar b{color:#FFFFFF}
.topbar .ph{background:rgba(255,255,255,.12);color:#FFFFFF}
.site-head{transition:box-shadow .3s var(--ease)}
.site-head .head-row{min-height:78px;transition:min-height .3s var(--ease)}
.site-head.scrolled{box-shadow:0 8px 30px rgba(10,23,48,.08)}
.site-head.scrolled .head-row{min-height:62px}
.site-head.scrolled .head-info{opacity:0;pointer-events:none}
.head-info{transition:opacity .25s}
.brand svg{transition:height .3s var(--ease)}
.site-head.scrolled .brand svg{height:36px}
.tabbar{border-top:1px solid var(--line)}
.tab{font-size:14.5px;letter-spacing:.005em;position:relative;border-bottom:0!important}
.tab::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.tab:hover::after,.tab.cur::after{transform:scaleX(1)}
.tab:first-child::after{left:0}
.tmenu{animation:menuin .22s var(--ease)}
@keyframes menuin{from{transform:translateY(6px)}to{transform:none}}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red);transform:scaleX(var(--p,0));transform-origin:left;pointer-events:none}

/* links & buttons */
.link{position:relative;padding-bottom:2px}
.link::after{content:"";position:absolute;left:0;right:22px;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.link:hover::after{transform:scaleX(1)}
.btn{transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}

/* ============ hero slider ============ */
.hs{position:relative;height:min(86vh,780px);min-height:560px;background:var(--navy-ink);color:#FFFFFF;overflow:hidden;isolation:isolate}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease),visibility 0s 1.1s}
.hs-slide.on{opacity:1;visibility:visible;transition:opacity 1.1s var(--ease),visibility 0s}
.hs-img{position:absolute;inset:0;background:var(--photo) center/cover no-repeat;transform:scale(1.04)}
.hs-slide.on .hs-img{animation:hsZoom 9s linear forwards}
@keyframes hsZoom{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hs-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,23,48,.92) 0%,rgba(10,23,48,.72) 40%,rgba(10,23,48,.18) 75%,rgba(10,23,48,.05)),linear-gradient(0deg,rgba(10,23,48,.75) 0%,transparent 40%)}
.hs-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-bottom:120px;max-width:1280px}
.hs-copy > *{max-width:720px}
.hs-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF}
.hs-eyebrow::before{content:"";width:32px;height:2px;background:var(--hot)}
.hs-title{font-size:clamp(42px,6vw,82px);font-weight:500;letter-spacing:-.03em;line-height:1.02;color:#FFFFFF;margin:0}
.hs-sub{font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.84);line-height:1.55}
.hs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
@media (prefers-reduced-motion:no-preference){
  .hs-slide.on .hs-copy > *{animation:hsUp .9s var(--ease) both}
  .hs-slide.on .hs-copy > *:nth-child(2){animation-delay:.08s}
  .hs-slide.on .hs-copy > *:nth-child(3){animation-delay:.16s}
  .hs-slide.on .hs-copy > *:nth-child(4){animation-delay:.24s}
}
@keyframes hsUp{from{transform:translateY(26px);opacity:.001}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hs-slide.on .hs-img{animation:none}}
.hs-ctrl{position:absolute;left:0;right:0;bottom:34px;z-index:2;display:flex;gap:28px;align-items:flex-end}
.hs-dot{flex:1 1 0;max-width:260px;background:none;border:0;padding:0;color:rgba(255,255,255,.6);text-align:left;cursor:pointer;font:inherit;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:10px;min-height:44px}
.hs-bar{grid-column:1/-1;height:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.hs-bar i{position:absolute;inset:0;background:#FFFFFF;transform:scaleX(0);transform-origin:left}
.hs-dot.on .hs-bar i{animation:bar var(--dur,7s) linear forwards}
.hs.paused .hs-dot.on .hs-bar i{animation-play-state:paused}
.hs-dot.done .hs-bar i{transform:scaleX(1)}
@keyframes bar{to{transform:scaleX(1)}}
.hs-dot b{font-weight:600;font-size:13px;color:#FFFFFF;font-variant-numeric:tabular-nums}
.hs-dot em{font-style:normal;font-size:13.5px}
.hs-dot.on em,.hs-dot:hover em{color:#FFFFFF}
.hs-pause{width:44px;height:44px;border:1px solid rgba(255,255,255,.35);background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}
.hs-pause:hover{border-color:#FFFFFF}
.hs-pause svg{width:14px;height:14px;fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hs-pause .i-play{display:none;fill:#FFFFFF;stroke:none}
.hs.paused .hs-pause .i-pause{display:none}.hs.paused .hs-pause .i-play{display:block}
.hs-scroll{border:0;padding:0;cursor:pointer;position:absolute;right:max(16px,calc((100vw - 1280px)/2 + 48px));top:50%;z-index:2;width:1px;height:90px;background:rgba(255,255,255,.25);display:none}
@media (min-width:1100px){.hs-scroll{display:block}}
.hs-scroll span{position:absolute;left:-1px;top:0;width:3px;height:26px;background:#FFFFFF;animation:scrolldot 2.2s var(--ease) infinite}
@keyframes scrolldot{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateY(64px);opacity:0}}
@media (max-width:760px){.hs{height:auto;min-height:640px}.hs-copy{padding-block:96px 150px}.hs-dot em{display:none}.hs-ctrl{gap:14px}}

/* ============ intro ============ */
.intro{padding-block:clamp(72px,9vw,128px);border-bottom:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:72px;align-items:end}
.intro-txt{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.intro-lead{font-size:clamp(23px,2.3vw,31px);line-height:1.38;letter-spacing:-.012em;color:var(--navy);font-weight:400}
.intro-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}
.intro-stats div{padding:22px 0 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column-reverse;gap:4px}
.intro-stats div:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.intro-stats dt{font-size:14px;color:var(--muted)}
.intro-stats dd{margin:0}
.intro-stats b{font-size:clamp(40px,4vw,56px);font-weight:300;letter-spacing:-.03em;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
@media (max-width:900px){.intro-grid{grid-template-columns:minmax(0,1fr);gap:40px}}

/* section head */
.sec8-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;margin-bottom:44px}
.sec8-head > div{display:flex;flex-direction:column;gap:14px;max-width:640px}
.sec8-head h2{color:var(--navy)}
.sec8-head > p{max-width:440px;color:var(--text);font-size:16.5px}
.sec8-head.light h2{color:#FFFFFF}.sec8-head.light > p{color:rgba(255,255,255,.78)}
.sec8-head.light .kicker{color:#FFFFFF}.sec8-head.light .kicker::before{background:var(--hot)}

/* ============ transformer anatomy ============ */
.tt{padding-block:clamp(72px,9vw,120px);background:var(--soft)}
.tt-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start;background:#FFFFFF;border:1px solid var(--line);padding:clamp(18px,3vw,36px)}
@media (max-width:980px){.tt-grid{grid-template-columns:minmax(0,1fr)}}
.tt-fig{margin:0;display:flex;flex-direction:column;gap:14px;min-width:0}
.tt-svg{width:100%;height:auto;display:block}
.tt-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.tt-l path{stroke:#0C1F45;stroke-width:1.6}
.tt-cut path{stroke:#0C1F45;stroke-opacity:.38;stroke-width:1.2}
.tt-r path{stroke:#1F5BD0;stroke-width:2.2}
.tt-fig figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.lg{display:inline-block;width:18px;height:2px;margin-right:-6px}
.lg-n{background:#0C1F45}.lg-r{background:#1F5BD0;height:3px}.lg-c{background:repeating-linear-gradient(90deg,rgba(12,31,69,.45) 0 4px,transparent 4px 7px)}
.hot circle{fill:#FFFFFF;stroke:#0C1F45;stroke-width:1.5;transition:fill .25s,stroke .25s}
.hot text{font:600 11px var(--sans);fill:#0C1F45;text-anchor:middle;dominant-baseline:central;transition:fill .25s}
.tt-hs .hot{cursor:pointer}
.hot.on circle{fill:#1F5BD0;stroke:#1F5BD0}
.hot.on text{fill:#FFFFFF}
.tt-hs .hot.on circle{filter:drop-shadow(0 0 0 rgba(31,91,208,.5));animation:ping 1.8s var(--ease) infinite}
@keyframes ping{0%{filter:drop-shadow(0 0 0 rgba(31,91,208,.55))}100%{filter:drop-shadow(0 0 10px rgba(31,91,208,0))}}
.tt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tt-item{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 4px;cursor:pointer;font:inherit;color:var(--navy);transition:background .2s}
.tt-item b{font-weight:500;font-size:13px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.tt-item strong{display:block;font-weight:600;font-size:16px}
.tt-item em{display:block;font-style:normal;font-size:14.5px;line-height:1.55;color:var(--text);max-height:0;overflow:hidden;opacity:0;transition:max-height .4s var(--ease),opacity .3s,margin .3s}
.tt-item.on{background:linear-gradient(90deg,rgba(31,91,208,.06),transparent)}
.tt-item.on b{color:#1F5BD0}
.tt-item.on em{max-height:90px;opacity:1;margin-top:4px}
.tt-item:hover strong{color:#1F5BD0}
.tt-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.tt-photos a{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0C1F45;text-decoration:none}
.tt-photos img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tt-photos a:hover img{transform:scale(1.06)}
.tt-photos span{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:#FFFFFF;font-weight:500;font-size:15px;display:flex;gap:8px;align-items:center;background:linear-gradient(180deg,transparent,rgba(10,23,48,.9))}
@media (max-width:760px){.tt-photos{grid-template-columns:minmax(0,1fr)}}
/* draw-in */
.js-draw .tt-svg.armed path{stroke-dasharray:1;stroke-dashoffset:1}
.js-draw .tt-svg.armed .tt-cut path{stroke-dasharray:1}
.js-draw .tt-svg.drawn path{transition:stroke-dashoffset 1.8s var(--ease);stroke-dashoffset:0}
.js-draw .tt-svg.drawn .tt-cut path{transition-delay:.5s}
.js-draw .tt-svg.drawn .tt-r path{transition-delay:.9s}
.js-draw .tt-svg.done .tt-cut path{stroke-dasharray:5 5}

/* ============ focus areas ============ */
.focus{padding-block:clamp(72px,9vw,120px)}
.fa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fa{position:relative;display:block;aspect-ratio:3/4;max-width:100%;overflow:hidden;color:#FFFFFF;text-decoration:none;background:#0C1F45}
.fa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.fa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,48,.05) 30%,rgba(10,23,48,.92));transition:background .4s}
.fa:hover img{transform:scale(1.06)}
.fa:hover::after{background:linear-gradient(180deg,rgba(10,23,48,.3) 0%,rgba(10,23,48,.95))}
.fa-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px;display:flex;flex-direction:column;gap:10px}
.fa-num{font-size:13px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.fa h3{font-size:26px;font-weight:500;color:#FFFFFF;letter-spacing:-.015em}
.fa p{color:rgba(255,255,255,.85);font-size:15.5px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.fa:hover p,.fa:focus-visible p{max-height:120px;opacity:1}
.fa-more{display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:15px;padding-top:6px;border-top:1px solid rgba(255,255,255,.3)}
@media (hover:none){.fa p{max-height:none;opacity:1}}
@media (max-width:900px){.fa-grid{grid-template-columns:minmax(0,1fr)}.fa{aspect-ratio:16/10}.fa p{max-height:none;opacity:1}}

/* ============ capability rail ============ */
.rail-sec{padding-block:clamp(72px,9vw,120px) clamp(56px,6vw,80px);background:var(--navy-ink);color:#FFFFFF;overflow:hidden}
.rail-sec .sec8-head h2{color:#FFFFFF}
.rail-sec .kicker{color:#FFFFFF}.rail-sec .kicker::before{background:var(--hot)}
.rail-sec .link{color:#FFFFFF}
.rail-nav{display:flex;align-items:center;gap:10px}
.rail-nav .link{margin-right:14px}
.rail-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.rail-btn:hover{background:#FFFFFF}
.rail-btn svg{width:16px;height:16px;fill:none;stroke:#FFFFFF;stroke-width:1.8}
.rail-btn:hover svg{stroke:#0C1F45}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(16px,calc((100vw - 1280px)/2 + 48px)) 8px;scrollbar-width:none;scroll-padding-inline:max(16px,calc((100vw - 1280px)/2 + 48px))}
.rail::-webkit-scrollbar{display:none}
.rail:focus-visible{outline:2px solid #FFFFFF;outline-offset:4px}
.rc{flex:0 0 clamp(250px,24vw,320px);scroll-snap-align:start;position:relative;aspect-ratio:4/5;overflow:hidden;color:#FFFFFF;text-decoration:none;background:#0C1F45}
.rc img,.rc svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rc:hover img{transform:scale(1.07)}
.rc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,23,48,.94))}
.rc-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px;display:flex;flex-direction:column;gap:6px}
.rc-body span{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.65);letter-spacing:.08em}
.rc-body h3{font-size:21px;font-weight:500;color:#FFFFFF}
.rc-body p{font-size:14.5px;color:rgba(255,255,255,.82)}
.rc::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--hot);z-index:2;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.rc:hover::before{transform:scaleX(1)}

/* explorer tidy */
.explorer{padding-block:clamp(72px,9vw,112px)}
.explorer .sec-title h2{font-size:clamp(30px,3.3vw,44px)}

/* ============ how we work ============ */
.how8{background:linear-gradient(180deg,#0A1A3A,#0C1F45);color:#FFFFFF;padding-block:clamp(72px,9vw,120px);position:relative;overflow:hidden}
.how8::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 85%)}
.how8 .wrap{position:relative}
.route8{width:100%;height:auto;display:block;margin:-10px 0 24px}
.r8-t{font:600 12px var(--sans);letter-spacing:.14em;fill:#FFFFFF}
.r8-m{font:400 13px var(--sans);fill:rgba(255,255,255,.7)}
@media (prefers-reduced-motion:no-preference){.r8-dash{animation:dash 30s linear infinite}}
@keyframes dash{to{stroke-dashoffset:-300}}
.how8-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.18)}
.how8-steps li{padding:26px 24px 0 0;display:flex;flex-direction:column;gap:8px;position:relative}
.how8-steps li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--hot)}
.how8-steps span{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.how8-steps h3{color:#FFFFFF;font-size:20px;font-weight:500}
.how8-steps p{color:rgba(255,255,255,.78);font-size:15px}
@media (max-width:900px){.how8-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.route8 .r8-m{display:none}}
@media (max-width:520px){.how8-steps{grid-template-columns:minmax(0,1fr)}}

/* gallery refinements */
.gallery-sec{padding-block:clamp(72px,9vw,120px)}
.pgal{grid-template-rows:repeat(2,minmax(0,260px))}

/* ============ quality split ============ */
.q8{padding-block:clamp(72px,9vw,120px);background:var(--soft)}
.q8-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.q8-img{position:relative;aspect-ratio:4/5;max-width:100%;overflow:visible}
.q8-img img{width:100%;height:100%;object-fit:cover}
.q8-badge{position:absolute;right:-24px;bottom:40px;background:#FFFFFF;padding:22px 24px;box-shadow:0 24px 50px rgba(10,23,48,.16);display:flex;flex-direction:column;gap:4px;max-width:220px;border-top:3px solid var(--red)}
.q8-badge b{font-size:34px;font-weight:300;color:var(--navy);letter-spacing:-.02em;line-height:1}
.q8-badge span{font-size:13.5px;color:var(--text)}
.q8-txt{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.q8-txt h2{color:var(--navy)}
.q8-list{list-style:none;margin:6px 0;padding:0;width:100%;border-top:1px solid var(--line)}
.q8-list li{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.q8-list b{font-weight:600;color:var(--navy);font-size:15px}
.q8-list span{color:var(--text);font-size:15px}
@media (max-width:900px){.q8-grid{grid-template-columns:minmax(0,1fr);gap:40px}.q8-img{aspect-ratio:16/10}.q8-badge{right:16px;bottom:-24px}}

/* clients */
.client-bar{padding-block:44px}
.client-row span{font-size:clamp(18px,1.9vw,24px);color:#9AA2B1;letter-spacing:.02em;transition:color .25s}

/* ============ CTA ============ */
.cta8{position:relative;isolation:isolate;overflow:hidden;color:#FFFFFF;padding-block:clamp(72px,9vw,120px);background:#0A1A3A}
.cta8::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover no-repeat}
.cta8::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.96) 0%,rgba(10,23,48,.86) 55%,rgba(31,91,208,.55))}
.cta8-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.cta8-in > div:first-child{display:flex;flex-direction:column;gap:16px;max-width:640px}
.cta8 h2{color:#FFFFFF}
.cta8 p{color:rgba(255,255,255,.82)}
.cta8 .kicker{color:#FFFFFF}.cta8 .kicker::before{background:var(--hot)}
.cta8-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta8-ph{font-size:14px;color:rgba(255,255,255,.75)}
.cta8 .ph{background:rgba(255,255,255,.14);color:#FFFFFF}

/* reveal: transform only, content never hidden */
@media (prefers-reduced-motion:no-preference){
  .js-reveal .reveal{transform:translateY(32px);transition:transform 1s var(--ease)}
  .js-reveal .reveal.in{transform:none}
}

/* detail pages polish */
.banner.has-photo h1{font-size:clamp(38px,4.6vw,62px);letter-spacing:-.025em}
.detail{padding-block:64px 112px}
.blk h2{font-size:26px;font-family:var(--sans);text-transform:none;letter-spacing:-.01em}
.card{transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s}
.foot{background:var(--navy-ink)}

/* back to top */
.totop{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:50%;background:#0C1F45;border:0;color:#FFFFFF;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(10,23,48,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease);z-index:40}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{background:#1F5BD0}
.totop svg{width:16px;height:16px;fill:none;stroke:#FFFFFF;stroke-width:2}

.sec8-head > .rail-nav{flex-direction:row;align-items:center;gap:10px;max-width:none}

/* ============ laser feature banner ============ */
.lz{position:relative;isolation:isolate;overflow:hidden;color:#FFFFFF;background:#0E1726;padding-block:clamp(80px,10vw,140px) clamp(40px,5vw,64px)}
.lz::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover no-repeat;animation:kenburns 30s ease-in-out infinite alternate}
.lz::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.96) 0%,rgba(10,23,48,.82) 45%,rgba(10,23,48,.45) 100%),linear-gradient(0deg,rgba(10,23,48,.95) 0%,transparent 45%)}
.lz-scan{position:absolute;left:0;right:0;top:0;height:1px;z-index:0;background:linear-gradient(90deg,transparent,rgba(255,170,110,.9) 70%,#FFF5E8);box-shadow:0 0 18px 2px rgba(255,140,70,.55);opacity:.85;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.lz-scan{animation:lzscan 7s cubic-bezier(.6,0,.4,1) infinite}}
@media (prefers-reduced-motion:reduce){.lz-scan{display:none}.lz::before{animation:none}}
@keyframes lzscan{0%{transform:translateY(40px);opacity:0}10%{opacity:.85}90%{opacity:.85}100%{transform:translateY(520px);opacity:0}}
.lz-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end}
.lz-copy{display:flex;flex-direction:column;gap:20px;max-width:620px}
.lz h2{color:#FFFFFF;font-size:clamp(36px,4.4vw,60px)}
.lz p{color:rgba(255,255,255,.84);font-size:17.5px}
.lz .kicker{color:#FFFFFF}.lz .kicker::before{background:var(--hot)}
.lz-actions{display:flex;flex-wrap:wrap;gap:12px}
.lz-specs{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22);background:rgba(10,23,48,.45);backdrop-filter:blur(6px)}
.lz-specs div{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:4px;min-width:0}
.lz-specs div:nth-child(odd){border-right:1px solid rgba(255,255,255,.14)}
.lz-specs dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.lz-specs dd{margin:0;font-size:15.5px;color:#FFFFFF}
.lz-specs .ph{background:rgba(255,255,255,.14);color:#FFFFFF}
.lz-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(48px,6vw,80px)}
.lz-strip a{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#0C1F45;text-decoration:none}
.lz-strip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.lz-strip a:hover img{transform:scale(1.07)}
.lz-strip span{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:#FFFFFF;font-size:14px;font-weight:500;background:linear-gradient(180deg,transparent,rgba(10,23,48,.9))}
.lz-strip a::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--hot);z-index:1;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.lz-strip a:hover::before{transform:scaleX(1)}
@media (max-width:960px){.lz-in{grid-template-columns:minmax(0,1fr);gap:36px}.lz-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============ dual banners ============ */
.dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#FFFFFF}
.dual-card{position:relative;isolation:isolate;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;color:#FFFFFF;text-decoration:none;background:#0C1F45}
.dual-card::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo) center/cover no-repeat;transition:transform 1s var(--ease)}
.dual-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,23,48,.1) 20%,rgba(10,23,48,.92))}
.dual-card:hover::before{transform:scale(1.06)}
.dual-card > div{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:12px;max-width:560px}
.dual-card .kicker{color:#FFFFFF}.dual-card .kicker::before{background:var(--hot)}
.dual-card h3{color:#FFFFFF;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.015em;line-height:1.2}
@media (max-width:760px){.dual{grid-template-columns:minmax(0,1fr)}.dual-card{min-height:280px}}

/* ============ v9 polish ============ */
.cl{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cl:hover{color:var(--red)}
.ci{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;flex-shrink:0}
.topbar .cl:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.tb-contact{display:inline-flex;gap:22px;align-items:center}
.topbar .wrap{align-items:center;min-height:38px;padding-block:6px}
.head-phone{font-size:15px}
.head-phone .cl{color:var(--navy);font-weight:600}
.head-phone .ci{width:16px;height:16px;color:#1F5BD0}
.head-info{display:none}
.site-head .head-row{justify-content:space-between}
.head-actions{gap:24px}
.onreq{color:var(--muted);font-style:normal}
.foot .cl{color:#FFFFFF}
.foot .cl:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.side-contact .cl{color:var(--navy);font-weight:500}
.contact dd .cl{color:var(--navy);font-weight:500}
@media (max-width:640px){.tb-contact{gap:14px}.topbar .wrap > span:first-child{display:none}.topbar .wrap > span:last-child{display:inline-flex!important;margin-inline:auto}.head-phone{display:none}}
/* spacing rhythm between consecutive light sections */
.focus{background:#FFFFFF;border-top:0}
.intro + .focus{padding-top:clamp(56px,6vw,88px)}
.gallery-sec{background:#FFFFFF}
.q8 + .gallery-sec{border-top:0}
.client-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#FFFFFF}
.explorer{background:var(--soft)}
.dual{margin:0}
.how8 + .dual{border-top:2px solid #FFFFFF}
/* typographic finish */
body{font-feature-settings:"kern","liga","calt";text-rendering:optimizeLegibility}
.sec8-head > p,.lede{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
img{image-rendering:auto}
/* image fade-in on load */
@media (prefers-reduced-motion:no-preference){
  img[loading="lazy"]{transition:opacity .6s var(--ease)}
  .js-img img[loading="lazy"]:not(.ld){opacity:.001}
}
.foot,.foot p,.foot li,.foot a,.foot span{color:rgba(255,255,255,.74)}
.foot h4{color:#FFFFFF}
.foot a:hover{color:#FFFFFF}
.foot-base,.foot-base span{color:rgba(255,255,255,.6)}
.lz-specs .onreq,.rail-sec .onreq,.how8 .onreq,.cta8 .onreq{color:rgba(255,255,255,.72)}
.lz-specs dd{color:#FFFFFF}

/* ===== client logo wall ===== */
.lw-sec{padding-block:72px 76px}
.lw-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 32px;margin-bottom:32px}
.lw-head .kicker{flex:1 0 100%}
.lw-head h2{color:var(--navy);margin:0;flex:1 1 auto}
.lw-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s,color .2s}
.lw-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.lw-more:hover{color:var(--red);border-color:currentColor}.lw-more:hover svg{transform:translateX(3px)}
.lw{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lw li{display:flex;align-items:center;justify-content:center;min-height:116px;padding:22px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#FFFFFF;position:relative;transition:background .25s}
.lw li::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.lw li:hover{background:#F7F8FA}.lw li:hover::after{transform:scaleX(1)}
.lw img{display:block;max-width:100%;height:auto;opacity:.62;transition:opacity .25s,transform .35s}
.lw li:hover img{opacity:1;transform:scale(1.04)}
.lw .lw-txt{font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--navy);opacity:.62}
.lw .lw-txt:hover{opacity:1}
.lw-page{grid-template-columns:repeat(4,minmax(0,1fr))}
.lw-fine{margin-top:16px;font-size:13px;color:var(--muted)}
@media (max-width:1080px){.lw{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){.lw,.lw-page{grid-template-columns:repeat(3,minmax(0,1fr))}.lw li{min-height:92px;padding:16px 12px}.lw img{max-width:88%}}
@media (max-width:480px){.lw,.lw-page{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.lw li::after,.lw img{transition:none}}
.lw-sec .wrap{display:block}
/* transformer tank types */
.ttypes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ttypes > div{background:#FFFFFF;padding:24px 24px 26px;position:relative}
.ttypes > div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .3s}
.ttypes > div:hover::before{transform:scaleY(1)}
.ttypes .tag{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.ttypes h3{margin:8px 0 8px;color:var(--navy);font-size:19px}
.ttypes p{margin:0;color:var(--text);font-size:15px;line-height:1.6}
@media (max-width:640px){.ttypes{grid-template-columns:minmax(0,1fr)}}
/* tank testing grid */
.tests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:20px;counter-reset:t}
.tests > div{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.tests b{grid-row:span 2;font-size:14px;font-weight:600;color:var(--red);letter-spacing:.04em;padding-top:3px}
.tests h3{margin:0 0 6px;font-size:17px;color:var(--navy)}
.tests p{margin:0;font-size:15px;line-height:1.6;color:var(--text)}
@media (max-width:640px){.tests{grid-template-columns:minmax(0,1fr)}}
@media (min-width:900px){.tmenu{max-height:calc(100vh - 200px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
/* project approach (4 steps) */
.flow-steps{grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--line);gap:0 28px}
.flow-steps li{padding:22px 0 4px;gap:8px}
.flow-steps li::before{top:-2px;width:100%;height:2px;background:var(--navy)}
.flow-steps li:first-child::before{background:var(--red)}
.flow-steps .n{font-family:var(--sans);font-size:28px;font-weight:300;letter-spacing:0;color:var(--red);line-height:1}
.flow-steps h4{font-size:18px;line-height:1.3}
.flow-steps p{margin:0;color:var(--text);line-height:1.6}
@media (max-width:860px){.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}}
@media (max-width:480px){.flow-steps{grid-template-columns:minmax(0,1fr)}}
.flow-steps{border-top:0}.flow-steps li::before{top:0}

/* ================= v10 inner pages ================= */
.dp-hero{position:relative;isolation:isolate;overflow:hidden;background:#0A1A3A;color:#FFFFFF;padding-block:clamp(72px,8vw,120px) clamp(96px,9vw,136px)}
.dp-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--photo,none) center/cover no-repeat;animation:kenburns 30s ease-in-out infinite alternate}
.dp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.96) 0%,rgba(10,23,48,.86) 42%,rgba(10,23,48,.45) 100%)}
.dp-hero:not(.has-photo)::after{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,#0E1726,#0C1F45)}
.dp-hero .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.dp-hero .crumbs{margin-bottom:10px}
.dp-kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#FFFFFF}
.dp-kicker::before{content:"";width:22px;height:2px;background:var(--hot)}
.dp-hero h1{color:#FFFFFF;margin:0;max-width:16ch;font-size:clamp(36px,4.6vw,60px);line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
.dp-hero p{margin:0;max-width:560px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.84)}
.dp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.dp-hero .wrap > *{animation:dpIn .7s cubic-bezier(.2,.7,.2,1) both}
.dp-hero .wrap > *:nth-child(2){animation-delay:.06s}.dp-hero .wrap > *:nth-child(3){animation-delay:.12s}.dp-hero .wrap > *:nth-child(4){animation-delay:.18s}.dp-hero .wrap > *:nth-child(5){animation-delay:.24s}
@keyframes dpIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* key facts strip overlapping the hero */
.dp-facts{position:relative;z-index:2;margin-top:-64px}
.dp-facts dl{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#FFFFFF;box-shadow:0 22px 50px rgba(10,23,48,.14);border-top:3px solid var(--red)}
.dp-facts dl > div{padding:22px 24px 24px;border-right:1px solid var(--line);min-width:0}
.dp-facts dl > div:last-child{border-right:0}
.dp-facts dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dp-facts dd{margin:0;font-size:16px;font-weight:600;line-height:1.4;color:var(--navy);overflow-wrap:anywhere}
@media (max-width:900px){.dp-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-facts dl > div:nth-child(2){border-right:0}.dp-facts dl > div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:480px){.dp-facts dl{grid-template-columns:minmax(0,1fr)}.dp-facts dl > div{border-right:0;border-bottom:1px solid var(--line)}}

/* in-page sub navigation */
.dp-sub{position:sticky;top:var(--hh,0px);z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-top:40px}
.dp-sub .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.dp-sub .wrap::-webkit-scrollbar{display:none}
.dp-sub button{flex:none;appearance:none;background:none;border:0;font:inherit;font-size:14.5px;font-weight:500;color:var(--text);padding:16px 14px;position:relative;cursor:pointer;transition:color .2s}
.dp-sub button::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s}
.dp-sub button:hover,.dp-sub button.on{color:var(--navy)}
.dp-sub button.on::after{transform:scaleX(1)}
.dp-sub button:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
.dp .detail{padding-top:48px}
.dp .main > .blk,.dp .main > div > .blk{scroll-margin-top:calc(var(--hh,0px) + 72px)}
.dp .main > div[id]{scroll-margin-top:calc(var(--hh,0px) + 72px)}

/* overview: text + graphic */
.dp-ov{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center}
.dp-ov .eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.dp-ov > div{display:flex;flex-direction:column;gap:16px}
.dp-graphic{margin:0;aspect-ratio:4/3;background:#0E1726;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.dp-graphic::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;background:var(--red)}
.dp-graphic svg{width:78%;height:auto;max-height:86%}
.dp-graphic .dp-sw{position:absolute;inset:0}
.dp-graphic .dp-sw span{position:absolute;left:16px;bottom:14px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--navy);padding:6px 10px}
@media (max-width:760px){.dp-ov{grid-template-columns:minmax(0,1fr)}}

/* capabilities */
.caps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.caps li{background:#FFFFFF;padding:18px 20px;display:flex;gap:14px;align-items:baseline;font-size:15.5px;line-height:1.5;color:var(--navy);transition:background .2s}
.caps li span{flex:none;font-size:12.5px;font-weight:600;color:var(--red);letter-spacing:.04em}
.caps li:hover{background:#F7F8FA}
@media (max-width:640px){.caps{grid-template-columns:minmax(0,1fr)}}

/* MVA bands */
.mva{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.mva > div{border:1px solid var(--line);padding:20px 18px 22px;background:#FFFFFF;position:relative;transition:border-color .2s,box-shadow .2s,transform .2s}
.mva > div:hover{border-color:var(--navy);box-shadow:0 14px 30px rgba(10,23,48,.08);transform:translateY(-2px)}
.mva-r{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.02em;color:#FFFFFF;background:var(--navy);padding:6px 10px;margin-bottom:12px}
.mva > div:nth-child(4) .mva-r{background:var(--red)}
.mva h3{margin:0 0 8px;font-size:17px;color:var(--navy)}
.mva p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text)}
@media (max-width:1100px){.mva{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.mva{grid-template-columns:minmax(0,1fr)}}

.fine{margin-top:12px;font-size:13px;color:var(--muted)}
table.spec td{color:var(--navy)}

/* related */
.dp-rel{background:var(--soft,#F5F6F8);padding-block:72px;border-top:1px solid var(--line)}
.dp-rel-h{margin-bottom:28px}.dp-rel-h h2{margin:8px 0 0;color:var(--navy)}
.rl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rl{display:flex;flex-direction:column;background:#FFFFFF;text-decoration:none;color:inherit;border:1px solid var(--line);transition:box-shadow .25s,transform .25s}
.rl:hover{box-shadow:0 18px 40px rgba(10,23,48,.12);transform:translateY(-3px)}
.rl-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#0E1726}
.rl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.rl:hover .rl-img img{transform:scale(1.05)}
.rl-img svg{width:60%;height:auto;margin:8% auto;display:block}
.rl-b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:18px 20px 20px;align-items:end}
.rl-b em{grid-column:1/-1;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.rl-b b{font-size:18px;font-weight:600;color:var(--navy);line-height:1.3}
.rl-b i{color:var(--navy);display:flex}.rl-b i svg{width:18px;height:18px;transition:transform .2s}
.rl:hover .rl-b i svg{transform:translateX(4px)}
@media (max-width:900px){.rl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rl-grid{grid-template-columns:minmax(0,1fr)}}

/* closing CTA band */
.dp-cta{position:relative;isolation:isolate;overflow:hidden;background:#0A1A3A;color:#FFFFFF;padding-block:72px}
.dp-cta::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../img/04.jpg) center/cover no-repeat}
.dp-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,48,.97),rgba(10,23,48,.85) 60%,rgba(31,91,208,.55))}
.dp-cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.dp-cta .kicker{color:#FFFFFF}.dp-cta .kicker::before{background:var(--hot)}
.dp-cta h2{color:#FFFFFF;margin:10px 0 0;max-width:22ch;font-size:clamp(26px,2.8vw,36px);line-height:1.2}
.dp-cta-a{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.dp-cta-a .cl{color:#FFFFFF;font-weight:600;font-size:17px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.dp-cta-a .cl:hover{border-color:#FFFFFF}
.dp .detail{padding-bottom:80px}
@media (prefers-reduced-motion:reduce){.dp-hero::before,.dp-hero .wrap > *{animation:none}}
.dp-graphic,.rl-img{--il-ink:#DCE2EB;--il-fill:rgba(255,255,255,.035)}
.dp-graphic .ln,.dp-graphic .lf,.rl-img .ln,.rl-img .lf{stroke-width:1.5}
.dp-graphic .ac,.rl-img .ac{stroke:var(--hot);stroke-width:2.2}
.dp-graphic .acf,.rl-img .acf{fill:var(--hot)}
.caps li:last-child:nth-child(odd){grid-column:1/-1}
.dp .main > div[id]{display:flex;flex-direction:column;gap:44px}
.dp-ov{align-items:start}

/* ================= v11 finish: restraint, blending, effects ================= */
:root{--muted:#4E5870}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* brand rule: kicker marker mirrors the logo's vertical red rule */
.kicker::before,.dp-kicker::before{width:3px!important;height:14px!important}
.kicker{letter-spacing:.07em}
/* consistent photographic grade so stock and plant photos read as one set */
.page img:not(.lw img):not([src$=".svg"]){filter:saturate(.86) contrast(1.04)}
.page a:hover img,.page figure:hover img{filter:saturate(1) contrast(1.04)}
.hs-img,.lz::before,.cta8::before,.dp-hero::before,.dp-cta::before,.dual-card::before,.banner.has-photo::before{filter:saturate(.8) contrast(1.05)}
/* soft page change */
.page:not([hidden]){animation:pgIn .45s var(--ease) both}
@keyframes pgIn{from{opacity:0}to{opacity:1}}
/* parallax layers (translate composes with Ken Burns transform) */
.lz::before,.cta8::before,.dp-cta::before,.dp-hero::before{translate:0 var(--py,0px);inset:-60px 0}
/* header depth once scrolled */
.site-head{transition:box-shadow .3s}
.site-head.scrolled{box-shadow:0 8px 24px rgba(10,23,48,.08)}
/* buttons: firm, quiet motion */
.btn svg{transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary:hover{background:#86241C!important}
.btn:active{transform:translateY(1px)}
.btn-outline{border:1px solid var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#FFFFFF}
/* dual banners sit inside the grid instead of bleeding edge to edge */
.dual{max-width:var(--wrap);margin-inline:auto!important;padding:clamp(56px,7vw,96px) clamp(16px,4vw,48px) 0;gap:24px;background:transparent}
.dual-card{min-height:380px}
.dual-card > div{transition:transform .5s var(--ease)}
.dual-card:hover > div{transform:translateY(-4px)}
/* captions and small text: legible */
.pgal figcaption,.tt-photos span,.lz-strip span{font-size:14px;font-weight:500}
.lw img{opacity:.74}
.foot,.foot p,.foot li,.foot a,.foot span{color:rgba(255,255,255,.8)}
/* capability list: plain markers rather than numbers */
.caps li span{width:7px;height:7px;background:var(--red);font-size:0;flex:none;transform:translateY(-2px)}
/* spotlight that follows the pointer on dark and card surfaces */
.rc,.rl,.mva > div,.why > div,.fa{--mx:50%;--my:50%}
.rc::after{background:radial-gradient(380px circle at var(--mx) var(--my),rgba(255,255,255,var(--sp,0)),transparent 50%),linear-gradient(180deg,transparent 35%,rgba(10,23,48,.94))}
.fa::after{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,var(--sp,0)),transparent 50%),linear-gradient(180deg,rgba(10,23,48,.08) 25%,rgba(10,23,48,.94))}
.fa:hover::after{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,var(--sp,0)),transparent 50%),linear-gradient(180deg,rgba(10,23,48,.3) 0%,rgba(10,23,48,.96))}
.rc:hover,.fa:hover{--sp:.09}
@media (max-width:900px){.fa::after{background:linear-gradient(180deg,rgba(10,23,48,.25) 0%,rgba(10,23,48,.95) 70%)}}
.rc,.fa{position:relative}
/* section seams: gentle fade from dark bands into light */
.how8{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.q8,.tt,.explorer,.dp-rel{background:linear-gradient(180deg,#F3F5F8 0%,#F7F8FA 100%)}

/* ---------- procurement band (home) ---------- */
.proc{padding-block:clamp(64px,8vw,104px);background:#FFFFFF;border-top:1px solid var(--line)}
.proc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.proc-txt{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.proc-txt h2{color:var(--navy);margin:0;max-width:18ch}
.proc-txt p{margin:0;max-width:520px;color:var(--text);font-size:17px;line-height:1.65}
.proc-a{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.proc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--navy)}
.proc-list li{padding:22px 20px 24px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.proc-list li:nth-child(odd){padding-right:24px;border-right:1px solid var(--line)}
.proc-list li:nth-child(even){padding-left:24px}
.proc-list b{font-size:17px;color:var(--navy);font-weight:600}
.proc-list span{font-size:15px;color:var(--text);line-height:1.5}
@media (max-width:900px){.proc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.proc-list{grid-template-columns:minmax(0,1fr)}.proc-list li:nth-child(n){padding:18px 0;border-right:0}}

/* ---------- supplier page ---------- */
.snap{margin:8px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--navy)}
.snap > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.snap > div:nth-child(odd){padding-right:24px}.snap > div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.snap dt{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.snap dd{margin:0;font-size:15.5px;color:var(--navy);font-weight:500}
@media (max-width:760px){.snap{grid-template-columns:minmax(0,1fr)}.snap > div:nth-child(n){padding-inline:0;border-left:0}.snap > div{grid-template-columns:120px minmax(0,1fr)}}
.naics{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.naics li{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);background:#FFFFFF}
.naics b{font-variant-numeric:tabular-nums;font-size:15px;color:#FFFFFF;background:var(--navy);padding:4px 8px;letter-spacing:.04em}
.naics span{font-size:15px;color:var(--navy)}
@media (max-width:640px){.naics{grid-template-columns:minmax(0,1fr)}}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.why > div{background:#FFFFFF;padding:24px 22px 26px;position:relative;transition:background .25s}
.why > div:hover{background:#F7F8FA}
.why b{display:none}
.why h3{margin:0 0 8px;font-size:17px;color:var(--navy);padding-top:14px;border-top:3px solid var(--red);display:inline-block}
.why p{margin:0;font-size:15px;line-height:1.6;color:var(--text)}
@media (max-width:900px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.why{grid-template-columns:minmax(0,1fr)}}
.mx-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.mx-filter button{appearance:none;font:inherit;font-size:14px;font-weight:500;padding:8px 14px;border:1px solid var(--line);background:#FFFFFF;color:var(--navy);cursor:pointer;transition:all .2s}
.mx-filter button:hover{border-color:var(--navy)}
.mx-filter button.on{background:var(--navy);border-color:var(--navy);color:#FFFFFF}
.mx-wrap{overflow-x:auto;border:1px solid var(--line)}
.mx{width:100%;border-collapse:collapse;min-width:640px;font-size:14.5px}
.mx thead th{background:var(--navy);color:#FFFFFF;font-weight:600;font-size:12.5px;letter-spacing:.03em;text-align:center;padding:14px 8px;vertical-align:bottom;line-height:1.3}
.mx thead th:first-child{text-align:left;padding-left:16px;width:34%}
.mx tbody th{text-align:left;padding:12px 16px;font-weight:500;border-bottom:1px solid var(--line)}
.mx tbody th a{color:var(--navy);text-decoration:none;display:block}
.mx tbody th a:hover{color:var(--red)}
.mx tbody th em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:2px}
.mx td{text-align:center;border-bottom:1px solid var(--line);border-left:1px solid #EEF1F5}
.mx tbody tr{transition:background .2s,opacity .3s}
.mx tbody tr:hover{background:#F7F8FA}
.mx tr.off{display:none}
.mx .dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(31,91,208,.12)}
.mx .dash{display:inline-block;width:10px;height:2px;background:#C9CFD9;vertical-align:middle}
.docs{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.docs li{break-inside:avoid;padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px;color:var(--navy)}
.docs li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:7px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
@media (max-width:640px){.docs{columns:1}}
.rfq{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;counter-reset:r}
.rfq li{counter-increment:r;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 10px;padding:14px 0;border-bottom:1px solid var(--line)}
.rfq li::before{content:counter(r);grid-row:span 2;width:26px;height:26px;border:1px solid var(--navy);color:var(--navy);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.rfq b{color:var(--navy);font-size:15.5px}
.rfq span{font-size:14.5px;color:var(--text)}
@media (max-width:640px){.rfq{grid-template-columns:minmax(0,1fr)}}
.rfq-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;color:var(--text)}
@media (prefers-reduced-motion:reduce){.page:not([hidden]){animation:none}.lz::before,.cta8::before,.dp-cta::before,.dp-hero::before{translate:none}}
.dual-sec{padding-block:clamp(56px,7vw,96px) 0;background:#FFFFFF}
.wrap.dual{padding-block:0;max-width:var(--wrap);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:transparent}
@media (max-width:760px){.wrap.dual{grid-template-columns:minmax(0,1fr)}}
.dual-sec + .q8{margin-top:clamp(56px,7vw,96px)}
.proc + .gallery-sec{border-top:1px solid var(--line)}
.why h3{border-top:0;padding-top:0;display:block;position:relative;padding-top:18px}
.why h3::before{content:"";position:absolute;left:0;top:0;width:32px;height:3px;background:var(--red)}
.docs{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
@media (max-width:640px){.docs{grid-template-columns:minmax(0,1fr)}}

.quote input[type=date]{min-height:48px;width:100%;padding:0 12px;border:1px solid var(--line);background:#FFFFFF;font:inherit;color:var(--navy)}
@media (max-width:900px){.fa{aspect-ratio:auto;min-height:380px;display:flex;align-items:flex-end}.fa-body{position:relative;padding:24px}}
.mx tbody th,.mx thead th:first-child{position:sticky;left:0;z-index:1}.mx tbody th{background:#FFFFFF;box-shadow:1px 0 0 var(--line)}.mx tbody tr:hover th{background:#F7F8FA}@media (max-width:640px){.mx thead th:first-child{width:auto;min-width:170px}}

/* ================= v12 lively, restrained motion ================= */
/* standards strip */
.stdbar{border-bottom:1px solid var(--line);background:#FFFFFF}
.stdbar-in{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:32px;padding-block:22px}
.stdbar-l{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);line-height:1.45;padding-right:28px;border-right:2px solid var(--red)}
.mq{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-t{list-style:none;margin:0;padding:0;display:flex;flex:none;gap:0;animation:mq 48s linear infinite}
.mq-t li{flex:none;font-size:15px;font-weight:600;color:var(--navy);padding:0 26px;white-space:nowrap;position:relative}
.mq-t li::after{content:"";position:absolute;right:-3px;top:50%;width:5px;height:5px;background:var(--red);transform:translateY(-50%) rotate(45deg)}
.mq:hover .mq-t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}
@media (max-width:760px){.stdbar-in{grid-template-columns:minmax(0,1fr);gap:12px}.stdbar-l{border-right:0;padding:0;border-left:2px solid var(--red);padding-left:12px}.stdbar-l br{display:none}}

/* image wipe reveal */
.js-wipe .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.js-wipe .wipe.in{clip-path:inset(0 0 0 0)}
.js-wipe .wipe img{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js-wipe .wipe.in img{transform:scale(1)}
/* line drawings draw themselves */
.js-draw2 .drawme .ln,.js-draw2 .drawme .lf,.js-draw2 .drawme .ac{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s cubic-bezier(.4,0,.2,1)}
.js-draw2 .drawme.in .ln,.js-draw2 .drawme.in .lf,.js-draw2 .drawme.in .ac{stroke-dashoffset:0}
/* stat numbers: red underline grows */
.intro-stats dd{position:relative}
.intro-stats div::after{content:"";display:block;height:2px;width:0;background:var(--red);margin-top:10px;transition:width 1.2s var(--ease) .3s}
.intro-stats div.in::after,.intro-stats.in div::after{width:36px}
/* section headings slide their marker in */
.sec8-head .kicker::before,.lw-head .kicker::before,.proc .kicker::before{transform-origin:top;animation:none}
/* subtle live grid drift on dark bands */
.how8::before{content:"";position:absolute;inset:-40px;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:22px 22px;animation:drift 40s linear infinite;pointer-events:none}
@keyframes drift{to{transform:translate(22px,22px)}}
.how8 > .wrap{position:relative}
/* team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.team > div{background:#FFFFFF;padding:22px 22px 24px;position:relative}
.team > div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.team > div:hover::before{transform:scaleY(1)}
.team h3{margin:0 0 8px;font-size:17px;color:var(--navy)}
.team p{margin:0;font-size:15px;line-height:1.6;color:var(--text)}
@media (max-width:640px){.team{grid-template-columns:minmax(0,1fr)}}

/* progressive die animation */
.pdie{margin:8px 0 0;background:#F4F6F9;border:1px solid var(--line);padding:clamp(12px,3vw,28px);background-image:linear-gradient(rgba(12,31,69,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(12,31,69,.05) 1px,transparent 1px);background-size:20px 20px}
.pdie svg{display:block;width:100%;height:auto}
.pd-plate{fill:#FFFFFF;stroke:#0C1F45;stroke-width:1.5}
.pd-h{fill:url(#pdhatch)}
.pd-die{fill:#E7EBF1}
.pd-punch{fill:#1F5BD0;stroke:#7A2019;stroke-width:1}
.pd-st{fill:#C3CCD8;stroke:#7D8A9E;stroke-width:1}
.pd-hole{fill:#F4F6F9;stroke:#7D8A9E;stroke-width:1}
.pd-gap{fill:#F4F6F9;stroke:#0C1F45;stroke-width:1}
.pd-part{fill:#C3CCD8;stroke:#7D8A9E;stroke-width:1;opacity:0}
.pd-guide line{stroke:#0C1F45;stroke-width:6;stroke-opacity:.18}
.pd-l{font:600 9px/1 var(--sans,system-ui);letter-spacing:.12em;fill:#4E5870}
.pd-lab text{font:600 12px/1 var(--sans,system-ui);fill:#0C1F45;text-anchor:middle}
.pd-lab .pd-feed{fill:#1F5BD0}
.pd-tick line{stroke:#1F5BD0;stroke-width:2}
.pdie.run .pd-ram{animation:pdRam 3.2s cubic-bezier(.5,0,.3,1) infinite}
.pdie.run .pd-strip{animation:pdFeed 3.2s cubic-bezier(.45,0,.25,1) infinite}
.pdie.run .pd-part{animation:pdDrop 3.2s ease-in infinite}
@keyframes pdRam{0%,30%{transform:translateY(0)}42%,48%{transform:translateY(24px)}62%,100%{transform:translateY(0)}}
@keyframes pdFeed{0%{transform:translateX(0)}26%,44.9%{transform:translateX(120px)}45%,100%{transform:translateX(0)}}
@keyframes pdDrop{0%,44%{opacity:0;transform:translateY(0)}46%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(34px)}85%,100%{opacity:0;transform:translateY(40px)}}
@media (prefers-reduced-motion:reduce){.mq-t,.how8::before,.pdie.run *{animation:none!important}.js-wipe .wipe{clip-path:none}.js-wipe .wipe img{transform:none}}
.stdbar{padding:0!important}.stdbar-in{padding-block:24px!important}
/* Toronto location touches */
.foot-loc{display:flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:#FFFFFF!important}
.pin{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}
.foot-loc .pin{stroke:var(--hot)}
.loc-card{border:1px solid var(--line);background:#FFFFFF;overflow:hidden}
.loc-map{position:relative;background:#0E1726}
.loc-map > svg{display:block;width:100%;height:auto}
.loc-map .lake{fill:#0C1F45}
.loc-map .grid line{stroke:rgba(255,255,255,.05);stroke-width:1}
.loc-map .roads path{stroke:rgba(255,255,255,.18);stroke-width:1.4;fill:none}
.loc-map .dotp{fill:var(--hot)}
.loc-map .pulse{fill:none;stroke:var(--hot);stroke-width:1.5;transform-origin:153px 66px;animation:locp 2.4s ease-out infinite}
@keyframes locp{from{transform:scale(.6);opacity:1}to{transform:scale(2.6);opacity:0}}
.loc-tag{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;color:var(--navy);font-size:12.5px;font-weight:600;padding:5px 9px}
.loc-tag .pin{stroke:var(--red)}
.loc-b{display:flex;flex-direction:column;gap:3px;padding:16px 18px 18px}
.loc-b b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.loc-b span{font-size:17px;font-weight:600;color:var(--navy)}
.loc-b .loc-meta{font-size:13px;font-weight:500;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.loc-map .pulse{animation:none;opacity:.5}}
.loc-tag .pin{width:14px;height:14px}
.site-head .brand svg{height:52px}.site-head.scrolled .brand svg{height:42px}@media (max-width:560px){.site-head .brand svg{height:40px}}.foot .brand svg{height:56px}
/* about: group at a glance + supply chain */
.glance{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--navy)}
.glance > div{padding:20px 18px 22px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.glance > div + div{padding-left:18px;border-left:1px solid var(--line)}
.glance dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.glance dd{margin:0;font-size:24px;font-weight:500;color:var(--navy);letter-spacing:-.01em}
.glance span{font-size:14px;color:var(--text);line-height:1.5}
@media (max-width:760px){.glance{grid-template-columns:repeat(2,minmax(0,1fr))}.glance > div:nth-child(3){padding-left:0;border-left:0}}
.chain{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.chain::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--line)}
.chain::after{content:"";position:absolute;left:0;top:15px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 2.4s cubic-bezier(.4,0,.2,1)}
.chain.in::after{transform:scaleX(1)}
.chain li{position:relative;padding:44px 14px 0 0;display:flex;flex-direction:column;gap:6px}
.ch-n{position:absolute;top:0;left:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#FFFFFF;border:2px solid var(--navy);color:var(--navy);font-size:12px;font-weight:700;z-index:1;transition:background .3s,color .3s,border-color .3s}
.chain li:hover .ch-n{background:var(--red);border-color:var(--red);color:#FFFFFF}
.chain b{font-size:15.5px;color:var(--navy)}
.chain span:not(.ch-n){font-size:13.5px;line-height:1.55;color:var(--text)}
@media (max-width:1100px){.chain{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.chain::before,.chain::after{display:none}}
@media (max-width:560px){.chain{grid-template-columns:minmax(0,1fr)}.chain li{padding:0 0 0 48px;min-height:32px}}
.js-noreveal{}
.glance dd{font-size:clamp(19px,1.8vw,24px);white-space:nowrap}
.chain{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}
.chain::before,.chain::after{display:none}
.chain li{padding:0;border-top:2px solid var(--line);padding-top:16px;position:relative}
.chain li::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:0;background:var(--red);transition:width .9s var(--ease)}
.chain.in li::before{width:100%}
.chain.in li:nth-child(2)::before{transition-delay:.15s}.chain.in li:nth-child(3)::before{transition-delay:.3s}.chain.in li:nth-child(4)::before{transition-delay:.45s}.chain.in li:nth-child(5)::before{transition-delay:.6s}.chain.in li:nth-child(6)::before{transition-delay:.75s}
.ch-n{position:static;margin-bottom:6px}
.chain span:not(.ch-n){font-size:14.5px}
@media (max-width:760px){.chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.chain{grid-template-columns:minmax(0,1fr)}.chain li{padding-left:0;min-height:0}}
/* ===== v9: Akshar VFX layer — light, sparks, blending, depth ===== */
:root{--ak-blue:#2F6FE0;--ak-hot:#6FA0FF;--ak-deep:#0A2F7A;--ak-night:#0A1A3F;--spark:#FFB547;
  --saffron:#FF9933;--igreen:#138808}

/* --- hero: cinematic layers --- */
.hs{background:#050B1C}
.hs-slide .hs-copy{z-index:4}
.hs-ctrl{z-index:5}
.hs-slide::after{background:
  linear-gradient(90deg,rgba(5,11,28,.94) 0%,rgba(8,20,52,.78) 38%,rgba(10,26,63,.22) 72%,rgba(10,26,63,.06)),
  linear-gradient(0deg,rgba(5,11,28,.85) 0%,transparent 45%)}
.hs-img{filter:saturate(.85) contrast(1.06)}
.fx{position:absolute;inset:0;pointer-events:none}
.fx-tint{z-index:1;background:linear-gradient(120deg,rgba(47,111,224,.0) 30%,rgba(47,111,224,.35) 60%,rgba(111,160,255,.0) 85%);
  mix-blend-mode:soft-light;opacity:.7;background-size:220% 100%;animation:fxSweep 11s ease-in-out infinite alternate}
@keyframes fxSweep{from{background-position:100% 0}to{background-position:0 0}}
.fx-sparks{z-index:2;width:100%;height:100%;mix-blend-mode:screen}
.fx-glow{z-index:3;background:radial-gradient(520px circle at var(--mx,72%) var(--my,46%),rgba(111,160,255,.28),rgba(47,111,224,.10) 38%,transparent 62%);
  mix-blend-mode:screen;transition:background .2s linear}
.fx-grain{z-index:3;opacity:.11;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}
.fx-beam{z-index:2;background:linear-gradient(100deg,transparent 44%,rgba(111,160,255,.16) 49%,rgba(255,255,255,.22) 50%,rgba(111,160,255,.16) 51%,transparent 56%);
  mix-blend-mode:screen;transform:translateX(-60%);animation:beam 9s cubic-bezier(.6,0,.2,1) infinite}
@keyframes beam{0%,55%{transform:translateX(-70%)}100%{transform:translateX(70%)}}

/* headline: masked word reveal */
.hs-title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hs-title .w > i{display:inline-block;font-style:normal}
@media (prefers-reduced-motion:no-preference){
  .hs-slide.on .hs-copy > .hs-title{animation:none}
  .hs-slide.on .hs-title .w > i{animation:wordUp 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--wi,0) * 70ms + .1s)}
}
@keyframes wordUp{from{transform:translateY(105%) rotate(4deg)}to{transform:none}}
.hs-title em{font-style:normal;background:linear-gradient(90deg,#FFFFFF 0%,var(--ak-hot) 45%,#FFFFFF 90%);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:molten 6s linear infinite}
@keyframes molten{to{background-position:-200% 0}}

/* Make in India badge (text mark; drop the official logo at img/make-in-india.png to use it) */
.mii{display:inline-flex;align-items:center;gap:12px;padding:10px 14px 10px 12px;border:1px solid rgba(255,255,255,.22);
  background:rgba(5,11,28,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#FFFFFF;text-decoration:none;border-radius:2px}
.mii .mii-flag{display:grid;grid-template-rows:repeat(3,1fr);width:6px;height:30px}
.mii-flag i{display:block}.mii-flag i:nth-child(1){background:var(--saffron)}.mii-flag i:nth-child(2){background:#FFFFFF}.mii-flag i:nth-child(3){background:var(--igreen)}
.mii b{display:block;font-size:13px;font-weight:700;letter-spacing:.16em;line-height:1.1}
.mii .mii-sub{display:block;font-size:11.5px;color:rgba(255,255,255,.72);letter-spacing:.02em;margin-top:3px}
.mii img{height:44px;width:auto;display:block}
.mii.light{background:#FFFFFF;border-color:var(--line);color:var(--navy)}
.mii.light .mii-sub{color:var(--muted)}
.hs-mii{position:absolute;z-index:5;right:max(16px,calc((100vw - 1240px)/2 + 48px));top:32px}
@media (max-width:760px){.hs-mii{top:14px;right:16px}.hs-mii .mii-sub{display:none}.hs-mii .mii{padding:8px 10px}}

/* --- impact band --- */
.imp{position:relative;overflow:hidden;background:#050B1C;color:#FFFFFF;isolation:isolate;padding-block:clamp(110px,14vw,190px)}
.imp-bg{position:absolute;inset:-12% 0;background:var(--photo) center/cover no-repeat;opacity:.5;filter:grayscale(.3) contrast(1.1);will-change:transform}
.imp::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(80% 90% at 70% 40%,rgba(47,111,224,.45),transparent 60%),linear-gradient(180deg,#050B1C 0%,rgba(5,11,28,.55) 30%,rgba(5,11,28,.55) 70%,#050B1C 100%);mix-blend-mode:normal}
.imp .fx-sparks{z-index:2}
.imp-mq{position:absolute;left:0;z-index:2;white-space:nowrap;font-weight:700;font-size:clamp(70px,11vw,170px);letter-spacing:-.03em;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);mix-blend-mode:overlay;pointer-events:none;user-select:none}
.imp-mq > div{display:inline-block;animation:impmq 50s linear infinite}
.imp-mq1{top:4%}.imp-mq2{bottom:4%}.imp-mq2 > div{animation-direction:reverse;animation-duration:60s}
@keyframes impmq{to{transform:translateX(-50%)}}
.imp-in{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:end}
.imp-h{font-size:clamp(46px,7vw,104px);font-weight:500;letter-spacing:-.04em;line-height:.98;margin:18px 0 0;color:#FFFFFF}
.imp-h em{font-style:normal;display:block;background:linear-gradient(90deg,var(--ak-hot),#FFFFFF 40%,var(--ak-blue) 70%,var(--ak-hot));background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:molten 7s linear infinite;padding-bottom:.1em}
.imp-side{display:flex;flex-direction:column;gap:24px;align-items:flex-start;max-width:440px}
.imp-side p{color:rgba(255,255,255,.8);font-size:18px;line-height:1.6;margin:0}
.imp .kicker{color:#FFFFFF}
@media (max-width:900px){.imp-in{grid-template-columns:minmax(0,1fr);gap:32px}}

/* --- depth: tilt, sheen, parallax --- */
.tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.tilt:hover{transition:transform .12s linear}
.fa,.rc,.tt-photos a,.lz-strip a{position:relative;overflow:hidden}
.fa::before,.rc::before,.tt-photos a::before,.lz-strip a::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,rgba(111,160,255,.18) 52%,transparent 65%);
  transform:translateX(-120%);transition:transform 0s;mix-blend-mode:screen}
.fa:hover::before,.rc:hover::before,.tt-photos a:hover::before,.lz-strip a:hover::before{transform:translateX(120%);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.fa:hover,.dual-card:hover{box-shadow:0 30px 60px -28px rgba(10,47,122,.55)}
[data-par]{will-change:transform}

/* buttons: light sweep + glow */
.btn-primary{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 30px -12px rgba(47,111,224,.7)}
.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%)}
.btn-primary:hover::after{transform:translateX(120%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.btn-primary:hover{box-shadow:0 14px 36px -10px rgba(47,111,224,.9)}

/* kicker: animated light line */
.kicker::before{background:linear-gradient(180deg,var(--ak-hot),var(--ak-blue))!important}

/* intro stats: glowing rule */
.intro-stats div{position:relative}
.intro-stats div::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--ak-blue),var(--ak-hot));transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.intro-stats div:hover::after,.intro-stats.lit div::after{width:100%}

/* laser band and CTA: extra light */
.lz,.cta8{isolation:isolate}
.lz .fx-sparks,.cta8 .fx-sparks{position:absolute;inset:0;z-index:1;pointer-events:none}
.lz-in,.lz-strip,.cta8-in{position:relative;z-index:2}

/* how-we-work: pulsing glow on path */
.route8 .r8-dash{filter:drop-shadow(0 0 6px rgba(111,160,255,.8))}

/* footer + topbar badge spacing */
.foot-mii{margin-top:18px}
.tb-mii{display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.08em}
.tb-mii i{display:inline-block;width:3px;height:14px;background:linear-gradient(180deg,var(--saffron) 33.3%,#FFFFFF 33.3% 66.6%,var(--igreen) 66.6%)}

@media (prefers-reduced-motion:reduce){
  .fx-tint,.fx-grain,.fx-beam,.imp-mq > div,.hs-title em,.imp-h em{animation:none}
  .fx-sparks{display:none}
}

/* ===== tricolour strip beside the logo: exactly the cap height of the R ===== */
.brand-tri{display:inline-flex;align-items:center;position:relative;padding-right:6px}
.brand-tri svg{display:block}
.brand-tri .tri{position:absolute;right:0;top:8.07%;height:56.45%;width:4px;display:flex;flex-direction:column}
.brand-tri .tri i{flex:1;display:block}
.brand-tri .tri i:nth-child(1){background:#FF9933}
.brand-tri .tri i:nth-child(2){background:#FFFFFF}
.brand-tri .tri i:nth-child(3){background:#138808}
@media (max-width:480px){.brand-tri{padding-right:5px}.brand-tri .tri{width:3px}}

/* official Make in India badge on a white chip */
.mii{background:#FFFFFF;border:1px solid rgba(10,23,48,.1);color:var(--navy);padding:8px 14px 8px 10px;gap:12px;box-shadow:0 12px 30px -16px rgba(5,11,28,.6)}
.mii img{height:46px;width:auto}
.mii .mii-sub{color:#4A5568;font-size:11.5px;line-height:1.35;margin:0}
.hs-mii .mii{backdrop-filter:none;-webkit-backdrop-filter:none}
@media (max-width:760px){.hs-mii .mii img{height:34px}}

/* national missions strip */
.nat{padding-block:clamp(56px,7vw,96px);background:linear-gradient(180deg,#FFFFFF,#F5F7FB);border-top:1px solid var(--line);position:relative;overflow:hidden}
.nat::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#FF9933 0 33.3%,#FFFFFF 33.3% 66.6%,#138808 66.6%)}
.nat-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:center}
.nat-txt{display:flex;flex-direction:column;gap:14px}
.nat-txt h2{font-size:clamp(28px,3.2vw,42px);font-weight:500;letter-spacing:-.02em;color:var(--navy);margin:0}
.nat-txt p{color:var(--muted);max-width:52ch;margin:0}
.nat-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nat-logos li{background:#FFFFFF;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:22px 18px;min-height:130px;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.nat-logos li:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(10,47,122,.45)}
.nat-logos img{max-width:100%;height:auto;max-height:76px;width:auto}
@media (max-width:900px){.nat-in{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (max-width:520px){.nat-logos{gap:10px}.nat-logos li{padding:14px 10px;min-height:92px}.nat-logos img{max-height:52px}}

/* footer: small white chips */
.nat-mini{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nat-mini li{background:#FFFFFF;border-radius:2px;padding:6px 10px;display:flex;align-items:center;height:48px}
.nat-mini img{height:34px;width:auto;max-width:110px;object-fit:contain}
.foot ul.nat-mini{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:8px;grid-template-columns:none}
.foot ul.nat-mini li{width:auto;flex:0 0 auto;margin:0}
@media (max-width:480px){
  .head-actions .btn{white-space:nowrap;padding-inline:12px;font-size:14px}
}
/* footer national logos: blended, monochrome on the dark ground (no tiles) */
.foot ul.nat-mini{gap:28px;align-items:center;margin-top:6px}
.foot ul.nat-mini li{background:none;padding:0;height:auto;border-radius:0}
.foot ul.nat-mini img{height:40px;max-width:130px;filter:grayscale(1) invert(1) brightness(1.15);mix-blend-mode:screen;opacity:.72;transition:opacity .3s}
.foot ul.nat-mini li:hover img{opacity:1}
.foot ul.nat-mini{gap:20px;flex-wrap:nowrap}
.foot ul.nat-mini img{height:34px;max-width:112px}
.foot ul.nat-mini li:last-child img{filter:grayscale(1) invert(1) brightness(1.5)}
@media (max-width:380px){.foot ul.nat-mini{flex-wrap:wrap}}
/* footer: Swachh Bharat in white, Digital India in its own colours (dark-ground version) */
.foot ul.nat-mini li.nl-swachh-bharat img{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.9}
.foot ul.nat-mini li.nl-digital-india img{filter:none;mix-blend-mode:normal;opacity:.95}
.foot ul.nat-mini li:hover img{opacity:1}

/* calmer motion: static highlight colour, gentler tilt */
.hs-title em,.imp-h em{animation:none;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#8FB4FF}
/* client wall: closing 'All clients' cell and page grid */
.lw .lw-all a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none}
.lw .lw-all svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.lw .lw-all:hover svg{transform:translateX(3px)}
@media (min-width:1000px){.lw-page{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* certifications bar (replaces the standards marquee) */
.certbar .stdbar-in{display:flex;align-items:center;gap:32px}
.cert-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;flex:1;min-width:0}
.cert-row li{display:flex;flex-direction:column;gap:2px;padding:4px 24px;border-left:1px solid var(--line)}
.cert-row b{font-size:16px;font-weight:600;color:var(--navy);letter-spacing:-.005em}
.cert-row span{font-size:13px;color:var(--muted)}
.cert-row li.pending b::after{content:"In progress";margin-left:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#1F5BD0;background:#EAF1FD;padding:2px 7px;border-radius:2px;vertical-align:2px}
@media (max-width:900px){.certbar .stdbar-in{flex-direction:column;align-items:flex-start;gap:16px}.cert-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.cert-row li{padding:4px 16px}}
.cert-row li.pending b::after{white-space:nowrap;display:inline-block}
/* ===== Group Companies ===== */
.gc-sec{padding-block:clamp(64px,8vw,104px);background:#F5F7FB;border-top:1px solid var(--line)}
.gc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gc{background:#FFFFFF;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.gc:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(10,47,122,.45)}
.gc-logo{height:132px;display:flex;align-items:center;justify-content:center;padding:24px;border-bottom:1px solid var(--line)}
.gc-logo img{max-width:100%;max-height:64px;width:auto;height:auto;display:block}
.gc-telsol .gc-logo img{max-height:72px}
.gc-decor-worth .gc-logo img{max-height:44px}
.gc-word{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--navy)}
.gc-word b{font-size:28px;font-weight:700;letter-spacing:.08em;line-height:1}
.gc-word em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.gc-b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.gc-b h3{font-size:17px;font-weight:600;color:var(--navy);margin:0}
.gc-b p{font-size:14.5px;color:var(--muted);margin:0;flex:1}
.gc-url{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13.5px;font-weight:600;color:#1F5BD0;text-decoration:none}
.gc-url svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
span.gc-url{color:var(--muted);font-weight:500}
.main .gc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.gc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.gc-grid,.main .gc-grid{grid-template-columns:minmax(0,1fr)}}
/* material swatches: restore steel textures (overrides the navy photo-frame rule) */
.tile-art.swatch.sw-hrpo,.card-art.swatch.sw-hrpo,.hero-art.swatch.sw-hrpo,.rl-img.swatch.sw-hrpo,.dp-sw.sw-hrpo{background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 40%,rgba(255,255,255,.05) 70%,transparent),radial-gradient(circle at 30% 40%,#4A5058,#2E3238 70%)!important}
.tile-art.swatch.sw-cr,.card-art.swatch.sw-cr,.hero-art.swatch.sw-cr,.rl-img.swatch.sw-cr,.dp-sw.sw-cr{background:linear-gradient(160deg,#8E959D,#C9CED3 42%,#A7AEB5 60%,#8A9199)!important}
.tile-art.swatch.sw-carbon,.card-art.swatch.sw-carbon,.hero-art.swatch.sw-carbon,.rl-img.swatch.sw-carbon,.dp-sw.sw-carbon{background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 7px),linear-gradient(135deg,#3E434A,#555B62 50%,#3A3F45)!important}
.tile-art.swatch.sw-galv,.card-art.swatch.sw-galv,.hero-art.swatch.sw-galv,.rl-img.swatch.sw-galv,.dp-sw.sw-galv{background:radial-gradient(circle at 25% 30%,rgba(255,255,255,.16) 0 16%,transparent 17%) 0 0/58px 58px,radial-gradient(circle at 70% 65%,rgba(0,0,0,.05) 0 20%,transparent 21%) 0 0/46px 46px,linear-gradient(140deg,#B8BEC4,#9EA6AE)!important}
.tile-art.swatch.sw-ss,.card-art.swatch.sw-ss,.hero-art.swatch.sw-ss,.rl-img.swatch.sw-ss,.dp-sw.sw-ss{background:linear-gradient(100deg,rgba(255,255,255,.25),transparent 45%,rgba(255,255,255,.18) 70%,transparent),repeating-linear-gradient(0deg,#B7BDC3 0 1px,#CDD2D7 1px 2px,#C2C8CD 2px 4px)!important}
.tile-art.swatch.sw-al,.card-art.swatch.sw-al,.hero-art.swatch.sw-al,.rl-img.swatch.sw-al,.dp-sw.sw-al{background:linear-gradient(120deg,#CDD2D7,#EEF0F2 48%,#D3D8DC 62%,#BFC5CB)!important}
/* quieter tile labels */
.tile-txt em{color:var(--muted)!important}

/* group companies: greyscale logos, colour on hover */
.gc-logo img{filter:grayscale(1) contrast(.95);opacity:.72;transition:filter .35s,opacity .35s}
.gc:hover .gc-logo img{filter:none;opacity:1}
.gc-word b{color:#4A5260}
.gc-url{color:var(--navy)}
.gc .gc-logo img{filter:grayscale(1) contrast(.95)!important}
.gc:hover .gc-logo img{filter:none!important}
.gc-word b{color:#6E7178}.gc-word em{color:#8A8F96}.gc:hover .gc-word b{color:var(--navy)}
@media (min-width:1200px){.gc-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gc-logo{padding:20px 16px}.gc-word b{font-size:24px}}
.main .gc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.main .gc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.main .gc-grid{grid-template-columns:minmax(0,1fr)}}
.gc-ferro-tic:hover .gc-word b{color:#A8281F}
/* social links, right-most in top bar and footer */
.tb-right{display:inline-flex;align-items:center;gap:18px}
.social{display:inline-flex;align-items:center;gap:4px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:inherit;opacity:.75;transition:opacity .2s,color .2s}
.social a:hover{opacity:1}
.social svg{width:14px;height:14px;fill:currentColor;display:block}
.tb-social{padding-left:16px;border-left:1px solid rgba(255,255,255,.18)}
.tb-social a{color:#FFFFFF}
.fb-right{display:inline-flex;align-items:center;gap:20px;flex-wrap:wrap}
.foot-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#FFFFFF}
.foot-social a:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06)}
.foot-social svg{width:15px;height:15px}
.foot-social{gap:8px}
@media (max-width:760px){.tb-social{display:none}}
.foot-contact{margin-top:10px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.74)}
.foot-contact .cl{color:#FFFFFF;text-decoration:none}
.foot-contact .cl:hover{text-decoration:underline}
/* menu: tabs spaced evenly across the bar, social icons at the right end */
@media (min-width:1001px){
  .tabbar .tabs{justify-content:space-between}
  .tabbar .tabs > .tab:first-child{margin-left:-18px}
}
.nav-social{display:inline-flex;align-items:center;gap:2px;padding-left:20px;margin-left:8px;border-left:1px solid var(--line);align-self:center;height:28px}
.nav-social a{color:var(--navy);opacity:.6;width:30px;height:30px}
.nav-social a:hover{opacity:1;color:#1F5BD0}
.nav-social svg{width:15px;height:15px}
@media (max-width:1000px){.nav-social{display:none}}
/* ===== footer, big-company layout ===== */
.foot-grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))!important;gap:36px}
@media (max-width:1100px){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.foot-brand{grid-column:1/-1}}
@media (max-width:640px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:400px){.foot-grid{grid-template-columns:minmax(0,1fr)!important}}
.foot ul{font-size:14.5px}
.foot-cert{margin-top:44px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 28px;font-size:13px;letter-spacing:.02em}
.foot-cert span{color:rgba(255,255,255,.66)}
.foot-cert span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#6FA0FF;margin-right:9px;vertical-align:2px}
.foot-base{margin-top:0!important;align-items:center}
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 20px}
.foot-legal a{font-size:13.5px;color:rgba(255,255,255,.7)}
.foot-legal a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
/* policy pages */
.pol-upd{font-size:13.5px;color:var(--muted);margin:0 0 8px}
.pol-sec h2{font-size:clamp(22px,2.2vw,28px);margin-bottom:12px}
.pol-sec p{color:var(--ink);line-height:1.7;max-width:70ch;margin:0 0 12px}
.pol-list{margin:6px 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:8px;max-width:70ch;line-height:1.6}
.pol .side .side-box + .side-box{margin-top:16px}
/* sitemap */
.sm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.sm-col h2{font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--line)}
.sm-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sm-col a{color:var(--ink);text-decoration:none;font-size:14.5px}
.sm-col a:hover{color:#1F5BD0;text-decoration:underline}
@media (max-width:1000px){.sm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.sm-grid{grid-template-columns:minmax(0,1fr)}}
/* ===== India reach map ===== */
.reach{background:#071530;color:#FFFFFF;padding-block:clamp(72px,9vw,120px);position:relative;overflow:hidden;isolation:isolate}
.reach::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 72% 45%,rgba(47,111,224,.28),transparent 65%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/40px 40px}
.reach-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.reach .kicker{color:#FFFFFF}
.reach h2{color:#FFFFFF;margin:14px 0 16px}
.reach-txt > p{color:rgba(255,255,255,.78);max-width:52ch;margin:0}
.reach-card{margin:28px 0 22px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:4px;border-left:3px solid #6FA0FF}
.rc-kind{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8FB4FF}
.rc-name{font-size:24px;font-weight:600;letter-spacing:-.01em}
.rc-km{font-size:14.5px;color:rgba(255,255,255,.75);font-variant-numeric:tabular-nums}
.reach-lists{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
.reach-lists h3{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:0 0 10px}
.reach-lists ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
.reach-lists > div:last-child ul{grid-template-columns:minmax(0,1fr)}
.reach-lists button{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:baseline;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.85);font:inherit;font-size:14px;padding:8px 2px;cursor:pointer;text-align:left;min-height:36px}
.reach-lists button em{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;white-space:nowrap}
.reach-lists button:hover,.reach-lists button.on{color:#FFFFFF;border-bottom-color:#6FA0FF}
.reach-lists button.on em{color:#8FB4FF}
.reach-lists button:focus-visible{outline:2px solid #6FA0FF;outline-offset:2px}
.reach-fine{margin-top:14px!important;font-size:12.5px;color:rgba(255,255,255,.5)!important}
.reach-map{margin:0;position:relative}
.reach-map svg{width:100%;height:auto;display:block;max-height:720px;overflow:visible}
.reach-map figcaption{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:12.5px;color:rgba(255,255,255,.65);margin-top:8px;align-items:center}
.reach-map figcaption span{display:inline-block;width:10px;height:10px;margin-right:-10px}
.lg-o{background:#FFFFFF;border-radius:50%;box-shadow:0 0 0 3px rgba(111,160,255,.4)}
.lg-h{background:#6FA0FF;border-radius:50%}
.lg-p{background:#8FB4FF;transform:rotate(45deg) scale(.8)}
.reach .st{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.14);stroke-width:.6;transition:fill .3s}
.reach .st:hover{fill:rgba(255,255,255,.08)}
.reach .st.gj{fill:rgba(47,111,224,.32);stroke:rgba(143,180,255,.55)}
.reach .outline{fill:none;stroke:rgba(143,180,255,.55);stroke-width:1.1}
.reach .arc{fill:none;stroke:rgba(111,160,255,.38);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke .3s,stroke-width .3s,opacity .3s}
.reach .arc-port{stroke:rgba(143,180,255,.5);stroke-dasharray:.02 .015}
.reach.draw .arc{stroke-dashoffset:1;animation:arcDraw 1.6s cubic-bezier(.4,0,.2,1) forwards}
.reach.draw .arc:nth-child(2n){animation-delay:.15s}.reach.draw .arc:nth-child(3n){animation-delay:.3s}.reach.draw .arc:nth-child(5n){animation-delay:.45s}
@keyframes arcDraw{to{stroke-dashoffset:0}}
.reach.sel .arc{opacity:.25}
.reach.sel .arc.on{opacity:1;stroke:#FFFFFF;stroke-width:2.2;filter:drop-shadow(0 0 5px rgba(111,160,255,.9))}
.reach .city{cursor:pointer}
.reach .city circle:not(.hit),.reach .city rect{fill:#6FA0FF;stroke:#071530;stroke-width:1.5;transition:fill .2s}
.reach .city.port rect{fill:#8FB4FF}
.reach .city .hit{fill:transparent;stroke:none}
.reach .city text{font-size:11px;fill:#FFFFFF;opacity:0;transition:opacity .2s;paint-order:stroke;stroke:#071530;stroke-width:3px;font-weight:600}
.reach .city:hover text,.reach .city.on text{opacity:1}
.reach .city.on circle:not(.hit),.reach .city.on rect{fill:#FFFFFF}
.reach .origin .core{fill:#FFFFFF;stroke:#2F6FE0;stroke-width:3}
.reach .origin .pulse{fill:none;stroke:rgba(143,180,255,.8);stroke-width:1.5;animation:opulse 2.6s ease-out infinite;transform-origin:center;transform-box:fill-box}
.reach .origin .p2{animation-delay:1.3s}
@keyframes opulse{from{transform:scale(.6);opacity:1}to{transform:scale(3.2);opacity:0}}
.reach .origin text{font-size:14px;font-weight:700;fill:#FFFFFF;paint-order:stroke;stroke:#071530;stroke-width:4px;letter-spacing:.02em}
@media (max-width:1000px){.reach-grid{grid-template-columns:minmax(0,1fr);gap:36px}.reach-map{order:-1;max-width:560px;margin-inline:auto;width:100%}}
@media (max-width:520px){.reach-lists{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.reach.draw .arc{animation:none;stroke-dashoffset:0}.reach .origin .pulse{animation:none}}
.reach-src{font-size:11.5px;color:rgba(255,255,255,.42);text-align:center;margin:6px 0 0}
/* 2-second hero slides: quicker crossfade and headline reveal */
.hs-slide{transition:opacity .6s var(--ease),visibility 0s .6s}
.hs-slide.on{transition:opacity .6s var(--ease),visibility 0s}
@media (prefers-reduced-motion:no-preference){.hs-slide.on .hs-title .w > i{animation-duration:.7s;animation-delay:calc(var(--wi,0) * 45ms + .05s)}.hs-slide.on .hs-copy > *{animation-duration:.6s}}
/* map v2 */
.reach .land{fill:#0C2150}
.reach .land-glow{fill:none;stroke:rgba(47,111,224,.55);stroke-width:10;opacity:.6}
.reach .st{fill:transparent;stroke:rgba(255,255,255,.12)}
.reach .st:hover{fill:rgba(111,160,255,.08)}
.reach .st.gj{fill:rgba(47,111,224,.38)}
.reach .ring{fill:none;stroke:rgba(143,180,255,.28);stroke-width:.8;stroke-dasharray:3 4}
.reach .ring-t{font-size:9.5px;fill:rgba(143,180,255,.7);letter-spacing:.06em;font-weight:600}
.reach .outline{stroke:rgba(143,180,255,.7);stroke-width:1}
.reach .traveller{fill:#FFFFFF;filter:drop-shadow(0 0 6px #6FA0FF);opacity:0;transition:opacity .3s}
.reach.sel .traveller{opacity:1}
@media (min-width:1001px){.reach-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
.reach-tour{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:12.5px;color:rgba(255,255,255,.55)}
.reach-tour i{width:6px;height:6px;border-radius:50%;background:#6FA0FF;animation:tourp 1.6s ease-in-out infinite}
@keyframes tourp{50%{opacity:.25}}
.reach.user .reach-tour{display:none}
/* ===== v10: premium refinement layer ===== */
:root{
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --display:"Inter Tight","Inter",system-ui,sans-serif;
  --ink-soft:#3B4456;
}
body{font-family:var(--sans);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}
h1,h2,h3,.hs-title,.imp-h,.intro-lead,.intro-stats b,.rc-name,.dp-hero h1,.banner h1{font-family:var(--display)}
p{color:inherit}

/* headings: confident scale, tight tracking, medium weight */
h2,.sec8-head h2,.q8-txt h2,.proc-txt h2,.lw-head h2,.reach h2,.nat-txt h2{font-size:clamp(34px,3.9vw,54px);font-weight:500;letter-spacing:-.032em;line-height:1.06}
.hs-title{font-weight:500;letter-spacing:-.04em;line-height:1}
.imp-h{font-weight:500;letter-spacing:-.045em}
.banner h1,.dp-hero h1{font-weight:500;letter-spacing:-.035em}
h3{letter-spacing:-.015em}
.intro-lead{font-weight:400;letter-spacing:-.022em;line-height:1.32;color:var(--navy)}
.intro-stats b{font-weight:300;letter-spacing:-.045em}
.lede,.sec8-head p,.q8-txt > p,.proc-txt > p{color:var(--ink-soft);line-height:1.65}

/* section labels: small caps with a fine rule */
.kicker,.hs-eyebrow{font-size:12px!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase}
.kicker::before{width:22px!important;height:1px!important;background:currentColor!important;opacity:.7;display:inline-block;vertical-align:middle;margin-right:12px}
.kicker{color:#1F5BD0}
.reach .kicker,.imp .kicker,.lz .kicker,.cta8 .kicker,.how8 .kicker,.rail-sec .kicker{color:#8FB4FF}

/* buttons: crisp, square, no glow */
.btn{border-radius:2px!important;font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.005em;padding:14px 24px;min-height:48px}
.btn-primary{box-shadow:none!important;background:#1F5BD0!important;border-color:#1F5BD0!important}
.btn-primary:hover{background:#0A2F7A!important;border-color:#0A2F7A!important;box-shadow:none!important}
.btn-primary::after{display:none}
.btn .arr{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover .arr{transform:translateX(4px)}
.btn-outline-light{border-color:rgba(255,255,255,.45)!important}
.btn-outline-light:hover{background:#FFFFFF!important;color:var(--navy)!important;border-color:#FFFFFF!important}
.head-actions .btn{min-height:44px;padding:11px 22px}

/* one consistent photo grade across the site */
.hs-img,.fa img,.rc img,.pgal img,.tt-photos img,.lz-strip img,.q8-img img,.card-art img,.tile-art img,.rl-img img,.hero-art img{filter:saturate(.8) contrast(1.06) brightness(.97)}
.dual-card::before,.banner.has-photo::before,.dp-hero.has-photo::before{filter:saturate(.8) contrast(1.06) brightness(.97)!important}

/* cards: quieter borders, soft depth on hover */
.gc,.lw li,.tile,.card,.qi,.snap > div,.side-box{border-color:#E4E8EF!important}
.tile,.card{transition:box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1)}
.tile:hover,.card:hover{box-shadow:0 18px 40px -24px rgba(10,23,48,.35);transform:translateY(-2px)}
.fa:hover,.dual-card:hover{box-shadow:0 26px 50px -30px rgba(10,23,48,.55)}

/* rhythm: more air between sections */
.focus,.tt,.q8,.proc,.gallery-sec,.lw-sec,.gc-sec,.explorer,.intro{padding-block:clamp(84px,9.5vw,136px)!important}
.sec8-head{margin-bottom:clamp(36px,4vw,56px)!important;gap:24px 64px}

/* header: refined */
.topbar{font-size:12.5px;letter-spacing:.01em}
.tab{font-weight:500!important;letter-spacing:-.005em!important}
.site-head.scrolled,.site-head.is-scrolled{box-shadow:0 8px 30px -18px rgba(10,23,48,.35)}

/* footer: finer type */
.foot h4{font-size:11.5px!important;letter-spacing:.16em!important}
.foot ul{gap:10px}

/* certifications bar: tighter and calmer */
.cert-row b{font-family:var(--display);font-weight:600;letter-spacing:-.01em}
/* map list: hubs then ports, each full width so names and distances never collide */
.reach-lists{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
.reach-lists ul{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important}
.reach-lists > div:last-child ul{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:520px){.reach-lists > div:last-child ul{grid-template-columns:minmax(0,1fr)!important}}
/* detail-page overview drawings: light blueprint panel so the line art reads */
.dp-graphic{background-color:#F3F6FB!important;background-image:linear-gradient(rgba(12,31,69,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(12,31,69,.06) 1px,transparent 1px)!important;background-size:24px 24px!important;border:1px solid #E4E8EF}
.dp-graphic::after{background:#1F5BD0!important}
.dp-graphic .ln,.dp-graphic .lf{stroke:#0C1F45!important;stroke-width:1.4!important}
.dp-graphic .lf{fill:#FFFFFF!important}
.dp-graphic .ln.thin{stroke-width:.9!important;opacity:.7}
.dp-graphic .ac{stroke:#1F5BD0!important;stroke-width:2!important;filter:none!important}
.dp-graphic .acf{fill:#1F5BD0!important}
.dp-graphic:has(.dp-sw){border:0}
/* detail section headings: match the site's refined labels */
.detail .blk > h2,.detail .main h2{font-size:clamp(24px,2.3vw,30px)!important;letter-spacing:-.025em}
/* long contact links wrap instead of widening the page */
.snap dd,.side-contact,.foot-contact{min-width:0;overflow-wrap:anywhere}
.snap .cl,.side-contact .cl{white-space:normal}
/* ===== footer v2: sleek corporate ===== */
.foot.ft{background:#060E1F!important;padding-block:0 0!important;border-top:0!important;color:rgba(255,255,255,.62)}
.ft a{text-decoration:none}
.ft-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:40px;padding-block:56px 48px;border-bottom:1px solid rgba(255,255,255,.08)}
.ft-top .brand svg{height:44px!important;display:block}
.ft-claim{margin:0;max-width:46ch;font-size:15px;line-height:1.55;color:rgba(255,255,255,.62)!important;padding-left:40px;border-left:1px solid rgba(255,255,255,.1)}
.ft-cols{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(4,minmax(0,1fr));gap:40px;padding-block:52px 48px}
.ft h4{font-family:var(--sans)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase;color:rgba(255,255,255,.95)!important;margin:0 0 20px!important}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ft ul a,.ft-contact .cl{font-size:14px;color:rgba(255,255,255,.62)!important;transition:color .2s}
.ft ul a:hover,.ft-contact .cl:hover{color:#FFFFFF!important;text-decoration:none!important}
.ft .ft-all{color:#8FB4FF!important;font-weight:500}
.ft-contact address{font-style:normal;font-size:14px;line-height:1.7;color:rgba(255,255,255,.78);margin:0 0 16px}
.ft-contact p{margin:0 0 14px;font-size:14px;line-height:1.8}
.ft-contact .cl{color:rgba(255,255,255,.78)!important}
.ft-trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding-block:22px;border-top:1px solid rgba(255,255,255,.08)}
.ft-cert{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 0}
.ft-cert li{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:0 18px;border-left:1px solid rgba(255,255,255,.14)}
.ft-cert li:first-child{padding-left:0;border-left:0}
.ft .nat-mini{margin:0!important;gap:22px!important}
.ft .nat-mini img{height:28px!important}
.ft-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-block:22px 28px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:rgba(255,255,255,.45)}
.ft-base > span{color:rgba(255,255,255,.45)!important}
.ft-legal{display:flex;flex-wrap:wrap;gap:6px 24px}
.ft-legal a{font-size:12.5px;color:rgba(255,255,255,.55)!important}
.ft-legal a:hover{color:#FFFFFF!important}
.ft .foot-social a{width:32px;height:32px;border-color:rgba(255,255,255,.14)}
.ft .foot-social svg{width:13px;height:13px}
@media (max-width:1100px){.ft-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-contact{grid-column:1/-1}}
@media (max-width:820px){.ft-top{grid-template-columns:minmax(0,1fr);gap:20px}.ft-claim{padding-left:0;border-left:0}.ft-top .btn{justify-self:start}}
@media (max-width:640px){.ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.ft-trust,.ft-base{flex-direction:column;align-items:flex-start}}
.ft ul.ft-cert{flex-direction:row!important;gap:8px 0!important}
.ft ul.ft-cert li{font-size:11.5px}
@media (max-width:640px){.ft ul.ft-cert li{padding:0 12px}.ft-legal{gap:6px 18px}}
@media (max-width:640px){.ft ul.ft-cert li:first-child{padding-left:0}}
.intro-h1{margin:0;font-family:var(--sans)!important;line-height:1.6;max-width:none}
.hs-title{font-size:clamp(42px,6vw,82px)}

/* ===== top strip: corporate utility bar ===== */
.topbar{background:#060E1F!important;color:rgba(255,255,255,.6)!important;font-size:12px!important;letter-spacing:.02em!important;border:0!important}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px!important;padding-block:0!important}
.tb-group{color:rgba(255,255,255,.6)}
.tb-group b{color:#FFFFFF!important;font-weight:600}
.tb-right{display:inline-flex;align-items:center;gap:0!important}
.tb-links{display:inline-flex;align-items:center}
.tb-links a,.topbar .tb-contact a,.topbar .tb-contact .cl{color:rgba(255,255,255,.62)!important;text-decoration:none!important;padding:0 14px;line-height:36px;transition:color .2s}
.tb-links a:hover,.topbar .tb-contact a:hover{color:#FFFFFF!important}
.tb-links a + a{border-left:1px solid rgba(255,255,255,.12)}
.topbar .tb-contact{display:inline-flex!important;align-items:center;gap:0!important;margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.18)}
.topbar .tb-contact > * + *{border-left:1px solid rgba(255,255,255,.12)}
.topbar .tb-contact > *:last-child a,.topbar .tb-contact > a:last-child{padding-right:0}
.topbar .ph{background:none!important;padding:0!important}
@media (max-width:1100px){.tb-links{display:none}.topbar .tb-contact{margin-left:0;padding-left:0;border-left:0}}
@media (max-width:640px){.tb-group{display:none}.topbar .wrap{justify-content:center}}

.topbar .wrap{justify-content:flex-end!important}
@media (max-width:640px){.tb-group{display:inline!important}.topbar .wrap{justify-content:center!important}.topbar .wrap > span:first-child{display:inline!important}}
