/* Design tokens loaded via visy-tokens enqueue (see inc/enqueue.php). */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-navy);
  background: var(--color-white);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-semibold);
}

img, video {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

ul, ol {
  list-style: none;
}

button {
  font-family: inherit;
  border: none;
  background: none;
  cursor: pointer;
}

.container {
  width: 100%;
  max-width: calc(var(--container-max-width) + var(--container-padding-desktop) * 2);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-desktop);
  padding-right: var(--container-padding-desktop);
}
@media (max-width: 1024px) {
  .container {
   /* padding-left: var(--container-padding-tablet);
    padding-right: var(--container-padding-tablet);*/
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 575px) {
  .container {
    padding-left: var(--container-padding-mobile);
    padding-right: var(--container-padding-mobile);
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
}
.row--nowrap {
  flex-wrap: nowrap;
}
.row--center {
  align-items: center;
}
.row--end {
  align-items: flex-end;
}
.row--start {
  align-items: flex-start;
}
.row--between {
  justify-content: space-between;
}
.row--stretch {
  align-items: stretch;
}
.row--gap-xs {
  gap: var(--spacing-1);
}
.row--gap-sm {
  gap: var(--spacing-2);
}
.row--gap-md {
  gap: var(--spacing-5);
}
.row--gap-lg {
  gap: var(--spacing-10);
}
.row--gap-xl {
  gap: var(--spacing-14);
}

.col {
  flex: 1 0 0;
  min-width: 0;
}
.col--auto {
  flex: 0 0 auto;
  width: auto;
}
.col--3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col--4 {
  flex: 0 0 33.333%;
  max-width: 33.333%;
}
.col--5 {
  flex: 0 0 41.667%;
  max-width: 41.667%;
}
.col--6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col--7 {
  flex: 0 0 58.333%;
  max-width: 58.333%;
}
.col--8 {
  flex: 0 0 66.667%;
  max-width: 66.667%;
}
.col--9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col--12 {
  flex: 0 0 100%;
  max-width: 100%;
}
.col--stretch {
  align-self: stretch;
}
.col--center {
  align-self: center;
}

.grid {
  display: grid;
}
.grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid--gap-sm {
  gap: var(--spacing-2);
}
.grid--gap-md {
  gap: var(--spacing-5);
}
.grid--gap-lg {
  gap: var(--spacing-10);
}
.grid--gap-xl {
  gap: var(--spacing-14);
}

.section {
  width: 100%;
  position: relative;
}
.section--padded {
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}
.section--bg-white {
  background: var(--color-white);
}
.section--bg-blue {
  background: var(--color-blue);
}
.section--bg-gray {
  background: var(--color-gray-100);
}
.section--bg-dark {
  background: var(--color-gray-800);
}
.section--bg-darkest {
  background: var(--color-surface-dark);
}

.text-white {
  color: var(--color-white);
}

.text-white-80 {
  color: var(--color-white-80);
}

.text-blue {
  color: var(--color-blue);
}

.text-orange {
  color: var(--color-orange);
}

.text-navy {
  color: var(--color-navy);
}

.text-gray {
  color: var(--color-gray-secondary);
}

.bg-white {
  background-color: var(--color-white);
}

.bg-blue {
  background-color: var(--color-blue);
}

.bg-gray-100 {
  background-color: var(--color-gray-100);
}

.bg-dark {
  background-color: var(--color-surface-dark);
}

.fw-regular {
  font-weight: var(--font-weight-regular);
}

.fw-medium {
  font-weight: var(--font-weight-medium);
}

.fw-semibold {
  font-weight: var(--font-weight-semibold);
}

.fw-bold {
  font-weight: var(--font-weight-bold);
}

.text-center {
  text-align: center;
}

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

.d-flex {
  display: flex;
}

.d-grid {
  display: grid;
}

.d-block {
  display: block;
}

.d-none {
  display: none;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mt-0 {
  margin-top: 0;
}

.icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.icon--sm {
  width: 16px;
  height: 16px;
}

.icon--lg {
  width: 32px;
  height: 32px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  padding: var(--spacing-3);
  border-radius: var(--radius-button);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  white-space: nowrap;
  cursor: pointer;
  border: none;
  text-decoration: none;
}
.btn span {
  padding: 0 var(--spacing-1);
}
.btn .icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.btn--primary,
.btn-primary {
  background: var(--color-blue);
  color: var(--color-white);
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.btn--orange {
  background: var(--color-orange);
  color: var(--color-gray-900);
}
.btn--outline {
  background: var(--color-white);
  color: #121217;
  border: 1px solid var(--color-border-neutral);
  box-shadow: var(--shadow-xs);
}
.btn--ghost {
  background: transparent;
  color: var(--color-white);
}

/* Brand blue (#001489) + white text — hover to navy (Figma). */
.btn--primary:hover,
.btn--primary:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--color-brand-navy, #102c4f);
  color: var(--color-white);
  border-color: var(--color-brand-navy, #102c4f);
}

.btn-orange {
  background: var(--color-orange);
  color: var(--color-gray-900);
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Header & footer CTAs: Bootstrap .btn:hover can clear background without a BS variant */
.primary-nav__cta.btn-orange:hover,
.primary-nav__cta.btn-orange:focus-visible,
.mobile-nav__cta.btn-orange:hover,
.mobile-nav__cta.btn-orange:focus-visible,
.footer-cta-band__button.btn-orange:hover,
.footer-cta-band__button.btn-orange:focus-visible {
  /*background-color: #102C4F !important;*/
  background-color: #001489 !important;
  color: #FFFFFF !important;
  border-color: var(--color-white) !important;
}

/* phone.svg uses black stroke; as <img> it won't follow button color — white on hover */
.primary-nav__cta.btn-orange:hover .primary-nav__cta-icon,
.primary-nav__cta.btn-orange:focus-visible .primary-nav__cta-icon,
.mobile-nav__cta.btn-orange:hover .primary-nav__cta-icon,
.mobile-nav__cta.btn-orange:focus-visible .primary-nav__cta-icon {
  filter: brightness(0) invert(1);
}

.btn-outline {
  background: var(--color-white);
  color: #121217;
  border: 1px solid var(--color-border-neutral);
  box-shadow: var(--shadow-xs);
}

.divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-divider);
}
.divider--light {
  background: var(--color-white-20);
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: transform 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
  will-change: transform;
}

/* Auto-hide on scroll: fixed bar slides up; body.header-scroll-hidden restores on scroll up */
@media (min-width: 1025px) {
  .site-header {
    position: fixed;
  }
}

/* Overlay header (hero / transparent): solid white bar once scrolled or search open */
.site-header--overlay:not(.site-header--scrolled) {
  background: transparent;
  box-shadow: none;
}

body.header-scroll-hidden .site-header {
  transform: translateY(-100%);
  pointer-events: none;
}

html.has-fixed-header-offset .site-main {
  padding-top: var(--visy-fixed-header-height, 0px);
}

/* `#main` in header.php already receives the offset; nested `.site-main` wrappers must not double it. */
html.has-fixed-header-offset main.site-main > .site-main {
  padding-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .mobile-nav {
    transition: none;
  }
}

.utility-bar {
  width: 100%;
  height: 48px;
}
.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  position: relative;
}
.utility-bar__inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--container-padding-desktop);
  right: var(--container-padding-desktop);
  height: 1px;
  background: var(--color-white-40);
}
.utility-bar__inner.container {
  border-bottom: none;
}
.utility-bar__inner.container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--container-padding-desktop);
  right: var(--container-padding-desktop);
  height: 1px;
  background: var(--color-white-40);
}

/* Utility + primary nav: full viewport width between desktop nav and container lock (1025–1200px) */
@media (min-width: 1025px) and (max-width: 1200px) {
  .utility-bar__inner.container,
  .primary-nav__inner.container {
    max-width: none;
    width: 100%;
    padding-left: var(--container-padding-desktop);
    padding-right: var(--container-padding-desktop);
  }

  .utility-bar__inner.container::after {
    left: var(--container-padding-desktop);
    right: var(--container-padding-desktop);
  }
}

.utility-bar__links {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.utility-bar__link {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: var(--spacing-1) var(--spacing-2);
  border-radius: var(--radius-button);
  color: var(--color-white);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
}
.utility-bar__link-text {
  padding: 0 var(--spacing-1);
}
.utility-bar__link-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.utility-bar__portal {
  display: flex;
  align-items: center;
  border-left: 1px solid var(--color-white-50);
  padding-top: 8px;
  padding-bottom: 8px;
  height: 48px;
}

.utility-links {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.utility-link {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: var(--spacing-1) var(--spacing-2);
  border-radius: var(--radius-button);
  color: var(--color-white);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
}
.utility-link--search {
  border: none;
  background: transparent;
}

.utility-link--portal {
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: var(--font-weight-semibold);
}
.utility-link__text {
  padding: 0 var(--spacing-1);
}

.utility-link:hover .utility-link__text,
.utility-link:focus-visible .utility-link__text {
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.utility-link__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.utility-link__icon--stroke {
  color: currentColor;
}

.utility-link__icon--stroke path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.utility-link--external {
  gap: var(--spacing-1);
}

.utility-link__icon--external {
  width: 20px;
  height: 20px;
}

.utility-links__divider {
  width: 1px;
  height: 48px;
  background: var(--color-white-50);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}

.utility-links__portal {
  display: flex;
  align-items: center;
  border-left: 1px solid var(--color-white-50);
  padding-left: 0;
  height: 48px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.country-selector {
  display: flex;
  align-items: center;
  gap: 0;
  padding: var(--spacing-1) 0;
  border-radius: var(--radius-button);
  color: var(--color-white);
}
.country-selector-wrap {
  position: relative;
}
.country-selector-wrap .country-selector {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.country-selector__flag {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-3xl);
  overflow: hidden;
  flex-shrink: 0;
}
.country-selector__flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.country-selector__label {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  padding: 0 var(--spacing-1);
}
.country-selector__chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.country-selector-wrap.is-open .country-selector__chevron {
  transform: rotate(180deg);
}
.country-selector__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  background: var(--color-white);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(10, 20, 40, 0.22);
  z-index: 40;
  padding: 6px;
}
.country-selector__option {
  display: flex;
  align-items: center;
  gap: 0;
  color: var(--color-text-dark, #1f2333);
  border-radius: 8px;
  padding: 6px 8px;
  text-decoration: none;
}
.country-selector__option .country-selector__label {
  color: inherit;
}
.country-selector__option:hover,
.country-selector__option:focus-visible {
  background: #f2f4fb;
}
.country-selector__option:focus-visible {
  outline: 2px solid #5b7fff;
  outline-offset: 1px;
}

.nav-primary {
  width: 100%;
  height: 102px;
}
.nav-primary__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 102px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--spacing-8);
}
.nav-primary__logo {
  width: 108px;
  flex-shrink: 0;
  padding: var(--spacing-4) 0;
}
.nav-primary__logo img {
  width: 108px;
  height: 70px;
  display: block;
}
.nav-primary__tabs {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  height: 100%;
}
.nav-primary__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  padding: var(--spacing-2) var(--spacing-3) var(--spacing-4);
  color: var(--color-white);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-lg);
  white-space: nowrap;
  height: 100%;
}
.nav-primary__cta {
  flex-shrink: 0;
}

.primary-nav {
  width: 100%;
  min-height: 86px;
  height: auto;
}
.primary-nav__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-2) var(--spacing-4);
  min-height: 102px;
  height: auto;
  box-sizing: border-box;
}
.primary-nav__logo,
.primary-nav__logo--adaptive {
  width: 108px;
  flex: 0 0 auto;
  flex-shrink: 0;
  align-self: stretch;
  padding: var(--spacing-2) 0;
}

.primary-nav__logo img {
  width: 108px;
  height: 70px;
  display: block;
}

/* Secondary / unwrapped logos (no .primary-nav__logo span) */
.primary-nav__inner > .custom-logo-link {
  flex: 0 0 auto;
  flex-shrink: 0;
  align-self: center;
  padding: var(--spacing-4) 0;
}

.primary-nav__inner > .custom-logo-link,
.primary-nav__inner > .custom-logo-link .custom-logo {
  flex-shrink: 0;
}

.primary-nav__inner > .custom-logo-link .custom-logo {
  width: 108px;
  height: auto;
  max-width: 108px;
  display: block;
}

.primary-nav__tabs {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: stretch;
  align-self: stretch;
  justify-content: flex-start;
  gap: var(--spacing-1);
  min-width: 0;
  height: auto;
  margin: 0;
  padding: var(--spacing-1) 0;
}
.primary-nav__cta {
  flex: 0 0 auto;
  flex-shrink: 0;
  margin-left: auto;
  align-self: center;
}

.nav-tab {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  min-width: 0;
  padding: var(--spacing-2) var(--spacing-1) var(--spacing-3);
  color: var(--color-white);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-lg);
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
  height: auto;
  box-sizing: border-box;
  text-decoration: none;
}

