:root {
  --vusa-green: #00b982;
  --vusa-green-deep: #087a5b;
  --vusa-green-light: #b8f2d8;
  --vusa-ink: #061016;
  --vusa-ink-soft: #0d2521;
  --vusa-paper: #f7f7f4;
  --vusa-white: #ffffff;
  --vusa-soft: #eaf0ec;
  --vusa-text: #102722;
  --vusa-muted: #526560;
  --vusa-muted-dark: rgba(255, 255, 255, .72);
  --vusa-line: rgba(6, 16, 22, .14);
  --vusa-light-line: rgba(255, 255, 255, .18);
  --vusa-shell: min(1260px, calc(100% - clamp(32px, 8vw, 160px)));
  --vusa-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Shared brand marks */
.site-header .brand { min-width: 172px; }
.site-header .brand__image { max-width: 172px; max-height: 50px; }
.site-footer .footer-brand { max-width: 250px; }
.site-footer .footer-brand img { width: auto; max-width: 100%; max-height: 80px; }

.vi,
.vs-page {
  width: 100%;
  overflow: visible;
  background: var(--vusa-paper);
  color: var(--vusa-text);
  font-family: Inter, Arial, sans-serif;
}

.vi *,
.vs-page * { box-sizing: border-box; }

.elementor-element-vsroot04.e-con {
  padding: 0 !important;
}

.vi-shell,
.vs-shell { width: var(--vusa-shell); margin-inline: auto; }

.vi h1,
.vi h2,
.vi h3,
.vs-page h1,
.vs-page h2,
.vs-page h3 {
  margin-top: 0;
  font-family: Manrope, Inter, Arial, sans-serif;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.vi p,
.vs-page p {
  margin-top: 0;
  color: var(--vusa-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.vi figure,
.vs-page figure { margin: 0; }

.vi-kicker,
.vs-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vusa-green-deep);
  font: 700 10px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.vi-kicker::before,
.vs-kicker::before {
  width: 28px;
  height: 1px;
  background: currentColor;
  content: "";
}

.vi-actions,
.vs-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.vi-btn,
.vs-btn,
.vs-form button.vs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid var(--vusa-green);
  border-radius: 4px;
  background: var(--vusa-green);
  color: var(--vusa-ink) !important;
  font: 800 12px/1 Inter, Arial, sans-serif;
  letter-spacing: .03em;
  text-decoration: none;
  transition: transform .22s var(--vusa-ease), background .22s var(--vusa-ease), border-color .22s var(--vusa-ease);
}

.vi-btn:hover,
.vs-btn:hover,
.vs-form button.vs-btn:hover {
  border-color: var(--vusa-green-light);
  background: var(--vusa-green-light);
  transform: translateY(-2px);
}

.vi-text-link,
.vs-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 0 7px;
  border-bottom: 1px solid currentColor;
  color: var(--vusa-green-deep) !important;
  font: 800 12px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .025em;
  text-decoration: none;
  transition: color .2s var(--vusa-ease), gap .2s var(--vusa-ease);
}

.vi-text-link:hover,
.vs-text-link:hover { gap: 14px; color: var(--vusa-ink) !important; }

.vi-text-link--ink,
.vs-text-link--ink { color: var(--vusa-ink) !important; }

.vi-hero .vi-text-link,
.vi-capability .vi-text-link,
.vs-hero .vs-text-link,
.vs-section--ink .vs-text-link,
.vs-final .vs-text-link {
  color: #fff !important;
}

.vi-hero .vi-text-link:hover,
.vi-capability .vi-text-link:hover,
.vs-hero .vs-text-link:hover,
.vs-section--ink .vs-text-link:hover,
.vs-final .vs-text-link:hover { color: var(--vusa-green-light) !important; }

html.vusa-motion [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .68s var(--vusa-ease), transform .68s var(--vusa-ease);
  transition-delay: var(--vusa-reveal-delay, 0ms);
}

html.vusa-motion [data-reveal].is-visible { opacity: 1; transform: none; }

html.vusa-motion .vi-hero__copy > *,
html.vusa-motion .vs-hero__copy > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .62s var(--vusa-ease), transform .62s var(--vusa-ease);
}

