.vmk24-hero {
  position: relative;
  display: grid;
  min-height: clamp(680px, 78vh, 760px);
  align-items: center;
  overflow: hidden;
  background: var(--vmk-ink);
  color: var(--vmk-white);
}

.vmk24-hero::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 18, 0.94) 0%, rgba(5, 12, 18, 0.78) 42%, rgba(5, 12, 18, 0.14) 76%);
  content: "";
  pointer-events: none;
}

.vmk24-hero__media { position:absolute; inset:0; width:100%; height:100%; }

.hero-content {
  position: relative;
  z-index: 2;
  padding-block: 84px 96px;
}

.hero-copy {
  max-width: 780px;
}

.hero-copy h1 {
  font-size: var(--vmk-type-display);
  max-width: 760px;
  margin-bottom: 24px;
  text-wrap: balance;
}

.hero-copy h1 span {
  display: block;
  color: var(--vmk-green);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.trust-section {
  position: relative;
  z-index: 3;
  background: var(--vmk-white);
  box-shadow: none;
}

.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.trust-item {
  display: grid;
  min-height: 112px;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-right: 1px solid var(--vmk-line);
}

.trust-item:last-child {
  border-right: 0;
}

.trust-icon,
.service-icon,
.process-icon {
  display: grid;
  place-items: center;
  color: var(--vmk-green);
}

.trust-icon svg,
.service-icon svg,
.process-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.trust-item strong,
.trust-item small {
  display: block;
}

.quick-actions { display: grid; }
.quick-action-icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--vmk-line); border-radius: 50%; color: var(--vmk-green-strong); transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease; }
.quick-action-arrow { color: var(--vmk-green-strong); transition: transform 180ms ease; }

.trust-item strong {
  font-size: 0.88rem;
  line-height: 1.3;
}

.trust-item small {
  margin-top: 4px;
  color: var(--vmk-muted);
  font-size: 0.73rem;
  line-height: 1.4;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px;
}

.service-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--vmk-line);
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.service-card:hover,
.service-card:focus-within {
  border-color: rgba(46, 164, 79, .7);
  box-shadow: none;
  transform: translateY(-3px);
}

.service-card {
  grid-column: span 2;
}

.service-card:nth-child(4),
.service-card:nth-child(5) {
  grid-column: span 2;
}

.service-card-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--vmk-navy);
}

.service-card-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(5, 12, 18, 0.58));
  content: "";
}

.service-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.service-card:hover img,
.service-card:focus-within img {
  transform: scale(1.03);
}

.service-card-number {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 12px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--vmk-display);
  font-size: 1.05rem;
  font-weight: 800;
}

.service-card-body {
  position: relative;
  padding: 30px 28px 28px;
}

.service-icon {
  position: absolute;
  top: -25px;
  left: 26px;
  width: 50px;
  height: 50px;
  border: 5px solid var(--vmk-white);
  border-radius: 50%;
  background: var(--vmk-green);
  color: var(--vmk-white);
}

.service-icon svg {
  width: 21px;
  height: 21px;
}

.service-card h3 {
  margin-top: 12px;
}

.service-card p {
  color: var(--vmk-muted);
  font-size: 0.94rem;
}

.b2b-section {
  overflow: hidden;
  background: var(--vmk-ink);
  color: var(--vmk-white);
}

.photo-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
}

.photo-split-copy {
  display: flex;
  min-height: 600px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(60px, 7vw, 104px) clamp(36px, 6vw, 92px) clamp(60px, 7vw, 104px) max(var(--vmk-gutter), calc((100vw - var(--vmk-container)) / 2));
}

.photo-split-copy p {
  max-width: 560px;
  color: #b9c5cc;
}

.b2b-confidence {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 26px 0 32px;
  padding: 1px;
  background: rgba(255, 255, 255, .12);
  list-style: none;
}

