/* Vardhan Precision — industrial confidence.
   Big Shoulders Display for headlines and big figures (uppercase, signage-grade),
   Hanken Grotesk for reading, tables and specs (tabular figures).
   Machine grey and cast iron; steel and coolant for light ground.
   Safety yellow is reserved for certifications, badges and the inspection stamp. */
:root{
  --machine:#24282C; --machine-2:#2C3136; --iron:#3A4046; --iron-2:#4A5158;
  --steel:#B8BEC4; --steel-d:#8C939A; --coolant:#E4E7EA; --paper:#F3F4F5; --white:#FFFFFF;
  --ink:#1B1E21; --muted:#5A6269; --muted-d:#9AA1A8;
  --safety:#F2C200;
  --line:#CBD0D5; --line-d:#3A4046;
  --display:"Big Shoulders Display","Arial Narrow","Helvetica Neue Condensed",sans-serif;
  --sans:"Hanken Grotesk",-apple-system,"Segoe UI",system-ui,sans-serif;
  --shell:1320px; --gut:clamp(20px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--steel);outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--white);padding:8px 12px}
.shell{max-width:var(--shell);margin:0 auto;padding-inline:var(--gut)}
.num{font-variant-numeric:tabular-nums lining-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* type */
.display{font:800 clamp(52px,8.4vw,132px)/.88 var(--display);text-transform:uppercase;letter-spacing:.002em}
.h1{font:800 clamp(46px,6.4vw,96px)/.9 var(--display);text-transform:uppercase}
.h2{font:800 clamp(38px,4.6vw,68px)/.92 var(--display);text-transform:uppercase}
.h3{font:700 clamp(24px,2.2vw,30px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.eyebrow{font:600 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:clamp(17px,1.35vw,19px);line-height:1.55;color:var(--muted);max-width:56ch}
.dark .eyebrow{color:var(--muted-d)}
.dark .lede{color:#B4BAC0}
.line{display:block;overflow:hidden;padding-bottom:.04em;margin-bottom:-.04em}
.line > span{display:block}

/* badges: the only yellow on the site */
.badge{display:inline-flex;align-items:center;background:var(--safety);color:#17191B;font:700 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;white-space:nowrap}
.certline{display:flex;flex-wrap:wrap;gap:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 22px;border:1px solid currentColor;font:600 14px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:inherit;background:transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn--solid{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn--solid:hover{background:var(--iron);border-color:var(--iron)}
.btn--light{background:var(--coolant);border-color:var(--coolant);color:var(--machine)}
.btn--light:hover{background:var(--white);border-color:var(--white);color:var(--machine)}
.dark .btn:not(.btn--light):hover{background:var(--coolant);border-color:var(--coolant);color:var(--machine)}
.arrow::after{content:"→";font-weight:500;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
a:hover .arrow::after,.arrow:hover::after,a.arrow:hover::after{transform:translateX(4px)}
.ulink{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1);padding-bottom:2px}
.ulink:hover{background-size:100% 1px}

/* top bar */
.tbar{background:#1C1F22;color:var(--steel);font-size:13px}
.tbar__in{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;padding-block:8px}
.tbar a{color:var(--coolant);text-decoration:none}
.tbar .badge{font-size:10px;padding:5px 7px}
@media (max-width:760px){.tbar__aux{display:none}}
@media (max-width:400px){.tbar__x{display:none}}

/* header */
.hdr{position:sticky;top:0;z-index:30;background:var(--machine);color:var(--coolant);border-bottom:1px solid var(--iron)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand__mark{width:30px;height:30px;flex:none;color:var(--coolant)}
.brand__name{font:800 28px/.8 var(--display);text-transform:uppercase;letter-spacing:.03em;display:flex;flex-direction:column;gap:5px}
.brand__name small{font:600 10px/1 var(--sans);letter-spacing:.16em;color:var(--steel)}
.nav{display:flex;align-items:center;gap:30px;font:500 14.5px/1 var(--sans)}
.nav a:not(.btn){text-decoration:none;padding-block:8px;position:relative;color:#D2D6DA}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--coolant);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav a:not(.btn):hover{color:var(--white)}
.nav a:not(.btn):hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--white)}
.nav__cta{padding:12px 16px}
.hdr__toggle{display:none;font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--iron-2);padding:9px 13px;color:var(--coolant);cursor:pointer}
@media (max-width:960px){
  .hdr__toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--machine);border-bottom:1px solid var(--iron);padding:4px var(--gut) 24px;font-size:17px}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:16px 0;border-bottom:1px solid var(--iron)}
  .nav a:not(.btn)::after{display:none}
  .nav__cta{margin-top:18px;justify-content:center}
}

/* sections */
.sec{padding-block:clamp(72px,9vw,136px)}
.sec--tight{padding-block:clamp(56px,6vw,88px)}
.sec--white{background:var(--white)}
.sec--coolant{background:var(--coolant)}
.dark{background:var(--machine);color:var(--coolant)}
.dark--deep{background:#1C1F22}
.sec__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 72px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.sec__head .h2{margin-top:16px}
@media (max-width:860px){.sec__head{grid-template-columns:minmax(0,1fr)}}

/* photo frame */
.ph{position:relative;margin:0;overflow:hidden;background:
  linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.18)),
  repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.035) 39px 40px),
  var(--iron)}
.ph--light{background:linear-gradient(180deg,#D3D8DC,#BCC2C8)}
.ph img{width:100%;height:100%;object-fit:cover;color:transparent;font-size:0;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ph__cap{position:absolute;left:0;bottom:0;padding:10px 14px;background:var(--machine);color:var(--steel);font:500 12px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase}
a:hover .ph img{transform:scale(1.03)}

/* ---------- home hero ---------- */
.hero{position:relative;color:var(--white);background:var(--machine);overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__media img{height:112%;transform-origin:center top}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,31,34,.92) 0%,rgba(28,31,34,.72) 42%,rgba(28,31,34,.25) 100%),linear-gradient(0deg,rgba(28,31,34,.9) 0%,transparent 45%)}
.hero__in{position:relative;min-height:min(88vh,860px);display:flex;flex-direction:column;justify-content:flex-end;padding-block:clamp(72px,10vw,140px) 0}
.hero .certline{margin-bottom:28px}
.hero h1{max-width:11.5ch}
.hero__lede{margin-top:28px;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:#D3D7DB;max-width:50ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero__specs{margin-top:clamp(48px,7vw,96px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(184,190,196,.35)}
.hero__specs div{padding:20px 20px 26px 0;font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.hero__specs div+div{padding-left:20px;border-left:1px solid rgba(184,190,196,.2)}
.hero__specs b{display:block;font:700 clamp(28px,2.6vw,38px)/1 var(--display);letter-spacing:.01em;color:var(--white);margin-bottom:8px;text-transform:none}
.shift{position:absolute;right:var(--gut);top:clamp(28px,4vw,48px);background:rgba(28,31,34,.86);border:1px solid var(--iron-2);padding:14px 16px;font:500 12.5px/1.45 var(--sans);color:var(--steel);min-width:250px}
.shift__h{display:flex;justify-content:space-between;gap:12px;color:var(--coolant);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11px;margin-bottom:10px}
.shift__h i{display:inline-block;width:7px;height:7px;background:#8FD19E;border-radius:50%;margin-right:7px;vertical-align:1px;animation:blink 2.4s infinite}
@keyframes blink{50%{opacity:.3}}
.shift dl{display:grid;grid-template-columns:auto auto;gap:4px 20px;margin:0}
.shift dt{color:var(--muted-d)}
.shift dd{margin:0;text-align:right;color:var(--white);font-weight:600}
.spindles{display:flex;gap:3px;margin-top:12px}
.spindles span{flex:1;height:14px;background:var(--iron-2);position:relative;overflow:hidden}
.spindles span.on::after{content:"";position:absolute;inset:0;background:var(--steel);transform-origin:bottom;animation:hum 1.6s ease-in-out infinite alternate}
.spindles span:nth-child(3n).on::after{animation-duration:2.1s}
.spindles span:nth-child(4n+1).on::after{animation-duration:1.3s}
@keyframes hum{from{transform:scaleY(.72)}to{transform:scaleY(1)}}
@media (max-width:1100px){.hero__specs{grid-template-columns:repeat(3,minmax(0,1fr))}.hero__specs div:nth-child(n+4){display:none}}
@media (max-width:900px){.shift{display:none}}
@media (max-width:620px){
  .hero__specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__specs div:nth-child(n+3){display:block}
  .hero__specs div:nth-child(5){display:none}
  .hero__specs div{padding:16px 12px 18px 0}
  .hero__specs div+div{padding-left:12px}
  .hero__specs div:nth-child(3){padding-left:0;border-left:0}
  .hero__specs div:nth-child(n+3){border-top:1px solid rgba(184,190,196,.2)}
}

/* big figures */
.figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.fig{padding:28px 28px 8px 0}
.fig+.fig{padding-left:28px;border-left:1px solid var(--line)}
.fig b{display:block;font:800 clamp(64px,8vw,128px)/.85 var(--display);letter-spacing:-.005em}
.fig b small{font-size:.42em;letter-spacing:.02em;margin-left:4px}
.fig > span{display:block;margin-top:16px;font-size:15px;color:var(--muted);max-width:24ch}
.fig > span strong{display:block;color:var(--ink);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@media (max-width:900px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.fig:nth-child(3){padding-left:0;border-left:0}.fig:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}}
@media (max-width:420px){.fig{padding-right:14px}.fig+.fig{padding-left:14px}.fig:nth-child(3){padding-left:0}}

/* ---------- the part journey ---------- */
.journey{background:var(--machine);color:var(--coolant);position:relative}
.journey__pin{min-height:100vh;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:center;padding-block:clamp(48px,6vw,80px)}
.journey__copy .h2{margin:16px 0 20px}
.jsteps{margin-top:36px;border-top:1px solid var(--iron)}
.jstep{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--iron);transition:color .4s;color:#7E868D}
.jstep__n{font:700 26px/1 var(--display);grid-row:span 2}
.jstep h3{font:600 15px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.jstep p{font-size:14.5px;line-height:1.5}
.jstep.on{color:var(--white)}
.jstep.on p{color:#B4BAC0}
.journey__fig{position:relative;background:#1E2226;border:1px solid var(--iron);aspect-ratio:1.28/1;width:100%}
.journey__fig svg{position:absolute;inset:0;width:100%;height:100%}
.journey__meta{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--iron);font:500 11.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d)}
.journey__meta b{color:var(--coolant);font-weight:600}
.jbar{position:absolute;left:0;top:0;height:2px;background:var(--steel);width:100%;transform-origin:left;transform:scaleX(1)}
.drw text{font-family:var(--sans);font-variant-numeric:tabular-nums lining-nums}
@media (max-width:960px){
  .journey__pin{grid-template-columns:minmax(0,1fr);align-content:center;gap:20px;padding-block:24px}
  .journey__copy .lede{display:none}
  .journey__copy .h2{margin:10px 0 0;font-size:clamp(30px,8vw,44px)}
  .journey__fig{order:2}
  .jsteps{order:3;margin-top:0}
  .jsteps .jstep{display:none}
  .jsteps .jstep.on{display:grid;color:var(--white)}
  html:not(.js) .jsteps .jstep{display:grid}
  .journey__meta span:nth-child(2){display:none}
}

/* matrix rows: industrial hover */
.mx{border-top:1px solid var(--ink)}
.mx__row{position:relative;display:grid;grid-template-columns:minmax(0,2.1fr) 70px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:20px;align-items:center;padding:20px 12px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .25s,color .25s}
.mx__row::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.mx__row:hover{background:var(--machine);color:var(--coolant)}
.mx__row:hover::before{transform:scaleY(1);background:var(--steel)}
.mx__row:hover .mx__k{color:var(--steel)}
.mx__row h3{font:700 24px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.mx__row h3 small{display:block;font:400 14px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--muted);margin-top:6px}
.mx__row:hover h3 small{color:var(--steel)}
.mx__count{font:800 40px/1 var(--display)}
.mx__k{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.mx__v{font-size:15px;font-variant-numeric:tabular-nums lining-nums}
.mx__go{justify-self:end;font-size:20px;transition:transform .25s}
.mx__row:hover .mx__go{transform:translateX(4px)}
.mx__head{display:grid;grid-template-columns:minmax(0,2.1fr) 70px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:20px;padding:0 12px 12px;font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){
  .mx__head{display:none}
  .mx__row{grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;padding:20px 8px}
  .mx__row > :nth-child(n+3){grid-column:span 1}
  .mx__row .mx__count{grid-column:2;grid-row:1;text-align:right}
  .mx__row .mx__go{display:none}
}

/* industries strip */
.inds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ind{background:var(--white);text-decoration:none;display:flex;flex-direction:column}
.ind .ph{aspect-ratio:1/1}
.ind__b{padding:18px 18px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ind__b h3{font:700 24px/1 var(--display);text-transform:uppercase}
.ind__b p{font-size:14.5px;line-height:1.5;color:var(--muted)}
.ind__b .arrow{margin-top:auto;padding-top:10px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
@media (max-width:1100px){.inds{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.inds{grid-template-columns:repeat(2,minmax(0,1fr))}.ind:last-child{grid-column:span 2}.ind:last-child .ph{aspect-ratio:2/1}.ind__b{padding:14px}.ind__b h3{font-size:21px}}

/* export map */
.map{position:relative;border:1px solid var(--iron);background:#1E2226}
.map canvas{display:block;width:100%;height:auto;aspect-ratio:2.05/1}
.map__legend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--iron)}
.map__legend li{padding:12px 14px;font-size:13px;color:var(--muted-d);border-right:1px solid var(--iron);border-bottom:1px solid var(--iron)}
.map__legend li:nth-child(7n){border-right:0}
.map__legend li:nth-last-child(-n+7){border-bottom:0}
.map__legend b{display:block;color:var(--coolant);font-weight:600;font-size:14px}
@media (max-width:900px){.map__legend{grid-template-columns:repeat(2,minmax(0,1fr))}.map__legend li{border-right:1px solid var(--iron)!important;border-bottom:1px solid var(--iron)!important}.map__legend li:nth-child(2n){border-right:0!important}.map__legend li:nth-last-child(-n+2){border-bottom:0!important}}
.exportfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.exportfacts div{border-top:1px solid var(--iron);padding-top:16px;color:#B4BAC0;font-size:15px}
.exportfacts b{display:block;font:700 30px/1 var(--display);color:var(--white);margin-bottom:8px}
@media (max-width:760px){.exportfacts{grid-template-columns:minmax(0,1fr)}}

/* split */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.split .ph{aspect-ratio:4/3}
.split__copy{display:flex;flex-direction:column;gap:22px}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}

/* plant */
.plant{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.plant .ph{aspect-ratio:16/10;height:100%}
.plant__facts{background:var(--white);display:grid;grid-template-rows:repeat(4,1fr)}
.plant__facts div{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.plant__facts div:last-child{border-bottom:0}
.plant__facts b{font:700 34px/1 var(--display);text-transform:uppercase}
.plant__facts span{font-size:14px;color:var(--muted);margin-top:6px}
@media (max-width:860px){.plant{grid-template-columns:minmax(0,1fr)}.plant__facts{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.plant__facts div{border-right:1px solid var(--line)}.plant__facts div:nth-child(2n){border-right:0}.plant__facts div:nth-child(3){border-bottom:0}}
@media (max-width:420px){.plant__facts div{padding:16px}.plant__facts b{font-size:28px}}

.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px}
.team .ph{aspect-ratio:4/5}
.team h3{font:700 22px/1 var(--display);text-transform:uppercase;margin-top:14px}
.team p{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.45}
@media (max-width:900px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- inner page header ---------- */
.phead{background:var(--machine);color:var(--coolant);padding-block:clamp(64px,8vw,120px) clamp(48px,6vw,80px);border-bottom:1px solid var(--iron)}
.phead__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px 72px;align-items:end}
.phead h1{margin-top:18px}
.phead .lede{color:#B4BAC0}
.speclist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--iron)}
.speclist div{padding:18px 18px 4px 0;font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d)}
.speclist div+div{padding-left:18px;border-left:1px solid var(--iron)}
.speclist b{display:block;font:700 clamp(26px,2.4vw,36px)/1 var(--display);color:var(--white);letter-spacing:.01em;text-transform:none;margin-bottom:6px}
@media (max-width:860px){.phead__grid{grid-template-columns:minmax(0,1fr)}.speclist{grid-template-columns:repeat(2,minmax(0,1fr))}.speclist div:nth-child(3){padding-left:0;border-left:0}.speclist div:nth-child(n+3){border-top:1px solid var(--iron);padding-top:16px}}
@media (max-width:420px){.speclist div+div{padding-left:12px}.speclist div:nth-child(3){padding-left:0}}

/* ---------- capability matrix (filterable) ---------- */
.filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:16px;align-items:end;padding:20px;background:var(--white);border:1px solid var(--line)}
.fld{display:flex;flex-direction:column;gap:8px}
.fld > label,.fld > span{font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
select,input[type=text],input[type=email],input[type=number],input[type=date],input[type=tel],textarea{width:100%;font:400 15.5px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;padding:13px 14px;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--ink);background-color:var(--white)}
textarea{min-height:110px;resize:vertical}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font:600 13px/1 var(--sans);letter-spacing:.04em;padding:11px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.seg button:hover{border-color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}
@media (max-width:1000px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .fld:first-child{grid-column:1/-1}}
@media (max-width:640px){.filters{grid-template-columns:minmax(0,1fr);padding:16px}.filters .fld:first-child{grid-column:auto}}
.mxcount{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline;margin:32px 0 12px;font-size:14px;color:var(--muted)}
.mxcount b{font:700 26px/1 var(--display);color:var(--ink);text-transform:uppercase;margin-right:8px}
.mtable{background:var(--white);border:1px solid var(--line)}
.mtable table{font-size:14.5px;font-variant-numeric:tabular-nums lining-nums}
.mtable th{text-align:left;font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--ink);background:var(--paper);white-space:nowrap}
.mtable td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top;transition:background .2s,color .2s}
.mtable tbody tr{position:relative;transition:background .2s}
.mtable tbody tr:hover td{background:var(--machine);color:var(--coolant)}
.mtable tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--steel)}
.mtable tbody tr:hover .mt-sub{color:var(--steel)}
.mtable tbody tr:last-child td{border-bottom:0}
.mt-name{font:700 21px/1 var(--display);text-transform:uppercase;letter-spacing:.01em;display:block}
.mt-sub{display:block;color:var(--muted);font-size:13.5px;margin-top:6px;line-height:1.4}
.mt-count{font:800 34px/1 var(--display)}
.mt-tags{display:flex;flex-wrap:wrap;gap:4px}
.mt-tags span{font-size:12px;padding:3px 7px;border:1px solid var(--line);white-space:nowrap}
.mtable tbody tr:hover .mt-tags span{border-color:var(--iron-2)}
.mt-hit{font-weight:600}
.mtable .empty td{padding:40px 16px;color:var(--muted);text-align:center}
@media (max-width:900px){
  .mtable thead{display:none}
  .mtable table,.mtable tbody,.mtable tr,.mtable td{display:block}
  .mtable tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line);padding:6px 0}
  .mtable td{border:0;padding:10px 16px}
  .mtable td:first-child{grid-column:1/-1;padding-top:16px}
  .mtable td[data-k]::before{content:attr(data-k);display:block;font:600 10.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  .mtable td.mt-wide{grid-column:1/-1}
  .mtable tbody tr:hover td{background:transparent;color:inherit}
  .mtable tbody tr:hover td:first-child{box-shadow:none}
}

/* spec tables */
.stable{background:var(--white);border:1px solid var(--line);font-size:15px;font-variant-numeric:tabular-nums lining-nums}
.stable th,.stable td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.stable thead th{font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper);border-bottom-color:var(--ink)}
.stable tbody th{font:700 19px/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.stable tbody tr{transition:background .2s}
.stable tbody tr:hover{background:var(--coolant)}
.stable tbody tr:last-child > *{border-bottom:0}
.stable .muted{color:var(--muted)}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:760px){
  .stable--stack thead{display:none}
  .stable--stack,.stable--stack tbody,.stable--stack tr,.stable--stack th,.stable--stack td{display:block;width:100%}
  .stable--stack tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .stable--stack th,.stable--stack td{border:0;padding:6px 16px}
  .stable--stack td[data-k]::before{content:attr(data-k);display:block;font:600 10.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
}

.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.cols3 > div{background:var(--white);padding:28px}
.cols3 h3{margin-bottom:12px}
.cols3 p{color:var(--muted);font-size:15px}
@media (max-width:860px){.cols2,.cols3{grid-template-columns:minmax(0,1fr)}}

/* envelope diagram */
.env{background:var(--white);border:1px solid var(--line);padding:24px}
.env svg{width:100%;height:auto;display:block}
.env text{font-family:var(--sans);font-variant-numeric:tabular-nums lining-nums}

/* batch band */
.batch{position:relative;margin-top:16px}
.batch__bar{display:grid;grid-template-columns:1fr 2fr 3fr 2fr;border:1px solid var(--ink)}
.batch__bar div{padding:18px 16px;border-right:1px solid var(--ink)}
.batch__bar div:last-child{border-right:0}
.batch__bar b{display:block;font:700 28px/1 var(--display);text-transform:uppercase}
.batch__bar span{display:block;font-size:13.5px;color:var(--muted);margin-top:8px}
.batch__bar div:nth-child(2){background:var(--coolant)}
.batch__bar div:nth-child(3){background:var(--machine);color:var(--coolant)}
.batch__bar div:nth-child(3) span{color:var(--steel)}
@media (max-width:760px){.batch__bar{grid-template-columns:minmax(0,1fr)}.batch__bar div{border-right:0;border-bottom:1px solid var(--ink)}.batch__bar div:last-child{border-bottom:0}}

/* ---------- industries page ---------- */
.indnav{position:sticky;top:69px;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.indnav__in{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none;padding-block:14px}
.indnav__in::-webkit-scrollbar{display:none}
.indnav a{white-space:nowrap;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding-block:6px;border-bottom:2px solid transparent}
.indnav a:hover,.indnav a.on{color:var(--ink);border-bottom-color:var(--ink)}
.indsec{padding-block:clamp(64px,8vw,112px);border-bottom:1px solid var(--line);scroll-margin-top:120px}
.indsec__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
.indsec .ph{aspect-ratio:1/1}
.indsec__top{display:flex;flex-direction:column;gap:18px}
.indsec__top .certline{margin-top:4px}
.indsec .stable{margin-top:28px}
.indsec__stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:8px}
.indsec__stat div{padding:14px 14px 0 0;font-size:13px;color:var(--muted)}
.indsec__stat div+div{padding-left:14px;border-left:1px solid var(--line)}
.indsec__stat b{display:block;font:700 30px/1 var(--display);color:var(--ink);margin-bottom:4px}
@media (max-width:900px){.indsec__grid{grid-template-columns:minmax(0,1fr)}.indsec .ph{aspect-ratio:3/2}}
@media (max-width:960px){.indnav{top:63px}}

/* ---------- quality ---------- */
.certs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--iron);border:1px solid var(--iron)}
.cert{background:var(--machine);padding:24px;display:flex;flex-direction:column;gap:14px;min-height:250px}
.cert h3{font:800 40px/.9 var(--display);text-transform:uppercase;color:var(--white)}
.cert p{font-size:14.5px;color:#B4BAC0}
.cert dl{margin:auto 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;font-size:13px;border-top:1px solid var(--iron);padding-top:12px}
.cert dt{color:var(--muted-d)}
.cert dd{margin:0;color:var(--coolant);font-variant-numeric:tabular-nums}
@media (max-width:1000px){.certs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.certs{grid-template-columns:minmax(0,1fr)}.cert{min-height:0}}

.flow{position:relative;margin-top:24px}
.flow__rail{position:absolute;left:31px;top:8px;bottom:8px;width:1px;background:var(--line)}
.flow__fill{position:absolute;left:31px;top:8px;width:1px;bottom:8px;background:var(--ink);transform-origin:top}
.fstep{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.1fr);gap:8px 40px;padding:28px 0;border-bottom:1px solid var(--line)}
.fstep:last-child{border-bottom:0}
.fstep__n{width:64px;display:flex;justify-content:center}
.fstep__n span{display:grid;place-items:center;width:40px;height:40px;background:var(--paper);border:1px solid var(--ink);font:700 19px/1 var(--display);position:relative;z-index:1}
.fstep h3{font:700 26px/1 var(--display);text-transform:uppercase;padding-top:8px}
.fstep h3 small{display:block;font:500 13px/1.4 var(--sans);letter-spacing:.06em;color:var(--muted);margin-top:8px;text-transform:uppercase}
.fstep p{color:var(--muted);font-size:15.5px;padding-top:6px}
.fstep ul{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.fstep li{font-size:12.5px;padding:4px 8px;border:1px solid var(--line);background:var(--white)}
@media (max-width:860px){.fstep{grid-template-columns:56px minmax(0,1fr);gap:6px 12px}.fstep > div:last-child{grid-column:2}.fstep__n{width:56px}.flow__rail,.flow__fill{left:27px}}

.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--iron)}
.kpis div{padding:24px 24px 0 0;color:#B4BAC0;font-size:14.5px}
.kpis div+div{padding-left:24px;border-left:1px solid var(--iron)}
.kpis b{display:block;font:800 clamp(48px,5vw,80px)/.9 var(--display);color:var(--white);margin-bottom:12px}
@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis div:nth-child(3){padding-left:0;border-left:0}.kpis div:nth-child(n+3){border-top:1px solid var(--iron);margin-top:24px}}
@media (max-width:420px){.kpis div+div{padding-left:14px}.kpis div:nth-child(3){padding-left:0}}