@media (min-width: 1280px) {
  .primary-nav__tabs {
    gap: var(--spacing-2);
  }

  .nav-tab {
    flex: 0 1 auto;
    white-space: nowrap;
    padding: var(--spacing-2) var(--spacing-3);
  }
}
.nav-tab:hover,
.nav-tab:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--color-white);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.nav-tab:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
.nav-tab--active {
  color: var(--color-white);
}
.nav-tab--active::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--color-orange);
}

/* Solid header: secondary (detail) pages + overlay pages after scroll / search open */
.site-header--secondary,
.site-header.site-header--scrolled {
  background: var(--color-white);
  box-shadow: var(--shadow-xs);
}

.site-header--secondary .utility-bar,
.site-header.site-header--scrolled .utility-bar {
  height: auto;
}

.site-header--secondary .utility-bar__inner::after,
.site-header--secondary .utility-bar__inner.container::after,
.site-header.site-header--scrolled .utility-bar__inner::after,
.site-header.site-header--scrolled .utility-bar__inner.container::after {
  background: var(--color-border-neutral);
}

.site-header--secondary .country-selector,
.site-header--secondary .country-selector__label,
.site-header--secondary .utility-link,
.site-header.site-header--scrolled .country-selector,
.site-header.site-header--scrolled .country-selector__label,
.site-header.site-header--scrolled .utility-link {
  color: #121217;
}

.site-header--secondary .utility-link__icon,
.site-header.site-header--scrolled .utility-link__icon {
  filter: none;
}

.site-header--secondary .utility-links__portal,
.site-header--secondary .utility-bar__portal,
.site-header.site-header--scrolled .utility-links__portal,
.site-header.site-header--scrolled .utility-bar__portal {
  border-left-color: var(--color-border-neutral);
}

.site-header--overlay:not(.site-header--scrolled) .country-selector__chevron--on-light {
  display: none;
}

.site-header--overlay.site-header--scrolled .country-selector__chevron--on-dark {
  display: none;
}

.site-header--overlay:not(.site-header--scrolled) .custom-logo-link--dark {
  display: none;
}

.site-header--overlay.site-header--scrolled .custom-logo-link--light {
  display: none;
}

.site-search-bar {
  width: 100%;
  background: #0f172a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-search-bar__inner {
  min-height: 59px;
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}

.site-search-bar__field {
  flex: 1 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-3);
}

.site-search-bar__icon {
  width: 24px;
  height: 24px;
}

.site-search-bar__input {
  width: 100%;
  background: transparent;
  border: none;
  color: var(--color-white);
  font-size: var(--font-size-lg);
  line-height: 24px;
}

.site-search-bar__input::placeholder {
  color: var(--color-white-80);
}

.site-search-bar__input:focus-visible {
  outline: none;
}

.site-search-bar__close {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 32px;
  line-height: 1;
  background: transparent;
  border: none;
}

/* Desktop search open: orange icon inside search field (all header variants) */
body.site-search-open .site-search-bar__icon {
  filter: brightness(0) saturate(100%) invert(63%) sepia(79%) saturate(2476%) hue-rotate(346deg) brightness(101%) contrast(101%);
}

/* Transparent header: orange Search link + trigger icon when search is open */
body.site-search-open .site-header--overlay .utility-link--search {
  color: var(--color-orange, #ff8736);
}

/* Client portal slide-out (Figma 1696:24900) */
body.client-portal-open {
  overflow: hidden;
}

.client-portal-drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0.3s ease;
}

.client-portal-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.client-portal-drawer__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.client-portal-drawer.is-open .client-portal-drawer__backdrop {
  opacity: 1;
}

.client-portal-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: min(352px, 100vw);
  height: 100%;
  max-height: 100dvh;
  background: var(--color-white);
  box-shadow: -8px 0 32px rgba(10, 20, 40, 0.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.client-portal-drawer.is-open .client-portal-drawer__panel {
  transform: translateX(0);
}

.client-portal-drawer__top {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  padding: 20px;
}

.client-portal-drawer__close {
  width: 44px;
  height: 44px;
  margin: -10px -10px -10px 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-button);
}

.client-portal-drawer__close svg {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.client-portal-drawer__close:focus-visible {
  outline: 2px solid var(--color-orange);
  outline-offset: 2px;
}

.client-portal-drawer__title {
  margin: 0;
  padding: 0 20px 8px;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: 24px;
  color: #475569;
}

.client-portal-drawer__nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.client-portal-drawer__links {
  display: flex;
  flex-direction: column;
}

.client-portal-drawer__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 20px;
  text-decoration: none;
  color: var(--color-navy, #102c4f);
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  line-height: 28px;
  border-bottom: 1px solid #d1d1db;
  transition: background-color 0.15s ease, text-decoration-color 0.15s ease;
}

.client-portal-drawer__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  background: var(--color-orange, #ff8736);
  transition: width 0.15s ease;
}

.client-portal-drawer__link-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.client-portal-drawer__link-text {
  flex: 1 1 auto;
  min-width: 0;
}

.client-portal-drawer__link:hover,
.client-portal-drawer__link:focus-visible {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%), #f1f5f9;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.client-portal-drawer__link:hover::after,
.client-portal-drawer__link:focus-visible::after,
.client-portal-drawer__link--current::after {
  width: 8px;
}

.client-portal-drawer__link--current {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%), #f1f5f9;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.client-portal-drawer__link:focus-visible {
  outline: none;
}

.site-header--secondary .primary-nav,
.site-header.site-header--scrolled .primary-nav {
  height: auto;
}

.site-header--secondary .primary-nav__tabs,
.site-header.site-header--scrolled .primary-nav__tabs {
  align-items: stretch;
  align-self: stretch;
}

.site-header--secondary .nav-tab,
.site-header.site-header--scrolled .nav-tab {
  color: var(--color-navy);
  padding-bottom: var(--spacing-2);
}

.site-header--secondary .nav-tab:hover,
.site-header--secondary .nav-tab:focus-visible,
.site-header.site-header--scrolled .nav-tab:hover,
.site-header.site-header--scrolled .nav-tab:focus-visible {
  text-decoration-color: var(--color-navy);
}

.site-header--secondary .nav-tab:focus-visible,
.site-header.site-header--scrolled .nav-tab:focus-visible {
  outline-color: var(--color-navy);
}

.site-header--secondary .nav-tab--active,
.site-header.site-header--scrolled .nav-tab--active {
  color: var(--color-navy);
}

.site-header--secondary .nav-tab--active::before,
.site-header.site-header--scrolled .nav-tab--active::before {
  height: 4px;
}

.mobile-nav {
  display: none;
}

.card {
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.card__image {
  width: 100%;
  aspect-ratio: 588/331;
  overflow: hidden;
}
.card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  padding: var(--spacing-5);
}
.card__heading {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.card__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}
.card__description {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-gray-600);
}
.card--featured {
  flex-direction: row;
  align-items: center;
}
.card--featured .card__image {
  flex: 1 0 0;
  min-width: 0;
}
.card--featured .card__content {
  flex: 1 0 0;
  min-width: 0;
  padding: 0 var(--spacing-10);
}
.card--featured .card__title {
  font-size: var(--font-size-display-md);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-md);
  letter-spacing: var(--letter-spacing-md);
  color: var(--color-blue);
}
.card--featured .card__description {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}

.pagination {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  background: var(--color-blue);
  padding: var(--spacing-1);
  border-radius: var(--radius-3xl);
}
.pagination__arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  cursor: pointer;
}
.pagination__dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-button);
  background: var(--color-white-50);
}
.pagination__dot--active {
  background: var(--color-white);
}

.footer-cta-band {
  width: 100%;
  background: var(--color-gray-900);
}
.footer-cta-band__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--spacing-6);
  min-height: 224px;
  padding-top: var(--spacing-6);
  padding-bottom: var(--spacing-6);
  overflow: hidden;
}
.footer-cta-band__text {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  position: relative;
  z-index: 2;
}
.footer-cta-band__heading {
  margin: 0;
  font-size: 48px;
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-sm);
  letter-spacing: var(--letter-spacing-md);
  color: var(--color-orange);
}
.footer-cta-band__description {
  margin: 0;
  max-width: 760px;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-white);
}
.footer-cta-band__button {
  position: relative;
  z-index: 3;
  flex-shrink: 0;
}
.footer-cta-band__decor {
  position: absolute;
  right: var(--container-padding-desktop);
  bottom: -99px;
  width: 421px;
  height: 244px;
  pointer-events: none;
  opacity: 1;
  z-index: 1;
}
.footer-cta-band__graph {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  max-width: none;
}
.footer-cta-band__graph--1 {
  right: 84px;
  bottom: 31px;
  width: 380px;
  height: 244px;
}
.footer-cta-band__graph--2 {
  right: 50px;
  bottom: 0;
  width: 421px;
  height: 228px;
}
@media (max-width: 1024px) {
  .footer-cta-band__decor {
    right: var(--container-padding-tablet);
  }
  .footer-cta-band__inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 0;
    gap: var(--spacing-5);
  }
  .footer-cta-band__description {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .footer-cta-band__button {
    margin-top: var(--spacing-2);
  }
}
@media (max-width: 767px) {
  .footer-cta-band__inner {
    align-items: center;
    text-align: center;
  }
  .footer-cta-band__text {
    align-items: center;
    text-align: center;
  }
  .footer-cta-band__heading {
    font-size: var(--font-size-display-xs, 36px);
    line-height: 1.2;
    letter-spacing: -0.8px;
  }
  .footer-cta-band__description {
    max-width: 345px;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-cta-band__button {
    align-self: center;
    margin-top: 0;
  }
  .footer-cta-band__decor {
    width: 196px;
    height: 64px;
    left: calc(var(--container-padding-mobile) - 29px);
    right: auto;
    bottom: 0;
    opacity: 1;
  }
  .footer-cta-band__graph--1 {
    left: 0;
    right: auto;
    bottom: 0;
    width: 196px;
    height: 64px;
  }
  .footer-cta-band__graph--2 {
    left: 29px;
    right: auto;
    bottom: 0;
    width: 185px;
    height: 50px;
  }
}

.site-footer {
  background: var(--color-gray-800);
  padding: 0 var(--content-inset-right) var(--spacing-20) var(--content-inset-left);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-14);
  overflow: hidden;
  width: 100%;
}
.site-footer__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  width: 100%;
  max-width: var(--container-max-width);
}
.site-footer__columns {
  display: flex;
  gap: var(--spacing-5);
  width: 100%;
}
.site-footer__brand {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
}
.site-footer__logo {
  width: 108px;
  height: 70px;
}
.site-footer__copyright {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xs);
  color: var(--color-gray-secondary);
}

.site-footer:has(.footer-content) {
  /* Horizontal inset comes only from `.footer-content.container` (matches CTA band + Figma px-112). */
  padding: var(--spacing-14) 0 var(--spacing-20);
  align-items: stretch;
}

.footer-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  width: 100%;
}

.footer-columns {
  display: flex;
  gap: var(--spacing-5);
  width: 100%;
}

.footer-brand {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  gap: var(--spacing-10);
}
.footer-brand__logo {
  width: 108px;
  height: 70px;
}

.footer-social {
  display: flex;
  gap: var(--spacing-2);
  align-items: flex-start;
}
.footer-social__link {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.footer-social__link:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.35);
}
.footer-social__link:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
.footer-social__icon {
  display: block;
  width: 16px;
  height: 16px;
}

.footer-divider {
  width: 100%;
  height: 1px;
  background: var(--color-white-20);
}

.footer-copyright {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xs);
  color: var(--color-gray-secondary);
}