.b2b-confidence li {
  display: flex;
  min-height: 76px;
  align-items: center;
  gap: 13px;
  padding: 16px;
  background: var(--vmk-ink);
  color: #d8e1e5;
  font-size: .78rem;
  font-weight: 700;
}

.b2b-confidence .vmk-icon { color: var(--vmk-green); }

.photo-split-media {
  min-height: 600px;
}

.photo-split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fleet-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  align-items: stretch;
}

.fleet-photo {
  position: relative;
  min-height: 560px;
  margin: 0;
}

.fleet-photo figcaption {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: flex;
  max-width: 440px;
  align-items: center;
  gap: 13px;
  padding: 15px 18px;
  border-left: 3px solid var(--vmk-green);
  background: rgba(7, 16, 24, .88);
  color: var(--vmk-white);
  font-size: .75rem;
  backdrop-filter: blur(8px);
}

.fleet-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--vmk-object-position, 50% 50%);
}

.fleet-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(42px, 5vw, 72px);
  background: var(--vmk-navy);
  color: var(--vmk-white);
}

.fleet-panel p {
  color: #bec9cf;
}

.fleet-facts {
  width: 100%;
  margin: 24px 0 0;
}

.fleet-fact {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.fleet-capabilities {
  display: grid;
  width: 100%;
  gap: 0;
  margin: 24px 0 30px;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  list-style: none;
}

.fleet-capabilities li { display: flex; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .13); color: #d2dce1; font-size: .78rem; font-weight: 700; }
.fleet-capabilities .vmk-icon { color: var(--vmk-green); }

.area-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.65fr);
  align-items: center;
  gap: clamp(38px, 7vw, 90px);
}

.area-media {
  position: relative;
}

.area-media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--vmk-radius-lg);
  object-fit: cover;
}

.area-badge {
  position: absolute;
  right: -18px;
  bottom: -20px;
  width: 150px;
  padding: 24px;
  border-radius: var(--vmk-radius);
  background: var(--vmk-green);
  color: var(--vmk-white);
  box-shadow: none;
}

.area-badge strong,
.area-badge span {
  display: block;
}

.area-badge strong {
  font-family: var(--vmk-display);
  font-size: 1.55rem;
}

.area-badge span {
  font-size: 0.76rem;
}

.location-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 26px 0 0;
  border: 1px solid var(--vmk-line);
  background: var(--vmk-line);
  padding: 0;
  list-style: none;
}

.location-list li {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  padding: 14px 12px;
  background: var(--vmk-white);
  font-size: 0.78rem;
  font-weight: 700;
}

.location-list .vmk-icon { color: var(--vmk-green-strong); }
.location-list span, .location-list small { display: block; }
.location-list small { color: var(--vmk-muted); font-size: .58rem; letter-spacing: .08em; }

.process-route {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 52px;
}

.process-route::before {
  position: absolute;
  top: 31px;
  right: 8%;
  left: 8%;
  height: 1px;
  background: #32434f;
  content: "";
}

.process-route::after {
  position: absolute;
  z-index: 0;
  top: 31px;
  right: 8%;
  left: 8%;
  height: 2px;
  background: var(--vmk-green);
  content: "";
  transform: scaleX(1);
  transform-origin: left;
}

.vmk24-motion-ready .process-route::after { transform: scaleX(0); transition: transform 900ms cubic-bezier(.2, .75, .25, 1) 140ms; }
.vmk24-motion-ready .process-route.is-visible::after { transform: scaleX(1); }

.process-step {
  position: relative;
  text-align: center;
}

