:root{--red:#e5312b;--ink:#121212;--steel:#202224;--paper:#f2f1ed;--line:#d7d5cf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.map-wrap iframe{border:0}
body.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
.site-header{height:94px;padding:0 clamp(24px,5vw,76px);display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:36px;background:#fff;position:relative;z-index:20}
.brand img{width:142px;height:auto;object-fit:contain}
nav{display:flex;justify-content:center;gap:clamp(20px,3vw,48px);font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
nav a,.header-contact{transition:color .2s}
nav a:hover{color:var(--red)}
.header-contact{display:flex;align-items:center;gap:10px;padding:14px 18px;border-left:1px solid #ccc;font-weight:700}
.hero{min-height:calc(100vh - 94px);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-image{object-fit:cover;object-position:center 54%;filter:saturate(.72) contrast(1.08)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.92),rgba(8,8,8,.62) 47%,rgba(8,8,8,.16))}
.hero-content{position:relative;z-index:2;width:min(760px,90%);margin-left:clamp(24px,8vw,130px);padding:72px 0 90px}
.eyebrow{margin:0 0 24px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:#f36b66}
.eyebrow.dark{color:var(--red)}
h1{margin:0;font-size:clamp(4.2rem,9vw,9.2rem);line-height:.81;letter-spacing:-.075em;font-weight:900;text-transform:uppercase}
.hero-copy{max-width:620px;margin:34px 0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55;color:#e8e8e8}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{min-height:52px;padding:0 22px;display:inline-flex;align-items:center;gap:13px;font-weight:800;font-size:.9rem}
.button-red{background:var(--red)}
.button-ghost{border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(10px)}
.section{padding:clamp(80px,11vw,160px) clamp(24px,8vw,130px)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}
h2{margin:0;font-size:clamp(2.7rem,5.4vw,6rem);line-height:.95;letter-spacing:-.055em;font-weight:850;text-transform:uppercase}
.intro-copy{padding-top:44px;font-size:1.12rem;line-height:1.75}
.intro-copy p:first-child{font-size:1.35rem;font-weight:700;line-height:1.55}
.materials{background:var(--steel);color:#fff}
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:74px}
.section-heading>p{color:#b9b9b9;line-height:1.7;font-size:1.05rem}
.material-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #505254;border-left:1px solid #505254}
.material-grid article{min-height:190px;padding:26px;border-right:1px solid #505254;border-bottom:1px solid #505254;display:grid;grid-template-columns:1fr;align-content:space-between}
.material-grid span{grid-column:1/-1;font-size:.72rem;color:#999}
.material-grid h3{margin:0;font-size:1.35rem;max-width:190px;text-transform:uppercase}
.plant{display:block}
.plant-copy{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:end}
.plant-copy .eyebrow{grid-column:1 / -1;margin-bottom:-22px}
.plant-copy>p:last-child{max-width:680px;font-size:1.2rem;line-height:1.7;margin:0 0 8px}
.compliance{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.compliance .eyebrow{color:#5e0906}
.compliance-list{border-top:1px solid rgba(255,255,255,.4)}
.compliance-list>div{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.4)}
.compliance-list span{font-size:.75rem;color:#65100c}
.compliance-list p{margin:0;line-height:1.5}
.compliance-list strong{display:block;font-size:1.15rem}
footer{background:#111;color:#fff;padding:clamp(70px,9vw,130px) clamp(24px,8vw,130px) 30px}
.footer-main{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding-bottom:90px}
.round-link{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;background:var(--red);transition:transform .2s}
.round-link:hover{transform:translateX(6px)}
.footer-details{border-top:1px solid #424242;padding-top:26px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:24px;font-size:.88rem;color:#bcbcbc}
.footer-details p{margin:0;display:flex;align-items:center;gap:9px}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:82px}
nav{display:none}
.brand img{width:116px}
.header-contact{font-size:.85rem}
.hero{min-height:760px}
.hero-content{margin-left:24px;padding-bottom:90px}
h1{font-size:clamp(3.5rem,16vw,6.5rem)}
.intro,.section-heading,.compliance{grid-template-columns:1fr}
.plant-copy{grid-template-columns:1fr;gap:26px}
.plant-copy .eyebrow{grid-column:auto;margin-bottom:0}
.intro{gap:24px}
.intro-copy{padding-top:0}
.material-grid{grid-template-columns:repeat(2,1fr)}
.footer-details{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.site-header{padding:0 18px}
.header-contact{padding:12px 0 12px 14px}
.hero-copy{font-size:1rem}
.hero-actions{flex-direction:column;align-items:flex-start}
.material-grid{grid-template-columns:1fr}
.material-grid article{min-height:150px}
.footer-main{grid-template-columns:1fr}
.footer-details{grid-template-columns:1fr}
.round-link{width:82px;height:82px}
}

.work-detail { background: var(--paper); }
.work-block { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 760px; }
.section-side { padding: clamp(70px,9vw,130px) clamp(24px,8vw,130px); }
.work-copy { display: flex; flex-direction: column; justify-content: center; }
.work-copy > p:not(.eyebrow):not(.detail-note), .copper-heading > p:not(.eyebrow) { max-width: 600px; margin: 32px 0 0; font-size: 1.08rem; line-height: 1.72; }
.detail-note { margin: 34px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #6e6e6e; }
.motor-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; background: #111; }
.photo { position: relative; overflow: hidden; min-height: 300px; }
.photo img { object-fit: cover; transition: transform .65s ease; }
.photo:hover img { transform: scale(1.025); }
.photo-tall { grid-row: 1 / 3; }
.photo-wide { display: none; }
.cables-block { grid-template-columns: 1.12fr .88fr; background: var(--steel); color: #fff; }
.cable-photo { min-height: 760px; }
.dark-copy .detail-note { border-color: #4a4c4e; color: #aeb0b2; }
.copper-block { display: grid; grid-template-columns: 1fr 1fr; }
.copper-heading { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; }
.copper-heading .eyebrow { grid-column: 1 / -1; margin-bottom: -20px; }
.copper-card { min-height: 620px; }
.copper-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.86)); }
.copper-card figcaption { position: absolute; z-index: 2; left: clamp(24px,4vw,62px); right: clamp(24px,4vw,62px); bottom: 42px; color: #fff; }
.copper-card figcaption strong { display: block; font-size: clamp(1.5rem,2.5vw,2.5rem); text-transform: uppercase; }
.copper-card figcaption span { display: block; max-width: 560px; margin-top: 10px; line-height: 1.55; color: #dedede; }
.operations { grid-column: 1 / -1; display: grid; grid-template-columns: .72fr .72fr 1.56fr; margin-top: 10px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.operations article { min-height: 310px; padding: clamp(28px,4vw,54px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.operations article > span { display: block; margin-bottom: 62px; color: var(--red); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.operations h3 { margin: 0 0 22px; font-size: clamp(1.35rem,2vw,2rem); line-height: 1.05; text-transform: uppercase; }
.operations p { margin: 0; max-width: 760px; color: #565656; font-size: 1rem; line-height: 1.7; }
.operations p + p { margin-top: 18px; }
.operations-wide { background: #e8e7e2; }
.future { background: #deddd7; }
.future-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: start; }
.future-copy { padding-top: 46px; }
.future-copy p { max-width: 680px; margin: 0; font-size: 1.08rem; line-height: 1.72; }
.future-copy p:first-child { font-size: clamp(1.25rem,1.8vw,1.6rem); font-weight: 750; line-height: 1.5; }
.future-copy p + p { margin-top: 26px; }
.future-copy strong { color: var(--red); }
.future-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(60px,8vw,110px); border-top: 1px solid #aaa8a1; border-left: 1px solid #aaa8a1; }
.future-grid article { min-height: 320px; padding: clamp(28px,4vw,54px); display: flex; flex-direction: column; border-right: 1px solid #aaa8a1; border-bottom: 1px solid #aaa8a1; }
.future-grid span { color: var(--red); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.future-grid h3 { margin: auto 0 20px; font-size: clamp(1.45rem,2.3vw,2.5rem); line-height: 1; text-transform: uppercase; }
.future-grid p { margin: 0; max-width: 430px; color: #555; line-height: 1.65; }
.location { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 660px; background: #fff; }
.location-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px,8vw,130px) clamp(24px,7vw,110px); }
.location-copy h2 { font-size: clamp(2.5rem,4.6vw,5rem); }
.location-address { display: flex; align-items: flex-start; gap: 14px; margin: 38px 0 0; font-size: 1.08rem; line-height: 1.65; }
.location-address svg { flex: 0 0 auto; margin-top: 3px; color: var(--red); }
.location-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button-outline { border: 1px solid #a9a9a9; }
.map-wrap { min-height: 560px; background: #ddd; }
.map-wrap iframe { width: 100%; height: 100%; min-height: 660px; display: block; border: 0; filter: grayscale(1) contrast(1.08); }
.compliance-list > div { grid-template-columns: 50px 1fr auto; align-items: center; }
.doc-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.doc-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.6); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.motor-specialty { background: #deddd7; }
.specialty-lead { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; align-items: start; }
.specialty-lead h2 { font-size: clamp(2.8rem,5.4vw,6rem); }
.specialty-copy { padding-top: 46px; }
.specialty-copy p { max-width: 650px; margin: 0; font-size: 1.08rem; line-height: 1.72; }
.specialty-copy p:first-child { font-size: clamp(1.25rem,1.8vw,1.6rem); font-weight: 750; line-height: 1.5; }
.specialty-copy p + p { margin-top: 28px; }
.rail-feature { display: grid; grid-template-columns: 1.18fr .82fr; min-height: 720px; background: var(--steel); color: #fff; }
.rail-hero { position: relative; min-height: 720px; margin: 0; overflow: hidden; }
.rail-hero img { object-fit: cover; object-position: center 44%; transition: transform .7s ease; }
.rail-hero:hover img { transform: scale(1.02); }
.rail-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(58px,7vw,110px); }
.rail-copy h3 { margin: 0; font-size: clamp(2.2rem,4.3vw,4.8rem); line-height: .96; letter-spacing: -.045em; text-transform: uppercase; }
.rail-copy > p:last-child { margin: 34px 0 0; color: #d0d1d2; font-size: 1.08rem; line-height: 1.72; }
.rail-photo-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-auto-rows: minmax(280px,32vw); gap: 3px; background: #111; }
.rail-photo { position: relative; min-height: 330px; margin: 0; overflow: hidden; background: #222; }
.rail-photo-wide { grid-column: span 2; }
.rail-photo img { object-fit: cover; transition: transform .65s ease; }
.rail-photo-wide img { object-position: center 48%; }
.rail-photo:hover img { transform: scale(1.025); }
.industrial-gallery { background: #111; color: #fff; }
.gallery-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: end; margin-bottom: clamp(44px,7vw,90px); }
.gallery-heading .eyebrow { align-self: start; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: #343434; }
.gallery-card { margin: 0; background: #171717; overflow: hidden; }
.gallery-image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #242424; }
.gallery-image img { object-fit: cover; transition: transform .6s ease; }
.gallery-card:hover .gallery-image img { transform: scale(1.025); }
.gallery-card figcaption { min-height: 118px; padding: 22px 24px 26px; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.gallery-card figcaption span { padding-top: 3px; color: var(--red); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.gallery-card figcaption strong { font-size: clamp(1rem,1.3vw,1.25rem); line-height: 1.25; text-transform: uppercase; }
.community { background: var(--steel); color: #fff; }
.community-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; align-items: end; margin-bottom: clamp(54px,8vw,100px); }
.community-heading > p { max-width: 660px; margin: 0; color: #c9cacc; font-size: 1.12rem; line-height: 1.75; }
.community-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #4a4c4e; border-left: 1px solid #4a4c4e; }
.community-grid article { min-height: 330px; padding: clamp(30px,4.5vw,66px); display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid #4a4c4e; border-bottom: 1px solid #4a4c4e; }
.community-grid article > svg { width: 34px; height: 34px; margin-bottom: auto; color: var(--red); }
.community-grid article > span { margin: 52px 0 14px; color: #aeb0b2; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.community-grid h3 { margin: 0; font-size: clamp(1.65rem,2.6vw,2.8rem); line-height: 1; text-transform: uppercase; }
.community-grid p { max-width: 580px; margin: 20px 0 0; color: #c9cacc; line-height: 1.65; }
.community-grid .community-featured { background: var(--red); }
.community-grid .community-featured > svg, .community-grid .community-featured > span { color: #5e0906; }
.community-grid .community-featured p { color: #fff0ef; }
.community-grid .partner-card { min-height: 420px; }
.partner-logo { width: 100%; height: 150px; display: flex; align-items: center; justify-content: center; margin-bottom: auto; padding: 16px 20px; background: #fff; }
.partner-logo img { width: 100%; height: 100%; object-fit: contain; }
.partner-logo-union img { max-width: 320px; }
.partner-logo-brixia img { max-width: 180px; }
.partner-logo-rugby img { max-width: 150px; }
.community-grid .partner-card > span { margin-top: 38px; }

@media (max-width: 900px) {
  .work-block { grid-template-columns: 1fr; }
  .motor-gallery { min-height: 760px; }
  .cable-photo { min-height: 620px; }
  .cables-block .cable-photo { order: 2; }
  .copper-heading { grid-template-columns: 1fr; }
  .copper-heading .eyebrow { margin-bottom: 0; }
  .copper-card { min-height: 520px; }
  .operations { grid-template-columns: 1fr 1fr; }
  .operations-wide { grid-column: 1 / -1; }
  .future-heading { grid-template-columns: 1fr; gap: 20px; }
  .future-copy { padding-top: 0; }
  .future-grid { grid-template-columns: 1fr; }
  .future-grid article { min-height: 250px; }
  .location { grid-template-columns: 1fr; }
  .map-wrap, .map-wrap iframe { min-height: 520px; }
  .compliance-list > div { grid-template-columns: 50px 1fr; }
  .doc-links { grid-column: 2; }
  .doc-link { grid-column: 2; width: max-content; }
  .specialty-lead { grid-template-columns: 1fr; gap: 20px; }
  .specialty-copy { padding-top: 0; }
  .rail-feature { grid-template-columns: 1fr; }
  .rail-hero { min-height: 640px; }
  .rail-photo-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(320px,60vw); }
  .gallery-heading { grid-template-columns: 1fr; gap: 18px; }
  .gallery-grid { grid-template-columns: repeat(2,1fr); }
  .community-heading { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 560px) {
  .copper-block { grid-template-columns: 1fr; }
  .motor-gallery { min-height: 620px; }
  .photo { min-height: 240px; }
  .photo-tall { grid-row: auto; grid-column: 1 / -1; }
  .photo-wide { display: block; grid-column: 1 / -1; }
  .copper-heading { grid-column: auto; }
  .copper-card { min-height: 430px; }
  .operations { grid-template-columns: 1fr; }
  .operations-wide { grid-column: auto; }
  .operations article { min-height: 0; }
  .operations article > span { margin-bottom: 38px; }
  .location-actions { flex-direction: column; align-items: stretch; }
  .location-actions .button { justify-content: center; }
  .map-wrap, .map-wrap iframe { min-height: 420px; }
  .rail-hero { min-height: 520px; }
  .rail-copy { padding: 64px 24px 72px; }
  .rail-photo-grid { grid-template-columns: 1fr; grid-auto-rows: minmax(360px,125vw); }
  .rail-photo-wide { grid-column: auto; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-image { aspect-ratio: 4 / 5; }
  .community-grid { grid-template-columns: 1fr; }
  .community-grid article { min-height: 290px; }
  .community-grid .partner-card { min-height: 390px; }
  .partner-logo { height: 135px; }
}

/* Static XAMPP build helpers */
.hero-image, .photo img, .rail-hero img, .rail-photo img, .gallery-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
svg.icon { vertical-align: middle; }