.footer-col {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
}
.footer-col__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}
.footer-col__links {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.footer-col__link {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-base);
  color: var(--color-white);
  text-decoration: none;
  text-underline-offset: 0.12em;
  text-decoration-skip-ink: none;
}
.footer-col__link:hover,
.footer-col__link:focus-visible {
  text-decoration: underline;
}
.footer-col__link--external {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  text-decoration: none;
}
.footer-col__link--external:hover .footer-col__link-text,
.footer-col__link--external:focus-visible .footer-col__link-text {
  text-decoration: underline;
  text-underline-offset: 0.12em;
  text-decoration-skip-ink: none;
}
.footer-col__link-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.footer-col__list a {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-base);
  color: var(--color-white);
  text-decoration: none;
  text-underline-offset: 0.12em;
  text-decoration-skip-ink: none;
}
.footer-col__list a:hover,
.footer-col__list a:focus-visible {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .site-footer {
    padding: var(--spacing-10) 0 var(--spacing-10);
    gap: var(--spacing-10);
  }

  .site-footer:has(.footer-content) {
    padding: var(--spacing-10) 0 var(--spacing-10);
  }

  .footer-content {
    gap: var(--spacing-10);
  }

  .footer-columns {
    flex-direction: column;
    gap: var(--spacing-8);
  }

  .footer-brand {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-5);
  }

  .footer-brand .custom-logo-link,
  .footer-brand .custom-logo {
    display: block;
    width: 108px;
    height: auto;
  }

  .footer-col {
    gap: var(--spacing-3);
  }

  .footer-col__title {
    color: var(--color-white);
  }

  .footer-col__links,
  .footer-col__list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
  }

  .footer-col__list,
  .footer-col__list li {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer-copyright {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
}

.social-links {
  display: flex;
  gap: var(--spacing-2);
  align-items: flex-start;
}
.social-links__item {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--color-white-20);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.social-links__icon {
  width: 16px;
  height: 16px;
}

.career-hero {
  position: relative;
  width: 100%;
  height: 720px;
  overflow: hidden;
  background: var(--color-surface-dark);
}
.career-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.career-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #000 6.74%, rgba(0, 0, 0, 0) 32.92%), linear-gradient(180deg, rgba(0, 0, 0, 0) 46.6%, #000 100%);
}
.career-hero__content {
  position: absolute;
  left: 0;
  right: 0;
  top: 426px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  z-index: 2;
  max-width: calc(var(--container-max-width) + var(--container-padding-desktop) * 2);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding-desktop);
  padding-right: var(--container-padding-desktop);
  box-sizing: border-box;
}
.career-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  max-width: 804px;
  color: var(--color-white);
}
.career-hero__subtitle {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-base);
}
.career-hero__title {
  font-size: var(--font-size-display-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-xl);
  letter-spacing: var(--letter-spacing-hero);
}
.career-hero__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
}
.career-hero__cta {
  flex-shrink: 0;
}

.career-intro {
  width: 100%;
  background: var(--color-surface-dark);
  padding-left: var(--container-padding-desktop);
}
.career-intro__inner {
  display: flex;
  gap: var(--spacing-14);
  align-items: flex-start;
  background: var(--color-blue);
  padding: var(--spacing-14) var(--spacing-28) var(--spacing-14) var(--spacing-14);
  overflow: hidden;
}
.career-intro__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  color: var(--color-white);
}
.career-intro__heading {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
}
.career-intro__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  max-width: 471px;
}
.career-intro__right {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.career-intro__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  width: 100%;
}
.career-intro__item {
  display: flex;
  gap: var(--spacing-6);
  align-items: flex-start;
  width: 100%;
}
.career-intro__bullet-icon {
  width: 33px;
  height: 19px;
  flex-shrink: 0;
  margin-top: 4px;
}
.career-intro__item-content {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  color: var(--color-white);
}
.career-intro__item-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xl);
}
.career-intro__item-text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
}

.company-values {
  display: flex;
  width: 100%;
  background: var(--color-white);
}
.company-values__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: flex-start;
  justify-content: center;
  padding: var(--spacing-14) var(--spacing-20) var(--spacing-14) var(--container-padding-desktop);
  position: relative;
}
.company-values__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
  width: 100%;
}
.company-values__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
}
.company-values__item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  cursor: pointer;
}
.company-values__item-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.company-values__item-label {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: var(--color-blue);
}
.company-values__expanded {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-gray-secondary);
  width: 100%;
}
.company-values__accent {
  position: absolute;
  right: 0;
  top: 350px;
  width: 10px;
  height: 145px;
  background: var(--color-orange);
}
.company-values__right {
  flex: 1 0 0;
  min-width: 0;
  align-self: stretch;
}
.company-values__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.community-video {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-14);
  align-items: flex-start;
  justify-content: center;
  padding: var(--spacing-20) var(--container-padding-desktop);
  width: 100%;
  position: relative;
  box-sizing: border-box;
}
.community-video__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
  width: 100%;
  max-width: var(--container-max-width);
}
.community-video__media {
  position: relative;
  width: 1202px;
  max-width: calc(100vw - 238px);
  height: 488px;
  flex-shrink: 0;
}
.community-video__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.community-video__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 31%, rgb(0, 0, 0) 68.22%);
  pointer-events: none;
}
.community-video__play {
  position: absolute;
  left: 303px;
  top: 215px;
  width: 58px;
  height: 58px;
  z-index: 2;
  cursor: pointer;
  background: #f7f7f8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.community-video__play img {
  width: 24px;
  height: 24px;
}
.community-video__card {
  position: absolute;
  left: 777px;
  top: 266px;
  width: 663px;
  height: 414px;
  background: var(--color-blue);
  padding: var(--spacing-14) var(--spacing-12);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  overflow: hidden;
  z-index: 3;
}
.community-video__card-header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.community-video__card-title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.community-video__card-title h3 {
  font-size: var(--font-size-display-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-display-sm);
  color: var(--color-white);
}
.community-video__card-body {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}
.community-video__card-graphic {
  position: absolute;
  bottom: -40px;
  left: -60px;
  pointer-events: none;
}
.community-video__tag {
  position: absolute;
  left: 821px;
  top: 210px;
  z-index: 4;
  background: transparent;
  color: var(--color-white);
}

.community-cards {
  background: var(--color-gray-100);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: center;
  justify-content: center;
  padding: var(--spacing-20) var(--container-padding-desktop);
  width: 100%;
}
.community-cards__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
  width: 100%;
  max-width: var(--container-max-width);
}
.community-cards__featured {
  display: flex;
  align-items: center;
  background: var(--color-white);
  overflow: hidden;
  width: 100%;
  max-width: var(--container-max-width);
}
.community-cards__grid {
  display: flex;
  gap: var(--spacing-10);
  width: 100%;
  max-width: var(--container-max-width);
}
.community-cards__cta {
  margin-top: var(--spacing-10);
}

.hero {
  position: relative;
  width: 100%;
  height: 720px;
  overflow: hidden;
  background: var(--color-surface-dark);
}
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0.2) 100%), linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.7) 90%, rgb(0, 0, 0) 100%);
}
.hero__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 58px;
}
.hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  max-width: 804px;
  color: var(--color-white);
}
.hero__title {
  font-size: var(--font-size-display-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-xl);
  letter-spacing: var(--letter-spacing-hero);
}
.hero__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
}
.hero__cta {
  flex-shrink: 0;
}

.stats-band {
  position: relative;
  width: 100%;
  background: var(--color-surface-dark);
  padding-left: 142px;
}
.stats-band__inner {
  display: flex;
  gap: var(--spacing-14);
  align-items: flex-start;
  background: var(--color-blue);
  padding: var(--spacing-14) var(--container-padding-desktop) var(--spacing-14) var(--spacing-14);
  position: relative;
  overflow: hidden;
  margin-right: calc(-1 * (100vw - 100%));
  padding-right: calc(var(--container-padding-desktop) + 100vw - 100%);
}
.stats-band__heading {
  flex: 1 0 0;
  min-width: 0;
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-white);
}
.stats-band__right {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: flex-start;
  justify-content: center;
}
.stats-band__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-white);
}
.stats-band__divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-divider);
}
.stats-band__grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  width: 100%;
}
.stats-band__row {
  display: flex;
  gap: var(--spacing-8);
  width: 100%;
}
.stats-band__stat {
  flex: 1 0 0;
  min-width: 0;
}
.stats-band__stat-value {
  font-size: var(--font-size-display-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-xl);
  letter-spacing: var(--letter-spacing-hero);
  color: var(--color-orange);
}
.stats-band__stat-label {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xl);
  color: var(--color-white);
}
.stats-band__decor {
  position: absolute;
  bottom: 0;
  left: -80px;
  pointer-events: none;
}
.stats-band__decor img {
  width: 454px;
  height: auto;
  opacity: 0.15;
}
.stats-band__decor--2 {
  position: absolute;
  bottom: -20px;
  left: -36px;
  pointer-events: none;
}
.stats-band__decor--2 img {
  width: 454px;
  height: auto;
  opacity: 0.15;
}

@media (max-width: 1024px) {
  .stats-band {
    padding-left: 0;
  }

  .stats-band__inner {
    flex-direction: column;
    gap: var(--spacing-4);
    align-items: stretch;
    margin-right: 0;
    padding: var(--spacing-10) var(--spacing-5);
    padding-right: var(--spacing-5);
  }

  .stats-band__decor,
  .stats-band__decor--2 {
    display: none !important;
  }

  .stats-band__row {
    flex-direction: column;
    gap: var(--spacing-5);
  }

  .stats-band__right {
    gap: var(--spacing-5);
  }

  .stats-band__heading {
    font-size: var(--font-size-display-sm);
    line-height: 36px;
    letter-spacing: -0.01em;
  }

  .stats-band__description {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }

  .stats-band__grid {
    gap: var(--spacing-5);
  }

  .stats-band__stat-value {
    font-size: var(--font-size-display-lg);
    line-height: 48px;
    letter-spacing: 0;
  }

  .stats-band__stat-label {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-base);
  }
}

.global-solutions {
  display: flex;
  width: 100%;
  min-height: 702px;
  background: var(--color-white);
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}
.global-solutions__left {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: flex-start;
  justify-content: center;
  padding: 0 var(--spacing-14) 0 var(--content-inset-left);
}
.global-solutions__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
  max-width: 560px;
}
.global-solutions__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
}
.global-solutions__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}
.global-solutions__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
  max-width: 560px;
}
.global-solutions__list-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.global-solutions__list-icon {
  width: 33px;
  height: 19px;
  flex-shrink: 0;
}
.global-solutions__list-text {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-32);
  color: var(--color-navy);
}
.global-solutions__right {
  width: 50%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle, rgba(0, 20, 137, 0.08) 1.2px, transparent 1.2px);
  background-size: 6.2px 6.2px;
  background-color: var(--color-white);
}
.global-solutions__map {
  width: 80%;
  max-width: 580px;
  height: auto;
  opacity: 0.85;
  position: relative;
  z-index: 1;
}

.our-solutions {
  position: relative;
  width: 100%;
  overflow: visible;
  margin-bottom: 0;
  padding-top: var(--spacing-20);
}
.our-solutions__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-14);
  align-items: flex-start;
  justify-content: center;
  padding-left: var(--content-inset-left);
}
.our-solutions__heading {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
  padding-right: var(--content-inset-right);
}
.our-solutions__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
}
.our-solutions__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}
.our-solutions__cards {
  display: flex;
  width: 100%;
}
.our-solutions__accent {
  position: absolute;
  left: 0;
  top: 324px;
  bottom: 0;
  width: 100%;
  background: var(--color-blue-accent);
  z-index: 1;
}

.solution-card {
  flex: 1 0 0;
  min-width: 0;
  height: 400px;
  background: var(--color-blue);
  padding: var(--spacing-8);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.solution-card__top {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.solution-card__header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.solution-card__name {
  font-size: var(--font-size-display-sm);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-display-sm);
  color: var(--color-white);
}
.solution-card__arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.solution-card__body {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}
.solution-card__icon {
  width: 120px;
  height: 120px;
}
.solution-card__divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(to bottom, var(--color-white), var(--color-blue));
  flex-shrink: 0;
}

.trucks-image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 480px;
  margin-top: 0;
  background: var(--color-bg-light);
  overflow: hidden;
}
.trucks-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trucks-image__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, var(--color-blue-accent) 0%, rgba(77, 156, 231, 0) 29%);
  pointer-events: none;
}

.latest-insights {
  background: var(--color-gray-100);
  padding: var(--spacing-20) var(--content-inset-right) var(--spacing-20) var(--content-inset-left);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: center;
}
.latest-insights__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
  max-width: var(--container-max-width);
}
.latest-insights__title {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-medium);
  color: var(--color-blue);
}
.latest-insights__subtitle {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}
.latest-insights__grid {
  display: flex;
  gap: var(--spacing-14);
  width: 100%;
  max-width: var(--container-max-width);
  align-items: flex-start;
}

.insight-featured {
  flex: 1 0 0;
  min-width: 0;
  overflow: hidden;
  border-radius: 0;
}
.insight-featured__image {
  width: 100%;
  aspect-ratio: 588/331;
  overflow: hidden;
}
.insight-featured__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.insight-featured__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
  padding: var(--spacing-5) 0;
}
.insight-featured__meta {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.insight-date {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-sm);
  color: var(--color-gray-600);
}

.insight-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}

.insight-excerpt {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-gray-600);
}

.insight-read-more {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.insight-read-more__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.insight-read-more__text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: #001489;
}

.insights-stack {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
  align-items: center;
  align-self: stretch;
}
.insights-stack .btn {
  margin-top: auto;
}

.insight-row {
  display: flex;
  gap: var(--spacing-6);
  width: 100%;
  overflow: hidden;
}
.insight-row__content {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.insight-row__image {
  width: 237px;
  height: 133px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 0;
}
.insight-row__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.insights-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-divider);
}

