@font-face {
  font-family: 'FONTSPRING DEMO - The Seasons';
  src:
    local('FONTSPRING DEMO - The Seasons'),
    local('The Seasons');
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'FONTSPRING DEMO - The Seasons';
  src:
    local('FONTSPRING DEMO - The Seasons Bold'),
    local('The Seasons Bold'),
    local('The Seasons');
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/dm-sans-300.ttf') format('truetype');
  font-display: swap;
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/dm-sans-400.ttf') format('truetype');
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'DM Sans';
  src: url('../fonts/dm-sans-500.ttf') format('truetype');
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}

body {
  font-family: Arial, sans-serif;
  color: #1a1a1a;
  overflow-x: hidden;
}

/* ==========================================================
   Industries landing page
   Source layout: JNV Industries landing design/PDF (1920px)
   ========================================================== */

.industries-page {
  --industries-gold: #9a7637;
  --industries-ink: #352b46;
  --industries-purple: #44295f;
  background: #fff;
}

.industries-site-header {
  position: relative;
  z-index: 20;
  background: #fff;
}

.industries-site-header .navbar .nav-link.active {
  color: var(--industries-gold);
}

.industries-hero {
  position: relative;
  min-height: clamp(34rem, 46.8vw, 56.2rem);
  overflow: hidden;
  background: #0d0d13;
}

.industries-hero__image {
  position: absolute;
  inset: -2% 0 0;
  width: 100%;
  height: 104%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: translate3d(0, var(--industries-hero-shift, 0), 0) scale(1.015);
  will-change: transform;
}

.industries-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 7, 12, 0.02) 30%, rgba(7, 6, 13, 0.8) 100%);
}

.industries-hero__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: clamp(2.75rem, 4.25vw, 5.1rem);
  left: 0;
}

.industries-hero__title {
  max-width: clamp(38rem, 49vw, 58.8rem);
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.35rem, 3.13vw, 3.76rem);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.industries-breadcrumb {
  display: flex;
  align-items: center;
  min-height: clamp(4.25rem, 5.1vw, 6.1rem);
  background: var(--industries-gold);
}

.industries-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: clamp(0.65rem, 0.78vw, 0.94rem);
  margin: 0;
  padding: 0;
  list-style: none;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.04vw, 1.25rem);
}

.industries-breadcrumb__list li + li::before {
  margin-right: clamp(0.65rem, 0.78vw, 0.94rem);
  content: "-";
}

.industries-breadcrumb__list a {
  color: inherit;
}

.industries-breadcrumb__list a:hover,
.industries-breadcrumb__list a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.industry-sectors {
  padding: clamp(4.5rem, 6.15vw, 7.4rem) 0 clamp(5rem, 7.3vw, 8.75rem);
  overflow: hidden;
}

.industry-sectors__intro {
  max-width: 96rem;
  margin: 0 auto clamp(2.8rem, 4.15vw, 4.98rem);
  color: var(--industries-ink);
  font-size: clamp(2rem, 3.12vw, 3.75rem);
  font-weight: 400;
  line-height: 1.12;
  text-align: center;
  letter-spacing: -0.026em;
}

.industry-sectors__intro > span {
  display: block;
}

.industry-sectors__intro-line {
  color: #e1dfe1;
}

.industry-sectors__intro-word {
  display: inline-block;
  white-space: nowrap;
}

.industry-sectors__intro-character {
  display: inline;
  color: #e1dfe1;
  transition: color 560ms ease var(--industry-character-delay, 0ms);
}

.industry-sectors__intro.is-revealed .industry-sectors__intro-character {
  color: var(--industries-ink);
}

.industry-sectors__grid {
  --bs-gutter-x: clamp(1rem, 2.64vw, 2.25rem);
  width: 100%;
  max-width: 62.5rem;
  margin-right: auto;
  margin-left: auto;
}

.industry-card {
  position: relative;
  min-height: 25.25rem;
  overflow: hidden;
  border: 1px solid rgba(75, 63, 87, 0.16);
  border-radius: clamp(0.75rem, 1.25vw, 1.5rem);
  /* background: linear-gradient(132deg, #c8b5db 0%, #e8e1ef 26%, #faf9fb 51%, #fff 68%); */
  box-shadow: none;
  isolation: isolate;
}

.industry-card::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: url('../images/industry-card-curves.svg') center / 100% 100% no-repeat;
  content: "";
  pointer-events: none;
}

.industry-card:hover {
  transform: none;
  box-shadow: none;
}

.industry-card__copy {
  position: relative;
  z-index: 4;
  max-width: 80%;
  padding: clamp(1.6rem, 2.18vw, 2.6rem) 0 0 clamp(1.5rem, 2.08vw, 2.5rem);
}

.industry-card__copy h3 {
  margin-bottom: clamp(0.45rem, 0.52vw, 0.63rem);
  color: var(--industries-ink);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.25rem, 1.46vw, 1.75rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.industry-card__copy p {
  max-width: 66%;
  color: #111;
  font-size: clamp(0.8rem, 0.73vw, 0.875rem);
  line-height: 1.35;
}

.industry-card__arrow {
  position: absolute;
  z-index: 5;
  top: clamp(1.55rem, 2.08vw, 2.5rem);
  right: clamp(1.25rem, 1.82vw, 2.18rem);
  display: grid;
  width: clamp(2.15rem, 2.54vw, 4.25rem);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #8d682a;
  border-radius: 50%;
  color: #fff;
  background: #8d682a;
  transition: background-color 250ms ease, color 250ms ease, transform 250ms ease;
}

.industry-card__arrow svg {
  width: 44%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.industry-card__arrow:hover,
.industry-card__arrow:focus-visible {
  color: #8d682a;
  background: #fff;
  transform: translateX(0.2rem);
}

.industry-card__image {
  position: absolute;
  z-index: 2;
  right: -10%;
  bottom: -1%;
  width: 116%;
  max-width: none;
  mix-blend-mode: multiply;
  transform: translate3d(0, 0, 0);
  transition: transform 850ms cubic-bezier(.22, .7, .2, 1);
  will-change: transform;
}

.industry-card:hover .industry-card__image {
  transform: translate3d(-12%, 0, 0);
}

.industry-card__image--automotive {
  right: -43%;
  bottom: -5%;
  width: 110%;
}

.industry-card__image--railways {
  right: -45%;
  bottom: -5%;
  width: 118%;
}

.industry-card__image--aerospace {
  right: -18%;
  bottom: -5%;
  width: 96%;
}

.industry-products {
  position: relative;
  min-height: 23rem;
  padding: 4.25rem 0 2.75rem;
  overflow: hidden;
  color: #fff;
  background: #352b46;
}

.industry-products::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: url('../images/industry-products-curves.svg') center bottom / 100% 100% no-repeat;
  content: "";
  pointer-events: none;
}

.industry-products > .container {
  position: relative;
  z-index: 2;
}

.industry-products__title {
  color: #fff;
  font-size: clamp(2rem, 2.64vw, 2.25rem);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.industry-products__list {
  position: relative;
  z-index: 2;
  margin-top: 0;
}

.industry-product {
  display: grid;
  grid-template-columns: 1rem 1fr;
  gap: 0.65rem;
  min-height: 4.8rem;
  padding: 0 1rem 1rem 0;
}

.industry-product__icon {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-top: 0.12rem;
  color: #fff;
}

.industry-product__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.industry-product h3 {
  margin-bottom: 0.25rem;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-weight: 500;
  line-height: 1.3;
}

.industry-product p {
  max-width: 26rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(0.7rem, 0.84vw, 0.75rem);
  line-height: 1.4;
}

.industry-leaders {
  padding: clamp(5rem, 7.8vw, 9.4rem) 0 clamp(6rem, 9.6vw, 11.5rem);
  overflow: hidden;
  background: #fff;
}

.industry-leaders__heading h2 {
  margin-bottom: clamp(1.3rem, 1.82vw, 2.18rem);
  color: var(--industries-ink);
  font-size: clamp(2.15rem, 3.13vw, 3.75rem);
  letter-spacing: -0.025em;
}

.industry-leaders__heading p {
  color: #635e67;
  font-size: clamp(1rem, 1.15vw, 1.38rem);
  line-height: 1.55;
}

.industry-leaders__viewport {
  width: 100%;
  height: clamp(6rem, 9.22vw, 177px);
  margin: clamp(3.5rem, 5vw, 6rem) 0 0;
  overflow: hidden;
  border-top: 1px dashed rgba(126, 97, 49, 0.48);
  border-bottom: 1px dashed rgba(126, 97, 49, 0.48);
}

.industry-leaders__track {
  display: flex;
  width: 280%;
  animation: industry-leaders-scroll 23s linear infinite;
  will-change: transform;
}

.industry-leaders__viewport:hover .industry-leaders__track,
.industry-leaders__viewport:focus-within .industry-leaders__track {
  animation-play-state: paused;
}

.industry-leaders__set {
  display: grid;
  flex: 0 0 50%;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

@keyframes industry-leaders-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.industry-leaders__logo {
  display: grid;
  min-height: 0;
  height: 100%;
  padding: 1.5rem;
  place-items: center;
  border-right: 1px dashed rgba(126, 97, 49, 0.48);
}

.industry-leaders__logo:first-child {
  border-left: 1px dashed rgba(126, 97, 49, 0.48);
}

.industry-leaders__logo img {
  max-width: clamp(6rem, 8.5vw, 10.2rem);
  max-height: clamp(3rem, 4.2vw, 5rem);
  object-fit: contain;
  filter: saturate(0.9);
}

[data-industries-reveal] {
  opacity: 0;
  transform: translateY(1.75rem);
  transition:
    opacity 750ms cubic-bezier(.2, .75, .22, 1) var(--industries-reveal-delay, 0ms),
    transform 750ms cubic-bezier(.2, .75, .22, 1) var(--industries-reveal-delay, 0ms);
}

[data-industries-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1199.98px) {
  .industries-site-header .navbar-collapse {
    padding-top: 1rem;
  }

  .industry-products__list {
    margin-top: 0;
  }
}

/* ---------- Sitemap destination pages ---------- */
.sitemap-page {
  min-height: 100vh;
  background: #fff;
  color: #20182d;
}

.sitemap-site-header {
  position: relative;
  z-index: 20;
  background: #fff;
}

.sitemap-breadcrumb {
  border-bottom: 1px solid rgba(126, 97, 49, .35);
  background: #fff;
}

.sitemap-breadcrumb .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  min-height: 3.25rem;
  padding-top: .7rem;
  padding-bottom: .7rem;
  font-family: 'Inter', Arial, sans-serif;
  font-size: .9rem;
}

.sitemap-breadcrumb a {
  color: #7e6131;
  text-decoration: none;
}

.sitemap-breadcrumb a:hover,
.sitemap-breadcrumb a:focus-visible {
  text-decoration: underline;
}

.sitemap-page__hero {
  min-height: clamp(28rem, 42vw, 44rem);
  display: flex;
  align-items: center;
  padding: clamp(4rem, 9vw, 10rem) 0;
  background: linear-gradient(135deg, #f8f6fb 0%, #fff 58%, #f4efe7 100%);
}

.sitemap-page__eyebrow {
  margin: 0 0 1.15rem;
  color: #7e6131;
  font-family: 'Inter', Arial, sans-serif;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sitemap-page__hero h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  margin: 0;
  color: #352b46;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 5rem);
  line-height: 1.08;
}

.sitemap-page__copy {
  max-width: 38rem;
  margin: 1.5rem 0 2rem;
  color: #3d3446;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  line-height: 1.55;
}

@media (max-width: 991.98px) {
  .industries-hero {
    min-height: 35rem;
  }

  .industry-card {
    min-height: 31rem;
  }

  .industry-card__copy {
    max-width: 82%;
  }

  .industry-products__title br {
    display: block;
  }
}

@media (max-width: 767.98px) {
  .industries-hero {
    min-height: 31rem;
  }

  .industries-hero__image {
    object-position: 54% center;
  }

  .industries-hero__title {
    max-width: 100%;
    font-size: clamp(2rem, 10vw, 2.75rem);
    text-wrap: wrap;
  }

  .industry-sectors__intro {
    text-align: left;
  }

  .industry-card {
    min-height: min(34rem, 136vw);
  }

  .industry-card__copy {
    max-width: calc(100% - 4.5rem);
  }

  .industry-product {
    min-height: 0;
    padding-right: 0;
    padding-left: 0;
  }

  .industry-leaders__viewport {
    width: 100%;
    height: clamp(4rem, 11.5vw, 220px);
    margin-left: 0;
    margin-right: 0;
  }

  .industry-leaders__track {
    width: 154rem;
  }

  .industry-leaders__set {
    flex-basis: 77rem;
    grid-template-columns: repeat(7, 11rem);
  }
}

/* ---------- Contact Us page (Figma frame 206:858) ---------- */
.contact-page {
  overflow-x: hidden;
  background: #fff;
  color: #1a1814;
}

.contact-site-header {
  position: relative;
  z-index: 10;
  background: #fff;
}

.contact-hero {
  position: relative;
  height: clamp(34rem, 47.4vw, 56.875rem);
  min-height: 0;
  overflow: hidden;
  background: #100d1e;
}

.contact-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.contact-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(53, 43, 70, .94) 0%, rgba(53, 43, 70, .2) 35%, rgba(53, 43, 70, 0) 62%);
}

.contact-hero__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(3.75rem, 8.7vw, 10.5rem);
}

.contact-hero h1 {
  margin: 0;
  color: #fff;
  font: 700 clamp(2.35rem, 3.125vw, 3.75rem)/1.06 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
}

.contact-breadcrumb {
  min-height: var(--shared-breadcrumb-height);
  height: var(--shared-breadcrumb-height);
  display: flex;
  align-items: center;
  background: #7e6131;
  color: #fff;
  font: 300 clamp(.78rem, .9375vw, 1.125rem)/1 'DM Sans', Arial, sans-serif;
}

.contact-breadcrumb .container {
  display: flex;
  align-items: center;
  gap: clamp(.55rem, .8vw, 1rem);
}

.contact-breadcrumb a { color: inherit; text-decoration: none; }
.contact-breadcrumb a:hover, .contact-breadcrumb a:focus-visible { text-decoration: underline; }

.contact-enquiry {
  padding: clamp(4.5rem, 6.25vw, 7.5rem) 0 clamp(4rem, 5.2vw, 6.25rem);
  background: #fff;
}

.contact-enquiry__heading {
  --character-heading-muted: #dddcdc;
  max-width: min(61.4rem, 61.35vw);
  margin: 0 auto;
  color: #dddcdc;
  font: 700 clamp(2.25rem, 2.6vw, 3.125rem)/1.12 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  text-align: center;
}

.contact-enquiry__grid {
  width: min(90.1vw, 108.1rem);
  min-height: 38.875rem;
  margin: clamp(4rem, 5.4vw, 6.5rem) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 4.2vw, 5rem);
  align-items: start;
}

.contact-office {
  min-height: 38.875rem;
  padding: clamp(2.5rem, 3.15vw, 3.78rem);
  border: 1px solid #352b46;
  border-radius: clamp(1.5rem, 1.93vw, 2.32rem);
  background: #352b46;
  color: #fff;
  backdrop-filter: blur(30px);
}

.contact-office h3 {
  margin: 0 0 clamp(3rem, 5.5vw, 6.8rem);
  color: #ededf2;
  font: 700 clamp(2rem, 2.42vw, 2.9rem)/1 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  letter-spacing: .015em;
  text-transform: uppercase;
}

.contact-office__detail {
  display: grid;
  grid-template-columns: clamp(1.65rem, 1.61vw, 1.94rem) minmax(0, 1fr);
  gap: clamp(1rem, 1.29vw, 1.55rem);
  align-items: start;
}

.contact-office__detail + .contact-office__detail { margin-top: clamp(2.25rem, 3.35vw, 4rem); }

.contact-office__detail img {
  width: clamp(1.5rem, 1.61vw, 1.94rem);
  height: clamp(1.5rem, 1.61vw, 1.94rem);
  object-fit: contain;
}

.contact-office__detail span {
  display: block;
  margin-bottom: .2rem;
  font: 400 clamp(.85rem, .967vw, 1.16rem)/1.15 'Geist', 'DM Sans', Arial, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contact-office__detail p {
  margin: 0;
  color: #fff;
  font: 400 clamp(1rem, 1.21vw, 1.45rem)/1.4 'DM Sans', Arial, sans-serif;
}

.contact-enquiry__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1rem, 1.15vw, 1.38rem);
  row-gap: clamp(1.25rem, 1.65vw, 2rem);
  padding-top: clamp(.25rem, .9vw, 1rem);
}

.contact-enquiry__field { min-width: 0; }
.contact-enquiry__field--message { grid-column: 1 / -1; }

.contact-enquiry__field label {
  display: block;
  margin: 0 0 clamp(.5rem, .67vw, .8rem);
  color: #1a1814;
  font: 500 clamp(1rem, 1.15vw, 1.375rem)/1.17 'DM Sans', Arial, sans-serif;
}

.contact-enquiry__field input,
.contact-enquiry__field textarea {
  display: block;
  width: 100%;
  border: 1px solid rgba(28, 24, 20, .12);
  border-radius: clamp(.8rem, 1vw, 1.2rem);
  background: #fff;
  color: #1a1814;
  font: 400 clamp(.9rem, 1.04vw, 1.25rem)/1.4 'DM Sans', Arial, sans-serif;
}

.contact-enquiry__field input {
  height: clamp(3.5rem, 3.9vw, 4.68rem);
  padding: 0 clamp(1rem, 1.39vw, 1.67rem);
}

.contact-enquiry__field textarea {
  height: clamp(10rem, 10.73vw, 12.875rem);
  padding: clamp(1rem, 1.06vw, 1.27rem) clamp(1rem, 1.39vw, 1.67rem);
  resize: vertical;
}

.contact-enquiry__field input::placeholder,
.contact-enquiry__field textarea::placeholder { color: #7a7160; opacity: 1; }
.contact-enquiry__field input:focus,
.contact-enquiry__field textarea:focus { outline: 2px solid rgba(126, 97, 49, .32); outline-offset: 2px; }

.contact-enquiry__submit {
  grid-column: 1 / -1;
  width: clamp(11rem, 11.15vw, 13.375rem);
  height: clamp(2.8rem, 2.66vw, 3.2rem);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 1.2rem;
  border: 1px solid #7e6131;
  border-radius: 4px;
  background: #fff;
  color: #7e6131;
  font: 500 clamp(.85rem, 1.04vw, 1.25rem)/1 'DM Sans', Arial, sans-serif;
  transition: background-color .25s ease, color .25s ease;
}

.contact-enquiry__submit:hover,
.contact-enquiry__submit:focus-visible { background: #7e6131; color: #fff; }
.contact-enquiry__submit img { width: 1rem; height: auto; margin-left: auto; }
.contact-enquiry__submit-divider { width: 1px; height: 82%; margin-left: auto; margin-right: .7rem; background: #7e6131; }
.contact-enquiry__submit:hover .contact-enquiry__submit-divider,
.contact-enquiry__submit:focus-visible .contact-enquiry__submit-divider { background: #fff; }
.contact-enquiry__submit:hover img,
.contact-enquiry__submit:focus-visible img { filter: brightness(0) invert(1); }
.contact-enquiry__note { grid-column: 1 / -1; margin: -.75rem 0 0; color: #7e6131; font-size: .9rem; }

.contact-map {
  position: relative;
  height: clamp(30rem, 38.75vw, 46.5rem);
  overflow: hidden;
  background: #d7d7d7;
}

.contact-map__image {
  position: absolute;
  top: -2.63%;
  left: -29.135%;
  width: 158.27%;
  height: 122.29%;
  max-width: none;
  object-fit: cover;
}

.contact-map__pulse {
  position: absolute;
  top: 43.8%;
  left: 34.1%;
  width: clamp(7rem, 13.18vw, 15.8rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
}

.contact-map__pulse img { position: absolute; inset: 0; width: 100%; height: 100%; transform-origin: center; }
.contact-map__pulse img:nth-child(1) { animation: contact-map-pulse-outer 3s ease-in-out infinite; }
.contact-map__pulse img:nth-child(2) { animation: contact-map-pulse-mid 3s ease-in-out .15s infinite; }
.contact-map__pulse img:nth-child(3) { animation: contact-map-pulse-dot 3s ease-in-out .3s infinite; }
@keyframes contact-map-pulse-outer {
  0%, 50%, 100% { opacity: 1; transform: scale(1); }
  25% { opacity: .45; transform: scale(1.16); }
}
@keyframes contact-map-pulse-mid {
  0%, 50%, 100% { opacity: 1; transform: scale(1); }
  25% { opacity: .55; transform: scale(1.12); }
}
@keyframes contact-map-pulse-dot {
  0%, 50%, 100% { opacity: 1; transform: scale(1); }
  25% { opacity: .7; transform: scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .contact-map__pulse img { animation: none; }
}
.contact-map__marker { position: absolute; right: 4.7%; bottom: 3.8%; width: clamp(4.5rem, 5.26vw, 6.31rem); height: auto; }

.contact-faq {
  width: min(90.5vw, 108.75rem);
  margin: clamp(4.5rem, 6.25vw, 7.5rem) auto clamp(5rem, 6.25vw, 7.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .78fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: start;
}

.contact-faq__questions h2 {
  margin: 0 0 clamp(2rem, 3.1vw, 3.75rem);
  color: #352b46;
  font: 700 clamp(2.25rem, 2.6vw, 3.125rem)/1.1 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
}

.contact-faq__list { border-top: 0; }
.contact-faq__row {
  width: 100%;
  min-height: clamp(4.5rem, 6.05vw, 7.125rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.5rem, 2.23vw, 2.67rem) 0;
  border: 0;
  border-bottom: 1px solid #d1cbc3;
  background: transparent;
  color: #1a1a1a;
  text-align: left;
  font: 400 clamp(1rem, 1.56vw, 1.875rem)/1.25 'DM Sans', Arial, sans-serif;
  cursor: pointer;
}

.contact-faq__row img { flex: 0 0 auto; width: clamp(1.5rem, 1.67vw, 2rem); height: auto; transition: transform .25s ease; }
.contact-faq__row:hover, .contact-faq__row:focus-visible { color: #7e6131; }
.contact-faq__row:hover img, .contact-faq__row:focus-visible img { transform: translateX(.3rem); }

.contact-faq__art {
  height: clamp(30rem, 35.94vw, 43.125rem);
  overflow: hidden;
}

.contact-faq__art img {
  display: block;
  width: 107%;
  height: auto;
  margin-top: 13.55%;
  margin-left: -3.5%;
}

@media (max-width: 991.98px) {
  .contact-enquiry__grid { width: min(92vw, 52rem); grid-template-columns: 1fr; }
  .contact-office { min-height: 0; }
  .contact-office h3 { margin-bottom: 3rem; }
  .contact-faq { width: min(92vw, 52rem); grid-template-columns: 1fr; }
  .contact-faq__art { max-width: 42rem; width: 100%; margin: 1rem auto 0; }
}

@media (max-width: 575.98px) {
  .contact-hero { height: 35rem; }
  .contact-hero__content { padding-bottom: 3rem; }
  .contact-hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .contact-breadcrumb { height: 3.25rem; min-height: 3.25rem; }
  .contact-enquiry { padding-top: 3.5rem; }
  .contact-enquiry__heading { max-width: 92vw; font-size: clamp(1.8rem, 7.6vw, 2.45rem); }
  .contact-enquiry__grid { margin-top: 3rem; }
  .contact-enquiry__form { grid-template-columns: 1fr; }
  .contact-enquiry__field--message,
  .contact-enquiry__submit,
  .contact-enquiry__note { grid-column: 1; }
  .contact-map { height: 25rem; }
  .contact-map__image { left: -72%; width: 245%; }
  .contact-map__pulse { top: 48%; left: 38%; width: 9rem; }
  .contact-map__marker { right: 6%; bottom: 5%; width: 4.5rem; }
  .contact-faq { margin-top: 3.5rem; margin-bottom: 4rem; }
  .contact-faq__questions h2 { font-size: clamp(2rem, 8vw, 2.6rem); }
  .contact-faq__row { font-size: 1rem; }
  .contact-faq__art { height: 19rem; }
}

@media (prefers-reduced-motion: reduce) {
  .industries-hero__image,
  .industry-card,
  .industry-card__image,
  .industry-leaders__track,
  [data-industries-reveal] {
    transition: none;
    transform: none;
  }

  .industry-leaders__track {
    animation: none;
  }

  .expertise-carousel__slide,
  .expertise-carousel__caption {
    transition: none;
  }

  .industry-sectors__intro-character,
  .industry-sectors__intro.is-revealed .industry-sectors__intro-character {
    color: var(--industries-ink);
    transition: none;
  }
}

h1, h2, h3, h4, p {
  margin: 0;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

/* ==========================================================
   Fluid scaling system
   The Figma design is authored at a 1920px reference width.
   Every size below that varies with viewport (type, spacing,
   gaps, component/image sizes) uses:
     clamp(MIN, (px-at-1920 / 19.2)vw, px-at-1920 px)
   so the whole page scales down in the same proportion as the
   design at any width below 1920, instead of snapping between
   fixed values at Bootstrap's breakpoints. MIN is a floor so
   text/spacing never gets illegibly small on very narrow phones.
   ========================================================== */

h1 {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3.13vw, 60.17px);
  line-height: 1.25;
}

h2 {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.375rem, 2.6vw, 50px);
  line-height: 1.25;
}

h3 {
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(1.125rem, 2.08vw, 40px);
  line-height: 1.3;
}

h4 {
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(1rem, 1.04vw, 20px);
  line-height: 1.3;
}

p {
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1rem, 1.15vw, 22px);
  line-height: 1.5;
}

.section-heading {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  color: #352b46;
}

.section-copy {
  color: #666;
}

.character-heading__word {
  display: inline-block;
  white-space: nowrap;
}

.character-heading__character {
  color: var(--character-heading-muted, #dddcdc);
}

.section-pad {
  padding-top: clamp(3rem, 6.25vw, 120px);
  padding-bottom: clamp(3rem, 6.25vw, 120px);
}

/* Override Bootstrap's stepped container max-widths (540/720/960/1140/1320px)
   with one fluid rule so content width scales continuously with the
   viewport instead of jumping between fixed breakpoint values. This rule
   has the same specificity as Bootstrap's but is unconditional and loads
   after bootstrap.min.css, so it wins the cascade at every width. */
.container {
  width: 100%;
  max-width: 1728px;
  padding-left: clamp(1rem, 4.91vw, 6rem);
  padding-right: clamp(1rem, 4.91vw, 6rem);
}

.gold-btn {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.5rem, 0.78vw, 15px);
  padding: clamp(0.6rem, 0.78vw, 15px) clamp(1rem, 1.4vw, 27px);
  border: 1px solid #7e6131;
  border-radius: 4px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.85rem, 0.83vw, 16px);
  font-weight: 500;
  color: #7e6131;
  background: transparent;
  white-space: nowrap;
}

.gold-btn img {
  width: clamp(0.75rem, 0.78vw, 15px);
  height: auto;
  display: block;
}

.gold-btn:hover,
.gold-btn:focus-visible {
  background: #7e6131;
  color: #fff;
}

.gold-btn:hover img,
.gold-btn:focus-visible img {
  filter: brightness(0) invert(1);
}

/* ============ Navbar (existing) ============ */

.navbar {
  border-bottom: 1px solid #7e6131;
}

.navbar__logo {
  display: block;
  height: clamp(2.5rem, 3.54vw, 68px);
  width: auto;
}

.navbar__nav {
  gap: clamp(0.5rem, 0.83vw, 16px);
}

@media (min-width: 1400px) {
  .navbar__nav {
    gap: clamp(1rem, 2.08vw, 40px);
  }
}

.navbar .nav-link {
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.04vw, 20px);
  font-weight: 400;
  color: #000;
  padding: 0;
  white-space: nowrap;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: #7e6131;
}

/* Shared sitemap dropdown navigation. The same menu markup is used on every
   page; Bootstrap handles the collapse/dropdown state on desktop and mobile. */
.navbar .dropdown-toggle::after {
  margin-left: .4em;
  vertical-align: .16em;
  border-top-width: .32em;
  border-right-width: .32em;
  border-left-width: .32em;
}

.navbar .dropdown-menu {
  min-width: 16rem;
  margin-top: .75rem;
  padding: .45rem 0;
  border: 1px solid rgba(126, 97, 49, .35);
  border-radius: 0;
  box-shadow: 0 14px 30px rgba(24, 18, 32, .12);
}

.navbar .dropdown-item {
  padding: .55rem 1rem;
  color: #20182d;
  font-family: 'Inter', Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.25;
  white-space: normal;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item.active {
  color: #7e6131;
  background: rgba(126, 97, 49, .08);
}

.navbar .nav-link.active {
  color: #7e6131;
}

/* Bootstrap-compatible layout fallbacks keep the shared header usable when
   the CDN stylesheet is unavailable (and make the menu consistent on every
   sitemap destination page). */
.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.navbar > .container {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  display: inline-block;
  padding-top: .3125rem;
  padding-bottom: .3125rem;
  margin-right: 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-item { list-style: none; }
.navbar-nav .nav-link { display: block; text-decoration: none; }
.navbar-toggler {
  padding: .25rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  color: #20182d;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: .375rem;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background: linear-gradient(#20182d 0 0) top/100% 2px no-repeat,
              linear-gradient(#20182d 0 0) center/100% 2px no-repeat,
              linear-gradient(#20182d 0 0) bottom/100% 2px no-repeat;
}
.navbar .dropdown-menu { display: none; }
.navbar .dropdown.show > .dropdown-menu,
.navbar .dropdown-menu.show { display: block; }

@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-xl .navbar-toggler { display: none; }
  .navbar-expand-xl .navbar-nav { flex-direction: row; }
}

@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-toggler { display: block !important; margin-left: auto; }
  .navbar-collapse:not(.show) { display: none; }
  .navbar-collapse.show { display: flex; }
  .navbar-collapse.show .navbar-nav { width: 100%; }
}

@media (max-width: 1199.98px) {
  .navbar .dropdown-menu {
    min-width: 0;
    margin-top: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .navbar .dropdown-item {
    padding: .45rem 1rem .45rem 1.75rem;
  }
}

.navbar__cta {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: clamp(8.5rem, 10.55vw, 12.66rem);
  height: clamp(2.25rem, 2.664vw, 3.196rem);
  padding: 0;
  border: 1px solid #7e6131;
  border-radius: 4px;
  background: #fff;
  text-decoration: none;
}

.navbar__cta:hover,
.navbar__cta:focus-visible {
  border-color: #7e6131;
  background: #fff;
}

.navbar__cta span {
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.04vw, 20px);
  font-weight: 500;
  color: #7e6131;
  white-space: nowrap;
}

.navbar__cta > span:first-child {
  position: absolute;
  top: 27.46%;
  left: 11.88%;
  width: 53.95%;
  line-height: 1.2;
}

.navbar__cta-divider {
  position: absolute;
  top: 9.8%;
  left: 77.09%;
  width: 1px;
  height: 82.34%;
  margin: 0;
  background-color: #7e6131;
}

.navbar__cta img {
  position: absolute;
  top: 53%;
  left: 81.77%;
  display: block;
  width: clamp(1.25rem, 1.539vw, 1.847rem);
  height: auto;
  transform: translateY(-50%);
}

/* ============ Hero (existing) ============ */

.hero {
  aspect-ratio: 1920 / 1056;
  overflow: hidden;
}

.hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Keep the banner video's top edge visible while preserving the hero crop. */
.hero__video {
  object-position: center top;
}

.hero__sound-toggle {
  position: absolute;
  right: clamp(1rem, 3.5vw, 3.5rem);
  bottom: clamp(1rem, 3.5vw, 3.5rem);
  z-index: 3;
  display: grid;
  width: clamp(2.5rem, 3.2vw, 3.25rem);
  height: clamp(2.5rem, 3.2vw, 3.25rem);
  place-items: center;
  padding: 0;
  color: #fff;
  background: rgba(53, 43, 70, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}

.hero__sound-toggle:hover,
.hero__sound-toggle:focus-visible {
  background: #7e6131;
  transform: scale(1.06);
}

.hero__sound-toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.hero__sound-icon {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.hero__sound-icon--on {
  display: none;
}

.hero__sound-toggle[aria-pressed="true"] .hero__sound-icon--muted {
  display: none;
}

.hero__sound-toggle[aria-pressed="true"] .hero__sound-icon--on {
  display: block;
}

.hero__overlay {
  height: 46.5%;
  background: linear-gradient(to top, #352b46 16%, rgba(53, 43, 70, 0) 100%);
}

.hero__container {
  padding-left: clamp(1rem, 4.91vw, 6rem);
  padding-right: clamp(1rem, 4.91vw, 6rem);
}

.hero__heading {
  max-width: 60%;
  color: #fff;
}

/* ============ Expertise intro + Figma card carousel ============ */

.expertise > .container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.expertise {
  padding-bottom: 0;
}

.expertise__heading {
  width: min(1257px, 65.5vw);
  max-width: calc(100% - 2rem);
  margin: 0 auto;
  font-size: clamp(1.75rem, 2.604vw, 50px);
  line-height: 1.2;
  text-align: center;
}

.typewriter-word {
  display: inline-block;
  white-space: nowrap;
}

.typewriter-letter {
  opacity: 0;
  transition: opacity 0.15s ease-out;
}

.typewriter-letter.is-visible {
  opacity: 1;
}

.expertise-carousel {
  position: relative;
  width: 100%;
  margin-top: clamp(2rem, 4.58vw, 88px);
}

.expertise-overview__carousel .expertise-carousel__slide {
  display: block;
  color: inherit;
  text-decoration: none;
}

.expertise-overview__carousel .expertise-card {
  position: absolute;
  aspect-ratio: auto;
}

/* The original expertise cards use negative stacking layers in the grid.
   The carousel transforms each slide, so keep those layers inside the slide
   while ensuring the card image and content remain visible. */
.expertise-overview__carousel .expertise-card > img {
  z-index: 0;
}

.expertise-overview__carousel .expertise-card__shade {
  z-index: 1;
}

.expertise-overview__carousel .expertise-card__copy,
.expertise-overview__carousel .expertise-card__arrow {
  z-index: 2;
}

.expertise-overview__carousel .expertise-card__arrow > img {
  position: static;
  width: 48%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transform: none;
}

.expertise-carousel__viewport {
  position: relative;
  width: min(1564px, 81.5vw);
  aspect-ratio: 1564 / 557.037;
  margin: 0 auto;
  transform: translateX(clamp(0px, 0.15625vw, 3px));
}

.expertise-carousel__slide {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 16.75%;
  height: 70.2%;
  margin: 0;
  border-radius: clamp(18px, 1.43125vw, 27.48px);
  overflow: hidden;
  background: #f7f7f7;
  box-shadow: 0 clamp(5px, 0.4167vw, 8px) clamp(16px, 1.25vw, 24px) calc(-0.2083vw) rgba(0, 0, 0, 0.35);
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: top 650ms cubic-bezier(0.22, 0.61, 0.36, 1), left 650ms cubic-bezier(0.22, 0.61, 0.36, 1), width 650ms cubic-bezier(0.22, 0.61, 0.36, 1), height 650ms cubic-bezier(0.22, 0.61, 0.36, 1), filter 500ms ease, opacity 500ms ease;
}

/* During a loop the edge card travels across the carousel underneath the
   other cards, matching the Figma interaction instead of crossing over them. */
.expertise-carousel__slide.is-wrapping {
  z-index: 0 !important;
}

.expertise-carousel__slide--hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.expertise-carousel__slide--left {
  left: 0.13%;
  top: 8.92%;
  width: 16.75%;
  height: 70.2%;
}

.expertise-carousel__slide--near-left {
  left: 19.014%;
  top: 3.6%;
  width: 18.879%;
  height: 78.78%;
}

.expertise-carousel__slide--active {
  z-index: 4;
  left: 39.7%;
  top: 0.27%;
  width: 20.46%;
  height: 85.39%;
  filter: blur(0);
  opacity: 1;
}

.expertise-carousel__slide--near-right {
  left: 62.29%;
  top: 3.69%;
  width: 18.91%;
  height: 79.24%;
}

.expertise-carousel__slide--right {
  left: 83.04%;
  top: 7.83%;
  width: 16.85%;
  height: 70.7%;
}

.expertise-carousel__slide img {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  display: block;
  object-fit: cover;
  filter: none;
  transform: none;
}

/* The Figma component uses a contained hero image and a deliberate zoomed
   crop for the adjacent CAD card. Keeping those treatments per slot avoids
   stretching the source exports while the cards move through the carousel. */
.expertise-carousel__slide--active img {
  object-fit: contain;
}

.expertise-carousel__slide--near-left img {
  position: absolute;
  top: -11.5%;
  left: -1.45%;
  width: 102.91%;
  height: 123%;
  max-width: none;
  object-fit: fill;
}

.expertise-carousel__slide--left img,
.expertise-carousel__slide--right img {
  filter: blur(clamp(2px, 0.2083vw, 4px));
  transform: scale(1.012);
}

.expertise-carousel__slide--near-left img,
.expertise-carousel__slide--near-right img {
  filter: blur(clamp(1px, 0.0651vw, 1.25px));
}

.expertise-carousel__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 20.82%;
  padding: clamp(0.65rem, 1.284vw, 24.64px) clamp(0.65rem, 0.739vw, 14.183px) 0.5rem;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));
  color: #fff;
  box-shadow: 0 clamp(5px, 0.4167vw, 8px) clamp(16px, 1.25vw, 24px) 0 rgba(0, 0, 0, 0.35);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.75rem, 1.04vw, 20px);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  opacity: 1;
  transition: filter 500ms ease, opacity 400ms ease;
}

.expertise-carousel__slide--active .expertise-carousel__caption {
  opacity: 1;
  filter: none;
}

/* The displayed Figma variant softens inactive labels while preserving the
   exact vertical rhythm of each slot's overlay. */
.expertise-carousel__slide--left .expertise-carousel__caption {
  min-height: 26.96%;
  padding-top: clamp(1.5rem, 3.055vw, 58.64px);
  filter: blur(clamp(1.5px, 0.15625vw, 3px));
}

.expertise-carousel__slide--near-left .expertise-carousel__caption {
  min-height: 20.88%;
  padding-top: clamp(0.85rem, 1.336vw, 25.64px);
  filter: blur(clamp(0.75px, 0.0651vw, 1.25px));
}

.expertise-carousel__slide--near-right .expertise-carousel__caption {
  min-height: 16.12%;
  padding-top: clamp(0.55rem, 0.554vw, 10.64px);
  filter: blur(clamp(0.75px, 0.0651vw, 1.25px));
}

.expertise-carousel__slide--right .expertise-carousel__caption {
  min-height: 20.82%;
  padding-top: clamp(1rem, 1.804vw, 34.64px);
  filter: blur(clamp(1.5px, 0.15625vw, 3px));
}

.expertise-carousel__controls {
  position: absolute;
  z-index: 5;
  left: 44.5%;
  right: auto;
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 1.35vw, 25.92px);
}

.expertise-carousel__btn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(2.75rem, 3.335vw, 64.036px);
  height: clamp(1.5rem, 1.668vw, 32.018px);
  border: none;
  background: transparent;
  padding: 0;
  line-height: 0;
  cursor: pointer;
}

.expertise-carousel__btn img {
  position: absolute;
  top: -46.88%;
  left: .21%;
  width: 99.79%;
  height: 200%;
  max-width: none;
  object-fit: fill;
}

.expertise-carousel__btn--next img {
  transform: rotate(180deg);
}

/* ============ Industries Catered ============ */

/* Figma ends this frame on the final Aerospace divider. The following
   inter-section gap is added once before Ecosystem. */
.industries.section-pad {
  padding-bottom: 0;
}

.industries > .container {
  width: min(1622px, 84.48vw);
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

.industries > .container > .section-heading {
  margin: 0;
  font-size: clamp(1.75rem, 2.604vw, 50px);
  /* Figma's heading frame is 77.195px high at the 1920px reference width. */
  line-height: 1.544;
}

.industries__intro {
  width: min(1122px, 58.44vw);
  max-width: 100%;
  margin: 0 auto;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.146vw, 22px);
  line-height: normal;
  text-align: center;
}

.accordion-industries {
  margin-top: clamp(3rem, 4.427vw, 85px);
}

.accordion-industries__item {
  position: relative;
  border-bottom: 0;
}

.accordion-industries__trigger {
  width: 100%;
  height: clamp(2.9rem, 2.917vw, 56px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.75rem, 1.04vw, 20px);
  padding: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px dashed rgba(53, 43, 70, 0.7);
  text-align: left;
  cursor: pointer;
  color: #1a1a1a;
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1.25rem, 2.083vw, 40px);
  line-height: normal;
}

.accordion-industries__icon {
  flex-shrink: 0;
  width: clamp(0.85rem, 1.097vw, 21.053px);
  height: clamp(1.15rem, 1.514vw, 29.074px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: width 0.3s ease, height 0.3s ease;
}

.accordion-industries__icon img {
  width: 100%;
  height: 100%;
  display: block;
  transition: transform 0.3s ease;
}

.accordion-industries__item.is-open .accordion-industries__icon {
  width: clamp(1.15rem, 1.514vw, 29.074px);
  height: clamp(0.85rem, 1.097vw, 21.053px);
}

.accordion-industries__item.is-open .accordion-industries__icon img {
  width: clamp(0.85rem, 1.097vw, 21.053px);
  height: clamp(1.15rem, 1.514vw, 29.074px);
  transform: rotate(90deg);
  transform-origin: center;
}

.accordion-industries__panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}

.accordion-industries__item.is-open .accordion-industries__panel {
  max-height: 1400px;
}

.accordion-industries__panel-inner {
  padding-bottom: clamp(1.5rem, 3.13vw, 60px);
}

.accordion-industries__panel-inner--media {
  position: relative;
  display: block;
  height: clamp(25rem, 27.945vw, 535px);
  min-height: 0;
  margin: 0;
  padding: 0;
}

.accordion-industries__item:not(.is-open):not(:last-child) {
  min-height: clamp(5rem, 6.224vw, 119.5px);
}

.accordion-industries__panel-inner--media > .col-lg-6:first-child {
  position: absolute;
  z-index: 2;
  top: clamp(1.75rem, 1.719vw, 33px);
  left: 0.32%;
  width: 33.83%;
  padding: 0;
}

.accordion-industries__panel-inner--media > .col-lg-6:last-child {
  position: absolute;
  z-index: 1;
  top: clamp(0.1rem, 0.104vw, 2px);
  left: 35.27%;
  width: 61.16%;
  padding: 0;
}

.accordion-industries__panel-inner--media .accordion-industries__copy {
  width: 100%;
  max-width: 548px;
  color: #000;
  font-size: clamp(1rem, 1.146vw, 22px);
  line-height: normal;
}

.accordion-industries__panel-inner--media > .accordion-industries__copy {
  position: absolute;
  z-index: 2;
  top: clamp(1.75rem, 1.719vw, 33px);
  left: 0.32%;
  width: 33.83%;
  max-width: 548px;
}

.accordion-industries__panel-inner--media .gold-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  position: static;
  top: auto;
  left: auto;
  margin-top: 0 !important;
  width: clamp(10.75rem, 11.174vw, 214.543px);
  min-height: clamp(2.55rem, 2.663vw, 51.129px);
  background: #fff;
  padding: 0;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.044vw, 20.05px);
  font-weight: 500;
  line-height: 1;
}

.accordion-industries__panel-inner--media > .col-lg-6:first-child .gold-btn {
  margin-top: clamp(1.5rem, 1.719vw, 33px) !important;
}

.accordion-industries__panel-inner--media .gold-btn > span {
  display: flex;
  align-items: center;
  width: clamp(7.9rem, 8.219vw, 157.8px);
  height: 100%;
  padding-left: clamp(0.75rem, 0.89vw, 17.09px);
  box-sizing: border-box;
}

.accordion-industries__panel-inner--media .gold-btn > img {
  width: clamp(1.35rem, 1.462vw, 28.071px);
  height: auto;
  margin-right: clamp(0.75rem, 0.917vw, 17.6px);
  padding-left: clamp(0.55rem, 0.576vw, 11.05px);
  border-left: 1px solid currentColor;
  box-sizing: content-box;
}

.accordion-industries__copy {
  max-width: min(420px, 90vw);
  color: #666;
}

.accordion-industries__image {
  width: 100%;
  max-width: none;
  aspect-ratio: 992 / 559;
  height: auto;
  display: block;
}

.accordion-industries__panel-inner--media > .accordion-industries__image {
  position: absolute;
  z-index: 1;
  top: clamp(0.1rem, 0.104vw, 2px);
  left: 35.27%;
  width: 61.16%;
  max-width: none;
  padding: 0;
}

.accordion-industries__coming-soon {
  position: relative;
  z-index: 1;
  top: auto;
  left: auto;
  display: grid;
  width: 100%;
  height: clamp(25rem, 27.945vw, 535px);
  place-items: center;
  color: #352b46;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1.5rem, 2.083vw, 40px);
  font-weight: 500;
}

@media (max-width: 991.98px) {
  .industries.section-pad {
    padding-bottom: 3rem;
  }

  .ecosystem.section-pad {
    margin-top: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .ecosystem > .container > .section-heading {
    line-height: 1.2;
  }

  .industries > .container {
    width: calc(100% - 2rem);
  }

  .industries > .container > .section-heading {
    line-height: 1.2;
  }

  .industries__intro {
    width: 100%;
  }

  .accordion-industries__panel-inner--media {
    height: auto;
    min-height: 0;
    padding-bottom: 2.5rem;
  }

  .accordion-industries__panel-inner--media > .col-lg-6:first-child,
  .accordion-industries__panel-inner--media > .col-lg-6:last-child {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .accordion-industries__panel-inner--media > .accordion-industries__copy {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 548px;
  }

  .accordion-industries__panel-inner--media > .col-lg-6:last-child {
    margin-top: 2rem;
  }

  .accordion-industries__panel-inner--media .gold-btn {
    position: static;
    margin-top: 1.25rem !important;
  }

  .accordion-industries__image {
    width: 100%;
  }

  .accordion-industries__panel-inner--media > .accordion-industries__image,
  .accordion-industries__panel-inner--media > .col-lg-6:last-child .accordion-industries__coming-soon {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    margin-top: 2rem;
  }

  .accordion-industries__item:not(.is-open):not(:last-child) {
    min-height: 0;
  }
}

/* ============ JNV Ecosystem ============ */

.ecosystem.section-pad {
  margin-top: clamp(4rem, 7.604vw, 146px);
  padding-top: 0;
  padding-bottom: 0;
}

.ecosystem > .container > .section-heading {
  margin: 0;
  font-size: clamp(1.75rem, 2.604vw, 50px);
  line-height: 1.1;
}

.ecosystem__tabs {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 0.83vw, 16px);
  margin-top: clamp(0.5rem, 0.63vw, 12px);
  font-family: 'DM Sans', Arial, sans-serif;
}

.ecosystem__tab {
  border: none;
  background: transparent;
  padding: 0.25rem 0;
  font-size: clamp(1rem, 1.042vw, 20px);
  font-weight: 500;
  color: rgba(51, 51, 51, 0.24);
  cursor: pointer;
}

.ecosystem__tab.is-active {
  color: #7e6131;
}

.ecosystem__tabs-dot {
  position: absolute;
  left: 50%;
  /* Figma places the 13px ellipse on the dashed rule below the labels. */
  top: calc(100% + clamp(0.5rem, 0.63vw, 12px));
  width: clamp(0.4rem, 0.677vw, 0.8125rem);
  height: clamp(0.4rem, 0.677vw, 0.8125rem);
  border-radius: 50%;
  background: #352b46;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 1;
}

.ecosystem__tabs-dot.is-positioned {
  transition: left 0.45s cubic-bezier(0.2, 0.75, 0.22, 1);
  will-change: left;
}

.ecosystem__tabs-line {
  width: 100%;
  border: none;
  border-top: 1px dashed #352b46;
  margin-top: clamp(0.5rem, 0.63vw, 12px);
  margin-bottom: 0;
}

.ecosystem__body {
  display: grid;
  grid-template-columns: minmax(0, 939fr) minmax(0, 653fr);
  gap: clamp(1rem, 1.302vw, 25px);
  margin-left: 0;
  margin-right: 0;
  margin-top: clamp(1rem, 1.094vw, 21px);
}

.ecosystem > .container {
  width: min(1630px, 84.9vw);
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.ecosystem__body > .col-lg-6 {
  width: auto;
  padding-left: 0;
  padding-right: 0;
}

.ecosystem__card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 939 / 560;
  border: 1px solid rgba(53, 43, 70, 0.1);
}

.ecosystem__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ecosystem__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 55%);
}

.ecosystem__card-caption {
  position: absolute;
  left: clamp(1rem, 1.615vw, 31px);
  bottom: clamp(1rem, 1.563vw, 30px);
  color: #fff;
}

.ecosystem__card-caption strong {
  display: block;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.25rem, 1.563vw, 30px);
  font-weight: 700;
}

.ecosystem__card-caption span {
  display: flex;
  align-items: center;
  gap: clamp(0.35rem, 0.52vw, 10px);
  font-size: clamp(1rem, 1.042vw, 20px);
  opacity: 0.85;
  margin-top: 0.2rem;
}

.ecosystem__card-caption span::before {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  content: '';
  background: url('../images/ecosystem-location-icon.svg') center/contain no-repeat;
}

.ecosystem__card-caption a {
  display: inline-block;
  margin-top: clamp(0.4rem, 0.42vw, 8px);
  font-size: clamp(0.9rem, 0.938vw, 18px);
  color: #fff;
  text-decoration: underline;
}

.ecosystem__list {
  list-style: none;
  margin: 0;
  padding: 0 clamp(1rem, 0.885vw, 17px) 0 clamp(1rem, 3.021vw, 58px);
}

.ecosystem__list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.75rem, 0.83vw, 16px);
  min-height: clamp(5rem, 5.417vw, 104px);
  padding: 0;
  border-bottom: 1px solid #eee;
}

.ecosystem__logo {
  width: clamp(9rem, 10.156vw, 195px);
  height: clamp(3.5rem, 3.854vw, 74px);
  object-fit: contain;
}

/* The two Figma variants use different logo frames. Keep every logo centred
   inside the same per-row slot instead of scaling all marks to one size. */
.ecosystem__list[data-ecosystem-view="portfolio"] .ecosystem__logo {
  width: clamp(9rem, 10.156vw, 195px);
  height: clamp(3.5rem, 3.854vw, 74px);
}

.ecosystem__list[data-ecosystem-view="portfolio"] .ecosystem__list-item:nth-child(2) .ecosystem__logo {
  width: clamp(9rem, 10.26vw, 197px);
  height: clamp(3.25rem, 3.594vw, 69px);
}

.ecosystem__list[data-ecosystem-view="portfolio"] .ecosystem__list-item:nth-child(3) .ecosystem__logo {
  width: clamp(9rem, 10.156vw, 195px);
  height: clamp(3.4rem, 3.75vw, 72px);
}

.ecosystem__list[data-ecosystem-view="portfolio"] .ecosystem__list-item:nth-child(n + 4) .ecosystem__logo {
  width: clamp(8rem, 9.063vw, 174px);
  height: clamp(3.5rem, 3.854vw, 74px);
}

.ecosystem__list[data-ecosystem-view="alliances"] .ecosystem__logo {
  width: clamp(9.5rem, 10.885vw, 209px);
  height: clamp(3.5rem, 3.854vw, 74px);
}

.ecosystem__list[data-ecosystem-view="alliances"] .ecosystem__list-item:nth-child(3) .ecosystem__logo {
  width: clamp(9rem, 9.583vw, 184px);
  height: clamp(3.5rem, 3.854vw, 74px);
}

.ecosystem__location {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.3rem, 0.36vw, 7px);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 1.146vw, 22px);
  color: rgba(0, 0, 0, 0.8);
  white-space: nowrap;
}

.ecosystem__location-pin {
  width: clamp(0.65rem, 0.63vw, 12px);
  height: clamp(0.65rem, 0.63vw, 12px);
  flex-shrink: 0;
  color: #7e6131;
}

.ecosystem__view-all {
  display: block;
  text-align: right;
  margin-top: clamp(0.75rem, 0.83vw, 16px);
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.9rem, 0.938vw, 18px);
  color: #7e6131;
}

.ecosystem__card img {
  transition: opacity 0.18s ease, transform 0.45s ease;
}

.ecosystem__card img.is-changing {
  opacity: 0.35;
  transform: scale(1.015);
}

@media (max-width: 991.98px) {
  .ecosystem > .container {
    width: calc(100% - 2rem);
  }

  .ecosystem__body {
    grid-template-columns: 1fr;
  }

  .ecosystem__list {
    padding-left: 0;
    padding-right: 0;
  }

  .ecosystem__list-item {
    min-height: 5rem;
  }

  .ecosystem__logo {
    width: 9rem;
    height: 3.5rem;
  }

  .ecosystem__list[data-ecosystem-view] .ecosystem__logo,
  .ecosystem__list[data-ecosystem-view] .ecosystem__list-item:nth-child(n) .ecosystem__logo {
    width: 9rem;
    height: 3.5rem;
  }

  .ecosystem__location {
    font-size: 1rem;
  }
}

/* ============ Our Foundation ============ */

.foundation {
  position: relative;
  background: url("../images/foundation-bg.png") center/cover no-repeat;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

.foundation::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #352b46;
}

.foundation > .container {
  position: relative;
  z-index: 1;
}

.foundation__heading {
  color: #fff;
}

.foundation__copy {
  max-width: min(600px, 90vw);
  margin: clamp(0.75rem, 0.83vw, 16px) auto 0;
  color: #d8d5df;
}

.foundation__cta {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.5rem, 0.75vw, 14.4px);
  margin-top: clamp(1.5rem, 3.13vw, 60px);
  padding: clamp(0.7rem, 0.94vw, 18px) clamp(1.25rem, 1.82vw, 35px);
  background: #fff;
  border-radius: 4px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.85rem, 0.83vw, 16px);
  font-weight: 500;
  color: #352b46;
}

.foundation__cta img {
  width: clamp(0.75rem, 0.83vw, 16px);
}

.foundation__stats {
  margin-top: clamp(2.5rem, 5.2vw, 100px);
  text-align: left;
}

.foundation__stat {
  position: relative;
  padding-left: clamp(1.25rem, 1.46vw, 28px);
}

.foundation__stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: clamp(0.65rem, 0.63vw, 12px);
  height: clamp(0.65rem, 0.63vw, 12px);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.15);
}

@media (min-width: 768px) {
  .foundation__stat:nth-child(2) {
    margin-top: clamp(1.5rem, 2.6vw, 50px);
  }

  .foundation__stat:nth-child(4) {
    margin-top: clamp(-1.5rem, -2.6vw, -50px);
  }
}

.foundation__stat-value {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.75rem, 2.6vw, 50px);
  font-weight: 700;
}

.foundation__stat-value span {
  color: #b89b5e;
}

.foundation__stat-label {
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.85rem, 0.83vw, 16px);
  color: #d8d5df;
  margin-top: clamp(0.2rem, 0.21vw, 4px);
}

/* ============ Global map artwork ============ */

.leaders-map {
  position: relative;
  height: clamp(42rem, 44.167vw, 53rem);
  overflow: hidden;
  background: #fff;
}

.leaders-map__canvas {
  position: absolute;
  top: clamp(2rem, 3.021vw, 58px);
  left: 50%;
  width: min(56.927vw, 1093px);
  height: min(38.137vw, 732px);
  transform: translateX(-50%);
}

.leaders-map__canvas img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.leaders-map__pulse {
  position: absolute;
  /* Figma marker group: x=738, y=389 inside the 1093x732 map layer. */
  top: 53.14%;
  left: 67.52%;
  width: clamp(2.25rem, 3.125vw, 60px);
  height: clamp(2.25rem, 3.125vw, 60px);
  animation: leaders-map-pulse-rotate 8.5s linear infinite;
}

.leaders-map__pulse-ring,
.leaders-map__pulse-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center;
}

.leaders-map__pulse-ring--outer {
  width: 100%;
  height: 100%;
  background: rgba(53, 43, 70, 0.28);
  animation: leaders-map-pulse-outer 8.5s linear infinite;
}

.leaders-map__pulse-ring--mid {
  width: 61.111%;
  height: 61.111%;
  background: rgba(53, 43, 70, 0.61);
  animation: leaders-map-pulse-mid 8.5s linear infinite;
}

.leaders-map__pulse-dot {
  width: 27.778%;
  height: 27.778%;
  background: #dddcdc;
  animation: leaders-map-pulse-dot 8.5s linear infinite;
}

@keyframes leaders-map-pulse-rotate {
  0%, 35.294% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes leaders-map-pulse-outer {
  0%, 5.882%, 14.118%, 29.412%, 37.647%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  10%, 33.529% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); }
}

@keyframes leaders-map-pulse-mid {
  0%, 2.941%, 11.176%, 26.471%, 34.706%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  7.059%, 30.588% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); }
}

@keyframes leaders-map-pulse-dot {
  0%, 8.235%, 23.529%, 31.765%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  4.118%, 27.647% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); }
}

/* ============ Powering Leaders ============ */

.leaders.section-pad {
  position: relative;
  /* Keep the logo strip's bottom rule inside the section at fluid widths. */
  height: clamp(16rem, 24vw, 28.125rem);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.leaders > .container {
  position: relative;
  width: 100%;
  max-width: none;
  height: 100%;
  padding-right: 0;
  padding-left: 0;
}

.leaders__heading {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  margin: 0;
  color: #352b46;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.2rem, 2.604vw, 50px);
  font-weight: 700;
  line-height: 1.08;
  text-align: center;
  transform: translateX(-50%);
}

.leaders__copy {
  position: absolute;
  top: clamp(3rem, 4.741vw, 91px);
  left: 50%;
  width: min(50.223vw, 964px);
  max-width: calc(100% - 2rem);
  margin: 0;
  color: #000;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.146vw, 22px);
  font-weight: 400;
  line-height: 1.34;
  text-align: center;
  transform: translateX(-50%);
}

.leaders__logos {
  position: absolute;
  top: clamp(7.75rem, 14.2547vw, 273.67px);
  left: 0;
  width: 100%;
  height: clamp(6rem, 9.22vw, 177px);
  z-index: 2;
  margin: 0;
  overflow: hidden;
  border-top: 1px dashed #352b46;
  border-bottom: 1px dashed #352b46;
}

.leaders__logos-track {
  display: flex;
  width: 200%;
  height: 100%;
  animation: leaders-scroll 23s linear infinite;
  will-change: transform;
}

.leaders__logos:hover .leaders__logos-track,
.leaders__logos:focus-within .leaders__logos-track {
  animation-play-state: paused;
}

@keyframes leaders-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.leaders__logo-item {
  flex: 0 0 10%;
  width: 10%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(0.5rem, 1.04vw, 20px);
  border-left: 1px dashed rgba(53, 43, 70, 0.42);
}

.leaders__logo-item:nth-child(6) {
  border-left: 1px dashed rgba(53, 43, 70, 0.42);
}

.leaders__logo-item img {
  display: block;
  max-width: 100%;
  max-height: 92px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.leaders__logo-item:nth-child(1) img,
.leaders__logo-item:nth-child(6) img {
  width: clamp(11rem, 13.184vw, 253px);
}

.leaders__logo-item:nth-child(2) img,
.leaders__logo-item:nth-child(7) img {
  width: clamp(9rem, 8.336vw, 160px);
}

.leaders__logo-item:nth-child(3) img,
.leaders__logo-item:nth-child(8) img {
  width: clamp(9rem, 9.762vw, 187px);
}

.leaders__logo-item:nth-child(4) img,
.leaders__logo-item:nth-child(9) img {
  width: clamp(9rem, 9.169vw, 176px);
}

.leaders__logo-item:nth-child(5) img,
.leaders__logo-item:nth-child(10) img {
  width: clamp(9rem, 9.585vw, 184px);
}

@media (prefers-reduced-motion: reduce) {
  .leaders__logos-track {
    animation: none;
  }
}

@media (max-width: 991.98px) {
  .leaders-map {
    height: clamp(32rem, 70vw, 42rem);
  }

  .leaders-map__canvas {
    top: 2rem;
    width: calc(100% - 2rem);
    height: auto;
    aspect-ratio: 1131.39 / 734.227;
  }

  .leaders-map__pulse {
    width: clamp(2.25rem, 6vw, 3.75rem);
    height: clamp(2.25rem, 6vw, 3.75rem);
  }

  .leaders.section-pad {
    height: clamp(16rem, 35vw, 29.375rem);
  }

  .leaders__heading {
    top: 1.5rem;
    font-size: clamp(1.2rem, 2.604vw, 50px);
  }

  .leaders__copy {
    top: clamp(4rem, 4.741vw, 91px);
    width: calc(100% - 2rem);
    font-size: clamp(0.75rem, 2vw, 1.375rem);
  }

  .leaders__logos {
    top: clamp(8rem, 14.2547vw, 273.67px);
    height: clamp(4rem, 11.5vw, 220px);
  }

  .leaders__logo-item img {
    max-height: clamp(1.25rem, 5.5vw, 5rem);
  }
}

@media (max-width: 575.98px) {
  .leaders.section-pad {
    height: clamp(16rem, 35vw, 29.375rem);
  }

  .leaders__copy {
    top: clamp(4rem, 4.741vw, 91px);
  }

  .leaders__logos {
    top: clamp(8rem, 14.2547vw, 273.67px);
    height: clamp(4rem, 11.5vw, 220px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .leaders-map__pulse,
  .leaders-map__pulse-ring,
  .leaders-map__pulse-dot {
    animation: none;
  }

  .leaders-map__pulse-ring--outer,
  .leaders-map__pulse-ring--mid,
  .leaders-map__pulse-dot {
    opacity: 0.8;
  }
}

/* ============ A Legacy of Engineering ============ */

.legacy {
  position: relative;
  height: clamp(20rem, 43.8vw, 841px);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.legacy > .container {
  position: relative;
  z-index: 4;
  height: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.legacy__heading {
  position: absolute;
  top: 0;
  left: 4.94%;
  color: #352b46;
  margin: 0;
  font-size: clamp(2rem, 2.61vw, 50.14px);
  line-height: 1.15;
}

.legacy__body {
  position: absolute;
  top: 9.77%;
  left: 5.72%;
  display: block;
  max-width: min(656px, 34.14vw);
  margin: 0;
  padding-left: clamp(0.25rem, 0.78vw, 15px);
}

.legacy__body-rule {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: clamp(4rem, 3.7vw, 71px);
  border-left: 1px dashed rgba(53, 43, 70, 0.6);
}

.legacy__body p {
  color: #393939;
  font-size: clamp(0.5rem, 1.15vw, 22.06px);
  font-weight: 300;
  line-height: 1.18;
}

.legacy__cta {
  position: absolute;
  z-index: 5;
  top: 24.26%;
  left: 4.94%;
  display: inline-flex;
  align-items: center;
  width: clamp(6rem, 14.27vw, 274px);
  height: clamp(1.25rem, 2.66vw, 51px);
  padding: 0;
  border: 1px solid #7e6131;
  border-radius: 4px;
  color: #7e6131;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.5rem, 1.04vw, 20px);
  font-weight: 500;
  justify-content: space-between;
  box-sizing: border-box;
  background: #fff;
}

.legacy__cta img {
  position: absolute;
  top: 53%;
  left: 83.58%;
  width: clamp(0.75rem, 1.46vw, 28px);
  margin: 0;
  transform: translateY(-50%);
}

.legacy__cta > span:first-child {
  position: absolute;
  top: 23.53%;
  left: 11.68%;
  width: 53.65%;
  line-height: 1.2;
  white-space: nowrap;
}

.legacy__cta::after {
  content: "";
  position: absolute;
  top: 9%;
  right: auto;
  left: 77.74%;
  width: 1px;
  height: 82%;
  background: #7e6131;
}

.legacy__band {
  position: absolute;
  z-index: 1;
  top: 50.12%;
  left: 0;
  width: 100%;
  height: 33.03%;
  margin: 0;
  overflow: visible;
  background: #21182d;
}

/* Figma leaves a deliberate white breathing space before the Legacy section. */
@media (min-width: 992px) {
  .legacy {
    margin-top: clamp(3rem, 3.65vw, 70px);
  }
}

.legacy__visual {
  position: absolute;
  z-index: 2;
  top: -164%;
  left: 29.06%;
  width: min(71vw, 1362px);
  height: min(44.22vw, 849px);
  pointer-events: none;
}

.legacy__lines {
  position: absolute;
  z-index: 1;
  top: -27.68%;
  left: 50.81%;
  width: 66.67%;
  height: 96.22%;
  object-fit: contain;
  transform: rotate(13.75deg);
  transform-origin: center;
}

.legacy__orb {
  position: absolute;
  z-index: 1;
  top: 17.2%;
  left: 20.7%;
  width: 39.72%;
  height: auto;
}

.legacy__image {
  position: absolute;
  z-index: 2;
  top: 11.07%;
  left: 0;
  display: block;
  width: 100%;
  height: 88.93%;
  max-width: none;
  object-fit: fill;
}

@media (max-width: 767.98px) {
  .legacy {
    height: clamp(20rem, 43.8vw, 841px);
  }

  .legacy__heading {
    top: 0;
    left: 4.94%;
    right: auto;
    font-size: clamp(1.2rem, 2.61vw, 50px);
  }

  .legacy__body {
    top: 9.77%;
    left: 5.72%;
    max-width: min(656px, 34.14vw);
    padding-left: clamp(0.25rem, 0.78vw, 15px);
  }

  .legacy__body p {
    font-size: clamp(0.5rem, 1.15vw, 22.06px);
    line-height: 1.35;
  }

  .legacy__band {
    top: 50.12%;
    height: 33.03%;
  }

  .legacy__visual {
    left: 29.06%;
    width: min(71vw, 1362px);
    height: min(44.22vw, 849px);
  }
}

/* ============ Sustainable Solutions ============ */

.sustainability {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: clamp(30rem, 44.84375vw, 53.8125rem);
  margin-top: clamp(2rem, 3.4896vw, 4.2rem);
  color: #fff;
  overflow: hidden;
}

.sustainability__media,
.sustainability__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sustainability__media {
  z-index: -3;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: var(--sustainability-image-environment, none);
}

.sustainability__media::before,
.sustainability__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
  will-change: opacity;
}

.sustainability__media::before {
  background-image: var(--sustainability-image-governance, none);
}

.sustainability__media::after {
  background-image: var(--sustainability-image-social, none);
  transform: scaleX(-1);
}

.sustainability[data-sustainability-state="governance"] .sustainability__media::before,
.sustainability[data-sustainability-state="social"] .sustainability__media::after {
  opacity: 1;
}

.sustainability__scrim {
  z-index: -2;
  right: 58.06%;
  background: linear-gradient(90deg, rgba(53, 43, 70, .88) 0%, rgba(53, 43, 70, .58) 57%, rgba(53, 43, 70, 0) 100%);
}

.sustainability__grid {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .7;
}

.sustainability__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.sustainability__copy-block {
  position: absolute;
  z-index: 2;
  top: 6.25vw;
  left: 4.58vw;
  width: min(36.5vw, 44rem);
}

.sustainability__heading {
  max-width: 39rem;
  margin: 0;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 2.60417vw, 3.125rem);
  font-weight: 400;
  line-height: 1.02;
}

.sustainability__heading-break {
  display: none;
}

.sustainability__copy {
  max-width: 26.1vw;
  margin: clamp(.75rem, 1.04vw, 1.2rem) 0 0;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(.9rem, 1.04167vw, 1.25rem);
  font-weight: 400;
  line-height: 1.1;
}

.sustainability__cta {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: clamp(10.75rem, 11.174vw, 214.543px);
  min-height: clamp(2.55rem, 2.663vw, 51.129px);
  margin-top: clamp(1rem, 1.56vw, 1.875rem);
  padding: 0;
  border: 1px solid #7e6131;
  border-radius: 4px;
  background: #fff;
  color: #7e6131;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.044vw, 20.05px);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}

.sustainability__cta > span:first-child {
  display: flex;
  align-items: center;
  width: clamp(7.9rem, 8.219vw, 157.8px);
  height: 100%;
  padding-left: clamp(.75rem, .89vw, 17.09px);
  box-sizing: border-box;
}

.sustainability__cta-divider {
  width: 1px;
  height: 82.34%;
  flex: 0 0 1px;
  margin: 0;
  background: #7e6131;
}

.sustainability__cta img {
  width: clamp(1.35rem, 1.462vw, 28.071px);
  height: auto;
  margin-left: clamp(.55rem, .576vw, 11.05px);
  margin-right: clamp(.75rem, .917vw, 17.6px);
}

.sustainability__circles {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.sustainability__circle {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(9.5rem, 18.23vw, 21.875rem);
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  color: #352b46;
  background: rgba(255, 255, 255, .6);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.2rem, 2.0833vw, 2.5rem);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}

.sustainability__circle span { margin-left: .2em; }

.sustainability__circle--environment { top: 4.11vw; left: 39.48%; }
.sustainability__circle--governance { top: 4.11vw; left: 76.14%; }
.sustainability__circle--social { top: 22.6vw; left: 57.8%; }

.sustainability[data-sustainability-state="environment"] .sustainability__circle--environment,
.sustainability[data-sustainability-state="social"] .sustainability__circle--social,
.sustainability[data-sustainability-state="governance"] .sustainability__circle--governance {
  background: #352b46;
  color: #fff;
}

.sustainability__circle:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

@media (max-width: 767.98px) {
  .sustainability { height: 42rem; margin-top: 3rem; }
  .sustainability__media { background-size: auto 130%; }
  .sustainability__scrim {
    right: 0;
    bottom: 45%;
    background: linear-gradient(180deg, rgba(53, 43, 70, .88), rgba(53, 43, 70, .18));
  }
  .sustainability__copy-block { top: 2.5rem; left: 1.5rem; width: calc(100% - 3rem); }
  .sustainability__heading { font-size: clamp(2rem, 9vw, 3rem); }
  .sustainability__heading-break { display: inline; }
  .sustainability__copy { max-width: 24rem; font-size: 1rem; }
  .sustainability__circle { width: clamp(9rem, 38vw, 12rem); font-size: 1.25rem; }
  .sustainability__circle--environment { top: 15rem; left: 8%; }
  .sustainability__circle--governance { top: 15rem; left: 54%; }
  .sustainability__circle--social { top: 28rem; left: 31%; }
}

/* ============ Get In Touch ============ */

.contact__heading-row {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.63vw, 12px);
}

.contact__heading-dot {
  width: clamp(0.4rem, 0.42vw, 8px);
  height: clamp(0.4rem, 0.42vw, 8px);
  border-radius: 50%;
  background: #7e6131;
  flex-shrink: 0;
}

.contact__form {
  margin-top: clamp(2rem, 4.17vw, 60px);
}

.contact__field {
  margin-bottom: clamp(1.5rem, 2.6vw, 40px);
}

.contact__field label {
  display: block;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.8rem, 0.99vw, 19px);
  color: #4a4a4a;
  margin-bottom: clamp(0.4rem, 0.63vw, 12px);
}

.contact__field input,
.contact__field textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: clamp(0.25rem, 0.36vw, 7px) 0;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.85rem, 0.83vw, 16px);
  color: #1a1a1a;
  background: transparent;
  resize: none;
}

.contact__field input:focus,
.contact__field textarea:focus {
  outline: none;
  border-bottom-color: #7e6131;
}

.contact__submit {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.5rem, 0.75vw, 14.4px);
  padding: clamp(0.6rem, 0.71vw, 13.6px) clamp(1rem, 1.25vw, 24px);
  border: 1px solid #7e6131;
  border-radius: 4px;
  background: transparent;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.85rem, 0.83vw, 16px);
  font-weight: 500;
  color: #7e6131;
  cursor: pointer;
}

.contact__submit img {
  width: clamp(0.7rem, 0.78vw, 15px);
}

.contact__note {
  margin-top: clamp(0.75rem, 0.83vw, 16px);
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.8rem, 0.75vw, 14.4px);
  color: #7e6131;
}

/* Home contact form: Component 248 / Contact Us form from Figma. */
.contact.section-pad {
  height: clamp(27rem, 26.979vw, 32.375rem);
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.contact > .container {
  position: relative;
  width: 80.853vw;
  max-width: none;
  height: 100%;
  margin: 0 auto;
  padding: 0;
}

.contact__heading-row {
  position: absolute;
  top: 23.166%;
  left: 0;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.358vw, 1.625rem);
}

.contact__heading-dot {
  width: clamp(.75rem, .9924vw, 1.191rem);
  height: clamp(.75rem, .9924vw, 1.191rem);
  border-radius: 50%;
  background: #7e6131;
}

.contact__heading-row h3 {
  color: #352b46;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1.25rem, 1.567vw, 1.88rem);
  font-weight: 500;
  line-height: 1.368;
}

.contact__form {
  position: absolute;
  inset: 0;
  margin: 0;
}

.contact__form > .row {
  position: absolute;
  top: 24.328%;
  right: 0;
  left: 33.525%;
  display: grid;
  grid-template-columns: 37.7% 43.53%;
  column-gap: 18.77%;
  margin: 0;
}

.contact__form > .row > [class*="col-"] {
  width: auto;
  padding: 0;
}

.contact__field {
  width: 100%;
  margin: 0;
}

.contact__field + .contact__field {
  margin-top: clamp(2.5rem, 3.656vw, 4.39rem);
}

.contact__field label {
  display: block;
  height: clamp(1.5rem, 1.567vw, 1.88rem);
  margin: 0;
  color: #352b46;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.045vw, 1.255rem);
  font-weight: 400;
  line-height: 1.2;
}

.contact__field input,
.contact__field textarea {
  display: block;
  width: 100%;
  height: 1px;
  min-height: 1px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #8f8b96;
  border-radius: 0;
  color: #352b46;
  background: transparent;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(.9rem, .94vw, 1.125rem);
  resize: none;
}

.contact__form > .text-end {
  position: absolute;
  top: 63.821%;
  right: 0;
  width: auto;
}

.contact__submit {
  display: block;
  position: relative;
  width: clamp(8.5rem, 10.55vw, 12.66rem);
  height: clamp(2.25rem, 2.664vw, 3.196rem);
  padding: 0;
  border: 1px solid #7e6131;
  border-radius: 4px;
  background: #fff;
  color: #7e6131;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(1rem, 1.045vw, 1.255rem);
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

.contact__submit:hover,
.contact__submit:focus-visible {
  border-color: #7e6131;
  background: #fff;
  color: #7e6131;
}

.contact__submit-divider {
  position: absolute;
  top: 9.8%;
  left: 77.09%;
  width: 1px;
  height: 82.34%;
  margin: 0;
  background: #7e6131;
}

.contact__submit > span:first-child {
  position: absolute;
  top: 27.46%;
  left: 11.88%;
  width: 53.95%;
  white-space: nowrap;
  line-height: 1.2;
}

.contact__submit img {
  position: absolute;
  top: 53%;
  left: 81.77%;
  display: block;
  width: clamp(1.25rem, 1.539vw, 1.847rem);
  height: auto;
  transform: translateY(-50%);
}

.contact__note { display: none; }
.contact__note.is-visible,
.contact-enquiry__note.is-visible { display: block; color: #7e6131; }

@media (max-width: 767.98px) {
  .contact.section-pad {
    height: auto;
    min-height: 34rem;
    padding: 3rem 0;
  }

  .contact > .container {
    width: calc(100% - 3rem);
    height: auto;
  }

  .contact__heading-row,
  .contact__form,
  .contact__form > .row,
  .contact__form > .text-end {
    position: static;
  }

  .contact__form { margin-top: 3rem; }
  .contact__form > .row { display: block; }
  .contact__form > .row > [class*="col-"] + [class*="col-"] { margin-top: 2.75rem; }
  .contact__field + .contact__field { margin-top: 2.75rem; }
  .contact__form > .text-end { margin-top: 3rem; text-align: left !important; }
}

/* ============ Footer ============ */

.site-footer {
  background: #0d0d0d;
  color: #fff;
  padding-top: clamp(2rem, 4.17vw, 60px);
  padding-bottom: clamp(1.5rem, 3.13vw, 40px);
}

.site-footer__logo {
  height: clamp(2.25rem, 2.92vw, 56px);
  width: auto;
}

.site-footer__nav {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 1.82vw, 35px);
  margin: 0;
  padding: 0;
}

.site-footer__nav a {
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.8rem, 0.99vw, 19px);
  color: #fff;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus {
  color: #7e6131;
}

.site-footer__social {
  list-style: none;
  display: flex;
  gap: clamp(0.5rem, 0.78vw, 15px);
  margin: 0;
  padding: 0;
}

.site-footer__social a,
.site-footer__social li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(1.75rem, 1.875vw, 36px);
  height: clamp(1.75rem, 1.875vw, 36px);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
}

.site-footer__social a:hover,
.site-footer__social a:focus-visible {
  border-color: #7e6131;
  color: #7e6131;
}

.site-footer__social svg {
  width: clamp(0.8rem, 0.83vw, 16px);
  height: clamp(0.8rem, 0.83vw, 16px);
}

.site-footer__rule {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin: clamp(1.5rem, 3.13vw, 40px) 0 clamp(1rem, 1.56vw, 24px);
}

.site-footer__copyright {
  text-align: center;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.75rem, 0.73vw, 14px);
  color: #999;
}

/* ============ Responsive adjustments ============ */

@media (max-width: 991.98px) {
  .foundation__stat:nth-child(2),
  .foundation__stat:nth-child(4) {
    margin-top: 0;
  }
}

@media (max-width: 767.98px) {
  .expertise {
    overflow: hidden;
  }

  .expertise__heading {
    width: calc(100% - 2rem);
    max-width: 480px;
  }

  .expertise-carousel__viewport {
    width: min(100% - 2rem, 480px);
    height: min(120vw, 480px);
    aspect-ratio: auto;
    transform: none;
  }

  .expertise-overview__carousel .expertise-carousel__viewport {
    overflow: hidden;
  }

  .expertise-carousel__slide:not(.expertise-carousel__slide--active) {
    visibility: hidden;
    pointer-events: none;
  }

  .expertise-carousel__slide--active {
    left: 8%;
    top: 0;
    width: 84%;
    height: 86%;
    border-radius: 22px;
  }

  .expertise-carousel__caption {
    font-size: clamp(0.9rem, 3.8vw, 1.2rem);
  }

  .expertise-carousel__controls {
    left: 50%;
    bottom: 2%;
    transform: translateX(-50%);
  }
}

/* ==========================================================
   ABOUT JNV PAGE
   Source: About JNV design supplied in PDF / Figma frame.
   All selectors are scoped with .about- to keep the shared
   home-page styles unchanged.
   ========================================================== */

.about-page {
  --about-purple: #342946;
  --about-deep: #080914;
  --about-gold: #9a7640;
  --about-muted: #817b85;
  background: #fff;
}

.about-page .navbar .nav-link.active {
  color: var(--about-gold);
}

.about-display {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 3.25vw, 52px);
  font-weight: 600;
  line-height: 1.05;
  color: var(--about-purple);
}

/* ---------- About hero ---------- */

.about-hero {
  min-height: clamp(390px, 47.7vw, 687px);
  overflow: hidden;
  background: var(--about-deep);
}

.about-hero__image,
.about-contact__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-hero__image {
  object-position: center 49%;
}

.about-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 5, 14, 0.62) 0%, rgba(5, 5, 14, 0.08) 58%);
}

.about-hero__content {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: clamp(2rem, 6vw, 86px);
  transform: translateX(-50%);
}

.about-hero h1 {
  max-width: 560px;
  color: #fff;
  font-size: clamp(2.25rem, 4.1vw, 59px);
  line-height: 1.02;
}

.about-breadcrumb {
  padding: 0.75rem 0;
  background: var(--about-gold);
  color: #fff;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.72rem, 0.78vw, 12px);
}

.about-breadcrumb .container {
  display: flex;
  gap: 0.55rem;
  align-items: center;
}

.about-breadcrumb a {
  color: #fff;
}

.about-breadcrumb a:hover,
.about-breadcrumb a:focus-visible {
  text-decoration: underline;
}

/* ---------- Trust earned ---------- */

.about-trust {
  position: relative;
  min-height: clamp(510px, 49vw, 710px);
  padding: clamp(4rem, 7.5vw, 108px) 0;
  overflow: hidden;
}

.about-trust::after {
  content: "";
  position: absolute;
  right: -12%;
  bottom: 2%;
  width: 70%;
  height: 1px;
  background: rgba(154, 118, 64, 0.22);
  transform: rotate(-9deg);
  transform-origin: right;
}

.about-trust__copy {
  max-width: 460px;
  margin-top: clamp(1.25rem, 2vw, 28px);
  color: #57545b;
  font-size: clamp(1rem, 1.2vw, 17px);
}

.about-trust__visual {
  position: relative;
  min-height: clamp(310px, 34vw, 490px);
}

.about-trust__visual img {
  position: absolute;
  z-index: 1;
  right: -7%;
  top: 50%;
  width: min(760px, 67vw);
  max-width: none;
  transform: translateY(-45%);
}

.about-trust__line {
  position: absolute;
  right: -25%;
  width: 115%;
  height: 1px;
  background: rgba(154, 118, 64, 0.18);
  transform: rotate(-10deg);
}

.about-trust__line--one { top: 56%; }
.about-trust__line--two { top: 70%; }

/* ---------- Vision / mission ---------- */

.about-purpose__panel {
  position: relative;
  min-height: clamp(430px, 49vw, 705px);
  overflow: hidden;
}

.about-purpose__panel--vision {
  background: var(--about-purple);
}

.about-purpose__curves {
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background:
    radial-gradient(120% 90% at 9% 125%, transparent 62%, rgba(167, 140, 211, 0.55) 62.25%, transparent 62.6%),
    radial-gradient(120% 90% at 9% 125%, transparent 72%, rgba(167, 140, 211, 0.4) 72.25%, transparent 72.6%);
}

.about-purpose__panel--mission {
  background: #090a12;
}

.about-purpose__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.83);
}

.about-purpose__circle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(235px, 31vw, 445px);
  height: clamp(235px, 31vw, 445px);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.about-purpose__circle--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 69% center;
  transform: scale(1.85);
}

.about-purpose__circle--purple {
  background: var(--about-purple);
}

.about-purpose__copy {
  position: absolute;
  z-index: 2;
  width: min(390px, 29vw);
  color: #fff;
}

.about-purpose__copy--left {
  left: clamp(1rem, 4.91vw, 6rem);
  top: 50%;
  transform: translateY(-50%);
}

.about-purpose__copy--right {
  right: clamp(1rem, 4.91vw, 6rem);
  top: 50%;
  transform: translateY(-50%);
}

.about-purpose__copy span {
  display: block;
  margin-bottom: 1rem;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.78rem, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d3b880;
}

.about-purpose__copy h2 {
  color: #fff;
  font-size: clamp(1.35rem, 2.15vw, 34px);
  line-height: 1.22;
}

/* ---------- History timeline ---------- */

.about-history {
  padding: clamp(5rem, 9vw, 130px) 0 clamp(5rem, 10vw, 145px);
}

.about-history__intro {
  max-width: 840px;
  margin: 0 auto clamp(5rem, 9vw, 130px);
  text-align: center;
  color: #c9c3cd;
  font-size: clamp(1.75rem, 3vw, 43px);
  font-weight: 400;
  line-height: 1.25;
}

.about-timeline {
  position: relative;
  max-width: 1050px;
  margin: 0 auto;
}

.about-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  border-left: 1px solid #ece8ee;
}

.about-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  min-height: clamp(420px, 39vw, 560px);
}

.about-timeline__item::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 3.4rem;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--about-gold);
  box-shadow: 0 0 0 6px rgba(154, 118, 64, 0.13);
  transform: translateX(-50%);
}

.about-timeline__year {
  padding: 2.3rem clamp(2rem, 5vw, 72px) 0 0;
  text-align: right;
  color: #342d39;
}

.about-timeline__year strong {
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(3rem, 5.2vw, 75px);
  line-height: 0.95;
  font-weight: 400;
  color: #eeeaf0;
}

.about-timeline__year span {
  display: block;
  margin-top: 0.65rem;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 0.9rem;
  line-height: 1.2;
  font-weight: 500;
}

.about-timeline__year--featured {
  position: relative;
  width: clamp(180px, 19vw, 275px);
  height: clamp(180px, 19vw, 275px);
  margin-left: auto;
  margin-right: clamp(2rem, 5vw, 72px);
  padding: clamp(3.5rem, 5.4vw, 78px) clamp(2rem, 3.2vw, 46px) 0 0;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 28%, #d2c8e5, #f8f6fa 69%);
  text-align: right;
  box-shadow: 0 14px 38px rgba(88, 68, 112, 0.13);
}

.about-timeline__year--featured strong {
  color: #e7dff0;
}

.about-timeline__content {
  padding-left: clamp(2rem, 5vw, 72px);
  max-width: 510px;
}

.about-timeline__image {
  width: 100%;
  height: clamp(190px, 18vw, 260px);
  object-fit: cover;
  border-radius: 12px;
}

.about-timeline__image--logo {
  height: clamp(155px, 15vw, 215px);
  object-fit: contain;
  border-radius: 0;
}

.about-timeline__content h3 {
  margin-top: 1.4rem;
  color: var(--about-purple);
  font-size: clamp(1.25rem, 1.75vw, 25px);
  font-weight: 500;
}

.about-timeline__content small {
  display: block;
  margin-top: 0.65rem;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--about-purple);
}

.about-timeline__content p {
  max-width: 430px;
  margin-top: 0.35rem;
  color: #77717b;
  font-size: clamp(0.86rem, 0.95vw, 14px);
  line-height: 1.45;
}

/* ---------- Awards ---------- */

.about-awards {
  padding: 0 0 clamp(5rem, 10vw, 145px);
}

.about-awards__tabs {
  display: flex;
  justify-content: center;
  max-width: 720px;
  margin: clamp(2rem, 4vw, 58px) auto clamp(2.5rem, 5vw, 72px);
  border-bottom: 1px dashed #cfc9d2;
}

.about-awards__tabs button {
  position: relative;
  flex: 1 1 0;
  padding: 0.7rem 0.25rem 1rem;
  border: 0;
  background: transparent;
  color: #c0bbc3;
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.75rem, 0.85vw, 13px);
}

.about-awards__tabs button.is-active {
  color: var(--about-gold);
}

.about-awards__tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--about-gold);
  transform: translateX(-50%);
}

.about-awards__grid {
  max-width: 1220px;
  margin: 0 auto;
}

.about-award-card {
  height: 100%;
  text-align: center;
}

.about-award-card > span,
.about-award-card small {
  display: block;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.72rem;
  color: #8d8790;
}

.about-award-card h3 {
  min-height: 2.5em;
  margin: 0.25rem 0 1rem;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.15vw, 17px);
  color: #3e3744;
}

.about-award-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.32 / 1;
  object-fit: cover;
  border-radius: 11px;
}

.about-award-card small {
  margin-top: 0.65rem;
}

.about-awards__empty {
  padding: 4rem 1rem;
  text-align: center;
  color: #8d8790;
  font-size: 1rem;
}

.about-awards__button {
  margin-top: clamp(2rem, 4vw, 58px);
}

/* ---------- Contact banner ---------- */

.about-contact {
  position: relative;
  min-height: clamp(420px, 47vw, 675px);
  overflow: hidden;
  background: #080911;
}

.about-contact__image {
  object-position: center;
}

.about-contact__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 7, 13, 0.97) 0%, rgba(5, 7, 13, 0.78) 32%, rgba(5, 7, 13, 0.08) 75%);
}

.about-contact__content {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.about-contact h2 {
  color: #fff;
  font-size: clamp(2rem, 3.3vw, 48px);
  line-height: 1.02;
}

.about-contact p {
  max-width: 410px;
  margin-top: 1.25rem;
  color: #dedbe1;
  font-size: clamp(0.95rem, 1.1vw, 16px);
}

.about-contact__button {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 1.5rem;
  padding: 0.72rem 1.2rem;
  border-radius: 3px;
  background: #fff;
  color: #352b46;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
}

.about-contact__button img {
  width: 14px;
}

.about-contact__button:hover,
.about-contact__button:focus-visible {
  background: var(--about-gold);
  color: #fff;
}

.about-contact__button:hover img,
.about-contact__button:focus-visible img {
  filter: brightness(0) invert(1);
}

.about-page .site-footer {
  padding-top: clamp(2rem, 3.5vw, 50px);
}

.about-page .site-footer__social a {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
}

/* ==========================================================
   Automotive industry page modifiers
   Reuses the shared industries hero/breadcrumb, section heading,
   button, logo carousel, contact banner and footer components.
   ========================================================== */

.automotive-page {
  --automotive-ink: #352b46;
  --about-gold: #7e6131;
  margin: 0;
  color: #111;
}

.automotive-hero {
  min-height: clamp(32rem, 47.7vw, 57.25rem);
}

.automotive-hero .industries-hero__image {
  inset: 0;
  height: 100%;
  object-position: center;
  transform: none;
}

.automotive-hero .industries-hero__shade {
  background: linear-gradient(180deg, rgba(9, 8, 13, 0) 44%, rgba(7, 6, 12, 0.62) 100%);
}

.automotive-hero .industries-hero__content {
  bottom: clamp(3.25rem, 5.4vw, 6.5rem);
}

.automotive-hero .industries-hero__title {
  max-width: 68rem;
  font-size: clamp(2.75rem, 3.125vw, 3.75rem);
  font-weight: 700;
  line-height: 1.08;
}

.automotive-platforms {
  padding: clamp(3rem, 4vw, 4.8rem) 0 clamp(3.5rem, 5vw, 6rem);
  overflow: hidden;
}

.automotive-platform-tabs {
  display: grid;
  grid-template-columns: minmax(15rem, 21.7rem) minmax(20rem, 29rem);
  gap: clamp(1rem, 1.15vw, 1.4rem);
  align-items: stretch;
  justify-content: center;
}

.automotive-platform-tab {
  position: relative;
  min-width: 0;
  padding: 0 0 3.25rem;
  overflow: hidden;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--automotive-ink);
  opacity: 0.42;
  cursor: pointer;
  transition: border-color 360ms ease, opacity 360ms ease;
}

.automotive-platform-tab:hover,
.automotive-platform-tab.is-active {
  border-bottom-color: var(--about-gold);
  opacity: 1;
}

.automotive-platform-tab:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 5px;
}

.automotive-platform-tab__visual {
  display: block;
  height: clamp(22rem, 18.7vw, 22.45rem);
  overflow: hidden;
}

.automotive-platform-tab__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.automotive-platform-tab__label {
  position: absolute;
  right: 0;
  bottom: 0.75rem;
  left: 0;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.35rem, 1.55vw, 1.85rem);
  line-height: 1;
  text-align: center;
}

.automotive-product-panels {
  margin-top: clamp(2.5rem, 4vw, 4.75rem);
}

.automotive-product-panel[hidden] {
  display: none !important;
}

.automotive-product-panel.is-active {
  animation: automotive-panel-enter 520ms ease both;
}

.automotive-product-explorer {
  width: min(calc(100% - 2rem), 90.875rem);
  min-height: clamp(38rem, 47.7vw, 45.75rem);
  margin: 0 auto;
}

.automotive-product-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.8rem;
  align-items: center;
  justify-content: center;
  max-width: 74rem;
  margin: 0 auto;
}

.automotive-product-explorer--4w .automotive-product-categories {
  max-width: 54rem;
}

.automotive-product-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.38rem 1rem;
  border: 1px solid var(--about-gold);
  border-radius: 4px;
  background: #fff;
  color: var(--about-gold);
  font-family: 'Inter', Arial, sans-serif;
  font-size: clamp(0.83rem, 1.04vw, 1.25rem);
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
  transition: background-color 260ms ease, color 260ms ease, transform 260ms ease;
}

.automotive-product-category.is-active {
  background: var(--about-gold);
  color: #fff;
}

.automotive-product-category:hover:not(.is-active) {
  background: rgba(126, 97, 49, 0.08);
}

.automotive-product-category:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 3px;
}

.automotive-product-content.is-changing .automotive-product-stage,
.automotive-product-content.is-changing .automotive-product-list {
  animation: automotive-product-content-enter 520ms ease both;
}

.automotive-product-content.is-changing .automotive-product-list {
  animation-delay: 70ms;
}

.automotive-product-content.is-product-changing .automotive-product-stage {
  animation: automotive-product-content-enter 420ms ease both;
}

.automotive-segment-selector {
  position: relative;
  display: flex;
  gap: clamp(2.5rem, 4.3vw, 5.1rem);
  align-items: flex-end;
  justify-content: center;
  width: min(60%, 54.125rem);
  margin: 0 auto 1.85rem;
  padding-top: 1.05rem;
  border-top: 1px dashed rgba(53, 43, 70, 0.66);
}

.automotive-segment-selector button {
  position: relative;
  min-width: 5.5rem;
  padding: 0;
  border: 0;
  appearance: none;
  background: transparent;
  color: #dddcdc;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.55rem);
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: color 240ms ease;
}

.automotive-segment-selector button.is-active {
  color: var(--about-gold);
}

.automotive-segment-selector button.is-active::before {
  position: absolute;
  top: -1.35rem;
  left: 50%;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--about-gold);
  content: '';
  transform: translateX(-50%);
}

.automotive-segment-selector button:hover:not(.is-active) {
  color: var(--automotive-ink);
}

.automotive-segment-selector button:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 5px;
}

.automotive-product-stage {
  position: relative;
  height: clamp(20rem, 24.6vw, 29.5rem);
  max-width: 71rem;
  margin: clamp(2.5rem, 3.8vw, 4.5rem) auto 1.3rem;
}

.automotive-product-stage__vehicle {
  display: block;
  width: min(72%, 52rem);
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
}

.automotive-product-stage__vehicle--4w {
  width: min(72%, 52rem);
}

.automotive-segment-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 2.75rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  appearance: none;
  background: transparent;
  color: var(--automotive-ink);
  font-family: Arial, sans-serif;
  font-size: 2.8rem;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: color 220ms ease, transform 220ms ease;
}

.automotive-segment-arrow--previous {
  left: -3.5rem;
}

.automotive-segment-arrow--next {
  right: -3.5rem;
}

.automotive-segment-arrow:hover {
  color: var(--about-gold);
  transform: translateY(-50%) scale(1.08);
}

.automotive-segment-arrow:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 2px;
}

.automotive-product-callout {
  position: absolute;
  z-index: 2;
  top: 34%;
  left: 2.5%;
  width: clamp(7rem, 8.1vw, 9.7rem);
  aspect-ratio: 1.38;
  border: 1px solid #dddcdc;
  border-radius: 9px;
  background: #fff;
}

.automotive-product-callout img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: contain;
}

.automotive-product-callout__line {
  position: absolute;
  top: 50%;
  left: calc(100% + 1.15rem);
  width: clamp(4.3rem, 7vw, 8rem);
  border-top: 1px dashed var(--automotive-ink);
}

.automotive-product-pulse {
  position: absolute;
  top: 50%;
  left: calc(100% + 0.45rem);
  width: 2.8rem;
  height: 2.8rem;
  transform: translate(-50%, -50%);
}

.automotive-product-pulse i {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
}

.automotive-product-pulse__outer {
  width: 2.8rem;
  height: 2.8rem;
  background: rgba(53, 43, 70, 0.42);
  animation: automotive-pulse-outer-opacity 3s linear infinite, automotive-pulse-outer-scale 3.2s linear infinite;
}

.automotive-product-pulse__mid {
  width: 1.8rem;
  height: 1.8rem;
  background: rgba(221, 220, 220, 0.88);
  animation: automotive-pulse-mid-opacity 3s linear infinite, automotive-pulse-mid-scale 3s linear infinite;
}

.automotive-product-pulse__dot {
  width: 0.72rem;
  height: 0.72rem;
  background: #fff;
  animation: automotive-pulse-dot-opacity 3s linear infinite, automotive-pulse-dot-scale 3s linear infinite;
}

.automotive-product-carousel {
  position: relative;
  box-sizing: border-box;
  width: min(calc(100% - 2rem), 90.875rem);
  margin: 0 auto;
  padding: 0 clamp(2.75rem, 4vw, 4.75rem);
}

.automotive-product-carousel [data-product-status] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.automotive-product-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 3.25vw, 3.9rem);
  align-items: stretch;
  width: 100%;
  margin: 0;
}

.automotive-product-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: grid;
  width: 2.75rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  appearance: none;
  place-items: center;
  background: transparent;
  color: var(--automotive-ink);
  font-family: Arial, sans-serif;
  font-size: 2.8rem;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: color 220ms ease, transform 220ms ease;
}

.automotive-product-arrow span {
  display: block;
  line-height: 0.8;
}

.automotive-product-arrow--previous {
  left: 0;
}

.automotive-product-arrow--next {
  right: 0;
}

.automotive-product-arrow:hover {
  color: var(--about-gold);
  transform: translateY(-50%) scale(1.08);
}

.automotive-product-arrow:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 2px;
}

.automotive-product-card {
  width: 100%;
  min-height: 8.75rem;
  padding: 1.05rem 0.8rem 0.8rem;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-top: 3px solid #dddcdc;
  border-radius: 0;
  appearance: none;
  background: #fff;
  color: var(--automotive-ink);
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease, transform 260ms ease;
}

.automotive-product-card.is-active {
  border-top-color: var(--about-gold);
  border-radius: 8px;
  background: var(--about-gold);
  color: #fff;
}

.automotive-product-card h3 {
  margin: 0 0 0.65rem;
  color: var(--automotive-ink);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.25rem, 1.55vw, 1.85rem);
  font-weight: 400;
  line-height: 1.15;
}

.automotive-product-card p {
  max-width: 18rem;
  margin: 0 auto;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.84rem, 1.04vw, 1.25rem);
  font-weight: 300;
  line-height: 1.28;
}

.automotive-product-card.is-active h3,
.automotive-product-card.is-active p {
  color: #fff;
}

.automotive-product-card:hover:not(.is-active) {
  border-top-color: rgba(126, 97, 49, 0.65);
  background: rgba(126, 97, 49, 0.06);
  transform: translateY(-2px);
}

.automotive-product-card:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 4px;
}

.automotive-network {
  min-height: 0;
  padding: clamp(3rem, 3.1vw, 3.75rem) 0 clamp(3rem, 3.5vw, 4.25rem);
  background: #fff;
}

.automotive-network__inner.container {
  display: grid;
  grid-template-columns: 33.7fr 6.3fr 35.8fr 2fr 22.2fr;
  gap: 0;
  align-items: stretch;
  width: 88.75%;
  max-width: 106.75rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
  box-sizing: border-box;
}

.automotive-network__company,
.automotive-network__address {
  box-sizing: border-box;
}

.automotive-network__intro {
  grid-column: 1;
  align-self: start;
}

.automotive-network__title {
  margin: 0;
  color: var(--automotive-ink);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 2.61vw, 3.125rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.automotive-network__copy {
  max-width: 35rem;
  margin: clamp(1.35rem, 1.7vw, 2rem) 0 0;
  color: #454545;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.05vw, 1.25rem);
  font-weight: 400;
  line-height: 1.42;
}

.automotive-network__companies {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin-top: clamp(2.2rem, 4vw, 5rem);
}

.automotive-network__company {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(4.4rem, 4.12vw, 4.94rem);
  padding: 0.35rem 1rem;
  overflow: hidden;
  border: 1px solid #dddcdc;
  border-radius: 0.625rem;
  background: #fff;
  cursor: pointer;
  transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.automotive-network__company img {
  display: block;
  width: 86%;
  height: 100%;
  object-fit: contain;
}

.automotive-network__company:not(.is-associated):hover,
.automotive-network__company.is-active {
  border-color: var(--about-gold);
}

.automotive-network__company.is-active {
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.16);
}

.automotive-network__company:not(.is-associated):hover:not(.is-active) {
  transform: translateY(-2px);
}

.automotive-network__company.is-associated {
  cursor: default;
}

.automotive-network__company:focus-visible {
  outline: 2px solid var(--about-gold);
  outline-offset: 3px;
}

.automotive-network__map-column {
  grid-column: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.automotive-network__map {
  position: relative;
  width: 100%;
  max-width: 40.375rem;
  aspect-ratio: 646 / 723;
}

.automotive-network__map > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: url('#automotive-network-remove-dark');
}

.automotive-network__filters {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.automotive-network__pulse {
  position: absolute;
  top: var(--network-y);
  left: var(--network-x);
  z-index: 2;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.automotive-network__pulse > span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
}

.automotive-network__pulse-outer {
  width: clamp(1.75rem, 1.7vw, 2.05rem);
  height: clamp(1.75rem, 1.7vw, 2.05rem);
  background: rgba(89, 80, 106, 0.32);
  animation: automotive-pulse-outer-opacity 3s linear infinite, automotive-pulse-outer-scale 3.2s linear infinite;
}

.automotive-network__pulse-mid {
  width: clamp(1.1rem, 1.12vw, 1.35rem);
  height: clamp(1.1rem, 1.12vw, 1.35rem);
  background: rgba(89, 80, 106, 0.48);
  animation: automotive-pulse-mid-opacity 3s linear infinite, automotive-pulse-mid-scale 3s linear infinite;
}

.automotive-network__pulse-dot {
  width: clamp(0.45rem, 0.52vw, 0.63rem);
  height: clamp(0.45rem, 0.52vw, 0.63rem);
  background: #352b46;
  animation: automotive-pulse-dot-opacity 3s linear infinite, automotive-pulse-dot-scale 3s linear infinite;
}

.automotive-network__address {
  grid-column: 5;
  align-self: end;
  width: 100%;
  min-height: clamp(20rem, 21vw, 25.2rem);
  padding: clamp(1.35rem, 1.5vw, 1.8rem) clamp(1.35rem, 1.7vw, 2rem);
  border-radius: 1.25rem;
  background: #352b46;
  color: #fff;
}

.automotive-network__address h3 {
  margin: 0 0 1.1rem;
  color: inherit;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.45rem, 1.52vw, 1.82rem);
  font-weight: 400;
  line-height: 1.16;
}

.automotive-network__address ul {
  display: grid;
  gap: 0.58rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.automotive-network__address li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.82rem, 0.9vw, 1.08rem);
  font-weight: 400;
  line-height: 1.5;
}

.automotive-network__address svg {
  width: 1rem;
  height: 1rem;
  margin-top: 0.18rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

.automotive-network__map.is-changing,
.automotive-network__address.is-changing {
  animation: automotive-network-enter 420ms ease both;
}

@keyframes automotive-panel-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes automotive-product-content-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes automotive-network-enter {
  from { opacity: 0.35; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes automotive-pulse-outer-opacity {
  0%, 16.667%, 40%, 83.333% { opacity: 1; }
  28.333%, 95% { opacity: 0.3; }
  100% { opacity: 0.469; }
}

@keyframes automotive-pulse-outer-scale {
  0%, 15.625%, 37.5%, 78.125% { transform: translate(-50%, -50%) scale(1); }
  26.563%, 89.063% { transform: translate(-50%, -50%) scale(1.2); }
  100% { transform: translate(-50%, -50%) scale(1.152); }
}

@keyframes automotive-pulse-mid-opacity {
  0%, 8.333%, 31.667%, 75%, 98.333%, 100% { opacity: 1; }
  20%, 86.667% { opacity: 0.3; }
}

@keyframes automotive-pulse-mid-scale {
  0%, 8.333%, 31.667%, 75%, 98.333%, 100% { transform: translate(-50%, -50%) scale(1); }
  20%, 86.667% { transform: translate(-50%, -50%) scale(1.2); }
}

@keyframes automotive-pulse-dot-opacity {
  0%, 23.333%, 66.667%, 90%, 100% { opacity: 1; }
  11.667%, 78.333% { opacity: 0.3; }
}

@keyframes automotive-pulse-dot-scale {
  0%, 23.333%, 66.667%, 90%, 100% { transform: translate(-50%, -50%) scale(1); }
  11.667%, 78.333% { transform: translate(-50%, -50%) scale(1.2); }
}

.automotive-network,
.automotive-capabilities,
.automotive-growth,
.automotive-partners {
  overflow: hidden;
}

.automotive-character-heading {
  --character-heading-muted: #dddcdc;
  max-width: 74.5rem;
  min-height: 8.4rem;
  margin: clamp(4rem, 5vw, 6rem) auto;
  color: #dddcdc;
  font-size: clamp(2rem, 2.61vw, 3.125rem);
  line-height: 1.32;
  text-align: center;
  letter-spacing: -0.022em;
}

.automotive-capabilities__strip {
  padding: clamp(2.75rem, 4.25vw, 5.1rem) 0 clamp(3rem, 4.7vw, 5.6rem);
  background: rgba(108, 61, 154, 0.14);
}

.automotive-capability {
  min-height: clamp(12rem, 15vw, 18rem);
  padding: 0 clamp(1.25rem, 1.7vw, 2rem);
  text-align: center;
}

.automotive-capability + .automotive-capability {
  border-left: 1px dashed rgba(126, 97, 49, 0.54);
}

.automotive-capability img {
  width: clamp(3.5rem, 4.1vw, 4.9rem);
  height: clamp(3.5rem, 4.1vw, 4.9rem);
  margin-bottom: clamp(1.5rem, 2.15vw, 2.6rem);
  object-fit: contain;
}

.automotive-capability h3 {
  margin-bottom: 0.7rem;
  color: var(--automotive-ink);
  font-size: clamp(1.35rem, 1.41vw, 1.7rem);
}

.automotive-capability p {
  max-width: 14rem;
  margin: 0 auto;
  font-size: clamp(0.88rem, 1.04vw, 1.25rem);
  font-weight: 300;
  line-height: 1.32;
}

.automotive-growth {
  padding: clamp(4.75rem, 7.5vw, 9rem) 0 clamp(5rem, 7.7vw, 9.2rem);
}

.automotive-growth > .container {
  width: calc(100% - 4rem);
  max-width: 95.25rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}

.automotive-growth .industry-leaders__heading {
  text-align: center;
}

.automotive-growth .industry-leaders__heading h2 {
  margin-bottom: clamp(0.65rem, 0.85vw, 1rem);
  font-size: clamp(2rem, 2.6vw, 3.125rem);
}

.automotive-growth .industry-leaders__heading p {
  max-width: 40rem;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(0.85rem, 0.95vw, 1.125rem);
  line-height: 1.4;
}

.automotive-growth__carousel {
  position: relative;
  width: min(78.75vw, 95.25rem);
  max-width: 95.25rem;
  margin: clamp(3.5rem, 4.7vw, 5.625rem) auto 0;
  padding: 0;
}

.automotive-growth__cards {
  --bs-gutter-x: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 2.6vw, 3.125rem);
  width: min(70.68vw, 84.8125rem);
  max-width: 84.8125rem;
  margin: 0 auto;
}

.automotive-growth__cards > [class*="col-"] {
  width: auto;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

.automotive-growth-card {
  position: relative;
  aspect-ratio: 419 / 569;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #dddcdc;
  border-radius: clamp(0.75rem, 1.04vw, 1.25rem);
  background: #fefefe;
}

.automotive-growth-card__gradient,
.automotive-growth-card__curves {
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
}

.automotive-growth-card__gradient {
  z-index: 0;
  top: -15.6%;
  left: -110%;
  width: 275.4%;
  height: 172.4%;
}

.automotive-growth-card__curves {
  z-index: 1;
  top: -9.3%;
  left: -41%;
  width: 154.8%;
  height: 99.1%;
  transform: rotate(-14.19deg);
  transform-origin: center;
}

.automotive-growth-card__art {
  position: absolute;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.automotive-growth-card__art > img {
  position: absolute;
  display: block;
  max-width: none;
}

.automotive-growth-card__art--lightweight {
  top: 3.16%;
  left: 18.38%;
  width: 64.44%;
  height: 77.15%;
  border-radius: 6.25rem;
}

.automotive-growth-card__art--lightweight > img {
  top: 0.03%;
  left: -31.44%;
  width: 162.39%;
  height: 100%;
}

.automotive-growth-card__art--sealing {
  top: 3.16%;
  left: 1.67%;
  width: 97.14%;
  height: 71.53%;
  border-radius: 50%;
}

.automotive-growth-card__art--sealing > img {
  top: -4.53%;
  left: 1.11%;
  width: 97.77%;
  height: 121.98%;
}

.automotive-growth-card__art--thermal {
  top: -2.99%;
  left: -9.31%;
  width: 122.67%;
  height: 87.17%;
  border-radius: 10rem;
}

.automotive-growth-card__art--thermal > img {
  top: 1.87%;
  left: 11.46%;
  width: 77.14%;
  height: 100%;
}

.automotive-growth-card__copy {
  position: absolute;
  z-index: 3;
  top: 77.8%;
  right: 5%;
  left: 5%;
  text-align: center;
}

.automotive-growth-card h3 {
  margin: 0 0 clamp(0.35rem, 0.55vw, 0.65rem);
  color: var(--automotive-ink);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.1rem, 1.43vw, 1.71875rem);
  font-weight: 400;
  line-height: 1.12;
}

.automotive-growth-card p {
  max-width: 19rem;
  margin: 0 auto;
  font-size: clamp(0.78rem, 0.94vw, 1.125rem);
  font-weight: 300;
  line-height: 1.3;
}

.automotive-growth__arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: grid;
  width: 2.75rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--automotive-ink);
  font-family: Georgia, serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  place-items: center;
  transform: translateY(-50%);
}

.automotive-growth__arrow--previous {
  left: 0;
}

.automotive-growth__arrow--next {
  right: 0;
}

.automotive-growth__arrow:hover,
.automotive-growth__arrow:focus-visible {
  color: var(--about-gold);
}

.automotive-growth__arrow:focus-visible {
  outline: 1px solid var(--about-gold);
  outline-offset: 2px;
}

.automotive-growth__cards.is-reordering > [class*="col-"] {
  animation: automotive-growth-reorder 360ms ease both;
}

@keyframes automotive-growth-reorder {
  from { opacity: 0.72; transform: translateX(0.8rem); }
  to { opacity: 1; transform: translateX(0); }
}

/* Previous generic card rules intentionally replaced by the exact Figma proportions. */
.automotive-growth-card > img:not(.automotive-growth-card__gradient):not(.automotive-growth-card__curves) {
  width: 100%;
  height: 100%;
}

.automotive-partners {
  padding-top: clamp(1.5rem, 1.9vw, 2.25rem);
}

.automotive-partners .industry-leaders__heading {
  text-align: center;
}

.automotive-partners .industry-leaders__heading h2 {
  margin-bottom: clamp(0.65rem, 0.85vw, 1rem);
  font-size: clamp(2rem, 3.13vw, 3.75rem);
}

.automotive-partners .industry-leaders__heading p {
  max-width: 52rem;
  margin: 0 auto;
  font-size: clamp(0.88rem, 1.3vw, 1.5625rem);
  line-height: 1.35;
}

.automotive-partners .gold-btn {
  box-sizing: border-box;
  width: clamp(7.75rem, 9.48vw, 11.375rem);
  min-width: 0;
  min-height: clamp(2.25rem, 2.66vw, 3.1875rem);
  justify-content: center;
  gap: 0;
  margin-top: clamp(1.45rem, 1.93vw, 2.3125rem);
  padding: 0.35rem 0;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.78rem, 1.04vw, 1.25rem);
}

.automotive-partners .gold-btn img {
  box-sizing: border-box;
  width: 30%;
  height: clamp(1rem, 1.2vw, 1.45rem);
  padding: 0.15rem clamp(0.35rem, 0.55vw, 0.65rem);
  border-left: 1px solid currentColor;
  object-fit: contain;
}

.automotive-partners .gold-btn span {
  flex: 1;
  text-align: center;
}

.automotive-partners .industry-leaders__viewport {
  width: 100%;
  height: clamp(7rem, 9.2vw, 11rem);
  margin-top: clamp(5rem, 7.8vw, 9.375rem);
}

.automotive-partners .industry-leaders__track {
  width: 440vw;
  height: 100%;
  /* Match the homepage logo-carousel speed in pixels/second. This track
     contains 11 logos per loop instead of the homepage's 5. */
  animation-duration: 50.6s;
}

.automotive-partners .industry-leaders__set {
  flex: 0 0 220vw;
  grid-template-columns: repeat(11, 20vw);
  grid-template-rows: 100%;
}

.automotive-partners .industry-leaders__logo {
  min-height: 0;
  padding: clamp(0.75rem, 1.25vw, 1.5rem);
}

.automotive-partners .industry-leaders__logo img {
  max-width: clamp(6rem, 8.5vw, 10.2rem);
  max-height: clamp(3rem, 4.2vw, 5rem);
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(-n + 5) {
  overflow: hidden;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(-n + 5) img {
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(1) img {
  width: 66%;
  height: 50%;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(2) img {
  width: 42%;
  height: 45%;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(3) img {
  width: 46%;
  height: 50%;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(4) img {
  width: 49%;
  height: 37%;
}

.automotive-partners .industry-leaders__set .industry-leaders__logo:nth-child(5) img {
  width: 48%;
  height: 52%;
}

.automotive-contact {
  min-height: clamp(34rem, 42.55vw, 51.06rem);
  border: 1px solid #111;
}

.automotive-contact .about-contact__image {
  top: -33%;
  left: -7.25%;
  width: 113.2%;
  height: 133%;
  max-width: none;
}

.automotive-contact .about-contact__shade {
  right: 31%;
  background: linear-gradient(90deg, #000 8%, rgba(0, 0, 0, 0.94) 35%, rgba(0, 0, 0, 0) 100%);
}

.automotive-contact .about-contact__content {
  color: #fff;
}

.automotive-contact p {
  max-width: 31rem;
}

@media (max-width: 1199.98px) {
  .automotive-network__inner.container {
    grid-template-areas:
      "network-intro network-map"
      "network-address network-map";
    grid-template-columns: minmax(20rem, 0.9fr) minmax(25rem, 1.1fr);
    align-items: start;
    max-width: 71rem;
  }

  .automotive-network__intro {
    grid-area: network-intro;
  }

  .automotive-network__map-column {
    grid-area: network-map;
  }

  .automotive-network__address {
    grid-area: network-address;
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .automotive-platform-tabs {
    grid-template-columns: minmax(12rem, 19rem) minmax(17rem, 25rem);
  }

  .automotive-product-stage {
    height: 24rem;
  }

  .automotive-product-list {
    gap: 1rem;
  }

  .automotive-network__inner.container {
    grid-template-areas:
      "network-intro"
      "network-map"
      "network-address";
    grid-template-columns: minmax(0, 1fr);
    max-width: 45rem;
  }

  .automotive-network__companies {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 2.25rem;
  }

  .automotive-network__company {
    padding: 0.35rem 0.6rem;
  }

  .automotive-network__map {
    max-width: 34rem;
  }

  .automotive-network__address {
    max-width: 36rem;
    margin: 0 auto;
  }

  .automotive-capability:nth-child(odd) {
    border-left: 0;
  }

  .automotive-capability {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .automotive-contact .about-contact__shade {
    right: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.2));
  }
}

@media (max-width: 767.98px) {
  .automotive-hero {
    min-height: 33rem;
  }

  .automotive-hero .industries-hero__image {
    object-position: 56% center;
  }

  .automotive-hero .industries-hero__title {
    font-size: clamp(2rem, 9vw, 2.5rem);
  }

  .automotive-platform-tabs {
    grid-template-columns: 0.75fr 1fr;
  }

  .automotive-platform-tab {
    padding-bottom: 2.65rem;
  }

  .automotive-platform-tab__visual {
    height: 13rem;
  }

  .automotive-product-explorer {
    min-height: 0;
  }

  .automotive-segment-selector {
    width: 80%;
  }

  .automotive-product-stage {
    height: 18rem;
    margin-top: 2.5rem;
  }

  .automotive-product-stage__vehicle,
  .automotive-product-stage__vehicle--4w {
    width: 78%;
  }

  .automotive-segment-arrow {
    width: 2rem;
    height: 3rem;
    font-size: 2.25rem;
  }

  .automotive-segment-arrow--previous {
    left: 0;
  }

  .automotive-segment-arrow--next {
    right: 0;
  }

  .automotive-product-callout {
    top: 30%;
    left: 0;
    width: 6rem;
  }

  .automotive-product-callout__line {
    left: calc(100% + 0.7rem);
    width: 3rem;
  }

  .automotive-product-pulse {
    left: calc(100% + 0.3rem);
    transform: translate(-50%, -50%) scale(0.7);
  }

  .automotive-product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .automotive-product-carousel {
    width: 100%;
    padding-right: 2.35rem;
    padding-left: 2.35rem;
  }

  .automotive-product-arrow {
    width: 2rem;
    height: 3rem;
    font-size: 2.25rem;
  }

  .automotive-network {
    padding-top: 3.5rem;
  }

  .automotive-network__inner.container {
    width: calc(100% - 2.25rem);
  }

  .automotive-network__companies {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .automotive-network__company {
    height: 4.65rem;
  }

  .automotive-network__map {
    max-width: 27rem;
  }

  .automotive-network__address {
    border-radius: 1rem;
  }

  .automotive-character-heading {
    min-height: 0;
    text-align: left;
  }

  .automotive-growth__carousel {
    width: 100%;
    padding-right: 2.25rem;
    padding-left: 2.25rem;
  }

  .automotive-growth__cards {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .automotive-growth__cards::-webkit-scrollbar {
    display: none;
  }

  .automotive-growth__cards > [class*="col-"] {
    flex: 0 0 min(85%, 24rem);
    width: min(85%, 24rem);
    scroll-snap-align: center;
  }

  .automotive-growth > .container {
    width: calc(100% - 2rem);
  }

  .automotive-capability,
  .automotive-capability + .automotive-capability,
  .automotive-capability:nth-child(odd) {
    border-left: 0;
    border-bottom: 1px dashed rgba(126, 97, 49, 0.54);
  }

  .automotive-capability:last-child {
    border-bottom: 0;
  }

  .automotive-growth__cards {
    max-width: 28rem;
  }

  .automotive-partners .industry-leaders__track {
    width: 440vw;
  }

  .automotive-partners .industry-leaders__set {
    flex-basis: 220vw;
    grid-template-columns: repeat(11, 20vw);
  }

  .automotive-contact .about-contact__image {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-position: 70% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .automotive-product-panel.is-active,
  .automotive-product-pulse i,
  .automotive-product-content.is-changing .automotive-product-stage,
  .automotive-product-content.is-changing .automotive-product-list,
  .automotive-product-content.is-product-changing .automotive-product-stage,
  .automotive-network__pulse > span,
  .automotive-network__map.is-changing,
  .automotive-network__address.is-changing {
    animation: none;
  }

  .automotive-growth__cards.is-reordering > [class*="col-"] {
    animation: none;
  }

  .character-heading__character {
    color: #352b46;
  }
}

/* ---------- About responsive ---------- */

@media (max-width: 991.98px) {
  .about-trust__visual {
    min-height: 360px;
  }

  .about-trust__visual img {
    left: 50%;
    right: auto;
    width: min(760px, 105vw);
    transform: translate(-50%, -48%);
  }

  .about-purpose__copy {
    width: min(320px, 39vw);
  }
}

@media (max-width: 767.98px) {
  .about-hero {
    min-height: 430px;
  }

  .about-hero__image {
    object-position: 57% center;
  }

  .about-hero__shade {
    background: linear-gradient(0deg, rgba(5, 5, 14, 0.76) 0%, rgba(5, 5, 14, 0.05) 70%);
  }

  .about-trust {
    padding-bottom: 1rem;
  }

  .about-trust__visual {
    min-height: 330px;
  }

  .about-purpose__panel {
    min-height: 570px;
  }

  .about-purpose__circle {
    top: 38%;
    width: 270px;
    height: 270px;
  }

  .about-purpose__copy,
  .about-purpose__copy--left,
  .about-purpose__copy--right {
    left: 1.25rem;
    right: 1.25rem;
    top: auto;
    bottom: 2.25rem;
    width: auto;
    transform: none;
    padding: 1.2rem;
    border-radius: 6px;
    background: rgba(20, 14, 30, 0.8);
    backdrop-filter: blur(5px);
  }

  .about-timeline::before {
    left: 10px;
  }

  .about-timeline__item {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 0 0 5rem 2.3rem;
  }

  .about-timeline__item::before {
    left: 10px;
    top: 1.3rem;
  }

  .about-timeline__year,
  .about-timeline__year--featured {
    width: auto;
    height: auto;
    margin: 0 0 1.5rem;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    text-align: left;
  }

  .about-timeline__year strong,
  .about-timeline__year--featured strong {
    color: #e7e1e9;
  }

  .about-timeline__content {
    padding-left: 0;
  }

  .about-awards__tabs {
    overflow-x: auto;
    justify-content: flex-start;
  }

  .about-awards__tabs button {
    min-width: 92px;
  }

  .about-award-card h3 {
    min-height: 0;
  }

  .about-contact__image {
    object-position: 68% center;
  }

  .about-contact__shade {
    background: rgba(5, 7, 13, 0.7);
  }
}

/* ---------- About walkthrough motion refinements ---------- */

.about-page .about-site-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  background: rgba(255, 255, 255, 0.98);
  transition: box-shadow 280ms ease, background-color 280ms ease;
}

.about-page .about-site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 28px rgba(24, 18, 32, 0.1);
  backdrop-filter: blur(12px);
}

.about-hero__image {
  --about-hero-shift: 0px;
  transform: translate3d(0, var(--about-hero-shift), 0) scale(1.045);
  transform-origin: center center;
  will-change: transform;
}

.about-trust__visual img {
  --about-robot-shift: 0px;
  transform: translate3d(0, calc(-45% + var(--about-robot-shift)), 0);
  will-change: transform;
}

.about-purpose__circle {
  --about-circle-shift: 0px;
  transform: translate3d(-50%, calc(-50% + var(--about-circle-shift)), 0);
  box-shadow: 0 24px 70px rgba(7, 5, 13, 0.32);
  will-change: transform;
}

.about-purpose__circle--continuation img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 69% center;
  transform: scale(1.85);
}

.about-purpose__panel--vision::after,
.about-purpose__panel--mission::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.about-purpose__panel--vision::after {
  background: linear-gradient(180deg, transparent 70%, rgba(14, 9, 22, 0.16));
}

.about-purpose__panel--mission::after {
  background: linear-gradient(180deg, rgba(8, 8, 15, 0.08), transparent 32%, rgba(8, 8, 15, 0.18));
}

.motion-ready [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition:
    opacity 760ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}

.motion-ready [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-ready .about-hero__content[data-reveal] {
  transform: translate3d(-50%, 42px, 0);
}

.motion-ready .about-hero__content[data-reveal].is-visible {
  transform: translate3d(-50%, 0, 0);
}

.motion-ready .about-purpose__copy[data-reveal] {
  transform: translate3d(0, calc(-50% + 42px), 0);
}

.motion-ready .about-purpose__copy[data-reveal].is-visible {
  transform: translate3d(0, -50%, 0);
}

.motion-ready .about-contact__content[data-reveal] {
  transform: translate3d(-50%, calc(-50% + 42px), 0);
}

.motion-ready .about-contact__content[data-reveal].is-visible {
  transform: translate3d(-50%, -50%, 0);
}

/* The walkthrough uses large year orbs rather than a centre-line timeline. */
.about-timeline::before,
.about-timeline__item::before {
  display: none;
}

.about-timeline__item {
  grid-template-columns: 0.47fr 0.53fr;
  align-items: center;
  min-height: clamp(560px, 52vw, 750px);
}

.about-timeline__year,
.about-timeline__year--featured {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: clamp(210px, 19vw, 274px);
  height: clamp(210px, 19vw, 274px);
  margin: 0 clamp(3rem, 7vw, 105px) 0 auto;
  padding: 0 0 0 clamp(3.5rem, 5vw, 72px);
  border-radius: 50%;
  background: radial-gradient(circle at 27% 28%, #c6b8df 0%, #e5deef 43%, #fbfafc 78%, #fff 100%);
  box-shadow: 0 14px 34px rgba(81, 60, 104, 0.14);
  text-align: left;
}

.about-timeline__year::before {
  content: "";
  position: absolute;
  left: -44px;
  top: 50%;
  width: 25px;
  height: 86px;
  background: repeating-linear-gradient(to bottom, rgba(154, 118, 64, 0.78) 0 1px, transparent 1px 11px);
  transform: translateY(-32%);
}

.about-timeline__year::after {
  content: "";
  position: absolute;
  left: -47px;
  top: calc(50% - 48px);
  width: 29px;
  height: 1px;
  background: #615969;
}

.about-timeline__year strong,
.about-timeline__year--featured strong {
  color: #96743e;
  font-size: clamp(3rem, 4.45vw, 64px);
  line-height: 0.92;
  transition: color 700ms ease 180ms;
}

.about-timeline__year span {
  margin-top: 0.7rem;
  color: #312a38;
}

.about-timeline__content {
  max-width: 560px;
  padding-left: 0;
}

.about-timeline__image {
  height: clamp(220px, 20vw, 288px);
}

.about-timeline__image--logo {
  height: clamp(180px, 17vw, 245px);
}

.motion-ready .about-timeline__year,
.motion-ready .about-timeline__content {
  opacity: 0;
  transition: opacity 800ms cubic-bezier(0.22, 1, 0.36, 1), transform 950ms cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .about-timeline__year {
  transform: translate3d(0, 90px, 0) scale(0.94);
}

.motion-ready .about-timeline__content {
  transform: translate3d(54px, 68px, 0);
  transition-delay: calc(var(--timeline-delay, 0ms) + 90ms);
}

.motion-ready .about-timeline__item.is-visible .about-timeline__year,
.motion-ready .about-timeline__item.is-visible .about-timeline__content {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.motion-ready .about-awards__grid .about-award-card {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  transition: opacity 650ms ease, transform 850ms cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .about-awards__grid.is-visible article:nth-child(2) .about-award-card {
  transition-delay: 110ms;
}

.motion-ready .about-awards__grid.is-visible article:nth-child(3) .about-award-card {
  transition-delay: 220ms;
}

.motion-ready .about-awards__grid.is-visible .about-award-card {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-ready .about-contact__image {
  clip-path: inset(0 0 0 100%);
  transform: scale(1.055);
  transform-origin: right center;
  transition:
    clip-path 1200ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 1600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .about-contact.is-visible .about-contact__image {
  clip-path: inset(0 0 0 0);
  transform: scale(1);
}

.motion-ready .about-contact__shade {
  opacity: 0;
  transition: opacity 900ms ease 280ms;
}

.motion-ready .about-contact.is-visible .about-contact__shade {
  opacity: 1;
}

@media (max-width: 767.98px) {
  .about-trust__visual img {
    transform: translate3d(-50%, calc(-48% + var(--about-robot-shift)), 0);
  }

  .about-purpose__circle {
    transform: translate3d(-50%, calc(-50% + var(--about-circle-shift)), 0);
  }

  .about-timeline__item {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 0 0 6rem 0;
  }

  .about-timeline__year,
  .about-timeline__year--featured {
    width: 190px;
    height: 190px;
    margin: 0 0 2.2rem 2.8rem;
    padding-left: 3rem;
  }

  .about-timeline__year strong,
  .about-timeline__year--featured strong {
    font-size: 2.8rem;
  }

  .about-timeline__year::before {
    left: -34px;
  }

  .about-timeline__year::after {
    left: -37px;
  }

  .motion-ready .about-timeline__content {
    transform: translate3d(0, 48px, 0);
  }

  .motion-ready .about-purpose__copy[data-reveal] {
    transform: translate3d(0, 42px, 0);
  }

  .motion-ready .about-purpose__copy[data-reveal].is-visible {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page *,
  .about-page *::before,
  .about-page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .about-contact__image {
    clip-path: none !important;
  }
}

/* ---------- About: Trust section reference-match refinement ---------- */

.about-trust {
  height: clamp(470px, 46.55vw, 670px);
  min-height: 0;
  padding: clamp(74px, 7.55vw, 109px) 0 0;
  border-top: 1px solid rgba(154, 118, 64, 0.7);
  isolation: isolate;
}

.about-trust .row {
  align-items: flex-start !important;
}

.about-trust .col-lg-5 {
  position: relative;
  z-index: 3;
}

.about-trust .about-display {
  font-size: clamp(2rem, 2.55vw, 36px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.025em;
}

.about-trust__copy {
  max-width: clamp(280px, 30.5vw, 440px);
  margin-top: clamp(22px, 2.25vw, 32px);
  padding-left: clamp(12px, 1.35vw, 19px);
  border-left: 1px dashed rgba(53, 43, 70, 0.82);
  color: #4e4a51;
  font-size: clamp(0.78rem, 0.9vw, 13px);
  line-height: 1.3;
}

.about-trust .gold-btn {
  gap: 0;
  margin-top: clamp(16px, 1.7vw, 24px) !important;
  padding: 0 0 0 clamp(10px, 1vw, 14px);
  min-height: clamp(28px, 2.75vw, 40px);
  border-color: rgba(154, 118, 64, 0.85);
  border-radius: 2px;
  font-size: clamp(0.72rem, 0.82vw, 12px);
  line-height: 1;
}

.about-trust .gold-btn span {
  padding-right: clamp(11px, 1.15vw, 16px);
}

.about-trust .gold-btn img {
  box-sizing: content-box;
  width: clamp(12px, 1.15vw, 16px);
  margin: 0;
  padding: clamp(7px, 0.72vw, 10px) clamp(8px, 0.8vw, 12px);
  border-left: 1px solid rgba(154, 118, 64, 0.85);
}

.about-trust__visual {
  position: static;
  min-height: 0;
}

.about-trust__visual img {
  top: 32%;
  right: -33vw;
  bottom: auto;
  width: min(119vw, 2285px);
  transform: translate3d(0, var(--about-robot-shift, 0px), 0);
}

.about-trust::before,
.about-trust::after,
.about-trust__line {
  position: absolute;
  z-index: -1;
  left: -13%;
  width: 138%;
  height: 101%;
  border: 0;
  border-top: 1px solid rgba(154, 118, 64, 0.27);
  border-radius: 50%;
  background: transparent;
  transform: rotate(-20deg);
  transform-origin: center;
  pointer-events: none;
}

.about-trust::before {
  content: "";
  bottom: -58%;
}

.about-trust::after {
  content: "";
  right: auto;
  bottom: -69%;
}

.about-trust__line {
  right: auto;
}

.about-trust__line--one {
  top: auto;
  bottom: -80%;
}

.about-trust__line--two {
  top: auto;
  bottom: -91%;
}

@media (max-width: 991.98px) {
  .about-trust {
    height: auto;
    min-height: 680px;
    padding-bottom: 0;
  }

  .about-trust__visual {
    position: relative;
    min-height: 390px;
  }

  .about-trust__visual img {
    left: 50%;
    right: auto;
    top: 54%;
    bottom: auto;
    width: min(1180px, 172vw);
    transform: translate3d(-50%, calc(-34% + var(--about-robot-shift, 0px)), 0);
  }
}

@media (max-width: 575.98px) {
  .about-trust {
    min-height: 630px;
    padding-top: 58px;
  }

  .about-trust .about-display {
    font-size: 2rem;
  }

  .about-trust__copy {
    max-width: 315px;
    font-size: 0.82rem;
  }

  .about-trust__visual {
    min-height: 350px;
  }

  .about-trust__visual img {
    top: 57%;
    width: 188vw;
  }

  .about-trust::before,
  .about-trust::after,
  .about-trust__line {
    left: -48%;
    width: 190%;
  }
}

/* ---------- ESG and Sustainability page ---------- */
.esg-page {
  --esg-purple: #352b46;
  --esg-gold: #7e6131;
  --esg-muted: #dddcdc;
  overflow-x: hidden;
  background: #fff;
}

.esg-page .about-site-header .navbar .nav-link.active { color: var(--esg-gold); }
.esg-hero { position: relative; height: clamp(38rem, 47.41vw, 57.25rem); overflow: hidden; background: #0d0b1b; }
.esg-hero__image { position: absolute; inset: -13.51% 0 0; width: 100%; height: 140.61%; max-width: none; object-fit: fill; }
.esg-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(53,43,70,0) 33.57%, rgba(53,43,70,.55) 100%), linear-gradient(180deg, rgba(0,0,0,0) 52%, rgba(0,0,0,.92) 100%); }
.esg-hero__content { position: absolute; inset: 0; display: flex; align-items: flex-end; padding-bottom: clamp(5rem, 10.36vw, 12.45rem); }
.esg-hero h1 { max-width: 68rem; margin: 0; color: #fff; font: 700 clamp(2.45rem, 3.125vw, 3.75rem)/1.06 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }

.esg-breadcrumb { display: flex; align-items: center; min-height: 52px; padding: 0; background: var(--esg-gold); color: #fff; font: 300 clamp(.8rem, .9375vw, 1.125rem)/1 'DM Sans', Arial, sans-serif; }
.esg-breadcrumb .container { display: flex; align-items: center; gap: .75rem; }
.esg-breadcrumb a { color: inherit; text-decoration: none; }
.esg-breadcrumb a:hover, .esg-breadcrumb a:focus-visible { text-decoration: underline; }

.esg-practice { position: relative; min-height: clamp(37rem, 43.17vw, 52rem); overflow: hidden; background: #fff; }
.esg-practice__lines { position: absolute; z-index: 0; top: 12%; left: -8%; width: 80%; height: 130%; max-width: none; pointer-events: none; opacity: .7; transform: rotate(180deg); }
.esg-practice__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(22rem, .48fr) minmax(30rem, .52fr); width: 100%; max-width: none; min-height: inherit; align-items: center; }
.esg-practice__copy { position: relative; z-index: 2; max-width: 35rem; padding: clamp(4rem, 8vw, 9rem) 0 clamp(4rem, 8vw, 9rem) clamp(1.5rem, 4.6vw, 5.5rem); }
.esg-rule { display: block; width: 91px; height: 2px; margin: 0 0 2rem; background: var(--esg-gold); }
.esg-practice h2 { margin: 0 0 2.5rem; color: var(--esg-purple); font: 700 clamp(2.5rem, 3.125vw, 3.75rem)/1.03 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.esg-practice__copy p { max-width: 28rem; margin: 0 0 2.6rem; color: #393939; font: 300 clamp(1rem, 1.302vw, 1.5625rem)/1.3 'DM Sans', Arial, sans-serif; }
.esg-outline-button { display: inline-flex; align-items: center; min-height: 51px; padding: 0 16px; border: 1px solid var(--esg-gold); border-radius: 4px; background: #fff; color: var(--esg-gold); font: 500 18px/1 'DM Sans', Arial, sans-serif; text-decoration: none; }
.esg-outline-button:hover, .esg-outline-button:focus-visible { color: var(--esg-purple); }
.esg-outline-button__divider { display: block; width: 1px; height: 41px; margin: 0 15px 0 18px; background: var(--esg-gold); }
.esg-outline-button img { width: 1rem; height: auto; }
.esg-practice__visual { position: relative; min-height: clamp(31rem, 36.9vw, 44rem); }
.esg-practice__outline { position: absolute; top: 2%; left: 27%; width: min(36rem, 76%); height: auto; opacity: .85; }
.esg-practice__main-circle { position: absolute; top: 12%; left: 35%; width: min(25rem, 53%); height: auto; }
.esg-practice__goal { position: absolute; top: 46%; left: 3%; display: flex; align-items: center; gap: .75rem; color: #111; }
.esg-practice__goal strong { color: var(--esg-muted); font: 400 clamp(4rem, 6.75vw, 8.1rem)/.8 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.esg-practice__goal span { max-width: 9rem; font: 500 clamp(.85rem, .975vw, 1.17rem)/1.2 'DM Sans', Arial, sans-serif; }
.esg-practice__mini { position: absolute; padding: 0; border: 0; background: transparent; }
.esg-practice__mini img { display: block; width: 100%; height: 100%; }
.esg-practice__mini--one { top: 69%; left: 57%; width: 82px; height: 82px; }
.esg-practice__mini--two { top: 79%; left: 76%; width: 42px; height: 42px; }

.esg-efforts { position: relative; display: grid; grid-template-columns: 52% 48%; min-height: clamp(44rem, 49.02vw, 59rem); overflow: hidden; background: #f0edf4; }
.esg-efforts__copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(4rem, 7.5vw, 9rem) clamp(1.5rem, 4.3vw, 5.2rem) clamp(3rem, 5vw, 6rem); border-radius: 40px 0 0 40px; background: #f0edf4; }
.esg-efforts h2 { max-width: 32rem; margin: 0; color: var(--esg-purple); font: 700 clamp(2.2rem, 2.6vw, 3.125rem)/1.04 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.esg-efforts__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.5rem, 1.1vw, 1.35rem); }
.esg-effort-card { min-height: 9.6rem; padding: 1rem .75rem; border: 1px solid var(--esg-purple); border-radius: 12px; background: rgba(255,255,255,.2); text-align: center; }
.esg-effort-card img { width: 28px; height: 28px; margin-bottom: .85rem; object-fit: contain; }
.esg-effort-card p { margin: 0; color: #111; font: 300 clamp(.75rem, .9375vw, 1.125rem)/1.35 'DM Sans', Arial, sans-serif; }
.esg-effort-card strong { font-weight: 600; }
.esg-efforts__image { position: relative; min-height: inherit; overflow: hidden; border-radius: 40px 0 0 40px; }
.esg-efforts__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.esg-efforts__arrows { display: flex; justify-content: center; gap: .35rem; margin: -1.2rem 0 0; color: #111; font: 400 1.35rem/1 'DM Sans', Arial, sans-serif; position: relative; z-index: 3; }

.esg-commitment { padding: clamp(6rem, 8.4vw, 10rem) 1.5rem clamp(7rem, 10vw, 12rem); background: #fff; }
.esg-commitment h2 { max-width: 68rem; margin: 0 auto clamp(5rem, 7.5vw, 9rem); color: var(--esg-purple); font: 700 clamp(2.2rem, 2.6vw, 3.14rem)/1.08 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; text-align: center; }
.esg-commitment h2 em { color: #cfcbd2; font-style: normal; }
.esg-commitment__nodes { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 23.5rem)); justify-content: center; gap: clamp(2rem, 4.8vw, 5.8rem); }
.esg-node { position: relative; z-index: 2; display: flex; aspect-ratio: 1; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; border-radius: 50%; background: var(--esg-purple); color: #fff; text-align: center; }
.esg-node h3 { margin: 0 0 1.25rem; font: 400 clamp(1.15rem, 1.4vw, 1.7rem)/1.1 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.esg-node p { max-width: 15rem; margin: 0; font: 300 clamp(.75rem, .9375vw, 1.125rem)/1.3 'DM Sans', Arial, sans-serif; }
.esg-commitment__connector { position: absolute; z-index: 1; top: 50%; width: min(23.5rem, 25vw); height: auto; transform: translateY(-50%); }
.esg-commitment__connector--one { left: calc(50% - 25.2rem); }
.esg-commitment__connector--two { left: calc(50% + 1.6rem); }

.esg-vision { position: relative; min-height: clamp(32rem, 42.34vw, 51rem); overflow: hidden; background: #080914; }
.esg-vision__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.esg-vision__shade { position: absolute; inset: 0 auto 0 0; width: 44%; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,0)); }
.esg-vision__content { position: relative; z-index: 1; padding-top: clamp(5rem, 9.3vw, 11rem); color: #fff; }
.esg-vision h2 { margin: 0 0 1.75rem; color: #fff; font: 700 clamp(2.4rem, 3.125vw, 3.75rem)/1.03 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.esg-vision p { max-width: 30rem; margin: 0 0 2.5rem; color: #fff; font: 300 clamp(1rem, 1.1458vw, 1.375rem)/1.3 'DM Sans', Arial, sans-serif; }
.esg-outline-button--vision { background: #fff; }

@media (max-width: 991.98px) {
  .esg-practice__layout { grid-template-columns: 1fr; }
  .esg-practice__copy { max-width: 40rem; padding-top: 4rem; padding-bottom: 2rem; }
  .esg-practice__visual { min-height: 34rem; }
  .esg-practice__outline { left: 30%; width: 60%; }
  .esg-practice__main-circle { left: 37%; width: 42%; }
  .esg-practice__goal { left: 18%; top: 40%; }
  .esg-efforts { grid-template-columns: 1fr; }
  .esg-efforts__copy { min-height: 38rem; border-radius: 0; }
  .esg-efforts__image { min-height: 30rem; border-radius: 0; }
  .esg-commitment__nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .esg-commitment__connector { width: 29%; }
  .esg-commitment__connector--one { left: 20%; }
  .esg-commitment__connector--two { left: 51%; }
}

@media (max-width: 575.98px) {
  .esg-hero { height: 35rem; }
  .esg-hero__content { padding-bottom: 3.5rem; }
  .esg-breadcrumb .container { flex-wrap: wrap; padding-top: .75rem; padding-bottom: .75rem; }
  .esg-practice { min-height: 55rem; }
  .esg-practice__copy { padding: 3.5rem 1.25rem 1rem; }
  .esg-practice__visual { min-height: 28rem; }
  .esg-practice__outline { top: 5%; left: 12%; width: 84%; }
  .esg-practice__main-circle { top: 14%; left: 28%; width: 56%; }
  .esg-practice__goal { top: 43%; left: 3%; }
  .esg-practice__mini--one { top: 70%; left: 58%; }
  .esg-practice__mini--two { top: 82%; left: 78%; }
  .esg-efforts__copy { min-height: 45rem; padding: 3.5rem 1rem 2.5rem; }
  .esg-efforts__cards { grid-template-columns: 1fr; gap: .75rem; }
  .esg-effort-card { min-height: 7.5rem; }
  .esg-commitment { padding-right: 1rem; padding-left: 1rem; }
  .esg-commitment__nodes { grid-template-columns: 1fr; gap: 2rem; }
  .esg-commitment__connector { display: none; }
  .esg-node { width: min(19rem, 90vw); margin: 0 auto; }
  .esg-vision { min-height: 34rem; }
  .esg-vision__shade { width: 75%; }
  .esg-vision__content { padding-top: 4rem; }
}

/* Keep the ESG practice composition side-by-side at phone widths, matching the
   compact Figma artwork rather than stacking the copy above the goal graphic. */
.esg-practice .esg-rule {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: clamp(3rem, 4.74vw, 5.7rem);
  margin: 0;
  background: repeating-linear-gradient(to bottom, #7e6131 0 1px, transparent 1px 7px);
}
@media (max-width: 575.98px) {
  .esg-practice { height: min(48vw, 14.5rem); min-height: 0; }
  .esg-practice__layout {
    grid-template-columns: 48% 52%;
    min-height: 0;
    height: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
  .esg-practice__copy { max-width: none; align-self: start; padding: 2rem 0 1rem .95rem; }
  .esg-rule { top: 2.2rem; left: 1rem; width: 1px; height: 1.6rem; margin: 0; }
  .esg-practice h2 { margin-bottom: .55rem; font-size: clamp(.7rem, 3.125vw, 1.1rem); line-height: 1.05; }
  .esg-practice__copy p { max-width: 9rem; margin-bottom: .55rem; font-size: clamp(.45rem, 1.5vw, .75rem); line-height: 1.28; }
  .esg-outline-button { min-height: 1.1rem; padding: 0 .28rem; border-radius: 2px; font-size: clamp(.38rem, 1.25vw, .62rem); }
  .esg-outline-button__divider { height: .85rem; margin: 0 .28rem 0 .35rem; }
  .esg-outline-button img { width: .36rem; }
  .esg-practice__visual { min-height: 100%; }
  .esg-practice__lines { top: 10%; left: -18%; width: 100%; height: 135%; opacity: .65; }
  .esg-practice__outline { top: 4%; left: 35%; width: 62%; opacity: .85; }
  .esg-practice__main-circle { top: 18%; left: 41%; width: 42%; }
  .esg-practice__goal { top: 46%; left: 11%; gap: .2rem; }
  .esg-practice__goal strong { font-size: clamp(1.8rem, 6.7vw, 3.4rem); line-height: .8; }
  .esg-practice__goal span { max-width: 3.2rem; font-size: clamp(.36rem, 1.1vw, .56rem); line-height: 1.15; }
  .esg-practice__mini--one { top: 70%; left: 66%; width: 1.7rem; height: 1.7rem; }
  .esg-practice__mini--two { top: 82%; left: 85%; width: .85rem; height: .85rem; }
}

/* Desktop geometry follows the Figma frame: the copy occupies the left
   1,156px artboard and the 1,131px goal component sits independently on the
   right, slightly outside the page frame. */
@media (min-width: 992px) {
  .esg-practice__layout { display: block; height: 100%; }
  .esg-practice__copy {
    position: absolute;
    top: 22.4%;
    left: 3.7%;
    width: 43%;
    max-width: 35rem;
    padding: 0;
  }
  .esg-practice__copy p { margin-left: 1.5%; }
  .esg-practice__copy .esg-outline-button {
    min-height: clamp(2.25rem, 2.66vw, 3.1875rem);
    padding: 0 clamp(.6rem, .83vw, 1rem);
    font-size: clamp(.85rem, 1.04vw, 1.25rem);
  }
  .esg-practice__copy .esg-outline-button__divider { height: clamp(1.85rem, 2.2vw, 2.625rem); margin-left: clamp(.7rem, .94vw, 1.125rem); margin-right: clamp(.6rem, .78vw, .9375rem); }
  .esg-practice__copy .esg-outline-button img { width: clamp(.7rem, .83vw, 1rem); }
  .esg-practice__visual {
    position: absolute;
    top: 1.8%;
    left: 52.75%;
    width: min(58.9vw, 1131px);
    height: 85%;
    min-height: 0;
  }
  .esg-practice__outline { top: 0; left: 39%; width: 61%; }
  .esg-practice__main-circle { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; }
  .esg-practice__main-circle img {
    position: absolute;
    top: -4.17%;
    left: -8.33%;
    width: 116.67%;
    height: 116.67%;
    max-width: none;
  }
  .esg-practice__goal { top: 39.4%; left: 4.1%; }
  .esg-practice__mini--one { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; }
  .esg-practice__mini--two { top: 91.5%; left: 67.7%; width: 3.54%; height: 5.64%; }
  .esg-practice__mini span { position: absolute; inset: 0; display: block; }
  .esg-practice__mini--one img {
    position: absolute; top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; max-width: none;
  }
  .esg-practice__mini--two img {
    position: absolute; top: -8.47%; left: -16.93%; width: 133.86%; height: 133.86%; max-width: none;
  }
}

@media (max-width: 575.98px) {
  .esg-practice__main-circle { height: auto; aspect-ratio: 1; }
  .esg-practice__main-circle img {
    position: absolute;
    top: -4.17%;
    left: -8.33%;
    width: 116.67%;
    height: 116.67%;
    max-width: none;
  }
  .esg-practice__mini span { position: absolute; inset: 0; display: block; }
  .esg-practice__mini--one img {
    position: absolute; top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; max-width: none;
  }
  .esg-practice__mini--two img {
    position: absolute; top: -8.47%; left: -16.93%; width: 133.86%; height: 133.86%; max-width: none;
  }
}

/* ---------- Leadership Team page ---------- */
.leaders-page { background: #fff; color: #352b46; overflow-x: hidden; }
.leaders-site-header { position: relative; z-index: 20; background: #fff; }
.leaders-hero { position: relative; overflow: hidden; aspect-ratio: 1924 / 936; min-height: 30rem; color: #fff; }
.leaders-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.leaders-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,5,15,.66), rgba(13,8,24,.2) 58%, rgba(7,5,15,.16)), linear-gradient(0deg, rgba(6,4,12,.54), transparent 48%); }
.leaders-hero__content { position: relative; z-index: 1; height: 100%; display: flex; align-items: flex-end; padding-bottom: clamp(3.5rem, 9.7vw, 11.6rem); }
.leaders-hero h1 { margin: 0; color: #fff; font: 700 60px/normal 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: 0; }
.leaders-breadcrumb { min-height: 3.25rem; display: flex; align-items: center; background: #7e6131; color: #fff; }
.leaders-breadcrumb .container { display: flex; align-items: center; gap: .7rem; font: 300 18px/normal 'DM Sans', Arial, sans-serif; }
.leaders-breadcrumb a { color: inherit; opacity: .82; text-decoration: none; }
.leaders-directory { padding: clamp(6rem, 7.65vw, 9.2rem) 0 8rem; background: #fff; }
.leaders-intro { text-align: center; }
.leaders-intro h2 { margin: 0; color: #352b46; font: 700 50px/normal 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: 0; }
.leaders-intro p { max-width: 56rem; margin: 12px auto 0; color: #352b46; font: 300 22px/normal 'DM Sans', Arial, sans-serif; }
.leaders-grid { width: 1315px; max-width: calc(100% - 3rem); margin: 130px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 80px 29px; }
.leader-card { position: relative; isolation: isolate; overflow: hidden; flex: 0 0 calc((100% - 87px) / 4); width: auto; aspect-ratio: 419 / 517; border: 1px solid #bfbfbf; border-radius: 20px; background: #fefefe; transition: transform .35s ease, box-shadow .35s ease; }
.leader-card:hover, .leader-card:focus-within { transform: translateY(-.5rem); box-shadow: 0 1.15rem 2.4rem rgba(53,43,70,.16); }
.leader-card::before { position: absolute; z-index: 1; top: -25.3%; left: -41%; width: 181.6%; height: 136.1%; content: ''; background: url('../images/leaders-card-decoration.svg') center / 84.4% 80.1% no-repeat; transform: rotate(-14.19deg); pointer-events: none; }
.leader-card__pattern { position: absolute; z-index: 2; top: -17.6%; left: -84%; width: 275.5%; height: 189.8%; background: url('../images/leaders-card-pattern.svg') center / 100% 100% no-repeat; opacity: .62; pointer-events: none; }
.leader-card h3 { position: absolute; z-index: 3; top: 3.87%; left: 5.49%; width: 75%; margin: 0; color: #352b46; font: 700 27.047px/1.11 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: 0; }
.leader-card > p { position: absolute; z-index: 3; top: 11.2%; left: 5.49%; width: 86%; margin: 0; color: #000; font: 400 18px/1.23 'DM Sans', Arial, sans-serif; }
.leader-card__portrait { position: absolute; z-index: 1; top: 10.25%; right: 0; bottom: 0; left: 0; height: 89.55%; overflow: hidden; }
.leader-card__portrait img { position: absolute; display: block; max-width: none; object-fit: fill; }
.leader-card:nth-child(1) .leader-card__portrait { top: 18.38%; height: 81.43%; }
.leader-card:nth-child(2) .leader-card__portrait { top: 10.25%; height: 89.55%; }
.leader-card:nth-child(3) .leader-card__portrait { top: 16.25%; height: 89.55%; }
.leader-card:nth-child(4) .leader-card__portrait { top: 15.09%; height: 89.55%; }
.leader-card:nth-child(5) .leader-card__portrait { top: 10.83%; height: 89.55%; }
.leader-card:nth-child(6) .leader-card__portrait { top: 15.67%; height: 89.55%; }
.leader-card:nth-child(7) .leader-card__portrait { top: 14.51%; height: 87.23%; }
.leader-card:nth-child(8) .leader-card__portrait { top: 14.51%; height: 87.23%; }
.leader-card:nth-child(9) .leader-card__portrait { top: 15.09%; height: 89.55%; }
.leader-card:nth-child(10) .leader-card__portrait { top: 20.31%; height: 80.66%; }
.leader-card:nth-child(11) .leader-card__portrait { top: 10.25%; height: 89.55%; }
.leader-card:nth-child(12) .leader-card__portrait { top: 15.09%; height: 89.55%; }
.leader-card:nth-child(13) .leader-card__portrait { top: 15.09%; height: 89.55%; }
.leader-card:nth-child(14) .leader-card__portrait { top: 9.67%; height: 89.55%; }
.leader-card:nth-child(1) .leader-card__portrait img { top: 9.57%; left: -.03%; width: 117%; height: 116.67%; }
.leader-card:nth-child(2) .leader-card__portrait img { top: 12.12%; left: 0; width: 119.1%; height: 106.76%; }
.leader-card:nth-child(3) .leader-card__portrait img { top: 0; left: -4.68%; width: 104.58%; height: 93.74%; }
.leader-card:nth-child(4) .leader-card__portrait img { top: 8.41%; left: -21.79%; width: 136%; height: 105.57%; }
.leader-card:nth-child(5) .leader-card__portrait img { top: 13.11%; left: -5.04%; width: 105.01%; height: 86.89%; }
.leader-card:nth-child(6) .leader-card__portrait img { top: 13.64%; left: -4.16%; width: 113%; height: 106.92%; }
.leader-card:nth-child(7) .leader-card__portrait img { top: 7.44%; left: -10.79%; width: 117.92%; height: 121.17%; }
.leader-card:nth-child(8) .leader-card__portrait img { top: -.06%; left: -.39%; width: 100.77%; height: 100.09%; }
.leader-card:nth-child(9) .leader-card__portrait img { top: 8.98%; left: -6.27%; width: 118.71%; height: 92.15%; }
.leader-card:nth-child(10) .leader-card__portrait img { top: -37.01%; left: -2.41%; width: 106.15%; height: 136.05%; }
.leader-card:nth-child(11) .leader-card__portrait img { top: 11.27%; left: -13.03%; width: 113%; height: 93.5%; }
.leader-card:nth-child(12) .leader-card__portrait img { top: 5.1%; left: -10%; width: 120%; height: 94.39%; }
.leader-card:nth-child(13) .leader-card__portrait img { top: 8.67%; left: -17.62%; width: 128%; height: 99.36%; }
.leader-card:nth-child(14) .leader-card__portrait img { top: -.3%; left: -12.04%; width: 112%; height: 100.39%; }
@media (min-width: 1200px) {
  /* Four columns scale the original 419px Figma card to ~306px at 1920px. */
  .leader-card h3 { font-size: clamp(16px, 1.04vw, 20px); }
  .leader-card > p { font-size: clamp(11px, .69vw, 14px); }

  /* Keep each Figma crop proportional as the desktop cards become four columns. */
  .leader-card:nth-child(1) .leader-card__portrait,
  .leader-card:nth-child(7) .leader-card__portrait,
  .leader-card:nth-child(10) .leader-card__portrait { left: -.24%; right: auto; width: 100%; }
  .leader-card:nth-child(2) .leader-card__portrait,
  .leader-card:nth-child(4) .leader-card__portrait,
  .leader-card:nth-child(5) .leader-card__portrait,
  .leader-card:nth-child(6) .leader-card__portrait,
  .leader-card:nth-child(9) .leader-card__portrait,
  .leader-card:nth-child(11) .leader-card__portrait,
  .leader-card:nth-child(12) .leader-card__portrait,
  .leader-card:nth-child(13) .leader-card__portrait,
  .leader-card:nth-child(14) .leader-card__portrait { left: 0; right: auto; width: 99.05%; }
  .leader-card:nth-child(3) .leader-card__portrait { left: .48%; right: auto; width: 99.05%; }
  .leader-card:nth-child(8) .leader-card__portrait { left: 3.1%; right: auto; width: 96.43%; }

  /* Exact text offsets from the 419 × 517 Figma card component, scaled with each card. */
  .leader-card:nth-child(1) h3 { top: 4.45%; }
  .leader-card:nth-child(2) h3 { top: 4.26%; }
  .leader-card:nth-child(5) h3 { top: 4.45%; }
  .leader-card:nth-child(8) h3 { top: 4.64%; }
  .leader-card:nth-child(1) > p,
  .leader-card:nth-child(2) > p,
  .leader-card:nth-child(3) > p { top: 11.8%; }
  .leader-card:nth-child(8) > p { top: 12%; }
  .leader-card:nth-child(1) > p { width: 84.96%; }
  .leader-card:nth-child(6) > p,
  .leader-card:nth-child(12) > p { width: 86.87%; }
  .leader-card:nth-child(7) > p,
  .leader-card:nth-child(8) > p { width: 65.87%; }
  .leader-card:nth-child(10) > p { left: 5.25%; }
}
@media (max-width: 991.98px) {
  .leaders-hero h1 { font-size: clamp(2.4rem, 6vw, 3.75rem); }
  .leaders-breadcrumb .container { font-size: clamp(.8rem, 1.5vw, 1.125rem); }
  .leaders-intro h2 { font-size: clamp(2.1rem, 5vw, 3.15rem); }
  .leaders-intro p { font-size: clamp(.9rem, 2.1vw, 1.375rem); }
  .leaders-grid { margin-top: clamp(4rem, 7vw, 8.125rem); }
  .leader-card h3 { font-size: clamp(1rem, 2.4vw, 1.69rem); }
  .leader-card > p { font-size: clamp(.72rem, 1.5vw, 1.125rem); }
}
@media (max-width: 767.98px) {
  .leaders-grid { width: min(52rem, calc(100% - 2rem)); gap: 2.5rem 1.25rem; }
  .leader-card { flex-basis: calc((100% - 1.25rem) / 2); }
}
@media (max-width: 575.98px) {
  .leaders-hero { aspect-ratio: 1 / 1.05; }
  .leaders-hero__content { padding-bottom: 3rem; }
  .leaders-hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .leaders-breadcrumb .container { flex-wrap: wrap; padding-top: .65rem; padding-bottom: .65rem; }
  .leaders-directory { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .leaders-grid { width: min(100%, 25rem); margin-top: 3rem; gap: 1.5rem; }
  .leader-card { flex-basis: 100%; }
}

/* ---------- Group of Companies page ---------- */
.group-company-page { background: #fff; color: #352b46; overflow-x: hidden; }
.group-company-site-header { position: relative; z-index: 20; background: #fff; }
.group-company-hero { position: relative; overflow: hidden; aspect-ratio: 1932 / 916; min-height: 30rem; color: #fff; }
.group-company-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.group-company-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,7,16,.78), rgba(15,11,26,.25) 48%, rgba(9,7,16,.18)), linear-gradient(0deg, rgba(9,7,16,.48), transparent 45%); }
.group-company-hero__content { position: relative; z-index: 1; height: 100%; display: flex; align-items: flex-end; padding-bottom: clamp(3.5rem, 9.5vw, 11.5rem); }
.group-company-hero h1 { margin: 0; font: 500 clamp(2.8rem, 4.15vw, 5rem)/.98 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.035em; }
.group-company-breadcrumb { min-height: 3.25rem; display: flex; align-items: center; background: #7e6131; color: #fff; }
.group-company-breadcrumb .container { display: flex; align-items: center; gap: .7rem; font: 500 clamp(.68rem, .78vw, .9rem)/1.3 'DM Sans', Arial, sans-serif; }
.group-company-breadcrumb a { color: inherit; opacity: .82; text-decoration: none; }
.group-companies { padding: clamp(5rem, 6.25vw, 7.5rem) 0 0; background: #fff; }
.group-companies > .container { max-width: 1920px; padding-left: 0; padding-right: 0; }
.group-companies__intro { text-align: center; }
.group-companies__intro h2 { margin: 0; color: #352b46; font: 700 clamp(2.1rem, 2.6vw, 3.15rem)/1.08 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.03em; }
.group-companies__intro p { max-width: 56rem; margin: 1.15rem auto 0; color: #352b46; font: 300 clamp(.8rem, 1.1458vw, 1.375rem)/1.35 'DM Sans', Arial, sans-serif; }
.group-cards { width: min(calc(100% - clamp(4rem, 8vw, 10rem)), 100rem); margin: clamp(4rem, 6vw, 7.5rem) auto 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.group-card { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 419 / 517; border: 1px solid #bfbfbf; border-radius: 1.2rem; background: #fefefe; padding: 0; transition: transform .35s ease, box-shadow .35s ease; }
.group-card:hover, .group-card:focus-within { transform: translateY(-.45rem); box-shadow: 0 1rem 2.2rem rgba(53,43,70,.14); }
.group-card__pattern { position: absolute; z-index: 2; top: -15.5%; left: -82.3%; width: 275.5%; height: 189.8%; background: url('../images/joint-card-pattern.svg') center / 100% 100% no-repeat; opacity: .62; pointer-events: none; }
.group-card:nth-child(n+2) .group-card__pattern { top: -17.6%; left: -84%; }
.group-card__location { position: absolute; z-index: 3; top: 6.96%; left: 9.55%; color: #000; font: 400 clamp(.6rem, .9375vw, 1.125rem)/1.23 'DM Sans', Arial, sans-serif; }
.group-card h3 { position: absolute; z-index: 3; top: 12.57%; left: 9.55%; width: 70%; margin: 0; color: #352b46; font: 500 clamp(.95rem, 1.41vw, 1.69rem)/1.25 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.025em; }
.group-card p { position: absolute; z-index: 3; top: 27.66%; left: 9.55%; width: 82.3%; margin: 0; color: #000; font: 400 clamp(.64rem, .9375vw, 1.125rem)/1.23 'DM Sans', Arial, sans-serif; }
.group-card__arrow { position: absolute; z-index: 3; top: 6.96%; right: 7.4%; width: 13.13%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: #8b6a34; color: #fff; font: 500 clamp(.9rem, 1.1vw, 1.3rem)/1 'DM Sans', Arial, sans-serif; }
.group-card__logo { position: absolute; z-index: 1; right: -1px; bottom: -1px; left: -1px; height: 55.13%; overflow: hidden; border-radius: 0 0 1.2rem 1.2rem; }
.group-card__logo::before { position: absolute; z-index: 2; top: -1%; right: 0; left: 0; height: 38%; content: ''; background: linear-gradient(to bottom, #fff, rgba(255,255,255,0)); pointer-events: none; }
.group-card__logo img { position: absolute; display: block; max-width: none; object-fit: fill; }
.group-card:nth-child(1) .group-card__logo img { top: 22.61%; left: 10.02%; width: 85.2%; height: 55.26%; }
.group-card:nth-child(2) .group-card__logo img { top: .72%; left: 2.39%; width: 96.55%; height: 98.57%; }
.group-card:nth-child(3) .group-card__logo img { top: 30.6%; left: 5.81%; width: 90.37%; height: 55%; }
.group-card:nth-child(4) .group-card__logo img { top: 3.1%; left: 24.17%; width: 51.66%; height: 87.02%; }
.group-statement { padding: clamp(4rem, 6.25vw, 7.5rem) 0 clamp(4rem, 6.75vw, 8.1rem); background: #fff; text-align: center; }
.group-statement h2 { --character-heading-muted: #dddcdc; max-width: 72rem; margin: 0 auto; color: #352b46; font: 700 clamp(2rem, 2.6vw, 3.15rem)/1.08 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.03em; }
.joint-benefits.group-benefits { height: 22.5rem; padding: 4.5rem 0; background: rgba(247,247,248,.7); }
.group-benefits .container { height: 100%; }
.group-benefits__grid { height: 100%; }
.group-benefits .joint-benefit { min-height: 13.625rem; }
.group-company-cta { position: relative; overflow: hidden; height: min(42.55vw, 51.06rem); min-height: 30rem; color: #fff; }
.group-company-cta__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.group-company-cta__shade { position: absolute; inset: 0; width: 44%; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 55%, rgba(0,0,0,0) 100%); }
.group-company-cta__content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 5.15vw; }
.group-company-cta h2 { margin: 0; color: #fff; font: 700 clamp(2.6rem, 3.6vw, 4.35rem)/.98 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.group-company-cta p { max-width: 29rem; margin: 1.25rem 0 2rem; color: rgba(255,255,255,.9); font: 400 clamp(.82rem, .94vw, 1.15rem)/1.35 'DM Sans', Arial, sans-serif; }
.group-company-cta .gold-btn { color: #7e6131; background: #fff; border-color: #fff; }
@media (max-width: 991.98px) {
  .group-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 52rem); gap: 1.25rem; transform: none; }
  .group-benefits { height: auto; padding: 4rem 0; }
  .group-benefits__grid { height: auto; }
}
@media (max-width: 575.98px) {
  .group-company-hero { aspect-ratio: 1 / 1.05; }
  .group-company-hero__content { padding-bottom: 3rem; }
  .group-company-hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .group-company-breadcrumb .container { flex-wrap: wrap; padding-top: .65rem; padding-bottom: .65rem; }
  .group-companies > .container { padding-left: 1rem; padding-right: 1rem; }
  .group-cards { grid-template-columns: 1fr; width: min(100%, 25rem); margin-top: 3rem; }
  .group-statement { padding-top: 4rem; padding-bottom: 4rem; }
  .group-benefits { height: auto; }
  .group-company-cta { height: 34rem; }
  .group-company-cta__shade { width: 100%; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.35)); }
  .group-company-cta__content { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ---------- Joint Ventures page ---------- */
.joint-page { background: #fff; color: #352b46; overflow-x: hidden; }
.joint-site-header { position: relative; z-index: 20; background: #fff; }
.joint-hero { position: relative; overflow: hidden; aspect-ratio: 1932 / 916; min-height: 30rem; color: #fff; }
.joint-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.joint-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,7,16,.78) 0%, rgba(20,14,31,.35) 38%, rgba(16,12,28,.06) 72%, rgba(10,7,17,.25) 100%), linear-gradient(0deg, rgba(10,7,17,.46), transparent 42%); }
.joint-hero__content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: clamp(3.5rem, 10.5vw, 12rem); }
.joint-hero__eyebrow { margin: 0 0 .85rem; font: 500 clamp(.72rem, .88vw, 1rem)/1.2 'DM Sans', Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #d0a957; }
.joint-hero h1 { margin: 0; max-width: 43rem; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(2.8rem, 4.15vw, 5rem); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
.joint-breadcrumb { min-height: 3.25rem; display: flex; align-items: center; background: #8b6a34; color: #fff; }
.joint-breadcrumb .container { display: flex; align-items: center; gap: .7rem; font: 500 clamp(.68rem, .78vw, .9rem)/1.3 'DM Sans', Arial, sans-serif; }
.joint-breadcrumb a { color: inherit; text-decoration: none; opacity: .82; }
.joint-breadcrumb a:hover { opacity: 1; }
.joint-partners { padding: clamp(4.5rem, 7.1vw, 8.5rem) 0 clamp(2.75rem, 3.8vw, 4.5rem); background: #fff; }
.joint-partners > .container { max-width: 1920px; padding-left: 0; padding-right: 0; }
.joint-intro { max-width: 60rem; margin: 0 auto; text-align: center; }
.joint-intro h2, .joint-statement h2 { margin: 0; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-weight: 500; letter-spacing: -.03em; }
.joint-intro h2 { font-size: clamp(2.1rem, 3.12vw, 3.75rem); line-height: 1.06; }
.joint-intro p { max-width: 52rem; margin: 1.35rem auto 0; color: #625c68; font: 400 clamp(.92rem, 1.05vw, 1.2rem)/1.45 'DM Sans', Arial, sans-serif; }
.joint-tabs { display: flex; justify-content: center; align-items: center; gap: clamp(1rem, 2.8vw, 3.25rem); margin: clamp(3rem, 5vw, 6rem) auto 0; }
.joint-tabs button { border: 0; background: transparent; padding: .65rem .15rem .85rem; color: #98929e; font: 500 clamp(.82rem, 1.03vw, 1.1rem)/1.2 'DM Sans', Arial, sans-serif; cursor: pointer; transition: color .25s ease; }
.joint-tabs button.is-active { color: #8b6a34; }
.joint-tabs button:focus-visible { outline: 2px solid #8b6a34; outline-offset: 4px; }
.joint-tabs__rule { width: min(100%, 78rem); height: 1px; margin: 0 auto clamp(4rem, 6vw, 7rem); border-top: 1px dashed #c6b7a0; }
.joint-cards { width: min(67.55vw, 81.1rem); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.3rem, 2.45vw, 3rem) 1.25rem; }
.joint-card { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 419 / 517; min-height: 0; border: 1px solid #bfbfbf; border-radius: clamp(.8rem, 1.2vw, 1.2rem); background: #fefefe; padding: 0; transition: transform .35s ease, box-shadow .35s ease; }
.joint-card:hover, .joint-card:focus-within { transform: translateY(-.45rem); box-shadow: 0 1.15rem 2.5rem rgba(53,43,70,.14); }
.joint-card__pattern { position: absolute; z-index: 2; top: -17.6%; left: -84%; width: 275.5%; height: 189.8%; background: url('../images/joint-card-pattern.svg') center / 100% 100% no-repeat; opacity: .62; pointer-events: none; }
.joint-card__location { position: absolute; z-index: 3; top: 6.96%; left: 9.55%; display: block; color: #000; font: 400 clamp(.6rem, .9375vw, 1.125rem)/1.23 'DM Sans', Arial, sans-serif; letter-spacing: 0; }
.joint-card h3 { position: absolute; z-index: 3; top: 12.57%; left: 9.55%; width: 64%; max-width: none; margin: 0; color: #352b46; font: 500 clamp(.95rem, 1.41vw, 1.69rem)/1.25 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.025em; }
.joint-card p { position: absolute; z-index: 3; top: 27.66%; left: 9.55%; width: 82.3%; max-width: none; margin: 0; color: #000; font: 400 clamp(.64rem, .9375vw, 1.125rem)/1.23 'DM Sans', Arial, sans-serif; }
.joint-card__arrow { position: absolute; z-index: 3; top: clamp(1.4rem, 1.85vw, 2.25rem); right: clamp(1.25rem, 1.9vw, 2.3rem); width: clamp(2.3rem, 2.85vw, 3.45rem); aspect-ratio: 1; display: grid; place-items: center; border: 0; border-radius: 50%; background: #8b6a34; color: #fff; font: 500 clamp(1rem, 1.2vw, 1.35rem)/1 'DM Sans', Arial, sans-serif; transition: background .25s ease, color .25s ease, transform .25s ease; }
.joint-card:hover .joint-card__arrow { background: #a07b3d; transform: rotate(8deg); }
.joint-card__logo { position: absolute; z-index: 1; right: -1px; bottom: -1px; left: -1px; height: 55.13%; overflow: hidden; border-radius: 0 0 clamp(.8rem, 1.2vw, 1.2rem) clamp(.8rem, 1.2vw, 1.2rem); }
.joint-card__logo::before { position: absolute; z-index: 2; top: -1%; right: 0; left: 0; height: 38%; content: ''; background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,0) 100%); pointer-events: none; }
.joint-card__logo img { position: absolute; display: block; max-width: none; object-fit: fill; object-position: center; }
.joint-card:nth-child(1) .joint-card__logo img { top: 21.22%; left: 0; width: 100%; height: 64.86%; }
.joint-card:nth-child(2) .joint-card__logo img { top: 11.37%; left: 3.58%; width: 94.27%; height: 92.31%; }
.joint-card:nth-child(3) .joint-card__logo img { top: 22.57%; left: -30.41%; width: 161.26%; height: 67.72%; }
.joint-card:nth-child(4) .joint-card__logo img { top: 10.87%; left: 3.34%; width: 94.88%; height: 78.79%; }
.joint-card:nth-child(5) .joint-card__logo img { top: 7.68%; left: -24.33%; width: 158.6%; height: 90.91%; }
.joint-card:nth-child(6) .joint-card__logo img { top: 32.08%; left: 9.79%; width: 82.34%; height: 48.82%; }
.joint-card:nth-child(7) .joint-card__logo img { top: .36%; left: .01%; width: 102%; height: 99.87%; }
.joint-card:nth-child(8) .joint-card__logo img { top: 19.41%; left: -15.17%; width: 130%; height: 74.52%; }
.joint-card:nth-child(9) .joint-card__logo img { top: 5.19%; left: -29.58%; width: 159.27%; height: 91.3%; }
.joint-technology-panel { width: min(67.55vw, 81.1rem); margin: 0 auto; min-height: 14rem; padding: 4rem; border: 1px solid #ded9e4; border-radius: 1.2rem; background: #f8f6fb; text-align: center; color: #625c68; font: 400 1.1rem/1.5 'DM Sans', Arial, sans-serif; }
.joint-statement { padding: clamp(3rem, 3.2vw, 4rem) 0 clamp(3.5rem, 4.2vw, 5rem); background: #fff; text-align: center; }
.joint-statement h2 { --character-heading-muted: #c9c3cd; max-width: 65rem; margin: 0 auto; color: #352b46; font-size: clamp(2rem, 3vw, 3.6rem); line-height: 1.08; }
.joint-statement h2 span { color: #c9c4cc; }
.joint-benefits { padding: clamp(3.5rem, 4.75vw, 5.7rem) 0; background: #f6f5f7; }
.joint-benefits__grid { width: min(100%, 92rem); margin: 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.joint-benefit { min-height: 12rem; padding: 0 clamp(1rem, 2.2vw, 2.5rem); text-align: center; }
.joint-benefit + .joint-benefit { border-left: 1px dashed #cfc8d5; }
.joint-benefit__icon { width: 5.9rem; height: 5.9rem; margin: 0 auto 1.3rem; display: grid; place-items: center; border-radius: 50%; background: #fff; }
.joint-benefit__icon img { width: 4.35rem; height: 4.35rem; object-fit: contain; }
.joint-benefit h3 { margin: 0; color: #352b46; font: 500 clamp(1.2rem, 1.45vw, 1.7rem)/1.15 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.joint-benefit p { margin: .7rem 0 0; color: #716b76; font: 400 clamp(.75rem, .84vw, .98rem)/1.4 'DM Sans', Arial, sans-serif; }
.joint-cta { position: relative; overflow: hidden; margin-top: clamp(2rem, 3.2vw, 3.8rem); aspect-ratio: 1920 / 817; min-height: 30rem; color: #fff; }
.joint-cta__image { position: absolute; top: -35.3%; left: 0; width: 100%; height: 156.7%; object-fit: cover; object-position: center; }
.joint-cta__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,9,18,.94) 0%, rgba(15,11,25,.74) 32%, rgba(20,13,28,.2) 67%, rgba(20,13,28,.05) 100%); }
.joint-cta__content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 5.15vw; }
.joint-cta h2 { margin: 0; font: 500 clamp(2.6rem, 4.15vw, 5rem)/.98 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; letter-spacing: -.035em; }
.joint-cta p { max-width: 26rem; margin: 1.55rem 0 2.1rem; color: rgba(255,255,255,.82); font: 400 clamp(.88rem, .98vw, 1.1rem)/1.45 'DM Sans', Arial, sans-serif; }
.joint-cta .gold-btn { color: #fff; border-color: #c7a260; }

@media (max-width: 991.98px) {
  .joint-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 52rem); }
  .joint-technology-panel { width: min(100%, 52rem); }
  .joint-benefits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
  .joint-benefit:nth-child(4) { border-left: 0; }
}
@media (max-width: 575.98px) {
  .joint-hero { aspect-ratio: 1 / 1.05; min-height: 29rem; }
  .joint-hero__content { padding-bottom: 3rem; }
  .joint-hero h1 { font-size: clamp(2.3rem, 10vw, 3rem); }
  .joint-breadcrumb .container { flex-wrap: wrap; padding-top: .65rem; padding-bottom: .65rem; }
  .joint-partners > .container { padding-left: 1rem; padding-right: 1rem; }
  .joint-tabs { flex-direction: column; gap: .25rem; }
  .joint-cards { grid-template-columns: 1fr; width: min(100%, 25rem); }
  .joint-card { min-height: 0; }
  .joint-benefits__grid { grid-template-columns: 1fr 1fr; }
  .joint-benefit + .joint-benefit { border-left: 1px dashed #cfc8d5; }
  .joint-benefit:nth-child(odd) { border-left: 0; }
  .joint-benefit:last-child { grid-column: 1 / -1; }
  .joint-cta { aspect-ratio: 1 / 1.05; }
  .joint-cta__content { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ---------- About: unified Vision / Mission scroll transition ---------- */

.about-purpose--unified {
  --purpose-wipe-top: 100%;
  --purpose-cutout-y: -36px;
  --purpose-vision-opacity: 1;
  --purpose-vision-shift: 0px;
  --purpose-mission-copy-opacity: 0;
  --purpose-mission-copy-shift: 18px;
  --purpose-stage-width: 100vw;
  --purpose-stage-height: calc(100svh - var(--about-header-height, 72px));
  --purpose-image-position: center;
  position: relative;
  height: 380svh;
  min-height: 2200px;
  background: #342946;
}

.about-purpose__stage {
  position: sticky;
  top: var(--about-header-height, 72px);
  height: calc(100svh - var(--about-header-height, 72px));
  min-height: 470px;
  overflow: hidden;
  isolation: isolate;
  background: #342946;
}

.about-purpose__vision-layer,
.about-purpose__mission-layer {
  position: absolute;
  inset: 0;
}

.about-purpose__vision-layer {
  z-index: 1;
  background: #342946;
}

.about-purpose__vision-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.015), rgba(14, 9, 22, 0.12));
  pointer-events: none;
}

.about-purpose--unified .about-purpose__curves {
  position: absolute;
  inset: 0;
  background: url("../images/about-purpose-curves.svg") center/100% 100% no-repeat;
}

.about-purpose__mission-layer {
  z-index: 2;
  background: #080911 var(--about-purpose-image, none) var(--purpose-image-position)/cover no-repeat;
  clip-path: inset(var(--purpose-wipe-top) 0 0 0);
  will-change: clip-path;
}

.about-purpose__shared-circle {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: clamp(270px, 32vw, 615px);
  height: clamp(270px, 32vw, 615px);
  overflow: hidden;
  border-radius: 50%;
  transform: translate3d(-50%, calc(-50% + var(--purpose-cutout-y)), 0);
  will-change: transform;
}

.about-purpose__shared-circle img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--purpose-stage-width);
  height: var(--purpose-stage-height);
  max-width: none;
  object-fit: cover;
  object-position: var(--purpose-image-position);
  transform: translate3d(-50%, calc(-50% - var(--purpose-cutout-y)), 0);
  will-change: transform;
}

.about-purpose__statement {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: clamp(250px, 27vw, 520px);
  margin: 0;
  color: #f7f4fa;
  text-align: center;
  transform: translate3d(-50%, -50%, 0);
  pointer-events: none;
}

.about-purpose__statement h3 {
  margin: 0 0 clamp(0.75rem, 1.2vw, 22px);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.35rem, 3.125vw, 60px);
  font-weight: 700;
  line-height: 1.1;
}

.about-purpose__statement p {
  margin: 0 auto;
  max-width: 560px;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1rem, 1.3vw, 25px);
  font-weight: 400;
  line-height: 1.32;
}

.about-purpose__statement--vision {
  opacity: var(--purpose-vision-opacity);
  transform: translate3d(-50%, calc(-50% + var(--purpose-vision-shift)), 0);
  text-shadow: 0 2px 24px rgba(4, 3, 8, 0.95);
  will-change: opacity, transform;
}

.about-purpose__statement--mission {
  z-index: 6;
  top: 50%;
  color: #f7f4fa;
  transform: translate3d(-50%, calc(-50% + var(--purpose-mission-copy-shift)), 0);
  opacity: var(--purpose-mission-copy-opacity);
  will-change: opacity, transform;
}

.about-purpose__statement--mission h3 {
  margin-bottom: clamp(0.55rem, 0.85vw, 14px);
}

.about-purpose__statement--mission p {
  font-size: clamp(1rem, 1.3vw, 25px);
  line-height: 1.32;
}

@media (max-width: 767.98px) {
  .about-purpose--unified {
    height: 330svh;
    min-height: 1800px;
    --purpose-image-position: 61% center;
  }

  .about-purpose__stage {
    min-height: 430px;
  }

  .about-purpose__shared-circle {
    width: min(68vw, 340px);
    height: min(68vw, 340px);
  }

  .about-purpose__statement {
    width: min(60vw, 286px);
  }

}

@media (prefers-reduced-motion: reduce) {
  .about-purpose--unified {
    height: auto;
    min-height: 0;
    background: #080911;
  }

  .about-purpose__stage {
    position: relative;
    top: auto;
    height: clamp(430px, 56vw, 720px);
  }

  .about-purpose__mission-layer {
    clip-path: none;
    transform: none;
  }

  .about-purpose__shared-circle {
    display: none;
  }

  .about-purpose__statement--vision {
    display: none;
  }

  .about-purpose__statement--mission {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0);
  }
}

/* ==========================================================
   Expertise landing page
   Shared JNV components + Figma frame 204:5544
   ========================================================== */

.expertise-page {
  --expertise-ink: #352b46;
  --expertise-gold: #7e6131;
  --expertise-muted: #393939;
  background: #fff;
}

.expertise-hero {
  /* Figma banner frame: 1932 × 916 (2.109:1). Keep the artwork ratio stable. */
  height: auto;
  aspect-ratio: 1932 / 916;
  min-height: 0;
}

.expertise-hero .industries-hero__image {
  object-position: center;
}

.expertise-hero .industries-hero__title {
  max-width: 68rem;
}

.expertise-breadcrumb {
  min-height: clamp(3rem, 2.71vw, 3.25rem);
}

.expertise-section-heading {
  max-width: 72rem;
  margin: 0 auto;
  text-align: center;
}

.expertise-section-heading h2,
.expertise-trust__heading h2 {
  margin: 0;
  color: var(--expertise-ink);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 2.61vw, 3.125rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.expertise-section-heading p,
.expertise-trust__heading p {
  max-width: 72rem;
  margin: clamp(1rem, 1.25vw, 1.5rem) auto 0;
  color: var(--expertise-muted);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.95rem, 1.15vw, 1.375rem);
  font-weight: 300;
  line-height: 1.35;
}

.expertise-overview {
  padding: clamp(5rem, 6.15vw, 7.4rem) 0 clamp(5rem, 6.25vw, 7.5rem);
}

.expertise-overview__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(3rem, 3.75vw, 4.5rem) clamp(1.5rem, 2.65vw, 3.2rem);
  width: min(100%, 71rem);
  margin: clamp(3.75rem, 4.75vw, 5.7rem) auto 0;
}

.expertise-card {
  position: relative;
  grid-column: span 2;
  aspect-ratio: 344 / 478;
  overflow: hidden;
  border-radius: clamp(0.55rem, 0.73vw, 0.86rem);
  background: #100d19;
  color: #fff;
  isolation: isolate;
}

.expertise-card--quality {
  grid-column: 2 / span 2;
}

.expertise-card--central {
  grid-column: 4 / span 2;
}

.expertise-card > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expertise-card__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(145deg, rgba(53, 43, 70, 0.94) 0%, rgba(53, 43, 70, 0.42) 38%, rgba(53, 43, 70, 0) 68%);
}

.expertise-card__copy {
  position: absolute;
  top: 8.1%;
  left: 5.8%;
  display: block;
  width: 78%;
}

.expertise-card__copy strong {
  display: block;
  margin-bottom: clamp(0.55rem, 0.75vw, 0.9rem);
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.35rem, 1.56vw, 1.875rem);
  font-weight: 400;
  line-height: 1.06;
}

.expertise-card__copy > span {
  display: block;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.82rem, 0.94vw, 1.125rem);
  font-weight: 300;
  line-height: 1.28;
}

.expertise-card__arrow {
  position: absolute;
  right: 4.2%;
  bottom: 3.1%;
  display: grid;
  width: clamp(2.65rem, 2.86vw, 3.44rem);
  height: clamp(2.65rem, 2.86vw, 3.44rem);
  border-radius: 50%;
  place-items: center;
  background: var(--expertise-gold);
}

.expertise-card__arrow img {
  width: 48%;
  filter: brightness(0) invert(1);
}

.expertise-card:focus-visible {
  outline: 3px solid var(--expertise-gold);
  outline-offset: 4px;
}

.expertise-process {
  padding: clamp(3rem, 3.9vw, 4.75rem) 0 clamp(2rem, 2.6vw, 3.125rem);
  overflow: hidden;
}

.expertise-process .expertise-section-heading p {
  max-width: 52rem;
}

.expertise-process__chain {
  position: relative;
  height: clamp(315px, 23.08vw, 443px);
  margin-top: clamp(6rem, 8.55vw, 10.25rem);
}

.expertise-process__step,
.expertise-process__bridge {
  position: absolute;
  top: 15px;
  width: clamp(285px, 20.83vw, 400px);
  height: clamp(285px, 20.83vw, 400px);
  margin: 0;
  border-radius: 50%;
  transform: translateX(-50%);
}

.expertise-process__orbit {
  position: absolute;
  z-index: 0;
  top: 15px;
  left: 50%;
  width: clamp(285px, 20.83vw, 400px);
  height: clamp(285px, 20.83vw, 400px);
  border: 2px dashed #bfbfbf;
  border-radius: 50%;
  opacity: 1;
  transform: translateX(-50%);
  transition: opacity 900ms ease;
}

.expertise-process__step {
  overflow: hidden;
  background: #dedede;
  box-shadow: 0 1.05rem 2.1rem rgba(0, 0, 0, 0.07);
  transition: left 1200ms cubic-bezier(.2, .75, .22, 1),
    opacity 900ms ease,
    transform 1200ms cubic-bezier(.2, .75, .22, 1),
    box-shadow 900ms ease;
  will-change: left, opacity, transform;
}

.expertise-process__step--requirement {
  z-index: 1;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
}

.expertise-process__step--engineer {
  z-index: 3;
  left: 50%;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%);
  box-shadow: 0 1.05rem 2.1rem rgba(0, 0, 0, 0.07);
}

.expertise-process__step--manufacture {
  z-index: 5;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
}

.expertise-process__step img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expertise-process__step::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.55) 88%);
  content: '';
}

.expertise-process__step figcaption {
  position: absolute;
  z-index: 2;
  top: 68.15%;
  left: 50%;
  width: 285.5px;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.35rem, 1.57vw, 1.88rem);
  font-weight: 400;
  line-height: 1.08;
  text-align: center;
  transform: translateX(-50%);
}

.expertise-process__step--engineer figcaption {
  top: 71.25%;
}

.expertise-process__bridge {
  border: 2px dashed #bfbfbf;
  opacity: 0;
  transform: none;
  transition: opacity 900ms ease;
}

.expertise-process__bridge--one {
  z-index: 0;
  left: clamp(230px, 16.8vw, 322.62px);
}

.expertise-process__bridge--two {
  z-index: 0;
  left: clamp(720px, 52.64vw, 1010.68px);
}

/* Scroll-triggered state shared with Smart Factories: the process begins as a
   centered step, then resolves into the three-card chain. */
.expertise-process__chain.is-expanded .expertise-process__orbit { opacity: 0; }
.expertise-process__chain.is-expanded .expertise-process__bridge { opacity: 1; }
.expertise-process__chain.is-expanded .expertise-process__step--requirement {
  left: 0;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.expertise-process__chain.is-expanded .expertise-process__step--engineer {
  left: 50%;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%);
}
.expertise-process__chain.is-expanded .expertise-process__step--manufacture {
  right: 0;
  left: auto;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.expertise-trust {
  --expertise-ink: #352b46;
  --expertise-gold: #7e6131;
  --expertise-muted: #393939;
  position: relative;
  min-height: min(39.3229vw, 47.1875rem);
  overflow: hidden;
  background: #161020;
  color: #fff;
}

.expertise-trust__image,
.expertise-trust__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.expertise-trust__image {
  top: -33.9%;
  right: auto;
  bottom: auto;
  left: 0.02%;
  width: 101.28%;
  height: 172.35%;
  object-fit: fill;
}

.expertise-trust__shade {
  background: rgba(53, 43, 70, 0.7);
}

.expertise-trust__content {
  position: relative;
  width: 100%;
  max-width: none !important;
  min-height: inherit;
  padding-right: 0;
  padding-left: 0;
}

.expertise-trust__heading {
  position: absolute;
  top: 9.5%;
  right: 0;
  left: 0;
  text-align: center;
}

.expertise-trust__heading h2,
.expertise-trust__heading p {
  color: #fff;
}

.expertise-trust__heading h2 {
  font-weight: 700;
}

.expertise-trust__heading p {
  width: min(38.3vw, 46rem);
  max-width: none;
  margin-top: min(1.05vw, 1.25rem);
  line-height: 1.2;
}

.expertise-trust__stats {
  position: absolute;
  inset: 0;
  margin: 0;
}

.expertise-stat {
  --expertise-stat-line: 15rem;
  position: absolute;
  min-width: clamp(11rem, 15vw, 18rem);
  margin: 0;
  padding-left: clamp(3.2rem, 4.25vw, 5.1rem);
}

.expertise-stat--engineers {
  --expertise-stat-line: min(17.8125vw, 21.375rem);
  top: 47.42%;
  left: 4.896%;
}

.expertise-stat--programmes {
  --expertise-stat-line: min(11.8229vw, 14.1875rem);
  top: 63.25%;
  left: 25.729%;
  padding-left: min(4.01vw, 4.8125rem);
}

.expertise-stat--facilities {
  --expertise-stat-line: min(18.986vw, 22.783rem);
  top: 43.31%;
  left: 51.719%;
}

.expertise-stat--customers {
  --expertise-stat-line: min(12.4479vw, 14.9375rem);
  top: 61.13%;
  left: 72.448%;
  padding-left: min(4.583vw, 5.5rem);
}

/* Repeater fallback: preserve the art-directed four-stat composition by
   default, and use a responsive grid only when editors add/remove rows. */
.expertise-trust__stats[data-stat-count]:not([data-stat-count="4"]) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: clamp(1rem, 2vw, 2.5rem);
  align-content: end;
  padding: clamp(13rem, 24vw, 28rem) 5% 6%;
}

.expertise-trust__stats[data-stat-count]:not([data-stat-count="4"]) .expertise-stat {
  position: relative;
  top: auto;
  left: auto;
  min-width: 0;
}

.expertise-stat dt {
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(3rem, 4.55vw, 5.45rem);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.expertise-stat dt span {
  color: var(--expertise-gold);
}

.expertise-stat dd {
  margin: clamp(0.65rem, 0.85vw, 1rem) 0 0;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1.1rem, 1.62vw, 1.95rem);
  font-weight: 300;
  line-height: 1.16;
}

.expertise-stat__beacon {
  position: absolute;
  z-index: 0;
  top: min(1.15vw, 1.375rem);
  left: 0;
  width: clamp(3.25rem, 3.125vw, 3.75rem);
  height: clamp(3.25rem, 3.125vw, 3.75rem);
}

.expertise-stat__beacon::after {
  position: absolute;
  z-index: 0;
  top: 58.333%;
  left: 50%;
  height: var(--expertise-stat-line);
  border-left: 1.5px dashed rgba(255, 255, 255, 0.96);
  content: '';
  transform: translateX(-50%);
}

.expertise-stat__orbit,
.expertise-stat__orbit b {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.expertise-stat__orbit {
  z-index: 1;
  width: 100%;
  height: 100%;
  animation: expertise-beacon-rotate 8.5s linear infinite;
  will-change: transform;
}

.expertise-stat__orbit--continuous {
  animation-name: expertise-beacon-rotate-continuous;
}

.expertise-stat__orbit b:nth-child(1) {
  width: 100%;
  height: 100%;
  background: rgba(182, 176, 190, 0.78);
  animation: expertise-beacon-outer 8.5s linear infinite;
}

.expertise-stat__orbit b:nth-child(2) {
  width: 61.1%;
  height: 61.1%;
  background: rgba(221, 220, 220, 0.92);
  animation: expertise-beacon-mid 8.5s linear infinite;
}

.expertise-stat__orbit b:nth-child(3) {
  width: 27.8%;
  height: 27.8%;
  background: #fff;
  animation: expertise-beacon-dot 8.5s linear infinite;
}

.expertise-gallery {
  position: relative;
  height: min(47.7865vw, 57.34375rem);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.expertise-gallery__curves {
  position: absolute;
  z-index: 0;
  top: -66.34%;
  left: -11.93%;
  width: 116.46%;
  height: 317.6%;
  pointer-events: none;
}

.expertise-gallery > .container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none !important;
  height: 100%;
  padding-right: 0;
  padding-left: 0;
}

.expertise-gallery__title {
  --character-heading-muted: #d2d2d2;
  position: absolute;
  top: 13.34%;
  left: 50%;
  width: min(52vw, 62.4rem);
  max-width: none;
  margin: 0;
  color: #d2d2d2;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: min(2.6042vw, 3.125rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0;
  text-align: center;
  transform: translateX(-50%);
}

.expertise-gallery__grid {
  position: absolute;
  inset: 0;
  margin: 0;
}

.expertise-gallery__item {
  position: relative;
  margin: 0;
}

.expertise-gallery__hover {
  position: absolute;
  inset: 0;
  left: -1.1%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: min(1.25vw, 1.5rem);
  align-items: center;
  justify-content: center;
  width: 101.84%;
  height: 99.7%;
  margin: 0;
  border-radius: min(1.1458vw, 1.375rem);
  background: #352b46;
  color: #fff;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.34s ease, visibility 0s linear 0.34s;
}

.expertise-gallery__hover > * {
  transform: translateY(min(-0.3125vw, -0.375rem));
}

.expertise-gallery__hover h3 {
  margin: 0;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: min(1.5625vw, 1.875rem);
  font-weight: 700;
  line-height: 1.15;
}

.expertise-gallery__hover p {
  margin: 0;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: min(0.9375vw, 1.125rem);
  font-weight: 300;
  line-height: 1.3;
}

.expertise-gallery__item {
  position: absolute;
  top: 51.09%;
  width: min(16.9643vw, 20.3571rem);
  aspect-ratio: 1;
}

.expertise-gallery__item--one {
  left: 13.9323%;
  z-index: 2;
  cursor: pointer;
}

.expertise-gallery__item--two,
.expertise-gallery__item--three,
.expertise-gallery__item--four {
  cursor: pointer;
}

.expertise-gallery__motion {
  position: absolute;
  inset: 0;
  transition: transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.expertise-gallery__item--one:hover,
.expertise-gallery__item--one:focus-visible {
  z-index: 4;
  outline: none;
}

.expertise-gallery__item--one:hover .expertise-gallery__motion,
.expertise-gallery__item--one:focus-visible .expertise-gallery__motion {
  transform: translateY(max(-9.4271vw, -11.3125rem));
}

.expertise-gallery__item--one:hover .expertise-gallery__motion > img,
.expertise-gallery__item--one:hover .expertise-gallery__motion > span,
.expertise-gallery__item--one:focus-visible .expertise-gallery__motion > img,
.expertise-gallery__item--one:focus-visible .expertise-gallery__motion > span {
  opacity: 0;
}

.expertise-gallery__item--two:hover .expertise-gallery__motion > img,
.expertise-gallery__item--two:hover .expertise-gallery__motion > span,
.expertise-gallery__item--two:focus-visible .expertise-gallery__motion > img,
.expertise-gallery__item--two:focus-visible .expertise-gallery__motion > span,
.expertise-gallery__item--three:hover .expertise-gallery__motion > img,
.expertise-gallery__item--three:hover .expertise-gallery__motion > span,
.expertise-gallery__item--three:focus-visible .expertise-gallery__motion > img,
.expertise-gallery__item--three:focus-visible .expertise-gallery__motion > span,
.expertise-gallery__item--four:hover .expertise-gallery__motion > img,
.expertise-gallery__item--four:hover .expertise-gallery__motion > span,
.expertise-gallery__item--four:focus-visible .expertise-gallery__motion > img,
.expertise-gallery__item--four:focus-visible .expertise-gallery__motion > span {
  opacity: 0;
}

.expertise-gallery__item--one:hover .expertise-gallery__hover,
.expertise-gallery__item--one:focus-visible .expertise-gallery__hover {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.13s, 0s;
}

.expertise-gallery__item--two:hover .expertise-gallery__hover,
.expertise-gallery__item--two:focus-visible .expertise-gallery__hover,
.expertise-gallery__item--three:hover .expertise-gallery__hover,
.expertise-gallery__item--three:focus-visible .expertise-gallery__hover,
.expertise-gallery__item--four:hover .expertise-gallery__hover,
.expertise-gallery__item--four:focus-visible .expertise-gallery__hover {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.13s, 0s;
}

.expertise-gallery__item--two:hover,
.expertise-gallery__item--two:focus-visible,
.expertise-gallery__item--three:hover,
.expertise-gallery__item--three:focus-visible,
.expertise-gallery__item--four:hover,
.expertise-gallery__item--four:focus-visible {
  z-index: 4;
  outline: none;
}

.expertise-gallery__item--two:hover .expertise-gallery__motion,
.expertise-gallery__item--two:focus-visible .expertise-gallery__motion,
.expertise-gallery__item--three:hover .expertise-gallery__motion,
.expertise-gallery__item--three:focus-visible .expertise-gallery__motion,
.expertise-gallery__item--four:hover .expertise-gallery__motion,
.expertise-gallery__item--four:focus-visible .expertise-gallery__motion {
  transform: translateY(max(-9.4271vw, -11.3125rem));
}

.expertise-gallery__item--two {
  left: 32.902%;
}

.expertise-gallery__item--three {
  left: 51.714%;
}

.expertise-gallery__item--four {
  left: 70.677%;
}

.expertise-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.28s ease;
}

.expertise-gallery__item > span,
.expertise-gallery__motion > span {
  position: absolute;
  z-index: 2;
  top: -3.376%;
  left: -2.61%;
  display: grid;
  width: min(2.7083vw, 3.25rem);
  height: min(2.7083vw, 3.25rem);
  border-radius: 50%;
  place-items: center;
  background: #dddcdc;
  color: #000;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: min(1.0417vw, 1.25rem);
  font-weight: 700;
  transition: opacity 0.24s ease;
}

.expertise-sector {
  min-height: clamp(28rem, 33.55vw, 40.25rem);
}

.expertise-sector .about-contact__image {
  object-position: center;
}

.expertise-sector .about-contact__shade {
  background: linear-gradient(90deg, rgba(4, 5, 9, 0.98) 0%, rgba(4, 5, 9, 0.82) 25%, rgba(4, 5, 9, 0) 56%);
}

.expertise-sector .about-contact__content {
  top: 45%;
}

.expertise-sector h2 {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-weight: 400;
}

.expertise-sector .about-contact__button {
  color: var(--expertise-gold);
}

@keyframes expertise-beacon-rotate {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  35.294%, 100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes expertise-beacon-rotate-continuous {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes expertise-beacon-outer {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  5.882% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  10% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  14.118% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  29.412% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  33.529% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  37.647%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes expertise-beacon-mid {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  2.941% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  7.059% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  11.176% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  26.471% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  30.588% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  34.706%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes expertise-beacon-dot {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  4.118% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  8.235% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  23.529% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: ease-out; }
  27.647% { opacity: 0.3; transform: translate(-50%, -50%) scale(1.2); animation-timing-function: ease-in; }
  31.765%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@media (max-width: 991.98px) {
  .expertise-overview__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 46rem;
  }

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

  .expertise-card--research {
    grid-column: 2 / span 2;
  }

  .expertise-card--quality,
  .expertise-card--central {
    grid-column: span 2;
  }

  .expertise-process__chain {
    width: calc(100% - 2rem);
  }

  .expertise-trust {
    min-height: 42rem;
  }

  .expertise-trust__heading p {
    width: min(calc(100% - 2rem), 38rem);
  }

  .expertise-trust__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    align-content: end;
    padding: 13rem 1rem 4rem;
  }

  .expertise-stat,
  .expertise-stat--engineers,
  .expertise-stat--programmes,
  .expertise-stat--facilities,
  .expertise-stat--customers {
    position: relative;
    top: auto;
    left: auto;
    min-height: 9rem;
  }

  .expertise-stat__beacon::after {
    height: 8.5rem;
  }

  .expertise-gallery {
    height: auto;
    min-height: 0;
    padding: 4.5rem 0;
  }

  .expertise-gallery > .container {
    height: auto;
  }

  .expertise-gallery__curves {
    top: -12%;
    left: -45%;
    width: 190%;
    height: auto;
  }

  .expertise-gallery__title {
    position: relative;
    top: auto;
    left: auto;
    width: min(calc(100% - 2rem), 44rem);
    margin: 0 auto;
    font-size: clamp(2rem, 5.2vw, 3.125rem);
    transform: none;
  }

  .expertise-gallery__grid {
    position: relative;
    inset: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    width: min(calc(100% - 2rem), 44rem);
    margin: 4rem auto 0;
  }

  .expertise-gallery__item,
  .expertise-gallery__item--one,
  .expertise-gallery__item--two,
  .expertise-gallery__item--three,
  .expertise-gallery__item--four {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .expertise-gallery__hover {
    gap: 1.25rem;
    border-radius: 1.1rem;
  }

  .expertise-gallery__hover > * {
    transform: none;
  }

  .expertise-gallery__hover h3 {
    font-size: clamp(1.6rem, 3.5vw, 1.875rem);
  }

  .expertise-gallery__hover p {
    font-size: clamp(0.95rem, 2vw, 1.125rem);
  }

  .expertise-gallery__item--one:hover .expertise-gallery__motion,
  .expertise-gallery__item--one:focus-visible .expertise-gallery__motion {
    transform: translateY(-0.75rem);
  }

  .expertise-gallery__item--two:hover .expertise-gallery__motion,
  .expertise-gallery__item--two:focus-visible .expertise-gallery__motion,
  .expertise-gallery__item--three:hover .expertise-gallery__motion,
  .expertise-gallery__item--three:focus-visible .expertise-gallery__motion,
  .expertise-gallery__item--four:hover .expertise-gallery__motion,
  .expertise-gallery__item--four:focus-visible .expertise-gallery__motion {
    transform: translateY(-0.75rem);
  }

  .expertise-gallery__item > span,
  .expertise-gallery__motion > span {
    width: clamp(2.6rem, 5.2vw, 3.25rem);
    height: clamp(2.6rem, 5.2vw, 3.25rem);
    font-size: clamp(0.95rem, 2vw, 1.25rem);
  }
}

@media (max-width: 767.98px) {
  .expertise-hero {
    height: auto;
    min-height: 31rem;
  }

  .expertise-hero .industries-hero__image {
    object-position: 63% center;
  }

  .expertise-overview__grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: min(100%, 22rem);
  }

  .expertise-card {
    width: 100%;
  }

  .expertise-process {
    padding: 3.5rem 0 4rem;
  }

  .expertise-process__chain {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 3rem;
  }

  .expertise-process__step,
  .expertise-process__step--requirement,
  .expertise-process__step--engineer,
  .expertise-process__step--manufacture {
    position: relative;
    top: auto;
    left: auto;
    width: min(78vw, 20rem);
    transform: none;
  }

  .expertise-process__orbit {
    display: none;
  }

  .expertise-process__bridge {
    display: none;
  }

  .expertise-process__chain.is-expanded .expertise-process__step,
  .expertise-process__chain.is-expanded .expertise-process__step--requirement,
  .expertise-process__chain.is-expanded .expertise-process__step--engineer,
  .expertise-process__chain.is-expanded .expertise-process__step--manufacture {
    left: auto;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .expertise-trust {
    min-height: 47rem;
  }

  .expertise-trust__heading {
    top: 7%;
    padding: 0 1rem;
  }

  .expertise-trust__stats {
    padding-top: 13rem;
    padding-bottom: 2.5rem;
  }

  .expertise-stat {
    min-width: 0;
    padding-left: 2.8rem;
  }

  .expertise-stat__beacon {
    width: 2.6rem;
    height: 2.6rem;
  }

  .expertise-gallery__title {
    text-align: center;
  }

  .expertise-gallery__grid {
    gap: 2rem 1rem;
  }

  .expertise-sector .about-contact__image {
    object-position: 64% center;
  }

  .expertise-sector .about-contact__shade {
    background: linear-gradient(90deg, rgba(4, 5, 9, 0.96), rgba(4, 5, 9, 0.45));
  }
}

@media (max-width: 479.98px) {
  .expertise-gallery__grid {
    grid-template-columns: 1fr;
    width: min(calc(100% - 2rem), 22rem);
  }

  .expertise-trust__stats {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding-top: 12.5rem;
  }

  .expertise-stat {
    min-height: 6.75rem;
  }

  .expertise-stat__beacon::after {
    height: 6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .expertise-stat__orbit,
  .expertise-stat__orbit b {
    animation: none;
  }

  .expertise-gallery__motion,
  .expertise-gallery__item--two .expertise-gallery__motion,
  .expertise-gallery__item--three .expertise-gallery__motion,
  .expertise-gallery__item--four .expertise-gallery__motion,
  .expertise-gallery__item img,
  .expertise-gallery__item > span,
  .expertise-gallery__motion > span,
  .expertise-gallery__hover {
    transition: none;
  }

  .expertise-gallery__item--one:hover .expertise-gallery__motion,
  .expertise-gallery__item--one:focus-visible .expertise-gallery__motion {
    transform: none;
  }

  .expertise-gallery__item--two:hover .expertise-gallery__motion,
  .expertise-gallery__item--two:focus-visible .expertise-gallery__motion,
  .expertise-gallery__item--three:hover .expertise-gallery__motion,
  .expertise-gallery__item--three:focus-visible .expertise-gallery__motion,
  .expertise-gallery__item--four:hover .expertise-gallery__motion,
  .expertise-gallery__item--four:focus-visible .expertise-gallery__motion {
    transform: none;
  }
}

/* ==========================================================
   Expertise Internal / Engineering Solutions
   Figma frame 204:5097 — shared header, footer and tab runtime
   ========================================================== */

.expertise-internal-page { background: #fff; }
.expertise-internal-page,
.expertise-internal-page *,
.expertise-internal-page *::before,
.expertise-internal-page *::after { box-sizing: border-box; }

.expertise-internal-hero {
  height: auto;
  min-height: 0;
  aspect-ratio: 1932 / 916;
}

.expertise-internal-hero .industries-hero__image {
  object-position: center;
}

.expertise-internal-hero .industries-hero__shade {
  background: linear-gradient(180deg, rgba(7, 6, 14, 0.02) 36%, rgba(7, 6, 14, 0.76) 100%);
}

.expertise-internal-hero .industries-hero__content {
  bottom: 14.6%;
}

.expertise-internal-page .industries-hero__title {
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
}

.expertise-internal-hero .industries-hero__title {
  max-width: min(56.6vw, 67.94rem);
  font-size: clamp(2rem, 3.125vw, 3.75rem);
  line-height: 1.08;
}

.expertise-internal-breadcrumb { min-height: clamp(2.75rem, 2.71vw, 3.25rem); }

.expertise-internal-heading h2 {
  margin: 0;
  color: #352b46;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 2.6042vw, 3.125rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.expertise-internal-heading p {
  max-width: min(60vw, 56.625rem);
  margin: clamp(0.5rem, 0.83vw, 1rem) auto 0;
  color: #393939;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.82rem, 0.94vw, 1.125rem);
  font-weight: 300;
  line-height: 1.35;
}

.expertise-internal-technology {
  height: min(54.53vw, 65.44rem);
  min-height: 44rem;
  padding-top: clamp(4rem, 4.74vw, 5.7rem);
  overflow: hidden;
}

.expertise-internal-showcase {
  position: relative;
  width: min(calc(100% - 6rem), 108.31rem);
  height: min(31.65vw, 38rem);
  margin: clamp(2.75rem, 4.25vw, 5.1rem) auto 0;
}

.expertise-internal-showcase__card {
  position: absolute;
  top: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
}

.expertise-internal-showcase__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.expertise-internal-showcase__card--main {
  left: 28.2%;
  width: 43.6%;
  z-index: 2;
}

.expertise-internal-showcase__card--side {
  width: 28%;
  opacity: 0.32;
  z-index: 1;
}

.expertise-internal-showcase__card--left { left: 0; }
.expertise-internal-showcase__card--right { right: 0; }

.expertise-internal-showcase__track,
.expertise-internal-showcase__slide { position: absolute; inset: 0; }
.expertise-internal-showcase__slide { opacity: 0; pointer-events: none; transform: translateX(2.5%); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.7,.2,1); }
.expertise-internal-showcase__slide.is-active { opacity: 1; pointer-events: auto; transform: translateX(0); }
.expertise-internal-showcase__slide.is-entering-left { transform: translateX(-2.5%); }
.expertise-internal-showcase__slide .expertise-internal-showcase__card { height: calc(100% - 5.3rem); transition: transform 650ms cubic-bezier(.2,.7,.2,1), opacity 650ms ease; }
.expertise-internal-showcase__slide:hover .expertise-internal-showcase__card--main { transform: translateY(-0.7rem) scale(1.015); }
.expertise-internal-showcase__slide:hover .expertise-internal-showcase__card--side { opacity: 0.48; }

.expertise-internal-showcase__arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #352b46;
  font-family: Georgia, serif;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
}

.expertise-internal-showcase__arrow--prev { left: -1rem; }
.expertise-internal-showcase__arrow--next { right: -1rem; }
.expertise-internal-showcase__arrow:hover,
.expertise-internal-showcase__arrow:focus-visible { color: #7e6131; transform: translateY(-50%) scale(1.2); outline: none; }

.expertise-internal-showcase__labels {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(calc(100% - 6rem), 108.31rem);
  margin: 0 auto;
  border-top: 0;
  color: #352b46;
  text-align: center;
}

.expertise-internal-showcase__labels > button {
  appearance: none;
  width: 100%;
  min-height: 4.8rem;
  padding: 0.55rem 1rem 0;
  border-top: 2px solid #dddcdc;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 1.6vw, 1.9rem);
  font-weight: 400;
  line-height: 1.05;
  color: #352b46;
  cursor: pointer;
}

.expertise-internal-showcase__labels > button.is-selected { border-top-color: #7e6131; }
.expertise-internal-showcase__labels > button strong { font-weight: 400; }
.expertise-internal-showcase__labels > button:hover,
.expertise-internal-showcase__labels > button:focus-visible { color: #7e6131; outline: none; }

.expertise-internal-process {
  position: relative;
  height: min(81.667vw, 98rem);
  min-height: 60rem;
  overflow: hidden;
  background: #352b46;
  color: #fff;
}

.expertise-internal-process .expertise-internal-heading h2,
.expertise-internal-process .expertise-internal-heading p { color: #fff; }

.expertise-internal-process__heading {
  position: absolute;
  top: 8.16%;
  right: 1rem;
  left: 1rem;
}

.expertise-internal-process__heading p { color: rgba(255, 255, 255, 0.85); }

.expertise-internal-process__line {
  position: absolute;
  right: 4.9%;
  left: 4.9%;
  height: 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
}

.expertise-internal-process__line--1 { top: 25.45%; }
.expertise-internal-process__line--2 { top: 47.39%; }
.expertise-internal-process__line--3 { top: 69.32%; }
.expertise-internal-process__line--4 { top: 91.26%; }

.expertise-internal-process__photo {
  position: absolute;
  z-index: 3;
  top: 25.57%;
  left: 50%;
  width: min(16.84vw, 20.2rem);
  height: min(20.05vw, 24.06rem);
  overflow: hidden;
  border-radius: min(0.7vw, 0.85rem);
  transform: translateX(-50%);
  transition: top 900ms cubic-bezier(.2,.7,.2,1), transform 900ms cubic-bezier(.2,.7,.2,1), box-shadow 500ms ease;
}

.expertise-internal-process__photo.is-middle { top: 47.93%; }
.expertise-internal-process__photo.is-bottom { top: 69.39%; }
.expertise-internal-process__photo:hover { transform: translateX(-50%) scale(1.025); box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,.28); }

.expertise-internal-process__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expertise-internal-process__row {
  position: absolute;
  z-index: 2;
  right: 11.5%;
  left: 11.5%;
  display: grid;
  grid-template-columns: minmax(0, 29%) minmax(0, 29%);
  justify-content: space-between;
  height: 12.5%;
  align-items: center;
  cursor: pointer;
  transition: transform 500ms cubic-bezier(.2,.7,.2,1);
}

.expertise-internal-process__row p {
  max-width: 100%;
  transform: translateY(0);
  opacity: .82;
  transition: transform 500ms cubic-bezier(.2,.7,.2,1), opacity 500ms ease;
}
.expertise-internal-process__row:hover p,
.expertise-internal-process__row.is-hovered p,
.expertise-internal-process__row:focus-within p { transform: translateY(-0.55rem); opacity: 1; }
.expertise-internal-process__row:hover,
.expertise-internal-process__row.is-hovered { transform: translateX(0.35rem); }

.expertise-internal-process__row h3 {
  margin: 0;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.55rem, 2.08vw, 2.5rem);
  font-weight: 400;
  line-height: 1.05;
}

.expertise-internal-process__row p {
  max-width: 26.6rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.82rem, 1.04vw, 1.25rem);
  font-weight: 300;
  line-height: 1.3;
}

.expertise-internal-process__row--specify { top: 30.17%; }
.expertise-internal-process__row--validate { top: 52.11%; }
.expertise-internal-process__row--optimise { top: 74.04%; }

.expertise-internal-materials {
  position: relative;
  min-height: min(58.02vw, 69.625rem);
  padding-top: clamp(2.75rem, 4.4vw, 5.3rem);
  overflow: hidden;
  background: #fff;
}

.expertise-internal-materials__heading h2 { color: #999; font-size: clamp(1.6rem, 2.6042vw, 3.125rem); }

.expertise-internal-materials__layout {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(1rem, 1.35vw, 1.65rem);
  /* Match the 1325px Figma frame (68.6% of the 1931px desktop canvas). */
  width: min(68.62vw, 82.8125rem);
  height: min(32.95vw, 39.55rem);
  min-height: 0;
  margin: clamp(2.25rem, 4.25vw, 5.1rem) auto 0;
  padding: 0.75rem;
  background: #fff;
}

.expertise-internal-materials__image { margin: 0; overflow: hidden; }

.expertise-internal-materials__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 320ms ease, transform 520ms cubic-bezier(.2,.7,.2,1);
}

.expertise-internal-materials__image.is-changing img {
  opacity: 0.35;
  transform: scale(1.015);
}

.expertise-internal-materials__tabs {
  display: flex;
  flex-direction: column;
  gap: clamp(0.65rem, 1.19vw, 1.4375rem);
  padding: 0.2rem 0;
}

.expertise-internal-materials__tabs > button {
  order: 1;
  width: 100%;
  min-height: 4rem;
  padding: 1rem 1.4rem;
  border: 1px solid #dddcdc;
  border-radius: 0.8rem;
  background: #fff;
  color: #352b46;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 1.25vw, 1.5rem);
  text-align: left;
}

.expertise-internal-materials__tabs > button.is-active { order: 0; }

.expertise-internal-materials__tabs > button[aria-selected="true"] {
  border-color: #352b46;
  border-radius: 0.8rem;
  background: #352b46;
  color: #fff;
}

.expertise-internal-materials__tabs > button[aria-selected="true"] { display: none; }
.expertise-internal-materials__tabs > button:not([aria-selected="true"]):hover,
.expertise-internal-materials__tabs > button:not([aria-selected="true"]):focus-visible { border-color: #7e6131; background: #faf8fc; transform: translateX(-0.25rem); outline: none; }

.expertise-internal-materials__panel {
  order: 0;
  padding: 2.7rem 1.4rem 2.25rem;
  border: 1px solid #dddcdc;
  border-radius: 0.8rem;
  background: #fff;
  transition: transform 450ms cubic-bezier(.2,.7,.2,1), box-shadow 450ms ease;
}

.expertise-internal-materials__panel.is-active { order: -1; background: #352b46; color: #fff; }
.expertise-internal-materials__panel.is-active:hover { transform: translateY(-0.35rem); box-shadow: 0 1rem 2rem rgba(53,43,70,.18); }

/* Material tabs: titles keep their row; the selected row expands in place. */
.expertise-internal-materials__tabs { gap: clamp(0.65rem, 1.19vw, 1.4375rem); }
.expertise-internal-materials__item { overflow: hidden; border: 1px solid #dddcdc; border-radius: 0.8rem; background: #fff; transition: box-shadow 450ms ease, transform 450ms ease; }
.expertise-internal-materials__item > button {
  display: block;
  width: 100%;
  min-height: 4rem;
  padding: 1rem clamp(1rem, 1.14vw, 1.375rem);
  border: 0;
  background: #fff;
  color: #352b46;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 1.584vw, 1.91rem);
  text-align: left;
  cursor: pointer;
  transition: background 350ms ease, color 350ms ease;
}
.expertise-internal-materials__item:not(:has(button[aria-selected="true"])) > button {
  min-height: clamp(4rem, 6.47vw, 7.8125rem);
}
.expertise-internal-materials__item > button[aria-selected="true"] { background: #352b46; color: #fff; }
.expertise-internal-materials__item > button:hover,
.expertise-internal-materials__item > button:focus-visible { outline: none; }
.expertise-internal-materials__item:has(button[aria-selected="true"]) { border-color: #352b46; }
.expertise-internal-materials__item:has(button[aria-selected="true"]):hover { transform: translateY(-0.2rem); box-shadow: 0 0.8rem 1.8rem rgba(53,43,70,.16); }
.expertise-internal-materials__item > .expertise-internal-materials__panel,
.expertise-internal-materials__item > .expertise-internal-materials__panel.is-active { display: block; order: initial; padding: 0 clamp(1rem, 1.14vw, 1.375rem) 1.3rem; border: 0; border-radius: 0; background: #352b46; color: #fff; transform: none; box-shadow: none; }
.expertise-internal-materials__item > .expertise-internal-materials__panel[hidden] { display: none !important; }
.expertise-internal-materials__item > .expertise-internal-materials__panel p { margin: 0; }

.expertise-internal-materials__panel h3 {
  margin: 0 0 0.65rem;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.2rem, 1.6vw, 1.9rem);
  font-weight: 400;
}

.expertise-internal-materials__panel p {
  margin: 0;
  color: inherit;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.78rem, 0.94vw, 1.125rem);
  font-weight: 300;
  line-height: 1.3;
}

.expertise-internal-cta {
  position: relative;
  height: min(33.02vw, 39.625rem);
  min-height: 28rem;
  overflow: hidden;
  color: #fff;
}

.expertise-internal-cta__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.expertise-internal-cta__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.35) 48%, rgba(0, 0, 0, 0) 75%); }

.expertise-internal-cta__content { position: relative; z-index: 1; padding-top: clamp(5rem, 9.1vw, 10.9rem); }

.expertise-internal-cta h2 {
  margin: 0;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 2.6042vw, 3.125rem);
  font-weight: 700;
  line-height: 1;
}

.expertise-internal-cta p { max-width: 29rem; margin: 1.1rem 0 2rem; color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(0.85rem, 1.04vw, 1.25rem); line-height: 1.3; }

@media (max-width: 991.98px) {
  .expertise-internal-technology { height: auto; min-height: 48rem; padding-bottom: 3rem; }
  .expertise-internal-showcase { width: calc(100% - 2rem); height: 25rem; }
  .expertise-internal-showcase__labels { width: calc(100% - 2rem); }
  .expertise-internal-process { height: auto; min-height: 58rem; padding: 5rem 1rem 4rem; }
  .expertise-internal-process__heading { position: relative; top: auto; right: auto; left: auto; }
  .expertise-internal-process__photo { position: relative; top: auto; left: auto; width: min(48vw, 20rem); height: min(55vw, 24rem); margin: 3rem auto; transform: none; }
  .expertise-internal-process__line { display: none; }
  .expertise-internal-process__row { position: relative; top: auto; right: auto; left: auto; grid-template-columns: 1fr 1.5fr; gap: 1.5rem; height: auto; margin: 1.7rem auto; width: min(100%, 44rem); }
  .expertise-internal-materials { min-height: 58rem; }
  .expertise-internal-materials__layout { width: min(calc(100% - 2rem), 52rem); grid-template-columns: 1fr; }
  .expertise-internal-materials__image { min-height: 22rem; }
}

@media (max-width: 767.98px) {
  .expertise-internal-hero { height: auto; min-height: 31rem; aspect-ratio: auto; }
  .expertise-internal-showcase { height: 18rem; }
  .expertise-internal-showcase__card--side { opacity: 0.2; }
  .expertise-internal-showcase__labels { font-size: 0.8rem; }
  .expertise-internal-showcase__labels > div { padding-inline: 0.25rem; }
  .expertise-internal-process__row { grid-template-columns: 1fr; gap: 0.45rem; }
  .expertise-internal-cta { min-height: 30rem; }
}

@media (prefers-reduced-motion: reduce) {
  .expertise-internal-page * { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Local navbar fallback: keeps this page laid out correctly when the optional
   Bootstrap CDN is unavailable (the shared navbar still uses Bootstrap classes). */
.expertise-internal-page .navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-top: 1rem; padding-bottom: 1rem; }
.expertise-internal-page .navbar > .container { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.expertise-internal-page .navbar-brand { display: inline-block; padding-top: 0.3125rem; padding-bottom: 0.3125rem; margin-right: 1rem; font-size: 1.25rem; text-decoration: none; white-space: nowrap; }
.expertise-internal-page .navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.expertise-internal-page .collapse:not(.show) { display: none; }
.expertise-internal-page .navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-top: 0; margin-bottom: 0; list-style: none; }
.expertise-internal-page .navbar-nav .nav-link { display: block; text-decoration: none; }
.expertise-internal-page .navbar-toggler { padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background: transparent; border: 1px solid rgba(0,0,0,.15); border-radius: .375rem; }
.expertise-internal-page .navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background: center/100% 100% no-repeat; }
.expertise-internal-page .ms-auto { margin-left: auto !important; }
.expertise-internal-page .text-center { text-align: center !important; }
.expertise-internal-page .d-flex { display: flex !important; }
.expertise-internal-page .flex-wrap { flex-wrap: wrap !important; }
.expertise-internal-page .align-items-center { align-items: center !important; }
.expertise-internal-page .justify-content-between { justify-content: space-between !important; }
.expertise-internal-page .gap-4 { gap: 1.5rem !important; }
@media (min-width: 1200px) {
  .expertise-internal-page .navbar-expand-xl .navbar-collapse { display: flex !important; flex-basis: auto; }
  .expertise-internal-page .navbar-expand-xl .navbar-toggler { display: none; }
  .expertise-internal-page .navbar-expand-xl .navbar-nav { flex-direction: row; }
}

/* ---------- About: pinned vertical history slider ---------- */
.about-page .about-timeline-slider {
  --timeline-stage-height: calc(100svh - var(--about-header-height, 72px));
  position: relative;
  height: var(--timeline-track-height, 1450px);
  min-height: 1450px;
}

.about-page .about-timeline__stage {
  position: sticky;
  top: var(--about-header-height, 72px);
  height: var(--timeline-stage-height);
  min-height: 470px;
  overflow: hidden;
  isolation: isolate;
}

.about-page .about-timeline__controls {
  position: absolute;
  z-index: 8;
  top: 50%;
  left: max(1rem, calc(50% - 525px + 2rem));
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  transform: translateY(-50%);
}

.about-page .about-timeline__controls button {
  display: grid;
  width: 2rem;
  height: 0.5rem;
  margin: 0;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.about-page .about-timeline__controls button span {
  display: block;
  width: 1.6rem;
  height: 1px;
  background: rgba(154, 118, 64, 0.68);
  transition: width 240ms ease, background-color 240ms ease, height 240ms ease;
}

.about-page .about-timeline__controls button:hover span,
.about-page .about-timeline__controls button:focus-visible span,
.about-page .about-timeline__controls button.is-active span {
  width: 1.85rem;
  height: 1px;
  background: var(--about-purple);
}

.about-page .about-timeline__controls button:focus-visible {
  outline: 1px dashed var(--about-purple);
  outline-offset: 0.2rem;
}

.about-page .about-timeline-slider .about-timeline {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 1050px;
  margin: 0 auto;
}

.about-page .about-timeline-slider .about-timeline__item {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.47fr 0.53fr;
  align-items: center;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: var(--timeline-slide-opacity, 0);
  transform: translate3d(0, var(--timeline-slide-y, 100%), 0) scale(var(--timeline-slide-scale, 1));
  transform-origin: center center;
  pointer-events: none;
  transition: none;
  will-change: transform, opacity;
}

.about-page .about-timeline-slider .about-timeline__item.is-active {
  z-index: 4;
  pointer-events: auto;
}

.about-page .about-timeline-slider .about-timeline__year,
.about-page .about-timeline-slider .about-timeline__content {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.about-page .about-timeline-slider .about-timeline__content {
  align-self: center;
  max-width: 560px;
  padding-left: 0;
}

.about-page .about-timeline__orb {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: calc(50% - 525px + clamp(0rem, 5.6vw, 4.75rem));
  width: clamp(210px, 19vw, 274px);
  height: clamp(210px, 19vw, 274px);
  border-radius: 50%;
  background: radial-gradient(circle at 27% 28%, #c6b8df 0%, #e5deef 43%, #fbfafc 78%, #fff 100%);
  box-shadow: 0 14px 34px rgba(81, 60, 104, 0.14);
  transform: translateY(-50%);
  pointer-events: none;
}

.about-page .about-timeline-slider .about-timeline__year,
.about-page .about-timeline-slider .about-timeline__year--featured {
  position: relative;
  z-index: 2;
  width: clamp(210px, 19vw, 274px);
  height: clamp(210px, 19vw, 274px);
  margin: 0 clamp(3rem, 12vw, 165px) 0 auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.about-page .about-timeline-slider .about-timeline__year::before,
.about-page .about-timeline-slider .about-timeline__year::after {
  display: none;
}

.about-page .about-timeline-slider .about-timeline__year strong,
.about-page .about-timeline-slider .about-timeline__year--featured strong {
  color: #96743e;
}

@media (max-width: 767.98px) {
  .about-page .about-timeline-slider {
    --timeline-stage-height: min(calc(100svh - var(--about-header-height, 64px)), 44rem);
    min-height: 0;
  }

  .about-page .about-timeline__stage {
    min-height: 430px;
  }

  .about-page .about-timeline__controls {
    left: 0.35rem;
  }

  .about-page .about-timeline__orb {
    top: 27%;
    left: 50%;
    width: 138px;
    height: 138px;
    transform: translate(-50%, -50%);
  }

  .about-page .about-timeline-slider .about-timeline__item {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    align-content: center;
    justify-items: center;
    gap: 1.1rem;
    padding: 1.25rem 0.75rem;
  }

  .about-page .about-timeline-slider .about-timeline__year,
  .about-page .about-timeline-slider .about-timeline__year--featured {
    width: 138px;
    height: 138px;
    margin: 0 auto;
    padding: 0;
    align-items: center;
    justify-content: center;
  }

  .about-page .about-timeline-slider .about-timeline__year strong,
  .about-page .about-timeline-slider .about-timeline__year--featured strong {
    font-size: clamp(2.5rem, 10vw, 3.4rem);
  }

  .about-page .about-timeline-slider .about-timeline__content {
    width: min(100%, 33rem);
    max-width: 33rem;
    padding: 0;
  }

  .about-page .about-timeline-slider .about-timeline__image,
  .about-page .about-timeline-slider .about-timeline__image--logo {
    height: clamp(150px, 38vw, 220px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page .about-timeline-slider .about-timeline__item {
    transition: none !important;
  }
}

/* Local navbar fallback for About Us when the optional Bootstrap CDN is unavailable. */
.about-page .navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-top: 1rem; padding-bottom: 1rem; }
.about-page .navbar > .container { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.about-page .navbar-brand { display: inline-block; padding-top: 0.3125rem; padding-bottom: 0.3125rem; margin-right: 1rem; font-size: 1.25rem; text-decoration: none; white-space: nowrap; }
.about-page .navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.about-page .collapse:not(.show) { display: none; }
.about-page .navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-top: 0; margin-bottom: 0; list-style: none; }
.about-page .navbar-nav .nav-item { list-style: none; }
.about-page .navbar-nav .nav-link { display: block; text-decoration: none; }
.about-page .navbar-toggler { padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background: transparent; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.375rem; }
.about-page .navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background: center/100% 100% no-repeat; }
.about-page .ms-auto { margin-left: auto !important; }
@media (min-width: 1200px) {
  .about-page .navbar-expand-xl .navbar-collapse { display: flex !important; flex-basis: auto; }
  .about-page .navbar-expand-xl .navbar-toggler { display: none; }
  .about-page .navbar-expand-xl .navbar-nav { flex-direction: row; }
}

/* ---------- About: shared Figma action-button treatment ---------- */
.about-page .gold-btn,
.about-page .navbar__cta,
.about-page .about-contact__button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.about-page .gold-btn {
  gap: 0;
  min-height: clamp(2rem, 2.75vw, 2.5rem);
  padding: 0 clamp(0.7rem, 1vw, 0.95rem);
  border: 1px solid var(--about-gold);
  border-radius: 3px;
  color: var(--about-gold);
  background: transparent;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.75rem, 0.82vw, 0.82rem);
  font-weight: 500;
  line-height: 1;
}

.about-page .gold-btn > span:first-child {
  padding-right: clamp(0.7rem, 0.95vw, 0.95rem);
}

.about-page .gold-btn__divider {
  display: block;
  width: 1px;
  height: clamp(1.15rem, 1.45vw, 1.45rem);
  background: currentColor;
  opacity: 0.7;
}

.about-page .gold-btn img {
  display: block;
  width: clamp(0.75rem, 0.9vw, 0.95rem);
  height: auto;
  margin: 0 0 0 clamp(0.65rem, 0.8vw, 0.8rem);
  padding: 0;
  border: 0;
  filter: none;
}

.about-page .gold-btn:hover,
.about-page .gold-btn:focus-visible {
  border-color: var(--about-gold);
  color: #fff;
  background: var(--about-gold);
}

.about-page .gold-btn:hover img,
.about-page .gold-btn:focus-visible img {
  filter: brightness(0) invert(1);
}

.about-page .navbar__cta {
  gap: clamp(0.6rem, 0.75vw, 0.9rem);
  min-height: clamp(2.25rem, 2.8vw, 2.75rem);
  padding: 0 clamp(0.85rem, 1.15vw, 1.35rem);
  border: 1px solid var(--about-gold);
  border-radius: 3px;
  background: transparent;
}

.about-page .navbar__cta span {
  color: var(--about-gold);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.75rem, 0.9vw, 0.95rem);
  font-weight: 500;
}

.about-page .navbar__cta-divider {
  width: 1px;
  height: clamp(1.1rem, 1.35vw, 1.35rem);
  background: var(--about-gold);
}

.about-page .navbar__cta img {
  width: clamp(0.7rem, 0.85vw, 0.9rem);
  margin: 0;
}

.about-page .about-contact__button {
  gap: 0;
  min-height: clamp(2.25rem, 2.8vw, 2.75rem);
  margin-top: 1.5rem;
  padding: 0 clamp(0.8rem, 1vw, 1rem);
  border: 1px solid #fff;
  border-radius: 3px;
  background: #fff;
  color: var(--about-purple);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(0.75rem, 0.9vw, 0.95rem);
  font-weight: 500;
}

.about-page .about-contact__button-divider {
  display: block;
  width: 1px;
  height: clamp(1.1rem, 1.35vw, 1.35rem);
  margin: 0 clamp(0.65rem, 0.8vw, 0.8rem);
  background: currentColor;
  opacity: 0.55;
}

.about-page .about-contact__button img {
  display: block;
  width: clamp(0.7rem, 0.85vw, 0.9rem);
  height: auto;
  margin: 0;
}

/* ---------- About: history intro heading Figma alignment ---------- */
.about-page .about-history__intro {
  --character-heading-muted: #c9c3cd;
  max-width: 930px;
  margin: 0 auto clamp(3.75rem, 6.2vw, 5.75rem);
  color: var(--about-purple);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.85rem, 2.7vw, 3.25rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 767.98px) {
  .about-page .about-history__intro {
    max-width: 34rem;
    margin-bottom: 3.25rem;
    font-size: clamp(1.65rem, 7.5vw, 2.35rem);
    line-height: 1.12;
  }
}

/* ---------- Board of Directors page ---------- */
.board-page {
  overflow-x: hidden;
  background: #fff;
}

.board-page .board-site-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  background: #fff;
}

.board-page .board-site-header .container,
.board-page .board-hero__content,
.board-page .board-breadcrumb .container {
  max-width: none;
  padding-right: 4.94vw;
  padding-left: 4.94vw;
}

.board-page .board-site-header .navbar .nav-link.active {
  color: #7e6131;
}

.board-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 1925.44 / 1055.953;
  overflow: hidden;
  background: #16151a;
}

.board-hero__image {
  position: absolute;
  top: -35.41%;
  left: -8.5%;
  width: 108.53%;
  height: 149%;
  max-width: none;
  object-fit: fill;
}

.board-hero__shade {
  position: absolute;
  inset: 36.18% 0 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .92));
}

.board-hero__content {
  position: absolute;
  inset: 0;
  display: block;
  padding-top: 0;
}

.board-hero h1 {
  position: absolute;
  top: 68%;
  left: 4.94vw;
  max-width: 700px;
  margin: 0;
  color: #fff;
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.5rem, 3.12vw, 3.75rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.board-breadcrumb {
  position: relative;
  z-index: 1;
  margin-top: -20px;
  background: #7e6131;
  color: #fff;
}

.board-breadcrumb .container {
  display: flex;
  align-items: center;
  gap: clamp(.55rem, .8vw, 1rem);
  min-height: clamp(2rem, 2.7vw, 3.25rem);
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(.72rem, .83vw, 1rem);
}

.board-breadcrumb a,
.board-breadcrumb span {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}

.board-breadcrumb a:hover,
.board-breadcrumb a:focus-visible {
  text-decoration: underline;
}

.board-directory {
  padding: clamp(5rem, 8vw, 9.625rem) 0 clamp(5rem, 8vw, 9.625rem);
}

.board-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: clamp(4rem, 6.72vw, 8.06rem);
  column-gap: clamp(1.5rem, 2.6vw, 3.125rem);
  width: min(1400px, 72.73vw);
  margin: 0 auto;
}

.board-card {
  position: relative;
  aspect-ratio: 433 / 712;
  overflow: hidden;
  border-radius: clamp(.65rem, 1.04vw, 1.25rem);
  background: #352b46;
  isolation: isolate;
  transition: transform .45s cubic-bezier(.2, .75, .25, 1), box-shadow .45s ease;
}

.board-card:hover,
.board-card:focus-within {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 2.5rem rgba(53, 43, 70, .2);
}

.board-card__pattern {
  position: absolute;
  z-index: -2;
  top: -16.18%;
  left: -38.32%;
  width: 178.5%;
  height: 135.25%;
  background: url('../images/board-pattern.svg') center / 100% 100% no-repeat;
  opacity: .58;
}

.board-card__header {
  position: absolute;
  z-index: 2;
  top: 5.48%;
  right: 6.89%;
  left: 7.16%;
  color: #fff;
}

.board-card__header h3 {
  margin: 0 0 clamp(.55rem, .8vw, .95rem);
  font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  font-size: clamp(1.35rem, 1.99vw, 2.4rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.board-card__header p {
  margin: 0;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(.68rem, .94vw, 1.125rem);
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.board-card__rule {
  display: block;
  width: clamp(1rem, 1.33vw, 1.6rem);
  height: 1px;
  margin-top: clamp(.35rem, .5vw, .6rem);
  background: #c9a866;
}

.board-card__portrait {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.board-card__portrait img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain !important;
  object-position: center top;
  flex: 0 0 auto;
}

.board-card__portrait--jaiprakash { top: 31.6%; left: -13.63%; width: 127.25%; height: 73.6%; overflow: hidden; }
.board-card__portrait--neelkumar { top: 33.29%; left: -13.63%; width: 127.25%; height: 81.18%; overflow: hidden; }
.board-card__portrait--vijay { top: 34.83%; left: -13.63%; width: 127.25%; height: 78.93%; overflow: hidden; }
.board-card__portrait--keith { top: 30.06%; left: -13.63%; width: 127.25%; height: 73.6%; overflow: hidden; }
.board-card__portrait--ravi { top: 33.29%; left: -13.63%; width: 127.25%; height: 81.18%; overflow: hidden; }
.board-card__portrait--sandeep { top: 35.25%; left: 0; width: 100%; height: 65.03%; overflow: hidden; }

/* Preserve each source PNG's aspect ratio; only the transparent canvas is offset. */
.board-card__portrait--jaiprakash img { transform: translateY(-3.7%); }
.board-card__portrait--neelkumar img { transform: none; }
.board-card__portrait--vijay img { transform: translateY(-6.67%); }
.board-card__portrait--sandeep img { transform: translateY(-.99%); }
.board-card__portrait--keith img { transform: translateY(-1.7%); }
.board-card__portrait--ravi img { transform: none; }

@media (max-width: 991.98px) {
  .board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 44rem); }
  .board-hero h1 { top: 64%; }
}

@media (max-width: 575.98px) {
  .board-grid { grid-template-columns: 1fr; width: min(100%, 25rem); }
  .board-directory { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .board-hero { aspect-ratio: 1 / 1.05; }
  .board-hero__image { top: -20%; height: 130%; }
  .board-hero h1 { top: 58%; left: 4.94vw; }
  .board-hero h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
}

/* ---------- Awards and Recognitions page ---------- */
.awards-page {
  --awards-purple: #352b46;
  --awards-gold: #7e6131;
  overflow-x: hidden;
  background: #fff;
}

.awards-page .about-site-header .navbar .nav-link.active { color: var(--awards-gold); }

.awards-hero {
  position: relative;
  height: clamp(34rem, 47.41vw, 57.25rem);
  overflow: hidden;
  background: #080914;
}

.awards-hero__image {
  position: absolute;
  top: -101.42%;
  left: -18.65%;
  width: 147.74%;
  height: 207.73%;
  max-width: none;
  object-fit: fill;
}

.awards-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(53, 43, 70, 0) 33.57%, rgba(53, 43, 70, .55) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, .96) 100%);
}

.awards-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(5rem, 10.36vw, 12.45rem);
}

.awards-hero h1 {
  max-width: 68rem;
  margin: 0;
  color: #fff;
  font: 700 clamp(2.45rem, 3.125vw, 3.75rem)/1.06 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif;
  letter-spacing: 0;
}

.awards-breadcrumb {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0;
  background: var(--awards-gold);
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(.8rem, .9375vw, 1.125rem);
  font-weight: 300;
}

.awards-breadcrumb .container { display: flex; align-items: center; gap: .75rem; }
.awards-breadcrumb a { color: inherit; text-decoration: none; }
.awards-breadcrumb a:hover, .awards-breadcrumb a:focus-visible { color: #fff; text-decoration: underline; }

.awards-notable { padding: clamp(6rem, 6.25vw, 7.5rem) 0 clamp(5rem, 6.25vw, 7.5rem); }
.awards-notable__inner { width: min(1813px, calc(100% - 3rem)); margin: 0 auto; padding: 0; }
.awards-section-title { margin: 0; color: var(--awards-purple); font: 700 clamp(2.15rem, 2.6vw, 3.125rem)/1.1 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; text-align: center; }
.awards-notable__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.9vw, 3.6rem); margin-top: clamp(3rem, 4.6vw, 5.5rem); }
.awards-recognition-card { min-width: 0; }
.awards-recognition-card__media { position: relative; aspect-ratio: 563 / 507; overflow: hidden; border-radius: 16px; background: #080914; }
.awards-recognition-card__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.awards-recognition-card:nth-child(1) .awards-recognition-card__media > img { width: 103.06%; height: 102.93%; transform: translate(-1.82%, -.17%); }
.awards-recognition-card:nth-child(2) .awards-recognition-card__media > img { width: 99.96%; height: 111.05%; transform: translateY(-10.2%); }
.awards-recognition-card__overlay { position: absolute; inset: 0; display: block; padding: 0; color: #fff; text-align: center; pointer-events: none; }
.awards-recognition-card__overlay span { position: absolute; top: 4.8%; left: 0; width: 100%; margin: 0; font: 500 clamp(.875rem, .9375vw, 1.125rem)/1.1 'DM Sans', Arial, sans-serif; }
.awards-recognition-card__overlay strong { position: absolute; top: 12.1%; left: 50%; width: 97%; max-width: none; margin: 0; transform: translateX(-50%); font: 400 clamp(1.125rem, 1.1458vw, 1.375rem)/1.1 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.awards-recognition-card__overlay small { position: absolute; bottom: 2%; left: 0; width: 100%; margin: 0; font: 300 clamp(.875rem, .9375vw, 1.125rem)/1.1 'DM Sans', Arial, sans-serif; }
.awards-recognition-card__details { margin: 32px 0 0; padding: 0 4%; color: #352b46; }
.awards-recognition-card__details > strong { display: block; color: var(--awards-gold); font: 500 18px/1.21 'DM Sans', Arial, sans-serif; }
.awards-recognition-card__details h3 { margin: 3px 0 11px; font: 400 22px/1.21 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.awards-recognition-card__details p { margin: 0; color: #352b46; font: 300 18px/1.35 'DM Sans', Arial, sans-serif; }
.awards-recognition-card__details p span { color: var(--awards-gold); }

.awards-appreciation { padding: clamp(5rem, 6.25vw, 7.5rem) 0 clamp(5.5rem, 7vw, 8.5rem); }
.awards-appreciation__inner { max-width: 1728px; }
.awards-tabs { max-width: 866px; margin: clamp(3rem, 4.7vw, 5.65rem) auto clamp(3rem, 4.4vw, 5.3rem); }
.awards-tabs button { font-family: 'DM Sans', Arial, sans-serif; font-size: 18px; font-weight: 300; }
.awards-tabs button.is-active { color: var(--awards-gold); }
.awards-appreciation__panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3.02vw, 3.6rem); max-width: 1589px; margin: 0 auto; }
.awards-appreciation-card { min-width: 0; }
.awards-appreciation-card__media { position: relative; aspect-ratio: 491 / 442; overflow: hidden; border-radius: 16px; background: #080914; }
.awards-appreciation-card__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.awards-appreciation-card:nth-child(2) .awards-appreciation-card__media > img { width: 113%; height: 102.06%; transform: translate(0, -2.08%); }
.awards-appreciation-card:nth-child(3) .awards-appreciation-card__media > img { width: 114%; height: 113.99%; transform: translate(0, -7.9%); }
.awards-appreciation-card .awards-recognition-card__overlay { display: block; padding: 0; }
.awards-appreciation-card .awards-recognition-card__overlay span { top: 4.1%; }
.awards-appreciation-card:first-child .awards-recognition-card__overlay span { font-weight: 300; }
.awards-appreciation-card .awards-recognition-card__overlay strong { top: 11.54%; width: 95%; max-width: none; }
.awards-appreciation-card .awards-recognition-card__overlay small { bottom: 2%; }
.awards-load-more { display: flex; justify-content: center; margin-top: clamp(2.5rem, 3.5vw, 4.25rem); }
.awards-load-more .gold-btn { margin: 0; }
.awards-empty { margin: 3rem auto 0; text-align: center; }

.awards-esg { position: relative; height: clamp(30rem, 37.4vw, 45.05rem); overflow: hidden; background: #080914; }
.awards-esg__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.awards-esg__shade { position: absolute; inset: 0 auto 0 0; width: 44%; background: linear-gradient(90deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, 0)); }
.awards-esg__content { position: relative; z-index: 1; height: 100%; padding-top: clamp(5rem, 5.85vw, 7rem); color: #fff; }
.awards-esg h2 { margin: 0; color: #fff; font: 700 clamp(2.45rem, 3.125vw, 3.75rem)/1.06 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; }
.awards-esg p { max-width: 29rem; margin: 1rem 0 2.25rem; color: #fff; font: 300 clamp(1rem, 1.1458vw, 1.375rem)/1.25 'DM Sans', Arial, sans-serif; }
.awards-esg__button { display: inline-flex; align-items: center; min-height: 51px; padding: 0 18px; border: 1px solid var(--awards-gold); border-radius: 4px; background: #fff; color: var(--awards-gold); font: 500 20px/1 'DM Sans', Arial, sans-serif; text-decoration: none; }
.awards-esg__button img { width: 1rem; height: auto; margin-left: 15px; }
.awards-esg__button .gold-btn__divider { display: block; width: 1px; height: 41px; margin-left: 18px; background: var(--awards-gold); }

@media (max-width: 991.98px) {
  .awards-notable__grid, .awards-appreciation__panel { grid-template-columns: 1fr; max-width: 38rem; margin-right: auto; margin-left: auto; }
  .awards-notable__grid { gap: 3.5rem; }
  .awards-appreciation__panel { gap: 2rem; }
  .awards-recognition-card__overlay strong { font-size: clamp(1rem, 3vw, 1.375rem); }
  .awards-appreciation-card .awards-recognition-card__overlay strong { font-size: clamp(1rem, 3vw, 1.375rem); }
}

@media (max-width: 575.98px) {
  .awards-hero { height: 35rem; }
  .awards-hero__content { padding-bottom: 3.25rem; }
  .awards-hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .awards-breadcrumb { min-height: 3.25rem; }
  .awards-breadcrumb .container { flex-wrap: wrap; padding-top: .7rem; padding-bottom: .7rem; }
  .awards-notable__inner { width: min(100% - 2rem, 30rem); }
  .awards-section-title { font-size: clamp(2rem, 8vw, 2.75rem); }
  .awards-tabs { margin-top: 2.25rem; }
  .awards-tabs button { font-size: .78rem; }
  .awards-esg { height: 34rem; }
  .awards-esg__shade { width: 78%; }
  .awards-esg__content { padding-top: 3.5rem; }
  .awards-esg p { max-width: 18rem; font-size: 1rem; }
  .awards-esg__button { font-size: .9rem; }
}

/* ---------- ESG practice goal carousel ---------- */
.esg-practice__orbit-item {
  position: absolute;
  z-index: 3;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  appearance: none;
  transform-origin: center;
  transition: top .72s cubic-bezier(.22,.61,.36,1), left .72s cubic-bezier(.22,.61,.36,1), width .72s cubic-bezier(.22,.61,.36,1), height .72s cubic-bezier(.22,.61,.36,1), opacity .35s ease, filter .35s ease;
  will-change: top, left, width, height;
}
.esg-practice__visual[data-esg-practice-carousel] { touch-action: pan-y; }
.esg-practice__orbit-item > span { position: absolute; inset: 0; display: block; border-radius: 50%; }
.esg-practice__orbit-item > span > img { position: absolute; display: block; max-width: none; }
.esg-practice__orbit-item:focus-visible { outline: 2px solid var(--esg-gold); outline-offset: 4px; }
.esg-practice__orbit-item.is-esg-main { z-index: 4; }
.esg-practice__orbit-item.is-esg-slot-one,
.esg-practice__orbit-item.is-esg-slot-two { z-index: 3; }
.esg-practice__orbit-item.is-esg-slot-one:hover,
.esg-practice__orbit-item.is-esg-slot-two:hover { filter: drop-shadow(0 5px 7px rgba(53,43,70,.25)); }
.esg-practice__orbit-item.is-esg-orbit-out { animation: esg-orbit-up .72s cubic-bezier(.22,.61,.36,1); }
.esg-practice__orbit-item.is-esg-orbit-in { animation: esg-orbit-in .72s cubic-bezier(.22,.61,.36,1); }
@keyframes esg-orbit-up {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  42% { transform: translate3d(2%, -9%, 0) rotate(7deg) scale(.82); }
  100% { transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}
@keyframes esg-orbit-in {
  0% { transform: translate3d(0, 9%, 0) rotate(-7deg) scale(.78); }
  58% { transform: translate3d(-1%, -2%, 0) rotate(2deg) scale(1.04); }
  100% { transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-forward { animation: esg-route-forward .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-forward {
  0% { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; transform: translate3d(0,0,0) scale(1); }
  16% { top: 10.9%; left: 32.2%; width: 30%; height: 47%; transform: translate3d(0,0,0) scale(.99); }
  32% { top: 4.1%; left: 39.5%; width: 22%; height: 35%; transform: translate3d(0,0,0) scale(.97); }
  46% { top: 0; left: 52.8%; width: 12%; height: 19%; transform: translate3d(0,0,0) scale(.94); }
  56% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(.92); }
  /* Hold at the upper orbit until the parked thumbnail clears the stop. */
  100% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-reverse { animation: esg-route-reverse .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-reverse {
  0% { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; transform: translate3d(0,0,0) scale(1); }
  16% { top: 36.8%; left: 31.8%; width: 30%; height: 47%; transform: translate3d(0,0,0) scale(.99); }
  32% { top: 53.9%; left: 38.2%; width: 22%; height: 35%; transform: translate3d(0,0,0) scale(.97); }
  46% { top: 71.3%; left: 46.9%; width: 12%; height: 19%; transform: translate3d(0,0,0) scale(.94); }
  56% { top: 80.6%; left: 52.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(.92); }
  100% { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-recycle { animation: esg-route-recycle .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-recycle {
  0% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(1); }
  /* Keep the upper thumbnail parked while the active image reaches it. */
  48% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(1); }
  /* Continue clockwise: upper stop -> right edge -> lower orbit. */
  60% { top: 12.4%; left: 88.5%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(.98); }
  72% { top: 42.5%; left: 97.2%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(.95); }
  84% { top: 71.9%; left: 86.9%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(.94); }
  92% { top: 88.8%; left: 61.9%; width: 5.5%; height: 8.8%; transform: translate3d(0,0,0) scale(.97); }
  100% { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-recycle-reverse { animation: esg-route-recycle-reverse .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-recycle-reverse {
  0% { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(1); }
  48% { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(1); }
  100% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-incoming-forward { animation: esg-route-incoming-forward .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-incoming-forward {
  0% { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; transform: translate3d(0,0,0) scale(.88); }
  24% { top: 69.9%; left: 46.5%; width: 10%; height: 16%; transform: translate3d(0,0,0) scale(.9); }
  48% { top: 51.1%; left: 38.6%; width: 18%; height: 29%; transform: translate3d(0,0,0) scale(.93); }
  72% { top: 33.4%; left: 32.7%; width: 27%; height: 43%; transform: translate3d(0,0,0) scale(.97); }
  100% { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; transform: translate3d(0,0,0) scale(1); }
}
.esg-practice__orbit-item.is-esg-route-incoming-reverse { animation: esg-route-incoming-reverse .92s cubic-bezier(.22,.61,.36,1) both; }
@keyframes esg-route-incoming-reverse {
  0% { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; transform: translate3d(0,0,0) scale(.9); }
  24% { top: 2%; left: 59%; width: 7%; height: 11%; transform: translate3d(0,0,0) scale(.92); }
  48% { top: 1%; left: 47%; width: 15%; height: 24%; transform: translate3d(0,0,0) scale(.95); }
  72% { top: 7%; left: 36%; width: 26%; height: 42%; transform: translate3d(0,0,0) scale(.98); }
  100% { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; transform: translate3d(0,0,0) scale(1); }
}

.esg-practice__goal strong,
.esg-practice__goal span { transition: opacity .22s ease, transform .22s ease; }
.esg-practice__goal.is-changing strong,
.esg-practice__goal.is-changing span { opacity: 0; transform: translateY(8px); }

@media (min-width: 992px) {
  .esg-practice__orbit-item.is-esg-main { top: 21.1%; left: 28.8%; width: 34.4%; height: 54.84%; }
  .esg-practice__orbit-item.is-esg-slot-one { top: 85.1%; left: 51.3%; width: 7.18%; height: 11.46%; }
  .esg-practice__orbit-item.is-esg-slot-two { top: 2%; left: 67.7%; width: 3.54%; height: 5.64%; }
  .esg-practice__orbit-item.is-esg-main > span > img,
  .esg-practice__orbit-item.is-esg-slot-one > span > img { top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; }
  .esg-practice__orbit-item.is-esg-slot-two > span > img { top: -8.47%; left: -16.93%; width: 133.86%; height: 133.86%; }
  .esg-practice__orbit-item.is-esg-route-forward > span > img,
  .esg-practice__orbit-item.is-esg-route-reverse > span > img,
  .esg-practice__orbit-item.is-esg-route-recycle > span > img,
  .esg-practice__orbit-item.is-esg-route-recycle-reverse > span > img,
  .esg-practice__orbit-item.is-esg-route-incoming-forward > span > img,
  .esg-practice__orbit-item.is-esg-route-incoming-reverse > span > img { top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; }
}

@media (max-width: 991.98px) and (min-width: 576px) {
  .esg-practice__orbit-item.is-esg-main { top: 14%; left: 37%; width: 42%; height: auto; aspect-ratio: 1; }
  .esg-practice__orbit-item.is-esg-slot-one { top: 68%; left: 57%; width: 5rem; height: 5rem; }
  .esg-practice__orbit-item.is-esg-slot-two { top: 2%; left: 78%; width: 2.6rem; height: 2.6rem; }
  .esg-practice__orbit-item.is-esg-main > span > img,
  .esg-practice__orbit-item.is-esg-slot-one > span > img { top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; }
  .esg-practice__orbit-item.is-esg-slot-two > span > img { top: -8.47%; left: -16.93%; width: 133.86%; height: 133.86%; }
  .esg-practice__orbit-item.is-esg-route-forward,
  .esg-practice__orbit-item.is-esg-route-reverse,
  .esg-practice__orbit-item.is-esg-route-recycle,
  .esg-practice__orbit-item.is-esg-route-recycle-reverse,
  .esg-practice__orbit-item.is-esg-route-incoming-forward,
  .esg-practice__orbit-item.is-esg-route-incoming-reverse { animation-name: esg-orbit-up; }
}

@media (max-width: 575.98px) {
  .esg-practice__orbit-item.is-esg-main { top: 18%; left: 41%; width: 42%; height: auto; aspect-ratio: 1; }
  .esg-practice__orbit-item.is-esg-slot-one { top: 70%; left: 66%; width: 1.7rem; height: 1.7rem; }
  .esg-practice__orbit-item.is-esg-slot-two { top: 2%; left: 85%; width: .85rem; height: .85rem; }
  .esg-practice__orbit-item.is-esg-main > span > img,
  .esg-practice__orbit-item.is-esg-slot-one > span > img { top: -4.17%; left: -8.33%; width: 116.67%; height: 116.67%; }
  .esg-practice__orbit-item.is-esg-slot-two > span > img { top: -8.47%; left: -16.93%; width: 133.86%; height: 133.86%; }
  .esg-practice__orbit-item.is-esg-route-forward,
  .esg-practice__orbit-item.is-esg-route-reverse,
  .esg-practice__orbit-item.is-esg-route-recycle,
  .esg-practice__orbit-item.is-esg-route-recycle-reverse,
  .esg-practice__orbit-item.is-esg-route-incoming-forward,
  .esg-practice__orbit-item.is-esg-route-incoming-reverse { animation-name: esg-orbit-up; }
}

@media (prefers-reduced-motion: reduce) {
  .esg-practice__orbit-item,
  .esg-practice__goal strong,
  .esg-practice__goal span { transition: none; }
  .esg-practice__orbit-item.is-esg-orbit-out,
  .esg-practice__orbit-item.is-esg-orbit-in { animation: none; }
  .esg-practice__orbit-item.is-esg-route-forward,
  .esg-practice__orbit-item.is-esg-route-reverse,
  .esg-practice__orbit-item.is-esg-route-recycle,
  .esg-practice__orbit-item.is-esg-route-recycle-reverse,
  .esg-practice__orbit-item.is-esg-route-incoming-forward,
  .esg-practice__orbit-item.is-esg-route-incoming-reverse { animation: none; }
}

/* --------------------------------------------------------------------------
   Shared page chrome normalization
   All pages use different content inside these regions, but their outer
   geometry is shared. Keeping the sizing here prevents page-level rules from
   changing the rhythm between the hero, breadcrumb and footer.
   -------------------------------------------------------------------------- */
:root {
  --shared-hero-height: clamp(32rem, 48.75vw, 58.5rem);
  --shared-breadcrumb-height: clamp(3.25rem, 3.3854vw, 4.0625rem);
}

.hero,
.industries-hero,
.about-hero,
.esg-hero,
.leaders-hero,
.group-company-hero,
.joint-hero,
.board-hero,
.awards-hero {
  height: var(--shared-hero-height) !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

.industries-breadcrumb,
.about-breadcrumb,
.esg-breadcrumb,
.leaders-breadcrumb,
.group-company-breadcrumb,
.joint-breadcrumb,
.expertise-breadcrumb,
.expertise-internal-breadcrumb,
.board-breadcrumb,
.awards-breadcrumb {
  height: var(--shared-breadcrumb-height) !important;
  min-height: var(--shared-breadcrumb-height) !important;
  margin-top: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden;
}

.industries-breadcrumb .container,
.about-breadcrumb .container,
.esg-breadcrumb .container,
.leaders-breadcrumb .container,
.group-company-breadcrumb .container,
.joint-breadcrumb .container,
.expertise-breadcrumb .container,
.expertise-internal-breadcrumb .container,
.board-breadcrumb .container,
.awards-breadcrumb .container {
  min-width: 0;
  display: flex;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: clamp(.55rem, .8vw, 1rem);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: clamp(.72rem, .9375vw, 1.125rem);
  line-height: 1;
}

.industries-breadcrumb__list {
  min-width: 0;
  flex-wrap: nowrap !important;
  gap: clamp(.55rem, .8vw, 1rem);
  font-size: inherit;
  line-height: 1;
}

.industries-breadcrumb__list li:last-child,
.about-breadcrumb .container > :last-child,
.esg-breadcrumb .container > :last-child,
.leaders-breadcrumb .container > :last-child,
.group-company-breadcrumb .container > :last-child,
.joint-breadcrumb .container > :last-child,
.board-breadcrumb .container > :last-child,
.awards-breadcrumb .container > :last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-footer,
.about-page .site-footer {
  padding-top: clamp(2rem, 4.17vw, 60px) !important;
  padding-bottom: clamp(1.5rem, 3.13vw, 40px) !important;
}

.site-footer > .container > .d-flex {
  min-height: clamp(2.25rem, 2.92vw, 56px);
  align-items: center !important;
}

.site-footer__logo,
.site-footer__nav,
.site-footer__social {
  flex-shrink: 0;
}

.site-footer__nav {
  flex-wrap: nowrap;
  align-items: center;
}

.site-footer__social {
  min-width: calc(4 * clamp(1.75rem, 1.875vw, 36px) + 3 * clamp(.5rem, .78vw, 15px));
  justify-content: flex-end;
}

/* The About/Automotive contact panels are the shared pre-footer CTA variant. */
.about-contact,
.automotive-contact {
  height: clamp(30rem, 37.4vw, 45.05rem) !important;
  min-height: 0 !important;
}

main > :last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 767.98px) {
  :root { --shared-hero-height: clamp(25rem, 105vw, 42rem); }

  .site-footer,
  .about-page .site-footer {
    padding-top: 2rem !important;
    padding-bottom: 1.5rem !important;
  }

  .site-footer > .container > .d-flex {
    flex-direction: column;
    gap: 1.25rem !important;
  }

  .site-footer__nav,
  .site-footer__social {
    justify-content: center;
  }

  .about-contact,
  .automotive-contact {
    height: auto !important;
    min-height: 30rem !important;
  }
}

/* ---------- Contact Us final visual alignment overrides ---------- */
body.contact-page { margin: 0; }

.contact-site-header {
  height: 100px;
  border-bottom: 2px solid #7e6131;
}

.contact-site-header .navbar {
  height: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  padding: 0;
  border-bottom: 0;
}

.contact-site-header .navbar > .container {
  width: 100%;
  max-width: none;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 4.95vw;
  padding-right: 4.58vw;
}

.contact-site-header .navbar-brand {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.contact-site-header .navbar__logo {
  display: block;
  width: 107.9px;
  height: 67.7px;
  max-width: none;
  object-fit: contain;
}

.contact-site-header .navbar-toggler { display: none; }

.contact-site-header .navbar-collapse {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center;
  margin-left: auto;
}

.contact-site-header .navbar-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-site-header .navbar-nav .nav-item { margin: 0 !important; padding: 0; }

.contact-site-header .navbar .nav-link {
  display: block;
  padding: 0;
  font-size: 20px;
  line-height: 1.15;
}

.contact-site-header .navbar__cta {
  width: 202.6px;
  height: 51.1px;
}

.contact-hero__content {
  box-sizing: border-box;
  padding-bottom: clamp(4rem, 4.79vw, 5.75rem);
}
.contact-breadcrumb {
  box-sizing: border-box;
  height: 52px;
  min-height: 52px;
}
.contact-enquiry {
  padding-bottom: clamp(4rem, 4.07vw, 5rem);
}
.contact-enquiry__heading {
  max-width: min(61.35vw, 73.625rem);
  font-size: clamp(2.25rem, 2.5vw, 3.125rem);
  letter-spacing: -.035em;
  white-space: nowrap;
}
.contact-office h3 { margin-bottom: clamp(3rem, 3.25vw, 3.9rem); }
.contact-office h3 {
  font-size: clamp(1.8rem, 2.18vw, 2.6rem);
}
.contact-enquiry__grid {
  grid-template-columns: minmax(0, 42.81vw) minmax(0, 33.93vw);
  gap: 5.26vw;
  margin-top: clamp(4rem, 7.02vw, 8rem);
  min-height: clamp(28rem, 32.4vw, 38.875rem);
}
.contact-office,
.contact-enquiry__form,
.contact-enquiry__form *,
.contact-enquiry__field input,
.contact-enquiry__field textarea {
  box-sizing: border-box;
}
.contact-office { min-height: clamp(28rem, 32.4vw, 38.875rem); }
.contact-map__image { left: -58.27%; width: 158.27%; }
.contact-map__pulse img { inset: auto; width: auto; height: auto; }
.contact-map__pulse img:nth-child(1) {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.contact-map__pulse img:nth-child(2) {
  top: 19.3%;
  left: 19.3%;
  width: 61.1%;
  height: 61.1%;
}
.contact-map__pulse img:nth-child(3) {
  top: 36.25%;
  left: 36.25%;
  width: 27.8%;
  height: 27.8%;
}

.contact-enquiry__field--message textarea { width: 98.1%; }
.contact-enquiry__submit { width: clamp(9.5rem, 11.15vw, 13.375rem); }
.contact-faq {
  width: calc(100% - 190px);
  grid-template-columns: minmax(0, 47.32vw) minmax(0, 35.26vw);
  gap: 6.22vw;
}

.contact-faq__art { margin-top: clamp(4rem, 5.21vw, 6.25rem); }
.contact-page main .contact-faq { margin-bottom: clamp(6rem, 6.25vw, 7.5rem) !important; }

.contact-page .site-footer {
  height: clamp(12.75rem, 14.9vw, 17.875rem);
  box-sizing: border-box;
  padding-top: clamp(2.85rem, 3.33vw, 4rem) !important;
  padding-bottom: 0 !important;
}

.contact-page .site-footer > .container {
  width: min(82.66vw, 1587px);
  max-width: 1587px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.contact-page .site-footer > .container > .d-flex {
  min-height: clamp(4.4rem, 5.1vw, 6.125rem);
  align-items: center !important;
}

.contact-page .site-footer__logo {
  width: clamp(7rem, 8.18vw, 9.8125rem);
  height: auto;
  object-fit: contain;
}
.contact-page .site-footer__rule { display: none; }
.contact-page .site-footer__copyright { margin: clamp(2.5rem, 2.86vw, 3.44rem) 0 0; }

@media (max-width: 1199.98px) {
  .contact-site-header { height: auto; min-height: 76px; }
  .contact-site-header .navbar > .container { min-height: 76px; }
  .contact-site-header .navbar-toggler {
    display: block;
    margin-left: auto;
    padding: .4rem .6rem;
    border: 1px solid #7e6131;
    border-radius: 4px;
    background: #fff;
  }
  .contact-site-header .navbar-collapse { display: none !important; }
  .contact-site-header .navbar__logo { width: 92px; height: 58px; }
}

@media (max-width: 991.98px) {
  .contact-faq {
    width: min(92vw, 52rem);
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .contact-faq__art { margin-top: 1rem; }
  .contact-page .site-footer > .container { width: 92vw; max-width: none; }
}

@media (max-width: 575.98px) {
  .contact-site-header .navbar > .container { padding-left: 1rem; padding-right: 1rem; }
  .contact-enquiry__heading {
    max-width: 92vw;
    font-size: clamp(1.8rem, 7.6vw, 2.45rem);
    white-space: normal;
  }
  .contact-enquiry__grid { margin-top: 3rem; }
  .contact-faq { width: 92vw; }
  .contact-page .site-footer { height: auto; min-height: 16rem; }
}
/* Smart Factories page (scoped) */
.smart-factories-page {
  --sf-ink: #352b46;
  --sf-gold: #7e6131;
  --sf-muted: #393939;
  --sf-container: min(1732px, calc(100% - 188px));
  background: #fff;
  color: var(--sf-muted);
}

.smart-factories-page .container { width: var(--sf-container); max-width: none; padding-right: 0; padding-left: 0; }
.smart-factories-page .industries-site-header { position: relative; z-index: 20; background: #fff; }

.sf-hero { position: relative; height: clamp(34rem, 47.7vw, 57.25rem); min-height: 560px; overflow: hidden; background: #09090f; }
.sf-hero__image, .sf-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.sf-hero__image { object-fit: cover; object-position: center; }
.sf-hero__shade {
  background:
    linear-gradient(180deg, rgba(53, 43, 70, 0) 33.57%, rgba(53, 43, 70, .55) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 55.13%, #000 100%);
}
.sf-hero__content { position: absolute; right: 0; bottom: clamp(4rem, 8.8vw, 10.5rem); left: 0; z-index: 1; }
.sf-hero h1 { max-width: 68rem; margin: 0; color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.9rem, 3.13vw, 3.75rem); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }

.sf-breadcrumb { min-height: 52px; background: var(--sf-gold); color: #fff; }
.sf-breadcrumb .container { display: flex; align-items: center; gap: clamp(.55rem, .78vw, .95rem); min-height: 52px; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.82rem, .94vw, 1.125rem); font-weight: 300; }
.sf-breadcrumb a { color: inherit; text-decoration: none; }
.sf-breadcrumb a:hover, .sf-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }

.sf-section-heading { text-align: center; }
.sf-section-heading h2 { margin: 0; color: var(--sf-ink); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.25rem, 2.6vw, 3.125rem); font-weight: 500; line-height: 1.18; }
.sf-section-heading p { max-width: 70rem; margin: 1.65rem auto 0; color: var(--sf-muted); font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(1rem, 1.15vw, 1.375rem); font-weight: 300; line-height: 1.25; }

.sf-capabilities { padding: clamp(6.8rem, 6.9vw, 8.25rem) 0 0; overflow: hidden; background: #fff; }
.sf-capability-carousel { position: relative; width: calc(100% + 21px); height: 607px; margin-top: clamp(3.5rem, 3.5vw, 4.2rem); margin-left: -19px; }
.sf-capability-stage { position: relative; width: calc(100% - 18px); height: 100%; margin-left: 18px; }
.sf-capability-lines { position: absolute; top: 478px; right: 0; left: 18px; z-index: 4; display: flex; justify-content: space-between; pointer-events: none; }
.sf-capability-lines img { display: block; width: 29.35%; height: 3px; }
.sf-capability-card { position: absolute; top: 0; left: 50%; display: flex; flex-direction: column; align-items: center; width: min(834px, 48vw); height: 517px; margin: 0; overflow: visible; opacity: 0; pointer-events: none; transform: translateX(-50%) scale(.72); transition: left 700ms cubic-bezier(.22, .7, .2, 1), top 700ms cubic-bezier(.22, .7, .2, 1), width 700ms cubic-bezier(.22, .7, .2, 1), height 700ms cubic-bezier(.22, .7, .2, 1), opacity 450ms ease, transform 700ms cubic-bezier(.22, .7, .2, 1); }
.sf-capability-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sf-capability-card.is-active img { width: 84.03%; height: 84.26%; margin-top: 8.03%; margin-right: auto; margin-left: 5.82%; transform: none; transform-origin: center; transition: transform 1200ms cubic-bezier(.2, .75, .22, 1); }
.sf-capability-card.is-prev img,
.sf-capability-card.is-next img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  transform: scale(.84);
  transform-origin: center;
  transition: transform 1200ms cubic-bezier(.2, .75, .22, 1);
}
/* The left/previous frame is taller and narrower, so give its full source
   image a little more breathing room than the right frame. */
.sf-capability-card.is-prev img { transform: scale(.72); }
.sf-capability-card p { position: absolute; z-index: 5; top: 490px; bottom: auto; left: 50%; width: 100%; margin: 0; color: var(--sf-ink); font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(1rem, 1.4vw, 1.7rem); line-height: 1.05; text-align: center; transform: translateX(-50%); }
.sf-capability-card.is-active { z-index: 3; left: calc(50% + clamp(0px, 1.22vw, 23.5px)); width: min(834px, 48vw); height: 517px; opacity: 1; pointer-events: auto; transform: translateX(-50%) scale(1); }
.sf-capability-card.is-prev, .sf-capability-card.is-next { z-index: 1; opacity: .38; pointer-events: auto; }
.sf-capability-card.is-prev { left: 15.9%; top: 90px; width: min(465px, 27vw); height: 389px; transform: translateX(-50%) scale(1); }
.sf-capability-card.is-next { left: 86.6%; top: 124px; width: min(488px, 28vw); height: 302px; transform: translateX(-50%) scale(1); }
.sf-capability-card.is-prev p { top: 405px; font-size: clamp(.8rem, 1vw, 1.25rem); }
.sf-capability-card.is-next p { top: 364px; font-size: clamp(.8rem, 1vw, 1.25rem); }
.sf-carousel-arrow { position: absolute; top: 50%; z-index: 5; display: grid; width: 2rem; height: 3rem; padding: 0; place-items: center; border: 0; background: transparent; transform: translateY(-50%); }
.sf-carousel-arrow img { width: 12px; height: 21px; }
.sf-carousel-arrow--previous { left: 37px; }
.sf-carousel-arrow--next { right: 27px; }
.sf-carousel-arrow:focus-visible { outline: 2px solid var(--sf-gold); outline-offset: 4px; }

.sf-systems { padding: clamp(5rem, 7.8vw, 9.4rem) 0 clamp(7rem, 10.25vw, 12.3rem); overflow: hidden; background: #fff; }
.sf-process-chain { position: relative; height: clamp(315px, 23.08vw, 443px); margin-top: clamp(6rem, 8.55vw, 10.25rem); }
.sf-process-chain__orbit { position: absolute; top: 15px; left: 50%; width: clamp(285px, 20.83vw, 400px); height: clamp(285px, 20.83vw, 400px); border: 2px dashed #bfbfbf; border-radius: 50%; opacity: 1; transform: translateX(-50%); transition: opacity 900ms ease; }
.sf-process-chain__bridge { position: absolute; top: 15px; width: clamp(285px, 20.83vw, 400px); height: clamp(285px, 20.83vw, 400px); border: 2px dashed #bfbfbf; border-radius: 50%; opacity: 0; transition: opacity 900ms ease; }
.sf-process-chain__bridge--left { left: clamp(230px, 16.8vw, 322.62px); }
.sf-process-chain__bridge--right { left: clamp(720px, 52.64vw, 1010.68px); }
.sf-process-node { position: absolute; top: 15px; display: flex; width: clamp(285px, 20.83vw, 400px); height: clamp(285px, 20.83vw, 400px); align-items: flex-end; justify-content: center; padding: 0 2rem 5rem; overflow: hidden; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 17px 34px rgba(0, 0, 0, .07); opacity: .18; transition: left 1200ms cubic-bezier(.2, .75, .22, 1), right 1200ms cubic-bezier(.2, .75, .22, 1), opacity 900ms ease, transform 1200ms cubic-bezier(.2, .75, .22, 1), box-shadow 900ms ease; }
.sf-process-node img { position: absolute; max-width: none; object-fit: fill; }
.sf-process-node--left img { top: -.05%; left: -29.46%; width: 177.72%; height: 100.02%; }
.sf-process-node--center img { top: -.1%; left: 0; width: 178.05%; height: 100.2%; }
.sf-process-node--right img { top: -.1%; left: -9.18%; width: 177.82%; height: 100.07%; }
.sf-process-node::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(0, 0, 0, .5) 73%); content: ""; }
.sf-process-node--left::after { background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .5) 71.575%); }
.sf-process-node--center::after { background: linear-gradient(180deg, transparent 29.829%, rgba(0, 0, 0, .5) 72.651%); }
.sf-process-node--right::after { background: linear-gradient(180deg, transparent 9.904%, rgba(0, 0, 0, .5) 57.69%); }
.sf-process-node span { position: absolute; z-index: 1; left: 50%; width: 285.5px; color: #fff; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(1rem, 1.55vw, 1.875rem); line-height: 1.05; text-align: center; transform: translateX(-50%); }
.sf-process-node--left span, .sf-process-node--right span { top: 68.15%; }
.sf-process-node--center span { top: 71.25%; }
.sf-process-node--left { left: 50%; right: auto; opacity: 0; pointer-events: none; transform: translateX(-50%); }
.sf-process-node--center { left: 50%; opacity: 0; pointer-events: none; transform: translateX(-50%); }
.sf-process-node--right { right: auto; left: 50%; opacity: 0; pointer-events: none; transform: translateX(-50%); }
.sf-process-node.is-active { z-index: 2; opacity: 1; pointer-events: auto; box-shadow: 0 17px 34px rgba(0, 0, 0, .12); }
.sf-process-node:focus-visible { outline: 3px solid var(--sf-gold); outline-offset: 5px; }

/* Scroll-triggered Figma process-chain state: cards travel outward into a
   three-step row and the dashed bridge circles sit in the gaps. */
.sf-process-chain.is-expanded .sf-process-chain__orbit { opacity: 0; }
.sf-process-chain.is-expanded .sf-process-chain__bridge { opacity: 1; }
.sf-process-chain.is-expanded .sf-process-node--left { left: 0; opacity: 1; pointer-events: auto; transform: none; }
.sf-process-chain.is-expanded .sf-process-node--center { left: 50%; opacity: 1; pointer-events: auto; transform: translateX(-50%); }
.sf-process-chain.is-expanded .sf-process-node--right { right: 0; left: auto; opacity: 1; pointer-events: auto; transform: none; }

.sf-cta { position: relative; height: clamp(34rem, 33.55vw, 40.25rem); overflow: hidden; background: #08070b; }
.sf-cta__image, .sf-cta__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.sf-cta__image { top: -55.61%; bottom: auto; height: 167.79%; object-fit: cover; object-position: center; }
.sf-cta__shade { right: auto; width: 43.65%; background: linear-gradient(270deg, rgba(0, 0, 0, 0) 4.475%, #000 100%); }
.sf-cta__content { position: absolute; top: 16.3%; right: 0; left: 0; z-index: 1; }
.sf-cta h2 { margin: 0; color: #fff; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.5rem, 2.6vw, 3.125rem); font-weight: 500; line-height: 1.04; }
.sf-cta p { max-width: 35rem; margin: 2.7rem 0 2.4rem; color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(1rem, 1.05vw, 1.25rem); line-height: 1.3; }
.sf-cta__button { display: inline-flex; align-items: center; width: min(330px, 100%); height: 51px; padding: 0 1rem; color: var(--sf-gold); background: #fff; border: 1px solid var(--sf-gold); border-radius: 4px; font-family: 'DM Sans', Arial, sans-serif; font-size: 1rem; text-decoration: none; }
.sf-cta__button-divider { width: 1px; height: 82%; margin-left: auto; margin-right: 1rem; background: var(--sf-gold); }
.sf-cta__button img { width: 29px; height: auto; }
.sf-cta__button:hover, .sf-cta__button:focus-visible { color: #fff; background: var(--sf-gold); }
.sf-cta__button:hover img, .sf-cta__button:focus-visible img { filter: brightness(0) invert(1); }

.sf-footer { min-height: 434px; padding: 64px 0 40px; background: #000; }
.sf-footer__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.sf-footer__logo { display: block; width: 156px; height: 98px; object-fit: contain; }
.sf-footer__nav { display: flex; gap: clamp(1.6rem, 2.4vw, 3rem); margin: 35px 0 0; padding: 0; list-style: none; }
.sf-footer__nav a { color: #fff; font-family: 'Inter', Arial, sans-serif; font-size: 1.125rem; font-weight: 600; text-decoration: none; }
.sf-footer__nav a:hover, .sf-footer__nav a:focus-visible { color: #d9bd85; }
.sf-footer__social { display: flex; gap: .75rem; margin: 28px 0 0; padding: 0; list-style: none; }
.sf-footer__social a { position: relative; display: block; width: 50px; height: 50px; }
.sf-footer__social a img:first-child { position: absolute; inset: 0; width: 100%; height: 100%; }
.sf-footer__social a img:last-child { position: absolute; inset: 25%; width: 50%; height: 50%; }
.sf-footer__copyright { display: flex; align-items: center; justify-content: center; gap: .45rem; margin-top: 90px; color: #fff; font-family: 'Inter', Arial, sans-serif; font-size: 1.125rem; font-weight: 500; }
.sf-footer__copyright img { width: 20px; height: 20px; }
.sf-footer > .container > .d-flex { align-items: flex-start !important; }
.sf-footer .site-footer__logo { width: 156px; height: 98px; object-fit: contain; }
.sf-footer .site-footer__nav { margin-top: 35px; gap: clamp(1.6rem, 2.4vw, 3rem); }
.sf-footer .site-footer__nav a { font-size: 1.125rem; font-weight: 600; }
.sf-footer .site-footer__social { margin-top: 28px; gap: .75rem; }
.sf-footer .site-footer__social a,
.sf-footer .site-footer__social li > span { width: 50px; height: 50px; }
.sf-footer .site-footer__copyright { margin-top: 90px; color: #fff; font-size: 1.125rem; }

[data-sf-reveal] { opacity: 0; transform: translateY(1.25rem); transition: opacity 700ms ease, transform 700ms cubic-bezier(.22, .7, .2, 1); }
[data-sf-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1199.98px) {
  .smart-factories-page { --sf-container: min(960px, calc(100% - 3rem)); }
  .smart-factory-header .navbar { min-height: 86px; }
  .sf-hero { min-height: 480px; }
  .sf-hero__content { bottom: 4rem; }
  .sf-capability-card.is-prev { left: 12%; }
  .sf-capability-card.is-next { left: 88%; }
  .sf-process-node { width: 300px; height: 300px; }
  .sf-process-chain { height: 340px; }
  .sf-process-chain__orbit { width: 300px; height: 300px; }
  .sf-process-chain__bridge { width: 300px; height: 300px; }
  .sf-process-chain__bridge--left { left: 165px; }
  .sf-process-chain__bridge--right { left: 495px; }
  .sf-footer__nav { gap: 1.25rem; }
  .sf-footer__nav a { font-size: .95rem; }
}

@media (max-width: 767.98px) {
  .smart-factories-page { --sf-container: calc(100% - 2rem); }
  .sf-hero { height: 31rem; min-height: 0; }
  .sf-hero__content { bottom: 2.25rem; }
  .sf-hero h1 { font-size: clamp(2.15rem, 9vw, 3.1rem); }
  .sf-breadcrumb .container { min-height: 44px; font-size: .78rem; }
  .sf-capabilities { padding: 4.75rem 0 3.5rem; }
  .sf-section-heading p { margin-top: 1rem; font-size: .95rem; line-height: 1.4; }
  .sf-capability-carousel { width: 100%; height: 25rem; margin-top: 2.4rem; margin-left: 0; }
  .sf-capability-stage { width: 100%; margin-left: 0; }
  .sf-capability-lines { display: none; }
  .sf-capability-card, .sf-capability-card.is-active, .sf-capability-card.is-prev, .sf-capability-card.is-next { left: 50%; top: 0; width: 100%; height: 22rem; opacity: 0; transform: translateX(-50%) scale(.92); }
  .sf-capability-card.is-active { opacity: 1; transform: translateX(-50%) scale(1); }
  .sf-capability-card.is-active img { width: 100%; height: 100%; margin: 0; }
  .sf-capability-card p { top: auto; bottom: 0; font-size: 1.1rem; }
  .sf-carousel-arrow--previous { left: .1rem; }
  .sf-carousel-arrow--next { right: .1rem; }
  .sf-systems { padding: 4.5rem 0 5rem; }
  .sf-process-chain { height: 27rem; margin-top: 2.75rem; }
  .sf-process-chain__orbit { width: 285px; height: 285px; top: 1rem; }
  .sf-process-chain__bridge { display: none; }
  .sf-process-node, .sf-process-node--left, .sf-process-node--right, .sf-process-node--center { top: 1rem; left: 50%; right: auto; width: 285px; height: 285px; transform: translateX(-50%) scale(.78); }
  .sf-process-node.is-active { transform: translateX(-50%) scale(1); }
  .sf-process-node:not(.is-active) { opacity: 0; pointer-events: none; }
  .sf-cta { height: 32rem; }
  .sf-cta__content { top: 12%; }
  .sf-cta p { margin: 1.6rem 0 1.8rem; font-size: .95rem; }
  .sf-footer { min-height: 0; padding: 3rem 0 2rem; }
  .sf-footer__top { flex-direction: column; align-items: center; }
  .sf-footer__nav { justify-content: center; flex-wrap: wrap; margin-top: 0; }
  .sf-footer__social { margin-top: 0; }
  .sf-footer__copyright { margin-top: 3rem; font-size: .78rem; text-align: center; }
  .sf-footer .site-footer__logo { width: 156px; height: 98px; }
  .sf-footer .site-footer__nav { margin-top: 0; }
  .sf-footer .site-footer__social { margin-top: 0; }
  .sf-footer .site-footer__copyright { margin-top: 3rem; font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sf-capability-card, .sf-process-node, .sf-process-chain__orbit, .sf-process-chain__bridge, [data-sf-reveal] { transition: none; }
}

/* ==========================================================
   Quality & certifications page — Figma frame 1261:3925
   All selectors are scoped so the new page cannot change existing routes.
   ========================================================== */
.quality-certifications-page {
  --qc-ink: #352b46;
  --qc-gold: #7e6131;
  --qc-lilac: #eae4f1;
  background: #fff;
  color: var(--qc-ink);
}
.quality-certifications-page .industries-site-header { position: relative; z-index: 10; background: #fff; }
.quality-certifications-page .navbar__logo { width: clamp(4.6rem, 5.25vw, 6.3rem); height: auto; }
.qc-hero { position: relative; height: clamp(32rem, 47.7vw, 57.25rem); overflow: hidden; background: #111018; }
.qc-hero__image, .qc-cta__image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.qc-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 7, 14, .02) 46%, rgba(9, 7, 15, .5) 100%); }
.qc-hero__content { position: absolute; right: 0; bottom: clamp(4rem, 8.85vw, 10.6rem); left: 0; z-index: 1; }
.qc-hero h1 { margin: 0; color: #fff; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(2.1rem, 3.1vw, 3.75rem); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; }
.qc-breadcrumb { display: flex; align-items: center; min-height: clamp(3.25rem, 2.72vw, 3.25rem); background: var(--qc-gold); color: #fff; }
.qc-breadcrumb .container { display: flex; align-items: center; gap: clamp(.55rem, .72vw, .85rem); font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.72rem, .82vw, 1rem); }
.qc-breadcrumb a { color: #fff; text-decoration: none; }
.qc-breadcrumb a:hover, .qc-breadcrumb a:focus-visible { text-decoration: underline; }
.qc-certifications { padding: clamp(4.5rem, 6.6vw, 8rem) 0 clamp(4rem, 5.2vw, 6.25rem); }
.qc-section-heading { max-width: 72rem; margin: 0 auto; text-align: center; }
.qc-section-heading h2, .qc-statement h2 { margin: 0; color: var(--qc-ink); font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-weight: 400; letter-spacing: -.025em; }
.qc-section-heading h2 { font-size: clamp(1.75rem, 2.6vw, 3.125rem); line-height: 1.15; }
.qc-section-heading p { max-width: 66rem; margin: clamp(1rem, 1.25vw, 1.5rem) auto 0; color: #393939; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.82rem, 1.15vw, 1.375rem); font-weight: 300; line-height: 1.35; }
.qc-certificate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 1.1vw, 1.32rem); width: min(100%, 93.2rem); margin: clamp(2.5rem, 3.75vw, 4.5rem) auto 0; }
.qc-certificate-card { position: relative; display: flex; min-height: clamp(22rem, 25.35vw, 30.4rem); flex-direction: column; align-items: center; justify-content: flex-start; overflow: hidden; padding: clamp(1.35rem, 1.65vw, 2rem) 1rem 1.25rem; border: 1px solid rgba(108, 61, 154, .5); border-radius: clamp(.65rem, .88vw, 1.05rem); background: var(--qc-lilac); text-align: center; transition: background-color .5s ease-out; }
.qc-certificate-card::after { position: absolute; z-index: 0; top: 69.45%; left: -12.3%; width: 116.5%; height: 57.5%; background: url('../images/quality-certification-card-bg.svg') center / 100% 100% no-repeat; content: ''; transition: top .5s ease-out, background-image .5s ease-out; }
.qc-certificate-card__image { position: absolute; z-index: 1; overflow: hidden; transition: opacity .5s ease-out, transform .5s ease-out; }
.qc-certificate-card__image img { position: absolute; max-width: none; object-fit: contain; object-position: center; transition: opacity .5s ease-out, transform .5s ease-out; }
.qc-certificate-card:nth-child(1) .qc-certificate-card__image,
.qc-certificate-card:nth-child(2) .qc-certificate-card__image { top: .62%; left: -5.67%; width: 112.5%; height: 57.56%; }
.qc-certificate-card:nth-child(1) .qc-certificate-card__image img,
.qc-certificate-card:nth-child(2) .qc-certificate-card__image img,
.qc-certificate-card:nth-child(3) .qc-certificate-card__image img,
.qc-certificate-card:nth-child(4) .qc-certificate-card__image img { inset: 0; width: 100%; height: 100%; }
.qc-certificate-card:nth-child(3) .qc-certificate-card__image,
.qc-certificate-card:nth-child(4) .qc-certificate-card__image { top: 7.19%; left: .28%; width: 97.4%; height: 49.67%; }
.qc-certificate-card h3 { position: absolute; z-index: 1; top: 64.32%; right: 0; left: 0; margin: 0; color: var(--qc-ink); font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(.9rem, 1.225vw, 1.47rem); font-weight: 400; line-height: 1.15; text-align: center; }
.qc-certificate-card > p { position: absolute; z-index: 1; top: 72.08%; right: 0; left: 0; margin: 0; color: var(--qc-ink); font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.72rem, .802vw, .962rem); line-height: 1.25; text-align: center; }
.qc-certificate-card__hover { position: absolute; z-index: 2; top: clamp(1.35rem, 1.72vw, 2.05rem); right: clamp(1rem, 1.4vw, 1.65rem); left: clamp(1rem, 1.4vw, 1.65rem); color: #fff; opacity: 0; pointer-events: none; transform: translateY(.5rem); transition: opacity .5s ease-out, transform .5s ease-out; }
.qc-certificate-card__hover span { display: block; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(1.2rem, 1.3vw, 1.56rem); line-height: 1.15; }
.qc-certificate-card__hover ul { margin: clamp(1rem, 1.25vw, 1.5rem) 0 0; padding: 0; list-style: none; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.78rem, 1.04vw, 1.25rem); font-weight: 500; line-height: 1.7; }
.qc-certificate-card:hover, .qc-certificate-card:focus-visible { background-color: var(--qc-ink); }
.qc-certificate-card:hover::after, .qc-certificate-card:focus-visible::after { top: 60.6%; background-image: url('../images/quality-certification-card-bg-hover.svg'); }
.qc-certificate-card:hover .qc-certificate-card__image, .qc-certificate-card:hover h3, .qc-certificate-card:hover > p, .qc-certificate-card:focus-visible .qc-certificate-card__image, .qc-certificate-card:focus-visible h3, .qc-certificate-card:focus-visible > p { opacity: 0; transform: translateY(-.5rem); }
.qc-certificate-card:hover .qc-certificate-card__hover, .qc-certificate-card:focus-visible .qc-certificate-card__hover { opacity: 1; transform: none; }
.qc-certificate-card:focus-visible { outline: 2px solid #c7a260; outline-offset: 3px; }
.qc-load-more { display: flex; justify-content: center; margin-top: clamp(2rem, 2.55vw, 3rem); }
.qc-load-more .gold-btn { min-height: 2.65rem; padding: .35rem .75rem; color: var(--qc-gold); border-color: var(--qc-gold); font-size: .72rem; }
.qc-load-more .gold-btn__divider { height: 1.35rem; margin-left: .75rem; background: var(--qc-gold); }
.qc-load-more .gold-btn img { width: 1rem; }
.qc-statement { padding: clamp(5rem, 8.1vw, 9.75rem) 0 clamp(4.5rem, 7.1vw, 8.5rem); text-align: center; }
.qc-statement h2 { max-width: 65rem; margin: 0 auto; color: #dddcdc; font-size: clamp(1.5rem, 2.55vw, 3rem); line-height: 1.12; }
.qc-statement .character-heading__character { color: #dddcdc; }
.qc-values { padding: 0 0 clamp(5rem, 8.1vw, 9.75rem); }
.qc-values > .container { width: 100%; max-width: 88.5rem; margin-inline: auto; box-sizing: border-box; padding-right: clamp(1rem, 2.35vw, 2.8rem); padding-left: clamp(1rem, 2.35vw, 2.8rem); }
/* Bootstrap's .col-lg-6 sets a 50% flex basis.  The Figma component is a
   two-column composition, so use an explicit grid at desktop widths; this
   prevents the right accordion from wrapping below the image at intermediate
   viewport sizes while retaining Bootstrap markup and breakpoints. */
.qc-values .row { --bs-gutter-x: 0; display: grid; grid-template-columns: minmax(0, 48%) minmax(0, 1fr); align-items: stretch; gap: clamp(1rem, 1.35vw, 1.625rem); }
.qc-values .col-lg-6:first-child, .qc-values .col-lg-6:last-child { width: auto; max-width: none; min-width: 0; flex: none; }
.qc-values__image { display: block; width: 100%; height: clamp(23rem, 31.4vw, 37.6875rem); border-radius: clamp(.6rem, .8vw, .9375rem); object-fit: cover; object-position: center; }
.qc-accordion { display: flex; height: 100%; margin-left: 0; flex-direction: column; gap: clamp(.75rem, 1.15vw, 1.4375rem); }
.qc-accordion__item { overflow: hidden; border: 1px solid #dddcdc; border-radius: clamp(.6rem, .8vw, .956rem); background: #fff; transition: background-color .35s ease, border-color .35s ease; }
.qc-accordion__item.is-active { border-color: var(--qc-ink); background: var(--qc-ink); }
.qc-accordion__trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: clamp(1rem, 1.5vw, 1.8rem) clamp(1rem, 1.15vw, 1.375rem); color: var(--qc-ink); border: 0; background: transparent; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(1rem, 1.593vw, 1.912rem); line-height: 1.15; text-align: left; }
.qc-accordion__item.is-active .qc-accordion__trigger { color: #fff; }
.qc-accordion__icon { position: relative; display: block; width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; }
.qc-accordion__icon::before, .qc-accordion__icon::after { position: absolute; top: 50%; left: 50%; width: .8rem; height: 1px; background: currentColor; content: ''; transform: translate(-50%, -50%); transition: transform .3s ease; }
.qc-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.qc-accordion__item.is-active .qc-accordion__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.qc-accordion__panel { padding: 0 clamp(1rem, 1.15vw, 1.375rem) clamp(1rem, 1.5vw, 1.8rem); color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.78rem, .9375vw, 1.125rem); line-height: 1.35; }
.qc-accordion__item.is-active .qc-accordion__panel { padding-top: clamp(.5rem, .52vw, .625rem); }
.qc-accordion__panel p { margin: 0; max-width: 34rem; }
.qc-accordion__item:not(.is-active) .qc-accordion__panel { color: var(--qc-ink); }
.qc-cta { position: relative; height: clamp(30rem, 34vw, 41rem); overflow: hidden; background: #12101a; }
.qc-cta__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 8, 16, .78) 0%, rgba(10, 8, 16, .22) 55%, rgba(10, 8, 16, .05) 100%); }
.qc-cta__content { position: absolute; z-index: 1; top: 50%; right: 0; left: 0; transform: translateY(-50%); }
.qc-cta h2 { margin: 0; color: #fff; font-family: 'FONTSPRING DEMO - The Seasons', 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 3.1vw, 3.75rem); font-weight: 400; line-height: 1.08; }
.qc-cta p { max-width: 25rem; margin: clamp(1.25rem, 1.8vw, 2.2rem) 0 clamp(1.35rem, 2vw, 2.5rem); color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.78rem, .94vw, 1.15rem); line-height: 1.35; }
.qc-cta .gold-btn { color: #fff; border-color: #c7a260; }
.qc-cta .gold-btn__divider { background: #c7a260; }
.qc-cta .gold-btn img { filter: brightness(0) invert(1); }
.qc-footer { min-height: clamp(15rem, 14vw, 17rem); }

@media (max-width: 991.98px) {
  .qc-hero { height: clamp(30rem, 62vw, 44rem); }
  .qc-certificate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 48rem; }
  .qc-certificate-card { min-height: 25rem; }
  .qc-values > .container { width: 100%; }
  .qc-values .row { --bs-gutter-x: 0; --bs-gutter-y: 1.25rem; grid-template-columns: minmax(0, 1fr); }
  .qc-values .col-lg-6:first-child, .qc-values .col-lg-6:last-child { width: 100%; flex: 0 0 100%; max-width: 100%; }
  .qc-values__image { height: 28rem; }
  .qc-accordion { gap: .8rem; margin-left: 0; }
}
@media (min-width: 992px) and (max-width: 1324.98px) {
  .qc-values > .container { width: 100%; }
  .qc-values .row { min-height: auto; grid-template-columns: minmax(0, 48%) minmax(0, 1fr); gap: clamp(1rem, 1.9vw, 1.625rem); }
  .qc-values__image { height: auto; aspect-ratio: 634 / 603; }
  .qc-accordion { height: auto; min-height: 100%; }
}
@media (max-width: 575.98px) {
  .quality-certifications-page .navbar__logo { width: 5rem; }
  .qc-hero { height: 30rem; }
  .qc-hero__image { object-position: 62% center; }
  .qc-hero__content { bottom: 2.25rem; }
  .qc-hero h1 { font-size: 2.2rem; }
  .qc-breadcrumb { min-height: 3.4rem; }
  .qc-certifications { padding: 3.75rem 0 3.5rem; }
  .qc-section-heading p { font-size: .83rem; }
  .qc-certificate-grid { grid-template-columns: 1fr; max-width: 20rem; margin-top: 2.75rem; }
  .qc-certificate-card { min-height: 22rem; }
  .qc-statement { padding: 4.5rem 0; }
  .qc-statement h2 { font-size: 1.6rem; }
  .qc-values { padding-bottom: 4.5rem; }
  .qc-values__image { height: 18rem; }
  .qc-cta { height: 31rem; }
  .qc-cta__image { object-position: 67% center; }
  .qc-cta__content { top: 66%; }
  .qc-cta p { max-width: 19rem; }
  .qc-footer { min-height: 17rem; }
}
@media (prefers-reduced-motion: reduce) {
  .qc-accordion__item, .qc-accordion__icon::before, .qc-accordion__icon::after, .qc-certificate-card, .qc-certificate-card__image, .qc-certificate-card__image img, .qc-certificate-card h3, .qc-certificate-card > p, .qc-certificate-card__hover { transition: none; }
}

/* Final values-component guard: Bootstrap's stepped .container and .col-lg-6
   rules must not collapse this Figma composition into a 960px boxed layout. */
.quality-certifications-page .qc-values > .container {
  width: 100% !important;
  max-width: 88.5rem !important;
}
.quality-certifications-page .qc-values .row {
  display: grid !important;
  grid-template-columns: minmax(0, 48%) minmax(0, 1fr) !important;
  gap: clamp(1rem, 1.35vw, 1.625rem) !important;
}
.quality-certifications-page .qc-values .col-lg-6 {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}
.quality-certifications-page .qc-values__image {
  transition: opacity .28s ease, transform .28s ease;
}
.quality-certifications-page .qc-values__image.is-changing {
  opacity: .35;
  transform: scale(.992);
}
@media (max-width: 991.98px) {
  .quality-certifications-page .qc-values .row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.25rem !important;
  }
  .quality-certifications-page .qc-values .col-lg-6 {
    width: 100% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .quality-certifications-page .qc-values__image { transition: none; }
}

/* Quality & Certifications — measured Figma alignment (frame 1261:3925). */
.quality-certifications-page .qc-certificate-card,
.quality-certifications-page .qc-certificate-card::before,
.quality-certifications-page .qc-certificate-card::after,
.quality-certifications-page .qc-certificate-card__image,
.quality-certifications-page .qc-certificate-card__image img,
.quality-certifications-page .qc-certificate-card__hover {
  box-sizing: border-box;
}
.quality-certifications-page .qc-certificate-card {
  min-height: 0;
  height: auto;
  aspect-ratio: 358.3522338 / 486.640625;
}
.quality-certifications-page .qc-certificate-card:nth-child(1) .qc-certificate-card__image,
.quality-certifications-page .qc-certificate-card:nth-child(2) .qc-certificate-card__image {
  top: .616%; left: -5.67%; width: 112.47%; height: 57.56%;
}
.quality-certifications-page .qc-certificate-card:nth-child(3) .qc-certificate-card__image,
.quality-certifications-page .qc-certificate-card:nth-child(4) .qc-certificate-card__image {
  top: 7.19%; left: .279%; width: 97.4%; height: 49.73%;
}
.quality-certifications-page .qc-certificate-card:nth-child(1) .qc-certificate-card__image img {
  inset: auto; left: 22.12%; top: -7.85%; width: 55.55%; height: 129.99%; object-fit: fill;
}
.quality-certifications-page .qc-certificate-card:nth-child(2) .qc-certificate-card__image img {
  inset: auto; left: -.05%; top: 1.3%; width: 100.17%; height: 108.13%; object-fit: fill;
}
.quality-certifications-page .qc-certificate-card:nth-child(3) .qc-certificate-card__image img {
  inset: auto; left: -2.63%; top: -8.22%; width: 105.37%; height: 158%; object-fit: fill;
}
.quality-certifications-page .qc-certificate-card:nth-child(4) .qc-certificate-card__image img {
  inset: auto; left: 4.86%; top: -6.2%; width: 90.39%; height: 135.54%; object-fit: fill;
}
.quality-certifications-page .qc-certificate-card__hover {
  top: 6.78%; right: 7.53%; bottom: auto; left: 7.53%;
  text-align: left;
}
.quality-certifications-page .qc-certificate-card__hover span {
  color: #000;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.25rem, 1.3vw, 1.5625rem);
  font-weight: 400;
  line-height: 1.16;
}
.quality-certifications-page .qc-certificate-card__hover ul { margin: 1.125rem 0 0; color: #000; font-family: 'DM Sans', Arial, sans-serif; font-size: clamp(.8rem, 1.04vw, 1.25rem); font-weight: 500; line-height: 1.7; }
.quality-certifications-page .qc-certificate-card:hover .qc-certificate-card__hover span,
.quality-certifications-page .qc-certificate-card:hover .qc-certificate-card__hover ul,
.quality-certifications-page .qc-certificate-card:focus-visible .qc-certificate-card__hover span,
.quality-certifications-page .qc-certificate-card:focus-visible .qc-certificate-card__hover ul { color: #fff; }
.quality-certifications-page .qc-certificate-card:hover::after,
.quality-certifications-page .qc-certificate-card:focus-visible::after { top: 60.62%; left: -3.07%; width: 106.89%; height: 50.9%; }

@media (min-width: 1200px) {
  .quality-certifications-page .industries-site-header { height: 102px; }
  .quality-certifications-page .navbar { height: 102px; padding-top: 0 !important; padding-bottom: 0 !important; }
  .quality-certifications-page .navbar > .container,
  .quality-certifications-page .qc-hero__content,
  .quality-certifications-page .qc-breadcrumb .container,
  .quality-certifications-page .qc-cta__content {
    width: 100%; max-width: none; padding-right: 4.9vw; padding-left: 4.9vw;
  }
  .quality-certifications-page .navbar > .container { height: 100%; }
  .quality-certifications-page .qc-hero { height: 47.708333vw; max-height: 57.25rem; }
  .quality-certifications-page .qc-hero__content { bottom: 3.54vw; }
  .quality-certifications-page .qc-breadcrumb { height: 52px; min-height: 52px; }

  .quality-certifications-page .qc-certifications { padding-top: 132px; padding-bottom: 83px; }
  .quality-certifications-page .qc-section-heading h2 { font-size: 3.75rem; line-height: 1; }
  .quality-certifications-page .qc-section-heading p { max-width: 66rem; margin-top: 25px; font-size: 1.125rem; line-height: 1.5556; }
  .quality-certifications-page .qc-certificate-grid { margin-top: 90px; }
  .quality-certifications-page .qc-load-more { margin-top: 60.64px; }
  .quality-certifications-page .qc-load-more .gold-btn { width: 214px; height: 51px; min-height: 51px; padding: 0 17px; font-size: 1.25rem; }
  .quality-certifications-page .qc-load-more .gold-btn__divider { height: 42px; margin-left: auto; }
  .quality-certifications-page .qc-load-more .gold-btn img { width: 1.75rem; }

  .quality-certifications-page .qc-statement { margin-top: 66px; padding: 26px 0 81px; }
  .quality-certifications-page .qc-statement .container { max-width: 82.5rem; padding-right: 0; padding-left: 0; }
  .quality-certifications-page .qc-statement h2 { max-width: 82.5rem; font-size: 3.75rem; line-height: 1.11; }

  .quality-certifications-page .qc-values { padding-bottom: 211px; }
  .quality-certifications-page .qc-values > .container { max-width: 82.8125rem !important; padding: 0 !important; }
  .quality-certifications-page .qc-values .row { display: grid !important; grid-template-columns: 634px minmax(0, 1fr) !important; align-items: start; gap: 26px !important; min-height: 632.69px; padding: 14.722px; box-sizing: border-box; }
  .quality-certifications-page .qc-values .col-lg-6 { width: auto !important; max-width: none !important; flex: none !important; }
  .quality-certifications-page .qc-values__image { width: 634px; height: 603px; max-width: 100%; border-radius: 15px; }
  .quality-certifications-page .qc-accordion { height: 603.246px; gap: 23px; padding: 0; justify-content: center; overflow: visible; }
  .quality-certifications-page .qc-accordion__item { box-sizing: border-box; flex: 0 0 125px; height: 125px; display: flex; flex-direction: column; justify-content: center; border-radius: 15.291px; }
  .quality-certifications-page .qc-accordion__item.is-active { flex-basis: 181px; min-height: 181px; height: 181px; justify-content: flex-start; gap: 10px; padding: 43px 22px; }
  .quality-certifications-page .qc-accordion__trigger { height: 39px; min-height: 39px; padding: 0 22px; font-size: 1.9114rem; line-height: 1.27; }
  .quality-certifications-page .qc-accordion__item.is-active .qc-accordion__trigger { padding: 0; }
  .quality-certifications-page .qc-accordion__panel,
  .quality-certifications-page .qc-accordion__item.is-active .qc-accordion__panel { padding: 0; font-size: 1.125rem; line-height: 1.28; }

  .quality-certifications-page .qc-cta { height: 33.541667vw; max-height: 40.25rem; }
  .quality-certifications-page .qc-cta__content { top: 27.795%; transform: none; }
  .quality-certifications-page .qc-cta h2 { font-size: 3.75rem; line-height: 1; }
  .quality-certifications-page .qc-cta p { max-width: 34.56rem; margin-top: 29px; font-size: 1.125rem; line-height: 1.3; }

  .quality-certifications-page .qc-footer { position: relative; height: 434px; min-height: 434px; padding: 0 !important; background: #000; color: #fff; }
  .quality-certifications-page .qc-footer__main { position: absolute; top: 64px; right: 147px; left: 159px; display: grid; grid-template-columns: 156px minmax(0, 1fr) 262px; align-items: center; height: 98px; }
  .quality-certifications-page .qc-footer__brand img { display: block; width: 156px; height: 98px; object-fit: contain; }
  .quality-certifications-page .qc-footer__nav { display: flex; justify-content: center; gap: 50px; }
  .quality-certifications-page .qc-footer__nav a { color: #fff; font-family: 'DM Sans', Arial, sans-serif; font-size: 1.125rem; font-weight: 500; text-decoration: none; }
  .quality-certifications-page .qc-footer__social { display: flex; justify-content: flex-end; gap: 20px; }
  .quality-certifications-page .qc-footer__social a { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; }
  .quality-certifications-page .qc-footer__social img { width: 22px; height: 22px; object-fit: contain; }
  .quality-certifications-page .qc-footer__copyright { position: absolute; top: 217px; left: 50%; display: flex; align-items: center; gap: 5px; color: #fff; transform: translateX(-50%); white-space: nowrap; }
  .quality-certifications-page .qc-footer__copyright img { width: 20px; height: 20px; }
  .quality-certifications-page .qc-footer__copyright span { font-family: 'DM Sans', Arial, sans-serif; font-size: 1.125rem; font-weight: 500; }
}

@media (max-width: 1199.98px) {
  .quality-certifications-page .qc-footer { min-height: 24rem; padding: 3rem 1.25rem 2rem; background: #000; color: #fff; }
  .quality-certifications-page .qc-footer__main { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2rem; }
  .quality-certifications-page .qc-footer__brand img { width: 9.5rem; height: auto; }
  .quality-certifications-page .qc-footer__nav, .quality-certifications-page .qc-footer__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem; }
  .quality-certifications-page .qc-footer__nav a { color: #fff; text-decoration: none; }
  .quality-certifications-page .qc-footer__social a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; }
  .quality-certifications-page .qc-footer__social img { width: 1.25rem; height: 1.25rem; }
  .quality-certifications-page .qc-footer__copyright { display: flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 3rem; color: #fff; text-align: center; }
  .quality-certifications-page .qc-footer__copyright img { width: 1.25rem; }
}
/* Quality & Certifications — proportional desktop scaling.
   Figma is authored at 1920px. Between the mobile/tablet breakpoint and that
   reference width, retain the same composition but scale measured values with
   the viewport instead of keeping the 1920px pixel dimensions. */
@media (min-width: 1200px) and (max-width: 1919.98px) {
  .quality-certifications-page .industries-site-header,
  .quality-certifications-page .navbar { height: 5.3125vw; }
  .quality-certifications-page .navbar { min-height: 5.3125vw; }
  .quality-certifications-page .navbar > .container,
  .quality-certifications-page .qc-hero__content,
  .quality-certifications-page .qc-breadcrumb .container,
  .quality-certifications-page .qc-cta__content {
    width: 90vw; max-width: 90vw; margin-right: auto; margin-left: auto;
    padding-right: 0; padding-left: 0;
  }
  .quality-certifications-page .qc-breadcrumb { height: 2.708333vw; min-height: 2.708333vw; }

  .quality-certifications-page .qc-certifications { padding-top: 6.875vw; padding-bottom: 4.322917vw; }
  .quality-certifications-page .qc-section-heading h2 { font-size: 3.125vw; }
  .quality-certifications-page .qc-section-heading p { margin-top: 1.302083vw; font-size: .9375vw; }
  .quality-certifications-page .qc-certificate-grid { width: 77.666667vw; max-width: 77.666667vw; margin-top: 4.6875vw; }
  .quality-certifications-page .qc-load-more { margin-top: 3.158333vw; }
  .quality-certifications-page .qc-load-more .gold-btn { width: 11.145833vw; height: 2.65625vw; min-height: 2.65625vw; padding-right: .885417vw; padding-left: .885417vw; font-size: 1.041667vw; }
  .quality-certifications-page .qc-load-more .gold-btn__divider { height: 2.1875vw; margin-left: auto; }
  .quality-certifications-page .qc-load-more .gold-btn img { width: 1.458333vw; }

  .quality-certifications-page .qc-statement { margin-top: 3.4375vw; padding-top: 1.354167vw; padding-bottom: 4.21875vw; }
  .quality-certifications-page .qc-statement .container,
  .quality-certifications-page .qc-statement h2 { max-width: 68.75vw; }
  .quality-certifications-page .qc-statement h2 { font-size: 3.125vw; }

  .quality-certifications-page .qc-values { padding-bottom: 10.989583vw; }
  .quality-certifications-page .qc-values > .container { width: 69.010417vw; max-width: 69.010417vw !important; }
  .quality-certifications-page .qc-values .row { grid-template-columns: 33.020833vw minmax(0, 1fr) !important; gap: 1.354167vw !important; min-height: 32.952604vw; padding: .766771vw; }
  .quality-certifications-page .qc-values__image { width: 33.020833vw; height: 31.40625vw; border-radius: .78125vw; }
  .quality-certifications-page .qc-accordion { height: 31.418021vw; gap: 1.197917vw; }
  .quality-certifications-page .qc-accordion__item { flex-basis: 6.510417vw; height: 6.510417vw; border-radius: .796406vw; }
  .quality-certifications-page .qc-accordion__item.is-active { flex-basis: 9.427083vw; min-height: 9.427083vw; height: 9.427083vw; gap: .520833vw; padding: 2.239583vw 1.145833vw; }
  .quality-certifications-page .qc-accordion__trigger { height: 2.03125vw; min-height: 2.03125vw; padding-right: 1.145833vw; padding-left: 1.145833vw; font-size: 1.592833vw; }
  .quality-certifications-page .qc-accordion__item.is-active .qc-accordion__trigger { padding-right: 0; padding-left: 0; }
  .quality-certifications-page .qc-accordion__panel,
  .quality-certifications-page .qc-accordion__item.is-active .qc-accordion__panel { font-size: .9375vw; }

  .quality-certifications-page .qc-cta { height: 33.541667vw; }
  .quality-certifications-page .qc-cta h2 { font-size: 3.125vw; }
  .quality-certifications-page .qc-cta p { max-width: 28.8vw; margin-top: 1.510417vw; font-size: .9375vw; }

  .quality-certifications-page .qc-footer { height: 22.604167vw; min-height: 22.604167vw; }
  .quality-certifications-page .qc-footer__main { top: 3.333333vw; right: 7.65625vw; left: 8.28125vw; height: 5.104167vw; grid-template-columns: 8.125vw minmax(0, 1fr) 13.645833vw; }
  .quality-certifications-page .qc-footer__brand img { width: 8.125vw; height: 5.104167vw; }
  .quality-certifications-page .qc-footer__nav { gap: 2.604167vw; }
  .quality-certifications-page .qc-footer__nav a { font-size: .9375vw; }
  .quality-certifications-page .qc-footer__social { gap: 1.041667vw; }
  .quality-certifications-page .qc-footer__social a { width: 2.604167vw; height: 2.604167vw; }
  .quality-certifications-page .qc-footer__social img { width: 1.145833vw; height: 1.145833vw; }
  .quality-certifications-page .qc-footer__copyright { top: 11.302083vw; gap: .260417vw; }
  .quality-certifications-page .qc-footer__copyright img { width: 1.041667vw; height: 1.041667vw; }
  .quality-certifications-page .qc-footer__copyright span { font-size: .9375vw; }
}

/* QC buttons: keep the label and divider visible in the filled hover state. */
.quality-certifications-page .gold-btn {
  box-sizing: border-box;
}
.quality-certifications-page .gold-btn > span:first-child {
  display: inline-flex;
  align-items: center;
  color: inherit;
  opacity: 1;
  visibility: visible;
}
.quality-certifications-page .gold-btn .gold-btn__divider {
  display: block;
  width: 2px;
  flex: 0 0 2px;
  height: 1.35rem;
  margin-left: .75rem;
  background-color: currentColor;
  opacity: .9;
  visibility: visible;
}
.quality-certifications-page .qc-load-more .gold-btn .gold-btn__divider {
  height: clamp(1.35rem, 2.1875vw, 2.625rem);
  margin-left: auto;
}
.quality-certifications-page .qc-cta .gold-btn .gold-btn__divider {
  background: currentColor;
}
.quality-certifications-page .gold-btn:hover > span:first-child,
.quality-certifications-page .gold-btn:focus-visible > span:first-child {
  color: #fff;
}
.quality-certifications-page .gold-btn:hover .gold-btn__divider,
.quality-certifications-page .gold-btn:focus-visible .gold-btn__divider {
  background-color: #fff !important;
  opacity: 1;
}

/* ---------- Research & Development page (Figma 1261:4164, page-scoped) ---------- */
.research-development-page { --rd-purple:#352b46; --rd-gold:#7e6131; --rd-ink:#352b46; overflow-x:hidden; }
.research-development-page .rd-hero { position:relative; height:clamp(28rem,47.708vw,57.25rem); overflow:hidden; background:#1f192c; }
.research-development-page .rd-hero__image { position:absolute; width:113.52%; height:134.75%; max-width:none; left:-10.72%; top:-17.39%; object-fit:cover; }
.research-development-page .rd-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(53,43,70,.34) 0%,rgba(53,43,70,.08) 48%,rgba(53,43,70,0) 78%),linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.15) 45%,transparent 62%); }
.research-development-page .rd-hero__content { position:relative; height:100%; display:flex; align-items:flex-end; padding-bottom:clamp(3rem,8.45vw,10.15rem); }
.research-development-page .rd-hero h1 { margin:0; color:#fff; font-family:'Playfair Display',serif; font-weight:500; font-size:clamp(2.4rem,3.125vw,3.75rem); line-height:1.07; letter-spacing:-.02em; }
.research-development-page .rd-breadcrumb { height:clamp(2.6rem,2.708vw,3.25rem); background:var(--rd-gold); color:#fff; }
.research-development-page .rd-breadcrumb .container { height:100%; display:flex; align-items:center; }
.research-development-page .rd-breadcrumb ol { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; padding:0; margin:0; font:300 clamp(.8rem, .9375vw,1.125rem)/1.2 'DM Sans',sans-serif; }
.research-development-page .rd-breadcrumb li:not(:last-child)::after { content:'-'; margin-left:.6rem; color:#fff; }
.research-development-page .rd-breadcrumb a { color:#fff; text-decoration:none; }
.research-development-page .rd-platforms { background:#fff; padding:clamp(5rem,6.875vw,8.25rem) 0 clamp(5.5rem,6.25vw,7.5rem); }
.research-development-page .rd-platforms > .container { width:100%; max-width:none; padding-left:0; padding-right:0; }
.research-development-page .rd-section-heading { text-align:center; }
.research-development-page .rd-section-heading h2 { margin:0; color:var(--rd-ink); font:500 clamp(2rem,2.604vw,3.125rem)/1.16 'Playfair Display',serif; letter-spacing:-.025em; }
.research-development-page .rd-section-heading p { max-width:58rem; margin:1.15rem auto 0; color:#352b46; font:300 clamp(1rem,1.302vw,1.5625rem)/1.35 'DM Sans',sans-serif; }
.research-development-page .rd-platforms__showcase { position:relative; width:75.73vw; max-width:none; margin:clamp(3.5rem,5.5vw,6.6rem) auto 0; }
.research-development-page .rd-platforms__swiper { width:100%; overflow:hidden; user-select:none; transform:translateX(clamp(0px,.52vw,.625rem)); }
.research-development-page .rd-platforms__grid { width:100%; margin:0; display:flex; }
.research-development-page .rd-platform-card.swiper-slide { flex-shrink:0; height:auto !important; aspect-ratio:449.355 / 569; }
.research-development-page .rd-platforms__arrow { position:absolute; z-index:3; top:50%; display:flex; align-items:center; justify-content:center; width:clamp(3.25rem,4vw,4.5rem); height:clamp(4rem,5.2vw,5.75rem); padding:0; border:0; background:transparent; pointer-events:auto; cursor:pointer; touch-action:manipulation; transform:translateY(-50%); }
.research-development-page .rd-platforms__arrow img { display:block; width:12px; height:21px; }
.research-development-page .rd-platforms__arrow--left img { transform:scaleX(-1); }
.research-development-page .rd-platforms__arrow--left { left:clamp(-6rem,-4.74vw,-2rem); }
.research-development-page .rd-platforms__arrow--right { right:clamp(-9rem,-7.6vw,-3rem); }
.research-development-page .rd-platform-card { height:clamp(28rem,29.635vw,35.56rem); overflow:hidden; border:1px solid rgba(108,61,154,.5); border-radius:15px; background:var(--rd-purple); box-shadow:0 1rem 2rem rgba(53,43,70,.1); }
.research-development-page .rd-platform-card__image { width:100%; height:77.85%; overflow:hidden; }
.research-development-page .rd-platform-card img { display:block; width:100%; height:100%; object-fit:contain; }
.research-development-page .rd-platform-card--cad img { position:relative; width:175.55%; max-width:none; height:99.92%; left:-50.47%; top:.08%; object-fit:cover; }
.research-development-page .rd-platform-card h3 { margin:0; padding:clamp(1.5rem,2.135vw,2.56rem) clamp(1.1rem,1.72vw,2.06rem); color:#fff; text-align:left; font:700 clamp(1.1rem,1.302vw,1.5625rem)/1.25 'Playfair Display',serif; }
.research-development-page .rd-testing { position:relative; min-height:clamp(58rem,81.667vw,98rem); overflow:hidden; background:var(--rd-purple); color:#fff; padding:clamp(5rem,6.667vw,8rem) 0 6rem; }
.research-development-page .rd-testing .rd-section-heading h2,.research-development-page .rd-testing .rd-section-heading p { color:#fff; }
.research-development-page .rd-testing .rd-section-heading p { max-width:57rem; }
.research-development-page .rd-testing__rows { position:absolute; inset:0; width:100%; height:100%; margin:0; }
.research-development-page .rd-testing__line { position:absolute; left:4.9%; width:90.26%; height:2px; z-index:0; opacity:.7; }
.research-development-page .rd-testing__line--1 { top:25.45%; }
.research-development-page .rd-testing__line--2 { top:47.39%; }
.research-development-page .rd-testing__line--3 { top:69.32%; }
.research-development-page .rd-testing__line--4 { top:91.26%; }
.research-development-page .rd-testing-row { position:absolute; inset:0; min-height:0; display:block; }
.research-development-page .rd-testing-row__title,.research-development-page .rd-testing-row__copy { position:absolute; z-index:1; }
.research-development-page .rd-testing-row__title { left:12.55%; }
.research-development-page .rd-testing-row__copy { left:73.02%; width:22%; }
.research-development-page .rd-testing-row--road .rd-testing-row__title { top:33.61%; }
.research-development-page .rd-testing-row--road .rd-testing-row__copy { top:33.61%; }
.research-development-page .rd-testing-row--axis .rd-testing-row__title { top:54.4%; }
.research-development-page .rd-testing-row--axis .rd-testing-row__copy { top:54.4%; }
.research-development-page .rd-testing-row--part .rd-testing-row__title { top:76.79%; }
.research-development-page .rd-testing-row--part .rd-testing-row__copy { top:78.19%; }
.research-development-page .rd-testing-row h3 { margin:0; font:400 clamp(1.8rem,2.083vw,2.5rem)/1.1 'Playfair Display',serif; }
.research-development-page .rd-testing-row p { margin:0; font:300 clamp(1rem,1.042vw,1.25rem)/1.35 'DM Sans',sans-serif; }
.research-development-page .rd-testing-row__photo { position:absolute; left:34.48%; top:20.69%; width:31.15%; height:29.43%; overflow:hidden; border-radius:2.5rem; transform:rotate(-8deg); box-shadow:0 1.2rem 2.8rem rgba(0,0,0,.3); }
.research-development-page .rd-testing-row__photo img { position:absolute; width:130%; max-width:none; height:104.54%; left:-15%; top:-2.27%; object-fit:cover; }
.research-development-page .rd-footprint { position:relative; min-height:clamp(30rem,39.531vw,47.44rem); overflow:hidden; color:#fff; }
.research-development-page .rd-footprint__image,.research-development-page .rd-footprint__shade { position:absolute; }
.research-development-page .rd-footprint__image { width:99.31%; height:169%; max-width:none; left:1%; top:-30.49%; object-fit:cover; object-position:center; }
.research-development-page .rd-footprint__shade { inset:0; width:100%; height:100%; }
.research-development-page .rd-footprint__shade { background:rgba(53,43,70,.72); }
.research-development-page .rd-footprint__line { position:absolute; z-index:1; width:auto; height:2px; opacity:.72; pointer-events:none; transform:rotate(90deg); transform-origin:left top; }
.research-development-page .rd-footprint__line--main { width:11.82vw; left:30.36%; top:69.95%; }
.research-development-page .rd-footprint__line--left { width:18.98vw; left:56.25%; top:51.9%; }
.research-development-page .rd-footprint__line--right { width:12.45vw; left:81.2%; top:68.5%; }
.research-development-page .rd-footprint__line--bottom { width:17.81vw; left:6.46%; top:55%; }
.research-development-page .rd-footprint::after { content:none; }
.research-development-page .rd-footprint__content { position:relative; z-index:2; width:100%; max-width:none; height:100%; padding-top:clamp(3.5rem,4.17vw,5rem); padding-left:0; padding-right:0; }
.research-development-page .rd-footprint .rd-section-heading h2,.research-development-page .rd-footprint .rd-section-heading p { color:#fff; }
.research-development-page .rd-footprint .rd-section-heading p { max-width:58rem; margin-top:.85rem; }
.research-development-page .rd-metrics { position:absolute; inset:0; width:100%; height:100%; margin:0; display:block; }
.research-development-page .rd-metric { position:absolute; min-height:0; padding:0; text-align:left; border:0; }
.research-development-page .rd-metric:nth-child(1) { left:9.11%; top:47.43%; }
.research-development-page .rd-metric:nth-child(2) { left:58.85%; top:43.35%; }
.research-development-page .rd-metric:nth-child(3) { left:32.92%; top:63.11%; }
.research-development-page .rd-metric:nth-child(4) { left:84.22%; top:61.13%; }
.research-development-page .rd-metric strong { display:block; font:500 clamp(3.5rem,4.55vw,5.46rem)/.9 'DM Sans',sans-serif; }
.research-development-page .rd-metric__plus { display:inline; margin:0; color:var(--rd-gold); }
.research-development-page .rd-metric > span { display:block; margin-top:1.25rem; font:300 clamp(1.1rem,1.624vw,1.95rem)/1.2 'DM Sans',sans-serif; }
.research-development-page .rd-pulse { position:absolute; z-index:3; width:clamp(2.75rem,3.125vw,3.75rem); height:clamp(2.75rem,3.125vw,3.75rem); animation:rd-pulse-rotate 3.5s linear infinite; }
.research-development-page .rd-pulse img { position:absolute; max-width:none; height:auto; }
.research-development-page .rd-pulse img:nth-child(1) { inset:0; width:100%; }
.research-development-page .rd-pulse img:nth-child(2) { left:19.444%; top:19.444%; width:61.111%; }
.research-development-page .rd-pulse img:nth-child(3) { left:36.111%; top:36.111%; width:27.778%; }
.research-development-page .rd-pulse img:nth-child(1) { animation:rd-pulse-outer 3.5s linear infinite; transform-origin:center; }
.research-development-page .rd-pulse img:nth-child(2) { animation:rd-pulse-mid 3.5s linear infinite; transform-origin:center; }
.research-development-page .rd-pulse img:nth-child(3) { animation:rd-pulse-dot 3.5s linear infinite; transform-origin:center; }
.research-development-page .rd-pulse--1 { left:4.90%; top:50.33%; }.research-development-page .rd-pulse--2 { left:28.91%; top:66.00%; }.research-development-page .rd-pulse--3 { left:54.63%; top:48.00%; }.research-development-page .rd-pulse--4 { left:79.63%; top:64.40%; }
@keyframes rd-pulse-rotate { 0%,85.714% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
@keyframes rd-pulse-outer { 0%,14.286%,71.429%,100% { opacity:1; transform:scale(1); } 24.286%,81.429% { opacity:.3; transform:scale(1.2); } 34.286%,91.429% { opacity:1; transform:scale(1); } }
@keyframes rd-pulse-mid { 0%,7.143%,64.286%,100% { opacity:1; transform:scale(1); } 17.143%,74.286% { opacity:.3; transform:scale(1.2); } 27.143%,84.286% { opacity:1; transform:scale(1); } }
@keyframes rd-pulse-dot { 0%,57.143%,100% { opacity:1; transform:scale(1); } 10%,67.143% { opacity:.3; transform:scale(1.2); } 20%,77.143% { opacity:1; transform:scale(1); } }
.research-development-page .rd-values { background:#fff; padding:clamp(5rem,6.5vw,7.8rem) 0 clamp(6rem,8vw,9.6rem); }
.research-development-page .rd-values .rd-section-heading h2 { max-width:74rem; margin-inline:auto; }
.research-development-page .rd-values__layout { width:min(69.01vw,82.8125rem); margin:clamp(4rem,8.333vw,10rem) auto 0; padding:clamp(.55rem,.767vw,.92rem); display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,1.354vw,1.625rem); box-sizing:border-box; }
.research-development-page .rd-values__figure { margin:0; min-height:clamp(30rem,41.46vw,49.75rem); border-radius:15px; overflow:hidden; }
.research-development-page .rd-values__figure img { display:block; width:100%; height:100%; object-fit:contain; transition:opacity .3s ease; }
.research-development-page .rd-values__figure img.is-changing { opacity:.3; }
.research-development-page .rd-accordion { display:flex; flex-direction:column; gap:clamp(.65rem,1.2vw,1.45rem); min-height:100%; }
.research-development-page .rd-accordion__item { position:relative; overflow:hidden; border:1px solid #dddcdc; border-radius:15px; background:#fff; transition:background .35s ease,color .35s ease; }
.research-development-page .rd-accordion__item.is-active { flex:1 1 auto; background:var(--rd-purple); color:#fff; }
.research-development-page .rd-accordion__item button { position:relative; display:flex; align-items:center; width:100%; min-height:clamp(4.5rem,6.51vw,7.8rem); padding:1rem clamp(1rem,1.15vw,1.4rem); border:0; background:transparent; color:var(--rd-ink); text-align:left; font:500 clamp(1.4rem,1.593vw,1.9rem)/1.15 'Playfair Display',serif; }
.research-development-page .rd-accordion__item.is-active button { color:#fff; }
.research-development-page .rd-accordion__item button b { margin-left:auto; font:300 1.6rem/1 'DM Sans',sans-serif; }
.research-development-page .rd-accordion__item button em { position:absolute; top:.7rem; left:clamp(1rem,1.15vw,1.4rem); right:auto; color:var(--rd-gold); font:500 .65rem/1 'DM Sans',sans-serif; letter-spacing:.08em; font-style:normal; }
.research-development-page .rd-accordion__item--upcoming button em { left:clamp(.8rem,1.05vw,1.25rem); right:auto; }
.research-development-page .rd-accordion__item--upcoming button > span { transform:translateY(.3rem); }
.research-development-page .rd-accordion__panel { padding:0 clamp(1rem,1.15vw,1.4rem) clamp(1.4rem,1.8vw,2.15rem); font:300 clamp(1rem, .9375vw,1.125rem)/1.45 'DM Sans',sans-serif; }
.research-development-page .rd-accordion__panel p { margin:0; }
.research-development-page .rd-cta { position:relative; min-height:clamp(30rem,33.54vw,40.25rem); overflow:hidden; color:#fff; }
.research-development-page .rd-cta__image,.research-development-page .rd-cta__shade { position:absolute; }
.research-development-page .rd-cta__image { width:143.04%; height:224%; max-width:none; left:-23.21%; top:-50.45%; object-fit:cover; object-position:center; }
.research-development-page .rd-cta__shade { inset:0; width:100%; height:100%; }
.research-development-page .rd-cta__shade { background:linear-gradient(90deg,rgba(53,43,70,.96) 0%,rgba(53,43,70,.78) 38%,rgba(53,43,70,.05) 72%); }
.research-development-page .rd-cta__content { position:relative; z-index:1; padding-top:clamp(5rem,6.55vw,7.85rem); }
.research-development-page .rd-cta h2 { margin:0; color:#fff; font:700 clamp(2.5rem,3.125vw,3.75rem)/1.05 'Playfair Display',serif; }
.research-development-page .rd-cta p { max-width:30rem; margin:1.4rem 0 2rem; color:#fff; font:300 clamp(1rem,.9375vw,1.125rem)/1.4 'DM Sans',sans-serif; }
.research-development-page .rd-cta__button { display:inline-flex; align-items:center; justify-content:center; width:clamp(12rem,17.1875vw,20.625rem); min-height:clamp(2.6rem,2.656vw,3.2rem); padding:0 1rem; border:1px solid var(--rd-gold); background:#fff; color:var(--rd-gold); text-decoration:none; font:500 clamp(.9rem,1.04vw,1.25rem)/1 'DM Sans',sans-serif; }
.research-development-page .rd-cta__button .rd-cta__divider { width:1px; height:1.55rem; margin:0 1.15rem; }
.research-development-page .rd-cta__button img { width:1.5rem; height:auto; }
.research-development-page .site-footer { min-height:clamp(24rem,22.6vw,27.1rem); }
@media (max-width: 991.98px) {
  .research-development-page .rd-platforms__showcase { width:min(90vw,45rem); }
  .research-development-page .rd-testing { min-height:70rem; }
  .research-development-page .rd-testing__rows { position:relative; inset:auto; width:90vw; height:auto; display:flex; flex-direction:column; gap:4rem; margin:4rem auto 0; }
  .research-development-page .rd-testing__line { display:none; }
  .research-development-page .rd-testing-row,.research-development-page .rd-testing-row--road,.research-development-page .rd-testing-row--axis,.research-development-page .rd-testing-row--part { position:relative; inset:auto; display:flex; flex-direction:column; gap:1.4rem; text-align:center; }
  .research-development-page .rd-testing-row__title,.research-development-page .rd-testing-row__copy { position:relative; inset:auto; left:auto; top:auto; width:auto; }
  .research-development-page .rd-testing-row--axis .rd-testing-row__copy { text-align:center; }
  .research-development-page .rd-testing-row__title { order:1; }
  .research-development-page .rd-testing-row__copy { order:2; }
  .research-development-page .rd-testing-row__photo { order:3; width:min(80vw,34rem); height:16rem; left:auto; top:auto; transform:rotate(-8deg); }
  .research-development-page .rd-testing-row p,.research-development-page .rd-testing-row--axis p { margin:.6rem auto 0; }
  .research-development-page .rd-metrics { position:relative; inset:auto; display:grid; width:90vw; height:auto; margin:3rem auto 0; grid-template-columns:repeat(2,1fr); row-gap:3rem; }
  .research-development-page .rd-metric,.research-development-page .rd-metric:nth-child(1),.research-development-page .rd-metric:nth-child(2),.research-development-page .rd-metric:nth-child(3),.research-development-page .rd-metric:nth-child(4) { position:relative; inset:auto; }
  .research-development-page .rd-metric:nth-child(2) { border-right:0; }
  .research-development-page .rd-values__layout { width:min(90vw,46rem); grid-template-columns:1fr; }
  .research-development-page .rd-values__figure { min-height:28rem; }
}
@media (max-width: 575.98px) {
  .research-development-page .rd-hero { height:32rem; }
  .research-development-page .rd-hero h1 { font-size:2.15rem; }
  .research-development-page .rd-platforms,.research-development-page .rd-values { padding-block:4rem; }
  .research-development-page .rd-testing { min-height:67rem; padding-block:4rem; }
  .research-development-page .rd-footprint { min-height:45rem; }
  .research-development-page .rd-metrics { grid-template-columns:1fr 1fr; }
  .research-development-page .rd-metric { padding-inline:.5rem; }
  .research-development-page .rd-metric strong { font-size:3rem; }
  .research-development-page .rd-metric > span { font-size:1rem; }
  .research-development-page .rd-pulse { display:none; }
  .research-development-page .rd-cta { min-height:31rem; }
}
@media (prefers-reduced-motion: reduce) {
  .research-development-page .rd-pulse,.research-development-page .rd-pulse img,.research-development-page .rd-values__figure img { animation:none; transition:none; }
}

/* ---------- Central Engineering page (Figma node 1261:4432) ---------- */
.central-engineering-page {
  --ce-ink:#352b46;
  --ce-gold:#7e6131;
  --ce-lilac:#eee8f3;
  --ce-page-gutter:clamp(1.25rem,4.95vw,5.94rem);
  background:#fff;
  color:#171717;
  font-family:'DM Sans',Arial,sans-serif;
}
.central-engineering-page .ce-site-header { position:sticky; top:0; z-index:50; }
.central-engineering-page .ce-shell { padding-inline:var(--ce-page-gutter); }
.central-engineering-page .ce-hero { position:relative; height:clamp(34rem,47.708vw,57.25rem); overflow:hidden; background:#111018; }
.central-engineering-page .ce-hero__image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 48%; }
.central-engineering-page .ce-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,12,22,.08) 24%,rgba(15,12,22,.2) 58%,rgba(0,0,0,.83) 100%); }
.central-engineering-page .ce-hero__content { position:absolute; z-index:1; inset:auto 0 clamp(3.25rem,5vw,6rem); }
.central-engineering-page .ce-hero h1 { max-width:58rem; margin:0; color:#fff; font:500 clamp(2.4rem,3.125vw,3.75rem)/1.2 'Playfair Display',Georgia,serif; letter-spacing:-.02em; }
.central-engineering-page .ce-breadcrumb { position:relative; z-index:2; height:clamp(2.75rem,2.708vw,3.25rem); min-height:0; margin-top:clamp(-.45rem,-.365vw,-.2rem); background:var(--ce-gold); }
.central-engineering-page .ce-breadcrumb .container-fluid { display:flex; align-items:center; height:100%; }
.central-engineering-page .ce-breadcrumb .industries-breadcrumb__list { gap:clamp(.45rem,.62vw,.75rem); color:#fff; font-size:clamp(.72rem,.9375vw,1.125rem); }
.central-engineering-page .ce-breadcrumb .industries-breadcrumb__list li+li::before { margin-right:clamp(.45rem,.62vw,.75rem); }
.central-engineering-page .ce-breadcrumb a { text-decoration:none; }

.central-engineering-page .ce-story { position:relative; height:clamp(68rem,91.3vw,109.5rem); overflow:hidden; background:#fff; }
.central-engineering-page .ce-story__curves { position:absolute; z-index:0; top:10%; left:-5%; width:110%; max-width:none; height:auto; opacity:.85; pointer-events:none; }
.central-engineering-page .ce-story__intro { position:absolute; z-index:1; inset:0 0 auto; height:60%; }
.central-engineering-page .ce-story__intro>.row { height:100%; }
.central-engineering-page .ce-story__copy { position:relative; z-index:2; align-self:flex-start; padding-top:6.8vw; }
.central-engineering-page .ce-story__copy h2 { max-width:35rem; margin:0 0 clamp(1.25rem,1.7vw,2rem); color:var(--ce-ink); font:500 clamp(2rem,2.604vw,3.125rem)/1.13 'Playfair Display',Georgia,serif; letter-spacing:-.02em; }
.central-engineering-page .ce-story__copy p { max-width:35rem; margin:0 0 clamp(1.4rem,2vw,2.4rem); padding-left:clamp(.75rem,1vw,1.2rem); border-left:1px dashed #a69aaf; color:#393939; font:300 clamp(.95rem,1.146vw,1.375rem)/1.4 'DM Sans',Arial,sans-serif; }
.central-engineering-page .ce-story__product-wrap { position:relative; height:100%; }
.central-engineering-page .ce-story__product { position:absolute; top:8%; right:-1.5%; width:min(57vw,68rem); height:auto; max-width:none; object-fit:contain; }
.central-engineering-page .ce-button { display:inline-flex; align-items:center; gap:0; min-height:clamp(2.25rem,2.656vw,3.1875rem); padding:0 clamp(.8rem,1vw,1.2rem); border:1px solid var(--ce-gold); border-radius:3px; background:#fff; color:var(--ce-gold); font:500 clamp(.72rem,1.04vw,1.25rem)/1 'DM Sans',Arial,sans-serif; text-decoration:none; transition:background .25s ease,color .25s ease; }
.central-engineering-page .ce-button:hover,.central-engineering-page .ce-button:focus-visible { background:var(--ce-gold); color:#fff; }
.central-engineering-page .ce-button__divider { display:block; width:1px; height:clamp(1.8rem,2.2vw,2.65rem); margin:0 clamp(.65rem,1vw,1.2rem); background:currentColor; opacity:.8; }
.central-engineering-page .ce-button img { display:block; width:clamp(1.15rem,1.46vw,1.75rem); height:auto; }

.central-engineering-page .ce-connected { position:absolute; z-index:2; inset:55.5% 0 auto; }
.central-engineering-page .ce-connected__heading { max-width:62rem; margin:0 auto; }
.central-engineering-page .ce-connected__heading h2 { margin:0; color:var(--ce-ink); font:500 clamp(1.7rem,2.604vw,3.125rem)/1.15 'Playfair Display',Georgia,serif; }
.central-engineering-page .ce-connected__heading p { max-width:56rem; margin:clamp(.35rem,.52vw,.625rem) auto 0; color:#393939; font:300 clamp(.9rem,1.146vw,1.375rem)/1.35 'DM Sans',Arial,sans-serif; }
.central-engineering-page .ce-cards { position:relative; width:min(75.7vw,91rem); margin:clamp(3.75rem,4.68vw,5.625rem) auto 0; }
.central-engineering-page .ce-cards__viewport { overflow:hidden; }
.central-engineering-page .ce-cards__track { display:flex; align-items:stretch; justify-content:space-between; gap:clamp(.85rem,2.76vw,3.3125rem); }
.central-engineering-page .ce-card { flex:0 0 calc((100% - 5.52vw) / 3); min-width:0; height:clamp(24rem,29.635vw,35.5625rem); overflow:hidden; border:1px solid rgba(108,61,154,.5); border-radius:15px; background:var(--ce-ink); color:#fff; }
.central-engineering-page .ce-card__image { height:77.85%; overflow:hidden; background:var(--ce-ink); }
.central-engineering-page .ce-card__image img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.central-engineering-page .ce-card h3 { display:flex; align-items:center; height:22.15%; margin:0; padding:0 clamp(1rem,1.7vw,2rem); color:#fff; font:700 clamp(.95rem,1.302vw,1.5625rem)/1.18 'Playfair Display',Georgia,serif; }
.central-engineering-page .ce-cards__arrow { position:absolute; z-index:3; top:50%; display:grid; place-items:center; width:clamp(2.5rem,3.65vw,4.375rem); height:clamp(2.5rem,3.65vw,4.375rem); padding:0; border:0; background:transparent; color:#161616; transform:translateY(-50%); cursor:pointer; }
.central-engineering-page .ce-cards__arrow--prev { left:clamp(-6rem,-5vw,-2rem); }
.central-engineering-page .ce-cards__arrow--next { right:clamp(-6rem,-5vw,-2rem); }
.central-engineering-page .ce-cards__arrow span { position:relative; display:block; width:1.15rem; height:1px; background:currentColor; }
.central-engineering-page .ce-cards__arrow span::after { position:absolute; top:-.27rem; width:.48rem; height:.48rem; border-top:1px solid currentColor; border-right:1px solid currentColor; content:""; }
.central-engineering-page .ce-cards__arrow--prev span::after { left:0; transform:rotate(-135deg); }
.central-engineering-page .ce-cards__arrow--next span::after { right:0; transform:rotate(45deg); }

.central-engineering-page .ce-principles { min-height:40.16vw; padding-top:5.5vw; background:#fff; }
.central-engineering-page .ce-promise { max-width:82rem; min-height:6.25vw; margin:0 auto; color:#999; text-align:center; font:500 clamp(1.65rem,2.604vw,3.125rem)/1.16 'Playfair Display',Georgia,serif; }
.central-engineering-page .ce-promise span { display:inline; color:#999; }
.central-engineering-page .ce-promise .is-animating { animation:ce-letter-color 480ms ease-in-out both; animation-delay:var(--ce-letter-delay,0ms); }
@keyframes ce-letter-color { from { color:#999; } to { color:#352b46; } }
.central-engineering-page .ce-principles__panel { position:relative; width:100%; min-height:23.23vw; margin:5.2vw 0 0; padding:4.167vw 0 2.5vw; overflow:hidden; background:rgba(108,61,154,.14); }
.central-engineering-page .ce-principles__panel>.row { position:relative; z-index:1; }
.central-engineering-page .ce-principle { position:relative; display:flex; flex-direction:column; align-items:center; box-sizing:border-box; padding:0 clamp(.45rem,.8vw,.95rem); text-align:center; }
.central-engineering-page .ce-principle__icon { display:grid; place-items:center; width:4.9vw; height:4.9vw; flex:0 0 auto; }
.central-engineering-page .ce-principle__ruler { display:flex; flex-direction:column; justify-content:center; gap:clamp(2px,.21vw,4px); width:clamp(1.75rem,2.3vw,2.75rem); height:clamp(2rem,2.4vw,2.875rem); }
.central-engineering-page .ce-principle__ruler i { display:block; width:100%; height:4px; border:1px solid var(--ce-gold); border-radius:3px; }
.central-engineering-page .ce-principle__icon>img { width:2.92vw; height:2.92vw; max-width:3.5rem; max-height:3.5rem; object-fit:contain; }
.central-engineering-page .ce-principle h3 { width:100%; max-width:100%; margin:clamp(.35rem,.73vw,.875rem) 0 clamp(.35rem,1.2vw,1.5rem); color:var(--ce-ink); font:400 clamp(.8rem,1.406vw,1.6875rem)/1.15 'Playfair Display',Georgia,serif; }
.central-engineering-page .ce-principle p { max-width:min(15rem,14.85vw); margin:0; color:#27232d; font:300 clamp(.64rem,.9375vw,1.125rem)/1.22 'DM Sans',Arial,sans-serif; }
.central-engineering-page .ce-principle:nth-child(1) p { max-width:min(13.8rem,11.51vw); }
.central-engineering-page .ce-principle:nth-child(2) p { max-width:min(17.8rem,14.85vw); }
.central-engineering-page .ce-principle:nth-child(3) p,.central-engineering-page .ce-principle:nth-child(4) p { max-width:min(16.6rem,13.8vw); }
.central-engineering-page .ce-principle:nth-child(5) p { max-width:min(15rem,12.5vw); }
.central-engineering-page .ce-principle:nth-child(6) p { max-width:min(16rem,13.33vw); }
.central-engineering-page .ce-principles__connector { position:absolute; z-index:0; top:24%; left:15.625%; width:65.625%; max-width:none; height:auto; opacity:.9; pointer-events:none; }
.central-engineering-page .ce-transition-space { height:8.65vw; min-height:3rem; }
@media (min-width:1200px) {
  /* The Figma connector uses slightly uneven tracks; align text columns to those exact dividers. */
  .central-engineering-page .ce-principles__panel>.row { display:flex; box-sizing:border-box; padding-left:1.667vw; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle { flex:0 0 auto; width:auto; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(1) { width:14.195%; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(2) { width:15.996%; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(3) { width:16.684%; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(4) { width:16.843%; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(5) { width:17.161%; }
  .central-engineering-page .ce-principles__panel>.row>.ce-principle:nth-child(6) { width:19.121%; }
}

.central-engineering-page .ce-industries { position:relative; height:33.55vw; min-height:24rem; max-height:40.25rem; overflow:hidden; background:#100f18; color:#fff; }
.central-engineering-page .ce-industries__image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.central-engineering-page .ce-industries__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.68) 26%,rgba(0,0,0,.08) 57%,rgba(0,0,0,0) 100%); }
.central-engineering-page .ce-industries__content { position:absolute; z-index:1; inset:20.5% 0 auto; }
.central-engineering-page .ce-industries h2 { margin:0 0 clamp(.75rem,1.1vw,1.3rem); color:#fff; font:500 clamp(2rem,2.604vw,3.125rem)/1.18 'Playfair Display',Georgia,serif; }
.central-engineering-page .ce-industries p { max-width:34rem; margin:0 0 clamp(1.25rem,1.8vw,2.15rem); color:#fff; font:400 clamp(.82rem,1.04vw,1.25rem)/1.3 'DM Sans',Arial,sans-serif; }

.central-engineering-page .ce-footer { min-height:22.6vw; padding:clamp(2rem,3.33vw,4rem) 0 clamp(1.6rem,2.4vw,2.9rem); background:#050505; color:#fff; }
.central-engineering-page .ce-footer__main { min-height:8.3vw; }
.central-engineering-page .ce-footer__brand img { display:block; width:clamp(7.5rem,8.12vw,9.75rem); height:auto; object-fit:contain; }
.central-engineering-page .ce-footer__nav { display:flex; align-items:center; justify-content:center; gap:clamp(1rem,2.25vw,2.7rem); }
.central-engineering-page .ce-footer__nav a { color:#fff; font:600 clamp(.72rem,.94vw,1.125rem)/1 'Inter',Arial,sans-serif; text-decoration:none; }
.central-engineering-page .ce-footer__social { display:flex; justify-content:flex-end; gap:clamp(.5rem,.73vw,.875rem); margin:0; padding:0; list-style:none; }
.central-engineering-page .ce-footer__social a { position:relative; display:grid; place-items:center; width:clamp(1.75rem,2.58vw,3.1rem); aspect-ratio:1; }
.central-engineering-page .ce-footer__social a>img:first-child { position:absolute; inset:0; width:100%; height:100%; }
.central-engineering-page .ce-footer__social .ce-footer__social-icon { position:relative; z-index:1; width:38%; height:38%; object-fit:contain; }
.central-engineering-page .ce-footer__copyright { display:flex; align-items:center; justify-content:center; gap:.4rem; margin:4.6vw 0 0; color:#fff; font:500 clamp(.72rem,.94vw,1.125rem)/1 'DM Sans',Arial,sans-serif; }
.central-engineering-page .ce-footer__copyright img { width:clamp(1rem,1.04vw,1.25rem); max-width:100%; height:auto; }

@media (max-width:1199.98px) {
  .central-engineering-page .ce-story { height:auto; min-height:0; padding-bottom:5rem; overflow:hidden; }
.central-engineering-page .ce-story__curves { top:24%; width:145%; left:-22%; }
  .central-engineering-page .ce-story__intro { position:relative; height:auto; padding-top:4.5rem; }
  .central-engineering-page .ce-story__copy { padding-top:0; }
  .central-engineering-page .ce-story__product-wrap { min-height:clamp(20rem,42vw,32rem); }
  .central-engineering-page .ce-story__product { top:0; right:0; width:min(58vw,52rem); }
  .central-engineering-page .ce-connected { position:relative; inset:auto; margin-top:2rem; }
  .central-engineering-page .ce-cards { width:min(84vw,70rem); margin-top:3rem; }
  .central-engineering-page .ce-card { flex-basis:calc((100% - 2rem) / 3); height:clamp(20rem,37vw,30rem); }
  .central-engineering-page .ce-principles { min-height:0; padding-top:4rem; padding-bottom:4rem; }
  .central-engineering-page .ce-promise { min-height:0; }
  .central-engineering-page .ce-principles__panel { min-height:0; margin-top:3rem; padding:2.5rem 1.25rem; }
  .central-engineering-page .ce-principle { min-height:12rem; padding-block:1rem; }
  .central-engineering-page .ce-principle__icon { width:4.5rem; height:4.5rem; }
  .central-engineering-page .ce-principle__icon>img { width:2.75rem; height:2.75rem; }
  .central-engineering-page .ce-principle p,.central-engineering-page .ce-principle:nth-child(n) p { max-width:min(100%,18rem); }
  .central-engineering-page .ce-principle:nth-child(3)::after { display:none; }
  .central-engineering-page .ce-principles__connector { display:none; }
  .central-engineering-page .ce-transition-space { height:4rem; }
  .central-engineering-page .ce-industries { height:clamp(27rem,48vw,39rem); }
  .central-engineering-page .ce-footer { min-height:0; }
  .central-engineering-page .ce-footer__main { min-height:0; row-gap:2rem; }
  .central-engineering-page .ce-footer__copyright { margin-top:3rem; }
}
@media (max-width:767.98px) {
  .central-engineering-page { --ce-page-gutter:1.25rem; }
  .central-engineering-page .ce-shell { padding-inline:1.25rem; }
  .central-engineering-page .ce-site-header { position:relative; }
  .central-engineering-page .ce-hero { height:clamp(34rem,112vw,45rem); }
  .central-engineering-page .ce-hero__image { object-position:58% center; }
  .central-engineering-page .ce-hero__content { bottom:3rem; }
  .central-engineering-page .ce-hero h1 { font-size:clamp(2.2rem,8vw,3rem); }
  .central-engineering-page .ce-story__intro { padding-top:3.5rem; }
  .central-engineering-page .ce-story__copy h2 { font-size:2.25rem; }
  .central-engineering-page .ce-story__copy p { font-size:1rem; }
  .central-engineering-page .ce-story__product-wrap { min-height:15rem; }
  .central-engineering-page .ce-story__product { right:-.75rem; width:94vw; }
.central-engineering-page .ce-story__curves { top:28%; left:-22%; width:145%; }
  .central-engineering-page .ce-connected { margin-top:1rem; }
  .central-engineering-page .ce-connected__heading h2 { font-size:1.9rem; }
  .central-engineering-page .ce-connected__heading p { max-width:32rem; }
  .central-engineering-page .ce-cards { width:100%; margin-top:2rem; }
  .central-engineering-page .ce-cards__track { justify-content:flex-start; gap:.9rem; }
  .central-engineering-page .ce-card { flex-basis:80%; height:clamp(22rem,95vw,29rem); }
  .central-engineering-page .ce-card h3 { font-size:1.1rem; }
  .central-engineering-page .ce-cards__arrow--prev { left:-.55rem; }
  .central-engineering-page .ce-cards__arrow--next { right:-.55rem; }
  .central-engineering-page .ce-promise { font-size:1.65rem; }
  .central-engineering-page .ce-principles__panel { margin-top:2rem; padding:1rem .65rem; }
  .central-engineering-page .ce-principle { min-height:11.5rem; padding-inline:.5rem; }
  .central-engineering-page .ce-principle:nth-child(3)::after { display:block; }
  .central-engineering-page .ce-principle:nth-child(2n)::after { display:none; }
  .central-engineering-page .ce-principle h3 { font-size:.95rem; }
  .central-engineering-page .ce-principle p { font-size:.72rem; }
  .central-engineering-page .ce-industries { height:32rem; }
  .central-engineering-page .ce-industries__image { object-position:63% center; }
  .central-engineering-page .ce-industries__shade { background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.4) 75%,rgba(0,0,0,.14)); }
  .central-engineering-page .ce-industries__content { inset:15% 0 auto; }
  .central-engineering-page .ce-industries h2 { font-size:2.25rem; }
  .central-engineering-page .ce-footer { padding:2.5rem 0 1.5rem; }
  .central-engineering-page .ce-footer__main { text-align:center; }
  .central-engineering-page .ce-footer__brand img { margin:0 auto; }
  .central-engineering-page .ce-footer__nav { flex-wrap:wrap; gap:1rem 1.35rem; }
  .central-engineering-page .ce-footer__social { justify-content:center; }
  .central-engineering-page .ce-footer__copyright { margin-top:2rem; font-size:.72rem; }
}
@media (prefers-reduced-motion:reduce) {
  .central-engineering-page .ce-promise .is-animating { animation:none; color:var(--ce-ink); }
  .central-engineering-page .ce-cards__track { transition:none; }
}

/* ---------- Research & Development footprint uses the shared trust composition ---------- */
.research-development-page .expertise-trust { min-height:min(39.531vw,47.44rem); }
.research-development-page .expertise-trust__image { top:-30.49%; left:1%; width:99.31%; height:169%; object-fit:cover; }
.research-development-page .expertise-trust__heading { top:12.4%; }
.research-development-page .expertise-trust__heading p { width:min(44.1vw,53rem); margin-top:min(.85vw,1rem); }
.research-development-page .expertise-stat--engineers { top:47.43%; left:4.90%; }
.research-development-page .expertise-stat--engineers { --expertise-stat-line:min(17.81vw,21.38rem); }
.research-development-page .expertise-stat--programmes { top:66%; left:28.91%; }
.research-development-page .expertise-stat--programmes { --expertise-stat-line:min(11.82vw,14.19rem); }
.research-development-page .expertise-stat--facilities { top:48%; left:54.63%; }
.research-development-page .expertise-stat--facilities { --expertise-stat-line:min(18.99vw,22.78rem); }
.research-development-page .expertise-stat--customers { top:64.4%; left:79.63%; }
.research-development-page .expertise-stat--customers { --expertise-stat-line:min(12.45vw,14.94rem); }
@media (max-width:991.98px) {
  .research-development-page .expertise-trust { min-height:39.531vw; }
  .research-development-page .expertise-trust__heading p { width:min(78vw,36rem); }
}

/* ---------- Research & Media landing page (Figma Media Landing Page) ---------- */
.research-media-page {
  --research-media-purple: #352b46;
  --research-media-gold: #7e6131;
  margin: 0;
  overflow-x: hidden;
  color: var(--research-media-purple);
  background: #fff;
}
.research-media-page .sitemap-site-header { height: 5.3125vw; min-height: 0; }
.research-media-page .sitemap-site-header .navbar { height: 100%; min-height: 0; padding-top: 0 !important; padding-bottom: 0 !important; }
.research-media-page .sitemap-site-header .navbar > .container { height: 100%; }
.research-media-hero { position: relative; height: clamp(34rem, 47.7vw, 57.25rem); overflow: hidden; background: #0b0814; }
.research-media-hero__image,
.research-media-careers__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.research-media-hero__image { object-position: center center; }
.research-media-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(53,43,70,.03) 32%, rgba(0,0,0,.62) 100%); }
.research-media-hero__content { position: absolute; inset: auto auto clamp(6.2rem,10.4vw,12.5rem) 4.9vw; width: min(62vw,1087px); }
.research-media-hero h1 { margin: 0; color: #fff; font-family: 'Playfair Display',Georgia,serif; font-size: clamp(2.2rem,3.125vw,3.75rem); font-weight: 500; line-height: 1.22; }
.research-media-breadcrumb { position: relative; z-index: 2; height: 2.708333vw; margin-top: -.36vw; background: var(--research-media-gold); color: #fff; }
.research-media-breadcrumb__inner { display: flex; align-items: center; gap: .7rem; height: 100%; padding-inline: 4.9vw; font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.8rem,.94vw,1.125rem); font-weight: 300; }
.research-media-breadcrumb a { color: inherit; text-decoration: none; }

.research-media-news { margin-top: 6.25vw; padding-bottom: 0; }
.research-media-news__heading,
.research-media-blogs__inner > h2,
.research-media-events__inner > h2 { margin: 0; color: var(--research-media-purple); font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.75rem,2.6vw,3.125rem); font-weight: 500; line-height: 1.34; text-align: center; }
.research-media-news__layout { display: grid; grid-template-columns: minmax(0,1.845fr) minmax(0,1fr); gap: 2.98%; width: 89vw; max-width: 1707px; margin: 3.125vw 4.8vw 0 6.25vw; }
.research-media-feature-column { min-width: 0; }
.research-media-feature { position: relative; min-width: 0; aspect-ratio: 1074 / 666; overflow: hidden; border-radius: clamp(.75rem,1.05vw,1.25rem); background: var(--research-media-purple); color: #fff; }
.research-media-feature__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 31%; }
.research-media-feature__shade { position: absolute; inset: 20% 0 0; background: linear-gradient(180deg,transparent 8%,rgba(0,0,0,.76) 100%); }
.research-media-feature__copy { position: absolute; right: 5.6%; bottom: 8.5%; left: 5.6%; }
.research-media-feature__category,
.research-media-blog-card__category { margin: 0 0 .6rem; color: #b38d45; font-family: 'Inter',Arial,sans-serif; font-size: clamp(.65rem,.87vw,1rem); font-weight: 700; letter-spacing: .025em; }
.research-media-feature h3 { max-width: 82%; margin: 0 0 .55rem; color: #fff; font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.55rem,2.6vw,3.125rem); font-weight: 500; line-height: 1.14; }
.research-media-feature__summary { max-width: 76%; margin: 0; color: #fff; font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.82rem,1.04vw,1.25rem); font-weight: 300; line-height: 1.45; }
.research-media-round-link { display: inline-flex; align-items: center; justify-content: center; width: clamp(2.25rem,2.67vw,3.2rem); height: clamp(2.25rem,2.67vw,3.2rem); border: 0; border-radius: 50%; background: var(--research-media-gold); color: #fff; font: 400 clamp(1.2rem,1.45vw,1.75rem)/1 'DM Sans',Arial,sans-serif; text-decoration: none; transition: background-color .2s ease,transform .2s ease; }
.research-media-feature__copy > .research-media-round-link { position: absolute; right: 0; bottom: 0; }
.research-media-round-link:hover,
.research-media-round-link:focus-visible { transform: translateX(2px); background: #9a7940; color: #fff; }
.research-media-related { min-width: 0; padding-top: .1rem; }
.research-media-related > h3 { margin: 0 0 clamp(.65rem,.94vw,1.125rem); color: var(--research-media-purple); font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.15rem,1.4vw,1.7rem); font-weight: 500; line-height: 1.25; }
.research-media-related__list { display: grid; gap: clamp(1rem,1.12vw,1.35rem); }
.research-media-related-card { position: relative; display: grid; grid-template-columns: 34% minmax(0,1fr); gap: 6.4%; min-height: clamp(7.5rem,8.3vw,9.95rem); overflow: hidden; align-items: center; }
.research-media-related-card::after { position: absolute; top: 0; bottom: 0; left: 22.2%; width: 12.4%; background: linear-gradient(90deg,rgba(255,255,255,0),#fff 96%); content: ''; pointer-events: none; }
.research-media-related-card > img { width: 100%; height: 100%; min-height: inherit; border-radius: .5rem; object-fit: cover; }
.research-media-related-card__copy { min-width: 0; padding-right: .4rem; }
.research-media-related-card h4 { margin: 0 0 .5rem; color: var(--research-media-purple); font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.82rem,1.3vw,1.56rem); font-weight: 300; line-height: 1.2; }
.research-media-related-card a { color: var(--research-media-gold); font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.7rem,.83vw,1rem); text-decoration: none; }
.research-media-related-card a span { padding-left: .25rem; font-size: 1.15em; }

.research-media-blogs { margin-top: 6.25vw; }
.research-media-blogs__inner { width: 82.1vw; max-width: 1576px; margin-inline: auto; text-align: center; }
.research-media-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3.17%; margin: 3.6vw 0 0; text-align: left; }
.research-media-blog-card { min-width: 0; min-height: 30.05vw; max-height: 577px; overflow: hidden; border: 1px solid #c4c0c7; border-radius: clamp(.75rem,1.12vw,1.34rem); background: var(--research-media-purple); color: #fff; }
.research-media-blog-card__image-link { position: relative; display: block; width: 100%; aspect-ratio: 492 / 277; overflow: hidden; background: #171320; }
.research-media-blog-card__image-link > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.research-media-blog-card__image-link:hover > img,
.research-media-blog-card__image-link:focus-visible > img { transform: scale(1.035); }
.research-media-blog-card__image-link .research-media-round-link { position: absolute; top: clamp(1rem,1.8vw,2.15rem); right: clamp(1rem,1.8vw,2.15rem); }
.research-media-blog-card__body { padding: clamp(1.25rem,1.78vw,2.15rem) clamp(1.25rem,1.82vw,2.2rem) 1.25rem; }
.research-media-blog-card__category { margin-bottom: .65rem; font-size: clamp(.65rem,.87vw,1rem); }
.research-media-blog-card h3 { margin: 0 0 .65rem; color: #fff; font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.2rem,1.31vw,1.57rem); font-weight: 500; line-height: 1.3; }
.research-media-blog-card__body > p:last-child { margin: 0; color: rgba(255,255,255,.9); font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.78rem,.97vw,1.16rem); font-weight: 300; line-height: 1.45; }
.research-media-button { position: relative; display: inline-flex; align-items: center; min-width: 11.145833vw; height: 2.65625vw; padding: 0 1.25vw; border: 1px solid var(--research-media-gold); border-radius: 4px; background: #fff; color: var(--research-media-gold); font-family: 'DM Sans',Arial,sans-serif; font-size: 1.041667vw; font-weight: 500; text-decoration: none; transition: color .2s ease,background-color .2s ease; }
.research-media-button--wide { min-width: 13.489583vw; }
.research-media-button--compact { min-width: 10.55vw; }
.research-media-button__divider { position: absolute; top: 10%; right: 26.5%; width: 1px; height: 80%; background: var(--research-media-gold); }
.research-media-button > img { position: absolute; right: 8%; width: clamp(1.25rem,1.5vw,1.8rem); height: auto; }
.research-media-button:hover,
.research-media-button:focus-visible { background: var(--research-media-gold); color: #fff; }
.research-media-button:hover .research-media-button__divider,
.research-media-button:focus-visible .research-media-button__divider { background: #fff; }
.research-media-button:hover > img,
.research-media-button:focus-visible > img { filter: brightness(0) invert(1); }
.research-media-feature-column > .research-media-button { display: flex; width: fit-content; margin-top: .625vw; margin-left: 69.3%; }
.research-media-blogs__inner > .research-media-button { margin-top: 4.48vw; }

.research-media-events { margin-top: 6.25vw; }
.research-media-events__inner { text-align: center; }
.research-media-event-list { display: grid; gap: 2vw; width: 79.8vw; max-width: 1532px; margin: 2.92vw auto 0; text-align: left; }
.research-media-event-card { position: relative; height: 18.9vw; max-height: 363px; min-height: 15rem; overflow: hidden; border: 1px solid #c9c6cb; border-radius: clamp(.75rem,1.04vw,1.25rem); background: #fff; color: var(--research-media-purple); }
.research-media-event-card--dark { background: var(--research-media-purple); color: #fff; }
.research-media-event-card__image { position: absolute; inset: 0 auto 0 0; width: 42%; height: 100%; object-fit: cover; object-position: center 42%; }
.research-media-event-card__shade { position: absolute; inset: 0 auto 0 30%; width: 30%; background: linear-gradient(90deg,transparent 0%,#fff 94%); opacity: .99; }
.research-media-event-card--dark .research-media-event-card__shade { background: linear-gradient(90deg,transparent 0%,var(--research-media-purple) 94%); }
.research-media-event-card__date { position: absolute; top: 23%; left: 35.7%; width: 13%; margin: 0; color: inherit; font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.7rem,2.35vw,2.82rem); line-height: 1.24; }
.research-media-event-card__details { position: absolute; top: 18%; left: 54.5%; width: 31%; }
.research-media-event-card__details h3 { margin: 0 0 clamp(.65rem,.9vw,1.1rem); font-family: 'Playfair Display',Georgia,serif; font-size: clamp(1.05rem,1.4vw,1.7rem); font-weight: 500; line-height: 1.2; }
.research-media-event-card__details p,
.research-media-event-card__location { margin: 0; font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.78rem,.94vw,1.125rem); font-weight: 300; line-height: 1.45; }
.research-media-event-card__location { position: absolute; top: 61%; left: 35.9%; width: 17%; opacity: .82; }
.research-media-event-card__location span { position: relative; display: inline-block; width: .72em; height: .72em; margin: 0 .5em .1em 0; border: 1px solid currentColor; border-radius: 65% 65% 65% 0; transform: rotate(-45deg); }
.research-media-event-card__location span::after { position: absolute; top: 28%; left: 28%; width: 32%; height: 32%; border: 1px solid currentColor; border-radius: 50%; content: ''; }
.research-media-event-card__action { position: absolute; bottom: 24%; left: 66.8%; display: inline-flex; align-items: center; justify-content: center; width: clamp(2.5rem,2.5vw,3rem); height: clamp(2.5rem,2.5vw,3rem); border-radius: 50%; background: var(--research-media-gold); color: #fff; font: 400 1.25rem/1 'DM Sans',sans-serif; text-decoration: none; }
.research-media-event-card__action:hover { color: #fff; background: #9a7940; }
.research-media-events__inner > .research-media-button { margin-top: 2.35vw; }

.research-media-careers { position: relative; height: 37.55vw; max-height: 721px; min-height: 28rem; margin-top: 6.25vw; overflow: hidden; background: #08070c; color: #fff; }
.research-media-careers__image { object-position: center 52%; }
.research-media-careers__shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.76) 26%,rgba(0,0,0,.1) 58%,rgba(0,0,0,.03)); }
.research-media-careers__content { position: absolute; top: 15.65%; left: 5.05%; width: min(32vw,613px); }
.research-media-careers h2 { margin: 0 0 clamp(1rem,1.25vw,1.5rem); color: #fff; font-family: 'FONTSPRING DEMO - The Seasons','The Seasons','Playfair Display',Georgia,serif; font-size: clamp(2rem,2.6vw,3.125rem); font-weight: 700; line-height: 1.2; }
.research-media-careers__content > p { max-width: 457px; margin: 0 0 clamp(1.25rem,1.56vw,1.875rem); color: #fff; font-family: 'DM Sans',Arial,sans-serif; font-size: clamp(.95rem,1.15vw,1.375rem); font-weight: 300; line-height: 1.4; }
.research-media-button--light { color: var(--research-media-gold); }

.research-media-page .research-media-footer { position: relative; height: 22.6vw; min-height: 0; max-height: 434px; overflow: hidden; background: #000; color: #fff; }
.research-media-footer__inner { position: relative; width: 84%; height: 100%; margin-inline: auto; }
.research-media-footer__brand { position: absolute; top: 14.5%; left: 0; display: block; width: clamp(7.25rem,8.18vw,9.82rem); }
.research-media-footer__brand img { display: block; width: 100%; height: auto; }
.research-media-page .research-media-footer .site-footer__nav { position: absolute; top: 22.6%; left: 30%; gap: clamp(1rem,2.5vw,3rem); }
.research-media-page .research-media-footer .site-footer__nav a { font-size: clamp(.8rem,.94vw,1.125rem); }
.research-media-page .research-media-footer .site-footer__social { position: absolute; top: 21%; right: 0; gap: clamp(.5rem, .9vw, 1.1rem); }
.research-media-page .research-media-footer .site-footer__social a,
.research-media-page .research-media-footer .site-footer__social li > span { width: clamp(2.1rem,2.58vw,3.1rem); height: clamp(2.1rem,2.58vw,3.1rem); }
.research-media-page .research-media-footer .site-footer__copyright { position: absolute; top: 49.8%; left: 50%; margin: 0; transform: translateX(-50%); color: #fff; font-size: clamp(.75rem,.94vw,1.125rem); white-space: nowrap; }

@media (max-width: 1199.98px) {
  .research-media-breadcrumb { height: 2.7rem; margin-top: -.35rem; }
  .research-media-button { min-width: 12rem; min-height: 44px; height: auto; padding-block: .65rem; font-size: .95rem; }
  .research-media-button--wide { min-width: 14rem; }
  .research-media-button--compact { min-width: 11.5rem; }
  .research-media-feature-column > .research-media-button { margin-top: .75rem; margin-left: auto; }
  .research-media-page .sitemap-site-header { height: 76px; min-height: 76px; }
  .research-media-page .sitemap-site-header .navbar > .container { min-height: 76px; }
  .research-media-news { margin-top: 4rem; padding-bottom: 3.5rem; }
  .research-media-news__layout { grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr); gap: 1.5rem; width: 92%; margin: 2.5rem auto 0; }
  .research-media-feature { min-height: 28rem; aspect-ratio: auto; }
  .research-media-related-card { min-height: 7.25rem; gap: 1rem; }
  .research-media-related-card h4 { font-size: .9rem; }
  .research-media-blog-grid { gap: 1.25rem; margin-top: 2.5rem; }
  .research-media-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .research-media-blog-card { min-height: 31rem; max-height: none; }
  .research-media-blog-card__body { padding: 1.5rem; }
  .research-media-event-list { width: 90%; margin-top: 2.5rem; }
  .research-media-event-card { height: 21rem; max-height: none; }
  .research-media-event-card__date { left: 34%; width: 17%; }
  .research-media-event-card__location { left: 34%; width: 19%; }
  .research-media-event-card__details { left: 55%; width: 34%; }
  .research-media-event-card__action { left: 68%; }
  .research-media-page .research-media-footer { height: auto; min-height: 18rem; max-height: none; }
  .research-media-footer__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; gap: 1.5rem; width: 88%; height: auto; padding: 2.5rem 0; }
  .research-media-footer__brand,
  .research-media-page .research-media-footer .site-footer__nav,
  .research-media-page .research-media-footer .site-footer__social,
  .research-media-page .research-media-footer .site-footer__copyright { position: static; transform: none; }
  .research-media-page .research-media-footer .site-footer__nav { grid-column: 1; flex-wrap: wrap; gap: .8rem 1.1rem; }
  .research-media-page .research-media-footer .site-footer__social { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .research-media-page .research-media-footer .site-footer__copyright { grid-column: 1 / -1; margin: 0; text-align: center; }
}
@media (max-width: 767.98px) {
  .research-media-page main { width: 100vw !important; max-width: 100vw !important; }
  .research-media-page main > section { width: 100vw; max-width: 100vw; overflow-x: clip; }
  .research-media-page .navbar-toggler { display: block; margin-left: auto; border: 1px solid rgba(32,24,45,.22); }
  .research-media-page .navbar-toggler-icon { background: linear-gradient(#20182d 0 0) top/100% 2px no-repeat,linear-gradient(#20182d 0 0) center/100% 2px no-repeat,linear-gradient(#20182d 0 0) bottom/100% 2px no-repeat; }
  .research-media-page main,
  .research-media-news,
  .research-media-blogs,
  .research-media-events { width: 100%; max-width: 100vw; }
  .research-media-hero { height: min(82svh,42rem); min-height: 32rem; }
  .research-media-hero__image { object-position: 60% center; }
  .research-media-hero__content { right: 1.25rem; bottom: 5rem; left: 1.25rem; width: auto; }
  .research-media-hero h1 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(1.25rem,6.5vw,2.25rem); line-height: 1.25; }
  .research-media-hero h1 > span:nth-of-type(2) { display: block; }
  .research-media-breadcrumb__inner { padding-inline: 1.25rem; }
  .research-media-news { margin-top: 3rem; padding-bottom: 0; }
  .research-media-news__heading,
  .research-media-blogs__inner > h2,
  .research-media-events__inner > h2 { box-sizing: border-box; width: 100%; max-width: 100%; padding-inline: 1rem; font-size: clamp(1.7rem,7vw,2.35rem); overflow-wrap: anywhere; white-space: normal; }
  .research-media-news__layout { box-sizing: border-box; display: flex; flex-direction: column; gap: 2rem; width: calc(100vw - 2.5rem) !important; max-width: calc(100vw - 2.5rem) !important; margin: 2rem 1.25rem 0 !important; }
  .research-media-feature-column,
  .research-media-feature,
  .research-media-related { box-sizing: border-box; flex: 0 0 100%; width: 100% !important; max-width: 100% !important; }
  .research-media-feature-column,
  .research-media-feature { box-sizing: border-box; }
  .research-media-feature { width: 100% !important; min-height: 31rem; }
  .research-media-feature__copy { bottom: 7%; }
  .research-media-feature h3 { max-width: 88%; font-size: clamp(1.65rem,7vw,2.2rem); }
  .research-media-feature__summary { max-width: 90%; font-size: .95rem; }
  .research-media-feature-column > .research-media-button { margin-inline: auto; }
  .research-media-related-card { width: 100%; min-width: 0; min-height: 7.5rem; grid-template-columns: minmax(0,33%) minmax(0,1fr); gap: .85rem; }
  .research-media-related-card > img { min-width: 0; }
  .research-media-related-card__copy { min-width: 0; overflow-wrap: anywhere; }
  .research-media-related-card h4 { font-size: .94rem; }
  .research-media-blogs,
  .research-media-events,
  .research-media-careers { margin-top: 4.5rem; }
  .research-media-blogs__inner { box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-inline: 0; padding-inline: 1.25rem; }
  .research-media-blog-grid { box-sizing: border-box; width: 100% !important; grid-template-columns: minmax(0,1fr); gap: 1.25rem; margin: 2rem 0 0; }
  .research-media-blog-grid > .research-media-blog-card { box-sizing: border-box; min-width: 0; width: 100% !important; max-width: 100% !important; flex: none; }
  .research-media-blog-card { box-sizing: border-box; min-height: 0; overflow-x: clip; }
  .research-media-blog-card__image-link { aspect-ratio: 1.78; }
  .research-media-blog-card__body { padding: 1.35rem 1.45rem 1.6rem; }
  .research-media-blog-card h3 { font-size: 1.3rem; }
  .research-media-blog-card h3,
  .research-media-blog-card__body > p { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  .research-media-blog-card__body > p:last-child { font-size: .95rem; }
  .research-media-blogs__inner > .research-media-button { margin-top: 2rem; }
  .research-media-events__inner { box-sizing: border-box; width: 100%; padding-inline: 1.25rem; }
  .research-media-event-list { box-sizing: border-box; width: 100% !important; max-width: 100%; margin: 2rem 0 0; gap: 1rem; }
  .research-media-event-card { width: 100% !important; max-width: 100%; box-sizing: border-box; height: auto; min-height: 29rem; padding-top: 13rem; }
  .research-media-event-card__image { width: 100%; height: 13.5rem; }
  .research-media-event-card__shade { inset: 7rem 0 auto; width: 100%; height: 6.5rem; background: linear-gradient(180deg,transparent,#fff 92%); }
  .research-media-event-card--dark .research-media-event-card__shade { background: linear-gradient(180deg,transparent,var(--research-media-purple) 92%); }
  .research-media-event-card__date { top: 13.5rem; left: 1.25rem; width: 28%; font-size: 1.65rem; }
  .research-media-event-card__details { top: 15rem; left: 37%; width: 58%; }
  .research-media-event-card__details h3 { font-size: 1.2rem; }
  .research-media-event-card__details p { font-size: .86rem; }
  .research-media-event-card__location { top: auto; bottom: 1.2rem; left: 1.25rem; width: 62%; font-size: .85rem; }
  .research-media-event-card__action { right: 1.25rem; bottom: 1rem; left: auto; }
  .research-media-events__inner > .research-media-button { margin-top: 1.75rem; }
  .research-media-careers { min-height: 32rem; height: 75vw; max-height: 38rem; }
  .research-media-careers__image { object-position: 68% center; }
  .research-media-careers__shade { background: linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.55) 64%,rgba(0,0,0,.2)); }
  .research-media-careers__content { top: 13%; right: 1.25rem; left: 1.25rem; width: auto; }
  .research-media-careers h2 { font-size: 2.3rem; }
  .research-media-careers__content > p { max-width: 23rem; font-size: 1rem; }
  .research-media-page .research-media-footer { height: auto; min-height: 0; max-height: none; padding: 2.5rem 0 1.5rem; }
  .research-media-footer__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 1.65rem; width: auto; height: auto; margin-inline: 1.25rem; }
  .research-media-footer__brand,
  .research-media-page .research-media-footer .site-footer__nav,
  .research-media-page .research-media-footer .site-footer__social,
  .research-media-page .research-media-footer .site-footer__copyright { position: static; transform: none; }
  .research-media-footer__brand { width: 8rem; }
  .research-media-page .research-media-footer .site-footer__nav { flex-wrap: wrap; gap: .8rem 1.1rem; }
  .research-media-page .research-media-footer .site-footer__social { margin-top: 0; }
  .research-media-page .research-media-footer .site-footer__copyright { margin: 0; text-align: left; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .research-media-page *, .research-media-page *::before, .research-media-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Keep deliberately oversized artwork and slider tracks from expanding the
   mobile layout viewport on the three routes verified with horizontal scroll. */
@media (max-width: 767.98px) {
  html.mobile-overflow-guard { overflow-x: hidden; }

  body.joint-page,
  body.expertise-page,
  body.research-development-page,
  body.smart-factories-page {
    box-sizing: border-box;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .sf-footer .site-footer__nav {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem 1rem;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .contact-page .contact-enquiry__heading {
    max-width: min(86vw, 61.35vw);
    white-space: normal;
  }

  .joint-page .joint-cta {
    width: 100%;
    height: clamp(28rem, 65vw, 40rem);
    min-height: 0;
    aspect-ratio: auto;
  }

  .research-development-page .expertise-trust__stats {
    position: absolute;
    inset: auto 5% 2rem;
    display: grid;
    width: auto;
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 2rem;
    padding: 0;
  }

  .research-development-page .expertise-trust__stats .expertise-stat {
    position: relative;
    inset: auto;
    min-width: 0;
    min-height: 9rem;
    padding-left: clamp(3rem, 5vw, 4rem);
  }

  .research-development-page .rd-platforms__arrow--left { left: 0; }
  .research-development-page .rd-platforms__arrow--right { right: 0; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .joint-page .joint-cta {
    width: 100%;
    height: clamp(30rem, 42vw, 40rem);
    min-height: 0;
    aspect-ratio: auto;
  }
}

@media (max-width: 1199.98px) {
  html.mobile-overflow-guard { overflow-x: hidden; }
}

@media (max-width: 575.98px) {
  .joint-page .joint-cta {
    width: 100%;
    min-height: 0;
  }

  .research-development-page .rd-platforms__arrow--left { left: 0; }
  .research-development-page .rd-platforms__arrow--right { right: 0; }

  .research-development-page .expertise-trust__stats {
    position: absolute;
    inset: auto 1rem 2rem;
    display: grid;
    width: auto;
    height: auto;
    grid-template-columns: 1fr;
    gap: .65rem;
    padding: 0;
  }

  .research-development-page .expertise-trust__stats .expertise-stat {
    position: relative;
    inset: auto;
    min-width: 0;
    min-height: 6.75rem;
    padding-left: 2.8rem;
  }
}

/* ---------- Shared sitemap dropdown menu (hover on desktop, explicit toggle on touch) ---------- */
.navbar .nav-item.dropdown { position: relative; }
.navbar .dropdown-toggle::after { display: none; }

.navbar .nav-item.dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1.25rem;
}

.navbar .nav-item.dropdown > .dropdown-menu {
  position: absolute;
  inset: calc(100% + 1.25rem) auto auto 0;
  z-index: 1030;
  display: none;
  width: max-content;
  min-width: 14.1rem;
  max-width: min(22rem, calc(100vw - 2rem));
  margin: 0;
  padding: .72rem 0;
  border: 0;
  border-radius: 12px;
  background: rgba(55, 46, 65, .84);
  box-shadow: none;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.navbar .nav-item.dropdown:hover > .dropdown-menu,
.navbar .nav-item.dropdown:focus-within > .dropdown-menu,
.navbar .nav-item.dropdown.is-open > .dropdown-menu { display: block; }

.navbar .dropdown-item {
  padding: .43rem 1.25rem;
  color: #fff;
  font-family: 'Inter', Arial, sans-serif;
  font-size: .94rem;
  line-height: 1.35;
  white-space: normal;
  transition: background-color .18s ease, color .18s ease;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item.active {
  color: #fff;
  background: rgba(255, 255, 255, .13);
}

.navbar .dropdown-submenu-toggle {
  display: none;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #7e6131;
  background: transparent;
}

.navbar .dropdown-submenu-toggle span {
  width: .48rem;
  height: .48rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}

.navbar .nav-item.dropdown.is-open > .dropdown-submenu-toggle span {
  transform: rotate(225deg) translate(-1px, -1px);
}

@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-nav .nav-item.dropdown {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .navbar-expand-xl .navbar-nav .nav-item.dropdown > .nav-link { grid-column: 1; grid-row: 1; }
  .navbar-expand-xl .navbar-nav .nav-item.dropdown > .dropdown-submenu-toggle { display: inline-flex; grid-column: 2; grid-row: 1; }

  .navbar-expand-xl .navbar-nav .nav-item.dropdown > .dropdown-menu {
    position: static;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: .25rem 0 .45rem;
    padding: .4rem 0;
    border-radius: 10px;
    background: rgba(55, 46, 65, .94);
  }

  .navbar-expand-xl .navbar-nav .nav-item.dropdown::after { display: none; }
  .navbar-expand-xl .navbar-nav .dropdown-item { padding-left: 1rem; padding-right: 1rem; }
}

@media (hover: none) and (min-width: 1200px) {
  .navbar .dropdown-submenu-toggle { display: inline-flex; }
}
