:root {
  --color-orange: 57, 118, 101;
  --color-black: 23, 33, 29;
  --color-white: 255, 255, 255;
  --color-grey-50: 255, 255, 255;
  --color-grey-100: 248, 247, 241;
  --color-grey-200: 220, 226, 217;
  --color-grey-300: 167, 185, 176;
  --color-grey-400: 103, 130, 117;
  --color-grey-500: 57, 118, 101;
  --ves-ink: #111513;
  --ves-deep: #0e1f21;
  --ves-logo-green: #397665;
  --ves-logo-gold: #d2b556;
  --ves-accent: var(--ves-logo-gold);
  --ves-paper: #f2f0e9;
  --ves-white: #ffffff;
  --ves-soft: #f8f7f1;
  --ves-text: #17211d;
  --ves-muted: rgba(23, 33, 29, 0.72);
  --ves-line: rgba(57, 118, 101, 0.22);
}

body.ves-page {
  background: var(--ves-white);
  color: var(--ves-text);
}

.ves-page a {
  color: inherit;
  text-decoration: none;
}

.ves-page noscript {
  display: none !important;
}

.ves-page .bg--orange,
.ves-page .body--orange,
.ves-page .prefooter,
.ves-page .page__footer {
  background: var(--ves-ink) !important;
  color: var(--ves-paper) !important;
}

.ves-page .bg--grey-50,
.ves-page .body--grey-50 {
  background: var(--ves-deep) !important;
  color: var(--ves-paper) !important;
}

.ves-page .bg--black,
.ves-page .body--black,
.ves-page .schema--home {
  background: #080b0a !important;
  color: var(--ves-accent) !important;
}

.ves-page .text__description {
  color: rgba(242, 240, 233, 0.74) !important;
}

.ves-page .section__title,
.ves-page .title,
.ves-page .pretitle,
.ves-page .button {
  color: inherit;
}

.ves-page .home__hero .hero__title,
.ves-page .home__hero .hero__claim,
.ves-page .home__hero .tag__name,
.ves-page .home__hero .tag__data {
  color: var(--ves-paper) !important;
}

.ves-page .home__hero .hero__claim {
  opacity: 0.82;
}

.ves-page .header__logo__link,
.ves-page .menu__logo__link {
  gap: 0.625rem;
}

.ves-page .ves-logo-lockup {
  align-items: center;
  display: inline-flex;
  gap: 0.625rem;
  height: 100%;
}

.ves-page .ves-logo-lockup img {
  display: block;
}

.ves-page .ves-logo-lockup .ves-wordmark {
  height: auto;
  width: clamp(8.25rem, 10vw, 10.75rem);
}

