:root{
  --bg:#071118;--bg2:#0b1820;--panel:#0f202a;--text:#f5f7f8;--muted:#b8c0c5;--line:#243640;--accent:#f4c316;--max:1380px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,13,18,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar{min-height:78px;display:flex;align-items:center;gap:22px}.brand{width:255px;flex:0 0 auto}.brand img{width:100%;height:74px;object-fit:contain}.topbar-info{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14px;color:#dfe4e7}.topbar-info a{font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--accent);color:#081016}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-emergency{background:#c9342f;color:#fff;border-color:#e75b55;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}.btn-emergency:hover{background:#e0443e;transform:translateY(-1px)}.btn-ghost{border-color:#94a1a8;color:white;background:rgba(0,0,0,.2)}.btn-ghost:hover{border-color:white}.header-book{min-width:150px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:28px}.nav{border-top:1px solid #172730}.nav-inner{height:48px;display:flex;align-items:center;justify-content:flex-end;gap:30px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.nav a:hover{color:var(--accent)}
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/hero.jpg') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,10,.96) 0%,rgba(2,7,10,.78) 35%,rgba(2,7,10,.2) 72%,rgba(2,7,10,.05) 100%),linear-gradient(0deg,rgba(2,7,10,.45),transparent 45%)}.hero-content{position:relative;z-index:2;padding:72px 0 92px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:900;color:var(--accent)}.hero h1{font-size:clamp(48px,6vw,84px);line-height:.92;margin:0 0 24px;max-width:760px;text-transform:uppercase;letter-spacing:-.04em}.hero h1 span{color:var(--accent)}.hero-copy{max-width:650px;font-size:21px;color:#e2e7e9;margin:0 0 26px}.hero-points{display:flex;flex-wrap:wrap;gap:12px 26px;max-width:730px;margin-bottom:30px;font-size:14px;font-weight:800;text-transform:uppercase}.hero-points span{padding-left:16px;position:relative}.hero-points span:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:var(--accent)}.hero-actions{display:flex;gap:12px}.hero-caption{position:absolute;z-index:2;right:24px;bottom:24px;background:rgba(2,8,11,.82);border-left:4px solid var(--accent);padding:12px 16px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0}.audience-card{position:relative;min-height:260px;overflow:hidden;border:1px solid var(--line);background:#0a1115}.audience-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s}.audience-card:hover img{transform:scale(1.035)}.card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,8,12,.98),rgba(3,8,12,.05) 68%)}.card-content{position:absolute;left:22px;right:22px;bottom:18px}.card-content h2{font-size:24px;margin:0 0 4px;text-transform:uppercase}.card-content p{margin:0;color:#d0d6d9}
.services{padding:90px 0;background:var(--bg2);border-top:1px solid var(--line)}.section-heading{max-width:920px;margin-bottom:38px}.section-heading h2,.split-copy h2,.capability-grid h2,.contact h2{font-size:clamp(32px,4vw,54px);line-height:1.04;margin:0 0 16px;letter-spacing:-.03em}.section-heading>p:last-child,.split-copy>p,.capability-grid p,.contact p{color:var(--muted);font-size:18px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{background:#0b171e;padding:28px}.service-grid article span{color:var(--accent);font-weight:900}.service-grid h3{font-size:22px;margin:8px 0 8px}.service-grid p{margin:0;color:var(--muted)}
.fleet-feature{padding:92px 0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.split-media img{width:100%;aspect-ratio:1.1/1;object-fit:cover;border:1px solid var(--line)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.stat-grid div{border:1px solid var(--line);background:var(--panel);padding:20px}.stat-grid strong{display:block;color:var(--accent);font-size:28px}.stat-grid span{display:block;color:#dbe1e4}.callout{border-left:4px solid var(--accent);padding-left:16px;color:white!important;font-weight:800}.capabilities{padding:80px 0;background:#061017;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.capability-grid article{padding:30px;border:1px solid var(--line);background:linear-gradient(180deg,#0c1b24,#08141b)}.capability-grid h2{font-size:30px}.gallery{padding:86px 0}.compact{margin-bottom:24px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}.gallery-grid img{width:100%;height:360px;object-fit:cover;border:1px solid var(--line)}.contact{padding:90px 0;background:#0c1a23}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.contact dl{margin:0;border-top:1px solid var(--line)}.contact dl div{display:grid;grid-template-columns:140px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.contact dt{font-weight:900;text-transform:uppercase;color:var(--accent)}.contact dd{margin:0;color:#d9dfe2}.footer{border-top:1px solid var(--line);padding:22px 0}.footer-inner{display:flex;align-items:center;gap:24px;color:#aeb8be;font-size:13px}.footer img{width:150px}.footer p{margin:0;flex:1;text-transform:uppercase;letter-spacing:.08em}.footer a{font-weight:800;color:white}
@media(max-width:1100px){.topbar-info span:nth-child(2),.topbar-info span:nth-child(3){display:none}.audience-grid{grid-template-columns:repeat(2,1fr)}.capability-grid{grid-template-columns:1fr}.nav-inner{gap:18px;font-size:12px}}
@media(max-width:780px){.container{width:min(100% - 28px,var(--max))}.site-header{position:relative}.topbar{min-height:72px}.brand{width:190px}.brand img{height:64px}.topbar-info{display:none}.header-book{margin-left:auto;min-width:auto;padding:0 14px}.menu-toggle{display:block}.nav{display:none}.nav.open{display:block}.nav-inner{height:auto;flex-direction:column;align-items:flex-start;padding:16px 0;gap:0}.nav-inner a{width:100%;padding:12px 0;border-bottom:1px solid var(--line)}.hero{min-height:680px}.hero-shade{background:linear-gradient(90deg,rgba(2,7,10,.95),rgba(2,7,10,.68)),linear-gradient(0deg,rgba(2,7,10,.55),transparent)}.hero-content{padding:62px 0 100px}.hero-copy{font-size:18px}.hero-caption{display:none}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:230px}.service-grid{grid-template-columns:1fr}.split,.contact-grid{grid-template-columns:1fr}.split-media img{aspect-ratio:16/10}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.footer-inner{align-items:flex-start;flex-wrap:wrap}.footer p{flex-basis:100%;order:3}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.header-book{display:none}.brand{width:180px}.hero h1{font-size:46px}.stat-grid{grid-template-columns:1fr}.contact dl div{grid-template-columns:1fr;gap:5px}}

/* Fuel emergency header button */
.header-emergency{margin-left:0;min-width:225px;min-height:58px;padding:7px 14px;flex-direction:column;line-height:1.08;text-align:center;border-radius:4px}
.header-emergency .emergency-main-text{font-size:14px}.header-emergency .emergency-sub-text{font-size:10px;margin-top:5px;letter-spacing:.08em;opacity:.92}
@media(min-width:1101px){.topbar{gap:16px}.topbar-info{margin-left:0;flex:1;justify-content:space-between;gap:14px;white-space:nowrap;font-size:13px}.header-book{min-width:140px;padding-left:16px;padding-right:16px}}
@media(max-width:1100px){.header-emergency{min-width:205px}.topbar-info{margin-left:0}}
@media(max-width:780px){.topbar{flex-wrap:wrap;padding-top:5px;padding-bottom:7px}.brand{order:1}.header-book{order:1;margin-left:auto}.menu-toggle{order:2}.header-emergency{order:3;width:100%;margin:0;min-height:46px}.header-emergency .emergency-main-text{font-size:14px}.header-emergency .emergency-sub-text{font-size:9px}}
@media(max-width:470px){.header-emergency{display:flex}.header-book{display:none}}
/* Four images in the facility gallery, including the supplied dyno photo */
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.gallery-grid img{height:420px}
@media(max-width:780px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:280px}}

/* Anchor offsets for sticky site header */
#services,#fleet,#pickups,#european,#performance,#about,#contact{scroll-margin-top:145px}
@media(max-width:780px){#services,#fleet,#pickups,#european,#performance,#about,#contact{scroll-margin-top:18px}}

/* Navigation targets inside the capability section */
#pickups,#european{scroll-margin-top:150px}

/* Performance & tuning vendor section */
.tuning-feature{padding:86px 0;background:#0b1820;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tuning-heading{max-width:900px;margin-bottom:34px}
.tuning-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.tuning-logo-card{min-height:250px;padding:30px;display:flex;align-items:center;justify-content:center;background:#071118;border:1px solid var(--line)}
.tuning-logo-card img{width:100%;height:180px;object-fit:contain}
.tuning-logo-card:first-child img{max-width:430px}
.tuning-logo-card:last-child img{max-width:460px}
.performance-card{cursor:pointer}
#tuning{scroll-margin-top:145px}
@media(max-width:780px){.tuning-feature{padding:64px 0}.tuning-logos{grid-template-columns:1fr}.tuning-logo-card{min-height:200px;padding:22px}.tuning-logo-card img{height:150px}#tuning{scroll-margin-top:18px}}

/* Fleet section photo gallery */
.fleet-media-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.fleet-media-gallery img{width:100%;height:100%;min-height:420px;object-fit:cover}
@media(max-width:900px){.fleet-media-gallery{grid-template-columns:1fr}.fleet-media-gallery img{min-height:280px;max-height:420px}}

/* Five specialty cards including in-house injector testing */
@media(min-width:1101px){.audience-grid{grid-template-columns:repeat(5,1fr)}.audience-card{min-height:245px}.card-content h2{font-size:21px}}
.injector-card img{object-fit:contain;background:#f4f4f4;padding:10px}

/* SEO landing pages: compact, readable service content */
.seo-page { padding: 72px 0; background: #0b151c; }
.seo-page .seo-copy { max-width: 900px; }
.seo-page h2 { margin: 0 0 16px; }
.seo-page p { line-height: 1.7; }
.seo-page .service-grid { margin-top: 28px; }
.seo-page .service-grid article { padding: 24px; }
/* Clickable specialty cards */
a.audience-card{display:block;color:inherit;text-decoration:none;cursor:pointer}a.audience-card:focus-visible{outline:2px solid #20a9ff;outline-offset:3px}

/* Emissions overview card: show the complete wide infographic inside the tile */
.emissions-card img{object-fit:contain;background:#05090c;padding:0}
.emissions-card .card-overlay{background:linear-gradient(0deg,rgba(3,8,12,.92),rgba(3,8,12,0) 52%)}

/* Entire emissions service tile is clickable */
a.service-card-link{display:block;color:inherit;text-decoration:none}
a.service-card-link:hover{border-color:rgba(32,169,255,.55)}
a.service-card-link:focus-visible{outline:2px solid #20a9ff;outline-offset:3px}

/* Performance & Tuning overview card: fit the complete wide artwork inside the index tile */
.performance-card img{object-fit:contain;background:#05090c;object-position:center top}
.performance-card .card-overlay{background:linear-gradient(0deg,rgba(3,8,12,.94),rgba(3,8,12,0) 48%)}

.performance-card .card-content{left:0;right:0;bottom:0;padding:14px 18px 16px;background:linear-gradient(0deg,rgba(3,8,12,1) 0%,rgba(3,8,12,.96) 78%,rgba(3,8,12,0) 100%)}
.performance-card .card-content h2{margin-top:8px}

/* Emissions category: preserve the complete supplied artwork above the restored title */
.emissions-card img{object-fit:contain;object-position:center top;background:#05090c;height:calc(100% - 70px);bottom:auto}
.emissions-card .card-overlay{background:linear-gradient(0deg,rgba(3,8,12,1) 0%,rgba(3,8,12,.88) 27%,rgba(3,8,12,0) 48%)}
.emissions-card .card-content{left:0;right:0;bottom:0;padding:12px 18px 14px;background:#05090c}
.emissions-card .card-content h2{margin:0 0 3px}
.emissions-card .card-content p{font-size:13px}

/* Emissions landing page: infographic is never cropped or covered by page text */
.emissions-landing-visual{width:100%;background:#02070a;line-height:0;overflow:hidden}
.emissions-landing-visual img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;margin:0 auto}
.emissions-landing-intro{background:#071017;padding:42px 0 48px;border-top:1px solid var(--line)}
.emissions-landing-intro h1{font-size:clamp(38px,5vw,68px);line-height:1;margin:0 0 18px;text-transform:uppercase;letter-spacing:-.035em;max-width:950px}
.emissions-landing-intro h1 span{color:var(--accent)}
.emissions-landing-intro p:not(.eyebrow){max-width:820px;font-size:19px;color:#e2e7e9;margin:0 0 24px}
@media(max-width:780px){.emissions-landing-intro{padding:30px 0 36px}.emissions-landing-intro p:not(.eyebrow){font-size:17px}}

/* Emissions landing hero: place the SEO heading in the open upper-left of the infographic */
.emissions-landing-visual{position:relative;overflow:hidden;background:#02070a;line-height:0}
.emissions-landing-visual img{display:block;width:100%;height:auto;margin:0;object-fit:contain;object-position:center top}
.emissions-landing-intro{position:absolute;z-index:3;top:clamp(115px,8vw,165px);left:max(28px,calc((100vw - var(--max))/2));width:min(44vw,760px);padding:0;background:transparent;border:0;line-height:1.35;pointer-events:none}
.emissions-landing-intro .container{width:100%;max-width:none;margin:0;padding:0}
.emissions-landing-intro .eyebrow{font-size:clamp(11px,.8vw,14px);margin-bottom:8px}
.emissions-landing-intro h1{font-size:clamp(28px,3.25vw,58px);line-height:.96;margin:0 0 14px;max-width:760px;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.emissions-landing-intro p:not(.eyebrow){max-width:700px;font-size:clamp(13px,1.05vw,18px);line-height:1.45;margin:0 0 18px;color:#e8edef;text-shadow:0 2px 8px rgba(0,0,0,.9)}
.emissions-landing-intro .hero-actions{pointer-events:auto;flex-direction:row;align-items:center}
.emissions-landing-intro .btn{width:auto}
@media(max-width:1000px){.emissions-landing-intro{top:105px;left:24px;width:48vw}.emissions-landing-intro h1{font-size:clamp(26px,3.3vw,42px)}.emissions-landing-intro p:not(.eyebrow){font-size:13px}.emissions-landing-intro .btn{padding:0 15px;font-size:12px}}
@media(max-width:780px){.emissions-landing-visual{overflow:visible}.emissions-landing-intro{position:relative;top:auto;left:auto;width:100%;padding:30px 0 36px;background:#071017;line-height:1.35}.emissions-landing-intro .container{width:min(100% - 28px,var(--max));margin:0 auto}.emissions-landing-intro h1{font-size:40px}.emissions-landing-intro p:not(.eyebrow){font-size:17px}.emissions-landing-intro .hero-actions{flex-direction:column;align-items:stretch}.emissions-landing-intro .btn{width:100%}}

/* Emissions SEO hero: match the visual scale of the other landing-page heroes on desktop. */
@media(min-width:781px){
  .emissions-landing-visual{
    width:min(100%,1500px);
    margin:0 auto;
  }
  .emissions-landing-visual img{
    width:100%;
    height:auto;
  }
  .emissions-landing-intro{
    top:clamp(72px,5.5vw,105px);
    left:clamp(34px,5vw,76px);
    width:min(47%,700px);
  }
  .emissions-landing-intro h1{
    font-size:clamp(27px,2.65vw,48px);
  }
  .emissions-landing-intro p:not(.eyebrow){
    font-size:clamp(13px,.9vw,16px);
    max-width:650px;
  }
  .emissions-landing-intro .btn{
    min-height:44px;
    padding:0 18px;
  }
}

/* Emissions landing hero: keep the CTA block clear of the illustrated components. */
@media(min-width:781px){
  .emissions-landing-intro{
    top:clamp(26px,2.6vw,48px);
  }
}

/* Final emissions hero positioning: raise copy and lower artwork slightly on desktop. */
@media(min-width:781px){
  .emissions-landing-intro{
    top:clamp(12px,1.35vw,24px);
  }
  .emissions-landing-visual img{
    transform:translateY(18px);
  }
}

/* Technical Articles index card: keep image title-free and fit artwork inside category tile */
#technical-articles-overview img{object-fit:contain;object-position:center top;background:#05090c;height:calc(100% - 70px);bottom:auto}
#technical-articles-overview .card-overlay{background:linear-gradient(0deg,rgba(3,8,12,1) 0%,rgba(3,8,12,.88) 27%,rgba(3,8,12,0) 48%)}
#technical-articles-overview .card-content{left:0;right:0;bottom:0;padding:12px 18px 14px;background:#05090c}
#technical-articles-overview .card-content h2{margin:0 0 3px}
#technical-articles-overview .card-content p{font-size:13px}

/* Technical Articles card: show the complete source image, including its bottom edge. */
#technical-articles-overview img{
  width:100%;
  height:auto;
  max-height:calc(100% - 72px);
  object-fit:contain;
  object-position:center center;
  top:0;
  left:0;
  right:0;
  bottom:auto;
  background:#05090c;
}
#technical-articles-overview:hover img{transform:none}

/* Technical Articles: give the photo enough width to show the complete workbench scene. */
@media(min-width:1101px){
  #technical-articles-overview{
    grid-column:span 2;
  }
  #technical-articles-overview img{
    width:100%;
    height:calc(100% - 72px);
    max-height:none;
    object-fit:contain;
    object-position:center center;
    background:#05090c;
  }
}
@media(min-width:781px) and (max-width:1100px){
  #technical-articles-overview{
    grid-column:span 2;
  }
}

/* Technical Articles card final sizing: standard category width, full uncropped image, no empty image area. */
#technical-articles-overview{
  grid-column:span 1 !important;
  min-height:0;
  display:flex;
  flex-direction:column;
}
#technical-articles-overview img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  flex:0 0 auto;
  background:#05090c;
}
#technical-articles-overview .card-overlay{display:none}
#technical-articles-overview .card-content{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  padding:12px 18px 14px;
  background:#05090c;
  flex:1 0 auto;
}
@media(min-width:781px) and (max-width:1100px){
  #technical-articles-overview{grid-column:span 1 !important}
}


/* Click-through cues for homepage specialty cards */
.card-cta{display:inline-block;margin-top:9px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;border-bottom:2px solid currentColor;padding-bottom:2px}
.audience-card:hover .card-cta{transform:translateX(3px)}
.card-cta{transition:transform .2s ease}