.expertise {
  display: flex;
  width: 100%;
  min-height: 746px;
  background: var(--color-white);
  position: relative;
}
.expertise__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-10);
  align-items: flex-start;
  justify-content: center;
  padding: var(--spacing-14) var(--spacing-20) var(--spacing-14) var(--content-inset-left);
  position: relative;
}
.expertise__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  width: 100%;
}
.expertise__title {
  font-size: var(--font-size-display-md);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-display-md);
  letter-spacing: var(--letter-spacing-md);
  color: var(--color-blue);
}
.expertise__description {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}
.expertise__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
}
.expertise__list-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-divider);
}
.expertise__list-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  cursor: pointer;
}
.expertise__list-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.expertise__list-label {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: var(--color-blue);
}
.expertise__expanded {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
}
.expertise__expanded-text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--color-gray-secondary);
}
.expertise__learn-more {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.expertise__learn-more-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.expertise__learn-more-text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: #001489;
}
.expertise__accent {
  position: absolute;
  right: 0;
  top: 350px;
  width: 10px;
  height: 145px;
  background: var(--color-orange);
}
.expertise__right {
  flex: 1 0 0;
  min-width: 0;
  align-self: stretch;
}
.expertise__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Category landing — Figma 1342:24564 */
.category-landing-page {
  overflow-x: hidden;
}

.category-landing__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 720px;
  color: var(--color-white);
  background-color: var(--color-blue);
}

/* No featured image or background video — flat black (no blue bleed through gradients). */
.category-landing__hero--no-media {
  background-color: #000;
}

.category-landing__hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.category-landing__hero-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.category-landing__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Background video: hide media until playback starts (avoids blue + gradient flash while buffering). */
.category-landing__hero--has-bg-video {
  background-color: #000;
}

.category-landing__hero--has-bg-video .category-landing__hero-media {
  transition: opacity 0.45s ease;
}

@media (prefers-reduced-motion: reduce) {
  .category-landing__hero--has-bg-video .category-landing__hero-media {
    transition: none;
  }
}

.category-landing__hero--has-bg-video.category-landing__hero--bg-video-waiting .category-landing__hero-media {
  opacity: 0;
}

/* Figma hero: dual linear gradients over image */
.category-landing__hero-gradients {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
      179.99999999999955deg,
      rgb(0, 0, 0) 6.7361%,
      rgba(0, 0, 0, 0) 32.917%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 46.597%,
      rgb(0, 0, 0) 100%
    );
}

/* Figma 1067:17174 — left-to-right readability (dual horizontal fades) + shorter hero band */
.category-landing__hero--overlay-side {
  min-height: 518px;
}

.category-landing__hero--overlay-side .category-landing__hero-gradients {
  background: linear-gradient(
      90deg,
      rgb(0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 82.118%
    ),
    linear-gradient(
      90deg,
      rgb(0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 71.009%
    );
}

/* Figma 974:5663 — short image band + same LTR readability stack as overlay-side */
.category-landing__hero--short-image {
  min-height: 480px;
}

.category-landing__hero--short-image .category-landing__hero-gradients {
  background: linear-gradient(
      90deg,
      rgb(0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 82.118%
    ),
    linear-gradient(
      90deg,
      rgb(0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 71.009%
    );
}

/* Title + intro (8px) then CTA block (24px below intro) — matches Figma stack */
.category-landing__hero-copy--stacked {
  gap: 0;
}

.category-landing__hero-copy--stacked .category-landing__hero-lede {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.category-landing__hero-copy--stacked .category-landing__hero-cta {
  margin-top: 24px;
}

.category-landing__hero-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-bottom: 56px;
}

.category-landing__hero--short-image .category-landing__hero-inner {
  padding-bottom: 40px;
}

.category-landing__hero-copy {
  max-width: 968px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.category-landing__title {
  margin: 0;
  font-size: var(--font-size-display-xl);
  line-height: var(--line-height-display-xl);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-hero);
  color: var(--color-white);
}

.category-landing__intro {
  margin: 0;
  max-width: 968px;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-regular);
  color: var(--color-white);
}

.category-landing__intro p {
  margin: 0;
}

/* Basic page header variant — Figma node 1252:27315 (Content block) */
.basic-page-layout .basic-page-layout__hero {
  min-height: auto;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%),
    linear-gradient(90deg, #f1f5f9 0%, #f1f5f9 100%);
  color: #102c4f;
  border-bottom: 1px solid var(--color-border-neutral, #d1d1db);
}

.basic-page-layout .basic-page-layout__hero-inner {
  padding-top: 56px;
  padding-bottom: 56px;
}

.basic-page-layout .basic-page-layout__hero-copy {
  max-width: none;
  gap: 0;
}

.basic-page-layout .basic-page-layout__title {
  margin: 0;
  color: #102c4f;
  font-size: 48px;
  line-height: 56px;
  font-weight: 600;
  letter-spacing: -1.2px;
}

/* Basic / contact pages: `.visy-news-article__body` supplies vertical padding — avoid doubling `.industry-detail__body`. */
.basic-page-layout .industry-detail__body {
  padding-top: 0;
  padding-bottom: 0;
}

/* Empty sidebar (basic pages): hide when the news grid stacks to one column so there is no blank gap. */
@media (max-width: 1024px) {
  .visy-news-article__sidebar--empty {
    display: none;
  }
}

/* Contact page — sidebar form card (Figma 1252:26738 / 1297:28868) */
.visy-news-article__sidebar--form .sidebar-form-card__inner {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  align-items: stretch;
  padding: var(--spacing-5);
  border-top: 1px solid var(--color-border-neutral);
  border-left: 1px solid var(--color-border-neutral);
  /* Matches Figma dev mode: soft cool tint from upper area toward #f9fbfc */
  background-image:
    linear-gradient(-80.69deg, rgb(255, 255, 255) 48.98%, rgb(249, 251, 252) 83.71%),
    linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.visy-news-article__sidebar--form .sidebar-form-card__intro {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  align-items: flex-start;
  text-align: left;
  width: 100%;
}

.visy-news-article__sidebar--form .sidebar-form-card__intro-text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  align-items: flex-start;
  width: 100%;
}

.visy-news-article__sidebar--form .sidebar-form-card__icon-wrap {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  overflow: hidden;
  position: relative;
}

/* SVGs often get 1×1 intrinsic dimensions from WP metadata — fill the 40px frame */
.visy-news-article__sidebar--form .sidebar-form-card__icon-wrap .sidebar-form-card__icon {
  display: block;
  width: 40px !important;
  height: 40px !important;
  max-width: none;
  object-fit: contain;
  object-position: left center;
}

.visy-news-article__sidebar--form .sidebar-form-card__title {
  margin: 0;
  width: 100%;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brand-navy);
}

.visy-news-article__sidebar--form .sidebar-form-card__description {
  margin: 0;
  width: 100%;
  font-size: var(--font-size-sm);
  line-height: 20px;
  font-weight: var(--font-weight-regular);
  color: var(--color-gray-secondary);
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: 0;
  margin: 0;
  padding: var(--spacing-1) var(--spacing-2);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brand-navy);
  background: var(--color-white);
  border: 1px solid var(--color-border-neutral);
  border-radius: var(--radius-button);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle:hover,
.visy-news-article__sidebar--form .sidebar-form-card__toggle:focus-visible {
  background: var(--color-gray-100);
  border-color: var(--color-border-neutral);
  color: var(--color-brand-navy);
  outline: none;
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle:focus-visible {
  box-shadow: var(--shadow-xs), 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-blue-accent);
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle-label {
  padding: 0 var(--spacing-1);
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: currentColor;
  transition: transform 0.2s ease;
}

.visy-news-article__sidebar--form .sidebar-form-card__toggle-chevron svg {
  display: block;
}

.visy-news-article__sidebar--form .sidebar-form-card.is-collapsed .sidebar-form-card__toggle-chevron {
  transform: rotate(180deg);
}

.visy-news-article__sidebar--form .sidebar-form-card__form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  width: 100%;
  min-width: 0;
}

/* Formidable — stack fields with Figma 16px rhythm; honeypot visually hidden */
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_fields_container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  position: relative;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_fields_container > .frm_form_field,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_fields_container .frm_fields_container > .frm_form_field {
  margin-bottom: 0;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_form_field {
  margin-top: 0;
  margin-bottom: 0;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .frm_fields_container > div:has(> input.frm_verify) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* “Hidden label” layout hides Last name etc. — show labels in sidebar to match Figma */
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_hidden_container .frm_primary_label {
  visibility: visible !important;
  white-space: normal !important;
}

/* Figma inputs use placeholder only — hide Formidable field descriptions in this column */
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_description {
  display: none !important;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_required:empty {
  display: none !important;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style fieldset {
  border: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_form_field.frm_top_container,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_form_field.frm_full,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_form_field.frm_hidden_container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--spacing-1);
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_opt_container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.visy-news-article__sidebar--form .sidebar-form-card__form .frm_checkbox {
  width: 100%;
  max-width: 100%;
}

/*
 * Checkbox label is `<label><input> text…</label>`. `inline-flex` splits anonymous
 * text into separate flex items and breaks wrapping — use padded block + absolute input.
 */
.visy-news-article__sidebar--form .sidebar-form-card__form .frm_checkbox label {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-left: calc(1.25rem + var(--spacing-3));
  box-sizing: border-box;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-brand-navy);
  cursor: pointer;
  text-align: left;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .frm_checkbox label a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .frm_checkbox input[type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_primary_label,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_primary_label.frm_html {
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-brand-navy);
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_required {
  color: #f53d6b;
  font-weight: var(--font-weight-regular);
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input[type="text"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input[type="email"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input[type="tel"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input[type="url"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input[type="number"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style select,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style textarea {
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  border-radius: var(--radius-md);
  border-color: var(--color-border-neutral);
  box-shadow: 0 1px 1px rgba(18, 18, 23, 0.05);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style input::placeholder,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style textarea::placeholder {
  color: var(--color-gray-secondary);
  opacity: 1;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_submit button,
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_submit input[type="submit"],
.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_button_submit {
  width: 100%;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  border-radius: var(--radius-button);
  background: var(--color-blue) !important;
  border-color: var(--color-blue) !important;
  color: var(--color-white) !important;
}

.visy-news-article__sidebar--form .sidebar-form-card__form .with_frm_style .frm_submit {
  margin: 0;
  padding: 0;
}

/* Industry / location CPT singles — body column under hero */
.industry-detail__body {
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
  background: var(--color-white);
}

.industry-detail__body-inner {
  max-width: 968px;
  margin: 0 auto;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-gray-secondary);
}

.industry-detail__body-inner > *:first-child {
  margin-top: 0;
}

.industry-detail__body-inner > *:last-child {
  margin-bottom: 0;
}

/**
 * Visy Blockquote — align orange rule with Benefits / container inset.
 * `.industry-detail__body-inner` is a centred 968px column; Benefits breaks out
 * to 100vw then pads copy (see blocks/benefits/style.css). Target `.visy-blockquote`
 * (rendered root) so ACF / wrapper markup does not matter.
 */
.industry-detail__body-inner .visy-blockquote {
  --visy-bq-container-outer: calc(
    var(--container-max-width, 1216px) + 2 * var(--container-padding-desktop, 112px)
  );
  box-sizing: border-box;
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(
    (100vw - min(var(--visy-bq-container-outer), 100vw)) / 2 +
      var(--container-padding-desktop, 112px)
  );
}

.industry-detail__body-inner .visy-blockquote .visy-blockquote__inner {
  max-width: 968px;
}

.industry-detail__body-inner .wp-block-visy-blockquote {
  max-width: none;
}

@media (max-width: 1024px) {
  .basic-page-layout .basic-page-layout__hero-inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .basic-page-layout .basic-page-layout__title {
    font-size: 40px;
    line-height: 48px;
  }

  .industry-detail__body-inner .visy-blockquote {
    --visy-bq-container-outer: calc(
      var(--container-max-width, 1216px) + 2 * var(--container-padding-tablet, 56px)
    );
    padding-left: calc(
      (100vw - min(var(--visy-bq-container-outer), 100vw)) / 2 +
        var(--container-padding-tablet, 56px)
    );
  }
}

@media (max-width: 767px) {
  .basic-page-layout .basic-page-layout__hero-inner {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .basic-page-layout .basic-page-layout__title {
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -0.8px;
  }
}

@media (max-width: 575px) {
  .industry-detail__body-inner .visy-blockquote {
    --visy-bq-container-outer: calc(
      var(--container-max-width, 1216px) + 2 * var(--container-padding-mobile, 32px)
    );
    padding-left: calc(
      (100vw - min(var(--visy-bq-container-outer), 100vw)) / 2 +
        var(--container-padding-mobile, 32px)
    );
    padding-right: var(--container-padding-mobile, 32px);
  }
}

.industry-detail__related .loc-landing__section-title {
  text-align: left;
}

/* Card band: bg gray-100, py 80px; horizontal padding via .container */
.category-landing__cards {
  background: var(--color-gray-100);
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}

.category-landing__cards-container {
  max-width: calc(var(--container-max-width) + var(--container-padding-desktop) * 2);
}

.category-landing__grid {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 392px);
  gap: var(--spacing-5);
  justify-content: center;
}

@media (max-width: 1279px) {
  .category-landing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .category-landing__grid {
    grid-template-columns: 1fr;
  }

  .category-landing__hero {
    min-height: 520px;
  }

  .category-landing__hero--overlay-side {
    min-height: 480px;
  }

  .category-landing__hero--short-image {
    min-height: 400px;
  }

  .category-landing__hero--short-image .category-landing__hero-gradients {
    background: linear-gradient(
        90deg,
        rgb(0, 0, 0) 0%,
        rgba(0, 0, 0, 0.55) 55%,
        rgba(0, 0, 0, 0.2) 100%
      ),
      linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, transparent 42%);
  }

  .category-landing__hero--overlay-side .category-landing__hero-gradients {
    background: linear-gradient(
        90deg,
        rgb(0, 0, 0) 0%,
        rgba(0, 0, 0, 0.55) 55%,
        rgba(0, 0, 0, 0.2) 100%
      ),
      linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, transparent 42%);
  }
}

/* Figma 1656:22053 (Home xs) / 1683:24226 — ≤1024px: image band + bottom fade; black TextContainer; mobile type */
@media (max-width: 1024px) {
  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
  }

  .category-landing-page .category-landing__hero--overlay-side:not(.basic-page-layout__hero),
  .category-landing-page .category-landing__hero--short-image:not(.basic-page-layout__hero) {
    min-height: 0 !important;
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-media {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    flex: 0 0 auto;
    width: 100%;
    height: 195px;
    min-height: 195px;
    max-height: none;
  }

  /* Figma 1656:22028–22054 — bottom of image band: black → transparent into photo (soft join to TextContainer) */
  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-gradients {
    background: linear-gradient(
      to top,
      rgb(0, 0, 0) 0%,
      rgba(0, 0, 0, 0.88) 14%,
      rgba(0, 0, 0, 0.42) 38%,
      rgba(0, 0, 0, 0) 68%
    );
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-inner {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: var(--spacing-10) var(--spacing-5);
    background: var(--color-surface-dark);
    box-sizing: border-box;
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-copy {
    gap: var(--spacing-2);
  }

  /* Figma Home xs — H1 xs | Lead text xs (1656:22055–22056) */
  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__title {
    font-size: var(--font-size-display-lg);
    line-height: 48px;
    letter-spacing: 0;
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__intro {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
    font-weight: var(--font-weight-regular);
  }

  /* Misplaced block markup: primary headline inside intro */
  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__intro .hero__title {
    margin: 0 0 var(--spacing-2);
    font-size: var(--font-size-display-lg);
    line-height: 48px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0;
    color: var(--color-white);
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-inner > .visy-hero-cta {
    margin-top: var(--spacing-5);
  }

  .category-landing-page .category-landing__hero:not(.basic-page-layout__hero) .category-landing__hero-cta {
    margin-top: var(--spacing-5);
  }

  .insights-page__hero {
    min-height: 0;
  }
}

.category-landing__cell {
  margin: 0;
}

.category-landing-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  min-height: 294px;
  padding-left: var(--spacing-10);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.35s ease;
}

/* Figma 1342:24568 — hover: orange rule + lift + image zoom */
.category-landing-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--color-orange);
  z-index: 2;
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

.category-landing-card:hover,
.category-landing-card:focus-visible {
  box-shadow: 0 24px 48px rgba(16, 44, 79, 0.14);
}

.category-landing-card:hover::before,
.category-landing-card:focus-visible::before {
  transform: scaleY(1);
}

.category-landing-card:focus-visible {
  outline: 2px solid var(--color-orange);
  outline-offset: 2px;
}

.category-landing-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.category-landing-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.category-landing-card:hover .category-landing-card__img,
.category-landing-card:focus-visible .category-landing-card__img {
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .category-landing-card,
  .category-landing-card::before,
  .category-landing-card__img {
    transition-duration: 0.01ms;
  }

  .category-landing-card:hover .category-landing-card__img,
  .category-landing-card:focus-visible .category-landing-card__img {
    transform: none;
  }
}

/* Gradient over card image — Figma: from #141414 at bottom */
.category-landing-card__img-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    #141414 0%,
    rgba(20, 20, 20, 0) 50%
  );
  pointer-events: none;
}

.category-landing-card__content {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  padding: var(--spacing-5);
  background: var(--color-white);
}

.category-landing-card__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--spacing-2);
}

.category-landing-card__arrow {
  flex-shrink: 0;
  margin-top: 2px;
}

.category-landing-card__title {
  flex: 1;
  margin: 0;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-navy);
}

.category-landing-card__text {
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: 20px;
  color: var(--color-gray-600);
}

.category-landing__content {
  padding: var(--spacing-12) 0 var(--spacing-20);
}

.category-landing__content-inner > *:first-child {
  margin-top: 0;
}

/* Location landing — Figma 970:1916 */
.loc-landing__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 720px;
  color: var(--color-white);
  background-color: var(--color-blue);
}

.loc-landing__hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.loc-landing__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.loc-landing__hero-gradients {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
      179.99999999999955deg,
      rgb(0, 0, 0) 6.7361%,
      rgba(0, 0, 0, 0) 32.917%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 46.597%,
      rgb(0, 0, 0) 100%
    );
}

.loc-landing__hero-inner {
  position: relative;
  z-index: 1;
  padding-bottom: 56px;
}

.loc-landing__hero-copy {
  max-width: 968px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  align-items: flex-start;
}

.loc-landing__title {
  margin: 0;
  font-size: var(--font-size-display-xl);
  line-height: var(--line-height-display-xl);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-hero);
  color: var(--color-white);
}

.loc-landing__intro {
  margin: 0;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--color-white);
}

.loc-landing__intro p {
  margin: 0;
}

.loc-landing__hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-3) var(--spacing-6);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-base);
  color: var(--color-white);
  background: transparent;
  border: 1px solid var(--color-white-40);
  border-radius: var(--radius-button);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.loc-landing__hero-btn:hover {
  background: var(--color-white-10);
  border-color: var(--color-white);
  color: var(--color-white);
}

.loc-landing__excellence {
  background: var(--color-blue);
  color: var(--color-white);
  padding: var(--spacing-20) 0;
}

.loc-landing__excellence-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-12);
  align-items: start;
}

@media (max-width: 1024px) {
  .loc-landing__excellence-inner {
    grid-template-columns: 1fr;
  }
}

.loc-landing__excellence-title {
  margin: 0 0 var(--spacing-4);
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-display-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-medium);
}

.loc-landing__excellence-desc {
  margin: 0;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-white-80);
}