.lab{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:start}
.lab .ph{aspect-ratio:3/2}
@media (max-width:900px){.lab{grid-template-columns:minmax(0,1fr)}}

/* ---------- rfq ---------- */
.rfq{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(32px,4vw,64px);align-items:start}
.form{background:var(--white);border:1px solid var(--line);padding:clamp(20px,3vw,40px)}
.form__sec{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.form__sec:last-of-type{border-bottom:0;margin-bottom:0}
.form__sec > h2{font:700 24px/1 var(--display);text-transform:uppercase;margin-bottom:20px;display:flex;gap:12px;align-items:baseline}
.form__sec > h2 span{font:600 12px/1 var(--sans);letter-spacing:.1em;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.span2{grid-column:span 2}
@media (max-width:700px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:220px;padding:28px 20px;border:1.5px dashed var(--steel-d);background:
  repeating-linear-gradient(0deg,transparent 0 23px,rgba(36,40,44,.05) 23px 24px),
  repeating-linear-gradient(90deg,transparent 0 23px,rgba(36,40,44,.05) 23px 24px),var(--paper);cursor:pointer;transition:border-color .2s,background-color .2s}
.drop:hover,.drop.over{border-color:var(--ink);border-style:solid}
.drop.over{background-color:var(--coolant)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop svg{width:44px;height:44px;color:var(--ink)}
.drop b{font:700 24px/1 var(--display);text-transform:uppercase}
.drop small{font-size:13.5px;color:var(--muted)}
.drop .u{text-decoration:underline;text-underline-offset:3px}
.files{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.file{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:var(--white);font-size:14px}
.file__ext{font:700 15px/1 var(--display);text-transform:uppercase;background:var(--machine);color:var(--coolant);padding:7px 0;text-align:center}
.file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file__size{color:var(--muted);font-variant-numeric:tabular-nums}
.file__prog{grid-column:2/4;height:2px;background:var(--line);position:relative;overflow:hidden}
.file__prog i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.file button{border:0;background:none;color:var(--muted);font:500 13px var(--sans);text-decoration:underline;cursor:pointer;padding:4px}
.file--bad{border-color:#C9A9A0;background:#FBF6F5}
.file--bad .file__ext{background:#8A5A50}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;font-size:15px;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--machine)}
.check small{display:block;color:var(--muted);font-size:13.5px;margin-top:4px}
.form__foot{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:28px}
.form__foot p{font-size:13.5px;color:var(--muted);max-width:44ch}
.form__done{margin-top:20px;padding:18px 20px;background:var(--machine);color:var(--coolant);font-size:15px}
.form__done b{display:block;font:700 22px/1.1 var(--display);text-transform:uppercase;color:var(--white);margin-bottom:6px}
.err{color:#8A3B2E;font-size:13px}
.side{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
.sla{background:var(--machine);color:var(--coolant);padding:28px}
.sla__big{font:800 clamp(64px,6vw,96px)/.85 var(--display);color:var(--white)}
.sla__big small{font-size:.4em;margin-left:6px}
.sla ol{margin-top:22px;border-top:1px solid var(--iron)}
.sla li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--iron);font-size:14px;color:#B4BAC0}
.sla li b{font:700 20px/1.1 var(--display);color:var(--white)}
.sidecard{background:var(--white);border:1px solid var(--line);padding:24px;font-size:14.5px}
.sidecard h3{font:700 20px/1 var(--display);text-transform:uppercase;margin-bottom:12px}
.sidecard p+p{margin-top:8px}
.sidecard .muted{color:var(--muted)}
@media (max-width:1000px){.rfq{grid-template-columns:minmax(0,1fr)}.side{position:static}}

.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.person{background:var(--white);padding:24px;font-size:14.5px}
.person h3{font:700 24px/1 var(--display);text-transform:uppercase}
.person .role{color:var(--muted);margin:6px 0 14px}
.person a{display:block;text-decoration:none;padding:4px 0}
.person a:hover{text-decoration:underline}
@media (max-width:860px){.people{grid-template-columns:minmax(0,1fr)}}

.ports{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--iron);border:1px solid var(--iron)}
.port{background:var(--machine);padding:22px;color:#B4BAC0;font-size:14.5px}
.port h3{font:700 26px/1 var(--display);text-transform:uppercase;color:var(--white);margin-bottom:6px}
.port .k{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d);margin:14px 0 4px}
.port .v{color:var(--coolant)}
@media (max-width:1000px){.ports{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ports{grid-template-columns:minmax(0,1fr)}}
.dark .stable{background:transparent;border-color:var(--iron);color:var(--coolant)}
.dark .stable th,.dark .stable td{border-bottom-color:var(--iron)}
.dark .stable thead th{background:#1E2226;color:var(--muted-d);border-bottom-color:var(--steel-d)}
.dark .stable tbody tr:hover{background:var(--iron)}
.dark .stable .muted{color:#9AA1A8}

/* footer */
.ftr{background:#1C1F22;color:#9AA1A8;font-size:14.5px;padding-top:clamp(56px,7vw,96px)}
.ftr__cta{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;padding-bottom:clamp(48px,6vw,80px);border-bottom:1px solid var(--iron)}
.ftr__big{font:800 clamp(40px,5.4vw,84px)/.9 var(--display);text-transform:uppercase;color:var(--white)}
.ftr__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px;padding-block:48px}
.ftr__grid a{display:block;text-decoration:none;padding:4px 0;color:#C9CED3}
.ftr__grid a:hover{color:var(--white)}
.ftr__name{font:700 22px/1.1 var(--display);text-transform:uppercase;color:var(--white);margin-bottom:12px}
.ftr__brand p+p{margin-top:6px}
.ftr__h{font:600 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-d);margin-bottom:12px}
.ftr__base{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-block:22px 32px;border-top:1px solid var(--iron);font-size:13.5px}
.ftr__base a{color:#C9CED3}
@media (max-width:900px){.ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr__brand{grid-column:1/-1}}
@media (max-width:480px){.ftr__grid{grid-template-columns:minmax(0,1fr)}}
.is-static .journey__pin{min-height:0}
.journey .eyebrow{color:var(--muted-d)}
.journey .lede{color:#B4BAC0}
@media (min-width:901px){.mx__row .mx__k{display:none}}
.ph img[data-parallax]{height:112%}
.mtable td:not(:first-child):not(.mt-wide){white-space:nowrap}
@media (min-width:1001px){.filters{grid-template-columns:minmax(0,2.1fr) repeat(3,minmax(0,1fr))}}
.seg button{padding:11px 12px}
@media (min-width:901px){.indsec .ph{position:sticky;top:140px}}
.stable thead th{white-space:nowrap}
.nav a.btn[aria-current]{color:var(--machine)}
.file__name .err{display:block;white-space:normal}
/* photo focal points */
.team .ph img{object-position:50% 12%}
.plant .ph img{object-position:68% 50%}
img[src$="cmm.webp"]{object-position:30% 50%}
img[src$="export-packing.webp"]{object-position:45% 60%}
@media (max-width:760px){.hero__media::after{background:linear-gradient(180deg,rgba(28,31,34,.55) 0%,rgba(28,31,34,.78) 40%,rgba(28,31,34,.94) 100%)}.hero__media img{object-position:62% 50%}}