.ves-page .ves-symbol-mark {
  display: block;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.ves-page .hero__logo .ves-symbol-mark--hero,
.ves-page .hero__logo__mobile .ves-symbol-mark--hero {
  margin: 0 auto;
  transform-origin: 50% 50%;
  width: min(24rem, 82%);
}

.ves-page .hero__logo .ves-symbol-mark--bend {
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: transform, filter;
}

.ves-page .ves-filter-defs {
  height: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 0;
}

.ves-page .hero__logo .ves-hidden-geometry {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.ves-page .schema--home .graph__data__logo .ves-symbol-mark--schema {
  height: 100%;
  width: 100%;
}

.ves-page .schema--home .ves-model-scroll {
  background: var(--ves-ink);
}

.ves-page .schema--home .ves-model__inner {
  isolation: isolate;
  overflow: hidden;
}

.ves-page .ves-three-stage {
  display: block;
  height: min(78vh, 48rem);
  min-height: 28rem;
  position: relative;
  width: min(100%, 52rem);
}

.ves-page .ves-three-stage::before {
  background-image: none;
  background-size: 3.5rem 3.5rem;
  content: "";
  inset: -12%;
  opacity: 0.34;
  pointer-events: none;
  position: absolute;
}

.ves-page .ves-three-canvas {
  display: block;
  height: 100% !important;
  position: relative;
  width: 100% !important;
  z-index: 1;
}

.ves-page .ves-three-loading {
  color: var(--ves-accent);
  left: 50%;
  position: absolute;
  text-transform: uppercase;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.ves-page .ves-three-loading[hidden] {
  display: none;
}

.ves-page .page__header svg,
.ves-page .header__logo__link svg,
.ves-page .h-logo,
.ves-page .m-logo {
  fill: var(--ves-paper) !important;
}

.ves-page .h-logo polygon,
.ves-page .m-logo path {
  fill: var(--ves-paper) !important;
}

.ves-page .hero__tags {
  border-color: rgba(242, 240, 233, 0.22) !important;
}

.ves-page .tag__name,
.ves-page .tag__data,
.ves-page .slide__tags .tag,
.ves-page .stack__item__order,
.ves-page .stack__item__header .pretitle,
.ves-page .c__square {
  color: var(--ves-accent) !important;
}

.ves-page .h-line,
.ves-page .s-line {
  background: rgba(242, 240, 233, 0.26) !important;
}

.ves-page .button--ghost-black,
.ves-page .button--ghost-white {
  border-color: currentColor !important;
}

.ves-page .button--ghost-black:hover,
.ves-page .button--ghost-white:hover {
  background: var(--ves-accent) !important;
  border-color: var(--ves-accent) !important;
  color: var(--ves-ink) !important;
}

.ves-page .button__arrow,
.ves-page .button-arrow {
  fill: currentColor !important;
}

.ves-page .float--subtitle .pretitle,
.ves-page .float--subtitle .content {
  color: var(--ves-paper);
}

.ves-page .ves-img-swap {
  filter: saturate(0.82) contrast(1.08);
  object-position: center;
}

.ves-page .section__image__parallax--home .ves-img-swap {
  object-position: center 14%;
}

.ves-page .ves-hero-video-frame {
  background: var(--ves-deep);
}

.ves-page .ves-video-image-single {
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.ves-page .ves-video-image-single img {
  display: block;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.ves-page .ves-hero-video-frame::after {
  background: transparent;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.ves-page .ves-accent-title {
  color: var(--ves-accent) !important;
}

.ves-page .page__menu,
.ves-page .page__menu * {
  color: var(--ves-ink) !important;
}

.ves-page .page__menu .ves-wordmark {
  filter: brightness(0) saturate(100%);
}

.ves-page .page__menu .c__square,
.ves-page .page__menu .submenu__icon,
.ves-page .page__menu .plus__icon {
  color: var(--ves-ink) !important;
}

.ves-page .footer__logo__inner svg,
.ves-page .footer__logo__inner::before {
  display: none;
}

.ves-page .footer__logo__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.ves-page .footer__logo__inner .ves-footer-wordmark {
  display: block;
  height: clamp(5rem, 14vw, 13rem);
  margin: 0 auto;
  object-fit: contain;
  opacity: 0;
  transform: translateY(18%) skewY(1deg);
  transform-origin: center bottom;
  width: min(92vw, 88rem);
}

.ves-page .slide__card__inner,
.ves-page .slide__image {
  position: relative;
}

.ves-page .slide__image::after {
  background: transparent;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.ves-page .slide__info {
  color: var(--ves-paper) !important;
  position: relative;
  text-shadow: none;
  z-index: 2;
}

.ves-page .slide__title,
.ves-page .slide__tags .tag {
  color: var(--ves-paper) !important;
}

.ves-page .matrix__image .ves-img-swap,
.ves-page .vision__image .ves-img-swap {
  object-position: center;
}

.ves-page .transition__layer {
  background: var(--ves-ink) !important;
}

.ves-page .loading__dot {
  background: var(--ves-paper) !important;
}

.ves-page .preload__back[data-astro-cid-sckkx6r4],
.ves-page .preload__top[data-astro-cid-sckkx6r4] .clap__rect[data-astro-cid-sckkx6r4],
.ves-page .preload__bottom[data-astro-cid-sckkx6r4] .clap__rect[data-astro-cid-sckkx6r4] {
  background: var(--ves-ink) !important;
}

.ves-page .preload__top[data-astro-cid-sckkx6r4] .clap__triangle--bottom[data-astro-cid-sckkx6r4],
.ves-page .preload__top[data-astro-cid-sckkx6r4] .clap__triangle--top[data-astro-cid-sckkx6r4] {
  border-top-color: var(--ves-ink) !important;
}

.ves-page .preload__bottom[data-astro-cid-sckkx6r4] .clap__triangle--bottom[data-astro-cid-sckkx6r4],
.ves-page .preload__bottom[data-astro-cid-sckkx6r4] .clap__triangle--top[data-astro-cid-sckkx6r4] {
  border-bottom-color: var(--ves-ink) !important;
}

@media (orientation: portrait) {
  .ves-page .preload__top[data-astro-cid-sckkx6r4] .clap__rect[data-astro-cid-sckkx6r4]::before,
  .ves-page .preload__bottom[data-astro-cid-sckkx6r4] .clap__rect[data-astro-cid-sckkx6r4]::before {
    background: var(--ves-ink) !important;
  }
}

@media (max-width: 680px) {
  .ves-page .ves-logo-lockup .ves-wordmark {
    width: 9rem;
  }

  .ves-page .schema--home .grid__column--sticky .block__inner {
    padding-top: calc(var(--header-height) + var(--grid-margin));
  }

  .ves-page .ves-three-stage {
    height: 58vh;
    min-height: 24rem;
    width: 100%;
  }
}

/* Final logo-palette color pass. Keep the colored mood in the hero only. */
.ves-page .home__hero.bg--orange {
  background: var(--ves-ink) !important;
  color: var(--ves-white) !important;
}

.ves-page .home__vision,
.ves-page .home__stack,
.ves-page .home__carousel,
.ves-page .values__section,
.ves-page .matrix__section,
.ves-page .schema--home,
.ves-page .prefooter,
.ves-page .page__footer,
.ves-page .bg--grey-50,
.ves-page .body--grey-50,
.ves-page .bg--orange:not(.home__hero):not(.home__video),
.ves-page .body--orange {
  background: var(--ves-white) !important;
  color: var(--ves-text) !important;
}

.ves-page .schema--home .ves-model-scroll {
  background: var(--ves-ink) !important;
}

.ves-page .home__video.bg--orange {
  background: var(--ves-white) !important;
  color: var(--ves-white) !important;
}

.ves-page .ves-three-stage::before {
  background-image: none !important;
}

.ves-page .text__description,
.ves-page .schema--home .text__description,
.ves-page .prefooter .text__description,
.ves-page .page__footer .text__description {
  color: var(--ves-muted) !important;
}

.ves-page .home__hero .hero__title,
.ves-page .home__hero .hero__claim,
.ves-page .home__hero .tag__name,
.ves-page .home__hero .tag__data,
.ves-page .home__video .float--subtitle .pretitle,
.ves-page .home__video .float--subtitle .content {
  color: var(--ves-white) !important;
}

.ves-page .home__hero .tag__name,
.ves-page .home__hero .tag__data,
.ves-page .home__hero .c__square {
  color: var(--ves-logo-gold) !important;
}

.ves-page .tag__name,
.ves-page .tag__data,
.ves-page .stack__item__order,
.ves-page .stack__item__header .pretitle,
.ves-page .c__square,
.ves-page .ves-accent-title,
.ves-page .ves-three-loading {
  color: var(--ves-logo-green) !important;
}

.ves-page .slide__tags .tag,
.ves-page .slide__title,
.ves-page .slide__info {
  color: var(--ves-white) !important;
}

.ves-page .hero__tags {
  border-color: rgba(210, 181, 86, 0.42) !important;
}

.ves-page .h-line,
.ves-page .s-line {
  background: rgba(210, 181, 86, 0.4) !important;
}

.ves-page .separator,
.ves-page .has--border,
.ves-page .grid__separator,
.ves-page .toggle__inner,
.ves-page .stack__item {
  border-color: var(--ves-line) !important;
}

.ves-page .bg--grey-50 .grid__column + .grid__column,
.ves-page .bg--grey-100 .grid__column + .grid__column,
.ves-page .bg--orange .grid__column + .grid__column,
.ves-page .bg--black .grid__column + .grid__column {
  border-color: var(--ves-line) !important;
}

.ves-page .button--ghost-black,
.ves-page .button--ghost-white,
.ves-page .menu__trigger,
.ves-page .contact__trigger {
  border-color: currentColor !important;
  color: var(--ves-logo-green) !important;
}

.ves-page.scroll--top .page__header .menu__trigger,
.ves-page.scroll--top .page__header .contact__trigger {
  color: var(--ves-white) !important;
}

.ves-page .button--ghost-black:hover,
.ves-page .button--ghost-white:hover,
.ves-page .menu__trigger:hover,
.ves-page .contact__trigger:hover {
  background: var(--ves-logo-green) !important;
  border-color: var(--ves-logo-green) !important;
  color: var(--ves-white) !important;
}

.ves-page.scroll--top .page__header .button--ghost-black:hover,
.ves-page.scroll--top .page__header .button--ghost-white:hover {
  background: var(--ves-logo-gold) !important;
  border-color: var(--ves-logo-gold) !important;
  color: var(--ves-ink) !important;
}

.ves-page .prefooter__back {
  opacity: 0.06 !important;
}

.ves-page .footer__logo__inner::before {
  filter: none !important;
}

/* Solid section cleanup: no glow/gradient treatments. */
.ves-page .home__hero.bg--orange,
.ves-page .schema--home,
.ves-page .prefooter,
.ves-page .page__footer {
  background: var(--ves-ink) !important;
  background-image: none !important;
  color: var(--ves-white) !important;
}

.ves-page .home__vision,
.ves-page .home__stack,
.ves-page .home__carousel,
.ves-page .values__section,
.ves-page .matrix__section,
.ves-page .home__video.bg--orange,
.ves-page .bg--grey-50 {
  background: var(--ves-white) !important;
  background-image: none !important;
  color: var(--ves-text) !important;
}

.ves-page .schema--home .text__description,
.ves-page .prefooter .text__description,
.ves-page .page__footer .text__description {
  color: rgba(255, 255, 255, 0.72) !important;
}

.ves-page .schema--home .ves-model-scroll,
.ves-page .ves-three-stage::before,
.ves-page .ves-hero-video-frame::after,
.ves-page .slide__image::after,
.ves-page .prefooter__back,
.ves-page .footer__over {
  background: transparent !important;
  background-image: none !important;
}

.ves-page .ves-three-stage::before,
.ves-page .ves-hero-video-frame::after,
.ves-page .slide__image::after,
.ves-page .prefooter__back,
.ves-page .footer__over {
  display: none !important;
}

.ves-page .ves-img-swap,
.ves-page .page__menu .ves-wordmark,
.ves-page .footer__logo__inner::before {
  filter: none !important;
}

.ves-page .slide__info {
  text-shadow: none !important;
}

.ves-page .slide__link {
  cursor: pointer !important;
}

html body.ves-page section.prefooter.bg--orange,
html body.ves-page footer.page__footer.bg--orange {
  background: #111513 !important;
  background-color: #111513 !important;
  background-image: none !important;
  color: #ffffff !important;
}

html body.ves-page section.prefooter.bg--orange *,
html body.ves-page footer.page__footer.bg--orange * {
  color: inherit;
}

html body.ves-page footer.page__footer .footer__social {
  margin-bottom: 1rem;
}

html body.ves-page footer.page__footer .enerblock__window {
  height: clamp(15rem, 24vw, 24rem);
  overflow: hidden;
  position: relative;
  width: 100%;
}

html body.ves-page footer.page__footer .footer__parallax {
  height: auto !important;
  left: auto !important;
  position: relative !important;
  top: auto !important;
  width: 100% !important;
}

html body.ves-page footer.page__footer .footer__logo {
  height: auto;
  position: relative;
  width: 100%;
}

html body.ves-page footer.page__footer .footer__logo__inner {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(1rem, 2vw, 2rem);
}

.ves-page .ves-footer-company-name {
  color: #ffffff !important;
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(1.125rem, 2.2vw, 2rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.15;
  margin-top: clamp(0.875rem, 1.8vw, 1.5rem);
  text-align: center;
}

html body.ves-page footer.page__footer .ves-footer__meta {
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: clamp(0.8125rem, 0.9vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.45;
  margin-top: 0.75rem;
}

html body.ves-page footer.page__footer .ves-footer__meta a {
  color: inherit !important;
}

html body.ves-page.footer--in footer.page__footer .footer__logo__inner .ves-footer-wordmark {
  animation: ves-home-footer-logo-rise 1.1s cubic-bezier(0.53, 0, 0, 1) both,
    ves-home-footer-logo-drift 9s ease-in-out 1.1s infinite alternate;
}

@keyframes ves-home-footer-logo-rise {
  from {
    opacity: 0;
    transform: translateY(18%) skewY(1deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) skewY(0);
  }
}

@keyframes ves-home-footer-logo-drift {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-1.5%);
  }
}

/* Reduce the flat white run between hero and footer while keeping solid colors. */
html body.ves-page .home__stack,
html body.ves-page .home__carousel,
html body.ves-page .home__vision,
html body.ves-page .ves-home-team,
html body.ves-page .matrix__section {
  background: #111513 !important;
  background-color: #111513 !important;
  background-image: none !important;
  color: #ffffff !important;
}

html body.ves-page .home__stack .text__description,
html body.ves-page .home__carousel .text__description,
html body.ves-page .home__vision .text__description,
html body.ves-page .ves-home-team .text__description,
html body.ves-page .matrix__section .text__description {
  color: rgba(255, 255, 255, 0.72) !important;
}

html body.ves-page .home__stack .stack__item,
html body.ves-page .home__carousel .grid__separator,
html body.ves-page .home__vision .grid__separator,
html body.ves-page .ves-home-team__header,
html body.ves-page .ves-home-person,
html body.ves-page .matrix__section .grid__column {
  border-color: rgba(210, 181, 86, 0.28) !important;
}

html body.ves-page .home__stack .stack__item {
  background: #111513 !important;
  background-color: #111513 !important;
  color: #ffffff !important;
}

html body.ves-page .home__stack .stack__title,
html body.ves-page .home__stack .stack__item__info,
html body.ves-page .home__stack .text__description,
html body.ves-page .home__stack .button--ghost-black {
  color: #ffffff !important;
}

html body.ves-page .home__stack .button--ghost-black {
  border-color: rgba(255, 255, 255, 0.82) !important;
}

html body.ves-page .home__stack .stack__item__order,
html body.ves-page .home__stack .stack__item__header .pretitle,
html body.ves-page .home__carousel .pretitle,
html body.ves-page .home__carousel .c__square,
html body.ves-page .home__vision .pretitle,
html body.ves-page .home__vision .c__square,
html body.ves-page .ves-home-team .pretitle,
html body.ves-page .matrix__section .pretitle,
html body.ves-page .matrix__section .c__square {
  color: #d2b556 !important;
}

html body.ves-page .ves-home-team {
  padding: var(--grid-margin) 0;
}

html body.ves-page .ves-home-team__header {
  border-top: 1px solid var(--ves-line);
  display: grid;
  gap: var(--grid-gutter);
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  padding-top: var(--grid-margin);
}

html body.ves-page .ves-home-team__header > div {
  grid-column: span 7;
}

html body.ves-page .ves-home-team__header > p {
  grid-column: span 5;
  margin: 0;
}

html body.ves-page .ves-home-team__grid {
  display: grid;
  gap: var(--grid-gutter);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--grid-margin);
}

html body.ves-page .ves-home-person {
  border-top: 1px solid var(--ves-line);
  padding-top: 1rem;
}

html body.ves-page .ves-home-person img {
  aspect-ratio: 4 / 5;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

html body.ves-page .ves-home-person:nth-child(1) img,
html body.ves-page .ves-home-person:nth-child(2) img {
  object-position: 35% center;
}

.ves-page .ves-team-caption,
.ves-page .ves-person-card__body {
  color: #d2b556 !important;
}

.ves-page .ves-team-caption {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 1.5rem;
}

.ves-page .ves-team-name,
.ves-page .ves-team-role {
  color: #d2b556 !important;
  display: block;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}

.ves-page .ves-team-name {
  font-size: clamp(1.65rem, 3.1vw, 3.5rem);
}

.ves-page .ves-team-role {
  font-size: clamp(1rem, 1.35vw, 1.5rem);
}

@media (max-width: 980px) {
  html body.ves-page .ves-home-team__header > div,
  html body.ves-page .ves-home-team__header > p {
    grid-column: 1 / -1;
  }

  html body.ves-page .ves-home-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html body.ves-page .ves-home-team__grid {
    grid-template-columns: 1fr;
  }
}
