:root {
  --black: #0b0c0e;
  --graphite: #15171a;
  --graphite-2: #1c1e22;
  --white: #f1f1ef;
  --muted: #96999e;
  --line: #303238;
  --grid: rgba(255,255,255,.055);
  --red: #e01b22;
  --display: "Barlow Condensed", Arial Narrow, sans-serif;
  --body: "Inter", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--white); background: var(--black); font-family: var(--body); font-size: 16px; line-height: 1.6; }
a { color: inherit; }
.site-header { position: sticky; top: 0; z-index: 20; min-height: 82px; display: flex; align-items: center; justify-content: space-between; padding: 0 4.5vw; border-bottom: 1px solid var(--line); background: rgba(11,12,14,.94); backdrop-filter: blur(15px); }
.brand { display: inline-flex; align-items: center; gap: 15px; text-decoration: none; }
.brand-name { display: grid; line-height: .84; }
.brand strong { font: 900 28px/1 var(--display); letter-spacing: .09em; }
.brand small { margin-top: 6px; color: var(--muted); font: 700 9px/1 var(--body); letter-spacing: .31em; }
.brand-logo { display:block; width:52px; height:52px; object-fit:contain; border-radius:50%; }
nav { display: flex; align-items: center; gap: 30px; }
nav a { text-decoration: none; color: #c4c5c7; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
nav a:hover { color: var(--white); }
.nav-cta { padding: 10px 15px; border: 1px solid #54575e; }
.menu-button { display: none; color: var(--white); background: transparent; border: 1px solid var(--line); padding: 8px 12px; font: 700 .72rem var(--body); text-transform:uppercase; letter-spacing:.1em; }
.hero { min-height: calc(100vh - 82px); position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.38fr) minmax(330px,.62fr); align-items: end; padding: 7vw 4.5vw 5vw; border-bottom: 1px solid var(--line); background-color:var(--black); }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; filter:brightness(.68) contrast(1.08); }
.hero-grid { position: absolute; inset: 0; opacity: 1; background-image:linear-gradient(90deg,rgba(6,7,8,.94) 0%,rgba(6,7,8,.7) 38%,rgba(6,7,8,.12) 72%,rgba(6,7,8,.28) 100%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; }
.hero::before { content:"ANTRIEB"; position:absolute; left:4vw; top:45%; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.055); font:900 clamp(9rem,22vw,24rem)/1 var(--display); letter-spacing:.03em; transform:translateY(-50%); }
.hero::after { content:""; position:absolute; top:0; left:4.5vw; width:3px; height:16vh; background:var(--red); }
.hero-copy,.hero-panel { position: relative; z-index: 1; }
.eyebrow,.section-tag { margin: 0 0 22px; color: var(--white); font: 700 .68rem/1 var(--body); text-transform: uppercase; letter-spacing: .18em; }
.eyebrow::before,.section-tag::before { content:""; display:inline-block; width:20px; height:2px; margin:0 10px 3px 0; background:var(--red); }
h1,h2,h3,p { margin-top: 0; }
h1 { max-width: 900px; margin-bottom: 27px; font: 900 clamp(4.7rem,10.5vw,10.5rem)/.76 var(--display); text-transform: uppercase; letter-spacing: .005em; }
h1 em { color: var(--red); font-style: normal; }
.hero-intro { max-width: 610px; color: #d4d4d2; font:600 clamp(1.05rem,1.45vw,1.28rem)/1.55 var(--body); text-transform:uppercase; letter-spacing:.035em; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:0 23px; border:0; text-decoration:none; font:700 .72rem var(--body); text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.button-primary { color:var(--white); background:var(--red); }
.button-primary:hover { background:#f02a31; }
.text-link { font:700 .75rem var(--body); text-transform:uppercase; letter-spacing:.08em; text-decoration:none; border-bottom:1px solid #63666b; padding-bottom:4px; }
.text-link span { color:var(--red); }
.hero-panel { justify-self:end; width:min(100%,405px); padding:28px; border:1px solid #3a3d42; background:rgba(21,23,26,.92); }
.panel-heading { display:flex; align-items:center; justify-content:space-between; min-height:54px; border-bottom:1px solid var(--line); }
.panel-index { margin:0; color:var(--red); font:700 .7rem var(--body); }.panel-label { margin:0; color:var(--white); font:700 .72rem var(--body); text-transform:uppercase; letter-spacing:.17em; }
.hero-panel ol { list-style:none; margin:22px 0 0; padding:0; }.hero-panel li { padding:15px 0; border-top:1px solid var(--line); font:700 1.2rem var(--display); text-transform:uppercase; letter-spacing:.055em; }.hero-panel li span { display:inline-block; width:42px; color:var(--red); font:700 .68rem var(--body); }
.statement { position:relative; isolation:isolate; overflow:hidden; padding:7vw 4.5vw; display:grid; grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr); align-items:center; gap:7vw; border-bottom:1px solid var(--line); background:var(--graphite); }
.statement::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(21,23,26,.98),rgba(21,23,26,.8)),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; }
.statement h2,.section-heading h2,.experience h2,.snapshot h2,.contact h2 { margin:0; font:800 clamp(2.8rem,5vw,5.3rem)/.91 var(--display); text-transform:uppercase; letter-spacing:.005em; }
.statement h2 span { color:#898c91; }
.statement-copy > p:last-child { max-width:560px; margin:38px 0 0; color:#b6b8bb; font-size:1.03rem; }
.statement-gallery { position:relative; min-height:610px; }
.statement-image { position:absolute; overflow:hidden; margin:0; border:1px solid #404349; background:#08090a; box-shadow:0 22px 55px rgba(0,0,0,.34); }
.statement-image-main { top:0; right:0; width:86%; height:82%; }
.statement-image-inset { left:0; bottom:0; width:43%; height:48%; border:7px solid var(--graphite); }
.statement-image img { width:100%; height:100%; display:block; object-fit:cover; filter:brightness(.92) contrast(1.04); transition:transform .55s ease; }
.statement-image-main img { object-position:51% center; }
.statement-image-inset img { object-position:center 43%; }
.statement-image:hover img { transform:scale(1.02); }
.statement-image figcaption { position:absolute; left:18px; bottom:16px; z-index:2; margin:0; color:#fff; font:700 .65rem/1 var(--body); text-transform:uppercase; letter-spacing:.13em; text-shadow:0 2px 10px #000; }
.statement-image::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.detail-strip { display:grid; grid-template-columns:1.08fr .96fr .96fr; min-height:500px; border-bottom:1px solid var(--line); background:#050607; }
.detail-card { position:relative; overflow:hidden; min-height:500px; margin:0; border-right:1px solid rgba(255,255,255,.16); }
.detail-card:last-child { border-right:0; }
.detail-card img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:brightness(.76) contrast(1.08); transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease; }
.detail-card-tall img { object-position:center 66%; }
.detail-card::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(5,6,7,.88),transparent 45%); pointer-events:none; }
.detail-card figcaption { position:absolute; z-index:2; left:25px; bottom:21px; margin:0; color:#e5e5e3; font:700 .76rem/1 var(--body); text-transform:uppercase; letter-spacing:.14em; }
.detail-card figcaption span { margin-right:12px; color:var(--red); }
.detail-card:hover img { transform:scale(1.025); filter:brightness(.9) contrast(1.08); }
.services { position:relative; isolation:isolate; overflow:hidden; padding:8vw 4.5vw; background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:64px 64px; }
.services::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(11,12,14,.93) 0%,rgba(11,12,14,.72) 44%,rgba(11,12,14,.18) 100%),linear-gradient(to bottom,rgba(11,12,14,.18),rgba(11,12,14,.62)),url("assets/media/background-services.webp") right 34%/cover no-repeat; opacity:.88; }
.section-heading { display:grid; grid-template-columns:.5fr 1.4fr; gap:5vw; max-width:1150px; margin-bottom:55px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-grid article { min-height:395px; display:flex; flex-direction:column; padding:28px 25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(14,15,17,.94); transition:.2s ease; }
.service-grid article:hover { transform:translateY(-4px); border-color:#686b71; background:var(--graphite); }
.service-number { color:var(--red); font:700 .65rem var(--body); letter-spacing:.13em; }.service-grid h3 { margin:56px 0 18px; font:800 2.15rem/.95 var(--display); text-transform:uppercase; letter-spacing:.02em; }.service-grid article > p:not(.service-number) { color:var(--muted); }.service-grid ul { margin:auto 0 0; padding:18px 0 0; list-style:none; border-top:1px solid var(--line); color:#c8c9ca; font-size:.78rem; }.service-grid li::before { content:"/"; color:var(--red); margin-right:9px; font-weight:800; }
.build-feature { position:relative; min-height:430px; margin:60px 0 0; overflow:hidden; border:1px solid var(--line); background:#08090b; }
.build-feature img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 53%; filter:brightness(.72) contrast(1.06); }
.build-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,6,7,.1),rgba(5,6,7,.05) 50%,rgba(5,6,7,.78)); }
.build-feature figcaption { position:absolute; z-index:2; right:38px; bottom:34px; display:grid; justify-items:end; }
.build-feature figcaption span { color:#c5c6c8; font:700 .68rem var(--body); text-transform:uppercase; letter-spacing:.16em; }
.build-feature figcaption strong { color:var(--white); font:800 clamp(2.4rem,4.8vw,5rem)/.95 var(--display); text-transform:uppercase; }
.systems { display:grid; grid-template-columns:.31fr .69fr; min-height:410px; border-block:1px solid var(--line); background:var(--graphite-2); }
.systems-title { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-start; gap:18px; padding:42px 4.5vw; border-right:1px solid var(--line); }.systems-title::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(to bottom,rgba(17,18,21,.25),rgba(17,18,21,.78)),url("assets/media/detail-exhaust.webp") center 61%/cover no-repeat; opacity:.9; }.systems-title span { color:var(--red); font:800 .75rem var(--body); }.systems-title p { margin:0; font:800 1.5rem/.95 var(--display); text-transform:uppercase; }
.systems-list { padding:28px; }
.systems-group { margin:0 0 12px; color:#b7b9bc; font:700 .66rem/1 var(--body); text-transform:uppercase; letter-spacing:.14em; }
.systems-group:not(:first-child) { margin-top:24px; }
.logo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.supplier-logo { min-width:0; height:128px; display:flex; align-items:center; justify-content:center; padding:20px 24px; border:1px solid #d7d7d5; background:#f5f5f3; }
.supplier-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.supplier-logo .logo-square { width:auto; max-width:100%; }
.supplier-logo .logo-wide { height:auto; max-height:64%; }
.experience { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); min-height:780px; padding:0; background:var(--white); color:#101114; border-bottom:1px solid var(--line); }.experience .section-tag { color:#17181a; }.experience-content { display:grid; grid-template-columns:1.05fr .85fr; gap:5vw; align-content:center; padding:7vw 4.5vw; }.experience-copy > p { max-width:620px; color:#55585c; font-size:1.08rem; }.disciplines { display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; }.disciplines span { padding:8px 11px; border:1px solid #b9bbbe; color:#3b3d40; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.experience-visual { min-height:780px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1.18fr .82fr; gap:2px; overflow:hidden; background:#0b0c0e; }
.experience-image { min-width:0; min-height:0; margin:0; overflow:hidden; }
.experience-image-main { grid-column:1/-1; }
.experience-image img { width:100%; height:100%; display:block; object-fit:cover; filter:brightness(.93) contrast(1.04); transition:transform .55s ease; }
.experience-image-main img { object-position:center 60%; }
.experience-image:nth-child(2) img { object-position:center 42%; }
.experience-image:nth-child(3) img { object-position:center 39%; }
.experience-image:hover img { transform:scale(1.025); }
.snapshot { position:relative; isolation:isolate; overflow:hidden; padding:7vw 4.5vw; display:grid; grid-template-columns:minmax(0,.78fr) minmax(480px,1.22fr); gap:7vw; align-items:center; border-bottom:1px solid var(--line); background:var(--black); }
.snapshot::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 16% 80%,rgba(224,27,34,.14),transparent 34%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; }
.snapshot-copy > p:not(.section-tag) { max-width:650px; margin:28px 0 34px; color:#c0c2c4; }
.snapshot-visual { position:relative; min-height:430px; margin:0; overflow:hidden; border:1px solid #414349; background:#050607; box-shadow:0 24px 60px rgba(0,0,0,.35); }
.snapshot-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.9) contrast(1.08); }
.snapshot-visual::after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.snapshot-visual figcaption { position:absolute; z-index:2; left:22px; right:22px; bottom:18px; display:flex; justify-content:space-between; color:#fff; font:700 .67rem/1 var(--body); text-transform:uppercase; letter-spacing:.13em; }
.snapshot-visual figcaption span { color:var(--red); }
.contact { position:relative; isolation:isolate; overflow:hidden; padding:8vw 4.5vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:64px 64px; }.contact::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(11,12,14,.6),rgba(11,12,14,.88) 62%),linear-gradient(to top,rgba(11,12,14,.8),rgba(11,12,14,.15)),url("assets/media/background-contact.webp") left 42%/cover no-repeat; opacity:.82; }.contact-intro > p:not(.section-tag) { max-width:520px; margin:28px 0; color:#c0c2c4; }.email-link { font:600 1.05rem var(--body); text-decoration-color:var(--red); text-underline-offset:5px; }
form { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:32px; border:1px solid var(--line); background:rgba(21,23,26,.97); }label { display:grid; gap:7px; color:#b8babd; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }label:nth-child(3),label:nth-child(4) { grid-column:1/-1; }input,textarea { width:100%; border:1px solid #3b3d42; border-radius:0; padding:13px 14px; color:var(--white); background:#0d0e10; font:500 1rem/1.4 var(--body); resize:vertical; }input:focus,textarea:focus { outline:2px solid var(--red); outline-offset:1px; }.form-note { grid-column:1/-1; margin:0; color:#777a7f; font-size:.7rem; }
footer { min-height:165px; padding:42px 4.5vw; display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid var(--line); color:#777a7f; font-size:.7rem; }.brand-footer { color:var(--white); }.brand-footer strong { font-size:21px; }
@media (max-width: 1100px) { .experience-content { grid-template-columns:1fr; gap:50px; } }
@media (max-width: 980px) { .hero { grid-template-columns:1fr; gap:60px; align-items:end; }.hero-media { object-position:58% center; }.hero-panel { justify-self:start; }.statement { grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr); gap:5vw; }.statement-gallery { min-height:540px; }.detail-strip { min-height:420px; }.detail-card { min-height:420px; }.service-grid { grid-template-columns:1fr 1fr; }.systems { grid-template-columns:1fr; }.systems-title { border-right:0; border-bottom:1px solid var(--line); }.experience { grid-template-columns:minmax(0,1fr) minmax(380px,.9fr); }.snapshot { grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr); gap:5vw; }.contact { gap:5vw; } }
@media (max-width: 720px) { .site-header { min-height:70px; }.menu-button { display:block; }nav { display:none; position:absolute; top:70px; left:0; right:0; padding:22px 4.5vw 28px; flex-direction:column; align-items:stretch; background:#0d0e10; border-bottom:1px solid var(--line); }nav.open { display:flex; }.brand strong { font-size:23px; }.brand-logo { width:44px; height:44px; }.hero { min-height:auto; padding-top:110px; padding-bottom:65px; }.hero-media { object-position:64% center; }.hero-grid { background-image:linear-gradient(to bottom,rgba(6,7,8,.72),rgba(6,7,8,.84)),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:auto,46px 46px,46px 46px; }.hero::before { top:32%; }.hero-panel { width:100%; }.hero-actions { align-items:flex-start; flex-direction:column; }.statement,.section-heading,.snapshot,.contact { grid-template-columns:1fr; }.statement,.services,.snapshot,.contact { padding-top:74px; padding-bottom:74px; }.statement { row-gap:42px; }.statement-gallery { min-height:0; display:grid; grid-template-columns:1fr; gap:12px; }.statement-image { position:relative; inset:auto; width:100%; height:auto; border-width:1px; box-shadow:none; }.statement-image-main { aspect-ratio:16/11; }.statement-image-inset { aspect-ratio:16/9; }.statement-image figcaption { left:16px; bottom:14px; }.detail-strip { grid-template-columns:1fr 1fr; min-height:0; }.detail-card { min-height:340px; }.detail-card:first-child { grid-column:1/-1; min-height:400px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }.build-feature { min-height:380px; margin-top:40px; }.build-feature img { object-position:40% center; }.build-feature figcaption { right:22px; bottom:22px; }.service-grid { grid-template-columns:1fr; }.service-grid article { min-height:330px; }.systems-list { padding:24px 4.5vw 32px; }.logo-grid { grid-template-columns:1fr 1fr; }.supplier-logo { height:112px; padding:18px; }.experience { grid-template-columns:1fr; min-height:0; }.experience-content { padding:74px 4.5vw; }.experience-visual { min-height:650px; grid-template-rows:1.05fr .95fr; }.snapshot-visual { min-height:320px; }form { grid-template-columns:1fr; padding:23px; }label,label:nth-child(3),label:nth-child(4) { grid-column:1; }footer { align-items:flex-start; flex-direction:column; }.contact { gap:52px; } }
@media (max-width: 420px) { .logo-grid { grid-template-columns:1fr; }.supplier-logo { height:118px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.service-grid article { transition:none; } }