html.vusa-motion .vi-hero__copy.is-visible > *,
html.vusa-motion .vs-hero__copy.is-visible > * { opacity: 1; transform: none; }
html.vusa-motion .vi-hero__copy.is-visible > :nth-child(2),
html.vusa-motion .vs-hero__copy.is-visible > :nth-child(2) { transition-delay: .07s; }
html.vusa-motion .vi-hero__copy.is-visible > :nth-child(3),
html.vusa-motion .vs-hero__copy.is-visible > :nth-child(3) { transition-delay: .14s; }
html.vusa-motion .vi-hero__copy.is-visible > :nth-child(4),
html.vusa-motion .vs-hero__copy.is-visible > :nth-child(4) { transition-delay: .21s; }

html.vusa-motion .vs-media[data-reveal],
html.vusa-motion .vi-proof__media[data-reveal] { transform: scale(1.025); }
html.vusa-motion .vs-media[data-reveal].is-visible,
html.vusa-motion .vi-proof__media[data-reveal].is-visible { transform: scale(1); }

html.vusa-motion .vs-split:not(.vs-split--reverse) .vs-copy[data-reveal],
html.vusa-motion .vi-proof__copy[data-reveal] { transform: translateX(-24px); }
html.vusa-motion .vs-split:not(.vs-split--reverse) .vs-media[data-reveal],
html.vusa-motion .vi-proof__media[data-reveal] { transform: translateX(24px) scale(1.025); }
html.vusa-motion .vs-split--reverse .vs-copy[data-reveal] { transform: translateX(24px); }
html.vusa-motion .vs-split--reverse .vs-media[data-reveal] { transform: translateX(-24px) scale(1.025); }
html.vusa-motion .vs-split .vs-copy[data-reveal].is-visible,
html.vusa-motion .vs-split .vs-media[data-reveal].is-visible,
html.vusa-motion .vi-proof__copy[data-reveal].is-visible,
html.vusa-motion .vi-proof__media[data-reveal].is-visible { transform: none; }

.vi-hero,
.vs-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--vusa-ink);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}

.vi-hero::before,
.vs-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(3, 13, 16, .56);
  content: "";
}

.vi-hero::after,
.vs-hero::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

.vi-hero {
  display: grid;
  min-height: 100svh;
  align-items: center;
  background-image: url('https://dotcom.africa/websites/vusaisizwe/vusa-redesign/wp-content/uploads/2026/08/vusa-isizwe-home-hero-desktop.webp');
  background-position: 60% center;
}

.vi-hero__copy {
  max-width: none;
  margin: 0;
  padding-block: 138px 74px;
  text-align: left;
}

.vi-hero .vi-kicker,
.vs-hero .vs-kicker,
.vi-capability .vi-kicker,
.vs-section--ink .vs-kicker,
.vs-final .vs-kicker { color: var(--vusa-green-light); }

.vi-hero h1 {
  max-width: min(820px, 74vw);
  margin: 20px 0 22px;
  color: #fff;
  font-size: clamp(3.45rem, 5.05vw, 5.1rem);
  font-weight: 700;
  line-height: .94;
}

.vi-hero__line { display: block; }
.vi-hero h1 span,
.vi-intro h2 span,
.vs-hero h1 span { color: var(--vusa-green); }
.vi-hero h1 .vi-hero__line { color: #fff; }
.vi-hero h1 em { color: var(--vusa-green); font-style: normal; }

.vi-hero p {
  max-width: 66ch;
  margin-inline: 0;
  margin-bottom: 32px;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  font-weight: 500;
  line-height: 1.55;
}

.vi-hero .vi-actions { justify-content: flex-start; }

.vi-intro { padding: clamp(72px, 8.5vw, 112px) 0; background: var(--vusa-paper); }

.vi-intro__grid {
  display: grid;
  grid-template-columns: minmax(180px, .68fr) minmax(0, 1.32fr);
  gap: clamp(48px, 10vw, 156px);
  align-items: start;
}

.vi-intro__marker { display: grid; gap: 24px; padding-top: 11px; }

.vi-intro__year {
  color: var(--vusa-ink);
  font: 700 clamp(2rem, 3.5vw, 3.65rem)/.95 Manrope, Inter, sans-serif;
  letter-spacing: -.065em;
}

.vi-intro__copy { max-width: 790px; }

.vi-intro h2,
.vi-section-head h2,
.vs-section h2,
.vs-section-head h2,
.vs-final h2 {
  margin: 17px 0 22px;
  color: var(--vusa-ink);
  font-size: clamp(2.45rem, 4.7vw, 5rem);
  font-weight: 700;
  line-height: .98;
}

.vi-intro p { max-width: 48ch; margin-bottom: 27px; }

.vi-operations { padding: clamp(72px, 8.5vw, 112px) 0; background: var(--vusa-soft); }

.vi-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .4fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: end;
  margin-bottom: 48px;
}