.loc-landing__excellence-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
}

.loc-landing__excellence-item {
  display: flex;
  gap: var(--spacing-3);
  align-items: flex-start;
}

.loc-landing__excellence-arrow {
  flex-shrink: 0;
  margin-top: 2px;
}

.loc-landing__excellence-item-title {
  margin: 0 0 var(--spacing-1);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-lg);
}

.loc-landing__excellence-item-text {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}

.loc-landing__locations {
  background: var(--color-gray-100);
  padding: var(--spacing-20) 0;
}

.loc-landing__section-title {
  margin: 0 0 var(--spacing-2);
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-display-sm);
  color: var(--color-navy);
}

.loc-landing__section-intro {
  margin: 0 0 var(--spacing-8);
  max-width: 42rem;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-gray-secondary);
}

.loc-landing__grid--loc {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 392px);
  gap: var(--spacing-5);
  justify-content: center;
}

@media (max-width: 1279px) {
  .loc-landing__grid--loc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .loc-landing__grid--loc {
    grid-template-columns: 1fr;
  }

  .loc-landing__hero {
    min-height: 520px;
  }
}

.loc-landing__case {
  background: var(--color-white);
}

.loc-landing__case-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
}

@media (max-width: 1024px) {
  .loc-landing__case-grid {
    grid-template-columns: 1fr;
  }
}

.loc-landing__case-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--spacing-4);
  padding: var(--spacing-12) var(--spacing-14);
  background: var(--color-gray-900);
  color: var(--color-white);
}

.loc-landing__case-title {
  margin: 0;
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-display-sm);
  color: var(--color-white);
}

.loc-landing__case-text {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}

.loc-landing__case-subtitle {
  margin: 0;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
}

.loc-landing__case-excerpt {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-white-80);
}

.category-landing__hero-cta,
.visy-hero-cta {
  margin: var(--spacing-6) 0 0;
}

/* Hero CTA on dark imagery — white pill, dark label (Figma text-base / semibold). Shared across landing heroes. */
.visy-hero-cta__link,
.category-landing__hero-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-border-neutral, #d1d1db) !important;
  color: var(--color-text-button-normal, #121217) !important;
  font-family: var(--font-family, "Figtree", sans-serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  text-decoration: none;
  box-shadow: var(--shadow-xs);
}

.visy-hero-cta__link:hover,
.visy-hero-cta__link:focus-visible,
.category-landing__hero-cta-btn:hover,
.category-landing__hero-cta-btn:focus-visible {
  background-color: var(--color-gray-100) !important;
  border-color: var(--color-gray-100) !important;
  color: var(--color-text-button-normal, #121217) !important;
}

.visy-hero-cta__link:focus-visible,
.category-landing__hero-cta-btn:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}

.category-landing__hero-video-wrap {
  position: absolute;
  inset: 0;
}

.category-landing__hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.loc-landing__case-media {
  position: relative;
  min-height: 280px;
}

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

.loc-landing__industries {
  padding: var(--spacing-20) 0;
  background: var(--color-gray-100);
}

.loc-landing__grid--ind {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-5);
}

@media (max-width: 1024px) {
  .loc-landing__grid--ind {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .loc-landing__grid--ind {
    grid-template-columns: 1fr;
  }
}

.loc-landing__ind-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  height: 100%;
  padding: var(--spacing-6);
  background: var(--color-white);
  border-radius: var(--radius-md);
  border-top: 4px solid transparent;
  box-shadow: var(--shadow-xs);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.loc-landing__ind-card:hover {
  border-top-color: var(--color-orange);
  box-shadow: var(--shadow-sm);
}

.loc-landing__ind-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.loc-landing__ind-head {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-2);
}

.loc-landing__ind-name {
  margin: 0;
  flex: 1;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-xl);
  color: var(--color-navy);
}

.loc-landing__ind-text {
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: 20px;
  color: var(--color-gray-600);
}

.loc-landing__content {
  padding: var(--spacing-12) 0 var(--spacing-20);
}

/* Basic page */
.basic-page__header {
  padding: var(--spacing-12) 0 var(--spacing-6);
  background: var(--color-gray-100);
}

.basic-page__title {
  font-size: var(--font-size-display-md);
  color: var(--color-navy);
  margin-bottom: var(--spacing-4);
}

.basic-page__lead {
  font-size: var(--font-size-lg);
  color: var(--color-gray-secondary);
  max-width: 42rem;
}

.basic-page__body {
  padding: var(--spacing-12) 0 var(--spacing-20);
}

/* Basic page body: same .container as header (left edge aligned); Figma 1252:27329 column max 804px on desktop */
@media (min-width: 1025px) {
  .basic-page__body-inner {
    max-width: 804px;
  }
}

.basic-page__prose {
  max-width: 48rem;
}

.basic-page__prose h2,
.basic-page__prose h3 {
  margin-top: var(--spacing-8);
}

/* Contact page */
.contact-page__header {
  padding: var(--spacing-12) 0 var(--spacing-6);
  background: var(--color-gray-100);
}

.contact-page__title {
  font-size: var(--font-size-display-md);
  color: var(--color-navy);
  margin-bottom: var(--spacing-4);
}

.contact-page__intro {
  font-size: var(--font-size-lg);
  color: var(--color-gray-secondary);
  max-width: 42rem;
}

.contact-page__body {
  padding: var(--spacing-12) 0 var(--spacing-20);
}

.contact-page__prose {
  max-width: 48rem;
}

/* Search results — Figma 1671:27738 (basic-page hero + list + Insights pager) */
.search-results-page .industry-detail__body {
  padding-top: 0;
  padding-bottom: 0;
}

.search-results-page__inner {
  box-sizing: border-box;
  max-width: 804px;
  margin-left: 0;
  margin-right: 0;
  padding: var(--spacing-20) 0;
}

.search-results-page__pager-wrap {
  margin-top: var(--spacing-10);
  display: flex;
  justify-content: center;
}

.search-results-page__pager {
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  border-radius: var(--radius-md);
  padding: 0 var(--spacing-2);
  box-shadow: var(--shadow-xs);
}

.search-results-page__pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0;
}

.search-results-page__pager-cell {
  margin: 0;
}

.search-results-page__pager-cell--number a,
.search-results-page__pager-cell--number span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  min-height: 35px;
  height: 35px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: 24px;
  color: var(--color-text-white, #ffffff);
  text-decoration: none;
}