.process-icon {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  margin: 0 auto 22px;
  border: 1px solid #3a4d5a;
  border-radius: 50%;
  background: var(--vmk-navy);
  color: #8da0aa;
  transition: border-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

.process-route.is-visible .process-icon { border-color: rgba(46, 164, 79, .7); color: var(--vmk-green); box-shadow: 0 0 0 5px rgba(46, 164, 79, .08); }
.process-step .process-icon { display: grid; }

.process-step strong,
.process-step span {
  display: block;
}

.process-step strong {
  margin-bottom: 7px;
  font-family: var(--vmk-display);
  font-size: 1.18rem;
}

.process-step span {
  color: #9fb0ba;
  font-size: 0.86rem;
}

.credibility-section { overflow:hidden; padding-block:clamp(76px,8vw,108px); background:#f6f5f1; }
.credibility-intro { max-width:720px; margin-bottom:clamp(36px,4.5vw,56px); }
.credibility-intro h2 { max-width:700px; }
.credibility-intro > p:last-child { max-width:680px; color:var(--vmk-muted); font-size:1.05rem; line-height:1.75; }
.credibility-composition { display:grid; min-height:520px; grid-template-columns:minmax(0,3fr) minmax(340px,2fr); border-top:1px solid var(--vmk-line); border-bottom:1px solid var(--vmk-line); background:var(--vmk-app-surface); }
.credibility-media { min-width:0; margin:0; overflow:hidden; }
.credibility-media img { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:var(--vmk-object-position,50% 50%); }
.credibility-rail { display:grid; grid-template-rows:repeat(3,1fr) auto; border-left:1px solid #cbd2ce; }
.credibility-rail article { display:flex; min-height:0; flex-direction:column; justify-content:center; padding:24px clamp(24px,3vw,38px); border-bottom:1px solid #d7dcd9; }
.credibility-rail__number { margin:0 0 9px; color:var(--vmk-green-strong); font-family:var(--vmk-display); font-size:.65rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.credibility-rail h3 { margin:0 0 7px; font-size:1rem; }
.credibility-rail article > p:last-child { max-width:370px; margin:0; color:var(--vmk-muted); font-size:.8rem; line-height:1.55; }
.credibility-rail__link { display:flex; min-height:58px; align-items:center; padding:15px clamp(24px,3vw,38px); background:#f0f2ee; }

.service-intro { padding-bottom: 38px; }
.services-catalog { padding-top: 0; }

/* Brand-confidence component refinement: approved architecture, stronger grouping. */
.vmk24-hero { background-position: center 50%; }
.vmk24-hero::after { position: absolute; z-index:2; inset: auto 0 0; height: 2px; background: linear-gradient(90deg,var(--vmk-green) 0 16%,rgba(255,255,255,.14) 16% 100%); content: ""; }
.hero-copy { max-width: 810px; }
.hero-copy h1 { max-width: 780px; letter-spacing: -.045em; }

.trust-section { padding-block: clamp(42px,5vw,68px); background: var(--vmk-app-surface); box-shadow: none; }
.quick-actions { position: relative; grid-template-columns:minmax(0,3fr) minmax(330px,2fr); margin-top: 0; margin-bottom:clamp(38px,4vw,58px); border:1px solid #cbd4d1; border-top:3px solid var(--vmk-green); background:var(--vmk-white); }
.quick-actions__primary { display:grid; min-height:336px; grid-template-columns:64px minmax(0,1fr) 28px; grid-template-rows:auto 1fr; align-items:center; gap:26px 24px; padding:clamp(38px,5vw,64px); border-right:1px solid rgba(255,255,255,.14); background:var(--vmk-navy); color:var(--vmk-white); transition:background-color 180ms ease; }
.quick-actions__primary .quick-action-number { grid-column:1/-1; align-self:start; color:#9babb3; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.quick-actions__primary .quick-action-icon { width:64px; height:64px; border-color:rgba(255,255,255,.26); color:var(--vmk-green); }
.quick-actions__primary .quick-action-copy strong { font-size:clamp(1.75rem,2.8vw,2.8rem); letter-spacing:-.025em; text-transform:none; }
.quick-actions__primary .quick-action-copy small { max-width:510px; margin-top:14px; color:#b5c1c7; font-size:.88rem; line-height:1.65; }
.quick-actions__primary .quick-action-arrow { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.24); color:var(--vmk-green); }
.quick-actions__primary:hover,.quick-actions__primary:focus-visible { background:#102632; }
.quick-actions__secondary { display:grid; grid-template-rows:repeat(3,1fr); }
.quick-actions__secondary > a { display:grid; min-height:110px; grid-template-columns:24px 40px minmax(0,1fr) 20px; align-items:center; gap:12px; padding:22px 24px; border-bottom:1px solid var(--vmk-line); transition:background-color 180ms ease,color 180ms ease; }
.quick-actions__secondary > a:last-child { border-bottom:0; }
.quick-actions__secondary > a:hover,.quick-actions__secondary > a:focus-visible { background:var(--vmk-technical); }
.quick-actions__secondary > a:hover .quick-action-icon,.quick-actions__secondary > a:focus-visible .quick-action-icon { border-color:var(--vmk-green); background:var(--vmk-green); color:var(--vmk-white); }
.quick-actions__secondary > a:hover .quick-action-arrow,.quick-actions__secondary > a:focus-visible .quick-action-arrow,.quick-actions__primary:hover .quick-action-arrow,.quick-actions__primary:focus-visible .quick-action-arrow { transform:translateX(4px); }
.quick-action-number { align-self:start; padding-top:3px; color:var(--vmk-muted); font-size:.62rem; font-weight:900; font-variant-numeric:tabular-nums; }
.quick-action-copy strong,.quick-action-copy small { display:block; }
.quick-action-copy strong { font-family:var(--vmk-display); font-size:.82rem; letter-spacing:.04em; line-height:1.2; text-transform:uppercase; }
.quick-action-copy small { margin-top:5px; color:var(--vmk-muted); font-size:.68rem; line-height:1.35; }
.trust-strip { position:relative; border:1px solid var(--vmk-line); border-top:3px solid var(--vmk-green); background:var(--vmk-technical); }
.trust-item { min-height:100px; grid-template-columns:34px 1fr; gap:13px; padding:20px 22px; }
.trust-icon { width:34px; height:34px; border:1px solid #bcc8c4; border-radius:0; background:transparent; }
.trust-icon svg { width:22px; height:22px; }
.trust-item strong { font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; }
.trust-item small { font-size:.68rem; }

.service-intro { overflow: hidden; padding-top: clamp(70px,7vw,98px); background: linear-gradient(180deg,#fff 0%,var(--vmk-paper) 100%); }
.services-catalog { padding-bottom: clamp(72px,8vw,104px); background: var(--vmk-paper); }
.services-grid { gap: 14px; }
.service-card { min-height: 350px; border-color: rgba(255,255,255,.16); border-radius: 2px; background: var(--vmk-navy); box-shadow: none; }
.service-card-media { position: absolute; inset: 0; aspect-ratio: auto; }
.service-card-media::after { background: linear-gradient(180deg,rgba(5,12,18,.08) 10%,rgba(5,12,18,.28) 44%,rgba(5,12,18,.97) 100%); }
.service-card-number { top: 22px; right: 22px; bottom: auto; padding-bottom: 5px; border-bottom: 2px solid var(--vmk-green); font-size: .76rem; letter-spacing: .12em; }
.service-card-body { z-index: 2; display: flex; min-height: 350px; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 28px 26px 25px; color: var(--vmk-white); }
.service-icon { position: static; width: 40px; height: 40px; margin-bottom: 15px; border: 1px solid rgba(255,255,255,.35); border-radius: 2px; background: rgba(7,16,24,.68); color: var(--vmk-green); }
.service-card h3 { margin: 0 0 12px; }
.service-card p { min-height: 0; margin: 0 0 17px; color: #c8d2d7; font-size:.88rem; line-height:1.55; }
.service-card .text-link { color: #fff; }
.service-card:hover,.service-card:focus-within { box-shadow:none; transform:translateY(-3px); }

.b2b-section { border-top: 3px solid var(--vmk-green); }
.photo-split-copy { background: linear-gradient(145deg,#071018,#0d202d); }
.b2b-confidence { border: 1px solid rgba(255,255,255,.12); background: transparent; }
.b2b-confidence li { background: rgba(255,255,255,.025); }

.operations-fleet { padding-top: clamp(88px,10vw,140px); background: linear-gradient(180deg,#eef2f2 0%,#fff 38%); }
.operations-group-intro { display: grid; max-width: 920px; grid-template-columns: minmax(0,1.15fr) minmax(260px,.55fr); align-items: end; gap: 50px; margin-bottom: clamp(52px,7vw,84px); padding-bottom: 34px; border-bottom: 1px solid var(--vmk-line); }
.operations-group-intro .eyebrow { grid-column: 1/-1; margin-bottom: -24px; }
.operations-group-intro h2, .operations-group-intro p { margin: 0; }
.operations-group-intro p:not(.eyebrow) { color: var(--vmk-muted); }
.fleet-layout { overflow: hidden; border: 1px solid #172b38; border-radius: 3px; box-shadow: none; }
.fleet-photo::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 52%,rgba(7,16,24,.54)); content: ""; pointer-events: none; }
.fleet-photo figcaption { z-index: 1; border-radius: 2px; }
.equipment-use { width: 100%; margin-top: 24px; }
.equipment-use > span { display: block; margin-bottom: 10px; color: #8fa1ab; font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.equipment-use ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.equipment-use li { padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); color: #d9e2e6; font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.operations-area { overflow: hidden; background: var(--vmk-technical); }
.area-media::before { position: absolute; z-index: 1; inset: 0; border-radius: var(--vmk-radius-lg); background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 48px 48px; content: ""; pointer-events: none; }
.area-media img { filter: saturate(.78) contrast(1.04); }
.location-list { position: relative; }
.location-list::before { position: absolute; top: 50%; right: 13%; left: 13%; height: 1px; background: #c6d0d4; content: ""; }
.location-list li { position: relative; z-index: 1; background: #eef2f2; }
.operations-process { overflow:hidden; padding-block:clamp(64px,7vw,90px); border-top:1px solid rgba(255,255,255,.11); background:linear-gradient(135deg,#071018,#10232e); }
.operations-process .section-heading { margin-bottom:0; }
.process-heading h2 { max-width:760px; }
.process-route { gap:0; margin-top:46px; padding-top:32px; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); }
.process-route::before,.process-route::after { top:63px; right:7%; left:7%; }
.process-route::after { height:3px; box-shadow:0 0 18px rgba(46,164,79,.28); }
.vmk24-motion-ready .process-route::after { transition-duration:1200ms; transition-timing-function:cubic-bezier(.2,.75,.25,1); }
.process-step { min-height:176px; padding:0 24px 26px; border-right:1px solid var(--vmk-line-dark); }
.process-step:last-child { border-right:0; }
.process-icon { width:62px; height:62px; margin-bottom:25px; border-radius:2px; background:#0b1a23; }
.process-step strong { max-width:230px; margin-inline:auto; letter-spacing:-.01em; text-transform:none; }
.process-step span:last-child { max-width:240px; margin:9px auto 0; line-height:1.55; }
.vmk24-motion-ready .process-step { opacity:.36; transform:translateY(10px); transition:opacity 380ms ease,transform 380ms ease; }
.vmk24-motion-ready .process-route.is-visible .process-step { opacity:1; transform:none; }
.vmk24-motion-ready .process-route.is-visible .process-step:nth-child(1) { transition-delay:0ms; }
.vmk24-motion-ready .process-route.is-visible .process-step:nth-child(2) { transition-delay:80ms; }
.vmk24-motion-ready .process-route.is-visible .process-step:nth-child(3) { transition-delay:160ms; }
.vmk24-motion-ready .process-route.is-visible .process-step:nth-child(4) { transition-delay:240ms; }