.vi-section-head > div { max-width: 760px; }
.vi-section-head > p { max-width: 34ch; margin: 0 0 5px; }

.vi-operations__layout {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--vusa-line);
  background: var(--vusa-paper);
  overflow: hidden;
}

.vi-operations__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: var(--vusa-paper);
  border-bottom: 1px solid var(--vusa-line);
}

.vi .vi-operation {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 94px;
  padding: 20px 22px;
  border: 0;
  border-right: 1px solid var(--vusa-line);
  background: transparent;
  color: var(--vusa-ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: background .24s var(--vusa-ease), color .24s var(--vusa-ease), padding .24s var(--vusa-ease);
}

.vi-operation__number {
  display: none;
}

.vi .vi-operation:last-child { border-right: 0; }
.vi .vi-operation:hover,
.vi .vi-operation.is-active { padding-left: 22px; background: var(--vusa-ink); color: #fff; }
.vi-operation > img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(33%) sepia(23%) saturate(1165%) hue-rotate(111deg) brightness(93%) contrast(94%);
}
.vi-operation.is-active > img { filter: brightness(0) invert(1); }
.vi-operation strong { font: 700 clamp(1.08rem, 1.5vw, 1.35rem)/1 Manrope, Inter, sans-serif; letter-spacing: -.045em; }

.vi-operation__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  min-height: 480px;
  align-items: stretch;
  background: var(--vusa-ink);
  color: #fff;
}