.search-results-page__pager-cell--number a:hover,
.search-results-page__pager-cell--number a:focus-visible {
  background: var(--color-brand-orange, #ff8736);
  color: var(--color-text-primary, #102c4f);
  border-radius: 0;
}

.search-results-page__pager-cell--number span.page-numbers.current {
  background: var(--color-brand-orange, #ff8736);
  color: var(--color-text-primary, #102c4f);
  padding-left: 13px;
  padding-right: 13px;
  border-radius: 0;
}

.search-results-page__pager-arrow-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  text-decoration: none;
}

.search-results-page__pager-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
}

.search-results-page__pager-arrow-link:hover .search-results-page__pager-arrow,
.search-results-page__pager-arrow-link:focus-visible .search-results-page__pager-arrow {
  color: var(--color-brand-orange, #ff8736);
}

.search-results-page__pager-arrow--empty {
  opacity: 0;
}

.search-results-page__intro {
  margin: 0 0 var(--spacing-10);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-md);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-body, #121217);
}

.search-results-page__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-results-page__item {
  margin: 0;
  padding-bottom: var(--spacing-6);
  border-bottom: 1px solid var(--color-border-neutral, #d1d1db);
}

.search-results-page__item:not(:first-child) {
  padding-top: var(--spacing-6);
}

.search-results-page__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.search-results-page__article {
  margin: 0;
}

.search-results-page__title {
  margin: 0 0 var(--spacing-1);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-md);
  font-weight: var(--font-weight-semibold);
}

.search-results-page__title-link {
  color: var(--color-text-primary, #102c4f);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.search-results-page__title-link:hover,
.search-results-page__title-link:focus-visible {
  color: var(--color-text-primary, #102c4f);
  text-decoration-thickness: 2px;
}

.search-results-page__snippet {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-md);
  color: var(--color-text-secondary, #64748b);
}

.search-results-page__snippet strong {
  font-weight: var(--font-weight-bold);
}

.search-results-page__empty {
  text-align: left;
}

.search-results-page__empty-title {
  margin: 0 0 var(--spacing-3);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-navy);
}

.search-results-page__snippet--empty {
  color: var(--color-gray-secondary);
}

/* Impact stats block (visy/impact-stats): styles in blocks/impact-stats/style.css */

/* Experience block (visy/experience): styles in blocks/experience/style.css */

/* Careers — Figma 1188:43146 */
.careers-page {
  overflow-x: hidden;
}

.careers__section {
  padding: var(--spacing-20) 0;
}

.careers__section--muted {
  background: var(--color-gray-100);
}

.careers__section-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--spacing-10);
  max-width: 48rem;
}

.careers__card-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-5);
}

.careers__card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.careers__card-img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.careers__card-body {
  padding: var(--spacing-5);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}

.careers__card-title {
  margin: 0;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-navy);
}

.careers__card-text {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-gray-secondary);
}

.careers__tabs {
  border-bottom: 2px solid var(--color-border-divider);
  flex-wrap: wrap;
  gap: var(--spacing-1);
}

.careers__tabs .nav-link {
  color: var(--color-gray-secondary);
  font-weight: var(--font-weight-semibold);
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  border-radius: 0;
  background: transparent;
}

.careers__tabs .nav-link:hover {
  color: var(--color-navy);
}

.careers__tabs .nav-link.active {
  color: var(--color-navy);
  border-bottom-color: var(--color-orange);
  background: transparent;
}

.careers__story-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-5);
}

.careers__story-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.careers__story-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.careers__story-body {
  padding: var(--spacing-5);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  flex: 1;
}

.careers__story-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-navy);
}

.careers__story-text {
  margin: 0;
  font-size: var(--font-size-base);
  color: var(--color-gray-secondary);
}

.careers__story-video {
  width: 100%;
  margin-top: var(--spacing-2);
  border-radius: var(--radius-md);
}

@media (max-width: 1024px) {
  .careers__card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .careers__card-grid,
  .careers__story-grid {
    grid-template-columns: 1fr;
  }

  .careers__tabs .nav-link {
    font-size: var(--font-size-sm);
    padding: var(--spacing-3) var(--spacing-2);
  }
}

/* Country detail page (legacy template) */
.country-detail-page__eyebrow {
  margin: 0 0 var(--spacing-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-white-80);
}

.country-detail-page__band--white {
  background: var(--color-white);
}

/* Case study single v2 */
.case-study-v2__crumbs {
  background: var(--color-gray-100);
  padding: var(--spacing-4) 0;
}

.case-study-v2__breadcrumb {
  margin: 0;
}

.case-study-v2__breadcrumb .breadcrumb {
  margin-bottom: 0;
  font-size: var(--font-size-sm);
}

.case-study-v2__breadcrumb .breadcrumb-item a {
  color: var(--color-blue);
}

.case-study-v2__hero {
  min-height: 520px;
}

.case-study-v2__kicker {
  margin: 0 0 var(--spacing-3);
}

.case-study-v2__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  margin-top: var(--spacing-4);
}

.case-study-v2__tag {
  display: inline-block;
  padding: var(--spacing-1) var(--spacing-3);
  border-radius: 999px;
  font-size: var(--font-size-xs);
  background: var(--color-white-20);
  color: var(--color-white);
}

.case-study-v2__actions {
  padding: var(--spacing-10) 0;
  background: var(--color-gray-100);
}

.case-study-v2__actions-inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-4);
  align-items: center;
}

/* Insights listing — Figma 1067:25356 */
.insights-page {
  overflow-x: hidden;
  background: var(--color-gray-100);
}

.insights-page__hero {
  min-height: 480px;
}

.insights-page__hero .category-landing__hero-inner {
  padding-top: var(--spacing-10);
}

/* Figma 1074:19492 — featured sits on the same gray band as the results list and
 * is rendered as a single flat white block split 50/50: copy left, image right. */
.insights-page__featured {
  padding: var(--spacing-12) 0 0;
  background: var(--color-gray-100);
}

.insights-page__featured-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: var(--color-white);
  overflow: hidden;
}

.insights-page__featured-copy {
  background: transparent;
  border-radius: 0;
  padding: var(--spacing-20) var(--spacing-12);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--spacing-5);
}

.insights-page__featured-text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  width: 100%;
}

.insights-page__featured-meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
  margin-bottom: 0;
}

.insights-page__badge {
  display: inline-flex;
  align-items: center;
  padding: 2px var(--spacing-3);
  border-radius: 999px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xs);
}

.insights-page__badge--case {
  /*background: var(--color-bg-light);
  color: var(--color-blue);*/
  background:#dbf3ff;
  color:#005985;
}

.insights-page__badge--news {
  /*background: rgba(77, 156, 231, 0.15);
  color: var(--color-blue);*/
  background:#dbf3ff;
  color:#005985;
}

/* Chip on listing thumbnails (Figma: #dbf3ff / #005985) */
.insights-page__thumb-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-xs);
  border-bottom-right-radius: 12px;
}

.insights-page__thumb-badge.insights-page__badge--news {
  /*  background: #dbf3ff;
  color: #005985;*/
  background:#dbf3ff;
  color: #005985;
}

.insights-page__thumb-badge.insights-page__badge--case {
  /*background: var(--color-bg-light);
  color: var(--color-blue);*/
  background:#dbf3ff;
  color:#005985;
}

.insights-page__date {
  font-size: var(--font-size-sm);
  color: var(--color-gray-secondary);
}

.insights-page__featured-title {
  margin: 0;
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-display-sm);
  font-weight: var(--font-weight-semibold);
}

.insights-page__featured-title a {
  color: var(--color-navy);
  text-decoration: none;
}

.insights-page__featured-title a:hover {
  text-decoration: underline;
}

.insights-page__featured-excerpt {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-navy);
}

.insights-page__featured-btn {
  margin-top: 0;
}

.insights-page__featured-media {
  position: relative;
  min-height: 200px;
}

.insights-page__featured-media > a,
.insights-page__featured-media > a > img {
  display: block;
  width: 100%;
  height: 100%;
}

.insights-page__featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* Figma filter bar: gray band + navy panel aligned to .container */
.insights-page__filter-shell {
  background: var(--color-gray-100);
  padding: 0 0 var(--spacing-8);
}

.insights-page__filters-inner {
  background: #001489;
  color: var(--color-white);
  padding: var(--spacing-10) 56px var(--spacing-10) 56px;
  border-radius: 0;
}

.insights-page__filters-heading {
  margin: 0 0 var(--spacing-6);
}

.insights-page__filters-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-3);
  background: none;
  border: none;
  padding: 0;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: inherit;
  cursor: pointer;
}

.insights-page__filters-chevron {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  transition: transform 0.2s ease;
}

.insights-page__filters-chevron img {
  display: block;
  width: 32px;
  height: 32px;
}

.insights-page__filters-toggle[aria-expanded='false'] .insights-page__filters-chevron {
  transform: rotate(180deg);
}

#insightsFiltersPanel.is-collapsed,
#insightsFiltersPanel[hidden] {
  display: none;
}

.insights-page__filters-grid {
  display: grid;
  grid-template-columns: 306px repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.insights-page__field--keyword {
  max-width: 306px;
}

.insights-page__label {
  display: block;
  font-size: 14px;
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-2);
  color: #fff;
}

.insights-page__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.insights-page__input-icon {
  position: absolute;
  right: var(--spacing-3);
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  opacity: 0.7;
  pointer-events: none;
}

.insights-page__input-icon img {
  width: 100%;
  height: 100%;
  display: block;
  filter: brightness(0) invert(1);
}

.insights-page__input,
.insights-page__select {
  width: 100%;
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-white);
  font-size: var(--font-size-sm);
  box-shadow: 0 1px 2px rgba(18, 18, 23, 0.05);
}

.insights-page__input {
  padding-right: var(--spacing-10);
  padding-left: var(--spacing-3);
}

.insights-page__input::placeholder {
  color: var(--color-white-50);
}

.insights-page__select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-white) 50%),
    linear-gradient(135deg, var(--color-white) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% + 3px), calc(100% - 12px) calc(50% + 3px);
  background-size: 6px 6px;
  background-repeat: no-repeat;
  padding-right: var(--spacing-10);
}

.insights-page__select option {
  color: var(--color-navy);
}

.insights-page__filters-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: var(--spacing-6);
}

.insights-page__btn-refine {
  color: var(--color-navy) !important;
  font-weight: var(--font-weight-semibold);
}

.insights-page__btn-reset.btn {
  border-radius: var(--radius-radius-button, var(--radius-button, 4px));
  border: 1px solid var(--color-border-button-outline-normal, rgba(255, 255, 255, 0.2));
  background: var(--color-background-button-outline-normal, rgba(0, 0, 0, 0));
  box-shadow: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
  color: #fff;
}

.insights-page__btn-reset.btn:hover,
.insights-page__btn-reset.btn:focus-visible {
  border-radius: var(--radius-radius-button, var(--radius-button, 4px));
  border-color: var(--color-border-button-outline-hover, rgba(255, 255, 255, 0.1));
  background: var(--color-background-button-outline-hover, rgba(255, 255, 255, 0.1));
  box-shadow: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
  color: #fff;
}

.insights-page__results {
  /* Figma 1067:24810 — 80px list inset; bottom padding under pager (avoid margin collapse onto body). */
  padding: var(--spacing-20) 0 var(--spacing-20);
  background: var(--color-gray-100);
}

.insights-page__results-status {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: var(--spacing-6);
  margin-bottom: var(--spacing-6);
}

/* Figma 1674:22479 — insights pagination shares the search-results pager pill. */
.insights-page__pagination-wrap {
  margin-top: var(--spacing-20);
  margin-bottom: 0;
  display: flex;
  justify-content: center;
}

@media (max-width: 1024px) {
  .site-header {
    position: relative;
    background: var(--color-white);
  }

  .utility-bar,
  .primary-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    --visy-mobile-nav-bar-height: 92px;
    --visy-mobile-nav-offset-top: var(--visy-mobile-nav-bar-height);
    transition: transform 0.35s ease;
    will-change: transform;
  }

  body.header-scroll-hidden .site-header {
    transform: translateY(-100%);
    pointer-events: none;
  }

  /* Slide the whole fixed mobile header up (bar-only transform left a white strip in place) */
  body.header-scroll-hidden .mobile-nav {
    transform: translateY(-100%);
    pointer-events: none;
  }

  body.header-scroll-hidden.mobile-nav-open .mobile-nav,
  body.header-scroll-hidden.mobile-search-open .mobile-nav {
    transform: none;
    pointer-events: auto;
  }

  .mobile-nav__bar {
    position: relative;
    z-index: 102;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-4);
    min-height: var(--visy-mobile-nav-bar-height);
    box-sizing: border-box;
    background: var(--color-white);
  }

  .mobile-nav .custom-logo {
    width: 108px;
    height: auto;
    display: block;
  }

  .mobile-nav__bar-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2);
  }

  .mobile-nav__icon-btn {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: var(--radius-button);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--color-blue);
  }

  .mobile-nav__icon {
    width: 24px;
    height: 24px;
  }

  .mobile-nav__icon--search {
    width: 28px;
    height: 28px;
  }

  .mobile-nav__search-icon {
    color: #001489;
  }

  .mobile-nav__search-icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-nav__search-close-icon {
    display: none;
    font-size: 36px;
    line-height: 1;
    color: #001489;
  }

  .mobile-nav__search-toggle[aria-expanded="true"] .mobile-nav__search-icon {
    display: none;
  }

  .mobile-nav__search-toggle[aria-expanded="true"] .mobile-nav__search-close-icon {
    display: block;
  }

  /* Orange search icon in the panel field only (matches desktop search bar) */
  body.mobile-search-open .mobile-search-panel__icon {
    filter: brightness(0) saturate(100%) invert(63%) sepia(79%) saturate(2476%) hue-rotate(346deg) brightness(101%) contrast(101%);
  }

  .mobile-nav__toggle-icon {
    position: relative;
    width: 24px;
    height: 24px;
    display: block;
  }

  .mobile-nav__toggle-icon::before,
  .mobile-nav__toggle-icon::after,
  .mobile-nav__toggle-icon-middle {
    content: "";
    position: absolute;
    left: 3px;
    right: 3px;
    height: 2px;
    background: #001489;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease, bottom 0.2s ease;
  }

  .mobile-nav__toggle-icon::before {
    top: 6px;
  }

  .mobile-nav__toggle-icon::after {
    bottom: 6px;
  }

  .mobile-nav__toggle-icon-middle {
    top: 11px;
  }

  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__toggle-icon::before {
    top: 11px;
    transform: rotate(45deg);
  }

  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__toggle-icon::after {
    bottom: 11px;
    transform: rotate(-45deg);
  }

  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__toggle-icon-middle {
    opacity: 0;
  }

  .mobile-nav__panel:not([hidden]),
  .mobile-search-panel:not([hidden]) {
    position: fixed;
    z-index: 101;
    left: 0;
    right: 0;
    bottom: env(safe-area-inset-bottom, 0px);
    top: var(--visy-mobile-nav-offset-top);
    width: 100%;
    height: calc(100dvh - var(--visy-mobile-nav-offset-top, 92px) - env(safe-area-inset-bottom, 0px));
    min-height: calc(100dvh - var(--visy-mobile-nav-offset-top, 92px) - env(safe-area-inset-bottom, 0px));
    max-height: none;
    box-sizing: border-box;
  }

  .mobile-nav__panel {
    background: #0f172a;
    color: var(--color-white);
    padding: var(--spacing-6) var(--spacing-5);
    padding-bottom: calc(var(--spacing-6) + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    gap: var(--spacing-10);
    overflow: hidden;
  }

  .mobile-nav__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-nav__links {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-10);
  }

  .mobile-search-panel {
    background: #08153d;
    color: var(--color-white);
    padding: var(--spacing-6) var(--spacing-5);
    padding-bottom: calc(var(--spacing-6) + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
  }

  .mobile-search-panel__form {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .mobile-search-panel__field {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 0 21px;
  }

  .mobile-search-panel__icon {
    width: 24px;
    height: 24px;
  }

  .mobile-search-panel__input {
    flex: 1 1 auto;
    background: transparent;
    border: none;
    color: var(--color-white);
    font-size: var(--font-size-lg);
    line-height: 24px;
  }

  .mobile-search-panel__input::placeholder {
    color: var(--color-white-80);
  }

  .mobile-search-panel__input:focus-visible {
    outline: none;
  }

  .mobile-search-panel__submit {
    width: 100%;
    justify-content: center;
    margin-top: auto;
  }

  .mobile-nav__country-selector {
    padding-bottom: var(--spacing-4);
    border-bottom: 1px solid #6c6c89;
  }

  .mobile-nav__country-selector .country-selector__menu {
    position: static;
    margin-top: var(--spacing-2);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: none;
    padding: 4px 0;
  }

  .mobile-nav__country-selector .country-selector__option {
    color: var(--color-white);
    padding: 8px 0;
    border-radius: 0;
  }

  .mobile-nav__country-selector .country-selector__option:hover,
  .mobile-nav__country-selector .country-selector__option:focus-visible {
    background: transparent;
    opacity: 0.85;
  }

  .mobile-nav__country-selector .country-selector__label {
    color: var(--color-white);
  }

  .mobile-nav__country-selector .country-selector__chevron {
    filter: brightness(0) invert(1);
  }

  .mobile-nav__primary {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-10);
  }

  .mobile-nav__primary-link {
    color: var(--color-white);
    font-size: var(--font-size-xl);
    line-height: var(--line-height-xl);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
  }

  .mobile-nav__primary-link--active {
    text-decoration: underline;
    text-underline-offset: 0.16em;
    text-decoration-thickness: 1px;
  }

  .mobile-nav__bottom {
    flex-shrink: 0;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4);
    width: 100%;
  }

  .mobile-nav__utility {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-10);
  }

  .mobile-nav__utility-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-1);
    color: var(--color-white);
    text-decoration: none;
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
    font-weight: var(--font-weight-regular);
  }

  .mobile-nav__utility-link-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: currentColor;
  }

  .mobile-nav__utility-link-icon.utility-link__icon--stroke path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-nav__cta {
    width: 100%;
    justify-content: center;
  }

  .mobile-nav__portal-link {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-1);
    color: var(--color-white);
    font-size: var(--font-size-base);
    line-height: 24px;
    font-weight: var(--font-weight-semibold);
    padding: var(--spacing-1) var(--spacing-2);
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    border-radius: var(--radius-button);
  }

  .mobile-nav__portal-link-text {
    padding: 0 var(--spacing-1);
  }

  .mobile-nav__portal-link-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
  }

  .mobile-nav__portal-link:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: 2px;
  }

  html.visy-mobile-overlay-open,
  html.visy-mobile-overlay-open body {
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.mobile-nav-open {
    overflow: hidden;
  }

  body.mobile-search-open {
    overflow: hidden;
  }
}

.insights-page__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--spacing-10);
  row-gap: var(--spacing-4);
}

/* Figma 1068:34988 — each cell is followed by a 1px divider that sits inside the row gap. */
.insights-page__cell {
  padding-bottom: var(--spacing-4);
  border-bottom: 1px solid var(--color-border-neutral);
}

.insights-page__card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--spacing-6);
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  min-height: 0;
}

.insights-page__card-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.insights-page__card-meta {
  display: block;
}

.insights-page__card-meta .insights-page__date {
  color: #475569;
}

.insights-page__card-title {
  margin: 0;
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-lg);
}

.insights-page__card-title a {
  color: #102c4f;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.insights-page__card-title a:hover {
  color: #102c4f;
  text-decoration: none;
}

.insights-page__card-excerpt {
  margin: 0;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: #475569;
}

/* Figma: image is fixed 237x133, sharp corners, always on the right. */
.insights-page__card-thumb {
  position: relative;
  flex-shrink: 0;
  width: 237px;
  max-width: 42%;
  height: 133px;
  overflow: hidden;
  border-radius: 0;
}

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

.insights-page__cell--full {
  grid-column: 1 / -1;
}

.insights-page__empty {
  text-align: center;
  padding: var(--spacing-12);
  color: var(--color-gray-secondary);
}

.insights-page__empty-title {
  margin: 0 0 var(--spacing-3);
  font-size: var(--font-size-xl);
  color: var(--color-navy);
}

@media (max-width: 1199px) {
  .insights-page__filters-inner {
    padding: var(--spacing-8) var(--spacing-6);
  }

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

  .insights-page__field--keyword {
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 1024px) {
  .insights-page__filter-shell > .container {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
  }

  .insights-page__filters-inner {
    padding-left: var(--container-padding-tablet);
    padding-right: var(--container-padding-tablet);
  }

  .insights-page__featured-inner {
    grid-template-columns: 1fr;
  }

  .insights-page__grid {
    grid-template-columns: 1fr;
  }

  .insights-page__card {
    flex-direction: column;
  }

  .insights-page__card-thumb {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: 220px;
    aspect-ratio: 237 / 133;
  }
}

@media (max-width: 575px) {
  .insights-page__filters-inner {
    padding-left: var(--container-padding-mobile);
    padding-right: var(--container-padding-mobile);
  }
}

/* News single article — Figma 1188:49294 (hero) / 1188:49292 (full page) */
.visy-news-article__hero {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid var(--color-border-neutral);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--color-white) 100%),
    linear-gradient(90deg, var(--color-gray-100) 0%, var(--color-gray-100) 100%);
}

.visy-news-article__hero-left {
  flex: 0 0 720px;
  width: 720px;
  display: flex;
  flex-direction: column;
  padding-bottom: var(--spacing-14);
}

.visy-news-article__crumbs {
  padding: var(--spacing-4) 0 var(--spacing-4) var(--content-inset-left);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-navy);
}

.visy-news-article__crumbs-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-1);
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.visy-news-article__crumb {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
}

.visy-news-article__crumb::after {
  content: "/";
  margin-left: var(--spacing-1);
  color: var(--color-navy);
}

.visy-news-article__crumb a {
  color: var(--color-navy);
  text-decoration: none;
}

.visy-news-article__crumb a:hover,
.visy-news-article__crumb a:focus-visible {
  color: var(--color-blue);
  text-decoration: underline;
}

.visy-news-article__crumb:last-child span {
  color: var(--color-navy);
}

.visy-news-article__hero-media {
  width: 100%;
  aspect-ratio: 720 / 405;
  overflow: hidden;
  background: var(--color-gray-100);
}

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

.visy-news-article__hero-copy {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--spacing-4);
  padding: var(--spacing-14) var(--container-padding-desktop);
}

.visy-news-article__hero-meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}

.visy-news-article__badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-3xl);
  padding: var(--spacing-1) var(--spacing-2);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-weight: var(--font-weight-semibold);
}

.visy-news-article__badge--news {
  background: #dbf3ff;
  color: #005985;
}

.visy-news-article__badge--case {
  background: #dbf3ff;
  color: #005985;
}

/* Case study hero — Figma 1273:35165 vertical-centers copy + adds action row. */
.visy-news-article__hero--case-study .visy-news-article__hero-left {
  padding-bottom: var(--spacing-14);
}

.visy-news-article__hero--case-study .visy-news-article__hero-copy {
  padding-top: 0;
  padding-bottom: 0;
  justify-content: center;
  gap: var(--spacing-8);
}

.visy-news-article__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  align-items: center;
  padding-bottom: var(--spacing-5);
}

.visy-news-article__hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  padding: var(--spacing-3) var(--spacing-4);
  border-radius: var(--radius-button);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-semibold);
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.visy-news-article__hero-btn--primary {
  background: var(--color-blue);
  color: var(--color-white);
  border-color: var(--color-blue);
}