.vi-operation__stage figure { overflow: hidden; background: #132d27; }
.vi-operation__stage figure.is-changing img { opacity: .18; transform: scale(1.035); }
.vi-operation__stage figure img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; transition: opacity .22s var(--vusa-ease), transform .5s var(--vusa-ease); }
.vi-operation__stage-copy { display: grid; align-content: center; padding: clamp(34px, 5vw, 68px); }
.vi-operation__stage h3 { max-width: 12ch; margin: 18px 0; color: #fff; font-size: clamp(2.25rem, 3.55vw, 3.85rem); font-weight: 700; line-height: .96; }
.vi-operation__stage p { max-width: 31ch; margin: 0; color: var(--vusa-muted-dark); }

.vi-capability { padding: clamp(72px, 8.5vw, 112px) 0; background: var(--vusa-ink); color: #fff; }
.vi-section-head--light h2 { color: #fff; }
.vi-capability__grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr); gap: clamp(28px, 5vw, 72px); }

.vi-capability__feature {
  position: relative;
  display: grid;
  min-height: 590px;
  align-content: end;
  overflow: hidden;
  padding: clamp(30px, 4vw, 52px);
  background: #142d28;
  color: #fff;
  text-decoration: none;
}

.vi-capability__feature::before { position: absolute; z-index: 1; inset: 0; background: rgba(6, 16, 22, .34); content: ""; }
.vi-capability__feature > * { position: relative; z-index: 2; }
.vi-capability__feature > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--vusa-ease); }
.vi-capability__feature:hover > img { transform: scale(1.025); }
.vi-capability__feature span,
.vi-capability__list span { color: var(--vusa-green-light); font: 800 10px/1.3 Inter, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.vi-capability__feature h3 { max-width: 8ch; margin: 15px 0 0; color: #fff; font-size: clamp(2.55rem, 4.2vw, 4.45rem); font-weight: 700; line-height: .94; }
.vi-capability__feature i,
.vi-capability__list i { font-size: 20px; font-style: normal; }
.vi-capability__feature i { position: absolute; right: clamp(30px, 4vw, 52px); bottom: clamp(30px, 4vw, 52px); }

.vi-capability__list { display: grid; align-content: center; }
.vi-capability__list a { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 20px 0; border-top: 1px solid var(--vusa-light-line); color: #fff; text-decoration: none; transition: padding .22s var(--vusa-ease); }
.vi-capability__list a:last-child { border-bottom: 1px solid var(--vusa-light-line); }
.vi-capability__list a:hover { padding-inline: 8px; }
.vi-capability__list figure { width: 92px; height: 88px; overflow: hidden; background: #193a32; }
.vi-capability__list figure img { width: 100%; height: 100%; object-fit: cover; }
.vi-capability__list strong { display: block; margin: 7px 0 6px; font: 700 clamp(1.2rem, 1.8vw, 1.65rem)/1.06 Manrope, Inter, sans-serif; letter-spacing: -.045em; }
.vi-capability__list p { margin: 0; color: var(--vusa-muted-dark); font-size: .9rem; line-height: 1.45; }

.vi-proof { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); overflow: hidden; background: var(--vusa-paper); }
.vi-proof__media { min-height: 600px; overflow: hidden; background: #dfe7e2; }
.vi-proof__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vi-proof > .vi-proof__copy { display: grid; align-content: center; padding: clamp(52px, 7vw, 104px) clamp(30px, 5.5vw, 82px); }
.vi-proof > .vi-proof__copy h2 { max-width: 15ch; margin: 17px 0 22px; font-size: clamp(2.55rem, 3.65vw, 4rem); }
.vi-proof > .vi-proof__copy p { max-width: 34ch; margin-bottom: 24px; }

.vi-testimonials { padding: clamp(72px, 8.5vw, 112px) 0; background: #fff; }
.vi-testimonials__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(290px, .72fr); gap: clamp(42px, 9vw, 132px); align-items: center; }
.vi-testimonials blockquote { max-width: 18ch; margin: 17px 0 32px; color: var(--vusa-ink); font: 700 clamp(2rem, 3.7vw, 3.85rem)/1.02 Manrope, Inter, sans-serif; letter-spacing: -.06em; }
.vi-testimonials footer { display: grid; gap: 5px; max-width: 430px; padding-top: 21px; border-top: 1px solid var(--vusa-line); }
.vi-testimonials footer strong { color: var(--vusa-ink); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.vi-testimonials footer span { color: var(--vusa-muted); font-size: 14px; }
.vi-testimonials__aside { display: grid; gap: 23px; }
.vi-testimonials__aside figure { min-height: 240px; overflow: hidden; background: var(--vusa-soft); }
.vi-testimonials__aside img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vi-testimonials__aside p { max-width: 31ch; margin: 0; }

.vi-logo-strip { padding: 0 0 clamp(68px, 8vw, 104px); background: #fff; }
.vi-logo-strip > .vi-shell { margin-bottom: 25px; }
.vi-logo-strip__track { display: grid; grid-template-columns: repeat(8, minmax(145px, 1fr)); overflow-x: auto; border-block: 1px solid var(--vusa-line); background: #fff; scrollbar-width: none; }
.vi-logo-strip__track::-webkit-scrollbar { display: none; }
.vi-logo-strip img { width: 100%; height: 106px; padding: 20px 25px; border-right: 1px solid var(--vusa-line); object-fit: contain; }
.vi-logo-strip img:last-child { border-right: 0; }

.vi-final,
.vs-final { padding: clamp(74px, 9vw, 124px) 0; background: var(--vusa-ink); color: #fff; }
.vi-final__inner,
.vs-final__inner { display: flex; align-items: end; justify-content: space-between; gap: 34px; }
.vi-final h2,
.vs-final h2 { max-width: 11ch; margin-bottom: 0; color: #fff; }

.vs-page { background: var(--vusa-paper); }

.vs-hero {
  display: grid;
  min-height: min(760px, 100svh);
  align-items: center;
  padding: clamp(128px, 13vw, 164px) 0 clamp(76px, 7vw, 102px);
  background-image: var(--vs-hero-image);
  background-position: center;
}

.vs-hero__copy { max-width: var(--vusa-shell); }
.vs-hero h1 { max-width: 24ch; margin: 17px 0 20px; color: #fff; font-size: clamp(3.1rem, 4.3vw, 4.3rem); font-weight: 700; line-height: .97; }
.vs-hero p { max-width: 61ch; margin-bottom: 28px; color: rgba(255, 255, 255, .9); font-size: clamp(1rem, 1.25vw, 1.1rem); font-weight: 500; line-height: 1.55; }

.vs-page--about .vs-hero { background-position: 68% center; }
.vs-page--services .vs-hero { background-position: 45% center; }
.vs-page--training .vs-hero { background-position: 64% center; }
.vs-page--testimonials .vs-hero { background-position: center 42%; }
.vs-page--contact .vs-hero { background-position: 68% center; }

.vs-section { padding: clamp(70px, 8vw, 112px) 0; background: var(--vusa-white); }
.vs-section--paper,
.vs-group,
.vs-map-section { background: var(--vusa-paper); }
.vs-section--ink { background: var(--vusa-ink); color: #fff; }
.vs-section--ink h2 { color: #fff; }
.vs-section--ink p { color: var(--vusa-muted-dark); }

.vs-split { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.vs-split--reverse { grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); }
.vs-split--reverse .vs-media { order: -1; }
.vs-copy h2 { max-width: 14ch; font-size: clamp(2.4rem, 3.6vw, 4rem); }
.vs-copy p { max-width: 44ch; margin-bottom: 17px; }
.vs-media { min-height: 500px; overflow: hidden; background: var(--vusa-soft); }
.vs-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.vs-facts { padding: clamp(58px, 7vw, 86px) 0; background: var(--vusa-soft); }
.vs-facts__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vs-facts__grid > div { display: grid; gap: 10px; padding-right: 24px; border-right: 1px solid var(--vusa-line); }
.vs-facts__grid > div:last-child { border-right: 0; }
.vs-facts strong { color: var(--vusa-ink); font: 700 clamp(2.05rem, 3.8vw, 4.1rem)/.9 Manrope, Inter, sans-serif; letter-spacing: -.065em; }
.vs-facts span { color: var(--vusa-green-deep); font: 800 10px/1.35 Inter, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }

.vs-group { padding: clamp(76px, 9vw, 126px) 0; }
.vs-group__inner { max-width: 880px; }
.vs-group h2 { max-width: 16ch; }

.vs-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .4fr); gap: clamp(28px, 6vw, 86px); align-items: end; margin-bottom: 46px; }
.vs-section-head > div { max-width: 760px; }
.vs-section-head > p { max-width: 34ch; margin: 0 0 6px; }
.vs-capabilities { background: var(--vusa-ink); color: #fff; }
.vs-capabilities .vs-section-head h2 { color: #fff; }
.vs-capabilities .vs-section-head > p { color: var(--vusa-muted-dark); }
.vs-capabilities__list { display: grid; border-top: 1px solid var(--vusa-light-line); }
.vs-capability { display: grid; grid-template-columns: minmax(200px, .58fr) minmax(220px, .72fr) minmax(0, 1.05fr) auto; gap: clamp(20px, 4vw, 66px); align-items: center; padding: 16px 0; border-bottom: 1px solid var(--vusa-light-line); color: #fff; }
.vs-capability figure { height: 176px; overflow: hidden; background: #14332d; }
.vs-capability figure img { width: 100%; height: 100%; object-fit: cover; }
.vs-capability:nth-child(1) figure img { object-position: 55% center; }
.vs-capability:nth-child(2) figure img { object-position: 50% center; }
.vs-capability:nth-child(3) figure img { object-position: 60% center; }
.vs-capability:nth-child(4) figure img { object-position: 50% center; }
.vs-capability:nth-child(5) figure img { object-position: 52% center; }
.vs-capability > div > span { display: block; margin-bottom: 11px; color: var(--vusa-green-light); font: 800 10px/1 Inter, Arial, sans-serif; letter-spacing: .14em; }
.vs-capability h3 { margin: 0; color: #fff; font-size: clamp(1.55rem, 2.45vw, 2.45rem); font-weight: 700; line-height: 1.02; }
.vs-capability p { max-width: 36ch; margin: 0; color: var(--vusa-muted-dark); font-size: .94rem; line-height: 1.5; }
.vs-capability > i { font-size: 20px; font-style: normal; }

.vs-timeline { display: grid; max-width: 760px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--vusa-light-line); }
.vs-timeline li { display: grid; grid-template-columns: 84px 1fr; gap: 28px; padding: 27px 0; border-bottom: 1px solid var(--vusa-light-line); }
.vs-timeline li > span { color: var(--vusa-green-light); font: 800 10px/1 Inter, Arial, sans-serif; letter-spacing: .13em; }
.vs-timeline h3 { margin: 0 0 9px; color: #fff; font-size: clamp(1.4rem, 2.1vw, 2.15rem); font-weight: 700; line-height: 1.02; }
.vs-timeline p { max-width: 48ch; margin: 0; color: var(--vusa-muted-dark); }
.vs-training-system { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .72fr); gap: clamp(38px, 7vw, 100px); align-items: start; }
.vs-training-visual { position: sticky; top: 112px; min-height: 620px; overflow: hidden; background: #102720; }
.vs-training-visual img { display: block; width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.vs-training-close { max-width: 920px; }
.vs-training-close h2 { max-width: 12ch; }

.vs-testimonial-intro { padding-bottom: clamp(38px, 5vw, 62px); }
.vs-testimonial-context { padding-top: 0; }
.vs-testimonial-context .vs-media { min-height: 410px; }
.vs-quotes { padding: clamp(52px, 7vw, 86px) 0 clamp(76px, 9vw, 126px); background: var(--vusa-ink); }
.vs-quotes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--vusa-light-line); border-bottom: 1px solid var(--vusa-light-line); }
.vs-quotes article { display: flex; flex-direction: column; min-height: 430px; padding: clamp(30px, 3.2vw, 46px); border-right: 1px solid var(--vusa-light-line); color: #fff; }
.vs-quotes article:last-child { border-right: 0; }
.vs-quotes article > span { margin-bottom: 22px; color: var(--vusa-green-light); font: 700 56px/.6 Georgia, serif; }
.vs-quotes blockquote { margin: 0; color: #fff; font: 500 clamp(1.05rem, 1.45vw, 1.34rem)/1.5 Manrope, Inter, sans-serif; letter-spacing: -.035em; }
.vs-quotes footer { display: grid; gap: 6px; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--vusa-light-line); }
.vs-quotes footer strong { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.vs-quotes footer p { margin: 0; color: var(--vusa-muted-dark); font-size: 13px; line-height: 1.45; }

.vs-logo-strip { padding: clamp(70px, 8vw, 106px) 0; background: var(--vusa-paper); }
.vs-logo-strip__track { display: grid; grid-template-columns: repeat(8, minmax(145px, 1fr)); overflow-x: auto; border-block: 1px solid var(--vusa-line); background: #fff; scrollbar-width: none; }
.vs-logo-strip__track::-webkit-scrollbar { display: none; }
.vs-logo-strip img { width: 100%; height: 110px; padding: 20px 24px; border-right: 1px solid var(--vusa-line); object-fit: contain; }

.vs-contact { display: grid; grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr); gap: clamp(42px, 9vw, 130px); align-items: start; }
.vs-contact__intro h2 { max-width: 10ch; }
.vs-contact__intro p { max-width: 35ch; }
.vs-office-list { border-top: 1px solid var(--vusa-line); }
.vs-office-list article { display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--vusa-line); }
.vs-office-list strong { font: 700 clamp(1.05rem, 1.7vw, 1.45rem)/1.05 Manrope, Inter, sans-serif; letter-spacing: -.04em; }
.vs-office-list address { color: var(--vusa-muted); font-size: 14px; font-style: normal; line-height: 1.55; }
.vs-office-list a { color: var(--vusa-green-deep); font: 800 14px/1 Inter, Arial, sans-serif; text-decoration: none; white-space: nowrap; }

.vs-map-layout { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.vs-map-layout .vs-copy h2 { max-width: 10ch; }
.vs-map { margin: 0; padding: clamp(18px, 3vw, 34px); border: 0; background: transparent; }
.vs-map img { display: block; width: 100%; height: auto; }
.vs-map__markers { display: none; }

.vs-enquiry { display: grid; grid-template-columns: minmax(280px, .76fr) minmax(380px, 1.04fr); gap: clamp(42px, 8vw, 120px); align-items: start; }
.vs-enquiry h2 { max-width: 10ch; }
.vs-enquiry > div > p { max-width: 34ch; }
.vs-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.vs-form label { display: grid; gap: 8px; color: var(--vusa-ink); font: 800 11px/1.2 Inter, Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.vs-form label:nth-of-type(4) { grid-column: 1 / -1; }
.vs-form input,
.vs-form textarea { width: 100%; border: 1px solid rgba(6, 16, 22, .26); border-radius: 0; background: #fff; color: var(--vusa-ink); font: 500 16px/1.4 Inter, Arial, sans-serif; letter-spacing: normal; text-transform: none; }
.vs-form input { min-height: 54px; padding: 0 15px; }
.vs-form textarea { min-height: 132px; padding: 14px 15px; resize: vertical; }
.vs-form input::placeholder,
.vs-form textarea::placeholder { color: #536760; opacity: 1; }
.vs-form input:focus,
.vs-form textarea:focus { border-color: var(--vusa-green-deep); outline: 3px solid rgba(0, 185, 130, .2); outline-offset: 1px; }
.vs-form button.vs-btn { justify-self: start; grid-column: 1 / -1; cursor: pointer; }
.vs-form__notice { grid-column: 1 / -1; margin: 0; color: var(--vusa-green-deep); font-weight: 700; }

@media (max-width: 1080px) {
  .vi-operation__stage { grid-template-columns: minmax(0, .9fr) minmax(300px, 1.1fr); }
  .vi-operation__stage figure img { min-height: 420px; }
  .vi-capability__grid,
  .vi-proof,
  .vs-split,
  .vs-split--reverse,
  .vs-map-layout,
  .vs-enquiry { grid-template-columns: 1fr; }
  .vi-proof__media { min-height: 480px; }
  .vs-split--reverse .vs-media { order: 0; }
  .vs-training-system { grid-template-columns: 1fr; }
  .vs-training-visual { position: static; min-height: 460px; }
  .vs-training-visual img { min-height: 460px; }
  .vs-contact { grid-template-columns: 1fr; gap: 46px; }
}

@media (max-width: 820px) {
  .vi-section-head,
  .vs-section-head { grid-template-columns: 1fr; gap: 20px; }
  .vi-section-head > p,
  .vs-section-head > p { max-width: 48ch; }
  .vi-intro__grid { grid-template-columns: 1fr; gap: 38px; }
  .vi-intro__marker { gap: 16px; padding: 0; }
  .vi-testimonials__grid { grid-template-columns: 1fr; gap: 42px; }
  .vs-facts__grid { grid-template-columns: 1fr 1fr; }
  .vs-facts__grid > div:nth-child(2) { border-right: 0; }
  .vs-capability { grid-template-columns: 90px minmax(0, 1fr) auto; gap: 20px; }
  .vs-capability p { grid-column: 2 / 4; }
  .vs-quotes__grid { grid-template-columns: 1fr; }
  .vs-quotes article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--vusa-light-line); }
  .vs-quotes article:last-child { border-bottom: 0; }
  .vs-office-list article { grid-template-columns: 120px minmax(0, 1fr); }
  .vs-office-list a { grid-column: 2; }
}

@media (max-width: 620px) {
  :root { --vusa-shell: calc(100% - 32px); }
  .vi-hero { min-height: 720px; background-position: 62% center; }
  .vi-hero__copy { margin: 0; padding-block: 116px 68px; text-align: left; }
  .vi-hero h1 { max-width: 11.6ch; font-size: clamp(2.9rem, 13.2vw, 3.75rem); }
  .vi-hero__line { display: inline; }
  .vi-hero p { max-width: 34ch; font-size: .96rem; }
  .vi-actions,
  .vs-actions { display: grid; width: 100%; }
  .vi-btn,
  .vs-btn,
  .vi-text-link,
  .vs-text-link { width: 100%; }
  .vi-text-link,
  .vs-text-link { justify-content: space-between; }
  .vi-operations__layout { min-height: 0; }
  .vi-operations__steps { grid-template-columns: 1fr 1fr; }
  .vi .vi-operation { grid-template-columns: 24px minmax(0, 1fr); gap: 10px; min-height: 78px; padding: 17px 15px; border-bottom: 1px solid var(--vusa-line); }
  .vi .vi-operation:nth-child(2n) { border-right: 0; }
  .vi .vi-operation:nth-child(n + 3) { border-bottom: 0; }
  .vi .vi-operation:hover,
  .vi .vi-operation.is-active { padding-left: 15px; }
  .vi-operation > img { width: 22px; height: 22px; }
  .vi-operation__stage { grid-template-columns: 1fr; }
  .vi-operation__stage figure img { min-height: 268px; }
  .vi-operation__stage-copy { min-height: 0; padding: 34px 25px 42px; }
  .vi-operation__stage h3 { max-width: 12ch; font-size: clamp(2.1rem, 10.4vw, 3.2rem); }
  .vi-capability__feature { min-height: 470px; }
  .vi-capability__list a { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; }
  .vi-capability__list figure { width: 72px; height: 76px; }
  .vi-capability__list p { display: none; }
  .vi-proof__media { min-height: 0; padding: 0 !important; border-bottom: 0 !important; aspect-ratio: 4 / 3; }
  .vi-proof__media img { height: 100%; }
  .vi-proof > .vi-proof__copy { padding: 52px 16px 66px; }
  .vi-proof > .vi-proof__copy h2 { max-width: 13ch; font-size: clamp(2.3rem, 10.2vw, 3.2rem); }
  .vi-testimonials blockquote { max-width: 14ch; font-size: clamp(2rem, 9.8vw, 3rem); }
  .vi-testimonials__aside figure { min-height: 205px; }
  .vi-logo-strip__track,
  .vs-logo-strip__track { grid-template-columns: repeat(8, minmax(145px, 1fr)); }
  .vi-logo-strip img,
  .vs-logo-strip img { height: 92px; padding: 16px 20px; }
  .vi-final__inner,
  .vs-final__inner { align-items: flex-start; flex-direction: column; }
  .vs-hero { min-height: 690px; padding: 130px 0 70px; background-position: 62% center; }
  .vs-hero h1 { max-width: 11.6ch; font-size: clamp(2.85rem, 12.5vw, 3.8rem); }
  .vs-hero p { max-width: 31ch; font-size: .96rem; }
  .vs-section { padding: 72px 0; }
  .vs-media,
  .vs-testimonial-context .vs-media { min-height: 0; aspect-ratio: 4 / 3; }
  .vs-media img { height: 100%; }
  .vs-facts__grid { grid-template-columns: 1fr; gap: 0; }
  .vs-facts__grid > div,
  .vs-facts__grid > div:nth-child(2) { padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--vusa-line); }
  .vs-facts__grid > div:last-child { border-bottom: 0; }
  .vs-capability { grid-template-columns: 70px minmax(0, 1fr); gap: 15px; padding: 20px 0; }
  .vs-capability figure { height: 78px; }
  .vs-capability > i { display: none; }
  .vs-capability p { grid-column: 2; }
  .vs-timeline li { grid-template-columns: 54px 1fr; gap: 16px; }
  .vs-training-visual,
  .vs-training-visual img { min-height: 340px; }
  .vs-quotes { padding-block: 46px 70px; }
  .vs-quotes article { padding: 30px 0; }
  .vs-quotes blockquote { font-size: 1.12rem; }
  .vs-office-list article { grid-template-columns: 1fr; gap: 10px; }
  .vs-office-list a { grid-column: auto; }
  .vs-map { padding: 16px; }
  .vs-form { grid-template-columns: 1fr; }
  .vs-form label:nth-of-type(4),
  .vs-form button.vs-btn { grid-column: auto; }
  .vs-form button.vs-btn { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .vi-hero__copy > *,
  .vs-hero__copy > * { opacity: 1 !important; transform: none !important; transition: none !important; }
  .vi-btn,
  .vs-btn,
  .vs-form button.vs-btn,
  .vi-text-link,
  .vs-text-link,
  .vi-operation,
  .vi-operation__stage figure img,
  .vi-capability__feature > img,
  .vi-capability__list a { transition: none; }
}

@media (max-width: 820px) {
  html {
    overflow-x: clip;
  }

  .site-header .menu-toggle {
    display: grid !important;
    align-content: center;
    justify-items: center;
  }

  .site-header .brand { min-width: 0; }
  .site-header .brand__image { max-width: 157px; max-height: 48px; }

  .site-header .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(6.5px) rotate(45deg);
  }

  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-6.5px) rotate(-45deg);
  }

  .site-header .primary-nav {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(104%);
  }

  .site-header .primary-nav.is-open {
    display: grid !important;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }

  .site-header .primary-nav__links {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 8px;
    min-width: 0;
  }

  .site-header .primary-nav__links > a {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
  }

  .site-header .nav-cta {
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