.visy-news-article__hero-btn--primary:hover,
.visy-news-article__hero-btn--primary:focus-visible {
  background: var(--color-brand-navy, #102c4f);
  border-color: var(--color-brand-navy, #102c4f);
  color: var(--color-white);
}

.visy-news-article__hero-btn--outline {
  background: var(--color-white);
  color: var(--color-text-button-normal, #121217);
  border-color: var(--color-border-neutral);
  box-shadow: var(--shadow-xs);
}

.visy-news-article__hero-btn--outline:hover,
.visy-news-article__hero-btn--outline:focus-visible {
  background: var(--color-gray-100);
  color: var(--color-text-button-normal, #121217);
  border-color: var(--color-border-neutral);
}

.visy-news-article__hero-btn:focus-visible {
  outline: 2px solid var(--color-blue-accent);
  outline-offset: 2px;
}

.visy-news-article__hero-date {
  color: var(--color-gray-600);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-weight: var(--font-weight-medium);
}

.visy-news-article__hero-title {
  margin: 0;
  color: var(--color-navy);
  font-size: 48px;
  line-height: 56px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-medium);
}

.visy-news-article__hero-intro {
  color: var(--color-text-button-normal, #121217);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-weight: var(--font-weight-regular);
}

.visy-news-article__hero-intro p {
  margin: 0;
}

.visy-news-article__hero-intro p + p {
  margin-top: var(--spacing-3);
}

.visy-news-article {
  background: var(--color-white);
}

.visy-news-article__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 289px);
  gap: var(--spacing-14);
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-20);
  align-items: stretch;
}

.visy-news-article__content {
  color: var(--color-text-secondary, #64748B);

  /* text-lg/leading-6/font-normal */
  font-family: Figtree;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
}

.visy-news-article__content > *:first-child {
  margin-top: 0;
}

.visy-news-article__content > *:last-child {
  margin-bottom: 0;
}

/*
 * Keep ACF visy-blocks (and any full-bleed wrappers) constrained to the
 * article column — the news / case-study body is a 2-column grid with a
 * 289px sidebar, so blocks must not break out to `100vw` like they do at
 * page root level. We also reset the inner `.container` so it fills the
 * column width rather than its own 1216px max-width.
 */
.visy-news-article__content > .visy-block,
.visy-news-article__content > [class*="visy-block"],
.visy-news-article__content > section[class*="visy-"],
.visy-news-article__content > .alignfull,
.visy-news-article__content > .alignwide,
.visy-news-article__content > .wp-block-group.alignfull,
.visy-news-article__content > .wp-block-group.alignwide {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.visy-news-article__content > .visy-block .container,
.visy-news-article__content > section[class*="visy-"] .container {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Tighten outer vertical padding on embedded blocks — Figma uses ~40px gaps
 * between sections inside the article column, not the 80px page-level break. */
.visy-news-article__content > .visy-block,
.visy-news-article__content > section[class*="visy-"] {
  padding-top: var(--spacing-10);
  padding-bottom: var(--spacing-10);
}

/*
 * Editorial prose headings (news, case study, basic pages).
 * Scoped to content column — excludes Visy ACF blocks. Chained :not() beats Bootstrap
 * reboot; !important on size/weight beats block editor preset classes.
 */
.visy-news-article__content.visy-article-prose :is(
  h1,
  h2,
  h3,
  h4
):not(.visy-block :is(h1, h2, h3, h4)):not([class*="wp-block-visy-"] :is(h1, h2, h3, h4)):not(section[class*="visy-"] :is(h1, h2, h3, h4)) {
  margin: var(--spacing-10) 0 var(--spacing-4);
}

/*
 * News / case study singles (not basic-page layout): tighten gap below hero and
 * align the first editorial heading with sidebar tag rows. __content lives inside
 * __body (not a direct child of article). Must follow the prose heading rule above.
 */
.visy-news-article > .visy-news-article__body {
  padding-top: var(--spacing-6);
}

.visy-news-article .visy-news-article__body > .visy-news-article__content.visy-article-prose > :is(
  h1,
  h2,
  h3,
  h4,
  h1.wp-block-heading,
  h2.wp-block-heading,
  h3.wp-block-heading,
  h4.wp-block-heading
):first-child,
.visy-news-article .visy-news-article__body > .visy-news-article__content.visy-article-prose > *:first-child :is(
  h1,
  h2,
  h3,
  h4,
  h1.wp-block-heading,
  h2.wp-block-heading,
  h3.wp-block-heading,
  h4.wp-block-heading
):not(.visy-block :is(h1, h2, h3, h4)):not([class*="wp-block-visy-"] :is(h1, h2, h3, h4)):not(section[class*="visy-"] :is(h1, h2, h3, h4)) {
  margin-top: 0 !important;
}

.visy-news-article__content.visy-article-prose :is(
  h1,
  h2,
  h3
):not(.visy-block :is(h1, h2, h3)):not([class*="wp-block-visy-"] :is(h1, h2, h3)):not(section[class*="visy-"] :is(h1, h2, h3)) {
  color: var(--color-text-body, #121217);
  font-family: var(--font-family);
  font-style: normal;
}

.visy-news-article__content.visy-article-prose > :is(h1, h1.wp-block-heading),
.visy-news-article__content.visy-article-prose :is(h1, h1.wp-block-heading):not(.visy-block h1):not([class*="wp-block-visy-"] h1):not(section[class*="visy-"] h1) {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
}

.visy-news-article__content.visy-article-prose > :is(h2, h2.wp-block-heading),
.visy-news-article__content.visy-article-prose :is(h2, h2.wp-block-heading):not(.visy-block h2):not([class*="wp-block-visy-"] h2):not(section[class*="visy-"] h2) {
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 40px !important;
}

.visy-news-article__content.visy-article-prose > :is(h3, h3.wp-block-heading),
.visy-news-article__content.visy-article-prose :is(h3, h3.wp-block-heading):not(.visy-block h3):not([class*="wp-block-visy-"] h3):not(section[class*="visy-"] h3) {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 32px !important;
}

.visy-news-article__content.visy-article-prose :is(h4, h4.wp-block-heading):not(.visy-block h4):not([class*="wp-block-visy-"] h4):not(section[class*="visy-"] h4) {
  color: var(--color-navy);
  font-size: var(--font-size-xl) !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: var(--line-height-xl) !important;
}

.visy-news-article__content p {
  margin: 0 0 var(--spacing-5);
}

.visy-news-article__content ul,
.visy-news-article__content ol {
  margin: 0 0 var(--spacing-5);
  padding-left: var(--spacing-6);
}

.visy-news-article__content ul {
  list-style: disc;
}

.visy-news-article__content ol {
  list-style: decimal;
}

.visy-news-article__content li + li {
  margin-top: var(--spacing-2);
}

.visy-news-article__content a {
  color: var(--color-blue);
  text-decoration: underline;
}

.visy-news-article__content a:hover,
.visy-news-article__content a:focus-visible {
  color: var(--color-orange);
}

.visy-news-article__content img,
.visy-news-article__content .wp-block-image,
.visy-news-article__content .wp-block-image img,
.visy-news-article__content .wp-block-image figure,
.visy-news-article__content figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  margin: var(--spacing-8) 0;
}

.visy-news-article__content figure {
  margin: var(--spacing-8) 0;
}

.visy-news-article__content figure img {
  margin: 0;
}

/*
 * Embeds: only square corners + spacing — do not set width/height on the
 * wrapper or iframe; WordPress uses absolute positioning for aspect ratio.
 */
.visy-news-article__content .wp-block-embed,
.visy-news-article__content .wp-block-embed .wp-block-embed__wrapper,
.visy-news-article__content .wp-block-embed iframe {
  border-radius: 0;
}

.visy-news-article__content .wp-block-embed,
.visy-news-article__content .wp-block-video {
  margin: var(--spacing-8) 0;
}

.visy-news-article__content .wp-block-video video {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.visy-news-article__content figcaption {
  margin-top: var(--spacing-2);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--color-gray-600);
}

.visy-news-article__page-links {
  margin: var(--spacing-6) 0;
  font-size: var(--font-size-sm);
}

.visy-news-article__sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  position: sticky;
  top: 120px;
  min-height: 0;
}

.visy-news-article__rhs {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.visy-news-article__sidebar-panels {
  flex: 0 0 auto;
}

.visy-news-article__sidebar-share-wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: var(--spacing-10);
}

.visy-news-article__sidebar-row {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--spacing-6);
  padding: var(--spacing-5);
  border-top: 1px solid var(--color-border-neutral);
  border-left: none;
  background: var(--color-white);
}

.visy-news-article__sidebar-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(
    180deg,
    var(--color-border-neutral) 0%,
    rgba(209, 209, 219, 0.55) 42%,
    rgba(209, 209, 219, 0.12) 78%,
    rgba(209, 209, 219, 0) 100%
  );
  pointer-events: none;
}

.visy-news-article__sidebar-row-label {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-navy);
}

.visy-news-article__sidebar-row-chips {
  flex: 1 1 139px;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.visy-news-article__sidebar-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--spacing-3);
  background: var(--color-blue);
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  border: 1px solid var(--color-blue);
  border-radius: var(--radius-button);
}

.visy-news-article__sidebar-cta:hover,
.visy-news-article__sidebar-cta:focus-visible {
  background: var(--color-brand-navy, #102c4f);
  border-color: var(--color-brand-navy, #102c4f);
  color: var(--color-white);
}

.visy-news-article__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 4px;
  justify-content: flex-end;
  align-content: flex-start;
  list-style: none;
  padding: 0;
  margin: 0;
}

.visy-news-article__chip-item {
  flex-shrink: 0;
}

.visy-news-article__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-3xl);
  background: #e2e8f0;
  color: #3f3f50;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-weight: var(--font-weight-semibold);
  padding: var(--spacing-1) var(--spacing-2);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

a.visy-news-article__chip:hover,
a.visy-news-article__chip:focus-visible {
  background: var(--color-brand-navy, #102c4f);
  color: var(--color-white);
}

.visy-news-article__sidebar-row--share {
  align-items: center;
}

.visy-news-article__sidebar-row--share .visy-news-article__share-list {
  flex: 1 1 139px;
  min-width: 0;
}

.visy-news-article__share-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-1) var(--spacing-2);
  align-items: center;
  justify-content: flex-end;
  list-style: none;
  padding: 0;
  margin: 0;
}

.visy-news-article__share-list li {
  flex-shrink: 0;
}

.visy-news-article__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-button);
  background: transparent;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.visy-news-article__share-link:hover,
.visy-news-article__share-link:focus-visible {
  opacity: 0.88;
  background: rgba(16, 44, 79, 0.06);
}

.visy-news-article__share-link:focus-visible {
  outline: 2px solid var(--color-blue-accent);
  outline-offset: 2px;
}

.visy-news-article__share-link svg {
  display: block;
  flex-shrink: 0;
}

.visy-news-article__related {
  margin-top: 0;
}

/* Between tablet stack and centered container — give copy more room (~1250px). */
@media (min-width: 1200px) and (max-width: 1439px) {
  .visy-news-article__hero-left {
    flex: 0 0 42%;
    width: 42%;
    max-width: 600px;
  }

  .visy-news-article__hero-copy {
    flex: 1 1 58%;
    min-width: 0;
  }
}

/*
 * Wider than the centered container: grow the image to fill the space before the
 * copy column; copy stays 720px wide and ends at the container’s right edge
 * (aligned with .container / header / article body below).
 */
@media (min-width: 1440px) {
  .visy-news-article__hero {
    --visy-news-hero-outer: calc(var(--container-max-width) + var(--container-padding-desktop) * 2);
    --visy-news-hero-copy-col: 720px;
    --visy-news-hero-container-right: calc((100vw + var(--visy-news-hero-outer)) / 2);
  }

  .visy-news-article__hero-left {
    flex: 0 0 auto;
    width: calc(var(--visy-news-hero-container-right) - var(--visy-news-hero-copy-col));
    min-width: var(--visy-news-hero-copy-col);
    max-width: none;
  }

  .visy-news-article__hero-copy {
    flex: 0 0 var(--visy-news-hero-copy-col);
    width: var(--visy-news-hero-copy-col);
    max-width: none;
  }
}

@media (min-width: 1600px) {
  .visy-news-article__hero-media {
    aspect-ratio: auto;
    height: 405px;
  }
}

@media (max-width: 1199px) {
  .visy-news-article__hero-left {
    flex: 0 0 50%;
    width: 50%;
  }

  .visy-news-article__crumbs {
    padding-left: var(--container-padding-tablet);
  }

  .visy-news-article__hero-copy {
    padding: var(--spacing-12) var(--container-padding-tablet);
  }

  .visy-news-article__hero-title {
    font-size: 40px;
    line-height: 48px;
  }

  .visy-news-article__body {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: var(--spacing-10);
  }
}

@media (max-width: 1024px) {
  .visy-news-article__hero {
    flex-direction: column;
    align-items: stretch;
  }

  .visy-news-article__hero-left {
    flex: 0 0 auto;
    width: 100%;
    padding-bottom: 0;
  }

  .visy-news-article__crumbs {
    padding: var(--spacing-4) var(--container-padding-tablet);
  }

  .visy-news-article__hero-media {
    aspect-ratio: 16 / 9;
  }

  .visy-news-article__hero-copy {
    padding: var(--spacing-10) var(--container-padding-tablet);
  }

  .visy-news-article__body {
    grid-template-columns: 1fr;
    padding-top: var(--spacing-10);
    padding-bottom: var(--spacing-12);
    gap: var(--spacing-10);
  }

  .visy-news-article > .visy-news-article__body {
    padding-top: var(--spacing-6);
  }

  .visy-news-article__sidebar {
    position: static;
    top: auto;
    height: auto;
  }

  .visy-news-article__sidebar-share-wrap {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .visy-news-article__crumbs {
    padding-left: var(--container-padding-mobile);
    padding-right: var(--container-padding-mobile);
  }

  .visy-news-article__hero-copy {
    padding-left: var(--container-padding-mobile);
    padding-right: var(--container-padding-mobile);
  }

  .visy-news-article__hero-title {
    font-size: 32px;
    line-height: 40px;
  }

  /* Figma 1686:23393 — label left, tags/icons right on one row (mobile). */
  .visy-news-article__sidebar-row-label {
    flex: 1 0 0;
    min-width: 0;
  }

  .visy-news-article__sidebar-row-chips {
    flex: 1 0 0;
    min-width: 0;
    justify-content: flex-end;
  }

  .visy-news-article__chips {
    justify-content: flex-end;
    align-items: center;
  }

  .visy-news-article__sidebar-row--share .visy-news-article__share-list {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    justify-content: flex-end;
  }
}


.tagline {
  color: var(--color-text-white, #FFF);

/* text-sm/leading-6/font-semibold */
font-family: Figtree;
font-size: 14px;
font-style: normal;
font-weight: 600;
line-height: 24px; /* 171.429% */
}

.visy_case_study-template-default h2.wp-block-heading,
.visy_case_study-template-default h3.wp-block-heading,
.visy_case_study-template-default h4.wp-block-heading,
.visy_case_study-template-default h5.wp-block-heading
{
    color:#102C4F !important;
}


.page-template-page-contact .primary-nav__inner .primary-nav__cta {
  display: none;
}

.page-template-page-contact .btn-orange.mobile-nav__cta {
  display: none;
}