/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-font-weight: initial;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-duration: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-ease: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-space-x-reverse: 0;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

:root, :host {
  --font-inter-tight: "Inter Tight", sans-serif;
  --font-pp-neue-montreal: var(--font-inter-tight);   /* Retired token */
  --color-primary-50: #f4f2fe;
  --color-primary-100: #ece8ff;
  --color-primary-200: #dcd4ff;
  --color-primary-300: #c3b1ff;
  --color-primary-400: #a585ff;
  --color-primary-500: #864ffe;
  --color-primary-600: #7c31f6;
  --color-secondary: #1a1a1c;
  --color-accent: #fcfcfc;
  --color-background-1: #fcfcfd;
  --color-background-2: #f9fafb;
  --color-background-3: #f4f5f8;
  --color-background-4: #f0f2f6;
  --color-background-5: #13171e;
  --color-background-6: #0f1217;
  --color-background-7: #181d26;
  --color-background-8: #070b10;
  --color-background-9: #1f252f;
  --color-background-12: #eaeceb;
  --color-stroke-1: #dfe4eb;
  --color-stroke-2: #e3e7ed;
  --color-stroke-3: #d7dde5;
  --color-stroke-4: #eceff4;
  --color-stroke-5: #1b232f;
  --color-stroke-6: #202731;
  --color-stroke-7: #2a333e;
  --color-stroke-8: #303b49;
  --color-stroke-9: var(--color-background-8);
  --color-ns-yellow: #f9eb57;
  --color-ns-green: #c6f56f;
  --color-ns-red: #ffb9a2;
  --color-ns-cyan: #83e7ee;
  --color-ns-green-light: #e8fbc6;
  --color-ns-cyan-light: #cdf5f8;
  --color-ns-yellow-light: #fdf7bc;
  --color-ns-ivory: #f4efe7;
  --color-ns-linen: #beab9a;
  --color-gradient-1: linear-gradient(135deg, #a585ff 0%, #ffc2ad 100%);
  --color-gradient-5: linear-gradient(165deg, #ffffff80 0.51%, #fff0 64.43%);
  --color-gradient-6: linear-gradient(#83e7ee 0%, #c6f56f 100%);
  --color-gradient-7: linear-gradient(#fff 0%, #83e7ee 100%);
  --color-gradient-8: linear-gradient(156deg, #fff 32.92%, #a585ff 91%);
  --color-gradient-9: linear-gradient(156deg, #dfb0ff 32.92%, #fdbedc 91%);
  --text-heading-1: 4.25rem;
  --text-heading-1--line-height: 110%;
  --text-heading-2: 3.25rem;
  --text-heading-2--line-height: 120%;
  --text-heading-3: 2.5rem;
  --text-heading-3--line-height: 120%;
  --text-heading-4: 2rem;
  --text-heading-4--line-height: 130%;
  --text-heading-5: 1.75rem;
  --text-heading-5--line-height: 140%;
  --text-heading-6: 1.25rem;
  --text-heading-6--line-height: 140%;
  --text-tagline-1: 1rem;
  --text-tagline-1--line-height: 150%;
  --text-tagline-2: .875rem;
  --text-tagline-2--line-height: 150%;
  --text-tagline-3: .75rem;
  --text-tagline-3--line-height: 150%;
  --blur-ns-badge-blur: 17.2283px;
  --stack-cards-gap: 2rem;
  --font-sans: "Inter Tight", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --color-red-400: oklch(70.4% .191 22.216);
  --color-black: #000;
  --color-white: #fff;
  --spacing: .25rem;
  --container-xs: 20rem;
  --container-md: 28rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --container-5xl: 64rem;
  --container-6xl: 72rem;
  --text-xs: .75rem;
  --text-xs--line-height: calc(1 / .75);
  --text-sm: .875rem;
  --text-sm--line-height: calc(1.25 / .875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --text-7xl: 4.5rem;
  --text-7xl--line-height: 1;
  --text-8xl: 6rem;
  --text-8xl--line-height: 1;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --radius-md: .375rem;
  --radius-lg: .5rem;
  --radius-xl: .75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-4xl: 2rem;
  --drop-shadow-2xl: 0 25px 25px #00000026;
  --ease-in: cubic-bezier(.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
  --blur-xl: 24px;
  --blur-3xl: 64px;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
}

.dark {
  --color-split-text: #fcfcfc;
}

@font-face {
  font-family: next-sass;
  src: url("../fonts/next-sass.eot?obdk3g");
  src: url("../fonts/next-sass.eot?obdk3g#iefix") format("embedded-opentype"), url("../fonts/next-sass.ttf?obdk3g") format("truetype"), url("../fonts/next-sass.woff?obdk3g") format("woff"), url("../fonts/next-sass.svg?obdk3g#next-sass") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="ns-"], [class*=" ns-"] {
  speak: never;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-family: next-sass !important;
}

.ns-shape-1:before {
  content: "";
}

.ns-shape-2:before {
  content: "";
}

.ns-shape-3:before {
  content: "";
}

.ns-shape-4:before {
  content: "";
}

.ns-shape-5:before {
  content: "";
}

.ns-shape-6:before {
  content: "";
}

.ns-shape-7:before {
  content: "";
}

.ns-shape-8:before {
  content: "";
}

.ns-shape-9:before {
  content: "";
}

.ns-shape-10:before {
  content: "";
}

.ns-shape-11:before {
  content: "";
}

.ns-shape-12:before {
  content: "";
}

.ns-shape-13:before {
  content: "";
}

.ns-shape-14:before {
  content: "";
}

.ns-shape-15:before {
  content: "";
}

.ns-shape-16:before {
  content: "";
}

.ns-shape-17:before {
  content: "";
}

.ns-shape-18:before {
  content: "";
}

.ns-shape-19:before {
  content: "";
}

.ns-shape-20:before {
  content: "";
}

.ns-shape-21:before {
  content: "";
}

.ns-shape-22:before {
  content: "";
}

.ns-shape-23:before {
  content: "";
}

.ns-shape-24:before {
  content: "";
}

.ns-shape-25:before {
  content: "";
}

.ns-shape-26:before {
  content: "";
}

.ns-shape-27:before {
  content: "";
}

.ns-shape-28:before {
  content: "";
}

.ns-shape-29:before {
  content: "";
}

.ns-shape-30:before {
  content: "";
}

.ns-shape-31:before {
  content: "";
}

.ns-shape-32:before {
  content: "";
}

.ns-shape-33:before {
  content: "";
}

.ns-shape-34:before {
  content: "";
}

.ns-shape-35:before {
  content: "";
}

.ns-shape-36:before {
  content: "";
}

.ns-shape-37:before {
  content: "";
}

.ns-shape-38:before {
  content: "";
}

.ns-shape-39:before {
  content: "";
}

.ns-shape-40:before {
  content: "";
}

.ns-shape-41:before {
  content: "";
}

.ns-shape-42:before {
  content: "";
}

.ns-shape-43:before {
  content: "";
}

.ns-shape-44:before {
  content: "";
}

.ns-shape-45:before {
  content: "";
}

.ns-shape-46:before {
  content: "";
}

.ns-shape-47:before {
  content: "";
}

.ns-shape-48:before {
  content: "";
}

.ns-shape-49:before {
  content: "";
}

.ns-shape-50:before {
  content: "";
}

.ns-shape-51:before {
  content: "";
}

.ns-shape-52:before {
  content: "";
}

.ns-shape-53:before {
  content: "";
}

.ns-shape-54:before {
  content: "";
}

.ns-shape-55:before {
  content: "";
}

.ns-shape-56:before {
  content: "";
}

.ns-shape-57:before {
  content: "";
}

.ns-shape-58:before {
  content: "";
}

.ns-shape-59:before {
  content: "";
}

.ns-shape-60:before {
  content: "";
}

.ns-shape-61:before {
  content: "";
}

.ns-shape-62:before {
  content: "";
}

.ns-shape-63:before {
  content: "";
}

.ns-shape-64:before {
  content: "";
}

.ns-shape-65:before {
  content: "";
}

.ns-shape-66:before {
  content: "";
}

.ns-shape-67:before {
  content: "";
}

.ns-shape-68:before {
  content: "";
}

.ns-shape-69:before {
  content: "";
}

.ns-shape-70:before {
  content: "";
}

.ns-shape-71:before {
  content: "";
}

.ns-shape-72:before {
  content: "";
}

.ns-shape-73:before {
  content: "";
}

.ns-shape-74:before {
  content: "";
}

.ns-shape-75:before {
  content: "";
}

.ns-shape-76:before {
  content: "";
}

.ns-shape-77:before {
  content: "";
}

.ns-shape-78:before {
  content: "";
}

.ns-shape-79:before {
  content: "";
}

.ns-shape-80:before {
  content: "";
}

.ns-shape-81:before {
  content: "";
}

.ns-shape-82:before {
  content: "";
}

.ns-shape-83:before {
  content: "";
}

.ns-shape-84:before {
  content: "";
}

.ns-shape-85:before {
  content: "";
}

.ns-shape-86:before {
  content: "";
}

.ns-shape-87:before {
  content: "";
}

.ns-shape-88:before {
  content: "";
}

.ns-shape-89:before {
  content: "";
}

.ns-shape-90:before {
  content: "";
}

.ns-shape-91:before {
  content: "";
}

.ns-shape-92:before {
  content: "";
}

.ns-shape-93:before {
  content: "";
}

.ns-shape-94:before {
  content: "";
}

.ns-shape-95:before {
  content: "";
}

.ns-shape-96:before {
  content: "";
}

.ns-shape-97:before {
  content: "";
}

.ns-shape-98:before {
  content: "";
}

.ns-shape-99:before {
  content: "";
}

.ns-shape-100:before {
  content: "";
}

.ns-shape-101:before {
  content: "";
}

.ns-shape-102:before {
  content: "";
}

.ns-shape-103:before {
  content: "";
}

.ns-shape-104:before {
  content: "";
}

.ns-shape-105:before {
  content: "";
}

.ns-shape-106:before {
  content: "";
}

.ns-shape-107:before {
  content: "";
}

.ns-shape-108:before {
  content: "";
}

.ns-shape-109:before {
  content: "";
}

.ns-shape-110:before {
  content: "";
}

.ns-shape-111:before {
  content: "";
}

.ns-shape-112:before {
  content: "";
}

.ns-shape-113:before {
  content: "";
}

.ns-shape-114:before {
  content: "";
}

.ns-shape-115:before {
  content: "";
}

.ns-shape-116:before {
  content: "";
}

.ns-shape-117:before {
  content: "";
}

.ns-shape-118:before {
  content: "";
}

.ns-shape-119:before {
  content: "";
}

.ns-shape-120:before {
  content: "";
}

.ns-shape-121:before {
  content: "";
}

.ns-shape-122:before {
  content: "";
}

.ns-shape-123:before {
  content: "";
}

.ns-shape-124:before {
  content: "";
}

.ns-shape-125:before {
  content: "";
}

.ns-shape-126:before {
  content: "";
}

.ns-shape-127:before {
  content: "";
}

.ns-shape-128:before {
  content: "";
}

body {
  font-family: var(--font-inter-tight);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}

[data-ns-animate] {
  opacity: 0;
}

.scroll-bar::-webkit-scrollbar {
  display: none;
}

.scroll-bar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.footer-link-v2 {
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-secondary);
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.footer-link-v2:before {
  content: var(--tw-content);
  content: var(--tw-content);
  bottom: calc(var(--spacing) * 0);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  content: var(--tw-content);
  content: var(--tw-content);
  transform-origin: 100%;
  content: var(--tw-content);
  --tw-scale-x: 0%;
  width: 100%;
  height: 1px;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  content: var(--tw-content);
  background-color: var(--color-secondary);
  content: var(--tw-content);
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  content: var(--tw-content);
  --tw-duration: .5s;
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  transition-duration: .5s;
  position: absolute;
}

@media (hover: hover) {
  .footer-link-v2:hover:before {
    content: var(--tw-content);
    transform-origin: 0;
    content: var(--tw-content);
    --tw-scale-x: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}

@media not all and (min-width: 426px) {
  .footer-link-v2 {
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
  }
}

.footer-link-v2:where(.dark, .dark *) {
  color: var(--color-accent);
}

.footer-link-v2:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-white);
}

.footer-social-link {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  transition-duration: .3s;
}

@media (hover: hover) {
  .footer-social-link:hover {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
}

.group:hover .flipper {
  --tw-rotate-y: rotateY(180deg);
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
}

.front, .back {
  backface-visibility: hidden;
}

.front {
  z-index: 20;
}

.back {
  z-index: 10;
  --tw-rotate-y: rotateY(180deg);
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
}

.details-body h4:where(.dark, .dark *) {
  color: var(--color-accent);
}

.details-body h4:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-accent);
}

.details-body ul li:where(.dark, .dark *) {
  color: var(--color-accent);
}

.details-body ul li:where(.dark, .dark *):before {
  content: var(--tw-content);
  --tw-content: url("../images/icons/checkmark-white.svg");
  content: var(--tw-content);
}

.details-body ol li:first-child:where(.dark, .dark *) {
  color: var(--color-accent);
}

.details-body ol li:first-child:where(.dark, .dark *):before {
  content: var(--tw-content);
  --tw-content: url("../images/icons/checkmark-white.svg");
  content: var(--tw-content);
}

.details-body ol li:nth-child(2):where(.dark, .dark *) {
  color: var(--color-accent);
}

.details-body ol li:nth-child(2):where(.dark, .dark *):before {
  content: var(--tw-content);
  --tw-content: url("../images/icons/checkmark-white.svg");
  content: var(--tw-content);
}

.details-body ol li:last-child:where(.dark, .dark *) {
  color: var(--color-accent);
}

.details-body ol li:last-child:where(.dark, .dark *):before {
  content: var(--tw-content);
  --tw-content: url("../images/icons/checkmark-white.svg");
  content: var(--tw-content);
}

.terms-conditions-body h3 {
  margin-top: calc(var(--spacing) * 10);
  margin-bottom: calc(var(--spacing) * 3);
  font-size: var(--text-heading-5);
  line-height: var(--tw-leading, var(--text-heading-5--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
}

@media (min-width: 48rem) {
  .terms-conditions-body h3 {
    font-size: var(--text-heading-4);
    line-height: var(--tw-leading, var(--text-heading-4--line-height));
    margin-top: 70px;
  }
}

.terms-conditions-body p strong {
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: var(--color-secondary);
}

.terms-conditions-body a {
  margin-top: calc(var(--spacing) * 14);
}

@media (min-width: 48rem) {
  .terms-conditions-body a {
    margin-top: 70px;
  }
}

.terms-conditions-body ul li {
  margin-bottom: calc(var(--spacing) * 2);
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: #1a1a1c99;
}

@supports (color: color-mix(in lab, red, red)) {
  .terms-conditions-body ul li {
    color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
  }
}

.terms-conditions-body ul li:before {
  content: var(--tw-content);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  margin-right: calc(var(--spacing) * 2);
  content: var(--tw-content);
  content: var(--tw-content);
  height: calc(var(--spacing) * 1.5);
  content: var(--tw-content);
  width: calc(var(--spacing) * 1.5);
  content: var(--tw-content);
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  content: var(--tw-content);
  content: var(--tw-content);
  background-color: var(--color-secondary);
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  border-radius: 3.40282e38px;
  display: inline-block;
  position: relative;
}

.terms-conditions-body ul li:where(.dark, .dark *) {
  color: #fcfcfc99;
}

@supports (color: color-mix(in lab, red, red)) {
  .terms-conditions-body ul li:where(.dark, .dark *) {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

.terms-conditions-body ul li:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-accent);
}

:is(.refund-policy, .process-steps, .privacy-policy, .changelog, .documentation, .analytics) ul li {
  list-style-type: none;
}

:is(.refund-policy, .process-steps, .privacy-policy, .changelog, .documentation, .analytics) ul li:before {
  content: var(--tw-content);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  margin-right: calc(var(--spacing) * 2);
  content: var(--tw-content);
  content: var(--tw-content);
  height: calc(var(--spacing) * 1.5);
  content: var(--tw-content);
  width: calc(var(--spacing) * 1.5);
  content: var(--tw-content);
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  content: var(--tw-content);
  content: var(--tw-content);
  background-color: var(--color-secondary);
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  border-radius: 3.40282e38px;
  display: inline-block;
  position: relative;
}

:is(.refund-policy, .process-steps, .privacy-policy, .changelog, .documentation, .analytics) ul li:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-accent);
}

.auth-form-input {
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-stroke-3);
  background-color: var(--color-background-1);
  width: 100%;
  height: 45px;
  padding-inline: 18px;
  padding-block: calc(var(--spacing) * 3);
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-secondary);
  border-radius: 3.40282e38px;
  display: block;
}

.auth-form-input::placeholder {
  font-size: var(--text-tagline-2);
  line-height: var(--tw-leading, var(--text-tagline-2--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: #1a1a1c99;
}

@supports (color: color-mix(in lab, red, red)) {
  .auth-form-input::placeholder {
    color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
  }
}

.auth-form-input:focus {
  --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --tw-outline-style: none;
  outline-style: none;
}

.auth-form-input:where(.dark, .dark *) {
  border-color: var(--color-stroke-7);
  background-color: var(--color-background-6);
  color: var(--color-accent);
}

.auth-form-input:where(.dark, .dark *)::placeholder {
  color: #fcfcfc99;
}

@supports (color: color-mix(in lab, red, red)) {
  .auth-form-input:where(.dark, .dark *)::placeholder {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

.case-study-feature ul li:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-accent);
}

.modal-open {
  display: grid;
}

.modal-close {
  display: none;
}

.stack-cards {
  --stack-cards-gap: 24px;
}

.stack-cards__item {
  top: calc(var(--spacing) * 28);
  transform-origin: top;
  position: sticky;
  overflow: hidden;
}

@keyframes top-to-bottom {
  0% {
    top: -30%;
  }

  50% {
    top: 50%;
  }

  100% {
    top: 100%;
  }
}

.gradient-line-1 {
  animation: 6s linear infinite top-to-bottom;
}

.gradient-line-2 {
  animation: 6s linear .9s infinite top-to-bottom;
}

.gradient-line-3 {
  animation: 6s linear 1.5s infinite top-to-bottom;
}

.gradient-line-4 {
  animation: 6s linear 10ms infinite top-to-bottom;
}

.gradient-line-5 {
  animation: 6s linear 1.8s infinite top-to-bottom;
}

.gradient-line-6 {
  animation: 6s linear .6s infinite top-to-bottom;
}

.gradient-line-7 {
  animation: 6s linear 2s infinite top-to-bottom;
}

.gradient-line-8 {
  animation: 6s linear 1.2s infinite top-to-bottom;
}

.table-of-contents .table-of-list li {
  cursor: pointer;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
}

.table-of-contents .table-of-list li:hover span:first-child, .table-of-contents .table-of-list li:hover a span {
  color: var(--color-secondary);
}

:is(.table-of-contents .table-of-list li:hover span:first-child, .table-of-contents .table-of-list li:hover a span):where(.dark, .dark *) {
  color: var(--color-accent);
}

.table-of-contents .table-of-list li span:last-child {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
}

.table-of-contents .table-of-list li:hover span:last-child {
  opacity: .6;
}

@keyframes textAnimate {
  0% {
    background-position: 0%;
  }

  50% {
    background-position: 100%;
  }

  100% {
    background-position: 0%;
  }
}

#theme-toggle:before {
  height: 7px;
  width: calc(var(--spacing) * 3.5);
  --tw-gradient-position: circle at 0 100%, transparent 6px, var(--color-background-8) 7px;
  background-image: radial-gradient(var(--tw-gradient-stops, circle at 0 100%, transparent 6px, var(--color-background-8) 7px));
  --tw-content: "";
  content: var(--tw-content);
  background-repeat: no-repeat;
  background-size: 50% 100%;
  position: absolute;
  top: -3px;
  right: -4px;
  rotate: 90deg;
}

#theme-toggle:after {
  height: 7px;
  width: calc(var(--spacing) * 3.5);
  --tw-gradient-position: circle at 0 100%, transparent 6px, var(--color-background-8) 7px;
  background-image: radial-gradient(var(--tw-gradient-stops, circle at 0 100%, transparent 6px, var(--color-background-8) 7px));
  --tw-content: "";
  content: var(--tw-content);
  background-repeat: no-repeat;
  background-size: 50% 100%;
  position: absolute;
  bottom: -7px;
  right: -7px;
  rotate: none;
}

.dark #theme-toggle:before, .dark #theme-toggle:after {
  --tw-gradient-position: circle at 0 100%, transparent 6px, #fff 7px;
  background-image: radial-gradient(var(--tw-gradient-stops, circle at 0 100%, transparent 6px, #fff 7px));
}

.after {
  clip-path: inset(0 50% 0 0);
}

.slider-handle.no-transition, .slider-handle.no-transition .handle-circle {
  transition: none !important;
}

.glossary-card {
  display: none;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.voice-sample-item-active {
  background-color: var(--color-ns-linen);
}

@layer theme;

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-inter-tight);
    color: var(--color-secondary);
  }

  :is(h1, h2, h3, h4, h5, h6):where(.dark, .dark *) {
    color: var(--color-accent);
  }

  h1 {
    font-size: var(--text-heading-4);
    line-height: var(--tw-leading, var(--text-heading-4--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  @media (min-width: 40rem) {
    h1 {
      font-size: var(--text-heading-3);
      line-height: var(--tw-leading, var(--text-heading-3--line-height));
    }
  }

  @media (min-width: 48rem) {
    h1 {
      font-size: var(--text-heading-2);
      line-height: var(--tw-leading, var(--text-heading-2--line-height));
    }
  }

  @media (min-width: 80rem) {
    h1 {
      font-size: var(--text-heading-1);
      line-height: var(--tw-leading, var(--text-heading-1--line-height));
    }
  }

  h2 {
    font-size: var(--text-heading-5);
    line-height: var(--tw-leading, var(--text-heading-5--line-height));
  }

  @media (min-width: 40rem) {
    h2 {
      font-size: var(--text-heading-4);
      line-height: var(--tw-leading, var(--text-heading-4--line-height));
    }
  }

  @media (min-width: 48rem) {
    h2 {
      font-size: var(--text-heading-3);
      line-height: var(--tw-leading, var(--text-heading-3--line-height));
    }
  }

  @media (min-width: 80rem) {
    h2 {
      font-size: var(--text-heading-2);
      line-height: var(--tw-leading, var(--text-heading-2--line-height));
    }
  }

  h3 {
    font-size: var(--text-heading-5);
    line-height: var(--tw-leading, var(--text-heading-5--line-height));
  }

  @media (min-width: 48rem) {
    h3 {
      font-size: var(--text-heading-4);
      line-height: var(--tw-leading, var(--text-heading-4--line-height));
    }
  }

  @media (min-width: 80rem) {
    h3 {
      font-size: var(--text-heading-3);
      line-height: var(--tw-leading, var(--text-heading-3--line-height));
    }
  }

  h4 {
    font-size: var(--text-heading-4);
    line-height: var(--tw-leading, var(--text-heading-4--line-height));
  }

  h5 {
    font-size: var(--text-heading-5);
    line-height: var(--tw-leading, var(--text-heading-5--line-height));
  }

  h6 {
    font-size: var(--text-heading-6);
    line-height: var(--tw-leading, var(--text-heading-6--line-height));
  }

  p {
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    p {
      color: #333;
    }
  }

  @media (min-width: 40rem) {
    p {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }
  }

  p:where(.dark, .dark *) {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    p:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }
}

@layer components;

@layer utilities {

  .pointer-events-none {
    pointer-events: none;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .btn {
    cursor: pointer;
    border-style: var(--tw-border-style);
    text-align: center;
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    text-wrap: nowrap;
    text-transform: lowercase;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .5s;
    --tw-ease: var(--ease-in-out);
    transition-duration: .5s;
    transition-timing-function: var(--ease-in-out);
    border-width: 1px;
    border-radius: 3.40282e38px;
    display: inline-block;
    position: relative;
    overflow: hidden;
  }

  @media (hover: hover) {
    .btn:hover {
      --tw-scale-x: 102%;
      --tw-scale-y: 102%;
      --tw-scale-z: 102%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  .btn span {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .3s;
    --tw-ease: var(--ease-in-out);
    transition-duration: .3s;
    transition-timing-function: var(--ease-in-out);
    display: inline-block;
  }

  .btn span:first-letter {
    text-transform: uppercase;
  }

  .btn:before {
    content: "";
    top: 50%;
    right: calc(var(--spacing) * 0);
    height: calc(var(--spacing) * 0);
    width: calc(var(--spacing) * 0);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 0;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .3s;
    --tw-ease: var(--ease-in-out);
    transition-duration: .3s;
    transition-timing-function: var(--ease-in-out);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
  }

  .btn:hover:before {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
    --tw-translate-x: calc(var(--spacing) * -4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 1;
  }

  .btn:hover span {
    --tw-translate-x: calc(var(--spacing) * -2);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .footer-link {
    font-size: var(--text-tagline-1);
    line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--color-primary-50);
    display: inline-block;
    position: relative;
    overflow: hidden;
  }

  .footer-link:before {
    content: var(--tw-content);
    content: var(--tw-content);
    bottom: calc(var(--spacing) * 0);
    content: var(--tw-content);
    left: calc(var(--spacing) * 0);
    content: var(--tw-content);
    content: var(--tw-content);
    content: var(--tw-content);
    transform-origin: 100%;
    content: var(--tw-content);
    --tw-scale-x: 0%;
    width: 100%;
    height: 1px;
    scale: var(--tw-scale-x) var(--tw-scale-y);
    content: var(--tw-content);
    background-color: var(--color-white);
    content: var(--tw-content);
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    content: var(--tw-content);
    --tw-duration: .5s;
    content: var(--tw-content);
    --tw-content: "";
    content: var(--tw-content);
    transition-duration: .5s;
    position: absolute;
  }

  @media (hover: hover) {
    .footer-link:hover:before {
      content: var(--tw-content);
      transform-origin: 0;
      content: var(--tw-content);
      --tw-scale-x: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media not all and (min-width: 426px) {
    .footer-link {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  .footer-link:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-color: var(--color-white);
  }

  .sr-only {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .top-full {
    top: 100%;
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1 {
    left: calc(var(--spacing) * 1);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .left-5 {
    left: calc(var(--spacing) * 5);
  }

  .z-0 {
    z-index: 0;
  }

  .z-1 {
    z-index: 1;
  }

  .z-10 {
    z-index: 10;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .col-span-4 {
    grid-column: span 4 / span 4;
  }

  .col-span-12 {
    grid-column: span 12 / span 12;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 1440px) {
    .container {
      max-width: 1440px;
    }
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .main-container {
    max-width: 1420px;
    padding-inline: calc(var(--spacing) * 5);
    margin-inline: auto;
  }

  @media (min-width: 1440px) {
    .main-container {
      padding-inline: calc(var(--spacing) * 0);
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-4 {
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .badge {
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 1.5);
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    text-wrap: nowrap;
    color: var(--color-secondary);
    text-transform: lowercase;
    --tw-backdrop-blur: blur(var(--blur-ns-badge-blur));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    border-radius: 3.40282e38px;
    display: inline-block;
  }

  .badge:first-letter {
    text-transform: uppercase;
  }

  .\!block {
    display: block !important;
  }

  .\!hidden {
    display: none !important;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .btn-md {
    min-width: 90px;
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 2.5);
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
  }

  .btn-md:hover:before {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
    --tw-translate-x: calc(var(--spacing) * -3.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 1;
  }

  .btn-base:hover:before {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
    --tw-translate-x: calc(var(--spacing) * -3);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 1;
  }

  .btn-xl:hover:before {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
    --tw-translate-x: calc(var(--spacing) * -4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    opacity: 1;
  }

  .btn-v3-lg [data-button-v3-icon] {
    width: calc(var(--spacing) * 11);
    height: calc(var(--spacing) * 11);
  }

  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }

  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }

  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .size-11 {
    width: calc(var(--spacing) * 11);
    height: calc(var(--spacing) * 11);
  }

  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  @media (hover: hover) {
    .btn-xl-v2:hover {
      --tw-scale-x: 102%;
      --tw-scale-y: 102%;
      --tw-scale-z: 102%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  .h-0 {
    height: calc(var(--spacing) * 0);
  }

  .h-0\.5 {
    height: calc(var(--spacing) * .5);
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-\[85vh\] {
    height: 85vh;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-screen {
    height: 100vh;
  }

  .min-h-\[190px\] {
    min-height: 190px;
  }

  .min-h-\[272px\] {
    min-height: 272px;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-\[320px\] {
    width: 320px;
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .max-w-\[44px\] {
    max-width: 44px;
  }

  .max-w-\[212px\] {
    max-width: 212px;
  }

  .max-w-\[306px\] {
    max-width: 306px;
  }

  .max-w-full {
    max-width: 100%;
  }

  .min-w-\[320px\] {
    min-width: 320px;
  }

  .min-w-\[692px\] {
    min-width: 692px;
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .origin-center {
    transform-origin: center;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1\/2 {
    --tw-translate-x: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-full {
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-px {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  @media (hover: hover) {
    .btn-lg-v2:hover {
      --tw-scale-x: 102%;
      --tw-scale-y: 102%;
      --tw-scale-z: 102%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  .-rotate-45 {
    rotate: -45deg;
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .rotate-90 {
    rotate: 90deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .columns-1 {
    columns: 1;
  }

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

  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

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

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  :where(.space-y-0 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-0 {
    column-gap: calc(var(--spacing) * 0);
  }

  .gap-x-1 {
    column-gap: calc(var(--spacing) * 1);
  }

  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }

  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }

  .gap-x-12 {
    column-gap: calc(var(--spacing) * 12);
  }

  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }

  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }

  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }

  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }

  .gap-y-8 {
    row-gap: calc(var(--spacing) * 8);
  }

  .gap-y-16 {
    row-gap: calc(var(--spacing) * 16);
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-\[10px\] {
    border-radius: 10px;
  }

  .rounded-\[14px\] {
    border-radius: 14px;
  }

  .rounded-\[20px\] {
    border-radius: 20px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-l-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-bottom-left-radius: var(--radius-3xl);
  }

  .btn-dark {
    border-style: var(--tw-border-style);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #fcfcfc1a;
    border-width: 0;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .btn-dark {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .btn-light {
    border-style: var(--tw-border-style);
    background-color: var(--color-background-1);
    color: var(--color-secondary);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-width: 0;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .btn-primary {
    border-color: var(--color-primary-600);
    background-color: var(--color-primary-500);
    color: var(--color-white);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .btn-primary:where(.dark, .dark *) {
    border-color: var(--color-primary-400);
  }

  .btn-primary:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .btn-secondary {
    border-color: var(--color-black);
    background-color: var(--color-secondary);
    color: var(--color-white);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .btn-secondary:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .btn-white-dark {
    border-color: var(--color-stroke-7);
    background-color: var(--color-background-6);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .btn-white-dark:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .border-ns-yellow {
    border-color: var(--color-ns-yellow);
  }

  .border-stroke-1 {
    border-color: var(--color-stroke-1);
  }

  .border-stroke-3 {
    border-color: var(--color-stroke-3);
  }

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

  .btn-v3-primary [data-button-v3-icon] {
    background-color: var(--color-white);
    fill: var(--color-secondary);
  }

  .btn-v3-secondary [data-button-v3-icon] {
    background-color: var(--color-white);
    fill: var(--color-secondary);
  }

  .btn-v3-stone [data-button-v3-icon] {
    background-color: var(--color-white);
    fill: var(--color-secondary);
  }

  .btn-v3-white [data-button-v3-icon] {
    background-color: var(--color-secondary);
    fill: var(--color-white);
  }

  .badge-secondary:where(.dark, .dark *) {
    background-color: var(--color-accent);
    color: var(--color-secondary);
  }

  .badge-gray-light-v2 {
    background-color: var(--color-background-12);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-secondary);
  }

  .badge-blur-v2:where(.dark, .dark *) {
    background-color: #1a1a1c33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-blur-v2:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
    }
  }

  .badge-blur-v2:where(.dark, .dark *) {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-blur-v2:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .badge-gray-light {
    background-color: var(--color-background-3);
    color: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-gray-light {
      color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }

  .badge-gray-light:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-gray-light:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-gray-light:where(.dark, .dark *) {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-gray-light:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .badge-primary:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-primary:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-primary:where(.dark, .dark *) {
    color: var(--color-ns-green);
  }

  .badge-secondary-light {
    color: var(--color-primary-50);
    background-color: #1a1a1c33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-secondary-light {
      background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
    }
  }

  .badge-secondary-light:where(.dark, .dark *) {
    background-color: #fcfcfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-secondary-light:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }

  .badge-secondary-light:where(.dark, .dark *) {
    color: var(--color-accent);
  }

  .badge-white:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-white:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-white:where(.dark, .dark *) {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-white:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .\!badge-cyan:where(.dark, .dark *) {
    background-color: #fcfcfc1a !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\!badge-cyan:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent) !important;
    }
  }

  .\!badge-cyan:where(.dark, .dark *) {
    color: var(--color-ns-green) !important;
  }

  .badge-blur-light {
    color: var(--color-accent);
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-blur-light {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-blur-light:where(.dark, .dark *) {
    color: var(--color-ns-yellow);
  }

  .badge-cyan:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-cyan:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-cyan:where(.dark, .dark *) {
    color: var(--color-ns-green);
  }

  .badge-cyan-v2:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-cyan-v2:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-cyan-v2:where(.dark, .dark *) {
    color: var(--color-ns-cyan);
  }

  .badge-gray:where(.dark, .dark *) {
    background-color: #1a1a1c66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-gray:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-secondary) 40%, transparent);
    }
  }

  .badge-gray:where(.dark, .dark *) {
    color: var(--color-accent);
  }

  .badge-green:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-green:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-green:where(.dark, .dark *) {
    color: var(--color-ns-yellow);
  }

  .badge-green-v2:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-green-v2:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-green-v2:where(.dark, .dark *) {
    color: var(--color-ns-green);
  }

  .badge-primary-light {
    background-color: var(--color-primary-100);
  }

  .badge-primary-light:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-primary-light:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-primary-light:where(.dark, .dark *) {
    color: var(--color-accent);
  }

  .badge-yellow:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-yellow:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-yellow:where(.dark, .dark *) {
    color: var(--color-ns-yellow);
  }

  .badge-yellow-v2:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .badge-yellow-v2:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .badge-yellow-v2:where(.dark, .dark *) {
    color: var(--color-ns-cyan);
  }

  .badge-ns-green-light {
    background-color: var(--color-ns-green-light);
  }

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

  .bg-accent\/5 {
    background-color: #fcfcfc0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-accent\/5 {
      background-color: color-mix(in oklab, var(--color-accent) 5%, transparent);
    }
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-ns-yellow-light {
    background-color: var(--color-ns-yellow-light);
  }

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

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

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

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

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

  .bg-stroke-9\/60 {
    background-color: #070b1099;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-stroke-9\/60 {
      background-color: color-mix(in oklab, var(--color-stroke-9) 60%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

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

  .bg-linear-to-b {
    --tw-gradient-position: to bottom;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-b {
      --tw-gradient-position: to bottom in oklab;
    }
  }

  .bg-linear-to-t {
    --tw-gradient-position: to top;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-t {
      --tw-gradient-position: to top in oklab;
    }
  }

  .bg-linear-\[135deg\,\#ffffff_0\%\,\#a585ff_100\%\] {
    --tw-gradient-position: 135deg, #fff 0%, #a585ff 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 135deg, #fff 0%, #a585ff 100%));
  }

  .bg-linear-\[156deg\,\#83E7EE_2\.92\%\,\#C6F56F_91\%\] {
    --tw-gradient-position: 156deg, #83e7ee 2.92%, #c6f56f 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #83e7ee 2.92%, #c6f56f 91%));
  }

  .bg-linear-\[156deg\,\#E6F7FF_12\.92\%\,\#1890FF_91\%\] {
    --tw-gradient-position: 156deg, #e6f7ff 12.92%, #1890ff 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #e6f7ff 12.92%, #1890ff 91%));
  }

  .bg-linear-\[156deg\,\#E8F4FD_12\.92\%\,\#4A90E2_91\%\] {
    --tw-gradient-position: 156deg, #e8f4fd 12.92%, #4a90e2 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #e8f4fd 12.92%, #4a90e2 91%));
  }

  .bg-linear-\[156deg\,\#F0E6FF_12\.92\%\,\#8B5CF6_91\%\] {
    --tw-gradient-position: 156deg, #f0e6ff 12.92%, #8b5cf6 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #f0e6ff 12.92%, #8b5cf6 91%));
  }

  .bg-linear-\[156deg\,\#F4F8E7_12\.92\%\,\#D485FF_91\%\] {
    --tw-gradient-position: 156deg, #f4f8e7 12.92%, #d485ff 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #f4f8e7 12.92%, #d485ff 91%));
  }

  .bg-linear-\[156deg\,\#FFF2E8_12\.92\%\,\#FF6B35_91\%\] {
    --tw-gradient-position: 156deg, #fff2e8 12.92%, #ff6b35 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff2e8 12.92%, #ff6b35 91%));
  }

  .bg-linear-\[156deg\,\#FFF7E6_12\.92\%\,\#FF8C00_91\%\] {
    --tw-gradient-position: 156deg, #fff7e6 12.92%, #ff8c00 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff7e6 12.92%, #ff8c00 91%));
  }

  .bg-linear-\[156deg\,\#FFF_32\.92\%\,\#A585FF_91\%\] {
    --tw-gradient-position: 156deg, #fff 32.92%, #a585ff 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 32.92%, #a585ff 91%));
  }

  .bg-linear-\[156deg\,\#a585ff_32\.92\%\,\#A585FF_91\%\] {
    --tw-gradient-position: 156deg, #a585ff 32.92%, #a585ff 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #a585ff 32.92%, #a585ff 91%));
  }

  .bg-linear-\[156deg\,\#ffffff_0\%\,\#83E7EE_100\%\] {
    --tw-gradient-position: 156deg, #fff 0%, #83e7ee 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 0%, #83e7ee 100%));
  }

  .bg-linear-\[156deg\,_\#FFF_32\.92\%\,_\#83E7EE_91\%\] {
    --tw-gradient-position: 156deg, #fff 32.92%, #83e7ee 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 32.92%, #83e7ee 91%));
  }

  .bg-linear-\[156deg\,_\#FFF_32\.92\%\,_\#A585FF_91\%\] {
    --tw-gradient-position: 156deg, #fff 32.92%, #a585ff 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 32.92%, #a585ff 91%));
  }

  .bg-linear-\[156deg\,_\#FFF_32\.92\%\,_\#C6F56F_91\%\] {
    --tw-gradient-position: 156deg, #fff 32.92%, #c6f56f 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 32.92%, #c6f56f 91%));
  }

  .bg-linear-\[156deg\,_\#FFF_32\.92\%\,_\#FFB9A2_91\%\] {
    --tw-gradient-position: 156deg, #fff 32.92%, #ffb9a2 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #fff 32.92%, #ffb9a2 91%));
  }

  .bg-linear-\[180deg\,\#A585FF\,\#FFC2AD\] {
    --tw-gradient-position: 180deg, #a585ff, #ffc2ad;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #a585ff, #ffc2ad));
  }

  .bg-linear-\[180deg\,\#A585FF_0\%\,\#FFC2AD_100\%\] {
    --tw-gradient-position: 180deg, #a585ff 0%, #ffc2ad 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #a585ff 0%, #ffc2ad 100%));
  }

  .bg-linear-\[180deg\,\#DFE4EB_0\%\,\#dfe4eb00_100\%\] {
    --tw-gradient-position: 180deg, #dfe4eb 0%, #dfe4eb00 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #dfe4eb 0%, #dfe4eb00 100%));
  }

  .bg-linear-\[180deg\,\#a585ff_0\%\,\#ffc2ac_100\%\] {
    --tw-gradient-position: 180deg, #a585ff 0%, #ffc2ac 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #a585ff 0%, #ffc2ac 100%));
  }

  .bg-linear-\[180deg\,\#ffffff_0\%\,\#83e7ee_100\%\] {
    --tw-gradient-position: 180deg, #fff 0%, #83e7ee 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #fff 0%, #83e7ee 100%));
  }

  .bg-linear-\[180deg\,_\#B3C3DA_0\%\,_\#93A5BE_100\%\] {
    --tw-gradient-position: 180deg, #b3c3da 0%, #93a5be 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #b3c3da 0%, #93a5be 100%));
  }

  .hero-bg-overlay-light {
    --tw-gradient-position: 180deg, #fffc 43.93%, #fff 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #fffc 43.93%, #fff 100%));
  }

  .bg-\[repeating-linear-gradient\(to_right\,_rgba\(0\,0\,0\,0\.2\)_0_4px\,_transparent_4px_8px\)\] {
    background-image: repeating-linear-gradient(to right, #0003 0 4px, #0000 4px 8px);
  }

  .bg-\[url\(\'\/images\/ns-img-25\.png\'\)\] {
    background-image: url("../images/ns-img-25.png");
  }

  .bg-\[url\(\'\/images\/ns-img-26\.jpg\'\)\] {
    background-image: url("../images/ns-img-26.jpg");
  }

  .bg-\[url\(\'\/images\/ns-img-55\.svg\'\)\] {
    background-image: url("../images/ns-img-55.svg");
  }

  .bg-\[url\(\'\/images\/ns-img-85\.png\'\)\] {
    background-image: url("../images/ns-img-85.png");
  }

  .bg-\[url\(\'\/images\/ns-img-128\.svg\'\)\] {
    background-image: url("../images/ns-img-128.svg");
  }

  .bg-\[url\(\'\/images\/ns-img-160\.png\'\)\] {
    background-image: url("../images/ns-img-160.png");
  }

  .bg-\[url\(\'\/images\/ns-img-170\.png\'\)\] {
    background-image: url("../images/ns-img-170.png");
  }

  .bg-\[url\(\'\/images\/ns-img-218\.svg\'\)\] {
    background-image: url("../images/ns-img-218.svg");
  }

  .bg-\[url\(\'\/images\/ns-img-221\.png\'\)\] {
    background-image: url("../images/ns-img-221.png");
  }

  .bg-\[url\(\'\/images\/ns-img-223\.png\'\)\] {
    background-image: url("../images/ns-img-223.png");
  }

  .bg-\[url\(\'\/images\/ns-img-242\.png\'\)\] {
    background-image: url("../images/ns-img-242.png");
  }

  .bg-\[url\(\'\/images\/ns-img-247\.svg\'\)\] {
    background-image: url("../images/ns-img-247.svg");
  }

  .bg-\[url\(\'\/images\/ns-img-261\.svg\'\)\] {
    background-image: url("../images/ns-img-261.svg");
  }

  .bg-\[url\(\'\/images\/ns-img-291\.png\'\)\] {
    background-image: url("../images/ns-img-291.png");
  }

  .bg-\[url\(\'\/images\/ns-img-295\.jpg\'\)\] {
    background-image: url("../images/ns-img-295.jpg");
  }

  .bg-\[url\(\'\/images\/ns-img-329\.png\'\)\] {
    background-image: url("../images/ns-img-329.png");
  }

  .bg-\[url\(\'\/images\/ns-img-496\.png\'\)\] {
    background-image: url("../images/ns-img-496.png");
  }

  .bg-\[url\(\'\/images\/ns-img-501\.png\'\)\] {
    background-image: url("../images/ns-img-501.png");
  }

  .bg-\[url\(\'\/images\/ns-img-527\.png\'\)\] {
    background-image: url("../images/ns-img-527.png");
  }

  .from-ns-yellow-light {
    --tw-gradient-from: var(--color-ns-yellow-light);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .fill-accent {
    fill: var(--color-accent);
  }

  .fill-ns-green {
    fill: var(--color-ns-green);
  }

  .fill-secondary {
    fill: var(--color-secondary);
  }

  .stroke-accent {
    stroke: var(--color-accent);
  }

  .stroke-accent\/60 {
    stroke: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .stroke-accent\/60 {
      stroke: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .stroke-ns-green {
    stroke: var(--color-ns-green);
  }

  .stroke-secondary {
    stroke: var(--color-secondary);
  }

  .stroke-secondary\/60 {
    stroke: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .stroke-secondary\/60 {
      stroke: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }

  .stroke-0 {
    stroke-width: 0;
  }

  .stroke-3 {
    stroke-width: 3px;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-9 {
    padding: calc(var(--spacing) * 9);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }

  .pt-20 {
    padding-top: calc(var(--spacing) * 20);
  }

  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }

  .pt-\[80px\] {
    padding-top: 80px;
  }

  .pt-\[100px\] {
    padding-top: 100px;
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .pb-\[60px\] {
    padding-bottom: 60px;
  }

  .pb-\[100px\] {
    padding-bottom: 100px;
  }

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

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

  .\!text-tagline-2 {
    font-size: var(--text-tagline-2) !important;
    line-height: var(--tw-leading, var(--text-tagline-2--line-height)) !important;
  }

  .text-heading-6 {
    font-size: var(--text-heading-6);
    line-height: var(--tw-leading, var(--text-heading-6--line-height));
  }

  .text-tagline-1 {
    font-size: var(--text-tagline-1);
    line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  }

  .text-tagline-2 {
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
  }

  .text-tagline-3 {
    font-size: var(--text-tagline-3);
    line-height: var(--tw-leading, var(--text-tagline-3--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }

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

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .wrap-break-word {
    overflow-wrap: break-word;
  }

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

  .text-accent\/60 {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-accent\/60 {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .text-ns-cyan {
    color: var(--color-ns-cyan);
  }

  .text-ns-green {
    color: var(--color-ns-green);
  }

  .text-ns-yellow {
    color: var(--color-ns-yellow);
  }

  .text-primary-50 {
    color: var(--color-primary-50);
  }

  .text-primary-500 {
    color: var(--color-primary-500);
  }

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

  .text-secondary\/40 {
    color: #1a1a1c66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-secondary\/40 {
      color: color-mix(in oklab, var(--color-secondary) 40%, transparent);
    }
  }

  .text-secondary\/60 {
    color: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-secondary\/60 {
      color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }

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

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .uppercase {
    text-transform: uppercase;
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-1 {
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-14 {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #1018280f);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-ns-green {
    --tw-ring-color: var(--color-ns-green);
  }

  .ring-ns-red {
    --tw-ring-color: var(--color-ns-red);
  }

  .ring-ns-yellow {
    --tw-ring-color: var(--color-ns-yellow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .outline-0 {
    outline-style: var(--tw-outline-style);
    outline-width: 0;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-400 {
    --tw-duration: .4s;
    transition-duration: .4s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .backface-hidden {
    backface-visibility: hidden;
  }

  @media (hover: hover) {
    .group-hover\:top-1\/2:is(:where(.group):hover *) {
      top: 50%;
    }

    .group-hover\:top-5:is(:where(.group):hover *) {
      top: calc(var(--spacing) * 5);
    }

    .group-hover\:left-5:is(:where(.group):hover *) {
      left: calc(var(--spacing) * 5);
    }

    .group-hover\:inline:is(:where(.group):hover *) {
      display: inline;
    }

    .group-hover\:-translate-x-\[0px\]:is(:where(.group):hover *) {
      --tw-translate-x: calc(0px * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-x-\[1px\]:is(:where(.group):hover *) {
      --tw-translate-x: calc(1px * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-x-\[13px\]:is(:where(.group):hover *) {
      --tw-translate-x: calc(13px * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-x-\[14px\]:is(:where(.group):hover *) {
      --tw-translate-x: calc(14px * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-0:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-1\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-6:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 6);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-8:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 8);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-x-10:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * 10);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-0\.5:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-12:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * -12);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-\[2\%\]:is(:where(.group):hover *) {
      --tw-translate-y: calc(2% * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-\[7\%\]:is(:where(.group):hover *) {
      --tw-translate-y: calc(7% * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-\[48\%\]:is(:where(.group):hover *) {
      --tw-translate-y: calc(48% * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:-translate-y-\[49\%\]:is(:where(.group):hover *) {
      --tw-translate-y: calc(49% * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-y-0:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-y-\[-4px\]:is(:where(.group):hover *) {
      --tw-translate-y: -4px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-y-\[-6px\]:is(:where(.group):hover *) {
      --tw-translate-y: -6px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:translate-y-\[4px\]:is(:where(.group):hover *) {
      --tw-translate-y: 4px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-100:is(:where(.group):hover *) {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-101:is(:where(.group):hover *) {
      --tw-scale-x: 101%;
      --tw-scale-y: 101%;
      --tw-scale-z: 101%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-\[101\%\]:is(:where(.group):hover *) {
      scale: 101%;
    }

    .group-hover\:scale-\[102\%\]:is(:where(.group):hover *) {
      scale: 102%;
    }

    .group-hover\:scale-\[103\%\]:is(:where(.group):hover *) {
      scale: 103%;
    }

    .group-hover\:scale-\[108\%\]:is(:where(.group):hover *) {
      scale: 108%;
    }

    .group-hover\:rotate-0:is(:where(.group):hover *) {
      rotate: none;
    }

    .group-hover\:rotate-12:is(:where(.group):hover *) {
      rotate: 12deg;
    }

    .group-hover\:rotate-\[3deg\]:is(:where(.group):hover *) {
      rotate: 3deg;
    }

    .group-hover\:border-primary-200:is(:where(.group):hover *) {
      border-color: var(--color-primary-200);
    }

    .group-hover\:bg-background-1:is(:where(.group):hover *) {
      background-color: var(--color-background-1);
    }

    .group-hover\:bg-background-3\/50:is(:where(.group):hover *) {
      background-color: #f4f5f880;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-background-3\/50:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-background-3) 50%, transparent);
      }
    }

    .group-hover\:bg-background-3\/90:is(:where(.group):hover *) {
      background-color: #f4f5f8e6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-background-3\/90:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-background-3) 90%, transparent);
      }
    }

    .group-hover\:bg-background-4:is(:where(.group):hover *) {
      background-color: var(--color-background-4);
    }

    .group-hover\:bg-background-12:is(:where(.group):hover *) {
      background-color: var(--color-background-12);
    }

    .group-hover\:bg-ns-green\/90:is(:where(.group):hover *) {
      background-color: #c6f56fe6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-ns-green\/90:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-ns-green) 90%, transparent);
      }
    }

    .group-hover\:bg-primary-500:is(:where(.group):hover *) {
      background-color: var(--color-primary-500);
    }

    .group-hover\:bg-primary-500\/10:is(:where(.group):hover *) {
      background-color: #864ffe1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:bg-primary-500\/10:is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-primary-500) 10%, transparent);
      }
    }

    .group-hover\:bg-secondary:is(:where(.group):hover *) {
      background-color: var(--color-secondary);
    }

    .group-hover\:fill-primary-500:is(:where(.group):hover *) {
      fill: var(--color-primary-500);
    }

    .group-hover\:fill-secondary:is(:where(.group):hover *) {
      fill: var(--color-secondary);
    }

    .group-hover\:fill-white:is(:where(.group):hover *) {
      fill: var(--color-white);
    }

    .group-hover\:stroke-accent:is(:where(.group):hover *) {
      stroke: var(--color-accent);
    }

    .group-hover\:stroke-white:is(:where(.group):hover *) {
      stroke: var(--color-white);
    }

    .group-hover\:text-accent:is(:where(.group):hover *) {
      color: var(--color-accent);
    }

    .group-hover\:text-accent\/60:is(:where(.group):hover *) {
      color: #fcfcfc99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .group-hover\:text-accent\/60:is(:where(.group):hover *) {
        color: color-mix(in oklab, var(--color-accent) 60%, transparent);
      }
    }

    .group-hover\:text-ns-yellow:is(:where(.group):hover *) {
      color: var(--color-ns-yellow);
    }

    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }

    .group-hover\:opacity-0:is(:where(.group):hover *) {
      opacity: 0;
    }

    .group-hover\:opacity-90:is(:where(.group):hover *) {
      opacity: .9;
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }

    .group-hover\:shadow-1:is(:where(.group):hover *) {
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\:shadow-3:is(:where(.group):hover *) {
      --tw-shadow: 0px 25px 80px -12px var(--tw-shadow-color, #1c222b1a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\:transition-transform:is(:where(.group):hover *) {
      transition-property: transform, translate, scale, rotate;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }

    .group-hover\:duration-500:is(:where(.group):hover *) {
      --tw-duration: .5s;
      transition-duration: .5s;
    }

    .group-hover\/btn-v2\:translate-x-1:is(:where(.group\/btn-v2):hover *) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\/btn-v2\:translate-x-6:is(:where(.group\/btn-v2):hover *) {
      --tw-translate-x: calc(var(--spacing) * 6);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\/btn-v2\:scale-102:is(:where(.group\/btn-v2):hover *) {
      --tw-scale-x: 102%;
      --tw-scale-y: 102%;
      --tw-scale-z: 102%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\/btn-v2\:btn-v2-white:is(:where(.group\/btn-v2):hover *) {
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-stroke-3);
      background-color: var(--color-white);
      color: var(--color-secondary);
    }

    .group-hover\/btn-v2\:btn-v2-white:is(:where(.group\/btn-v2):hover *) .btn-v2-icon {
      fill: var(--color-secondary);
    }

    .group-hover\/btn-v2\:btn-secondary-v2:is(:where(.group\/btn-v2):hover *) {
      border-color: var(--color-stroke-7);
      background-color: var(--color-background-5);
      color: var(--color-accent);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\/btn-v2\:btn-gray-v2:is(:where(.group\/btn-v2):hover *) {
      background-color: var(--color-background-1);
      color: var(--color-secondary);
      --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\/btn-v2\:btn-gray-v2:is(:where(.group\/btn-v2):hover *) .btn-v2-icon {
      fill: var(--color-secondary);
    }

    .group-hover\/btn-v2\:btn-secondary-v2:is(:where(.group\/btn-v2):hover *) {
      background-color: var(--color-secondary);
      color: var(--color-white);
      --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #10182842);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .group-hover\/btn-v2\:btn-secondary-v2:is(:where(.group\/btn-v2):hover *) .btn-v2-icon {
      fill: var(--color-white);
    }

    .group-hover\/btn-v2\:\!btn-primary-v2:is(:where(.group\/btn-v2):hover *) {
      background-color: var(--color-primary-500) !important;
      color: var(--color-white) !important;
    }

    .group-hover\/btn-v2\:\!btn-primary-v2:is(:where(.group\/btn-v2):hover *) .btn-v2-icon {
      fill: var(--color-white) !important;
    }

    .group-hover\/btn-v2\:btn-primary-v2:is(:where(.group\/btn-v2):hover *) {
      background-color: var(--color-primary-500);
      color: var(--color-white);
    }

    .group-hover\/btn-v2\:btn-primary-v2:is(:where(.group\/btn-v2):hover *) .btn-v2-icon {
      fill: var(--color-white);
    }

    .group-hover\/item\:translate-x-2:is(:where(.group\/item):hover *) {
      --tw-translate-x: calc(var(--spacing) * 2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\/item\:opacity-100:is(:where(.group\/item):hover *) {
      opacity: 1;
    }

    .group-hover\/social-link\:fill-accent:is(:where(.group\/social-link):hover *) {
      fill: var(--color-accent);
    }

    .group-hover\/social-link\:fill-secondary:is(:where(.group\/social-link):hover *) {
      fill: var(--color-secondary);
    }

    .group-hover\/social-link\:stroke-secondary:is(:where(.group\/social-link):hover *) {
      stroke: var(--color-secondary);
    }
  }

  .group-\[\.page-active\]\:bg-primary-500:is(:where(.group).page-active *) {
    background-color: var(--color-primary-500);
  }

  .group-\[\.page-active\]\:text-accent:is(:where(.group).page-active *) {
    color: var(--color-accent);
  }

  .peer-checked\:border-primary-500:is(:where(.peer):checked ~ *) {
    border-color: var(--color-primary-500);
  }

  .first-letter\:uppercase:first-letter {
    text-transform: uppercase;
  }

  .placeholder\:text-tagline-1::placeholder {
    font-size: var(--text-tagline-1);
    line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  }

  .placeholder\:text-tagline-2::placeholder {
    font-size: var(--text-tagline-2);
    line-height: var(--tw-leading, var(--text-tagline-2--line-height));
  }

  .before\:absolute:before {
    content: var(--tw-content);
    position: absolute;
  }

  .before\:top-1\/2:before {
    content: var(--tw-content);
    top: 50%;
  }

  .before\:-right-16:before {
    content: var(--tw-content);
    right: calc(var(--spacing) * -16);
  }

  .before\:inline-block:before {
    content: var(--tw-content);
    display: inline-block;
  }

  .before\:h-px:before {
    content: var(--tw-content);
    height: 1px;
  }

  .before\:w-full:before {
    content: var(--tw-content);
    width: 100%;
  }

  .before\:-translate-y-1\/2:before {
    content: var(--tw-content);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .before\:bg-stroke-4:before {
    content: var(--tw-content);
    background-color: var(--color-stroke-4);
  }

  .before\:bg-\[linear-gradient\(180deg\,\#ECE8FF_0\%\,\#FAF9FC_100\%\)\]:before {
    content: var(--tw-content);
    background-image: linear-gradient(#ece8ff 0%, #faf9fc 100%);
  }

  .before\:bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\)_0\%\,\#ffffff_67\.6\%\)\]:before {
    content: var(--tw-content);
    background-image: linear-gradient(#fff0 0%, #fff 67.6%);
  }

  .before\:bg-\[linear-gradient\(270deg\,_\#FFF_-5\.06\%\,_rgba\(255\,_255\,_255\,_0\.00\)_105\.06\%\)\]:before {
    content: var(--tw-content);
    background-image: linear-gradient(270deg, #fff -5.06%, #fff0 105.06%);
  }

  .before\:content-\[\'\'\]:before {
    content: var(--tw-content);
    --tw-content: "";
    content: var(--tw-content);
  }

  .before\:content-none:before {
    content: var(--tw-content);
    --tw-content: none;
    content: none;
  }

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:top-1\/2:after {
    content: var(--tw-content);
    top: 50%;
  }

  .after\:left-1\/2:after {
    content: var(--tw-content);
    left: 50%;
  }

  .after\:size-3:after {
    content: var(--tw-content);
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .after\:-translate-x-1\/2:after {
    content: var(--tw-content);
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .after\:-translate-y-1\/2:after {
    content: var(--tw-content);
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .after\:rounded-full:after {
    content: var(--tw-content);
    border-radius: 3.40282e38px;
  }

  .after\:bg-primary-500:after {
    content: var(--tw-content);
    background-color: var(--color-primary-500);
  }

  .after\:bg-\[linear-gradient\(0deg\,rgba\(255\,255\,255\,0\)_0\%\,\#ffffff_67\.6\%\)\]:after {
    content: var(--tw-content);
    background-image: linear-gradient(0deg, #fff0 0%, #fff 67.6%);
  }

  .after\:bg-\[linear-gradient\(180deg\,\#ECE8FF_0\%\,\#FAF9FC_100\%\)\]:after {
    content: var(--tw-content);
    background-image: linear-gradient(#ece8ff 0%, #faf9fc 100%);
  }

  .after\:bg-\[linear-gradient\(270deg\,_\#FFF_-5\.06\%\,_rgba\(255\,_255\,_255\,_0\.00\)_105\.06\%\)\]:after {
    content: var(--tw-content);
    background-image: linear-gradient(270deg, #fff -5.06%, #fff0 105.06%);
  }

  .after\:opacity-0:after {
    content: var(--tw-content);
    opacity: 0;
  }

  .peer-checked\:after\:start-\[2px\]:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    inset-inline-start: 2px;
  }

  .peer-checked\:after\:translate-x-4:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    --tw-translate-x: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .peer-checked\:after\:translate-x-\[93\%\]:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    --tw-translate-x: 93%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .peer-checked\:after\:translate-x-\[94\%\]:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    --tw-translate-x: 94%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .peer-checked\:after\:translate-x-\[99\%\]:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    --tw-translate-x: 99%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .peer-checked\:after\:translate-x-full:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .peer-checked\:after\:opacity-100:is(:where(.peer):checked ~ *):after {
    content: var(--tw-content);
    opacity: 1;
  }

  .focus-within\:ring-primary-500:focus-within {
    --tw-ring-color: var(--color-primary-500);
  }

  @media (hover: hover) {
    .hover\:\!z-8:hover {
      z-index: 8 !important;
    }

    .hover\:z-8:hover {
      z-index: 8;
    }

    .hover\:-translate-y-1\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:-translate-y-2:hover {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:translate-y-\[-10px\]:hover {
      --tw-translate-y: -10px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-\[99\%\]:hover {
      scale: 99%;
    }

    .hover\:scale-\[100\.5\%\]:hover {
      scale: 100.5%;
    }

    .hover\:scale-\[102\%\]:hover {
      scale: 102%;
    }

    .hover\:scale-\[103\%\]:hover {
      scale: 103%;
    }

    .hover\:rotate-0:hover {
      rotate: none;
    }

    .hover\:border-0:hover {
      border-style: var(--tw-border-style);
      border-width: 0;
    }

    .hover\:\!btn-primary:hover {
      border-color: var(--color-primary-600) !important;
      background-color: var(--color-primary-500) !important;
      color: var(--color-white) !important;
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d) !important;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
    }

    .hover\:\!btn-primary:hover:where(.dark, .dark *) {
      border-color: var(--color-primary-400) !important;
    }

    .hover\:\!btn-primary:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E") !important;
    }

    .hover\:btn-primary:hover {
      border-color: var(--color-primary-600);
      background-color: var(--color-primary-500);
      color: var(--color-white);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-primary:hover:where(.dark, .dark *) {
      border-color: var(--color-primary-400);
    }

    .hover\:btn-primary:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:\!btn-white:hover {
      border-color: var(--color-stroke-3) !important;
      background-color: var(--color-background-1) !important;
      color: var(--color-secondary) !important;
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d) !important;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
    }

    .hover\:\!btn-white:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E") !important;
    }

    .hover\:btn-accent:hover {
      border-color: var(--color-stroke-3);
      background-color: var(--color-accent);
      color: var(--color-secondary);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-accent:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:btn-secondary:hover {
      border-color: var(--color-black);
      background-color: var(--color-secondary);
      color: var(--color-white);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-secondary:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:btn-white:hover {
      border-color: var(--color-stroke-3);
      background-color: var(--color-background-1);
      color: var(--color-secondary);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-white:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:btn-white-dark:hover {
      border-color: var(--color-stroke-7);
      background-color: var(--color-background-6);
      color: var(--color-accent);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-white-dark:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:btn-white-v2:hover {
      border-color: var(--color-stroke-3);
      background-color: var(--color-white);
      color: var(--color-secondary);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:btn-white-v2:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:btn-green:hover {
      border-color: var(--color-ns-green-light);
      background-color: var(--color-ns-green);
      color: var(--color-secondary);
    }

    .hover\:btn-green:hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .hover\:border-accent:hover {
      border-color: var(--color-accent);
    }

    .hover\:border-primary-300:hover {
      border-color: var(--color-primary-300);
    }

    .hover\:border-primary-500:hover {
      border-color: var(--color-primary-500);
    }

    .hover\:border-secondary\/30:hover {
      border-color: #1a1a1c4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-secondary\/30:hover {
        border-color: color-mix(in oklab, var(--color-secondary) 30%, transparent);
      }
    }

    .hover\:border-stroke-2:hover {
      border-color: var(--color-stroke-2);
    }

    .hover\:bg-background-1:hover {
      background-color: var(--color-background-1);
    }

    .hover\:bg-background-2:hover {
      background-color: var(--color-background-2);
    }

    .hover\:bg-primary-500:hover {
      background-color: var(--color-primary-500);
    }

    .hover\:bg-secondary:hover {
      background-color: var(--color-secondary);
    }

    .hover\:bg-secondary\/10:hover {
      background-color: #1a1a1c1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/10:hover {
        background-color: color-mix(in oklab, var(--color-secondary) 10%, transparent);
      }
    }

    .hover\:bg-stroke-1:hover {
      background-color: var(--color-stroke-1);
    }

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

    .hover\:bg-white\/80:hover {
      background-color: #fffc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/80:hover {
        background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
      }
    }

    .hover\:stroke-secondary:hover {
      stroke: var(--color-secondary);
    }

    .hover\:text-accent:hover {
      color: var(--color-accent);
    }

    .hover\:text-primary-500:hover {
      color: var(--color-primary-500);
    }

    .hover\:text-primary-600:hover {
      color: var(--color-primary-600);
    }

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

    .hover\:underline-offset-2:hover {
      text-underline-offset: 2px;
    }

    .hover\:shadow-1:hover {
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-4:hover {
      --tw-shadow: 0px 10px 20px -5px var(--tw-shadow-color, #1c222b0d), 0px 20px 65px -5px var(--tw-shadow-color, #1c222b0d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-lg:hover {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-primary-500\/20:hover {
      --tw-shadow-color: #864ffe33;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:shadow-primary-500\/20:hover {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }

    .hover\:transition-transform:hover {
      transition-property: transform, translate, scale, rotate;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }

    .hover\:duration-500:hover {
      --tw-duration: .5s;
      transition-duration: .5s;
    }

    .hover\:perspective-origin-top:hover {
      perspective-origin: top;
    }
  }

  .focus\:border:focus {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .focus\:border-accent\/60:focus {
    border-color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-accent\/60:focus {
      border-color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .focus\:border-primary-500:focus {
    border-color: var(--color-primary-500);
  }

  .focus\:border-primary-600:focus {
    border-color: var(--color-primary-600);
  }

  .focus\:border-secondary:focus {
    border-color: var(--color-secondary);
  }

  .focus\:ring-0:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-\[0\.7px\]:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(.7px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-\[0\.8px\]:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(.8px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-primary-500:focus {
    --tw-ring-color: var(--color-primary-500);
  }

  .focus\:ring-primary-500\/20:focus {
    --tw-ring-color: #864ffe33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-primary-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent);
    }
  }

  .focus\:ring-primary-600:focus {
    --tw-ring-color: var(--color-primary-600);
  }

  .focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:outline-0:focus {
    outline-style: var(--tw-outline-style);
    outline-width: 0;
  }

  .focus\:outline-1:focus {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus\:outline-primary-500:focus {
    outline-color: var(--color-primary-500);
  }

  .focus\:outline-primary-600:focus {
    outline-color: var(--color-primary-600);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:border-stroke-5\/40:focus-visible {
    border-color: #1b232f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:border-stroke-5\/40:focus-visible {
      border-color: color-mix(in oklab, var(--color-stroke-5) 40%, transparent);
    }
  }

  .focus-visible\:outline:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-0:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 0;
  }

  .focus-visible\:outline-1:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-primary-500:focus-visible {
    outline-color: var(--color-primary-500);
  }

  .focus-visible\:outline-stroke-7:focus-visible {
    outline-color: var(--color-stroke-7);
  }

  .data-\[mobile-active\=\'true\'\]\:scale-105[data-mobile-active="true"] {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .data-\[mobile-active\=\'true\'\]\:border-primary-600[data-mobile-active="true"] {
    border-color: var(--color-primary-600);
  }

  .data-\[mobile-active\=\'true\'\]\:bg-primary-500[data-mobile-active="true"] {
    background-color: var(--color-primary-500);
  }

  .data-\[mobile-active\=\'true\'\]\:text-white[data-mobile-active="true"] {
    color: var(--color-white);
  }

  .data-\[mobile-active\=true\]\:scale-\[1\.05\][data-mobile-active="true"] {
    scale: 1.05;
  }

  .data-\[mobile-active\=true\]\:bg-primary-500[data-mobile-active="true"] {
    background-color: var(--color-primary-500);
  }

  .data-\[mobile-active\=true\]\:text-white[data-mobile-active="true"] {
    color: var(--color-white);
  }

  .data-\[selected\=false\]\:bg-background-12[data-selected="false"] {
    background-color: var(--color-background-12);
  }

  .data-\[selected\=false\]\:text-secondary[data-selected="false"] {
    color: var(--color-secondary);
  }

  .data-\[selected\=true\]\:bg-primary-500[data-selected="true"] {
    background-color: var(--color-primary-500);
  }

  .data-\[selected\=true\]\:text-white[data-selected="true"] {
    color: var(--color-white);
  }

  .data-\[state\=false\]\:bg-background-4[data-state="false"] {
    background-color: var(--color-background-4);
  }

  .data-\[state\=false\]\:bg-ns-green[data-state="false"] {
    background-color: var(--color-ns-green);
  }

  .data-\[state\=false\]\:stroke-secondary[data-state="false"] {
    stroke: var(--color-secondary);
  }

  .data-\[state\=false\]\:pb-0[data-state="false"] {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .data-\[state\=false\]\:pb-8[data-state="false"] {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .data-\[state\=selected\]\:text-secondary[data-state="selected"] {
    color: var(--color-secondary);
  }

  .data-\[state\=true\]\:bg-\[\#142E6E\][data-state="true"] {
    background-color: #142e6e;
  }

  .data-\[state\=true\]\:bg-secondary[data-state="true"] {
    background-color: var(--color-secondary);
  }

  .data-\[state\=true\]\:stroke-white[data-state="true"] {
    stroke: var(--color-white);
  }

  .data-\[state\=true\]\:pb-4[data-state="true"] {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .data-\[state\=true\]\:pb-8[data-state="true"] {
    padding-bottom: calc(var(--spacing) * 8);
  }

  @media not all and (min-width: 769px) {
    .max-\[769px\]\:line-clamp-2 {
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      display: -webkit-box;
      overflow: hidden;
    }
  }

  @media not all and (min-width: 526px) {

    .max-\[526px\]\:btn-md:hover:before {
      width: calc(var(--spacing) * 2.5);
      height: calc(var(--spacing) * 2.5);
      --tw-translate-x: calc(var(--spacing) * -3.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }
  }

  @media not all and (min-width: 500px) {

    .max-\[500px\]\:hidden {
      display: none;
    }
  }

  @media not all and (min-width: 426px) {

    .max-\[426px\]\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }

    .max-\[426px\]\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media not all and (min-width: 400px) {

    .max-\[400px\]\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media not all and (min-width: 64rem) {

    .max-lg\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media not all and (min-width: 48rem) {

    .max-md\:hidden {
      display: none;
    }

    .max-md\:btn-md:hover:before {
      width: calc(var(--spacing) * 2.5);
      height: calc(var(--spacing) * 2.5);
      --tw-translate-x: calc(var(--spacing) * -3.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }

    .max-md\:overflow-x-hidden {
      overflow-x: hidden;
    }

    .max-md\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }
  }

  @media not all and (min-width: 40rem) {

    .max-sm\:overflow-hidden {
      overflow: hidden;
    }

    .max-sm\:overflow-x-hidden {
      overflow-x: hidden;
    }

    .max-sm\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media (min-width: 425px) {

    .min-\[425px\]\:bg-\[url\(\'\/images\/ns-img-242\.png\'\)\] {
      background-image: url("../images/ns-img-242.png");
    }
  }

  @media (min-width: 1440px) {

    .lp\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }
  }

  @media (min-width: 1921px) {
    .min-\[1921px\]\:overflow-hidden {
      overflow: hidden;
    }
  }

  @media (min-width: 40rem) {

    .sm\:hidden {
      display: none;
    }

    .sm\:inline-block {
      display: inline-block;
    }

    .sm\:btn-xl:hover:before {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      --tw-translate-x: calc(var(--spacing) * -4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }

    .sm\:w-1\/2 {
      width: 50%;
    }

    .sm\:bg-\[url\(\'\/images\/ns-img-375\.jpg\'\)\] {
      background-image: url("../images/ns-img-375.jpg");
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:pt-24 {
      padding-top: calc(var(--spacing) * 24);
    }

    .sm\:text-heading-6 {
      font-size: var(--text-heading-6);
      line-height: var(--tw-leading, var(--text-heading-6--line-height));
    }

    .sm\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }

    .sm\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media (min-width: 48rem) {

    .md\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:inline-block {
      display: inline-block;
    }

    .md\:btn-xl:hover:before {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      --tw-translate-x: calc(var(--spacing) * -4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }

    @media (hover: hover) {
      .md\:btn-xl-v2:hover {
        --tw-scale-x: 102%;
        --tw-scale-y: 102%;
        --tw-scale-z: 102%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }

    .md\:w-\[692px\] {
      width: 692px;
    }

    .md\:max-w-\[284px\] {
      max-width: 284px;
    }

    .md\:columns-2 {
      columns: 2;
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-between {
      justify-content: space-between;
    }

    .md\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }

    .md\:gap-x-12 {
      column-gap: calc(var(--spacing) * 12);
    }

    .md\:bg-\[url\(\'\/images\/ns-img-219\.png\'\)\] {
      background-image: url("../images/ns-img-219.png");
    }

    .md\:pt-20 {
      padding-top: calc(var(--spacing) * 20);
    }

    .md\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }

    .md\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media (min-width: 64rem) {

    .lg\:sticky {
      position: sticky;
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:col-span-8 {
      grid-column: span 8 / span 8;
    }

    .lg\:line-clamp-none {
      -webkit-line-clamp: unset;
      -webkit-box-orient: horizontal;
      display: block;
      overflow: visible;
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:inline-block {
      display: inline-block;
    }

    .lg\:btn-xl:hover:before {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      --tw-translate-x: calc(var(--spacing) * -4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }

    .lg\:btn-v3-lg [data-button-v3-icon] {
      width: calc(var(--spacing) * 11);
      height: calc(var(--spacing) * 11);
    }

    .lg\:w-\[1290px\] {
      width: 1290px;
    }

    .lg\:max-w-\[198px\] {
      max-width: 198px;
    }

    .lg\:columns-3 {
      columns: 3;
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:items-center {
      align-items: center;
    }

    .lg\:justify-between {
      justify-content: space-between;
    }

    .lg\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }

    .lg\:p-9 {
      padding: calc(var(--spacing) * 9);
    }

    .lg\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }

    @media (hover: hover) {
      .lg\:group-hover\:translate-y-0:is(:where(.group):hover *) {
        --tw-translate-y: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }

      .lg\:group-hover\:scale-100:is(:where(.group):hover *) {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }

      .lg\:group-hover\:opacity-100:is(:where(.group):hover *) {
        opacity: 1;
      }
    }
  }

  @media (min-width: 80rem) {

    .xl\:line-clamp-1 {
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      display: -webkit-box;
      overflow: hidden;
    }

    .xl\:\!hidden {
      display: none !important;
    }

    .xl\:\!inline-block {
      display: inline-block !important;
    }

    .xl\:block {
      display: block;
    }

    .xl\:flex {
      display: flex;
    }

    .xl\:hidden {
      display: none;
    }

    .xl\:btn-xl:hover:before {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      --tw-translate-x: calc(var(--spacing) * -4);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      opacity: 1;
    }

    .xl\:max-w-\[306px\] {
      max-width: 306px;
    }

    .xl\:gap-x-0 {
      column-gap: calc(var(--spacing) * 0);
    }

    .xl\:py-0 {
      padding-block: calc(var(--spacing) * 0);
    }

    .xl\:pt-\[100px\] {
      padding-top: 100px;
    }

    .xl\:text-tagline-1 {
      font-size: var(--text-tagline-1);
      line-height: var(--tw-leading, var(--text-tagline-1--line-height));
    }

    .xl\:text-tagline-2 {
      font-size: var(--text-tagline-2);
      line-height: var(--tw-leading, var(--text-tagline-2--line-height));
    }
  }

  @media (min-width: 96rem) {

    .\32 xl\:line-clamp-none {
      -webkit-line-clamp: unset;
      -webkit-box-orient: horizontal;
      display: block;
      overflow: visible;
    }
  }

  .dark\:block:where(.dark, .dark *) {
    display: block;
  }

  .dark\:hidden:where(.dark, .dark *) {
    display: none;
  }

  .dark\:inline:where(.dark, .dark *) {
    display: inline;
  }

  .dark\:inline-block:where(.dark, .dark *) {
    display: inline-block;
  }

  .dark\:rounded-t-\[20px\]:where(.dark, .dark *) {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }

  .dark\:rounded-t-none:where(.dark, .dark *) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .dark\:rounded-b-\[20px\]:where(.dark, .dark *) {
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }

  .dark\:rounded-b-none:where(.dark, .dark *) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .dark\:btn-black:where(.dark, .dark *) {
    border-style: var(--tw-border-style);
    background-color: var(--color-black);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-width: 0;
  }

  .dark\:btn-dark:where(.dark, .dark *) {
    border-style: var(--tw-border-style);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    background-color: #fcfcfc1a;
    border-width: 0;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:btn-dark:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:\!border:where(.dark, .dark *) {
    border-style: var(--tw-border-style) !important;
    border-width: 1px !important;
  }

  .dark\:border:where(.dark, .dark *) {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .dark\:border-0:where(.dark, .dark *) {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .dark\:border-t-0:where(.dark, .dark *) {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .dark\:border-none:where(.dark, .dark *) {
    --tw-border-style: none;
    border-style: none;
  }

  .dark\:btn-primary:where(.dark, .dark *) {
    border-color: var(--color-primary-600);
    background-color: var(--color-primary-500);
    color: var(--color-white);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:btn-primary:where(.dark, .dark *):where(.dark, .dark *) {
    border-color: var(--color-primary-400);
  }

  .dark\:btn-primary:where(.dark, .dark *):before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .dark\:btn-accent:where(.dark, .dark *) {
    border-color: var(--color-stroke-3);
    background-color: var(--color-accent);
    color: var(--color-secondary);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:btn-accent:where(.dark, .dark *):before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .dark\:btn-white:where(.dark, .dark *) {
    border-color: var(--color-stroke-3);
    background-color: var(--color-background-1);
    color: var(--color-secondary);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:btn-white:where(.dark, .dark *):before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .dark\:btn-white-dark:where(.dark, .dark *) {
    border-color: var(--color-stroke-7);
    background-color: var(--color-background-6);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:btn-white-dark:where(.dark, .dark *):before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .dark\:btn-transparent:where(.dark, .dark *) {
    border-color: var(--color-stroke-7);
    color: var(--color-accent);
    background-color: #0000;
  }

  .dark\:btn-transparent:where(.dark, .dark *):before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
  }

  .dark\:btn-secondary-v2:where(.dark, .dark *) {
    border-color: var(--color-stroke-7);
    background-color: var(--color-background-5);
    color: var(--color-accent);
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:\!border-stroke-5:where(.dark, .dark *) {
    border-color: var(--color-stroke-5) !important;
  }

  .dark\:border-\[\#1F252F\]:where(.dark, .dark *) {
    border-color: #1f252f;
  }

  .dark\:border-\[\#31332F\]:where(.dark, .dark *) {
    border-color: #31332f;
  }

  .dark\:border-accent:where(.dark, .dark *) {
    border-color: var(--color-accent);
  }

  .dark\:border-accent\/10:where(.dark, .dark *) {
    border-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-accent\/10:where(.dark, .dark *) {
      border-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:border-background-5:where(.dark, .dark *) {
    border-color: var(--color-background-5);
  }

  .dark\:border-background-6:where(.dark, .dark *) {
    border-color: var(--color-background-6);
  }

  .dark\:border-background-7:where(.dark, .dark *) {
    border-color: var(--color-background-7);
  }

  .dark\:border-background-8:where(.dark, .dark *) {
    border-color: var(--color-background-8);
  }

  .dark\:border-background-9:where(.dark, .dark *) {
    border-color: var(--color-background-9);
  }

  .dark\:border-black:where(.dark, .dark *) {
    border-color: var(--color-black);
  }

  .dark\:border-stroke-5:where(.dark, .dark *) {
    border-color: var(--color-stroke-5);
  }

  .dark\:border-stroke-6:where(.dark, .dark *) {
    border-color: var(--color-stroke-6);
  }

  .dark\:border-stroke-7:where(.dark, .dark *) {
    border-color: var(--color-stroke-7);
  }

  .dark\:border-stroke-8:where(.dark, .dark *) {
    border-color: var(--color-stroke-8);
  }

  .dark\:border-white\/10:where(.dark, .dark *) {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-white\/10:where(.dark, .dark *) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .dark\:border-t-accent\/10:where(.dark, .dark *) {
    border-top-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-t-accent\/10:where(.dark, .dark *) {
      border-top-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:border-t-stroke-6:where(.dark, .dark *) {
    border-top-color: var(--color-stroke-6);
  }

  .dark\:border-t-stroke-7:where(.dark, .dark *) {
    border-top-color: var(--color-stroke-7);
  }

  .dark\:border-r-secondary\/20:where(.dark, .dark *) {
    border-right-color: #1a1a1c33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-r-secondary\/20:where(.dark, .dark *) {
      border-right-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
    }
  }

  .dark\:border-r-stroke-6:where(.dark, .dark *) {
    border-right-color: var(--color-stroke-6);
  }

  .dark\:border-r-stroke-8:where(.dark, .dark *) {
    border-right-color: var(--color-stroke-8);
  }

  .dark\:border-b-accent\/10:where(.dark, .dark *) {
    border-bottom-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:border-b-accent\/10:where(.dark, .dark *) {
      border-bottom-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:border-b-stroke-5:where(.dark, .dark *) {
    border-bottom-color: var(--color-stroke-5);
  }

  .dark\:border-b-stroke-6:where(.dark, .dark *) {
    border-bottom-color: var(--color-stroke-6);
  }

  .dark\:border-b-stroke-7:where(.dark, .dark *) {
    border-bottom-color: var(--color-stroke-7);
  }

  .dark\:border-b-stroke-8:where(.dark, .dark *) {
    border-bottom-color: var(--color-stroke-8);
  }

  .dark\:btn-secondary-v2:where(.dark, .dark *) {
    background-color: var(--color-secondary);
    color: var(--color-white);
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #10182842);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:btn-secondary-v2:where(.dark, .dark *) .btn-v2-icon {
    fill: var(--color-white);
  }

  .dark\:\!bg-accent\/10:where(.dark, .dark *) {
    background-color: #fcfcfc1a !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:\!bg-accent\/10:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent) !important;
    }
  }

  .dark\:\!bg-background-5:where(.dark, .dark *) {
    background-color: var(--color-background-5) !important;
  }

  .dark\:\!bg-background-6:where(.dark, .dark *) {
    background-color: var(--color-background-6) !important;
  }

  .dark\:\!bg-background-9:where(.dark, .dark *) {
    background-color: var(--color-background-9) !important;
  }

  .dark\:\!bg-black:where(.dark, .dark *) {
    background-color: var(--color-black) !important;
  }

  .dark\:\!bg-transparent:where(.dark, .dark *) {
    background-color: #0000 !important;
  }

  .dark\:bg-\[\#0B0F15\]\/60:where(.dark, .dark *) {
    background-color: oklab(16.7098% -.002869 -.0139178 / .6);
  }

  .dark\:bg-\[\#0E0E0E\]:where(.dark, .dark *) {
    background-color: #0e0e0e;
  }

  .dark\:bg-\[\#1B202A\]\/60:where(.dark, .dark *) {
    background-color: oklab(24.3107% -.00212145 -.0204636 / .6);
  }

  .dark\:bg-\[\#161B23\]\/60:where(.dark, .dark *) {
    background-color: oklab(22.0742% -.00310853 -.0171741 / .6);
  }

  .dark\:bg-\[\#000203\]:where(.dark, .dark *) {
    background-color: #000203;
  }

  .dark\:bg-\[\#12161C\]\/60:where(.dark, .dark *) {
    background-color: oklab(19.8779% -.00274302 -.0133223 / .6);
  }

  .dark\:bg-accent:where(.dark, .dark *) {
    background-color: var(--color-accent);
  }

  .dark\:bg-accent\/5:where(.dark, .dark *) {
    background-color: #fcfcfc0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-accent\/5:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 5%, transparent);
    }
  }

  .dark\:bg-accent\/10:where(.dark, .dark *) {
    background-color: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-accent\/10:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:bg-accent\/20:where(.dark, .dark *) {
    background-color: #fcfcfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-accent\/20:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }

  .dark\:bg-accent\/40:where(.dark, .dark *) {
    background-color: #fcfcfc66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-accent\/40:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
  }

  .dark\:bg-background-2:where(.dark, .dark *) {
    background-color: var(--color-background-2);
  }

  .dark\:bg-background-5:where(.dark, .dark *) {
    background-color: var(--color-background-5);
  }

  .dark\:bg-background-6:where(.dark, .dark *) {
    background-color: var(--color-background-6);
  }

  .dark\:bg-background-7:where(.dark, .dark *) {
    background-color: var(--color-background-7);
  }

  .dark\:bg-background-7\/40:where(.dark, .dark *) {
    background-color: #181d2666;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-background-7\/40:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-background-7) 40%, transparent);
    }
  }

  .dark\:bg-background-8:where(.dark, .dark *) {
    background-color: var(--color-background-8);
  }

  .dark\:bg-background-9:where(.dark, .dark *) {
    background-color: var(--color-background-9);
  }

  .dark\:bg-black:where(.dark, .dark *) {
    background-color: var(--color-black);
  }

  .dark\:bg-ns-green:where(.dark, .dark *) {
    background-color: var(--color-ns-green);
  }

  .dark\:bg-secondary:where(.dark, .dark *) {
    background-color: var(--color-secondary);
  }

  .dark\:bg-secondary\/60:where(.dark, .dark *) {
    background-color: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-secondary\/60:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }

  .dark\:bg-stroke-1:where(.dark, .dark *) {
    background-color: var(--color-stroke-1);
  }

  .dark\:bg-stroke-4\/10:where(.dark, .dark *) {
    background-color: #eceff41a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-stroke-4\/10:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-stroke-4) 10%, transparent);
    }
  }

  .dark\:bg-stroke-5:where(.dark, .dark *) {
    background-color: var(--color-stroke-5);
  }

  .dark\:bg-stroke-6:where(.dark, .dark *) {
    background-color: var(--color-stroke-6);
  }

  .dark\:bg-stroke-8:where(.dark, .dark *) {
    background-color: var(--color-stroke-8);
  }

  .dark\:bg-transparent:where(.dark, .dark *) {
    background-color: #0000;
  }

  .dark\:bg-white:where(.dark, .dark *) {
    background-color: var(--color-white);
  }

  .dark\:bg-linear-\[156deg\,_\#070B10_32\.92\%\,_\#C6F56F_91\%\]:where(.dark, .dark *) {
    --tw-gradient-position: 156deg, #070b10 32.92%, #c6f56f 91%;
    background-image: linear-gradient(var(--tw-gradient-stops, 156deg, #070b10 32.92%, #c6f56f 91%));
  }

  .dark\:bg-linear-\[180deg\,\#2A333E_0\%\,\#2a333e00_100\%\]:where(.dark, .dark *) {
    --tw-gradient-position: 180deg, #2a333e 0%, #2a333e00 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #2a333e 0%, #2a333e00 100%));
  }

  .dark\:hero-bg-overlay-dark:where(.dark, .dark *) {
    --tw-gradient-position: 180deg, #070b10e6 0%, #070b10 100%;
    background-image: linear-gradient(var(--tw-gradient-stops, 180deg, #070b10e6 0%, #070b10 100%));
  }

  .dark\:bg-\[url\(\'\/images\/ns-img-329\.png\'\)\]:where(.dark, .dark *) {
    background-image: url("../images/ns-img-329.png");
  }

  .dark\:bg-\[url\(\'\/images\/ns-img-dark-10\.png\'\)\]:where(.dark, .dark *) {
    background-image: url("../images/ns-img-dark-10.png");
  }

  .dark\:bg-\[url\(\'\/images\/ns-img-dark-34\.svg\'\)\]:where(.dark, .dark *) {
    background-image: url("../images/ns-img-dark-34.svg");
  }

  .dark\:bg-\[url\(\'\/images\/ns-img-dark-97\.svg\'\)\]:where(.dark, .dark *) {
    background-image: url("../images/ns-img-dark-97.svg");
  }

  .dark\:bg-\[url\(\'\/images\/ns-img-dark-148\.svg\'\)\]:where(.dark, .dark *) {
    background-image: url("../images/ns-img-dark-148.svg");
  }

  .dark\:\!from-background-5:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-background-5) !important;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)) !important;
  }

  .dark\:\!from-background-7:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-background-7) !important;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)) !important;
  }

  .dark\:from-\(image\:--color-gradient-5\):where(.dark, .dark *) {
    --tw-gradient-from: var(--color-gradient-5);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:from-background-5:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-background-5);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:from-background-6:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-background-6);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:from-background-7:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-background-7);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:from-secondary:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-secondary);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:from-stroke-5:where(.dark, .dark *) {
    --tw-gradient-from: var(--color-stroke-5);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:to-background-5\/20:where(.dark, .dark *) {
    --tw-gradient-to: #13171e33;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:to-background-5\/20:where(.dark, .dark *) {
      --tw-gradient-to: color-mix(in oklab, var(--color-background-5) 20%, transparent);
    }
  }

  .dark\:to-secondary:where(.dark, .dark *) {
    --tw-gradient-to: var(--color-secondary);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:to-stroke-5\/30:where(.dark, .dark *) {
    --tw-gradient-to: #1b232f4d;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:to-stroke-5\/30:where(.dark, .dark *) {
      --tw-gradient-to: color-mix(in oklab, var(--color-stroke-5) 30%, transparent);
    }
  }

  .dark\:fill-\[\#070B10\]:where(.dark, .dark *) {
    fill: #070b10;
  }

  .dark\:fill-accent:where(.dark, .dark *) {
    fill: var(--color-accent);
  }

  .dark\:fill-accent\/10:where(.dark, .dark *) {
    fill: #fcfcfc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:fill-accent\/10:where(.dark, .dark *) {
      fill: color-mix(in oklab, var(--color-accent) 10%, transparent);
    }
  }

  .dark\:fill-accent\/20:where(.dark, .dark *) {
    fill: #fcfcfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:fill-accent\/20:where(.dark, .dark *) {
      fill: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }

  .dark\:fill-accent\/40:where(.dark, .dark *) {
    fill: #fcfcfc66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:fill-accent\/40:where(.dark, .dark *) {
      fill: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
  }

  .dark\:fill-accent\/60:where(.dark, .dark *) {
    fill: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:fill-accent\/60:where(.dark, .dark *) {
      fill: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .dark\:fill-accent\/80:where(.dark, .dark *) {
    fill: #fcfcfccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:fill-accent\/80:where(.dark, .dark *) {
      fill: color-mix(in oklab, var(--color-accent) 80%, transparent);
    }
  }

  .dark\:fill-background-7:where(.dark, .dark *) {
    fill: var(--color-background-7);
  }

  .dark\:fill-background-8:where(.dark, .dark *) {
    fill: var(--color-background-8);
  }

  .dark\:fill-background-9:where(.dark, .dark *) {
    fill: var(--color-background-9);
  }

  .dark\:fill-black:where(.dark, .dark *) {
    fill: var(--color-black);
  }

  .dark\:fill-secondary:where(.dark, .dark *) {
    fill: var(--color-secondary);
  }

  .dark\:fill-stroke-8:where(.dark, .dark *) {
    fill: var(--color-stroke-8);
  }

  .dark\:fill-white:where(.dark, .dark *) {
    fill: var(--color-white);
  }

  .dark\:stroke-accent:where(.dark, .dark *) {
    stroke: var(--color-accent);
  }

  .dark\:stroke-accent\/40:where(.dark, .dark *) {
    stroke: #fcfcfc66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:stroke-accent\/40:where(.dark, .dark *) {
      stroke: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
  }

  .dark\:stroke-accent\/60:where(.dark, .dark *) {
    stroke: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:stroke-accent\/60:where(.dark, .dark *) {
      stroke: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .dark\:stroke-black:where(.dark, .dark *) {
    stroke: var(--color-black);
  }

  .dark\:stroke-secondary:where(.dark, .dark *) {
    stroke: var(--color-secondary);
  }

  .dark\:stroke-stroke-5:where(.dark, .dark *) {
    stroke: var(--color-stroke-5);
  }

  .dark\:stroke-stroke-8:where(.dark, .dark *) {
    stroke: var(--color-stroke-8);
  }

  .dark\:stroke-white:where(.dark, .dark *) {
    stroke: var(--color-white);
  }

  .dark\:pt-\[100px\]:where(.dark, .dark *) {
    padding-top: 100px;
  }

  .dark\:\!text-accent:where(.dark, .dark *) {
    color: var(--color-accent) !important;
  }

  .dark\:\!text-accent\/60:where(.dark, .dark *) {
    color: #fcfcfc99 !important;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:\!text-accent\/60:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent) !important;
    }
  }

  .dark\:\!text-ns-green:where(.dark, .dark *) {
    color: var(--color-ns-green) !important;
  }

  .dark\:\!text-white:where(.dark, .dark *) {
    color: var(--color-white) !important;
  }

  .dark\:text-accent:where(.dark, .dark *) {
    color: var(--color-accent);
  }

  .dark\:text-accent\/40:where(.dark, .dark *) {
    color: #fcfcfc66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-accent\/40:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 40%, transparent);
    }
  }

  .dark\:text-accent\/60:where(.dark, .dark *) {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-accent\/60:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .dark\:text-accent\/80:where(.dark, .dark *) {
    color: #fcfcfccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-accent\/80:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 80%, transparent);
    }
  }

  .dark\:text-accent\/90:where(.dark, .dark *) {
    color: #fcfcfce6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-accent\/90:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-accent) 90%, transparent);
    }
  }

  .dark\:text-black:where(.dark, .dark *) {
    color: var(--color-black);
  }

  .dark\:text-ns-green:where(.dark, .dark *) {
    color: var(--color-ns-green);
  }

  .dark\:text-ns-yellow:where(.dark, .dark *) {
    color: var(--color-ns-yellow);
  }

  .dark\:text-secondary:where(.dark, .dark *) {
    color: var(--color-secondary);
  }

  .dark\:text-secondary\/60:where(.dark, .dark *) {
    color: #1a1a1c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-secondary\/60:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
    }
  }

  .dark\:text-secondary\/80:where(.dark, .dark *) {
    color: #1a1a1ccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-secondary\/80:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-secondary) 80%, transparent);
    }
  }

  .dark\:text-stroke-6:where(.dark, .dark *) {
    color: var(--color-stroke-6);
  }

  .dark\:text-white:where(.dark, .dark *) {
    color: var(--color-white);
  }

  .dark\:text-white\/60:where(.dark, .dark *) {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:text-white\/60:where(.dark, .dark *) {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .dark\:opacity-20:where(.dark, .dark *) {
    opacity: .2;
  }

  .dark\:shadow-1:where(.dark, .dark *) {
    --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .dark\:ring-background-5:where(.dark, .dark *) {
    --tw-ring-color: var(--color-background-5);
  }

  .dark\:ring-background-7:where(.dark, .dark *) {
    --tw-ring-color: var(--color-background-7);
  }

  .dark\:ring-background-9:where(.dark, .dark *) {
    --tw-ring-color: var(--color-background-9);
  }

  .dark\:ring-black:where(.dark, .dark *) {
    --tw-ring-color: var(--color-black);
  }

  .dark\:ring-stroke-7:where(.dark, .dark *) {
    --tw-ring-color: var(--color-stroke-7);
  }

  .dark\:invert:where(.dark, .dark *) {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .dark\:backdrop-blur-\[17px\]:where(.dark, .dark *) {
    --tw-backdrop-blur: blur(17px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .dark\:backdrop-blur-\[20px\]:where(.dark, .dark *) {
    --tw-backdrop-blur: blur(20px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  :is(.\*\:dark\:border-b-stroke-7 > *):where(.dark, .dark *) {
    border-bottom-color: var(--color-stroke-7);
  }

  .dark\:not-last\:border-stroke-6:where(.dark, .dark *):not(:last-child) {
    border-color: var(--color-stroke-6);
  }

  @media (hover: hover) {
    .group-hover\:dark\:inline:is(:where(.group):hover *):where(.dark, .dark *) {
      display: inline;
    }

    .dark\:group-hover\:border-primary-500:where(.dark, .dark *):is(:where(.group):hover *) {
      border-color: var(--color-primary-500);
    }

    .dark\:group-hover\:\!bg-background-6:where(.dark, .dark *):is(:where(.group):hover *) {
      background-color: var(--color-background-6) !important;
    }

    .dark\:group-hover\:bg-accent\/40:where(.dark, .dark *):is(:where(.group):hover *) {
      background-color: #fcfcfc66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:group-hover\:bg-accent\/40:where(.dark, .dark *):is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-accent) 40%, transparent);
      }
    }

    .dark\:group-hover\:bg-background-7\/50:where(.dark, .dark *):is(:where(.group):hover *) {
      background-color: #181d2680;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:group-hover\:bg-background-7\/50:where(.dark, .dark *):is(:where(.group):hover *) {
        background-color: color-mix(in oklab, var(--color-background-7) 50%, transparent);
      }
    }

    .dark\:group-hover\:bg-background-8:where(.dark, .dark *):is(:where(.group):hover *) {
      background-color: var(--color-background-8);
    }

    .dark\:group-hover\:bg-primary-500:where(.dark, .dark *):is(:where(.group):hover *) {
      background-color: var(--color-primary-500);
    }

    .group-hover\:dark\:bg-background-7:is(:where(.group):hover *):where(.dark, .dark *) {
      background-color: var(--color-background-7);
    }

    .group-hover\:dark\:fill-black:is(:where(.group):hover *):where(.dark, .dark *) {
      fill: var(--color-black);
    }

    .dark\:group-hover\:stroke-accent:where(.dark, .dark *):is(:where(.group):hover *) {
      stroke: var(--color-accent);
    }

    .dark\:group-hover\/social-link\:fill-accent:where(.dark, .dark *):is(:where(.group\/social-link):hover *) {
      fill: var(--color-accent);
    }

    .dark\:group-hover\/social-link\:stroke-accent:where(.dark, .dark *):is(:where(.group\/social-link):hover *) {
      stroke: var(--color-accent);
    }
  }

  .dark\:group-\[\.page-active\]\:bg-accent:where(.dark, .dark *):is(:where(.group).page-active *) {
    background-color: var(--color-accent);
  }

  .dark\:group-\[\.page-active\]\:text-accent:where(.dark, .dark *):is(:where(.group).page-active *) {
    color: var(--color-accent);
  }

  .dark\:group-\[\.page-active\]\:text-primary-500:where(.dark, .dark *):is(:where(.group).page-active *) {
    color: var(--color-primary-500);
  }

  .dark\:marker\:text-accent:where(.dark, .dark *) ::marker {
    color: var(--color-accent);
  }

  .dark\:marker\:text-accent:where(.dark, .dark *)::marker {
    color: var(--color-accent);
  }

  .dark\:marker\:text-accent:where(.dark, .dark *) ::-webkit-details-marker {
    color: var(--color-accent);
  }

  .dark\:marker\:text-accent:where(.dark, .dark *)::-webkit-details-marker {
    color: var(--color-accent);
  }

  .dark\:placeholder\:text-accent\/50:where(.dark, .dark *)::placeholder {
    color: #fcfcfc80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:placeholder\:text-accent\/50:where(.dark, .dark *)::placeholder {
      color: color-mix(in oklab, var(--color-accent) 50%, transparent);
    }
  }

  .dark\:placeholder\:text-accent\/60:where(.dark, .dark *)::placeholder {
    color: #fcfcfc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:placeholder\:text-accent\/60:where(.dark, .dark *)::placeholder {
      color: color-mix(in oklab, var(--color-accent) 60%, transparent);
    }
  }

  .dark\:placeholder\:text-white\/40:where(.dark, .dark *)::placeholder {
    color: #fff6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:placeholder\:text-white\/40:where(.dark, .dark *)::placeholder {
      color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }

  .dark\:before\:bg-accent:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-color: var(--color-accent);
  }

  .dark\:before\:bg-stroke-5:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-color: var(--color-stroke-5);
  }

  .dark\:before\:bg-stroke-6:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-color: var(--color-stroke-6);
  }

  .dark\:before\:bg-stroke-7:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-color: var(--color-stroke-7);
  }

  .dark\:before\:bg-\[linear-gradient\(180deg\,\#1B232F_0\%\,\#13171E_100\%\)\]:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-image: linear-gradient(#1b232f 0%, #13171e 100%);
  }

  .dark\:before\:bg-\[linear-gradient\(180deg\,\#303B49_0\%\,\#748eaf00_100\%\)\]:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-image: linear-gradient(#303b49 0%, #748eaf00 100%);
  }

  .dark\:before\:bg-\[linear-gradient\(180deg\,_\#1b232f_0\%\,\#13171E_100\%\)\]:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-image: linear-gradient(#1b232f 0%, #13171e 100%);
  }

  .dark\:before\:bg-\[linear-gradient\(180deg\,_\#303B49_0\%\,_rgba\(48\,_59\,_73\,_0\.00\)_100\%\)\]:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-image: linear-gradient(#303b49 0%, #303b4900 100%);
  }

  .dark\:before\:bg-none:where(.dark, .dark *):before {
    content: var(--tw-content);
    background-image: none;
  }

  .dark\:before\:to-background-8:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-gradient-to: var(--color-background-8);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:before\:ring-background-5:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-5);
  }

  .dark\:before\:ring-background-7:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-7);
  }

  .dark\:before\:ring-background-9:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-9);
  }

  .dark\:before\:ring-black:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-ring-color: var(--color-black);
  }

  .dark\:before\:content-\[url\(\'\/images\/icons\/checkmark-white\.svg\'\)\]:where(.dark, .dark *):before {
    content: var(--tw-content);
    --tw-content: url("../images/icons/checkmark-white.svg");
    content: var(--tw-content);
  }

  .dark\:after\:h-\[254px\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    height: 254px;
  }

  .dark\:after\:border-stroke-8:where(.dark, .dark *):after {
    content: var(--tw-content);
    border-color: var(--color-stroke-8);
  }

  .dark\:after\:bg-accent:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-color: var(--color-accent);
  }

  .dark\:after\:bg-background-8:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-color: var(--color-background-8);
  }

  .dark\:after\:bg-background-9:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-color: var(--color-background-9);
  }

  .dark\:after\:bg-secondary:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-color: var(--color-secondary);
  }

  .dark\:after\:bg-stroke-5:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-color: var(--color-stroke-5);
  }

  .dark\:after\:bg-\[linear-gradient\(180deg\,\#1B232F_0\%\,\#13171E_100\%\)\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-image: linear-gradient(#1b232f 0%, #13171e 100%);
  }

  .dark\:after\:bg-\[linear-gradient\(180deg\,\#303B49_0\%\,\#748eaf00_100\%\)\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-image: linear-gradient(#303b49 0%, #748eaf00 100%);
  }

  .dark\:after\:bg-\[linear-gradient\(180deg\,_\#1b232f_0\%\,\#13171E_100\%\)\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-image: linear-gradient(#1b232f 0%, #13171e 100%);
  }

  .dark\:after\:bg-\[linear-gradient\(180deg\,_\#303B49_0\%\,_rgba\(48\,_59\,_73\,_0\.00\)_100\%\)\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-image: linear-gradient(#303b49 0%, #303b4900 100%);
  }

  .dark\:after\:bg-none:where(.dark, .dark *):after {
    content: var(--tw-content);
    background-image: none;
  }

  .dark\:after\:from-\[25\.78\%\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-gradient-from-position: 25.78%;
  }

  .dark\:after\:to-\[\#181D26\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-gradient-to: #181d26;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:after\:to-background-8:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-gradient-to: var(--color-background-8);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:after\:to-\[97\.09\%\]:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-gradient-to-position: 97.09%;
  }

  .dark\:after\:ring-background-5:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-5);
  }

  .dark\:after\:ring-background-7:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-7);
  }

  .dark\:after\:ring-background-9:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-ring-color: var(--color-background-9);
  }

  .dark\:after\:ring-black:where(.dark, .dark *):after {
    content: var(--tw-content);
    --tw-ring-color: var(--color-black);
  }

  @media (hover: hover) {
    .dark\:hover\:btn-primary:where(.dark, .dark *):hover {
      border-color: var(--color-primary-600);
      background-color: var(--color-primary-500);
      color: var(--color-white);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:hover\:btn-primary:where(.dark, .dark *):hover:where(.dark, .dark *) {
      border-color: var(--color-primary-400);
    }

    .dark\:hover\:btn-primary:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:\!btn-white-dark:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-7) !important;
      background-color: var(--color-background-6) !important;
      color: var(--color-accent) !important;
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d) !important;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
    }

    .dark\:hover\:\!btn-white-dark:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E") !important;
    }

    .dark\:hover\:btn-accent:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-3);
      background-color: var(--color-accent);
      color: var(--color-secondary);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:hover\:btn-accent:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:btn-secondary:where(.dark, .dark *):hover {
      border-color: var(--color-black);
      background-color: var(--color-secondary);
      color: var(--color-white);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:hover\:btn-secondary:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:btn-white:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-3);
      background-color: var(--color-background-1);
      color: var(--color-secondary);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:hover\:btn-white:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%231a1a1c' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:btn-white-dark:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-7);
      background-color: var(--color-background-6);
      color: var(--color-accent);
      --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280d);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .dark\:hover\:btn-white-dark:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:btn-transparent:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-7);
      color: var(--color-accent);
      background-color: #0000;
    }

    .dark\:hover\:btn-transparent:where(.dark, .dark *):hover:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'%3E%3C/path%3E%3C/svg%3E");
    }

    .dark\:hover\:border-stroke-3:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-3);
    }

    .dark\:hover\:border-stroke-7:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-7);
    }

    .dark\:hover\:border-stroke-8:where(.dark, .dark *):hover {
      border-color: var(--color-stroke-8);
    }

    .dark\:hover\:bg-accent:where(.dark, .dark *):hover {
      background-color: var(--color-accent);
    }

    .dark\:hover\:bg-accent\/10:where(.dark, .dark *):hover {
      background-color: #fcfcfc1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-accent\/10:where(.dark, .dark *):hover {
        background-color: color-mix(in oklab, var(--color-accent) 10%, transparent);
      }
    }

    .dark\:hover\:bg-background-5:where(.dark, .dark *):hover {
      background-color: var(--color-background-5);
    }

    .dark\:hover\:bg-background-8:where(.dark, .dark *):hover {
      background-color: var(--color-background-8);
    }

    .dark\:hover\:bg-background-9\/60:where(.dark, .dark *):hover {
      background-color: #1f252f99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-background-9\/60:where(.dark, .dark *):hover {
        background-color: color-mix(in oklab, var(--color-background-9) 60%, transparent);
      }
    }

    .hover\:dark\:bg-background-8:hover:where(.dark, .dark *) {
      background-color: var(--color-background-8);
    }

    .dark\:hover\:text-accent:where(.dark, .dark *):hover {
      color: var(--color-accent);
    }

    .dark\:hover\:text-primary-400:where(.dark, .dark *):hover {
      color: var(--color-primary-400);
    }

    .dark\:hover\:text-primary-500:where(.dark, .dark *):hover {
      color: var(--color-primary-500);
    }

    .dark\:hover\:text-secondary:where(.dark, .dark *):hover {
      color: var(--color-secondary);
    }
  }

  .dark\:focus\:border-primary-400:where(.dark, .dark *):focus {
    border-color: var(--color-primary-400);
  }

  .dark\:focus\:border-primary-500:where(.dark, .dark *):focus {
    border-color: var(--color-primary-500);
  }

  .dark\:focus\:outline-primary-400:where(.dark, .dark *):focus {
    outline-color: var(--color-primary-400);
  }

  .dark\:focus-visible\:border-stroke-3\/20:where(.dark, .dark *):focus-visible {
    border-color: #d7dde533;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:border-stroke-3\/20:where(.dark, .dark *):focus-visible {
      border-color: color-mix(in oklab, var(--color-stroke-3) 20%, transparent);
    }
  }

  .dark\:focus-visible\:border-stroke-4\/20:where(.dark, .dark *):focus-visible {
    border-color: #eceff433;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:border-stroke-4\/20:where(.dark, .dark *):focus-visible {
      border-color: color-mix(in oklab, var(--color-stroke-4) 20%, transparent);
    }
  }

  .dark\:data-\[state\=selected\]\:text-accent:where(.dark, .dark *)[data-state="selected"] {
    color: var(--color-accent);
  }

  .dark\:data-\[state\=true\]\:bg-accent:where(.dark, .dark *)[data-state="true"] {
    background-color: var(--color-accent);
  }

  .dark\:data-\[state\=true\]\:stroke-secondary:where(.dark, .dark *)[data-state="true"] {
    stroke: var(--color-secondary);
  }

  @media not all and (min-width: 48rem) {
    .dark\:max-md\:border-b-stroke-7:where(.dark, .dark *) {
      border-bottom-color: var(--color-stroke-7);
    }
  }

  @media (min-width: 40rem) {
    .sm\:dark\:bg-background-5:where(.dark, .dark *) {
      background-color: var(--color-background-5);
    }
  }

  @media (min-width: 48rem) {
    .dark\:md\:border-r-stroke-7:where(.dark, .dark *) {
      border-right-color: var(--color-stroke-7);
    }

    .dark\:md\:py-\[100px\]:where(.dark, .dark *) {
      padding-block: 100px;
    }

    .dark\:md\:pb-\[100px\]:where(.dark, .dark *) {
      padding-bottom: 100px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:dark\:bg-transparent:where(.dark, .dark *) {
      background-color: #0000;
    }
  }

  @media not all and (min-width: 48rem) {
    .dark\:\[\&\>\*\:not\(\:last-child\)\]\:max-md\:border-b-stroke-5:where(.dark, .dark *) > :not(:last-child) {
      border-bottom-color: var(--color-stroke-5);
    }
  }

  @media (min-width: 48rem) {
    .dark\:\[\&\>\*\:not\(\:last-child\)\]\:md\:border-r-stroke-5:where(.dark, .dark *) > :not(:last-child) {
      border-right-color: var(--color-stroke-5);
    }
  }

  .dark\:\[\&\>p\]\:border-b-stroke-7:where(.dark, .dark *) > p {
    border-bottom-color: var(--color-stroke-7);
  }
}

.nav-item-link {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  border-style: var(--tw-border-style);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2);
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: #1a1a1c99;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .2s;
  border-width: 1px;
  border-color: #0000;
  border-radius: 3.40282e38px;
  transition-duration: .2s;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .nav-item-link {
    color: color-mix(in oklab, var(--color-secondary) 60%, transparent);
  }
}

@media (hover: hover) {
  .nav-item-link:is(:where(.group\/nav):hover *) {
    border-color: var(--color-stroke-2);
    background-color: #fcfcfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .nav-item-link:is(:where(.group\/nav):hover *) {
      background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }

  .nav-item-link:is(:where(.group\/nav):hover *) {
    color: var(--color-secondary);
  }
}

.nav-item-link:where(.dark, .dark *) {
  color: #fcfcfc99;
}

@supports (color: color-mix(in lab, red, red)) {
  .nav-item-link:where(.dark, .dark *) {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

@media (hover: hover) {
  .nav-item-link:is(:where(.group\/nav):hover *):where(.dark, .dark *) {
    border-color: var(--color-stroke-7);
    color: var(--color-accent);
    background-color: #0000;
  }
}

.nav-item-link-border {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  height: 100%;
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: #1a1a1c99;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .2s;
  transition-duration: .2s;
  display: flex;
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .nav-item-link-border {
    color: #333;
  }
}

@media (hover: hover) {
  .nav-item-link-border:is(:where(.group\/nav):hover *) {
    color: var(--color-secondary);
  }
}

.nav-item-link-border:before {
  content: var(--tw-content);
  content: var(--tw-content);
  bottom: calc(var(--spacing) * 0);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  content: var(--tw-content);
  content: var(--tw-content);
  transform-origin: 100%;
  content: var(--tw-content);
  --tw-scale-x: 0%;
  width: 100%;
  height: 1px;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  content: var(--tw-content);
  background-color: var(--color-secondary);
  content: var(--tw-content);
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  content: var(--tw-content);
  --tw-duration: .5s;
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  transition-duration: .5s;
  position: absolute;
}

@media (hover: hover) {
  .nav-item-link-border:hover:before {
    content: var(--tw-content);
    transform-origin: 0;
    content: var(--tw-content);
    --tw-scale-x: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}

.nav-item-link-border:where(.dark, .dark *) {
  color: var(--color-accent);
}

@media (hover: hover) {
  .nav-item-link-border:is(:where(.group\/nav):hover *):where(.dark, .dark *) {
    color: var(--color-accent);
  }
}

.nav-item-link-border:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-white);
}

.nav-item-link-white {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  height: 100%;
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: var(--color-accent);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .2s;
  transition-duration: .2s;
  display: flex;
  position: relative;
}

@media (hover: hover) {
  .nav-item-link-white:is(:where(.group\/nav):hover *) {
    color: var(--color-accent);
  }
}

.nav-item-link-white:before {
  content: var(--tw-content);
  content: var(--tw-content);
  bottom: calc(var(--spacing) * 0);
  content: var(--tw-content);
  left: calc(var(--spacing) * 0);
  content: var(--tw-content);
  content: var(--tw-content);
  height: 1px;
  width: calc(var(--spacing) * 0);
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  content: var(--tw-content);
  --tw-duration: .3s;
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  transition-duration: .3s;
  position: absolute;
}

@media (hover: hover) {
  .nav-item-link-white:is(:where(.group\/nav):hover *):before {
    content: var(--tw-content);
    content: var(--tw-content);
    background-color: var(--color-accent);
    width: 100%;
  }
}

.nav-item-link-light {
  align-items: center;
  gap: calc(var(--spacing) * 1);
  border-style: var(--tw-border-style);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 2);
  font-size: var(--text-tagline-1);
  line-height: var(--tw-leading, var(--text-tagline-1--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  color: #fcfcfc99;
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .2s;
  border-width: 1px;
  border-color: #0000;
  border-radius: 3.40282e38px;
  transition-duration: .2s;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .nav-item-link-light {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

@media (hover: hover) {
  .nav-item-link-light:is(:where(.group\/nav):hover *) {
    border-color: var(--color-stroke-1);
    background-color: #fcfcfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .nav-item-link-light:is(:where(.group\/nav):hover *) {
      background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
    }
  }

  .nav-item-link-light:is(:where(.group\/nav):hover *) {
    color: var(--color-accent);
  }
}

.nav-item-link-light:where(.dark, .dark *) {
  color: #fcfcfc99;
}

@supports (color: color-mix(in lab, red, red)) {
  .nav-item-link-light:where(.dark, .dark *) {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

@media (hover: hover) {
  .nav-item-link-light:is(:where(.group\/nav):hover *):where(.dark, .dark *) {
    background-color: #1a1a1c33;
    border-color: #0000;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .nav-item-link-light:is(:where(.group\/nav):hover *):where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
    }
  }

  .nav-item-link-light:is(:where(.group\/nav):hover *):where(.dark, .dark *) {
    color: var(--color-accent);
  }
}

.show-sidebar {
  --tw-translate-x: calc(var(--spacing) * 0);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}

.active-menu {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: var(--color-secondary);
}

.active-menu:where(.dark, .dark *) {
  color: var(--color-accent);
}

.is-cookie-true {
  top: calc(var(--spacing) * 13.5);
}

.is-cookie-false {
  top: calc(var(--spacing) * 5);
}

.top-nav {
  display: none;
}

.top-nav.visible {
  display: block;
}

.top-nav.hidden {
  display: none;
}

.scroll-ai-voice-header {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
  top: calc(var(--spacing) * 2) !important;
  background-color: #1a1a1ccc !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .scroll-ai-voice-header {
    background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent) !important;
  }
}

.header-two-scroll {
  top: calc(var(--spacing) * 4);
  --tw-backdrop-blur: blur(25px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  background-color: #1a1a1c66;
}

@supports (color: color-mix(in lab, red, red)) {
  .header-two-scroll {
    background-color: color-mix(in oklab, var(--color-secondary) 40%, transparent);
  }
}

.header-two-scroll:where(.dark, .dark *) {
  background-color: #eaeceb1a;
}

@supports (color: color-mix(in lab, red, red)) {
  .header-two-scroll:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--color-background-12) 10%, transparent);
  }
}

.header-four-scroll {
  padding-inline: calc(var(--spacing) * 5);
  --tw-backdrop-blur: blur(var(--blur-3xl));
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  background-color: #0006;
}

@supports (color: color-mix(in lab, red, red)) {
  .header-four-scroll {
    background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
  }
}

.header-four-scroll:where(.dark, .dark *) {
  background-color: #0000;
}

.header-five-scroll {
  top: calc(var(--spacing) * 4);
  background-color: var(--color-background-1);
  --tw-backdrop-blur: blur(15px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
}

.header-five-scroll:where(.dark, .dark *) {
  background-color: var(--color-background-5);
}

.header-six-scroll {
  top: calc(var(--spacing) * 6);
  background-color: var(--color-background-7);
}

@media (min-width: 48rem) {
  .header-six-scroll {
    top: calc(var(--spacing) * 7);
  }
}

@media (min-width: 64rem) {
  .header-six-scroll {
    top: calc(var(--spacing) * 5);
  }
}

.financial-management-platform-header-scroll {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .3s;
  transition-timing-function: var(--ease-in-out);
  top: calc(var(--spacing) * 2) !important;
}

.nav-item {
  position: relative;
}

.nav-item .nav-arrow {
  transition: transform .3s;
}

.nav-item.active .nav-arrow, .nav-item.menu-active .nav-arrow {
  transform: rotate(180deg);
}

.mega-menu, .dropdown-menu, .customer-dropdown-menu {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: all .3s;
  transform: translateY(10px);
}

.mega-menu.active, .dropdown-menu.active, .customer-dropdown-menu.active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateY(0);
}

.mega-menu-bridge, .dropdown-menu-bridge {
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

.nav-item.active .mega-menu-bridge, .nav-item.active .dropdown-menu-bridge {
  opacity: 1;
  pointer-events: auto;
}

.mega-menu.active, .dropdown-menu.active {
  transform: translateY(0);
}

.mega-menu, .dropdown-menu, .customer-dropdown-menu {
  transition: opacity .3s, transform .3s, pointer-events 0s .3s;
}

.mega-menu.active, .dropdown-menu.active, .customer-dropdown-menu.active {
  transition: opacity .3s, transform .3s, pointer-events;
}

.nav-item:hover .nav-arrow {
  transform: rotate(180deg);
}

.mega-menu, .dropdown-menu, .customer-dropdown-menu {
  z-index: 50;
}

@media (max-width: 1279px) {
  .mega-menu, .dropdown-menu {
    display: none !important;
  }
}

@keyframes menuSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px)scale(.98);
  }

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

@keyframes menuSlideOut {
  from {
    opacity: 1;
    transform: translateY(0)scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(10px)scale(.98);
  }
}

.mega-menu.active, .dropdown-menu.active {
  animation: .3s forwards menuSlideIn;
}

.nav-item:focus-within .nav-arrow {
  transform: rotate(180deg);
}

.nav-item:focus-within .mega-menu, .nav-item:focus-within .dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.horizontal-marquee {
  gap: var(--_gap);
  flex-wrap: nowrap;
  max-width: 100%;
  display: flex;
  overflow: hidden;
}

.horizontal-marquee.smooth {
  -webkit-mask: linear-gradient(90deg, #0000, #fff 20% 80%, #0000);
  mask: linear-gradient(90deg, #0000, #fff 20% 80%, #0000);
}

.horizontal-marquee.paused .horizontal-marquee-inner {
  animation-play-state: paused;
}

.horizontal-marquee.full .horizontal-marquee-inner {
  min-width: var(--_containerWidth);
}

.horizontal-marquee-inner {
  justify-content: space-around;
  align-items: center;
  gap: var(--_gap);
  white-space: nowrap;
  flex-wrap: nowrap;
  display: flex;
}

[data-animate="true"] .horizontal-marquee-inner {
  animation: horizontal-marquee var(--_speed) linear infinite var(--_direction);
}

@keyframes horizontal-marquee {
  0% {
    transform: translate(calc(var(--_gap) * -1));
  }

  100% {
    transform: translate(calc(-100% - var(--_gap) * 2));
  }
}

.vertical-marquee {
  margin-bottom: var(--_gap);
  max-height: 100%;
  height: calc(calc(var(--_containerSize)  - var(--_vGap)) / 1.2);
  flex-flow: column;
  display: flex;
  overflow: hidden;
}

.vertical-marquee.smooth {
  -webkit-mask: linear-gradient(#0000, #fff 20% 80%, #0000);
  mask: linear-gradient(#0000, #fff 20% 80%, #0000);
}

.vertical-marquee.paused .vertical-marquee-inner {
  animation-play-state: paused;
}

.vertical-marquee-inner {
  align-items: center;
  gap: var(--_vGap);
  margin-bottom: var(--_vGap);
  flex-flow: column;
  flex-shrink: 0;
  justify-content: space-around;
  display: flex;
}

[data-animate="true"] .vertical-marquee-inner {
  animation: vertical-marquee var(--_speed) linear infinite var(--_direction);
}

.vertical-marquee-inner > :not(:last-child) {
  margin-right: var(--_hGap);
}

@keyframes vertical-marquee {
  0% {
    transform: translateY(calc(var(--_vGap) * -1));
  }

  100% {
    transform: translateY(calc(-100% - var(--_vGap) * 2));
  }
}

@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: #007aff;
}

:host {
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
}

.swiper {
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  z-index: 1;
  width: 100%;
  height: 100%;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
  display: flex;
  position: relative;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  transition-property: transform;
  display: block;
  position: relative;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: auto;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  pointer-events: none;
  z-index: 10;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.swiper-3d .swiper-slide-shadow {
  background: #00000026;
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, #00000080, #0000);
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, #00000080, #0000);
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, #00000080, #0000);
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(#00000080, #0000);
}

.swiper-lazy-preloader {
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-top-color: #0000;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  margin-left: -21px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: 1s linear infinite swiper-preloader-spin;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next, .swiper-button-prev {
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  object-fit: contain;
  transform-origin: center;
  width: 100%;
  height: 100%;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
  text-transform: none !important;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  text-align: center;
  z-index: 10;
  transition: opacity .3s;
  position: absolute;
  transform: translate3d(0, 0, 0);
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  width: 100%;
  left: 0;
}

.swiper-pagination-bullets-dynamic {
  font-size: 0;
  overflow: hidden;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  position: relative;
  transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active, .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
  display: inline-block;
}

button.swiper-pagination-bullet {
  box-shadow: none;
  appearance: none;
  border: none;
  margin: 0;
  padding: 0;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  width: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform .2s, top .2s;
  display: inline-block;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  white-space: nowrap;
  left: 50%;
  transform: translateX(-50%);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform .2s, left .2s;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform .2s, right .2s;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, #00000040);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(0);
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: 100% 0;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  top: 0;
  left: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  top: 0;
  left: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, #0000001a);
  position: relative;
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  position: absolute;
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  position: absolute;
}

.swiper-scrollbar-drag {
  background: var(--swiper-scrollbar-drag-bg-color, #00000080);
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  width: 100%;
  height: 100%;
  position: relative;
  top: 0;
  left: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
  position: absolute;
  top: 0;
  left: 0;
}

.swiper-free-mode > .swiper-wrapper {
  margin: 0 auto;
  transition-timing-function: ease-out;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-flow: column wrap;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  opacity: .6;
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  filter: blur(50px);
  background: #000;
  position: absolute;
  inset: 0;
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  transition-property: transform, opacity, height;
  overflow: hidden;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer {
  position: absolute;
  top: 0;
  left: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.leaflet-tile::selection {
  background: none;
}

.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

.leaflet-safari .leaflet-tile-container {
  -webkit-transform-origin: 0 0;
  width: 1600px;
  height: 1600px;
}

.leaflet-marker-icon, .leaflet-marker-shadow {
  display: block;
}

.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile {
  width: auto;
  padding: 0;
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container img.leaflet-tile {
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: #33b5e566;
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  box-sizing: border-box;
  z-index: 800;
  width: 0;
  height: 0;
}

.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url("#default#VML");
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  position: relative;
}

.leaflet-top, .leaflet-bottom {
  z-index: 1000;
  pointer-events: none;
  position: absolute;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity .2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0, 0, .25, 1);
  transition: transform .25s cubic-bezier(0, 0, .25, 1);
}

.leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair, .leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane, .leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  outline-offset: 1px;
  background: #ddd;
}

.leaflet-container a {
  color: #0078a8;
}

.leaflet-zoom-box {
  background: #ffffff80;
  border: 2px dotted #38f;
}

.leaflet-container {
  font-family: var(--font-inter-tight);
  font-size: .75rem;
  line-height: 1.5;
}

.leaflet-bar {
  border-radius: 4px;
  box-shadow: 0 1px 5px #000000a6;
}

.leaflet-bar a {
  text-align: center;
  color: #000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-decoration: none;
  display: block;
}

.leaflet-bar a, .leaflet-control-layers-toggle {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover, .leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom: none;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  color: #bbb;
  background-color: #f4f4f4;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
  text-indent: 1px;
  font: bold 18px Lucida Console, Monaco, monospace;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

.leaflet-control-layers {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 1px 5px #0006;
}

.leaflet-control-layers-toggle {
  background-image: url("./vendor/images/layers.png");
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("./vendor/images/layers-2x.png");
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  color: #333;
  background: #fff;
  padding: 6px 10px 6px 6px;
}

.leaflet-control-layers-scrollbar {
  padding-right: 5px;
  overflow: hidden scroll;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  font-size: 1.08333em;
  display: block;
}

.leaflet-control-layers-separator {
  border-top: 1px solid #ddd;
  height: 0;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url("./vendor/images/marker-icon.png");
}

.leaflet-container .leaflet-control-attribution {
  background: #fffc;
  margin: 0;
}

.leaflet-control-attribution, .leaflet-control-scale-line {
  color: #333;
  padding: 0 5px;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  width: 1em;
  height: .6669em;
  vertical-align: baseline !important;
  display: inline !important;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  white-space: nowrap;
  box-sizing: border-box;
  text-shadow: 1px 1px #fff;
  background: #fffc;
  border: 2px solid #777;
  border-top: none;
  padding: 2px 5px 1px;
  line-height: 1.1;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  background-clip: padding-box;
  border: 2px solid #0003;
}

.leaflet-popup {
  text-align: center;
  margin-bottom: 20px;
  position: absolute;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 12px;
  padding: 1px;
}

.leaflet-popup-content {
  min-height: 1px;
  margin: 13px 24px 13px 20px;
  font-size: 1.08333em;
  line-height: 1.3;
}

.leaflet-popup-content p {
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  pointer-events: none;
  width: 40px;
  height: 20px;
  margin-top: -1px;
  margin-left: -20px;
  position: absolute;
  left: 50%;
  overflow: hidden;
}

.leaflet-popup-tip {
  pointer-events: auto;
  width: 17px;
  height: 17px;
  margin: -10px auto 0;
  padding: 1px;
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  color: #333;
  background: #fff;
  box-shadow: 0 3px 14px #0006;
}

.leaflet-container a.leaflet-popup-close-button {
  text-align: center;
  color: #757575;
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  font: 16px / 24px Tahoma, Verdana, sans-serif;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 0;
}

.leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  width: 24px;
  filter: progid:DXImageTransform. Microsoft. Matrix(M11= .707107, M12= .707107, M21= -.707107, M22= .707107);
  margin: 0 auto;
}

.leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 6px;
  position: absolute;
  box-shadow: 0 1px 3px #0006;
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  pointer-events: none;
  content: "";
  background: none;
  border: 6px solid #0000;
  position: absolute;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  margin-left: -6px;
  left: 50%;
}

.leaflet-tooltip-top:before {
  border-top-color: #fff;
  margin-bottom: -12px;
  bottom: 0;
}

.leaflet-tooltip-bottom:before {
  border-bottom-color: #fff;
  margin-top: -12px;
  margin-left: -6px;
  top: 0;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  margin-top: -6px;
  top: 50%;
}

.leaflet-tooltip-left:before {
  border-left-color: #fff;
  margin-right: -12px;
  right: 0;
}

.leaflet-tooltip-right:before {
  border-right-color: #fff;
  margin-left: -12px;
  left: 0;
}

@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.reviews-swiper {
  overflow-x: hidden;
}

.reviews-swiper .swiper-slide {
  height: auto;
  padding-block: calc(var(--spacing) * 5);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .5s;
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
  transform: translateY(5px);
}

.reviews-swiper .swiper-slide > div {
  height: 100%;
  transition: all .6s cubic-bezier(.25, .46, .45, .94);
  position: relative;
}

.reviews-swiper .swiper-slide > div:before {
  content: var(--tw-content);
  content: var(--tw-content);
  inset: calc(var(--spacing) * 0);
  content: var(--tw-content);
  z-index: -10;
  content: var(--tw-content);
  content: var(--tw-content);
  background-color: var(--color-secondary);
  content: var(--tw-content);
  opacity: 0;
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  content: var(--tw-content);
  --tw-duration: .7s;
  content: var(--tw-content);
  --tw-ease: var(--ease-out);
  transition-duration: .7s;
  transition-timing-function: var(--ease-out);
  content: var(--tw-content);
  --tw-content: "";
  content: var(--tw-content);
  border-radius: 20px;
  position: absolute;
}

.reviews-swiper .swiper-slide > div:where(.dark, .dark *):before {
  content: var(--tw-content);
  background-color: var(--color-background-7);
}

.reviews-swiper .swiper-slide-prev, .reviews-swiper .swiper-slide-next {
  transform: translateY(5px);
}

.reviews-swiper .swiper-slide-active > div {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .5s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .5s;
  transition-timing-function: var(--ease-in-out);
  animation: .7s cubic-bezier(.34, 1.56, .64, 1) slideUp;
}

.reviews-swiper .swiper-slide-active > div:before {
  content: var(--tw-content);
  opacity: 1;
}

.reviews-swiper .swiper-slide-active .review-text {
  color: var(--color-accent);
  animation: .6s cubic-bezier(.25, .46, .45, .94) .1s both fadeInUp;
}

.reviews-swiper .swiper-slide-active .review-text:where(.dark, .dark *) {
  color: var(--color-accent);
}

.reviews-swiper .swiper-slide-active .review-name {
  color: var(--color-accent);
  animation: .6s cubic-bezier(.25, .46, .45, .94) .2s both fadeInUp;
}

.reviews-swiper .swiper-slide-active .review-name:where(.dark, .dark *) {
  color: var(--color-accent);
}

.reviews-swiper .swiper-slide-active .review-title {
  color: #fcfcfc99;
  animation: .6s cubic-bezier(.25, .46, .45, .94) .3s both fadeInUp;
}

@supports (color: color-mix(in lab, red, red)) {
  .reviews-swiper .swiper-slide-active .review-title {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

.reviews-swiper .swiper-slide-active .review-title:where(.dark, .dark *) {
  color: #fcfcfc99;
}

@supports (color: color-mix(in lab, red, red)) {
  .reviews-swiper .swiper-slide-active .review-title:where(.dark, .dark *) {
    color: color-mix(in oklab, var(--color-accent) 60%, transparent);
  }
}

.reviews-swiper .swiper-slide-active .gradient-overlay {
  opacity: 1;
  animation: .8s cubic-bezier(.68, -.55, .265, 1.55) gradientFadeIn;
}

@keyframes slideUp {
  from {
    transform: translateY(15px);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

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

@keyframes gradientFadeIn {
  from {
    opacity: 0;
    transform: scale(.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.single-card-reviews-swiper {
  width: 100%;
  max-width: 840px;
  margin-inline: auto;
  overflow: hidden;
}

.single-card-reviews-swiper .swiper-wrapper {
  align-items: center;
}

.single-card-reviews-swiper .swiper-slide {
  opacity: .3;
  filter: blur(3px);
  height: auto;
  transition: all .8s cubic-bezier(.25, .46, .45, .94);
  transform: scale(.8);
}

.single-card-reviews-swiper .swiper-slide-active {
  opacity: 1;
  filter: blur();
  transform: scale(1);
}

.single-card-reviews-prev:hover, .single-card-reviews-next:hover {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .2s;
  --tw-ease: var(--ease-in-out);
  transition-duration: .2s;
  transition-timing-function: var(--ease-in-out);
  scale: 102%;
}

.reviews-fade-in-swiper {
  width: 100%;
  overflow: hidden;
}

.reviews-fade-in-swiper .swiper-wrapper {
  align-items: center;
}

.reviews-fade-in-swiper .swiper-slide {
  height: auto;
  padding-top: calc(var(--spacing) * 16);
  transition: all .6s cubic-bezier(.25, .46, .45, .94);
}

.reviews-fade-in-next, .reviews-fade-in-prev {
  width: calc(var(--spacing) * 9);
  height: calc(var(--spacing) * 9);
  cursor: pointer;
  background-color: var(--color-background-4);
  border-radius: 3.40282e38px;
  justify-content: center;
  align-items: center;
  display: flex;
}

:is(.reviews-fade-in-next, .reviews-fade-in-prev):where(.dark, .dark *) {
  background-color: var(--color-background-9);
}

.reviews-fade-in-pagination {
  z-index: 20;
  margin-top: calc(var(--spacing) * 6);
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacing) * .5);
  display: flex;
  position: absolute;
  left: 50%;
  bottom: 27% !important;
}

.reviews-fade-in-pagination .swiper-pagination-bullet {
  width: calc(var(--spacing) * 2);
  height: calc(var(--spacing) * 2);
  cursor: pointer;
  background-color: #b6c6e6;
  border-radius: 3.40282e38px;
}

.reviews-fade-in-pagination .swiper-pagination-bullet:where(.dark, .dark *) {
  background-color: var(--color-background-4);
}

.reviews-fade-in-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-secondary);
}

.reviews-fade-in-pagination .swiper-pagination-bullet-active:where(.dark, .dark *) {
  background-color: #b6c6e6;
}

@media (max-width: 768px) {
  .reviews-fade-in-swiper .swiper-slide {
    transition: all .6s cubic-bezier(.25, .46, .45, .94);
  }

  .reviews-fade-in-next, .reviews-fade-in-prev {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .reviews-fade-in-pagination {
    margin-top: calc(var(--spacing) * 4);
  }
}

@media (hover: none) and (pointer: coarse) {
  .reviews-fade-in-swiper .swiper-slide {
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
  }

  .reviews-fade-in-next, .reviews-fade-in-prev {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reviews-fade-in-swiper .swiper-slide {
    transition: all .3s;
  }

  .reviews-fade-in-next, .reviews-fade-in-prev, .reviews-fade-in-pagination .swiper-pagination-bullet {
    transition: all .2s;
  }
}

.blog-article-swiper {
  width: 100%;
  overflow: hidden;
}

.blog-article-swiper .swiper-wrapper {
  align-items: center;
}

.blog-article-swiper .swiper-slide {
  height: auto;
  transition: all .6s cubic-bezier(.25, .46, .45, .94);
}

.blog-article-swiper .swiper-pagination-bullet {
  width: calc(var(--spacing) * 3);
  height: calc(var(--spacing) * 3);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-stroke-5);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  --tw-duration: .3s;
  background-color: #0000;
  border-radius: 3.40282e38px;
  transition-duration: .3s;
}

.blog-article-swiper .swiper-pagination-bullet:where(.dark, .dark *) {
  border-color: var(--color-stroke-3);
}

.blog-article-swiper .swiper-pagination-bullet-active {
  width: calc(var(--spacing) * 3.5);
  height: calc(var(--spacing) * 3.5);
  border-color: var(--color-primary-500);
  background-color: var(--color-primary-500);
  border-radius: 3.40282e38px;
}

.blog-article-swiper .swiper-pagination-bullet-active:where(.dark, .dark *) {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.blog-article-swiper .pagination-bullets {
  justify-content: center;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  margin-inline: auto;
  display: flex;
}

.social-proof-swiper {
  overflow: hidden;
}

.social-proof-swiper .swiper-wrapper {
  align-items: center;
}

.social-proof-swiper .swiper-slide {
  opacity: .3;
  filter: blur(8px);
  transition: all .8s cubic-bezier(.25, .46, .45, .94);
  transform: scale(.8);
}

.social-proof-swiper .swiper-slide-active {
  opacity: 1;
  filter: blur();
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .social-proof-swiper .swiper-slide {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .3s;
    transition-duration: .3s;
    transition-timing-function: ease;
  }
}

.social-proof-avatar {
  opacity: .3;
  transition: all .3s cubic-bezier(.25, .46, .45, .94);
}

.social-proof-avatar.active {
  --tw-scale-x: 110%;
  --tw-scale-y: 110%;
  --tw-scale-z: 110%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .social-proof-avatar {
    transition: all .2s;
  }
}

.financial-management-platform-pagination .swiper-pagination-bullet {
  background-color: #fcfcfce6;
}

@supports (color: color-mix(in lab, red, red)) {
  .financial-management-platform-pagination .swiper-pagination-bullet {
    background-color: color-mix(in oklab, var(--color-accent) 90%, transparent);
  }
}

.financial-management-platform-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-white);
}

.business-card-number._number, .bank-card-number._number {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.business-card-number ._number > div > div, .bank-card-number ._number > div > div {
  transition: top .8s cubic-bezier(.25, .46, .45, .94);
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.header-one {
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
header {
  opacity: 1 !important;
  transform: translateY(0);
}
.site-container {
  width: 100%;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 1024px) {
  .site-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (min-width: 1280px) {
  .site-container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
\3c style>
  @media (min-width: 768px) {
    .logos-marquee-container {
      animation: none !important;
      display: flex;
      overflow: visible;
    }
    .logos-marquee-container > div {
      animation: none !important;
      flex-wrap: wrap;
      justify-content: center;
    }
  }
#hugo-hex {
  width: 100%;
  height: 100%;
  max-width: none;
}
/* =========================
   Journey Section
   ========================= */
/* Header */

/* Tablet & phone */

/* Content layout */

/* Left column */

.journey-step-names-wrap {
  display: flex;
  flex-direction: column;
}

.journey-step-names {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.journey-step-name {
  font-family: var(--font-inter-tight);
  font-size: var(--text-heading-4);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-stroke-3);
  cursor: pointer;
  transition: color 0.3s ease, font-size 0.3s ease;
  margin: 0;
  white-space: nowrap;
}

.journey-step-name.active {
  color: #428fae;
  font-size: var(--text-heading-3);
}

.journey-step-name:hover:not(.active) {
  color: #999;
}

/* Right half */

/* Navigation */
.journey-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
}

.journey-nav-btn {
  width: 44px;
  height: 44px;
  border: 1.5px solid var(--color-stroke-3);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease;
}

.journey-nav-btn:hover:not(:disabled) {
  border-color: var(--color-secondary);
}

.journey-nav-btn:disabled {
  opacity: 0.3;
  cursor: default;
}

.journey-nav-counter {
  font-size: 14px;
  color: #999;
  min-width: 50px;
  text-align: center;
}

/* Big number */

.journey-big-number {
  font-family: var(--font-inter-tight);
  font-size: 220px;
  font-weight: 400;
  line-height: 1;
  color: rgb(66 143 174 / 24%);
  user-select: none;
  will-change: transform, opacity;
}

/* Right column */

/* Slides container */

/* Monospace editorial list */
.journey-slide ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.journey-slide ul li {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: baseline;
  column-gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(66, 143, 174, 0.12);
  transition: border-color 0.25s ease;
}

.journey-slide ul li:last-child {
  border-bottom: none;
}

.journey-slide ul li:hover {
  border-bottom-color: rgba(66, 143, 174, 0.35);
}

/* CTA Button */

.journey-cta-link:hover {
  background: var(--color-secondary);
  color: var(--color-accent);
}

.journey-cta-link:hover .journey-cta-arrow {
  background: var(--color-accent);
}

.journey-cta-link:hover .journey-cta-arrow svg {
  stroke: var(--color-secondary);
}

/* =========================
   Journey
   ========================= */

.journey-slide {
  display: none;
}

.journey-slide.active {
  display: block;
  animation: jIn .22s cubic-bezier(0, 0, .2, 1) both;
}

.journey-slide.leaving {
  display: block;
  animation: jOut .18s cubic-bezier(.4, 0, 1, 1) both;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.journey-big-number.entering {
  animation: jIn .22s cubic-bezier(0, 0, .2, 1) both;
}

.journey-big-number.leaving {
  animation: jOut .18s cubic-bezier(.4, 0, 1, 1) both;
}

@keyframes jIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0);   }
}

@keyframes jOut {
  from { opacity: 1; transform: translateY(0);    }
  to   { opacity: 0; transform: translateY(-8px); }
}

/* =========================
   Journey
   ========================= */
@media (max-width: 1023px) {

  /* Nothing inside the section may widen the page */

  /* Flatten nesting so we can reorder */
  .journey-step-names-wrap { display: contents; }

  /* ---- 1 ---- */
  .journey-step-names {
    order: 1;
    flex-direction: row;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-bottom: 1px solid #e3e3e0;
  }
  .journey-step-names::-webkit-scrollbar { display: none; }

  .journey-step-name {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 15px;                  /* Fixed */
    font-weight: 500;
    line-height: 1;
    padding: 14px 18px;
    border-bottom: 2px solid transparent;
    transition: color .3s ease, border-bottom-color .3s ease;
  }
  .journey-step-name.active {
    font-size: 15px;
    color: #034f73;
    border-bottom-color: #034f73;
  }

  /* ---- 2 ---- */
  .journey-big-number {
    position: absolute;
    top: 12px;
    right: 0;
    font-size: 110px;
    color: rgb(66 143 174 / 20%);
  }

  /* ---- 3 ---- */

  /* Keep the first row's text clear of the number */
  .journey-slide ul li:first-child { padding-right: 90px; }

  /* ---- 4 ---- */
  .journey-nav { order: 4; margin-top: 28px; }
}

/* ---- Phones ---- */
@media (max-width: 768px) {
  .journey-step-name,
  .journey-step-name.active { font-size: 14px; padding: 12px 15px; }
  .journey-big-number { font-size: 92px; top: 16px; }
  .journey-slide ul li:first-child { padding-right: 70px; }
  .journey-nav { margin-top: 24px; }
}

/* ---- Small phones ---- */
@media (max-width: 600px) {
  .journey-step-name,
  .journey-step-name.active { font-size: 13.5px; padding: 11px 13px; }
  .journey-big-number { font-size: 80px; top: 18px; }
  .journey-slide ul li:first-child { padding-right: 60px; }
  .journey-slide ul li {
    grid-template-columns: 44px 1fr;
    column-gap: 16px;
    padding: 14px 0;
  }
  .journey-nav-btn { width: 40px; height: 40px; }
}
/* =========================
   Announcement Bar
   ========================= */

.announcement-bar__link:hover {
  opacity: 0.8;
}

.announcement-bar__close:hover {
  opacity: 0.7;
}

.announcement-bar.is-hidden {
  display: none !important;
}

header[style*="translateY(-100%)"] {
  transform: translateY(-200%) !important;
}

/* ============================================================
   About section
   ============================================================ */

/* ---------- Grid layout ---------- */

/* ---------- Left ---------- */

/* ---------- Right ---------- */

/* Journey section */

/* Services section */

/* ---------- Price overlay on image ---------- */

/* Mobile */

/* ---------- About image ---------- */

/* Mobile */
  /* =========================
   Testimonials Section
========================= */

/* Testimonials section */

/* Slider wrap */

/* Card */

.testimonial-quote {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(26, 26, 28, 0.85);
  margin: 0 0 2rem;
  flex: 1;
}

/* Nav buttons */
.testimonials-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 3rem;
}

.testimonials-nav-btn {
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  border: 1px solid rgba(26, 26, 28, 0.2);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1a1a1c;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.testimonials-nav-btn:hover {
  background-color: rgba(26, 26, 28, 0.05);
  border-color: rgba(26, 26, 28, 0.4);
}
 
body {
  font-family: var(--font-inter-tight);
  background: #fffff;
  color: #1a1a1a;
  -webkit-font-smoothing: antialiased;
}
 
/* ── Demo layout ── */
 
/* ── Arrow SVG ── */
.arrow-svg {
  width: 52px;
  height: 22px;
  display: block;
  flex-shrink: 0;
}
 
.arrow-path {
  stroke: #0087ff;
  stroke-width: 1.5;
  stroke-linecap: butt;
  stroke-linejoin: round;
  fill: none;
}
 
/* ── Variant ── */
.arrow-trigger {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  border-radius: 4px;
  transition: opacity 0.15s ease;
}
 
.arrow-trigger:hover {
  opacity: 0.75;
}
 
/* ── Variant ── */
.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: color 0.15s ease;
}
 
.arrow-link:hover {
  color: #0087ff;
}
 
/* ── Variant ── */
.arrow-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: 1.5px solid #1a1a1a;
  border-radius: 100px;
  padding: 10px 18px 10px 14px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  letter-spacing: -0.01em;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
 
.arrow-btn:hover {
  background: #1a1a1a;
  color: #fff;
}
 
.arrow-btn:hover .arrow-path {
  stroke: #fff;
}
 
/* ── Focus-visible ring ── */
.arrow-trigger:focus-visible,
.arrow-link:focus-visible,
.arrow-btn:focus-visible {
  outline: 2px solid #0087ff;
  outline-offset: 3px;
}

.services-dark .arrow-path {
  stroke: #ffffff;
}

.services-dark .arrow-link {
  color: #ffffff;
}

.services-dark .arrow-link:hover {
  color: rgba(255, 255, 255, 0.6);
}
/* =========================
   Services Section 1
========================= */

/* Mobile & Tablet */
@media (max-width: 1023px) {
  /* Headline block first, eyebrow block second */
  .heading-line-automation {
    white-space: normal;
  }
  /* Logo strip */
}

/* Phone refinements */
/* =========================
   Hero B1
========================= */
.hero-b1-heading-dark  { color: #034f73; }
.hero-b1-heading-light { color: #549ab6; }

/* Tablet */
/* Desktop */

.hero-header nav a > span,
.hero-header nav a,
.hero-header nav .nav-arrow svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}
/* ── Story section ── */

/* Mobile */

/* Tablet */

/* Desktop */

/* Large desktop */


/* =========================
   Hero B1
========================= */

/* Per-logo optical nudges */

/* Tablet */

/* Mobile */
 .ns-hero-btn {
  display: inline-block;
  font-family: var(--font-inter-tight) !important;
  font-size: 1rem !important; /* Change this value to control the size */
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0;
  text-align: center;
  min-width: 13.75rem;
  max-width: 640px;
  border-radius: 9999px;
  padding: 1rem 1.75rem;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.6);
  transition: background-color 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease;
}

.ns-hero-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #ffffff;
}

.career-exit-btn:hover {
  color: #ffffff;
  gap: 12px;
}

.career-header {border-bottom: 1px solid var(--cs-rule)}
.career-header .arrow-path {
  stroke: #ffffff;
}
.career-header .arrow-link {
  color: #ffffff;
}
.career-header .arrow-link:hover {
  color: #ffffff;
}
.career-header .nav-item-link-border {
  color: #ffffff;
}
.career-header .arrow-link:hover .nav-item-link-border {
  color: rgba(255, 255, 255, 0.7);
}
.career-header .nav-item-link-border::before,
.career-header .nav-item-link-border::after {
  display: none !important;
}


/* =========================
   Career Login Page
========================= */

.career-header1 .arrow-path {
  stroke: #ffffff;
}
.career-header1 .arrow-link {
  color: #ffffff;
}
.career-header1 .arrow-link:hover {
  color: #ffffff;
}
.career-header1 .nav-item-link-border {
  color: #ffffff;
}
.career-header1 .arrow-link:hover .nav-item-link-border {
  color: rgba(255, 255, 255, 0.7);
}
.career-header1 .nav-item-link-border::before,
.career-header1 .nav-item-link-border::after {
  display: none !important;
}


.career-login-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  width: 90%;
  max-width: 1100px;
  z-index: 10;
}

.career-login-branding {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
}

.career-login-branding img {
  height: 50px;
  width: auto;
}

.career-login-branding p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  
}

.career-login-card {
  background-color: #ffffff;
  border-radius: 5px;
  padding: 3rem 2.5rem;
  width: 490px;
  max-height: 90vh;
  overflow-y: auto;
  flex-shrink: 0;
}

.career-login-card h2 {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}

/* Large desktop */
@media (min-width: 1024px) {
  .career-login-branding {
    display: flex;
  }
}

/* Medium desktop */
@media (max-width: 1200px) {
  .career-login-wrapper {
    gap: 4rem;
    max-width: 1000px;
  }
}

/* Tablet */
@media (max-width: 1023px) {
  .career-login-wrapper {
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    padding: 0 1.5rem;
    top: 50%;
  }

  .career-login-card {
    width: 100%;
    max-width: 480px;
    padding: 2.5rem 2rem;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .career-login-wrapper {
    top: 55%;
    padding: 0 1rem;
  }

  .career-login-card {
    max-width: 100%;
    padding: 2rem 1.5rem;
    max-height: 85vh;
  }

  .career-login-card h2 {
    font-size: 1.5rem;
  }
  .ns-hero-btn {
    min-width: 220px;          /* Equal widths when stacked */
    justify-content: center;   /* Keeps label centered if btn is flex */
    text-align: center;        /* Fallback if it isn't */
  }
}

/* =========================
   Blog Section
========================= */

.blog-article-title:hover {
  color: #034f73;
}

.blog-filter-btn:hover {
  color: #034f73;
}

.blog-filter-dropdown.open {
  display: block;
}

.blog-filter-dropdown li:hover {
  background: #f5f9fc;
  color: #034f73;
}

/* Layout */

/* Featured image */

/* Blog grid cards */

.blog-card-image:hover {
  transform: scale(1.03);
}

.blog-card-title:hover {
  color: #034f73;
}
/* =========================
   Blog rail
========================= */

/* ---- Article index ---- */
.blog-rail-nav {
  display: flex;
  flex-direction: column;
}
.blog-rail-nav-label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #b8b8b5;
  margin-bottom: 10px;
}
.blog-rail-link:hover { border-bottom-color: rgba(66, 143, 174, 0.4); }
.blog-rail-link:hover .blog-rail-name { color: #034f73; }
.blog-rail-link:hover .blog-rail-num { color: #549ab6; }

/* ---- Desktop ---- */

/* ---- Tablet & phone ---- */

@media (max-width: 1023px) {

  .blog-rail-nav {
    flex-direction: column;
    overflow-x: visible;
    border-bottom: none;
  }
}


/* =========================
   CX Section
========================= */
 
/* Tablet */
 
/* Mobile */
.cx-contact-btn .nav-item-link-border::after,
.cx-contact-btn .nav-item-link-border::before {
  display: none !important;
}
 
/* =========================
   CX Services Section
========================= */

/* =========================
   Desktop
========================= */

/* =========================================
   Tablet & Mobile
   ========================================= */
@media (max-width: 1023px) {

  /* CX service rows accordion items */

  /* Full-bleed top divider */

  /* Full-bleed bottom divider on last row only */

  /* Accordion trigger button */

  /* + / − icon */

  .cx-service-row.is-open .cx-service-icon::after {
    transform: translate(-50%, -50%) scaleY(0);
  }

  /* Hide number on mobile */

  /* Hide desktop-only duplicate elements */

  /* Collapsible panel */
  .cx-service-row.is-open .cx-service-panel {
    grid-template-rows: 1fr;
  }

  /* Description inside panel */

  /* Image inside panel */

}


/* =========================
   More Services Section
========================= */
.ms-item.is-open .ms-item-icon::after { transform: translate(-50%, -50%) scaleY(0); }
.ms-item.is-open .ms-item-panel { grid-template-rows: 1fr; }
 
/* Tablet / mobile */
@media (max-width: 1023px) {

  /* Break .ms-accordion out of .site-container */

  /* No top border above Video Support */

  /* Font */

  /* Padding */

  /* Icon */

  /* Panel text */
}
 
/* =========================
   CX Services Section wrapper
========================= */

/* Global safety net */
html {
  overflow-x: clip;
}
/* =========================
   Key Benefits / Services Benefits Section
========================= */

.services-benf-header .space-y-3 > * + * {
  margin-top: 12px; /* Fallback if space-y-3 utility isn't available */
}

/* Grid */

/* Text cells */

/* Image cells */

/* Tablet */
@media (max-width: 1023px) { /* Advanced tech */ /* Laptop */ /* Coins */ /* Cost savings */ /* Improved efficiency */ /* Hourglass */ /* Expert skills photo */ /* Expert skills */

  /* Right-column cells after reordering */
}

/* Mobile */
@media (max-width: 640px) { /* Advanced tech */ /* Laptop */ /* Cost savings */ /* Coins */ /* Improved efficiency */ /* Hourglass */ /* Expert skills */ /* Expert skills photo */
}

/* =========================
   CX Header
========================= */
 
/* Tablet */
 
/* Mobile */
/* ============================================================
   Contact
   ============================================================ */


/* ── Page-scoped header override ──────────────────────────── */

body:has(.cs-shell) .career-header.hero-header,
body:has(.cs-shell) .career-header1.hero-header {
  background-color: var(--color-off-white, #f2f2f4);
}

body:has(.cs-shell) .cs-shell { margin: 0; }


/* ── Shell ────────────────────────────────────────────────── */

.cs {
  --cs-ground: #fdfdfd;

  --cs-ink: var(--color-off-black, #0f1012);
  --cs-ink-muted: var(--color-steel-gray, #5e5e5e);
  --cs-ink-faint: var(--color-ash-gray, #8f8f8f);
  --cs-ink-rev: var(--color-pure-white, #fdfdfd);

  --cs-accent: var(--color-signal-blue, #0071e3);

  --cs-rule: rgba(15, 16, 18, 0.12);
  --cs-rule-soft: rgba(15, 16, 18, 0.08);

  --cs-rail: 300px;                 /* Site rail */
  --cs-gap: var(--spacing-94, 94px);
  --cs-label: 140px;                /* Label channel inside the form */

  --cs-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  display: block;
  width: 100%;
  background: var(--cs-ground);
  color: var(--cs-ink);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-50, 50px);
}



/* ── Masthead ─────────────────────────────────────────────── */

.cs-masthead {
  display: grid;
  grid-template-columns: var(--cs-rail) minmax(0, 1fr);
  column-gap: var(--cs-gap);
  align-items: start;
  padding-bottom: clamp(50px, 7vw, 94px);
}

/* 300 is the display exception to the 350 rule */
.cs-heading {
  margin: 0;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 300;
  line-height: 1.02;
  white-space: nowrap;
  color: var(--cs-ink);
}

.cs-note {
  margin: 0;
  padding-top: 14px;
  max-width: 34ch;
  font-size: 12px;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--cs-ink-faint);
}


/* ── Body ─────────────────────────────────────────────────── */

.cs-body {
  display: grid;
  grid-template-columns: var(--cs-rail) minmax(0, 1fr);
  column-gap: var(--cs-gap);
  align-items: start;
  padding-top: clamp(50px, 7vw, 94px);
  padding-bottom: clamp(69px, 9vw, 130px);
  border-top: 0.5px solid var(--cs-rule);
}


/* Rail */

.cs-coords {
  position: sticky;
  top: var(--spacing-130, 130px);
  margin: 0;
}

.cs-coord { padding-bottom: var(--spacing-35, 35px); }

.cs-coord-key {
  margin: 0 0 var(--spacing-10, 10px);
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--cs-ink-faint);
}

.cs-coord-val {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4, 4px);
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  color: var(--cs-ink);
}

.cs-coord-val a {
  color: var(--cs-ink);
  text-decoration: none;
  transition: color 0.3s var(--cs-ease);
}

.cs-coord-val a:hover { color: var(--cs-accent); }

.cs-coord--fine {
  padding-top: var(--spacing-11, 11px);
  padding-bottom: 0;
  border-top: 0.5px solid var(--cs-rule-soft);
}

.cs-coord--fine .cs-coord-val {
  font-size: 12px;
  line-height: 1.5;
  color: var(--cs-ink-muted);
}


/* ── Intake ───────────────────────────────────────────────── */

.cs-hp { display: none; }

/* Label in the channel, control in the measure */
.cs-field {
  display: grid;
  grid-template-columns: var(--cs-label) minmax(0, 1fr);
  column-gap: var(--spacing-30, 30px);
  align-items: baseline;
  padding-bottom: var(--spacing-35, 35px);
}

.cs-field label {
  margin: 0;
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--cs-ink-muted);
}

.cs-req { color: var(--cs-accent); }

.cs-control input,
.cs-control select,
.cs-control textarea {
  width: 100%;
  height: 36px;
  padding: 0 0 var(--spacing-10, 10px);
  box-sizing: border-box;
  border: 0;
  border-bottom: 0.5px solid var(--cs-rule);
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.4;
  font-feature-settings: inherit;
  color: var(--cs-ink);
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.35s var(--cs-ease);
}

.cs-control input:focus,
.cs-control select:focus,
.cs-control textarea:focus {
  outline: 0;
  border-bottom-color: var(--cs-accent);
}

.cs-control input::placeholder,
.cs-control textarea::placeholder { color: var(--cs-ink-faint); }

.cs-control select {
  padding-right: var(--spacing-22, 22px);
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' fill='none'%3E%3Cpath d='M0 0l4.5 5L9 0' stroke='%238f8f8f' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
}

.cs-control select:invalid { color: var(--cs-ink-faint); }

.cs-field--message { align-items: start; }

.cs-control textarea {
  height: auto;
  min-height: 84px;
  resize: vertical;
}


/* ── Send ─────────────────────────────────────────────────── */
/* Outlined in the accent at rest */

.cs-actions {
  display: grid;
  grid-template-columns: var(--cs-label) minmax(0, 1fr);
  column-gap: var(--spacing-30, 30px);
  padding-top: var(--spacing-11, 11px);
}

.cs-send {
  grid-column: 2;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-30, 30px);
  min-width: 220px;
  height: 54px;
  padding: 0 var(--spacing-22, 22px);
  box-sizing: border-box;
  border: 0.5px solid var(--cs-accent);
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  font-feature-settings: inherit;
  color: var(--cs-accent);
  cursor: pointer;
  transition:
    background 0.35s var(--cs-ease),
    color 0.35s var(--cs-ease),
    border-color 0.35s var(--cs-ease);
}

.cs-send-label { display: block; }

.cs-send-glyph {
  display: block;
  flex: none;
  width: 14px;
  height: 14px;
  transition: transform 0.35s var(--cs-ease);
}

.cs-send:hover,
.cs-send:focus-visible {
  outline: 0;
  background: var(--cs-accent);
  color: var(--cs-ink-rev);
  border-color: var(--cs-accent);
}

.cs-send:hover .cs-send-glyph,
.cs-send:focus-visible .cs-send-glyph { transform: translateX(5px); }

.cs-send:disabled {
  background: transparent;
  border-color: var(--cs-rule);
  color: var(--cs-ink-faint);
  cursor: not-allowed;
}

.cs-send:disabled .cs-send-glyph { transform: none; }

.cs-disclaimer {
  grid-column: 2;
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 52ch;
  font-size: 12px;
  line-height: 1.5;
  color: var(--cs-ink-faint);
}

.cs-disclaimer a {
  color: var(--cs-accent);
  text-decoration: none;
  border-bottom: 0.5px solid var(--cs-accent);
}


/* ── Errors ───────────────────────────────────────────────── */

.cs-error,
.cs-form-error {
  margin: var(--spacing-10, 10px) 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #d93025;
}

.cs-error:empty,
.cs-form-error:empty { display: none; }

.cs-form-error { grid-column: 2; max-width: 52ch; }

.cs-field.has-error .cs-control input,
.cs-field.has-error .cs-control select { border-bottom-color: #d93025; }


/* ── Receipt ──────────────────────────────────────────────── */

.cs-receipt {
  display: grid;
  grid-template-columns: var(--cs-label) minmax(0, 1fr);
  column-gap: var(--spacing-30, 30px);
  align-items: start;
  animation: csFade 0.4s var(--cs-ease);
}

.cs-receipt:focus { outline: 0; }

.cs-receipt-key {
  margin: 0;
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--cs-ink-faint);
}

.cs-receipt-val {
  margin: 0;
  max-width: 40ch;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.25;
  color: var(--cs-ink);
}

@keyframes csFade {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ── Client logos ─────────────────────────────────────────── */

.cs-logos-band { border-top: 0.5px solid var(--cs-rule); }

.cs-logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-50, 50px);
  min-height: 92px;
  box-sizing: border-box;
}

.cs-logos img {
  display: block;
  width: auto;
  height: var(--h, 22px);          /* Same per-logo heights as the home hero */
  max-width: 100%;
  flex-shrink: 0;
  transform: translateY(var(--y, 0%));   /* Optical lift for CRIF and EY */
  filter: grayscale(100%) brightness(0.9);
  opacity: 0.42;
  transition: opacity 0.35s var(--cs-ease);
}

.cs-logos img:hover { opacity: 0.8; }



/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .cs {
    --cs-rail: 220px;
    --cs-gap: var(--spacing-50, 50px);
    --cs-label: 120px;
  }

  .cs-masthead {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-30, 30px);
  }

  .cs-heading { font-size: 40px; }

  .cs-note { padding-top: 0; max-width: 46ch; }

  /* Rail drops under the form */
  .cs-body {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-50, 50px);
  }

  .cs-coords {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--spacing-50, 50px);
    row-gap: var(--spacing-30, 30px);
    order: 2;
    padding-top: var(--spacing-35, 35px);
    border-top: 0.5px solid var(--cs-rule);
  }

  .cs-coord { padding-bottom: 0; }

  .cs-coord--fine {
    padding-top: 0;
    border-top: 0;
  }

  .cs-intake { order: 1; }

  .cs-logos-band { position: relative; }

  .cs-logos-band::after {
    content: "";
    position: absolute;
    top: 0.5px;
    right: 0;
    bottom: 0;
    width: 56px;
    pointer-events: none;
    background: linear-gradient(to right, rgba(253, 253, 253, 0) 0%, var(--cs-ground) 78%);
  }

  .cs-logos {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: var(--spacing-50, 50px);
    min-height: 92px;
    padding: 0 var(--spacing-50, 50px) 0 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .cs-logos::-webkit-scrollbar { display: none; }

  .cs-logos img { flex: none; }

}


/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .cs {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
  }

  .cs-heading {
    font-size: 34px;
    white-space: normal;
  }

  /* Label channel closes */
  .cs-field,
  .cs-actions,
  .cs-receipt {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .cs-field {
    row-gap: var(--spacing-10, 10px);
    padding-bottom: var(--spacing-30, 30px);
  }

  /* 16px on the control is deliberate */
  .cs-control textarea { min-height: 96px; }

  .cs-actions { grid-template-columns: minmax(0, 1fr); }

  .cs-send,
  .cs-form-error,
  .cs-disclaimer { grid-column: 1; }

  .cs-send {
    width: 100%;
    justify-self: stretch;
    min-width: 0;
  }

  .cs-receipt-val { font-size: 18px; }

  .cs-coords { grid-template-columns: minmax(0, 1fr); }

  .cs-logos {
    gap: var(--spacing-35, 35px);
    min-height: 76px;
    padding-right: var(--spacing-35, 35px);
  }

  .cs-logos img { height: calc(var(--h, 22px) * 0.85); }

}


/* ── Reduced motion ───────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .cs-receipt { animation: none; }
  .cs-send-glyph { transition: none; }
}

/* =========================
   Careers Connect
========================= */

/* On the Careers page only */
body:has(.cc-shell) .career-header.hero-header{
  position:static;
  top:auto;
  right:auto;
  left:auto;
  background-color:#ffffff;
  margin:0;
}
body:has(.cc-shell) .cc-shell{
  margin:0;
}

:root{
  --cc-ink:#1a1a1c;
  --cc-ink-soft:rgba(26,26,28,0.62);
  --cc-rule:#e3e1da;
  --cc-radius-card:16px;
}

/* ---------- Layout shell ---------- */
.cc-shell{
  background:#ffffff;
}
.cc-frame{
  max-width:1290px;
  margin-inline:auto;
  border:1px solid var(--cc-rule);
  border-top:none;
  border-bottom:none;
  box-sizing:border-box;
}
.cc-grid{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:clamp(40px,6vw,96px);
  align-items:start;
  padding:clamp(40px,6vw,72px) clamp(24px,5vw,34px) clamp(16px,3vw,32px);
}

/* ---------- Left column ---------- */
.cc-eyebrow{
  font-size:13px;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#034f73;
  margin:0 0 18px;
}
.cc-heading{
  font-size:clamp(36px,4.4vw,52px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-0.01em;
  margin:0 0 22px;
  color:#549ab6;
}
.cc-sub{
  font-size:18px;
  line-height:1.6;
  color:#333;
  max-width:520px;
  margin:0 0 36px;
}

.cc-divider{
  border:none;
  border-top:1px solid var(--cc-rule);
  margin:0 0 28px;
}

.cc-list-label{
  font-size:15px;
  color:#333;
  margin:0 0 16px;
}
.cc-list{
  list-style:none;
  margin:0 0 40px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cc-list li{
  position:relative;
  padding-left:22px;
  font-size:15px;
  line-height:1.5;
  color:var(--cc-ink);
}
.cc-list li::before{
  content:"";
  position:absolute;
  left:0; top:8px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--cc-ink);
}

/* ---------- Logos strip ---------- */

/* ---------- Right column ---------- */
.cc-card{
  background:#ffffff;
  border:1px solid var(--cc-rule);
  border-radius:6px;
  padding:clamp(28px,3.5vw,40px);
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
  position:relative;
  margin-top:34px;
}

.cc-field{margin-bottom:22px;}
.cc-field label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:8px;
  color:var(--cc-ink);
}
.cc-field label .req{color:#d3373c; margin-left:2px;}
.cc-field input,
.cc-field select,
.cc-field textarea{
  width:100%;
  height:46px;
  border:1px solid #cfccc3;
  border-radius:4px;
  padding:0 14px;
  font-size:15px;
  font-family:inherit;
  color:var(--cc-ink);
  background:#fff;
  transition:border-color .15s ease;
}
.cc-field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%231a1a1c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:38px;
  cursor:pointer;
}
.cc-field select:invalid{
  color:#8a877d;
}
.cc-field textarea{
  height:auto;
  padding:12px 14px;
  resize:vertical;
}
.cc-field input:focus,
.cc-field select:focus,
.cc-field textarea:focus{
  outline:none;
  border-color:var(--cc-ink);
}

/* File input + hint */
.cc-field input[type="file"]{
  height:auto;
  padding:10px 0;
  border:none;
  cursor:pointer;
}
.cc-file-hint{
  font-size:12px;
  color:var(--cc-ink-soft);
  margin:6px 0 0;
}
.cc-file-hint.is-success{
  color:#1a7f4b;
}

.cc-row-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.cc-btn-row{
  display:flex;
  align-items:center;
  gap:14px;
}
.cc-btn{
  flex:1;
  height:50px;
  border-radius:4px;
  border:none;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:opacity .15s ease, background-color .15s ease;
}
.cc-btn-primary{
  background:#003853;
  color:#fff;
}
.cc-btn-primary:hover{opacity:0.88;}
.cc-btn-primary:disabled{
  background:#d8d6cd;
  color:#9a978d;
  cursor:not-allowed;
}
.cc-btn-back{
  flex:0 0 auto;
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px solid #cfccc3;
  background:transparent;
  color:var(--cc-ink);
  cursor:pointer;
  font-size:16px;
}
.cc-btn-back:hover{background:#f6f5f1;}

.cc-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:22px;
}
.cc-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:#dcdacf;
  transition:background-color .2s ease, transform .2s ease;
}
.cc-dot.is-active{
  background:var(--cc-ink);
  transform:scale(1.15);
}

.cc-step{display:none;}
.cc-step.is-active{display:block; animation:ccFade .25s ease;}
@keyframes ccFade{
  from{opacity:0; transform:translateY(4px);}
  to{opacity:1; transform:translateY(0);}
}

.cc-step-title{
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--cc-ink-soft);
  margin:0 0 18px;
}

.cc-thanks{
  text-align:center;
  padding:24px 4px;
}
.cc-thanks h3{
  font-size:24px;
  margin:0 0 10px;
}
.cc-thanks p{
  font-size:15px;
  color:var(--cc-ink-soft);
  line-height:1.6;
  margin:0;
}
/* File input + hint */
.cc-field input[type="file"]{
  height:auto;
  padding:12px 14px;
  border:1px solid #cfccc3;   /* Match the other fields */
  border-radius:4px;
  background:#fff;
  cursor:pointer;
}

@media (prefers-reduced-motion: reduce){
  .cc-step.is-active{animation:none;}
}

/* ---------- Tablet ---------- */
@media (max-width:1023px){
  .cc-grid{
    display:flex;
    flex-direction:column;
    gap:0;
    align-items:stretch;     /* Make flex children fill the width */
  }
  .cc-grid > section:not(.cc-card){
    display:contents;
  }

  .cc-heading,
  .cc-sub{
    max-width:100%;
  }

  .cc-heading br{
    display:none;
  }

  .cc-card{
    order:0;
    margin-top:0;
    margin-bottom:40px;
    width:100%;              /* Fill the stacked column */
    box-sizing:border-box;
  }

  .cc-divider,
  .cc-list-label,
  .cc-list{
    order:1;
  }
}
/* ---------- Phone ---------- */
@media (max-width:640px){
  .cc-grid{padding:32px 20px;}
  .cc-row-2{grid-template-columns:1fr;}
}


/* Inline submit error */
.cc-form-error{
  display:none;
  font-size:13.5px;
  line-height:1.5;
  color:#d3373c;
  background:#fdf2f2;
  border:1px solid #f3c9c9;
  border-radius:4px;
  padding:10px 12px;
  margin:0 0 14px;
}
.cc-form-error.is-visible{ display:block; }

/* Button spinner */
.cc-spinner{
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,0.4);
  border-top-color:#fff;
  border-radius:50%;
  display:inline-block;
  animation:ccSpin .6s linear infinite;
}
@keyframes ccSpin{ to{ transform:rotate(360deg); } }

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






/* =========================
   Explore motifs v6
========================= */

/* ---------- Static layers ---------- */
.exz-constructg line {
  fill: none; stroke: #e6e6e3; stroke-width: 1;
  stroke-dasharray: 4 6; transition: stroke .45s ease;
}
.exz-hairline { fill: none; stroke: #e4e4e1; stroke-width: 1; transition: stroke .45s ease; }
.exz-grid line { stroke: #eeeeeb; stroke-width: 1; transition: stroke .45s ease; }
.exz-line, .exz-line line { fill: none; stroke: #dcdcd9; stroke-width: 1; transition: stroke .45s ease; }
.exz-tick line, .exz-tickline { stroke: #d4d4d1; stroke-width: 1.1; stroke-linecap: round; transition: stroke .45s ease; }
.exz-dim line { stroke: #d8d8d5; stroke-width: 1; stroke-linecap: round; transition: stroke .45s ease; }
.exz-crop line { stroke: #cfcfcc; stroke-width: 1.1; stroke-linecap: round; transition: stroke .45s ease; }
.exz-cross line { stroke: #cfcfcc; stroke-width: 1; stroke-linecap: round; transition: stroke .45s ease; }
.exz-body line, line.exz-body { stroke: #dcdcd9; stroke-width: 2; stroke-linecap: round; transition: stroke .45s ease; }
.exz-fig line { fill: none; stroke: #dadad7; stroke-width: 1; transition: stroke .45s ease; }
.exz-reg line { fill: none; stroke: #c9c9c6; stroke-width: 1.2; transition: stroke .45s ease; }

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

/* Rings crawl */
@keyframes exzCrawl { to { stroke-dashoffset: -240; } }

/* Radar sweep */
@keyframes exzSweep { to { transform: rotate(360deg); } }
.exz-sweepline { stroke: #dfe9ee; stroke-width: 1; transition: stroke .45s ease; }

/* Nodes blip as the sweep passes */
@keyframes exzBlip {
  0%, 100% { opacity: .55; }
  3%       { opacity: 1; }
  14%      { opacity: .55; }
}  /* ~38° */  /* ~110° */  /* ~210° */  /* ~225° */  /* ~330° */

/* Spokes redraw in sequence */
@keyframes exzSpoke {
  0%       { stroke-dashoffset: 100; }
  10%, 88% { stroke-dashoffset: 0; }
  98%,100% { stroke-dashoffset: 100; }
}

/* Satellites */
@keyframes exzOrbit { to { transform: rotate(360deg); } }

/* Hub heartbeat */
@keyframes exzBeat { 0%,100% { transform: scale(1); } 50% { transform: scale(1.35); } }

/* Shared expanding pulse */
@keyframes exzPulse {
  0%   { transform: scale(.55); opacity: .8; }
  70%  { opacity: 0; }
  100% { transform: scale(1.45); opacity: 0; }
}

/* ---------- Careers ---------- */

/* Traveling pulse along the route */
@keyframes exzFlow { to { stroke-dashoffset: -100; } }

/* The climber */
@keyframes exzClimb {
  0%   { offset-distance: 0%;   opacity: 0; }
  6%   { opacity: 1; }
  88%  { offset-distance: 100%; opacity: 1; }
  96%, 100% { offset-distance: 100%; opacity: 0; }
}

/* Milestones draw in as the climber approaches */
.exz-draw line {
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
  animation: exzDraw 9s ease-in-out infinite;
}
@keyframes exzDraw {
  0%        { stroke-dashoffset: 100; }
  12%, 90%  { stroke-dashoffset: 0; }
  98%, 100% { stroke-dashoffset: 100; }
}
.exz-dw1 line { animation-delay: .8s; }
.exz-dw2 line { animation-delay: 3.6s; }

/* Dimension lines measure themselves in */
@keyframes exzMeasure {
  0%        { stroke-dashoffset: 100; }
  22%, 88%  { stroke-dashoffset: 0; }
  97%, 100% { stroke-dashoffset: 100; }
}

/* Baseline ticks shimmer left right */
@keyframes exzShimmer {
  0%, 100% { opacity: .5; }
  4%       { opacity: 1; }
  12%      { opacity: .5; }
}

/* ---------- Blog ---------- */

/* Page border draws first */
@keyframes exzPage {
  0%       { stroke-dashoffset: 100; }
  8%, 92%  { stroke-dashoffset: 0; }
  99%,100% { stroke-dashoffset: 100; }
}

/* Crop marks fade in after the page */
.exz-cropin line { animation: exzCrop 12s ease-in-out infinite; }
@keyframes exzCrop {
  0%, 7%    { opacity: 0; }
  10%, 92%  { opacity: 1; }
  96%, 100% { opacity: 0; }
}

/* Text writes in sequence */
@keyframes exzWrite {
  0%       { stroke-dashoffset: 100; }
  8%, 90%  { stroke-dashoffset: 0; }
  97%,100% { stroke-dashoffset: 100; }
}

/* Pull-quote bar grows */
@keyframes exzBar {
  0%, 36%   { transform: scaleY(0); }
  42%, 90%  { transform: scaleY(1); }
  97%, 100% { transform: scaleY(0); }
}

/* Caret blinks at the writing edge */
@keyframes exzBlink { 0%, 55% { opacity: 1; } 56%, 100% { opacity: 0; } }

/* Registration mark spins slowly */
@keyframes exzReg { to { transform: rotate(360deg); } }

/* ---------- Warm toward brand ---------- */
.explore-tile:hover .exz-construct,
.explore-tile:hover .exz-constructg line { stroke: #dbe8ee; }
.explore-tile:hover .exz-hair,
.explore-tile:hover .exz-hairline  { stroke: #dbe8ee; }
.explore-tile:hover .exz-grid line { stroke: #e7eff3; }
.explore-tile:hover .exz-line,
.explore-tile:hover .exz-line line { stroke: #c9dde6; }
.explore-tile:hover .exz-steps     { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-page      { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-shape     { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-tick line,
.explore-tile:hover .exz-tickline  { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-dim line  { stroke: #c9dde6; }
.explore-tile:hover .exz-crop line { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-nring     { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-ncore     { fill: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-hubring   { stroke: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-cross circle,
.explore-tile:hover .exz-cross line { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-satdot    { fill: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-sweepline { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-sweeptrail { fill: #e3edf2; }
.explore-tile:hover .exz-head      { stroke: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-body line,
.explore-tile:hover line.exz-body  { stroke: #c9dde6; }
.explore-tile:hover .exz-quote     { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-fig rect,
.explore-tile:hover .exz-fig line  { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-reg circle,
.explore-tile:hover .exz-reg line  { stroke: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-fill      { fill: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-pulse     { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-flow      { stroke: var(--ex-brand-2, #549ab6); }
.explore-tile:hover .exz-caret     { stroke: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-climbdot  { fill: var(--ex-brand, #034f73); }
.explore-tile:hover .exz-climbring { stroke: var(--ex-brand-2, #549ab6); }

/* ---------- Touch devices ---------- */
@media (hover: none) and (pointer: coarse) {
  .explore-tile .exz-constructg line { stroke: #dbe8ee; }
  .explore-tile .exz-hairline  { stroke: #dbe8ee; }
  .explore-tile .exz-line,
  .explore-tile .exz-line line { stroke: #c9dde6; }
  .explore-tile .exz-tick line,
  .explore-tile .exz-tickline  { stroke: var(--ex-brand-2, #549ab6); }
  .explore-tile .exz-crop line { stroke: var(--ex-brand-2, #549ab6); }
  .explore-tile .exz-cross line { stroke: var(--ex-brand-2, #549ab6); }
  .explore-tile .exz-sweepline { stroke: var(--ex-brand-2, #549ab6); }
  .explore-tile .exz-fig line  { stroke: var(--ex-brand-2, #549ab6); }
  .explore-tile .exz-reg line  { stroke: var(--ex-brand, #034f73); }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .exz-draw line, .exz-cropin line { animation: none; }
  .exz-draw line { stroke-dashoffset: 0; }
  .exz-cropin line { opacity: 1; }
}

/* Stacking safety */
.explore-label { z-index: 3; }
/* =========================
   Explore motifs v6.1
========================= */

/* ---------- About ---------- */
/* ---------- Careers ---------- */

.exz-draw line { animation-duration: 16s; }
.exz-dw1 line { animation-delay: 1.4s; }
.exz-dw2 line { animation-delay: 6.4s; }

/* ---------- Blog ---------- */
.exz-cropin line { animation-duration: 20s; }


/* =========================
   Services cards
========================= */
.group\/services:hover .service-col-overlay {
  background-color: #00000096;
}
.group\/services .service-col:hover .service-col-overlay {
  background-color: rgba(26, 26, 28, 0.35);
}



/* =========================
   CTA
========================= */

/* ---- Orbital instrument ---- */

/* Dashed rings */
@keyframes ctabSpin { to { transform: rotate(360deg); } }

/* Tick ring */

/* Solid guide arcs */

/* Satellites orbiting the dial */

/* Signal crosses */

/* ---- Radial fade ---- */

/* ---- Centered content ---- */

/* ---- Button ---- */
.cta-banner-btn:hover { background: #04405d; }
.cta-banner-btn:hover svg { transform: translateX(3px); }
.cta-banner-btn:focus-visible {
  outline: 2px solid #034f73;
  outline-offset: 3px;
}

/* ---- Responsive ---- */

@media (max-width: 768px) {

  /* Calm the dial on small screens */
}

/* ---- Reduced motion ---- */


/* ============================================================
   Job Openings Modal
   ============================================================ */
.jobs-modal{
  --jm-ink:#0f1012;
  --jm-muted:#5e5e5e;
  --jm-ash:#8f8f8f;
  --jm-panel:#fdfdfd;
  --jm-recess:#f2f2f4;
  --jm-line:rgba(15,16,18,0.10);
  --jm-signal:#0071e3;
  --jm-ease:cubic-bezier(0.22,0.61,0.36,1);

  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:var(--spacing-30,30px);
  font-family:var(--font-inter-tight);
  font-feature-settings:"ss01" on,"ss02" on,"cv01" on,"cv11" on;
  letter-spacing:0;
}
.jobs-modal[hidden]{display:none;}
.jobs-modal *{letter-spacing:0;border-radius:0;}

.jobs-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,16,18,0.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:jmFade .4s var(--jm-ease) both;
}
@keyframes jmFade{from{opacity:0;}}

.jobs-modal__panel{
  position:relative;
  width:min(560px,100%);
  max-height:calc(100dvh - 60px);
  overflow-y:auto;
  background:var(--jm-panel);
  border:0.5px solid var(--jm-line);
  animation:jmRise .5s var(--jm-ease) both;
}
@keyframes jmRise{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---------- Motif ---------- */
.jobs-modal__motif{
  display:block;
  width:100%;
  height:auto;
  border-bottom:0.5px solid var(--jm-line);
  background:var(--jm-recess);
}

@keyframes jmDraw{from{stroke-dashoffset:1;}to{stroke-dashoffset:0;}}
@keyframes jmOpen{from{opacity:0;}to{opacity:1;}}
@keyframes jmHold{0%,100%{stroke-opacity:.90;}50%{stroke-opacity:.48;}}

.jm-guides line{
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:jmDraw 1.1s var(--jm-ease) .12s forwards;
}

/* ---------- Close ---------- */
.jobs-modal__close{
  position:absolute;
  top:var(--spacing-11,11px);
  right:var(--spacing-11,11px);
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:transparent;
  border:0.5px solid var(--jm-line);
  color:var(--jm-muted);
  cursor:pointer;
  transition:color .4s var(--jm-ease),border-color .4s var(--jm-ease);
}
.jobs-modal__close:hover,
.jobs-modal__close:focus-visible{color:var(--jm-signal);border-color:var(--jm-signal);}
.jobs-modal__close:focus-visible{outline:0.5px solid var(--jm-signal);outline-offset:3px;}
.jobs-modal__close svg{width:16px;height:16px;}

/* ---------- Body ---------- */
.jobs-modal__body{padding:var(--spacing-50,50px);}

.jobs-modal__kicker{
  margin:0 0 var(--spacing-22,22px);
  font-size:12px;
  font-weight:350;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--jm-ash);
}
.jobs-modal__title{
  margin:0 0 var(--spacing-22,22px);
  font-family:inherit;
  font-size:27px;
  font-weight:350;
  line-height:1.2;
  color:var(--jm-ink);
}
.jobs-modal__desc{
  margin:0 0 var(--spacing-35,35px);
  max-width:44ch;
  font-size:16px;
  font-weight:350;
  line-height:1.5;
  color:var(--jm-muted);
}

/* ---------- Actions ---------- */
.jobs-modal__actions{
  display:flex;
  align-items:center;
  gap:var(--spacing-30,30px);
  flex-wrap:wrap;
}

/* Logged exception */
.jobs-modal__cta{
  display:inline-flex;
  align-items:center;
  gap:var(--spacing-10,10px);
  min-height:44px;
  padding:0 var(--spacing-30,30px);
  background:transparent;
  border:0.5px solid var(--jm-signal);
  color:var(--jm-signal);
  font-family:inherit;
  font-size:12px;
  font-weight:400;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .4s var(--jm-ease),color .4s var(--jm-ease);
}
.jobs-modal__cta:hover,
.jobs-modal__cta:focus-visible{background:var(--jm-signal);color:var(--jm-panel);}
.jobs-modal__cta:focus-visible{outline:0.5px solid var(--jm-signal);outline-offset:3px;}
.jobs-modal__cta svg{width:14px;height:14px;transition:transform .4s var(--jm-ease);}
.jobs-modal__cta:hover svg{transform:translateX(3px);}

.jobs-modal__dismiss{
  background:none;
  border:none;
  padding:0;
  font-family:inherit;
  font-size:12px;
  font-weight:400;
  line-height:1;
  text-transform:uppercase;
  color:var(--jm-ash);
  cursor:pointer;
  transition:color .4s var(--jm-ease);
}
.jobs-modal__dismiss:hover,
.jobs-modal__dismiss:focus-visible{color:var(--jm-ink);}
.jobs-modal__dismiss:focus-visible{outline:0.5px solid var(--jm-signal);outline-offset:4px;}

/* ---------- Touch ---------- */
@media (hover:none) and (pointer:coarse){
  .jobs-modal__close{width:44px;height:44px;}
  .jobs-modal__dismiss{padding:12px 8px;margin:-12px -8px;}
}

/* ---------- Mobile ---------- */
@media (max-width:480px){
  .jobs-modal{padding:var(--spacing-22,22px);}
  .jobs-modal__body{padding:var(--spacing-35,35px) var(--spacing-30,30px);}
  .jobs-modal__title{font-size:22px;}
  .jobs-modal__actions{
    flex-direction:column;
    align-items:stretch;
    gap:var(--spacing-22,22px);
  }
  .jobs-modal__cta{justify-content:center;}
  .jobs-modal__dismiss{align-self:center;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .jobs-modal__backdrop,
  .jobs-modal__panel{animation:none;}
  .jm-guides line{stroke-dashoffset:0;animation:none;}
  .jobs-modal__cta,
  .jobs-modal__cta svg,
  .jobs-modal__close,
  .jobs-modal__dismiss{transition:none;}
}


/* =========================
   Cookie consent
========================= */
.ck-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:1100;
  background:#ffffff;
  border-top:1px solid #c7c6c6;
  box-shadow:0 -4px 24px rgba(9,25,34,.08);
  animation:ckSlideUp .45s cubic-bezier(.22,1,.36,1) both;
}
.ck-banner[hidden]{ display:none; }
@keyframes ckSlideUp{ from{ transform:translateY(100%); } }

.ck-banner__inner{
  max-width:1290px;
  margin-inline:auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.ck-banner__text{
  flex:1 1 380px;
  font-size:13.5px;
  line-height:1.55;
  color:#4b5563;
  margin:0;
}
.ck-banner__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ck-btn{
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  padding:10px 18px;
  cursor:pointer;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  font-family:inherit;
}
.ck-btn--solid{
  background:#034f73;
  color:#fff;
  border:1px solid #034f73;
}
.ck-btn--solid:hover{ background:#04618d; border-color:#04618d; }
.ck-btn--ghost{
  background:#fff;
  color:#1a1a1c;
  border:1px solid #d4d4d1;
}
.ck-btn--ghost:hover{ color:#034f73; border-color:#cfe0e8; }

/* ---------- Modal ---------- */
.ck-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:24px;
}
.ck-modal[hidden]{ display:none; }
.ck-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,25,34,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:ckFade .35s ease both;
}
@keyframes ckFade{ from{ opacity:0; } }
.ck-modal__panel{
  position:relative;
  width:min(520px,100%);
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  background:#fff;
  border:1px solid #c7c6c6;
  animation:ckRise .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes ckRise{
  from{ opacity:0; transform:translateY(18px) scale(.985); }
  to  { opacity:1; transform:translateY(0) scale(1); }
}
.ck-modal__close{
  position:absolute;
  top:14px; right:14px;
  width:34px; height:34px;
  display:grid; place-items:center;
  background:#fff;
  border:1px solid #e2e2df;
  color:#6b7280;
  cursor:pointer;
  transition:color .3s ease, border-color .3s ease;
}
.ck-modal__close:hover{ color:#034f73; border-color:#cfe0e8; }
.ck-modal__close svg{ width:16px; height:16px; }

.ck-modal__body{ padding:30px 32px 28px; }
.ck-modal__kicker{
  font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:#549ab6; margin:0 0 10px;
}
.ck-modal__title{
  font-family:var(--font-inter-tight);
  font-weight:500; letter-spacing:-.02em;
  font-size:24px; line-height:1.15;
  color:#1a1a1c; margin:0 0 10px;
}
.ck-modal__desc{
  font-size:14px; line-height:1.6;
  color:#4b5563; margin:0 0 22px;
}

/* Category rows */
.ck-cat{
  border-top:1px solid #ececea;
  padding:16px 0;
}
.ck-cat__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ck-cat__name{
  font-size:14px; font-weight:600; color:#1a1a1c;
}
.ck-cat__locked{
  font-size:11.5px; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
  color:#6b7280;
}
.ck-cat__desc{
  font-size:12.5px; line-height:1.55;
  color:#6b7280; margin:6px 0 0;
  max-width:52ch;
}

/* Toggle switch */
.ck-switch{ position:relative; display:inline-block; }
.ck-switch input{
  position:absolute; opacity:0; width:100%; height:100%;
  margin:0; cursor:pointer; z-index:1;
}
.ck-switch__track{
  display:block;
  width:40px; height:22px;
  background:#dcdcd9;
  border-radius:22px;
  position:relative;
  transition:background .25s ease;
}
.ck-switch__track::after{
  content:"";
  position:absolute;
  top:3px; left:3px;
  width:16px; height:16px;
  border-radius:50%;
  background:#fff;
  transition:transform .25s ease;
}
.ck-switch input:checked + .ck-switch__track{ background:#034f73; }
.ck-switch input:checked + .ck-switch__track::after{ transform:translateX(18px); }
.ck-switch input:focus-visible + .ck-switch__track{
  outline:2px solid #034f73; outline-offset:2px;
}

.ck-modal__actions{
  display:flex; align-items:center; gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.ck-modal__foot{
  font-size:12px; color:#6b7280;
  margin:18px 0 0;
}
.ck-modal__foot a{ color:#034f73; }

@media (max-width:480px){
  .ck-banner__actions{ width:100%; }
  .ck-banner__actions .ck-btn{ flex:1; }
  .ck-modal__body{ padding:24px 20px 22px; }
}

@media (prefers-reduced-motion: reduce){
  .ck-banner, .ck-modal__backdrop, .ck-modal__panel{ animation:none; }
}


/* =========================
   Article page
========================= */

/* ---- Hero ---- */
.post-hero {
  width: 100%;
  height: 62vh;
  min-height: 320px;
  max-height: 640px;
  overflow: hidden;
}
.post-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- Two-column body ---- */
.post-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .post-layout {
    flex-direction: row;
    align-items: flex-start;
  }
  .post-rail {
    width: 30%;
    flex-shrink: 0;
    position: sticky;
    top: 110px;
    padding-right: 40px;
  }
  .post-body { width: 70%; max-width: 760px; }
}

/* ---- Meta rail ---- */
.post-rail-line {
  font-size: .875rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.post-rail-line--muted { color: #9a9a97; }

.post-rail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.post-rail-tag {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #549ab6;
  border: 1px solid rgba(84, 154, 182, 0.35);
  padding: 5px 10px;
}

/* ---- Article ---- */
.post-title {
  font-family: var(--font-inter-tight);
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: #1a1a1c;
  margin: 0 0 28px;
}

.post-lead {
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.65;
  color: #1a1a1c;
  margin: 0 0 26px;
}

.post-content h3 {
  font-family: var(--font-inter-tight);
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1c;
  margin: 26px 0 6px;
}
.post-content p {
  font-size: 15px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 16px;
}

/* Pull-quote */
.post-quote {
  margin: 34px 0;
  padding: 4px 0 4px 24px;
  border-left: 2px solid #549ab6;
}
.post-quote p {
  font-family: var(--font-inter-tight);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -.01em;
  color: #1a1a1c;
  margin: 0 0 10px;
}
.post-quote cite {
  font-family: var(--font-mono);
  font-size: 11px;
  font-style: normal;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #9a9a97;
}

/* ---- More from the archive ---- */
.post-more-rule {
  border: none;
  border-top: 1px solid #e3e3e0;
  margin: 0 0 40px;
}
.post-more-label {
  font-size: .9rem;
  color: #333;
  margin: 0 0 22px;
}

/* ---- More grid ---- */
.post-more-grid {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  margin-right: calc(-1 * var(--container-pad, 1.25rem));
  padding-right: var(--container-pad, 1.25rem);
}
.post-more-grid img {
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

.post-more-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 0 0 82%;               /* One card + a peek of the next */
  scroll-snap-align: start;
  text-decoration: none;
}

@media (min-width: 640px) {
  .post-more-card { flex: 0 0 46%; }   /* Two cards + peek */
}

@media (min-width: 1024px) {
  /* Desktop */
  .post-more-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    overflow-x: visible;
    margin-right: 0;
    padding-right: 0;
  }
  .post-more-card { flex: none; }
}

/* Touch devices */
@media (hover: none) and (pointer: coarse) {
  .post-more-grid { scrollbar-width: none; }
  .post-more-grid::-webkit-scrollbar { display: none; }
}

/* Mouse users */
@media (hover: hover) and (pointer: fine) {
  .post-more-grid {
    scroll-snap-type: none;
    scrollbar-width: thin;
    scrollbar-color: #c9dde600 transparent;
    padding-bottom: 10px;
    cursor: grab;
  }
  .post-more-grid::-webkit-scrollbar { height: 5px; }
  .post-more-grid::-webkit-scrollbar-track { background: transparent; }
  .post-more-grid::-webkit-scrollbar-thumb {
    background: #c9dde6;
    border-radius: 3px;
  }
  .post-more-grid.is-dragging {
    cursor: grabbing;
    user-select: none;
  }
}

/* ---- Card internals ---- */
.post-more-image-wrap {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 62%;
  overflow: hidden;
}
.post-more-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.post-more-card:hover .post-more-image { transform: scale(1.03); }

.post-more-title {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-family: var(--font-inter-tight);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.4;
  color: #1a1a1c;
  transition: color .25s ease;
}
.post-more-card:hover .post-more-title { color: #034f73; }
.post-more-arrow {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  margin-top: 3px;
  color: #549ab6;
  transition: transform .3s ease;
}
.post-more-card:hover .post-more-arrow { transform: translateX(3px); }

/* ---- Mobile refinements ---- */
@media (max-width: 1023px) {
  .post-hero { height: 44vh; min-height: 240px; }
  .post-title { font-size: 24px; }
  .post-rail { display: flex; flex-direction: column; }
}







/* =========================
   About
========================= */

/* ---- Country marquee ---- */
.ab2-marquee {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1540px;            /* The marquee's own narrower lane */
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

	
.ab2-marquee-track {
  display: flex;
  width: 200%;                 /* Two identical sets side by side */
  animation: ab2Marquee 30s linear infinite;
}
@keyframes ab2Marquee { to { transform: translateX(-50%); } }
.ab2-marquee:hover .ab2-marquee-track { animation-play-state: paused; }

/* Anchored to the section's bottom edge */

/* Latitudes */
@keyframes ab2Crawl { to { stroke-dashoffset: -200; } }   /* Multiple of 10 */

/* Equator anchor */

/* Meridians */
@keyframes ab2MerSpin {
  0%   { transform: scaleX(1); }
  50%  { transform: scaleX(-1); }
  100% { transform: scaleX(1); }
}

/* Outer orbit */
@keyframes ab2Spin { to { transform: rotate(360deg); } }

/* Traveling signals */
@keyframes ab2Flow { to { stroke-dashoffset: -100; } }

/* Satellites */

/* ---- Responsive ---- */
@media (max-width: 1023px) {
  .ab2-marquee-track { width: 260%; }         /* ~4 visible */
}

@media (max-width: 640px) {
  .ab2-marquee-track { width: 400%; }         /* ~2.5 visible */
}

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


/* ===== About ===== */

/* --- Split header --- */

/* --- Grid --- */

/* Cross marks at cell corners */
.abm-cell--navy::before,
.abm-cell--navy::after{
  background:
    linear-gradient(rgba(255,255,255,.4), rgba(255,255,255,.4)) center/11px 1px no-repeat,
    linear-gradient(rgba(255,255,255,.4), rgba(255,255,255,.4)) center/1px 11px no-repeat;
}

/* --- Blueprint drawing layer --- */

/* --- Content --- */

/* Dimension line under the value */

/* --- Navy cell --- */
.abm-cell--navy{
  background: #034f73;
  border-right-color: #034f73;
  border-bottom-color: #034f73;
}
.abm-cell--navy .abm-index{ color: rgba(255,255,255,.55); }
.abm-cell--navy .abm-value{ color: #ffffff; }
.abm-cell--navy .abm-label{ color: rgba(255,255,255,.85); }
.abm-cell--navy .abm-dim,
.abm-cell--navy .abm-dim::before,
.abm-cell--navy .abm-dim::after{ background: rgba(255,255,255,.35); }

/* --- Hover --- */
@media (hover: hover) and (pointer: fine){
  .abm-cell:hover .abm-draw{
    opacity: 1.6;              /* Svg groups carry their own low opacity */
    transform: translateY(-4px);
  }
}

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

/* =========================
   About
========================= */

/* Scroll-fill statement */
.ab3-statement .ab3-w.is-filled {
  color: #034f73;                    /* Filled state */
}
.ab3-btn:hover { background: #04405d; }
.ab3-btn:hover svg { transform: translateX(3px); }
.ab3-btn:focus-visible { outline: 2px solid #034f73; outline-offset: 3px; }

/* ---- Responsive ---- */
/* =========================
   About
========================= */

/* ---- Tablet & phone ---- */
@media (max-width: 1023px) {   /* Let it use the available width */
}

/* ---- Nodes ---- */

/* Staggered node arrival */
.ab3-schema.is-visible .sc-n1 * { opacity: 1; transition-delay: .05s; }
.ab3-schema.is-visible .sc-n2 * { opacity: 1; transition-delay: .13s; }
.ab3-schema.is-visible .sc-n3 * { opacity: 1; transition-delay: .21s; }
.ab3-schema.is-visible .sc-n4 * { opacity: 1; transition-delay: .29s; }
.ab3-schema.is-visible .sc-hub .sc-hub-ring,
.ab3-schema.is-visible .sc-hub .sc-icon,
.ab3-schema.is-visible .sc-hub .sc-label { opacity: 1; transition-delay: .9s; }

/* ---- Self-draw toward the hub ---- */
.ab3-schema.is-visible .sc-w1 { animation: scDraw .7s ease-out .35s forwards; }
.ab3-schema.is-visible .sc-w2 { animation: scDraw .7s ease-out .45s forwards; }
.ab3-schema.is-visible .sc-w3 { animation: scDraw .7s ease-out .55s forwards; }
.ab3-schema.is-visible .sc-w4 { animation: scDraw .7s ease-out .65s forwards; }
.ab3-schema.is-visible .sc-w5 { animation: scDraw .7s ease-out 1.25s forwards; }
@keyframes scDraw { to { stroke-dashoffset: 0; } }

/* ---- Traveling signals ---- */
.ab3-schema.is-visible .sc-flow { opacity: .9; animation: scFlow 4.8s linear infinite; }
.ab3-schema.is-visible .sc-f1 { animation-delay: 1.1s; }
.ab3-schema.is-visible .sc-f2 { animation-delay: 2.3s; }
.ab3-schema.is-visible .sc-f3 { animation-delay: 3.5s; }
.ab3-schema.is-visible .sc-f4 { animation-delay: 4.7s; }
.ab3-schema.is-visible .sc-f5 { animation-delay: 2s; stroke: #034f73; }
@keyframes scFlow { to { stroke-dashoffset: -100; } }

/* ---- Hub pulse ---- */
.ab3-schema.is-visible .sc-hub-pulse { animation: scPulse 3.6s ease-out 1.7s infinite; }
@keyframes scPulse {
  0%   { transform: scale(.5); opacity: .8; }
  70%  { opacity: 0; }
  100% { transform: scale(1.7); opacity: 0; }
}

/* ---- Outcomes scorecard ---- */
.ab3-schema.is-visible .sc-sframe,
.ab3-schema.is-visible .sc-label--score,
.ab3-schema.is-visible .sc-smetric,
.ab3-schema.is-visible .sc-strack { opacity: 1; transition-delay: 1.6s; }
.ab3-schema.is-visible .sc-sb1 { animation: scDraw .9s cubic-bezier(.22,1,.36,1) 2s forwards; }
.ab3-schema.is-visible .sc-sb2 { animation: scDraw .9s cubic-bezier(.22,1,.36,1) 2.25s forwards; }
.ab3-schema.is-visible .sc-sb3 { animation: scDraw .9s cubic-bezier(.22,1,.36,1) 2.5s forwards; }
.ab3-schema.is-visible .sc-st1 { animation: scPop .3s ease-out 2.85s forwards; }
.ab3-schema.is-visible .sc-st2 { animation: scPop .3s ease-out 3.1s forwards; }
.ab3-schema.is-visible .sc-st3 { animation: scPop .3s ease-out 3.35s forwards; }
@keyframes scPop { to { opacity: 1; } }
.ab3-schema.is-visible .sc-stip-pulse { animation: scPulse 3.4s ease-out 3.6s infinite; }

/* ---- Ambient marks ---- */

/* ---- Responsive ---- */

/* ---- Reduced motion ---- */



/* =========================
   About
========================= */

/* Portraits */


/* ---- Responsive ---- */





/* =========================
   Groga
========================= */

/* Wireframe twin sits underneath */
.aw-line {
  stroke: #549ab6;
  stroke-width: 1.4;
  opacity: .9;
}

/* ---- Scan, dissolve, energize ---- */
.ab4-person--ai:hover .ab4-photo--ai img { opacity: 0; }

.ab4-person--ai:hover .aw-trace {
  animation: awDraw .7s ease-out .45s forwards;
}
@keyframes awDraw { to { stroke-dashoffset: 0; } }

.ab4-person--ai:hover .aw-pulse {
  animation: awPulse 2.6s ease-out .9s infinite;
}
@keyframes awPulse {
  0%   { transform: scale(.5); opacity: .8; }
  70%  { opacity: 0; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* Scanline sweeps down once on hover */
.ab4-person--ai:hover .ab4-scan {
  animation: awScan .65s ease-in-out forwards;
}
@keyframes awScan {
  0%   { top: 0;    opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* Label flickers to the unit readout */
.ab4-person--ai:hover .ab4-role { display: none; }
.ab4-person--ai:hover .ab4-role--alt {
  display: block;
  animation: awFlicker .4s steps(2) 1;
}
@keyframes awFlicker {
  0%, 40%  { opacity: 0; }
  20%, 60% { opacity: 1; }
  100%     { opacity: 1; }
}

/* Touch devices */

@media (prefers-reduced-motion: reduce) {
  .ab4-person--ai:hover .aw-pulse { animation: none; opacity: .4; }
}


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

/* --- Tablet --- */

/* --- Phones --- */

/* --- Small phones --- */

/* --- Tablet --- */

/* --- Phones --- */

/* --- Small phones --- */

/* =========================
   About
========================= */

/* ---- Content ---- */
.ab5-btn:hover { background: #04405d; }
.ab5-btn:hover svg { transform: translateX(3px); }
.ab5-btn:focus-visible { outline: 2px solid #034f73; outline-offset: 3px; }

/* ---- The drawing ---- */
@keyframes a5Crawl { to { stroke-dashoffset: -240; } }
@keyframes a5Flow { to { stroke-dashoffset: -100; } }
@keyframes a5Draw {
  0%        { stroke-dashoffset: 100; }
  8%, 90%   { stroke-dashoffset: 0; }
  97%, 100% { stroke-dashoffset: 100; }
}
@keyframes a5Pulse {
  0%   { transform: scale(.45); opacity: .8; }
  40%  { opacity: 0; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* ---- Responsive ---- */
/* Baseline terrain */

/* The extra milestone shares the node cycle */

/* Summit flag */
@keyframes a5Wave {
  0%, 100% { transform: skewY(0deg); }
  50%      { transform: skewY(-5deg); }
}



/* =========================
   About
========================= */
.ab6-word {
  position: relative;
  padding: 110px 0 120px;
  border-top: none;
  overflow: hidden;
}

/* Content rides above */

/* ---- Text flips to light ---- */

.ab6-orn-line { stroke: rgba(255, 255, 255, .45); }

/* ---- The rail ---- */
.ab6-orn-line {
  stroke: #ffff;
  stroke-width: 1.6;
  stroke-linecap: round;
}

/* The message */

/* ---- Responsive ---- */
@media (max-width: 1023px) {
  .ab6-word { padding: 80px 0 90px; }
}
@media (max-width: 640px) {
  .ab6-word { padding: 60px 0 70px; }
}

/* ---- Responsive ---- */
/* ---------- Slider wrapper ---------- */

/* ---------- Track ---------- */


/* ============ Page loader ============ */
.ldr-intro {
  /* Talntd palette */
  --ldr-bg: #fdfdfd;
  --ldr-text: #0f1012;
  --ldr-accent: #0071e3;
  --ldr-ghost: #8f8f8f;
  --ldr-row: 33px;
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--ldr-bg);
  transition: opacity .6s ease, visibility 0s linear .6s;
}

.ldr-overflow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 300px;
  overflow: hidden;
}

.ldr-load {
  display: flex;
  align-items: center;
  /* No gap */
  transition: transform .35s cubic-bezier(.65,0,.35,1), opacity .35s ease;
}

/* ---- Per-letter drop, centered alone at first ---- */
.ldr-logo {
  display: flex;
  align-items: baseline;
  margin: 0;
  font-family: 'Inter Tight', Inter, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: -.5px;
  line-height: 1.1;
  color: var(--ldr-text);
}

.ldr-ch {
  display: inline-block;
  backface-visibility: hidden;
  animation: ldr-drop .45s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(var(--i) * 30ms);
}

@keyframes ldr-drop {
  0%   { transform: scale(6.5) translateY(-8%); opacity: 0; color: var(--ldr-ghost); }
  35%  { opacity: .3; color: var(--ldr-ghost); }
  100% { transform: scale(1) translateY(0); opacity: 1; color: var(--ldr-text); }
}

/* ---- Words column ---- */
.ldr-words-wrap {
  display: grid;
  grid-template-columns: 0fr;
  animation: ldr-expand .23s cubic-bezier(.65,0,.35,1) both;
  animation-delay: .55s;
}

@keyframes ldr-expand {
  from { grid-template-columns: 0fr; }
  to   { grid-template-columns: 1fr; }
}

.ldr-words-mask {
  min-width: 0;
  height: var(--ldr-row);
  overflow: hidden;
}

.ldr-words {
  display: flex;
  flex-direction: column;
  padding-left: 10px;
  animation: ldr-cycle 1.3s cubic-bezier(.65,0,.35,1) both;
  animation-delay: .62s;
}

@keyframes ldr-cycle {
  0%      { transform: translateY(var(--ldr-row)); }
  15%,38% { transform: translateY(0); }
  53%,76% { transform: translateY(calc(var(--ldr-row) * -1)); }
  91%,100%{ transform: translateY(calc(var(--ldr-row) * -2)); }
}

.ldr-word {
  margin: 0;
  display: flex;
  align-items: center;
  height: var(--ldr-row);
  font-family: 'Inter Tight', Inter, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: -.5px;
  color: var(--ldr-accent);
  white-space: nowrap;
}

/* Pillar colors */
.ldr-word--cx { color: #0071e3; }
.ldr-word--bo { color: #ff5102; }
.ldr-word--ai { color: #47a8a9; }

/* ---- Exit ---- */
.ldr-intro.ldr-exit .ldr-load {
  transform: translateY(-180px);
  opacity: 0;
}

.ldr-intro.ldr-done {
  opacity: 0;
  visibility: hidden;
}

html.ldr-lock,
html.ldr-lock body {
  overflow: hidden;
}

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .ldr-intro { --ldr-row: 28px; }
  .ldr-logo, .ldr-word { font-size: 1.25rem; }
}

@media (max-width: 400px) {
  .ldr-intro { --ldr-row: 22px; }
  .ldr-logo, .ldr-word { font-size: 1.1rem; }
}

/* ---- Accessibility ---- */
@media (prefers-reduced-motion: reduce) {
  .ldr-ch, .ldr-words, .ldr-words-wrap { animation: none; }
  .ldr-ch { opacity: 1; transform: none; }
  .ldr-words { transform: translateY(0); }
  .ldr-words-wrap { grid-template-columns: 1fr; }
}
/* =========================
   Performance Metrics
========================= */

.pmx-split {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: stretch;
}

/* Single image spanning all three metrics */

/* =========================
   Tablet & mobile
========================= */
@media (max-width: 1023px) {
  .pmx-split { display: block; }

  /* Image moves below the stack as a wide banner */
}


.heading-line-people {
  color: #034f73; 
}

.heading-line-automation {
  color: #549ab6;
}






/* =========================
   Services cards
========================= */

/* Tablet */

/* Desktop */


/* Card type */


/* Tablet */

/* Desktop */

/* Explore */

.explore-tile:hover .explore-media__sketch{ opacity:0; }
.explore-tile:hover .explore-media__color{ opacity:1; }

/* ==========================================================
   Testimonials
   ========================================================== */

/* Base card */

/* Quote mark */

/* Quote text */

/* Person row */

/* Image cards */

/* Nav */
.tsm-nav{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:clamp(32px,4vw,44px);
}
.tsm-nav-btn{
  width:44px;
  height:44px;
  border:1.5px solid var(--color-stroke-3);
  border-radius:0;
  background:transparent;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:border-color .2s ease, opacity .2s ease;
}
.tsm-nav-btn:hover:not(.swiper-button-disabled){
  border-color:var(--color-secondary);
}
.tsm-nav-btn.swiper-button-disabled{
  opacity:.3;
  cursor:default;
}

/* ---------- Tablet ---------- */

/* ---------- Phone ---------- */
/* ---------- Laptop only ---------- */
.tsm .swiper.tsm-swiper{
  padding-top:16px;
}
/* ==========================================================================
   Journey
   ========================================================================== */

/* ---------- Cards ---------- */

/* ---------- Copy side ---------- */

/* ---------- Drawing side ---------- */

/* ---------- Shared svg language ---------- */

.jp-s-focus{ fill: #f6fafb; stroke: #034f73; stroke-width: 1.2; }

/* ==========================================================================
   Entrance
   ========================================================================== */
.jp-card.is-inview .jp-fade{ animation: jpFade .55s cubic-bezier(.22,1,.36,1) both; }
@keyframes jpFade{
  from{ opacity: 0; transform: translateY(6px); }
  to  { opacity: 1; transform: translateY(0); }
}
.jp-card.is-inview .jp-draw,
.jp-card.is-inview .jp-draw-lg{ animation: jpDraw .6s ease-out .2s forwards; }
@keyframes jpDraw{ to{ stroke-dashoffset: 0; } }
.jp-card.is-inview .jp-check-draw{ animation: jpDraw .4s ease-out forwards; }
.jp-card.is-inview .jp-fillbar{ animation: jpFill 1s cubic-bezier(.22,1,.36,1) .55s forwards; }
@keyframes jpFill{ to{ transform: scaleX(.85); } }
.jp-card.is-inview .jp-bars{ animation: jpGrow .75s cubic-bezier(.22,1,.36,1) .25s forwards; }
@keyframes jpGrow{ to{ transform: scaleY(1); } }

/* ==========================================================================
   Ambient
   ========================================================================== */

/* Status light */
@keyframes jpRing{
  0%   { transform: scale(.5);  opacity: .75; }
  70%  { opacity: 0; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* Scanning sweep */
@keyframes jpSweep{
  0%   { transform: translateX(0); }
  100% { transform: translateX(500px); }
}

/* Blinking caret */
@keyframes jpBlink{ 0%,49%{ opacity: 1; } 50%,100%{ opacity: 0; } }

/* Breathing marker on the in-progress row */
@keyframes jpDotFade{
  0%,100%{ opacity: 1; }
  50%    { opacity: .28; }
}

/* Traveling signal on the architecture spine */
@keyframes jpFlow{ to{ stroke-dashoffset: -100; } }

/* Hub ring */

/* Utilization meters */
@keyframes jpMeterStep{
  0%,100%{ fill-opacity: 1; }
  45%    { fill-opacity: .22; }
}

/* Chart bars */
@keyframes jpBarWave{
  0%,100%{ transform: scaleY(1);   fill-opacity: 1; }
  50%    { transform: scaleY(.84); fill-opacity: .5; }
}

/* Chart baseline crawl */
@keyframes jpCrawl{ to{ stroke-dashoffset: -200; } }

/* ==========================================================================
   Desktop
   ========================================================================== */

/* ==========================================================================
   Tablet and phone
   ========================================================================== */
@media (max-width: 1023px){
  .jp-card.is-current{ display: block; }

  /* Fallback if the script has not run yet */
  .jp-cards:not(:has(.is-current)) .jp-card:first-child{ display: block; }
}

/* ---- Stack the two halves ---- */

/* ---- Small phones ---- */
@media (max-width: 600px){
  /* Svg type */
}

/* ---- Reduced motion ---- */






/* ==========================================================================
   Careers tile
   ========================================================================== */

/* Scale and placement live here */

/* ---- Connectors ---- */
@keyframes crxFlow{ to{ stroke-dashoffset: -100; } }

/* ---- Ghost cards ---- */
@keyframes crxDrift{
  0%,100%{ transform: translate(0, 0); }
  50%    { transform: translate(0, -4px); }
}

/* ---- Focused card ---- */
.crx-focus-glow{
  fill: none;
  stroke: #549ab6;
  stroke-width: 3;
  opacity: .28;
  filter: url(#crxGlow);
  animation: crxBreathe 4.2s ease-in-out infinite;
}
@keyframes crxBreathe{
  0%,100%{ opacity: .18; }
  50%    { opacity: .42; }
}

.crx-focus-fill{ fill: #ffffff; stroke: none; }

.crx-focus-edge{
  fill: none;
  stroke: url(#crxEdge);
  stroke-width: 2.4;
  stroke-dasharray: 34 66;
  animation: crxTrace 6s linear infinite;
}
@keyframes crxTrace{ to{ stroke-dashoffset: -100; } }

.crx-focus-text{ fill: #0d3f5c; }

.crx-focus{
  transform-box: view-box;
  transform-origin: 270px 120px;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}

/* ---- Hover ---- */
@media (hover: hover) and (pointer: fine){
  .explore-tile--careers:hover .crx-board{
    transform: translate(34px, 16px) rotate(-6deg) scale(.81);
  }

  .explore-tile--careers:hover .crx-focus{
    transform: translateY(-4px) scale(1.03);
  }
  .explore-tile--careers:hover .crx-wire path{ stroke: #c9dae4; }
  .explore-tile--careers:hover .crx-ghost rect{ stroke: #d8e4ea; }
  .explore-tile--careers:hover .crx-ghost text{ fill: #b3c6d0; }
  .explore-tile--careers:hover .crx-flow path{ animation-duration: 2.6s; }
  .explore-tile--careers:hover .crx-focus-edge{ animation-duration: 3s; }
}

/* ---- Responsive ---- */
@media (max-width: 1023px){
  .explore-tile--careers:hover .crx-board{ transform: translate(26px, 12px) rotate(-6deg) scale(.75); }
}

@media (max-width: 768px){
  .explore-tile--careers:hover .crx-board{ transform: translate(14px, 8px) rotate(-6deg) scale(.68); }
}

@media (prefers-reduced-motion: reduce){
  .crx-focus-glow,
  .crx-focus-edge{ animation: none; }
  .crx-focus-edge{ stroke-dasharray: none; }
  .crx-focus{ transition: none; }
}


/* ==========================================================================
   Blog tile
   ========================================================================== */

/* ---- Connectors ---- */
@keyframes brxFlow{ to{ stroke-dashoffset: -100; } }

/* ---- Ghost topics ---- */
@keyframes brxDrift{
  0%,100%{ transform: translate(0, 0); }
  50%    { transform: translate(0, -4px); }
}

/* ---- Focused article ---- */
.brx-focus-glow{
  fill: none;
  stroke: #549ab6;
  stroke-width: 3;
  opacity: .28;
  filter: url(#brxGlow);
  animation: brxBreathe 4.6s ease-in-out infinite;
}
@keyframes brxBreathe{
  0%,100%{ opacity: .18; }
  50%    { opacity: .42; }
}

.brx-focus-fill{ fill: #ffffff; stroke: none; }

.brx-focus-edge{
  fill: none;
  stroke: url(#brxEdge);
  stroke-width: 2.4;
  stroke-dasharray: 34 66;
  animation: brxTrace 6.5s linear infinite;
}
@keyframes brxTrace{ to{ stroke-dashoffset: -100; } }

.brx-focus-text{ fill: #0d3f5c; }

.brx-focus{
  transform-box: view-box;
  transform-origin: 265px 124px;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}

/* ---- Hover ---- */
@media (hover: hover) and (pointer: fine){
  .explore-tile--blog:hover .brx-board{
    transform: translate(34px, 16px) rotate(-6deg) scale(.81);
  }
  .explore-tile--blog:hover .brx-focus{
    transform: translateY(-4px) scale(1.03);
  }
  .explore-tile--blog:hover .brx-wire path{ stroke: #c9dae4; }
  .explore-tile--blog:hover .brx-ghost rect{ stroke: #d8e4ea; }
  .explore-tile--blog:hover .brx-ghost text{ fill: #b3c6d0; }
  .explore-tile--blog:hover .brx-flow path{ animation-duration: 2.8s; }
  .explore-tile--blog:hover .brx-focus-edge{ animation-duration: 3.2s; }
}

/* ---- Responsive ---- */
@media (max-width: 1023px){
  .explore-tile--blog:hover .brx-board{ transform: translate(26px, 12px) rotate(-6deg) scale(.75); }
}

@media (max-width: 768px){
  .explore-tile--blog:hover .brx-board{ transform: translate(14px, 8px) rotate(-6deg) scale(.68); }
}

@media (prefers-reduced-motion: reduce){
  .brx-focus-glow,
  .brx-focus-edge{ animation: none; }
  .brx-focus-edge{ stroke-dasharray: none; }
  .brx-focus{ transition: none; }
}


/* ==========================================================================
   Blog tile
   ========================================================================== */

/* ---- Earlier issues ---- */
@keyframes blxSettle{
  0%,100%{ transform: translateY(0); }
  50%    { transform: translateY(-3px); }
}

/* ---- The live piece ---- */
@keyframes blxBreathe{
  0%,100%{ opacity: .1; }
  50%    { opacity: .28; }
}
@keyframes blxTrace{ to{ stroke-dashoffset: -100; } }

/* ---- The type ---- */

.blx-byline{
  font-size: 7.2px;
  font-weight: 500;
  fill: #8d9ea7;
}

.blx-fig line{ fill: none; stroke: #e4ebee; stroke-width: 1.2; }

/* ---- The typing wipes ---- */
@keyframes blxType{
  0%      { transform: scaleX(0); }
  9%      { transform: scaleX(1); }
  93%     { transform: scaleX(1); }
  94%,100%{ transform: scaleX(0); }
}

/* ---- The figure draws while column A is still setting ---- */
@keyframes blxWrite{
  0%      { stroke-dashoffset: 100; }
  7%      { stroke-dashoffset: 0; }
  93%     { stroke-dashoffset: 0; }
  97%,100%{ stroke-dashoffset: 100; }
}
@keyframes blxBlink{ 0%,49%{ opacity: 1; } 50%,100%{ opacity: 0; } }

/* ---- Scroll position ---- */
@keyframes blxRead{
  0%      { transform: scaleY(0); }
  74%     { transform: scaleY(.84); }
  92%     { transform: scaleY(.84); }
  97%,100%{ transform: scaleY(0); }
}

/* ---- Drafting marks ---- */
.blx-tick line{ stroke: #cfdae1; stroke-width: 1; stroke-linecap: round; }
.blx-crop line{ stroke: #dde4e8; stroke-width: 1; stroke-linecap: round; }

/* ---- Hover ---- */
@media (hover: hover) and (pointer: fine){
  .explore-tile--blog:hover .blx-board{
    transform: translate(26px, 12px) rotate(-6deg) scale(.69);
  }
  .explore-tile--blog:hover .blx-front{ transform: translateY(-5px); }
  .explore-tile--blog:hover .blx-g2{ transform: translate(6px, -5px); }
  .explore-tile--blog:hover .blx-g3{ transform: translate(12px, -9px); }
  .explore-tile--blog:hover .blx-ghost{ stroke: #dfe7eb; animation: none; }
  .explore-tile--blog:hover .blx-front-edge{ animation-duration: 7s; }
}

/* ---- Responsive ---- */
@media (max-width: 1023px){
  .explore-tile--blog:hover .blx-board{ transform: translate(20px, 8px) rotate(-6deg) scale(.63); }
}

@media (max-width: 768px){
  .explore-tile--blog:hover .blx-board{ transform: translate(10px, 4px) rotate(-6deg) scale(.58); }
}
/* ---- Archive index ---- */
.blx-entry-line{ stroke: #eef2f4; stroke-width: 2; stroke-linecap: round; }
.blx-e1 .blx-entry-line{ stroke: #e4ecf0; }
@keyframes blxIndexIn{
  0%      { opacity: 0; }
  6%      { opacity: 1; }
  93%     { opacity: 1; }
  97%,100%{ opacity: 0; }
}

@media (hover: hover) and (pointer: fine){
  .explore-tile--blog:hover .blx-entry-mark{ fill: #cbd8df; }
  .explore-tile--blog:hover .blx-e1 .blx-entry-mark{ fill: #034f73; }
}

/* ==========================================================================
   About tile
   ========================================================================== */

/* ---- Rest palette ---- */
.abx-caption line{ stroke: #f3f5f6; stroke-width: 1; }

.abx-caption line{
  transition: stroke .55s ease, fill .55s ease;
}

/* ---- Frames draw themselves ---- */
@keyframes abxDraw{
  0%      { stroke-dashoffset: 100; }
  5%      { stroke-dashoffset: 0; }
  91%     { stroke-dashoffset: 0; }
  96%,100%{ stroke-dashoffset: 100; }
}

/* ---- Connectors ---- */

/* ---- People arrive ---- */
@keyframes abxArrive{
  0%      { opacity: 0; transform: translateY(6px); }
  4%      { opacity: 1; transform: translateY(0); }
  91%     { opacity: 1; transform: translateY(0); }
  96%,100%{ opacity: 0; transform: translateY(0); }
}

/* ---- Ambient ---- */
@keyframes abxPresence{
  0%,100%{ opacity: 1; }
  50%    { opacity: .35; }
}

/* ---- The key frame ---- */
@keyframes abxKeyRing{
  0%   { transform: scale(.94); opacity: .8; }
  70%  { opacity: 0; }
  100% { transform: scale(1.06); opacity: 0; }
}
@keyframes abxIn{
  0%      { opacity: 0; }
  5%      { opacity: 1; }
  91%     { opacity: 1; }
  96%,100%{ opacity: 0; }
}

/* ---- The original palette returns ---- */
@media (hover: hover) and (pointer: fine){
  .explore-tile--about:hover .abx-board{
    transform: translate(14px, -16px) rotate(-6deg) scale(.87);
  }
  .explore-tile--about:hover .abx-frame      { stroke: #dbe6ec; }
  .explore-tile--about:hover .abx-link       { stroke: #cfdae1; }
  .explore-tile--about:hover .abx-fig circle,
  .explore-tile--about:hover .abx-fig path   { stroke: #9fb8c5; }
  .explore-tile--about:hover .abx-fig--key circle,
  .explore-tile--about:hover .abx-fig--key path{ stroke: #2a6a89; }
  .explore-tile--about:hover .abx-key-mark   { fill: #549ab6; }
  .explore-tile--about:hover .abx-key-ring   { stroke: #549ab6; }
  .explore-tile--about:hover .abx-caption line{ stroke: #e7edf1; }
  .explore-tile--about:hover .abx-cap-a      { fill: #8fadbd; }
  .explore-tile--about:hover .abx-cap-b      { fill: #c2ced5; }
}

/* ---- No hover, so show the full palette ---- */

/* ---- The shared scrim is too opaque here ---- */

/* ---- Responsive ---- */
@media (max-width: 1023px){
  .explore-tile--about:hover .abx-board{ transform: translate(10px, -12px) rotate(-6deg) scale(.81); }
}

@media (max-width: 768px){
  .explore-tile--about:hover .abx-board{ transform: translate(6px, -6px) rotate(-6deg) scale(.74); }
}
/* ==========================================================================
   About tile
   ========================================================================== */

/* ---------- Rest palette ---------- */
.abx-lattice line{ stroke: #eceef0; stroke-width: 1; }

.abx-caption line{ stroke: #f0f2f3; stroke-width: 1; }

.abx-lattice line, .abx-caption line{
  transition: stroke .55s ease, fill .55s ease;
}

/* ==========================================================================
   Constant motion, three systems out of phase
   ========================================================================== */

/* ---- 1 ---- */
@keyframes abxRun{ to{ stroke-dashoffset: -100; } }

/* ---- 2 ---- */
@keyframes abxBreathe{
  0%,100%{ opacity: 1; }
  50%    { opacity: .55; }
}              /* The key member holds steady */

/* ---- 3 ---- */
@keyframes abxSpin{ to{ transform: rotate(360deg); } }
/* Nine stops, clockwise around the lattice */
@keyframes abxTour{
  0%,   8%  { transform: translate(161px, 120px); }
  11%,  19% { transform: translate(263px, 120px); }
  22%,  30% { transform: translate(365px, 120px); }
  33%,  41% { transform: translate(365px, 270px); }
  44%,  52% { transform: translate(365px, 420px); }
  55%,  63% { transform: translate(263px, 420px); }
  66%,  74% { transform: translate(161px, 420px); }
  77%,  85% { transform: translate(161px, 270px); }
  88%,  97% { transform: translate(263px, 270px); }
  100%      { transform: translate(161px, 120px); }
}

/* ==========================================================================
   Hover
   ========================================================================== */
@media (hover: hover) and (pointer: fine){
  .explore-tile--about:hover .abx-board{
    transform: translate(18px, -6px) rotate(-6deg) scale(.93);
  }

  .explore-tile--about:hover .abx-lattice line{ stroke: #dbe6ec; }
  .explore-tile--about:hover .abx-sg{ stroke: #549ab6; }
  .explore-tile--about:hover .abx-face,
  .explore-tile--about:hover .abx-body{ stroke: #9fb8c5; }
  .explore-tile--about:hover .abx-halo{ stroke: #e4edf1; }
  .explore-tile--about:hover .abx-member--key .abx-face,
  .explore-tile--about:hover .abx-member--key .abx-body{ stroke: #2a6a89; }
  .explore-tile--about:hover .abx-visit-ring{ stroke: #549ab6; }
  .explore-tile--about:hover .abx-caption line{ stroke: #e7edf1; }
  .explore-tile--about:hover .abx-cap-a{ fill: #8fadbd; }
  .explore-tile--about:hover .abx-cap-b{ fill: #c2ced5; }
}

/* Touch devices never hover */
@media (hover: none) and (pointer: coarse){
  .abx-lattice line{ stroke: #dbe6ec; }
}

/* ---- Bottom fade, kept ---- */

/* ---- Responsive ---- */
@media (max-width: 1023px){
  .explore-tile--about:hover .abx-board{ transform: translate(12px, -4px) rotate(-6deg) scale(.87); }
}

@media (max-width: 768px){
  .explore-tile--about:hover .abx-board{ transform: translate(6px, 0) rotate(-6deg) scale(.8); }
}
 /* ==========================================================================
   Explore tiles
   ========================================================================== */

/* Every drawn element eases between the two states */
.crx-focus-glow, .crx-focus-edge, .crx-focus-text, .blx-byline, .blx-fig line, .blx-entry-line, .blx-tick line, .blx-crop line, .abx-grid line, .abx-wall line, .abx-part line, .abx-stamp line{
  transition: stroke .55s ease, fill .55s ease, opacity .55s ease;
}

/* ---------- Rest ---------- */

/* Careers */
.crx-focus-glow  { stroke: #e2e5e7; opacity: .12; }
.crx-focus-edge  { stroke: #d8dcde; }
.crx-focus-text  { fill:   #c6ccd0; }

/* Blog */
.blx-byline      { fill:   #e0e4e6; }
.blx-fig line    { stroke: #f0f2f3; }
.blx-entry-line  { stroke: #f3f5f6; }
.blx-tick line,
.blx-crop line   { stroke: #f0f2f3; }

/* About */
.abx-grid line   { stroke: #f5f6f7; }
.abx-wall line   { stroke: #dde1e3; }
.abx-part line   { stroke: #eceff0; }
.abx-stamp line  { stroke: #f3f5f6; }

/* ---------- Hover ---------- */
@media (hover: hover) and (pointer: fine){

  /* Careers */
  .explore-tile--careers:hover .crx-wire path  { stroke: #c9dae4; }
  .explore-tile--careers:hover .crx-flow path  { stroke: #549ab6; }
  .explore-tile--careers:hover .crx-ghost rect { stroke: #d8e4ea; }
  .explore-tile--careers:hover .crx-ghost text { fill:   #b3c6d0; }
  .explore-tile--careers:hover .crx-focus-glow { stroke: #549ab6; opacity: .2; }
  .explore-tile--careers:hover .crx-focus-edge { stroke: #2a6a89; }
  .explore-tile--careers:hover .crx-focus-text { fill:   #0d3f5c; }

  /* Blog */
  .explore-tile--blog:hover .blx-ghost      { stroke: #eaeff2; }
  .explore-tile--blog:hover .blx-front-glow { stroke: #549ab6; opacity: .18; }
  .explore-tile--blog:hover .blx-front-edge { stroke: #2a6a89; }
  .explore-tile--blog:hover .blx-head       { fill:   #2a6a89; }
  .explore-tile--blog:hover .blx-body       { fill:   #9fb0b9; }
  .explore-tile--blog:hover .blx-quote      { fill:   #7fa3b5; }
  .explore-tile--blog:hover .blx-cap        { fill:   #b3c1c8; }
  .explore-tile--blog:hover .blx-byline     { fill:   #8d9ea7; }
  .explore-tile--blog:hover .blx-tag        { fill:   #549ab6; }
  .explore-tile--blog:hover .blx-meta       { fill:   #b3c1c8; }
  .explore-tile--blog:hover .blx-chip       { stroke: #dbe6ec; }
  .explore-tile--blog:hover .blx-avatar     { fill: #f2f6f8; stroke: #cfdae1; }
  .explore-tile--blog:hover .blx-quotebar   { fill:   #549ab6; }
  .explore-tile--blog:hover .blx-caret      { stroke: #034f73; }
  .explore-tile--blog:hover .blx-track      { stroke: #f0f3f4; }
  .explore-tile--blog:hover .blx-scroll     { stroke: #549ab6; }
  .explore-tile--blog:hover .blx-rule       { stroke: #f0f3f4; }
  .explore-tile--blog:hover .blx-fig rect,
  .explore-tile--blog:hover .blx-fig line   { stroke: #e4ebee; }
  .explore-tile--blog:hover .blx-entry-mark { fill:   #dde5ea; }
  .explore-tile--blog:hover .blx-e1 .blx-entry-mark{ fill: #549ab6; }
  .explore-tile--blog:hover .blx-entry-date { fill:   #c2ced5; }
  .explore-tile--blog:hover .blx-entry-line { stroke: #eef2f4; }
  .explore-tile--blog:hover .blx-index-rail { stroke: #e7edf1; }
  .explore-tile--blog:hover .blx-index-label{ fill:   #d5dee3; }
  .explore-tile--blog:hover .blx-tick line  { stroke: #cfdae1; }
  .explore-tile--blog:hover .blx-crop line  { stroke: #dde4e8; }

  /* About */
  .explore-tile--about:hover .abx-grid line  { stroke: #eaeff2; }
  .explore-tile--about:hover .abx-wall line  { stroke: #8fadbd; }
  .explore-tile--about:hover .abx-part line  { stroke: #c3d5df; }
  .explore-tile--about:hover .abx-desks rect { stroke: #d5e1e8; }
  .explore-tile--about:hover .abx-core rect  { stroke: #c3d5df; }
  .explore-tile--about:hover .abx-zonelabel  { fill:   #94aebb; }
  .explore-tile--about:hover .abx-stamp line { stroke: #e7edf1; }
  .explore-tile--about:hover .abx-stamp-id   { fill:   #8fadbd; }
  .explore-tile--about:hover .abx-stamp-sub  { fill:   #c2ced5; }
  .explore-tile--about:hover .abx-entry path { stroke: #549ab6; }
}

@media (hover: none) and (pointer: coarse){
  .crx-focus-edge{ stroke: #2a6a89; }
  .crx-focus-text{ fill:   #0d3f5c; }

  .abx-wall line { stroke: #8fadbd; }
  .abx-part line { stroke: #c3d5df; }
}
/* =========================================================================
   Positioning Statement + Metrics
   ========================================================================= */

.st-section{
  --st-ink:   var(--color-off-black, #0f1012);
  --st-muted: var(--color-steel-gray, #5e5e5e);
  --st-faint: var(--color-ash-gray, #8f8f8f);
  --st-blue:  #0071e3;   /* Brand blue, matches the hero title accent */
  --st-blue-deep: #005bb8;

  --st-gutter: 24px;   /* Must match .main-container's inline padding */

  background: #fff;
  color: var(--st-ink);
  padding-top: var(--spacing-113, 113px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: 'Inter Tight', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-weight: 350;
  font-optical-sizing: auto;
}

.st-section *,
.st-section *::before,
.st-section *::after{ box-sizing: border-box; }


/* ---------- Shared track grid ---------- */
.st-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--spacing-94, 94px);
  row-gap: var(--spacing-130, 130px);
  align-items: start;
}

/* ---------- Label pair ---------- */
.st-pair{
  grid-column: 1;
  grid-row: 1;
  display: block;
  margin: 0;
}

.st-eyebrow{
  display: block;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 350;
  color: var(--st-faint);
}

.st-title{
  display: block;
  margin-top: var(--spacing-4, 4px);
  font-size: 18px;
  line-height: 1.3;
  font-weight: 350;
  color: var(--st-ink);
}

/* Statement sits off track 2 */
.st-body{
  grid-column: 2 / -1;
  grid-row: 1;
}

.st-lede{
  margin: 0;
  max-width: 34ch;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  text-align: left;
}

.st-rest{ display: inline; }

/* Each word darkens as it crosses the fill line */
.st-w{
  color: var(--st-faint);
  transition: color 260ms ease;
}
.st-w.is-filled{ color: var(--st-ink); }

/* ---------- Inline link ---------- */
.st-link{
  grid-column: 1;
  grid-row: 3;
  display: inline-flex;
  align-items: center;
  align-self: start;
  justify-self: start;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
  color: var(--st-blue);
}

.st-glyph{
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(15, 16, 18, 0.14);
  border-radius: 0;
  background: transparent;
  color: var(--st-blue);
  transition: border-color 260ms ease;
}
.st-glyph svg{
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.st-link-text{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--st-blue);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.st-link:hover .st-glyph,
.st-link:focus-visible .st-glyph{ border-color: var(--st-blue); }

.st-link:hover .st-glyph svg,
.st-link:focus-visible .st-glyph svg{ transform: translateX(3px); }

.st-link:hover .st-link-text,
.st-link:focus-visible .st-link-text{ border-bottom-color: var(--st-blue); }

.st-link:focus-visible{ outline: 1px solid var(--st-blue); outline-offset: 4px; }

/* ---------- Figures ---------- */
.mx-item{
  grid-row: 2;
  text-align: left;
}

.mx-value{
  display: block;
  font-size: clamp(27px, 2.8vw, 34px);
  line-height: 1.2;
  font-weight: 250;
  color: var(--st-ink);
  font-variant-numeric: tabular-nums;
}

.mx-label{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--st-muted);
  max-width: 20ch;
  text-align: left;
}

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

/* ---- The gap steps down with the framework's ---- */
@media (max-width: 1200px){
  .st-grid{
    column-gap: var(--spacing-50, 50px);
    row-gap: var(--spacing-94, 94px);
  }
}

/* ---- Two tracks, statement takes the full measure ---- */
@media (max-width: 1023px){
  .st-section{
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .st-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--spacing-34, 34px);
    row-gap: var(--spacing-69, 69px);
  }

  /* Pair stacks above the statement */
  .st-pair{
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: calc(var(--spacing-69, 69px) * -1 + var(--spacing-35, 35px));
  }

  .st-body{ grid-column: 1 / -1; grid-row: 2; }

  .st-lede{ font-size: 22px; max-width: none; }

  /* Four figures across two tracks */
  .mx-item{ grid-row: auto; }
  .mx-label{ font-size: 13px; }

  .st-link{ grid-column: 1; grid-row: auto; }
}

/* ---- Mobile ---- */
@media (max-width: 767px){
  .st-section{
    --st-gutter: 20px;

    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .st-grid{
    column-gap: var(--spacing-30, 30px);
    row-gap: var(--spacing-50, 50px);
  }

  .st-pair{
    margin-bottom: calc(var(--spacing-50, 50px) * -1 + var(--spacing-30, 30px));
  }

  .st-lede{ font-size: 20px; }

  .mx-value{ font-size: 24px; }
  .mx-label{ max-width: 16ch; }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce){
  .st-w,
  .st-glyph,
  .st-glyph svg,
  .st-link-text{ transition: none; }
  .st-w{ color: var(--st-ink); }
}
/* =========================================================================
   Execution Framework
   ========================================================================= */

/* ---------- Scatter grid ---------- */

/* Placement */

/* ---------- Intro ---------- */


/* ---------- Phase card ---------- */

/* Exception */

/* The void */

/* ---------- CTA ---------- */
.exf-close-btn:hover{ background: var(--exf-cta-on); }
.exf-close-btn:hover svg{ transform: translateX(3px); }
.exf-close-btn:focus-visible{ outline: 1px solid var(--exf-blue); outline-offset: 4px; }

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

/* ---- 2 columns, stagger preserved ---- */

/* ---- Single column, weights unchanged from desktop ---- */
/* ==========================================================================
   Industries
   ========================================================================== */

/* ---------- Header ------------------------------------------------------ */

/* ---------- Blue text link ---------------------------------------------- */

.ixl-link:hover { border-bottom-color: var(--ixl-blue); }

/* ---------- Panel shell ------------------------------------------------- */

/* ---------- Index ------------------------------------------ */

.ixl-tab:hover { color: var(--ixl-ink); }
.ixl-tab:hover .ixl-tab-num { color: var(--ixl-muted); }

.ixl-tab.is-active { color: var(--ixl-ink); border-bottom-color: var(--ixl-blue); }
.ixl-tab.is-active .ixl-tab-num { color: var(--ixl-blue); }

.ixl-tab:focus-visible { outline: 0.5px solid var(--ixl-blue); outline-offset: 6px; }

/* ---------- Stage ------------------------------------------------------- */

.ixl-panel[hidden]   { display: none; }
.ixl-panel.is-active { animation: ixl-rise 420ms var(--ixl-ease) both; }

@keyframes ixl-rise {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

/* ---------- Artefact ---------------------------------------------------- */

.ixl-panel.is-active .ixa-ring,
.ixl-panel.is-active .ixa-core-sq,
.ixl-panel.is-active .ixa-exit {
  stroke-dasharray: var(--ixa-len);
  animation: ixa-draw 900ms var(--ixl-ease) both;
}

.ixl-panel.is-active .ixa-exit     { animation-delay: 1.05s; }
.ixl-panel.is-active .ixa-exit-cap { animation: ixa-appear 500ms var(--ixl-ease) 1.55s both; }
.ixl-panel.is-active .ixa-tracks   { animation: ixa-appear 700ms var(--ixl-ease) 260ms both; }

@keyframes ixa-draw   { from { stroke-dashoffset: var(--ixa-len); } to { stroke-dashoffset: 0; } }
@keyframes ixa-appear { from { opacity: 0; } to { opacity: 1; } }

/* Intake markers run the tracks continuously */
.ixl-panel.is-active .ixa-item {
  animation: ixa-run var(--ixa-run) linear infinite,
             ixa-item-fade var(--ixa-run) linear infinite;
}

@keyframes ixa-run {
  from { transform: translate(var(--ixa-x0, 22px), var(--ixa-y)); }
  to   { transform: translate(var(--ixa-x1, 244px), var(--ixa-y)); }
}

@keyframes ixa-item-fade {
  0%, 100% { opacity: 0; }
  14%, 84% { opacity: 1; }
}

/* Travelling pulse along a drawn route */
.ixl-panel.is-active .ixa-pulse {
  stroke-dasharray: 30 var(--ixa-len);
  animation: ixa-pulse var(--ixa-run, 9.5s) linear infinite;
}

@keyframes ixa-pulse {
  from { stroke-dashoffset: 30; }
  to   { stroke-dashoffset: var(--ixa-neg); }
}

/* ---------- Tablet ------------------------------------------------------ */

/* ---------- Mobile ------------------------------------------------------ */

/* ---------- Reduced motion ---------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .ixl-panel.is-active { animation: none; }
  .ixl-panel.is-active .ixa-ring,
  .ixl-panel.is-active .ixa-core-sq,
  .ixl-panel.is-active .ixa-exit { stroke-dasharray: none; animation: none; }
  .ixl-panel.is-active .ixa-item  { animation: none; opacity: 0; }
  .ixl-panel.is-active .ixa-pulse { animation: none; stroke-dasharray: none; }
  .ixl-panel.is-active .ixa-tracks,
  .ixl-panel.is-active .ixa-exit-cap { animation: none; opacity: 1; }
}
/* =========================================================================
   Services
   ========================================================================= */

/* =========================================================================
   Band
   ========================================================================= */

/* =========================================================================
   Media + scrim
   ========================================================================= */

/* Group dim, then lift the one being pointed at */
.group\/services:hover .service-col-overlay{
  background-color: rgba(var(--svc-scrim), 0.42);
}
.group\/services .svc-card:hover .service-col-overlay{
  background-color: rgba(var(--svc-scrim), 0.08);
}

/* =========================================================================
   Type
   ========================================================================= */

.svc-card:hover .svc-rule{ transform: scaleX(2.1); }

.svc-section .arrow-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
  color: var(--svc-blue);
  text-decoration: none;
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color .3s ease;
}
.svc-section .arrow-link:hover{ border-bottom-color: var(--svc-blue); }

.svc-section .arrow-svg{
  width: 26px;
  height: 14px;
  flex: none;
  overflow: visible;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.svc-section .arrow-path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.svc-section .arrow-link:hover .arrow-svg{ transform: translateX(5px); }

.svc-section .arrow-link:focus-visible{
  outline: 1px solid var(--svc-blue);
  outline-offset: 6px;
}

/* =========================================================================
   Tablet
   ========================================================================= */

/* =========================================================================
   Desktop
   ========================================================================= */

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .svc-card:hover .svc-rule{ transform: none; }
}

/* =========================================================================
   Beyond Our Services
   ========================================================================= */

.bhx-section{
  --bhx-ink:   var(--color-off-black, #0f1012);
  --bhx-muted: var(--color-steel-gray, #5e5e5e);
  --bhx-faint: var(--color-ash-gray, #8f8f8f);
  --bhx-blue:  var(--color-signal-blue, #0071e3);
  --bhx-hair:  rgba(0, 0, 0, 0.08);

  --bhx-ease: cubic-bezier(.22, 1, .36, 1);

  background: var(--surface-page-canvas, #f2f2f4);
  color: var(--bhx-ink);
  padding: 130px 0;
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

.bhx-section *,
.bhx-section *::before,
.bhx-section *::after{ box-sizing: border-box; }

/* ---------- Grid ---------- */
.bhx-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  align-items: start;
}

/* ---------- Masthead ---------- */
.bhx-masthead{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.bhx-title{
  margin: 0;
  max-width: 12ch;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--bhx-ink);
}

.bhx-lede{
  margin: 0;
  max-width: 34ch;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.5;
  color: var(--bhx-muted);
  text-align: left;
}

/* ---------- Rows ---------- */
.bhx-rows{
  display: flex;
  flex-direction: column;
  border-top: 0.5px solid var(--bhx-hair);
}

.bhx-row{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 30px 0 34px;
  color: inherit;
  text-decoration: none;
}

.bhx-row::after{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--bhx-hair);
  transition: background-color .4s var(--bhx-ease);
}

.bhx-row-main{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.bhx-row-title{
  display: block;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--bhx-ink);
}

.bhx-row-sub{
  display: block;
  max-width: 44ch;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.5;
  color: var(--bhx-muted);
}

.bhx-row-cue{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
  color: var(--bhx-faint);
  transition: color .4s var(--bhx-ease);
}

.bhx-row-cue svg{
  width: 15px;
  height: 15px;
  flex: none;
  transition: transform .4s var(--bhx-ease);
}

/* --- This row's rule goes live, the cue advances --- */
.bhx-row:hover::after,
.bhx-row:focus-visible::after{ background: var(--bhx-blue); }

.bhx-row:hover .bhx-row-cue,
.bhx-row:focus-visible .bhx-row-cue{ color: var(--bhx-blue); }

.bhx-row:hover .bhx-row-cue svg,
.bhx-row:focus-visible .bhx-row-cue svg{ transform: translateX(5px); }

.bhx-row:focus-visible{
  outline: 1px solid var(--bhx-blue);
  outline-offset: 8px;
}

/* =========================================================================
   Desktop
   ========================================================================= */
@media (min-width: 1024px){
  .bhx-grid{
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    column-gap: 69px;
  }

  .bhx-masthead{
    position: sticky;
    top: 104px;
    gap: 30px;
  }

  /* Title and cue on one line, description beneath */
  .bhx-row{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: 50px;
    gap: 0;
    padding: 34px 0 38px;
  }

  .bhx-row-cue{ justify-self: end; }

  .bhx-row-sub{ max-width: 40ch; }
}

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .bhx-section *{ transition: none !important; animation: none !important; }
  .bhx-masthead{ position: static; }
}
/* =========================================================================
   Testimonials
   ========================================================================= */

.ts-section{
  --ts-ink:   var(--color-off-black, #0f1012);
  --ts-muted: var(--color-steel-gray, #5e5e5e);
  --ts-faint: var(--color-ash-gray, #8f8f8f);
  --ts-blue:  var(--color-signal-blue, #0071e3);
  --ts-hair:  rgba(0, 0, 0, 0.08);

  --ts-wash:     rgba(12, 13, 15, 0.05);
  --ts-wash-on:  rgba(12, 13, 15, 0.10);
  --ts-wash-off: rgba(12, 13, 15, 0.03);

  --ts-gutter:  30px;                /* Space either side of a vertical rule */
  --ts-per:     1.15;                /* Columns visible per view */
  --ts-headpad: 50px;
  --ts-ease:    cubic-bezier(.22, 1, .36, 1);

  background: var(--color-pure-white, #fdfdfd);
  color: var(--ts-ink);
  padding: 94px 0;
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

.ts-section *,
.ts-section *::before,
.ts-section *::after{ box-sizing: border-box; }

.ts-section .main-container{
  display: flex;
  flex-direction: column;
}

.ts-head     { order: 1; }
.ts-viewport { order: 2; }
.ts-controls { order: 3; }

/* =========================================================================
   Header
   ========================================================================= */
.ts-head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  padding-bottom: var(--ts-headpad);
}

.ts-intro{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.ts-title{
  margin: 0;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--ts-ink);
}

.ts-lede{
  margin: 0;
  max-width: 52ch;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.5;
  color: var(--ts-muted);
  text-align: left;
}

/* =========================================================================
   Controls
   ========================================================================= */
.ts-controls{
  display: flex;
  gap: 10px;
  flex: none;
  margin-top: 34px;
}

.ts-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  padding: 0;
  background: var(--ts-wash);
  border: 0;
  color: var(--ts-ink);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .35s var(--ts-ease), color .35s var(--ts-ease);
}

.ts-btn svg{
  width: 18px;
  height: 18px;
  display: block;
  transition: transform .35s var(--ts-ease);
}

.ts-btn:not(:disabled):hover{
  background: var(--ts-wash-on);
  color: var(--ts-blue);
}
.ts-prev:not(:disabled):hover svg{ transform: translateX(-3px); }
.ts-next:not(:disabled):hover svg{ transform: translateX(3px); }

.ts-btn:disabled{
  background: var(--ts-wash-off);
  color: var(--ts-faint);
  cursor: default;
}

.ts-btn:focus-visible{
  outline: 1px solid var(--ts-blue);
  outline-offset: 4px;
}

/* =========================================================================
   Track
   ========================================================================= */
.ts-viewport{
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-behavior: auto;             /* Must not inherit smooth from a reset */
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-top: 0.5px solid var(--ts-hair);
  border-bottom: 0.5px solid var(--ts-hair);
}
.ts-viewport::-webkit-scrollbar{ display: none; }

.ts-viewport.is-animating{ scroll-snap-type: none; }

.ts-viewport:focus-visible{
  outline: 1px solid var(--ts-blue);
  outline-offset: 4px;
}

.ts-grid{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(100% / var(--ts-per));
  align-items: stretch;
  border-right: 1px solid var(--ts-hair);
}

.ts-item{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 34px var(--ts-gutter) 34px 0;
  scroll-snap-align: start;
}

/* The divider */
.ts-item + .ts-item{ padding-left: var(--ts-gutter); }

.ts-item + .ts-item::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--ts-hair);
  transition: background-color .4s var(--ts-ease);
}

/* =========================================================================
   Quote
   ========================================================================= */
.ts-quote{
  position: relative;
  margin: 0 0 34px;
  flex: 1;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.55;
  color: var(--ts-ink);
  text-align: left;
}

/* Inline marks */
.ts-quote::before{ content: '“'; color: var(--ts-blue); }
.ts-quote::after { content: '”'; color: var(--ts-blue); }

/* =========================================================================
   Signature
   ========================================================================= */
.ts-sign{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  width: 100%;
  margin-top: auto;              /* Pins every signature to one baseline */
  padding-top: 18px;
  border-top: 0.5px solid var(--ts-hair);
}

.ts-meta{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

.ts-name{
  font-size: 16px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--ts-ink);
}

.ts-role{
  font-size: 13px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--ts-faint);
}

.ts-logo{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 22px;
  flex: none;
  padding-bottom: 2px;
}

.ts-logo img{
  --logo-scale: 1;               /* Per-logo optical nudge */
  height: calc(100% * var(--logo-scale));
  width: auto;
  max-width: 100%;
  display: block;
  filter: grayscale(1);
  opacity: .42;
  transition: opacity .4s var(--ts-ease);
}

.ts-item:hover .ts-logo img{ opacity: .85; }

/* Logo files carry different internal padding */
/* Client logos share one optical area (~1200px²): wide marks get less
   height, compact marks more, so every logo carries the same weight. */
.ts-logo img[src*="crif"]{ height: 20px; }                  /* 3.0 : 1 */
.ts-logo img[src*="thousand-nights"]{ height: 17px; }       /* 4.4 : 1 */
.ts-logo img[src*="wonka-land"]{ height: 22px; opacity: .6; } /* 2.4 : 1, light colours need more weight in grey */
.ts-logo img[src*="iconik"]{ height: 19px; }                /* 3.2 : 1 */

/* =========================================================================
   Tablet
   ========================================================================= */
@media (min-width: 641px){
  .ts-section{
    --ts-per: 2;
    --ts-gutter: 34px;
    --ts-headpad: 69px;
    padding: 113px 0;
  }

  .ts-section .main-container{ position: relative; }
  .ts-head{ position: static; }
  .ts-intro{ padding-right: 140px; }

  .ts-controls{
    order: 0;
    margin-top: 0;
    position: absolute;
    top: 34px;
    right: 0;
    bottom: auto;
    z-index: 2;
  }

  .ts-item{ padding-block: 44px; }
}

/* Drag affordance for pointer devices */
@media (min-width: 641px) and (hover: hover){
  .ts-viewport{ cursor: grab; }
  .ts-viewport.is-dragging{ cursor: grabbing; }
}

/* =========================================================================
   Desktop
   ========================================================================= */
@media (min-width: 1024px){
  .ts-section{
    --ts-per: 3;
    --ts-gutter: 50px;
    --ts-headpad: 94px;
    padding: 130px 0;
  }

  .ts-controls{ top: 44px; }

  .ts-item{ padding-block: 50px; }
  .ts-logo{ height: 24px; }

  /* The column being read is bracketed in blue */
  .ts-item:hover::before,
  .ts-item:hover + .ts-item::before{ background: var(--ts-blue); }
}

@media (min-width: 1280px){
  .ts-section{ --ts-gutter: 69px; }
}

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .ts-section *{ transition: none !important; }
  .ts-viewport{ scroll-snap-type: none; }
}
.ts-item:first-child{
  padding-left: var(--ts-gutter);
}

.ts-item:first-child::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--ts-hair);
  transition: background-color .4s var(--ts-ease);
}
.ts-item:hover::before,
.ts-item:hover + .ts-item::before{ background: var(--ts-blue); }

/* Close the track on its right edge */
.ts-item:last-child{
  padding-right: var(--ts-gutter);
}

.ts-item:last-child::after{
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--ts-hair);
  transition: background-color .4s var(--ts-ease);
}

/* The column being read is bracketed in blue */
.ts-item:hover::before,
.ts-item:hover + .ts-item::before,
.ts-item:last-child:hover::after{
  background: var(--ts-blue);
}

/* =========================================================================
   CTA + Footer
   ========================================================================= */

.ctf{
  --ctf-ink:   var(--color-pure-white, #fdfdfd);
  --ctf-muted: rgba(253, 253, 253, 0.62);
  --ctf-faint: rgba(253, 253, 253, 0.42);
  --ctf-blue:  #2997ff;                                 /* Accent on charcoal */
  --ctf-blue-solid: var(--color-signal-blue, #0071e3);  /* The CTA band */

  /* Display step */
  --ctf-display: 27px;

  --ctf-ease: cubic-bezier(.22, 1, .36, 1);

  position: relative;
  background: var(--surface-dark-surface, #0f1012);
  color: var(--ctf-ink);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

.ctf *,
.ctf *::before,
.ctf *::after{ box-sizing: border-box; }

/* =========================================================================
   CTA
   ========================================================================= */
.ctf-cta{
  background: var(--ctf-blue-solid);
  padding: 94px 0;
  text-align: center;
}

.ctf-cta .main-container{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ctf-title{
  margin: 0 0 22px;
  font-size: var(--ctf-display);
  font-weight: 350;
  line-height: 1.2;
  color: var(--ctf-ink);
}

.ctf-sub{
  margin: 0;
  max-width: 38ch;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.5;
  color: rgba(253, 253, 253, 0.82);   /* Must stay legible on blue */
}

/* Primary action on the blue band */
.ctf-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 44px;
  height: 46px;
  padding: 0 24px;
  background: #ffffff;
  color: var(--color-off-black, #0f1012);
  text-decoration: none;
  transition: background-color 320ms var(--ctf-ease);
}

.ctf-btn-label{
  font-size: 15px;
  line-height: 1;
  font-weight: 400;
  color: inherit;
  text-align: center;
}

.ctf-btn-arrow{
  flex: none;
  width: 14px;
  height: 14px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.ctf-btn:hover,
.ctf-btn:focus-visible{ background: var(--color-off-white, #f2f2f4); }

.ctf-btn:hover .ctf-btn-arrow,
.ctf-btn:focus-visible .ctf-btn-arrow{ transform: translateX(3px); }

.ctf-btn:focus-visible{
  outline: 1px solid var(--ctf-ink);
  outline-offset: 4px;
}

@media (max-width: 767px){
  .ctf-btn{
    height: 44px;
    padding: 0 20px;
  }
}

@media (prefers-reduced-motion: reduce){
  .ctf-btn:hover .ctf-btn-arrow,
  .ctf-btn:focus-visible .ctf-btn-arrow{ transform: none; }
}

/* =========================================================================
   Footer
   ========================================================================= */
.ctf-foot{
  padding: 94px 0 50px;
}

.ctf-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 69px;
}

.ctf-wordmark{ display: block; }

.ctf-wordmark img{
  height: 30px;
  width: auto;
  display: block;
}

/* ---------- The index ---------- */
.ctf-index{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 50px 34px;
}

.ctf-group{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ctf-num{
  font-size: 12px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--ctf-faint);
}

.ctf-label{
  margin: 2px 0 22px;
  font-size: 13px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--ctf-blue);
}

.ctf-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ctf-list a{
  font-size: 16px;
  font-weight: 350;
  line-height: 1.35;
  color: var(--ctf-muted);
  text-decoration: none;
  transition: color .3s var(--ctf-ease);
}

.ctf-list a:hover{ color: var(--ctf-ink); }

.ctf-list a:focus-visible{
  outline: 1px solid var(--ctf-blue);
  outline-offset: 4px;
}

/* ---------- Legal ---------- */
.ctf-legal{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ctf-legal p{
  margin: 0;
  font-size: 13px;
  font-weight: 350;
  line-height: 1.45;
  color: var(--ctf-faint);
}

/* =========================================================================
   Tablet
   ========================================================================= */
@media (min-width: 641px){
  .ctf{ --ctf-display: 32px; }

  .ctf-cta{ padding: 113px 0; }

  .ctf-index{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
  }
}

/* =========================================================================
   Desktop
   ========================================================================= */
@media (min-width: 1024px){
  .ctf{ --ctf-display: 40px; }

  .ctf-cta{ padding: 144px 0; }

  .ctf-foot{ padding: 130px 0 50px; }

  .ctf-grid{
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    grid-template-rows: auto 1fr auto;
    row-gap: 0;
    column-gap: 69px;
    min-height: 480px;
  }

  .ctf-wordmark{ grid-column: 1; grid-row: 1; }

  .ctf-index{
    grid-column: 2;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 94px 50px;
    align-content: start;
  }

  .ctf-legal{
    grid-column: 2;
    grid-row: 3;
    align-self: end;
  }
}

/* =========================================================================
   Wordmark below desktop
   ========================================================================= */
@media (max-width: 1023px){
  .ctf-wordmark{ margin-bottom: -19px; }            /* 69px gap -> 50px */
  .ctf-wordmark img{ height: 24px; }
}

@media (max-width: 767px){
  .ctf-wordmark{ margin-bottom: -35px; }            /* 69px gap -> 34px */
  .ctf-wordmark img{ height: 20px; }
}

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .ctf *{ transition: none !important; }
}

/* ============================================================
   CX Services
   ============================================================ */

.cxs {
  background: var(--color-off-white, #f2f2f4);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


.cxs-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
}

.cxs-rail {
  grid-column: 1;
  grid-row: 2;
  height: 100%;
}

.cxs-ledger {
  grid-column: 2;
  grid-row: 2;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.cxs-masthead {
  grid-column: 2;
  grid-row: 1;
  padding-bottom: var(--spacing-94, 94px);
}

.cxs-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.05;
  font-weight: 300;
  color: var(--color-off-black, #0f1012);
}

.cxs-heading-accent,
.cxs-heading-rest {
  display: block;
}

.cxs-heading-accent {
  color: var(--color-signal-blue, #0071e3);
}

/* ─────────────────────────────────────────────
   Rail
   ───────────────────────────────────────────── */

.cxs-rail-inner {
  position: sticky;
  top: var(--spacing-69, 69px);
}

.cxs-group {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.cxs-nav-list {
  list-style: none;
  margin: 0 0 var(--spacing-35, 35px);
  padding: 0;
}

.cxs-nav-list:last-child {
  margin-bottom: 0;
}

.cxs-nav-list li + li {
  margin-top: var(--spacing-6, 6px);
}

.cxs-marker {
  display: flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
  color: var(--color-ash-gray, #8f8f8f);
}

.cxs-marker-box {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(0, 0, 0, 0.06);
  border-radius: 0;
  background: var(--color-pure-white, #fdfdfd);
  color: var(--color-ash-gray, #8f8f8f);
  transition: border-color 260ms ease, color 260ms ease;
}

.cxs-marker-box svg {
  width: 16px;
  height: 16px;
  display: block;
}

.cxs-marker-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
  transition: color 260ms ease;
}

.cxs-marker:hover .cxs-marker-box,
.cxs-marker:focus-visible .cxs-marker-box {
  color: var(--color-off-black, #0f1012);
  border-color: rgba(0, 0, 0, 0.14);
}

.cxs-marker:hover .cxs-marker-label,
.cxs-marker:focus-visible .cxs-marker-label {
  color: var(--color-off-black, #0f1012);
}

.cxs-marker.is-active .cxs-marker-box {
  border-color: var(--color-signal-blue, #0071e3);
  color: var(--color-signal-blue, #0071e3);
}

.cxs-marker.is-active .cxs-marker-label {
  color: var(--color-signal-blue, #0071e3);
}

.cxs-marker:focus-visible {
  outline: 1px solid var(--color-signal-blue, #0071e3);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Ledger
   ───────────────────────────────────────────── */

.cxs-set-label {
  display: none;
}

.cxs-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  grid-template-rows: auto auto 1fr;
  column-gap: var(--spacing-50, 50px);
  padding-top: var(--spacing-94, 94px);
  padding-bottom: var(--spacing-94, 94px);
  border-top: 0.5px solid rgba(0, 0, 0, 0.06);
  scroll-margin-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

.cxs-panel,
.cxs-panel-inner {
  display: contents;
}

.cxs-name {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.cxs-summary {
  grid-column: 1;
  grid-row: 2;
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 30ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

.cxs-block-body {
  grid-column: 2;
  grid-row: 1 / -1;
}

/* Trigger */
.cxs-trigger {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: default;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.cxs-glyph,
.cxs-sign {
  display: none;
}

.cxs-index {
  display: block;
  margin-bottom: var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.cxs-name-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
  transition: color 260ms ease;
}

@media (min-width: 1024px) {
  .cxs-block.is-active .cxs-name-text {
    color: var(--color-signal-blue, #0071e3);
  }
}

.cxs-spec + .cxs-spec {
  margin-top: var(--spacing-50, 50px);
}

.cxs-spec-label {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
}

.cxs-spec-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cxs-spec-list li {
  position: relative;
  padding-left: var(--spacing-22, 22px);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

.cxs-spec-list li + li {
  margin-top: var(--spacing-10, 10px);
}

/* Hollow square bullet */
.cxs-spec-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border: 0.5px solid var(--color-signal-blue, #0071e3);
  border-radius: 0;
}

/* ─────────────────────────────────────────────
   Outro
   ───────────────────────────────────────────── */

.cxs-outro {
  padding-top: var(--spacing-69, 69px);
  border-top: 0.5px solid rgba(0, 0, 0, 0.06);
}

.cxs-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-10, 10px);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-signal-blue, #0071e3);
  text-decoration: none;
  border-bottom: 0.5px solid transparent;
  border-radius: 0;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.cxs-cta:hover,
.cxs-cta:focus-visible {
  border-bottom-color: var(--color-signal-blue, #0071e3);
}

.cxs-cta:focus-visible {
  outline: 1px solid var(--color-signal-blue, #0071e3);
  outline-offset: 4px;
}

.cxs-cta-arrow {
  width: 26px;
  height: 14px;
  flex: none;
  overflow: visible;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.cxs-cta-arrow path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
}

.cxs-cta:hover .cxs-cta-arrow,
.cxs-cta:focus-visible .cxs-cta-arrow {
  transform: translateX(4px);
}

/* ============================================================
   Tablet & Mobile
   ============================================================ */

@media (max-width: 1023px) {

  .cxs {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .cxs-shell {
    display: block;
  }

  .cxs-rail-inner {
    position: static;
  }

  .cxs-nav {
    display: none;
  }

  .cxs-masthead {
    padding-bottom: var(--spacing-69, 69px);
    text-align: center;
  }

  .cxs-heading {
    font-size: 44px;
  }

  /* Tier split moves into the flow */
  .cxs-set-label {
    display: block;
    margin: 0;
    padding: var(--spacing-69, 69px) 0 var(--spacing-30, 30px);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 350;
    color: var(--color-ash-gray, #8f8f8f);
  }

  .cxs-set:first-of-type .cxs-set-label {
    padding-top: 0;
  }

  .cxs-block {
    display: block;
    padding: 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.06);
  }

  .cxs-set:last-of-type .cxs-block:last-of-type {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);
  }

  /* ── Tab row ── */

  .cxs-trigger {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-11, 11px);
    padding: var(--spacing-11, 11px);
    cursor: pointer;
    transition: background-color 260ms ease;
  }

  .cxs-index {
    display: none;
  }

  .cxs-glyph {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0.5px solid rgba(0, 0, 0, 0.14);
    border-radius: 0;
    background: var(--color-pure-white, #fdfdfd);
    color: var(--color-off-black, #0f1012);
    transition: color 260ms ease;
  }

  .cxs-glyph svg {
    width: 16px;
    height: 16px;
    display: block;
  }

  .cxs-name-text {
    flex: 1;
    text-align: center;
    font-size: 18px;
  }

  /* +/− sign */
  .cxs-sign {
    position: relative;
    flex: none;
    display: block;
    width: 20px;
    height: 20px;
  }

  .cxs-sign::before,
  .cxs-sign::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--color-off-black, #0f1012);
    transition: transform 260ms ease, background-color 260ms ease;
  }

  .cxs-sign::before {
    width: 13px;
    height: 1px;
    transform: translate(-50%, -50%);
  }

  .cxs-sign::after {
    width: 1px;
    height: 13px;
    transform: translate(-50%, -50%);
  }

  /* ── Open state */

  .cxs-block.is-open .cxs-trigger {
    background-color: var(--color-signal-blue, #0071e3);
  }

  .cxs-block.is-open .cxs-name-text {
    color: var(--color-pure-white, #fdfdfd);
  }

  .cxs-block.is-open .cxs-glyph {
    background: var(--color-pure-white, #fdfdfd);
    border-color: rgba(0, 0, 0, 0.14);
    color: var(--color-signal-blue, #0071e3);
  }

  .cxs-block.is-open .cxs-sign::before,
  .cxs-block.is-open .cxs-sign::after {
    background: var(--color-pure-white, #fdfdfd);
  }

  .cxs-block.is-open .cxs-sign::after {
    transform: translate(-50%, -50%) scaleY(0);
  }

  .cxs-trigger:focus-visible {
    outline: 1px solid var(--color-signal-blue, #0071e3);
    outline-offset: -3px;
  }

  /* ── Collapsible panel ── */

  .cxs-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 300ms ease;
  }

  .cxs-panel-inner {
    display: block;
    overflow: hidden;
    min-height: 0;
  }

  .cxs-block.is-open .cxs-panel {
    grid-template-rows: 1fr;
  }

  .cxs-summary {
    max-width: none;
    margin: 0;
    padding: var(--spacing-22, 22px) var(--spacing-11, 11px) 0;
  }

  .cxs-block-body {
    padding: var(--spacing-30, 30px) var(--spacing-11, 11px) var(--spacing-35, 35px);
  }

  .cxs-spec + .cxs-spec {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .cxs {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .cxs-masthead {
    padding-bottom: var(--spacing-50, 50px);
  }

  .cxs-heading {
    font-size: 32px;
  }

  .cxs-set-label {
    padding-top: var(--spacing-50, 50px);
  }

  .cxs-trigger {
    gap: var(--spacing-10, 10px);
    padding: var(--spacing-10, 10px);
  }

  .cxs-glyph {
    width: 34px;
    height: 34px;
  }

  .cxs-name-text {
    font-size: 16px;
  }

  .cxs-block-body {
    padding-bottom: var(--spacing-30, 30px);
  }

  .cxs-outro {
    padding-top: var(--spacing-50, 50px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .cxs-marker-box,
  .cxs-marker-label,
  .cxs-name-text,
  .cxs-trigger,
  .cxs-glyph,
  .cxs-sign::before,
  .cxs-sign::after,
  .cxs-panel,
  .cxs-cta,
  .cxs-cta-arrow {
    transition: none;
  }
  .cxs-cta-arrow {
    transform: none;
  }
}

/* ============================================================
   Key Benefits
   ============================================================ */
 
.kbf {
  position: relative;
   background-color: var(--color-off-black, #0f1012);
  padding-top: var(--spacing-130, 130px);
   padding-bottom: var(--spacing-144, 144px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
background-image: linear-gradient(
    to bottom,
    #161719 0%,
    #161719 62%,
    #131417 84%,
    #0f1012 100%
  );
}
 
.kbf::before {
  display: none;
}
 
.kbf > * {
  position: relative;
}
 
 
/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */
 
.kbf-masthead {
  padding-bottom: var(--spacing-50, 50px);
  padding-left: calc(300px + var(--spacing-94, 94px));
}
 
.kbf-eyebrow {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}
 
.kbf-heading {
  margin: var(--spacing-6, 6px) 0 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: #2997ff;
}
 
/* ─────────────────────────────────────────────
   Rows
   ───────────────────────────────────────────── */
 
.kbf-row {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  padding-top: var(--spacing-69, 69px);
}
 
.kbf-marker {
  display: block;
  padding-top: var(--spacing-4, 4px);
}
 
.kbf-index {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}
 
.kbf-label {
  display: block;
  margin-top: var(--spacing-6, 6px);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
  transition: color 260ms ease;
}
 
.kbf-row:hover .kbf-label {
  color: #2997ff;
}
 
/* Body */
.kbf-body {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  column-gap: var(--spacing-50, 50px);
  padding-bottom: var(--spacing-30, 30px);
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
}
 
.kbf-statement {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}
 
.kbf-desc {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}
 
/* ============================================================
   Tablet
   ============================================================ */
 
@media (max-width: 1023px) {
 
  .kbf {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }
 
  .kbf-masthead {
    padding-bottom: var(--spacing-69, 69px);
    padding-left: calc(200px + var(--spacing-50, 50px));
  }
 
  .kbf-row {
    grid-template-columns: 200px minmax(0, 1fr);
    column-gap: var(--spacing-50, 50px);
    padding-top: var(--spacing-50, 50px);
  }
 
  .kbf-body {
    display: block;
    padding-bottom: var(--spacing-30, 30px);
  }
 
  .kbf-desc {
    margin-top: var(--spacing-22, 22px);
    max-width: 52ch;
  }
}
 
/* ============================================================
   Mobile
   ============================================================ */
 
@media (max-width: 767px) {
 
  .kbf {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }
 
  .kbf-masthead {
    padding-left: 0;
    padding-bottom: var(--spacing-50, 50px);
  }
 
  .kbf-row {
    display: block;
    padding-top: var(--spacing-35, 35px);
  }
 
  .kbf-marker {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-10, 10px);
    padding-top: 0;
    padding-bottom: var(--spacing-22, 22px);
  }
 
  .kbf-index,
  .kbf-label {
    display: inline;
    margin-top: 0;
  }
 
  .kbf-statement {
    font-size: 20px;
  }
 
  .kbf-desc {
    margin-top: var(--spacing-11, 11px);
    max-width: none;
  }
 
  .kbf-body {
    padding-bottom: var(--spacing-22, 22px);
  }
}
 
/* ============================================================
   Reduced motion
   ============================================================ */
 
@media (prefers-reduced-motion: reduce) {
  .kbf-label {
    transition: none;
  }
}


/* ============================================================
   FAQ
   ============================================================ */

.faq {
  background: var(--color-off-white, #f2f2f4);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  position: relative;
  z-index: 2;
}


.faq-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.faq-eyebrow {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.faq-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
}

/* ─────────────────────────────────────────────
   Items
   ───────────────────────────────────────────── */

.faq-item {
  border-top: 0.5px solid rgba(0, 0, 0, 0.06);
}

.faq-item:first-child {
  border-top: 0;
}

.faq-item:last-child {
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);
}

.faq-q {
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-50, 50px);
  padding: var(--spacing-35, 35px) 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.faq-q-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
  transition: color 260ms ease;
}

.faq-trigger:hover .faq-q-text,
.faq-item.is-open .faq-q-text {
  color: var(--color-signal-blue, #0071e3);
}

.faq-trigger:focus-visible {
  outline: 1px solid var(--color-signal-blue, #0071e3);
  outline-offset: 4px;
}

/* Square +/− marker */
.faq-icon {
  position: relative;
  flex: none;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(0, 0, 0, 0.14);
  border-radius: 0;
  background: var(--color-pure-white, #fdfdfd);
  transition: border-color 260ms ease;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--color-off-black, #0f1012);
  transition: transform 260ms ease, background-color 260ms ease;
}

.faq-icon::before {
  width: 12px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.faq-icon::after {
  width: 1px;
  height: 12px;
  transform: translate(-50%, -50%);
}

.faq-trigger:hover .faq-icon,
.faq-trigger:focus-visible .faq-icon,
.faq-item.is-open .faq-icon {
  border-color: var(--color-signal-blue, #0071e3);
}

.faq-item.is-open .faq-icon::before,
.faq-item.is-open .faq-icon::after {
  background: var(--color-signal-blue, #0071e3);
}

.faq-item.is-open .faq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

/* ─────────────────────────────────────────────
   Panel
   ───────────────────────────────────────────── */

.faq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.faq-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.faq-item.is-open .faq-panel {
  grid-template-rows: 1fr;
}

.faq-panel-inner p {
  margin: 0;
  padding-right: calc(40px + var(--spacing-50, 50px));
  padding-bottom: var(--spacing-50, 50px);
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .faq {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .faq-shell {
    display: block;
  }

  .faq-masthead {
    padding-bottom: var(--spacing-69, 69px);
  }

  .faq-heading {
    max-width: 46ch;
  }

  .faq-item:first-child {
    border-top: 0.5px solid rgba(0, 0, 0, 0.06);
  }

  .faq-trigger {
    gap: var(--spacing-35, 35px);
    padding: var(--spacing-30, 30px) 0;
  }

  .faq-panel-inner p {
    padding-right: calc(40px + var(--spacing-35, 35px));
    padding-bottom: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .faq {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .faq-masthead {
    padding-bottom: var(--spacing-50, 50px);
  }

  .faq-heading {
    font-size: 22px;
    max-width: none;
  }

  .faq-trigger {
    gap: var(--spacing-22, 22px);
    padding: var(--spacing-30, 30px) 0;
  }

  .faq-q-text {
    font-size: 18px;
  }

  .faq-icon {
    width: 34px;
    height: 34px;
  }

  .faq-panel-inner p {
    padding-right: 0;
    padding-bottom: var(--spacing-30, 30px);
    max-width: none;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .faq-panel,
  .faq-q-text,
  .faq-icon,
  .faq-icon::before,
  .faq-icon::after {
    transition: none;
  }
}
/* ============================================================
   Closing actions
   ============================================================ */

.act {
  background: var(--color-signal-blue, #0071e3);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-94, 94px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* ─────────────────────────────────────────────
   Primary
   ───────────────────────────────────────────── */

.act-primary {
  padding-bottom: var(--spacing-94, 94px);
}

.act-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* Full white throughout */
.act-lede {
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 42ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.act-primary .act-link {
  margin-top: var(--spacing-50, 50px);
}

/* ─────────────────────────────────────────────
   Secondary
   ───────────────────────────────────────────── */

.act-secondary {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr) auto;
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-top: var(--spacing-50, 50px);
  border-top: 0.5px solid rgba(255, 255, 255, 0.24);
}

.act-secondary .act-link {
  margin-top: -7px;
}

.act-sub-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.act-sub-desc {
  margin: 0;
  max-width: 52ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* ─────────────────────────────────────────────
   Link
   ───────────────────────────────────────────── */

.act-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
  color: var(--color-pure-white, #fdfdfd);
}

.act-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(255, 255, 255, 0.4);
  border-radius: 0;
  background: transparent;
  color: var(--color-pure-white, #fdfdfd);
  transition: border-color 260ms ease;
}

.act-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.act-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.act-link:hover .act-arrow,
.act-link:focus-visible .act-arrow {
  border-color: var(--color-pure-white, #fdfdfd);
}

.act-link:hover .act-arrow svg,
.act-link:focus-visible .act-arrow svg {
  transform: translateX(3px);
}

.act-link:hover .act-link-text,
.act-link:focus-visible .act-link-text {
  border-bottom-color: var(--color-pure-white, #fdfdfd);
}

.act-link:focus-visible {
  outline: 1px solid var(--color-pure-white, #fdfdfd);
  outline-offset: 4px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .act {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .act-primary {
    padding-bottom: var(--spacing-69, 69px);
  }

  .act-secondary {
    grid-template-columns: 200px minmax(0, 1fr);
    column-gap: var(--spacing-50, 50px);
    row-gap: var(--spacing-30, 30px);
  }

  .act-secondary .act-link {
    grid-column: 2;
    margin-top: 0;
  }

  .act-primary .act-link {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .act {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-50, 50px);
  }

  .act-lede {
    max-width: none;
  }

  .act-primary {
    padding-bottom: var(--spacing-50, 50px);
  }

  .act-secondary {
    display: block;
    padding-top: var(--spacing-35, 35px);
  }

  .act-sub-desc {
    margin-top: var(--spacing-10, 10px);
    max-width: none;
  }

  .act-secondary .act-link {
    margin-top: var(--spacing-30, 30px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .act-arrow,
  .act-arrow svg,
  .act-link-text {
    transition: none;
  }
  .act-arrow svg {
    transform: none;
  }
}
/* ============================================================
   Image band
   ============================================================ */

.hib {
  --hib-scrim: 15, 16, 18;        /* Off-black, as rgb parts */

  position: relative;
  background: var(--color-off-black, #0f1012);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* ─────────────────────────────────────────────
   Image
   ───────────────────────────────────────────── */

.hib-frame {
  position: relative;
  margin: 0;
  width: 100%;
  height: min(44vw, 640px);
  overflow: hidden;
}

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

.hib-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      to right,
      rgba(var(--hib-scrim), 0.72) 0%,
      rgba(var(--hib-scrim), 0.46) 38%,
      rgba(var(--hib-scrim), 0.10) 72%,
      rgba(var(--hib-scrim), 0.04) 100%
    );
}

/* ─────────────────────────────────────────────
   Caption
   ───────────────────────────────────────────── */

.hib-caption-layer {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
}


.hib-caption {
  max-width: 44ch;
  pointer-events: auto;
}

.hib-line {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* Full measure */
.hib-rule {
  display: block;
  width: 100%;
  height: 0.5px;
  margin: var(--spacing-35, 35px) 0;
  background: rgba(253, 253, 253, 0.4);
}

/* ─────────────────────────────────────────────
   Other services
   ───────────────────────────────────────────── */

.hib-explore {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-11, 11px);
}

.hib-explore-label {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.8);
}

.hib-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6, 6px);
}

/* Squared rather than pilled */
.hib-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 var(--spacing-11, 11px);
  border: 0.5px solid var(--color-pure-white, #fdfdfd);
  border-radius: 0;
  background: transparent;
  color: var(--color-pure-white, #fdfdfd);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  text-decoration: none;
  transition: background-color 260ms ease;
}

.hib-chip:hover,
.hib-chip:focus-visible {
  background-color: rgba(253, 253, 253, 0.14);
}

.hib-chip:focus-visible {
  outline: 1px solid var(--color-pure-white, #fdfdfd);
  outline-offset: 3px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .hib-frame {
    height: 520px;
  }

  .hib-caption {
    max-width: 38ch;
  }

  .hib-line {
    font-size: 22px;
  }

  .hib-rule {
    margin: var(--spacing-30, 30px) 0;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .hib-frame {
    height: 440px;
  }

  .hib-veil {
    background-image:
      linear-gradient(
        to top,
        rgba(var(--hib-scrim), 0.78) 0%,
        rgba(var(--hib-scrim), 0.5) 30%,
        rgba(var(--hib-scrim), 0.16) 58%,
        rgba(var(--hib-scrim), 0) 80%
      );
  }

  .hib-caption-layer {
    top: auto;
    bottom: var(--spacing-35, 35px);
    transform: none;
  }

  .hib-caption {
    max-width: none;
  }

  .hib-line {
    font-size: 18px;
  }

  /* Tighter above than below */
  .hib-rule {
    margin: var(--spacing-11, 11px) 0 var(--spacing-22, 22px);
  }

  .hib-chip {
    height: 30px;
    font-size: 13px;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .hib-chip {
    transition: none;
  }
}
/* ============================================================
   Hero
   ============================================================ */

.hro {
  background: var(--color-pure-white, #fdfdfd);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-94, 94px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}



/* ─────────────────────────────────────────────
   Split
   ───────────────────────────────────────────── */

.hro-split {
  display: grid;	
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-bottom: var(--spacing-113, 113px);
}

/* The one deliberate break from the 27px cap */
.hro-heading {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 300;   /* Matches the home hero */
  color: var(--color-off-black, #0f1012);
}

.hro-heading-accent {
  color: var(--color-signal-blue, #0071e3);
}

.hro-heading-rest {
  display: block;
}

.hro-heading-accent {
  color: var(--color-signal-blue, #0071e3);
  white-space: nowrap;
}

.hro-aside {
  padding-top: var(--spacing-11, 11px);
}

.hro-lede {
  margin: 0;
  max-width: 44ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

.hro-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  margin-top: var(--spacing-50, 50px);
  text-decoration: none;
  color: var(--color-signal-blue, #0071e3);
}

.hro-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(0, 0, 0, 0.14);
  border-radius: 0;
  background: transparent;
  color: var(--color-signal-blue, #0071e3);
  transition: border-color 260ms ease;
}

.hro-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hro-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-signal-blue, #0071e3);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.hro-link:hover .hro-arrow,
.hro-link:focus-visible .hro-arrow {
  border-color: var(--color-signal-blue, #0071e3);
}

.hro-link:hover .hro-arrow svg,
.hro-link:focus-visible .hro-arrow svg {
  transform: translateX(3px);
}

.hro-link:hover .hro-link-text,
.hro-link:focus-visible .hro-link-text {
  border-bottom-color: var(--color-signal-blue, #0071e3);
}

.hro-link:focus-visible {
  outline: 1px solid var(--color-signal-blue, #0071e3);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Proof
   ───────────────────────────────────────────── */

.hro-proof {
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid rgba(0, 0, 0, 0.06);
}

.hro-proof-label {
  margin: 0 0 var(--spacing-35, 35px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

/* Track */
.hro-logos-track {
  position: relative;
}

.hro-logos-track::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    to right,
    rgba(253, 253, 253, 0) 0%,
    var(--color-pure-white, #fdfdfd) 78%
  );
  transition: opacity 260ms ease;
}

.hro-logos {
  /* Row height every logo is measured against */
  --hro-row: 60px;

  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  column-gap: var(--spacing-50, 50px);
}

.hro-logo {
  --hro-logo-h: 100%;

  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: var(--hro-row);
}

.hro-logo img {
  display: block;
  width: auto;
  height: var(--h, 22px);
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.7;
  transition: opacity 260ms ease, filter 260ms ease;
}

.hro-logo img:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* ── Per-logo optical sizing ── */


/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .hro {
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .hro-split {
    display: block;
    padding-bottom: var(--spacing-69, 69px);
  }

  .hro-heading {
    font-size: 40px;
  }

  .hro-aside {
    padding-top: var(--spacing-35, 35px);
  }

  .hro-lede {
    max-width: 56ch;
  }

  .hro-link {
    margin-top: var(--spacing-35, 35px);
  }

  .hro-logos-track {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .hro-logos-track::-webkit-scrollbar {
    display: none;
  }

  .hro-logos-track::after {
    opacity: 1;
    position: sticky;
    float: right;
    margin-left: -56px;
  }

  /* Max-content is what stops the wrap */
  .hro-logos {
    display: flex;
    width: max-content;
    column-gap: var(--spacing-50, 50px);
    padding-right: var(--spacing-50, 50px);
  }

  .hro-logo {
    flex: none;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .hro {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 100px));
    padding-bottom: var(--spacing-50, 50px);
  }

  .hro-heading {
    font-size: 30px;
  }

  .hro-split {
    padding-bottom: var(--spacing-50, 50px);
  }

  .hro-lede {
    font-size: 16px;
    max-width: none;
  }

  .hro-proof-label {
    margin-bottom: var(--spacing-30, 30px);
  }

  .hro-logo img { height: calc(var(--h, 22px) * 0.85); }

  .hro-logos {
    --hro-row: 48px;

    column-gap: var(--spacing-35, 35px);
    padding-right: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .hro-arrow,
  .hro-arrow svg,
  .hro-link-text,
  .hro-logo img,
  .hro-logos-track::after {
    transition: none;
  }
  .hro-arrow svg {
    transform: none;
  }
}
/* ============================================================
   Header
   ============================================================ */

:root {
  --hdr-clearance: 110px;
}

@media only screen and (max-width: 833px) {
  :root {
    --hdr-clearance: 100px;
  }
}

/* ─────────────────────────────────────────────
   Root
   ───────────────────────────────────────────── */

.hdr {
  --hdr-glass: rgba(120, 120, 120, 0.1);
  --hdr-ink: var(--color-off-black, #0f1012);
  --hdr-rule: rgba(15, 16, 18, 0.2);

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101;
  font-family: 'Inter Tight', Inter, sans-serif;
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

.hdr.is-invert {
  --hdr-glass: rgba(255, 255, 255, 0.1);
  --hdr-ink: var(--color-pure-white, #fdfdfd);
  --hdr-rule: rgba(255, 255, 255, 0.2);
}


.hdr-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ─────────────────────────────────────────────
   Scrim
   ───────────────────────────────────────────── */

.hdr-scrim {
  position: fixed;
  inset: 0;
  height: 100vh;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: opacity 400ms, visibility 400ms, background-color 300ms;
}

.hdr-is-open .hdr-scrim {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.hdr-invert .hdr-scrim {
  background-color: rgba(0, 0, 0, 0.1);
}

/* ─────────────────────────────────────────────
   Shell
   ───────────────────────────────────────────── */

.hdr-shell {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: visible;
  background: none;
  color: var(--hdr-ink);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: color 200ms;
}

/* ─────────────────────────────────────────────
   Bar
   ───────────────────────────────────────────── */

.hdr-bar {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  column-gap: 30px;
  height: 45px;
  margin-top: 34px;
  padding: 0;
  pointer-events: none;
}

.hdr-logo,
.hdr-center,
.hdr-toggle {
  pointer-events: auto;
}

.hdr-logo {
  grid-column: 1;
  justify-self: start;
  align-self: center;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: opacity 200ms, visibility 200ms;
}

.hdr-logo-img {
  display: block;
  height: 24px;
  width: auto;
  transition: filter 200ms;
}

/* Source files are monochrome #0f1012 */
.hdr.is-invert .hdr-logo-img,
.hdr.is-invert .hdr-mhead-mark img {
  filter: brightness(0) invert(1);
}

/* Sized by the nav inside it */
.hdr-center {
  grid-column: 2;
  position: relative;
}

.hdr-nav {
  display: flex;
  align-items: center;
  height: 45px;
  column-gap: 50px;
  padding: 0 30px;
  opacity: 1;
  visibility: visible;
  transition: opacity 250ms, visibility 250ms;
}

/* The nav gives way */
.hdr.is-open .hdr-nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.hdr-item {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: inherit;
  text-decoration: none;
  opacity: 1;
  white-space: nowrap;
  transition: opacity 300ms;
}

/* Hovering one link fades the others */
@media (hover: hover) and (pointer: fine) {
  .hdr-nav:hover .hdr-item { opacity: 0.3; }
  .hdr-nav .hdr-item:hover { opacity: 1; }
}

.hdr-item[aria-expanded="true"] { opacity: 1; }

.hdr-item:focus-visible,
.hdr-logo:focus-visible,
.hdr-toggle:focus-visible,
.hdr-close:focus-visible,
.hdr-row:focus-visible,
.hdr-mlink:focus-visible,
.hdr-msublink:focus-visible,
.hdr-mlegal a:focus-visible,
.hdr-mhead-mark:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 3px;
}

/* ─────────────────────────────────────────────
   Toggle
   ───────────────────────────────────────────── */

.hdr-toggle {
  grid-column: 3;
  justify-self: end;
  align-self: center;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 8px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  color: var(--hdr-ink);
}

.hdr-toggle span[aria-hidden] {
  display: block;
  position: relative;
  top: 0;
  width: 19px;
  height: 1px;
  background-color: currentColor;
  transition: transform 300ms, top 300ms;
}

.hdr-toggle[aria-expanded="true"] span[aria-hidden]:first-child {
  top: 4.5px;
  transform: rotate(45deg);
}

.hdr-toggle[aria-expanded="true"] span[aria-hidden]:nth-child(2) {
  top: -4.5px;
  transform: rotate(-45deg);
}

/* ─────────────────────────────────────────────
   Panels
   ───────────────────────────────────────────── */

.hdr-panels {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.hdr-panels-inner {
  overflow: hidden;
  min-height: 0;
}

.hdr.is-open .hdr-panels {
  grid-template-rows: 1fr;
}

.hdr-panel {
  display: none;
  width: 100%;
  padding: 0 20px 30px;
  background-color: var(--hdr-glass);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background-color 200ms;
}

.hdr-panel.is-active {
  display: block;
}

.hdr-panel-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 0.5px solid var(--hdr-rule);
}

.hdr-panel-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 350;
  color: inherit;
}

.hdr-close {
  position: absolute;
  right: 0;
  top: 50%;
  width: 16px;
  height: 16px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  color: inherit;
  transform: translateY(-50%);
}

.hdr-close span {
  position: absolute;
  inset: 0;
}

.hdr-close span::before,
.hdr-close span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 1px;
  background: currentColor;
}

.hdr-close span::before { transform: translate(-50%, -50%) rotate(45deg); }
.hdr-close span::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.hdr-panel-label {
  margin: 8px 0 0;
  text-align: center;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 350;
  color: currentColor;
  opacity: 0.5;
}

.hdr-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}

.hdr-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 29px;
  margin: 0;
  padding: 0 7px;
  border: 0.5px solid transparent;
  border-radius: 0;
  text-decoration: none;
  color: inherit;
  background-color: var(--hdr-glass);
  transition: border-color 200ms, opacity 200ms;
}

@media (hover: hover) and (pointer: fine) {
  .hdr-list:hover .hdr-row { opacity: 0.4; }
  .hdr-list .hdr-row:hover { opacity: 1; }
}

.hdr-row:hover,
.hdr-row:focus-visible {
  border-color: var(--color-signal-blue, #0071e3);
}

.hdr.is-invert .hdr-row:hover,
.hdr.is-invert .hdr-row:focus-visible {
  border-color: #2997ff;
}

.hdr-row-dot {
  flex: none;
  width: 6px;
  height: 6px;
  margin-right: 9px;
  border: 0.5px solid currentColor;
  border-radius: 0;
}

.hdr-row-text {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
}

.hdr-row-arrow {
  position: absolute;
  right: 7px;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 13px;
  border: 1px solid currentColor;
  border-radius: 0;
  color: currentColor;
  transform: translateY(-50%);
}

.hdr-row-arrow svg {
  width: 9px;
  height: 9px;
  display: block;
}

/* ─────────────────────────────────────────────
   Mobile sheet head
   ───────────────────────────────────────────── */

.hdr-mhead {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: content-box;
  height: 44px;
  padding-bottom: 14px;
  border-bottom: 0.5px solid var(--hdr-rule);
}

.hdr-mhead-mark {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 0;
  text-decoration: none;
}

.hdr-mhead-mark img {
  display: block;
  width: auto;
  height: 22px;
  transition: filter 200ms;
}

.hdr-mhead-title {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: inherit;
}

/* ─────────────────────────────────────────────
   Mobile list
   ───────────────────────────────────────────── */

.hdr-mlist {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  font-feature-settings: normal;  /* Plain letterforms, no stylistic alternates */
}

.hdr-mlist > li {
  border-bottom: 0.5px solid var(--hdr-rule);
}

.hdr-mlink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: -0.005em;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* Services group: same 300ms grid-rows slide as .hdr-panels */
.hdr-mtoggle {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}

.hdr-mchev {
  flex: none;
  width: 7px;
  height: 7px;
  margin-right: 4px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 300ms ease;
}

.hdr-mgroup.is-open .hdr-mchev {
  transform: translateY(2px) rotate(-135deg);
}

.hdr-msub-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.hdr-mgroup.is-open .hdr-msub-wrap {
  grid-template-rows: 1fr;
}

.hdr-msub {
  list-style: none;
  min-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0 0 0 14px;
  display: flex;
  flex-direction: column;
  row-gap: 2px;
  visibility: hidden;             /* Keeps hidden links out of the tab order */
  transition: visibility 0s 300ms;
}

.hdr-mgroup.is-open .hdr-msub {
  visibility: visible;
  transition: visibility 0s;
}

.hdr-msub li:last-child {
  padding-bottom: 14px;
}

.hdr-msublink {
  display: flex;
  flex-direction: column;
  row-gap: 3px;
  padding: 9px 0;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 350;
  color: inherit;
  opacity: 0;
  transform: translateY(-6px);
  text-decoration: none;
  transition: opacity 200ms ease, transform 200ms ease;
}

.hdr-msubdesc {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 350;
  opacity: 0.6;
}

/* Links fade down in sequence on open, all at once on close */
.hdr-mgroup.is-open .hdr-msublink {
  opacity: 0.7;
  transform: none;
  transition: opacity 300ms ease, transform 300ms ease;
}

.hdr-mgroup.is-open li:nth-child(1) .hdr-msublink { transition-delay: 60ms; }
.hdr-mgroup.is-open li:nth-child(2) .hdr-msublink { transition-delay: 110ms; }
.hdr-mgroup.is-open li:nth-child(3) .hdr-msublink { transition-delay: 160ms; }

.hdr-mgroup.is-open .hdr-msublink:hover,
.hdr-mgroup.is-open .hdr-msublink:focus-visible {
  opacity: 1;
}

.hdr-mlegal {
  display: flex;
  color: inherit;                 /* Beat the global p colour on dark pages */
  column-gap: 20px;
  margin: 24px 0 0;
  padding: 0 0 32px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 350;
  font-feature-settings: normal;
}

.hdr-mlegal a {
  color: inherit;
  opacity: 0.55;
  text-decoration: none;
}
/* ============================================================
   Mobile / Tablet
   ============================================================ */

@media only screen and (max-width: 833px) {

  .hdr-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 24px;
    height: 44px;
    margin-top: 24px;
  }

  .hdr.is-open .hdr-logo {
    opacity: 0;
    visibility: hidden;
  }

  .hdr-center {
    position: static;
  }

  .hdr-nav {
    display: none;
  }

  /* Above the sheet, so it stays reachable to close */
  .hdr-toggle {
    display: flex;
    position: relative;
    z-index: 3;
  }

  .hdr-panels {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
  }

  .hdr-panel {
    width: auto;
    padding: 92px 24px 0;
  }

  /* Sheet head starts where the bar sits. Near-solid fill: the sheet
     grows when Services opens and can reach dark sections below the
     hero, where the thin glass turned grey and hid the legal line. */
  .hdr-panel--mobile {
    padding-top: 24px;
    background-color: rgba(240, 240, 241, 0.8);
    backdrop-filter: blur(28px) saturate(160%);
    -webkit-backdrop-filter: blur(28px) saturate(160%);
  }

  .hdr.is-invert .hdr-panel--mobile {
    background-color: rgba(36, 37, 40, 0.8);
  }

  .hdr-panel-head,
  .hdr-panel-label {
    display: none;
  }

  .hdr-list {
    margin-top: 0;
    padding-bottom: 40px;
  }

  .hdr-row {
    height: 39px;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .hdr-scrim,
  .hdr-shell,
  .hdr-panel,
  .hdr-panels,
  .hdr-nav,
  .hdr-logo,
  .hdr-logo-img,
  .hdr-mhead-mark img,
  .hdr-mchev,
  .hdr-msub-wrap,
  .hdr-msublink,
  .hdr-item,
  .hdr-row,
  .hdr-toggle span[aria-hidden] {
    transition: none;
  }
}
/* ============================================================
   Statement
   ============================================================ */

.stm {
  position: relative;
  z-index: 1;               /* Lifts the bleeding art over .kbf */
  overflow: visible;        /* The bleed depends on this */
  background-color: var(--color-off-black, #0f1012);
  padding-top: var(--spacing-144, 144px);
  padding-bottom: var(--spacing-113, 113px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  overflow-x: clip;
}


/* ─────────────────────────────────────────────
   Art
   ───────────────────────────────────────────── */

.stm-art {
  position: absolute;
  top: -160px;
  left: 50%;
  width: min(1500px, 130vw);
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
  opacity: 0.24;
  -webkit-mask-image: radial-gradient(ellipse 62% 58% at 50% 46%, #000 0%, rgba(0,0,0,0.85) 42%, transparent 78%);
          mask-image: radial-gradient(ellipse 62% 58% at 50% 46%, #000 0%, rgba(0, 0, 0, 0.85) 42%, #0000001f 78%);
}

.stm-art img {
  display: block;
  width: 100%;
  height: auto;
  /* The artwork isn't centred inside its own file */
  transform: translate(6%, 2%);
}

.stm-pool {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(880px, 96vw);
  height: 560px;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    rgba(15, 16, 18, 0.94) 0%,
    rgba(15, 16, 18, 0.78) 40%,
    rgba(15, 16, 18, 0) 76%
  );
}

/* ─────────────────────────────────────────────
   Content
   ───────────────────────────────────────────── */

.stm-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* 1.16 rather than 1.05 */
.stm-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.16;
  font-weight: 300;
  color: var(--color-pure-white, #fdfdfd);
}

.stm-heading-accent,
.stm-heading-rest {
  display: block;
}

.stm-heading-accent {
  color: #2997ff;
}

.stm-desc {
  margin: var(--spacing-35, 35px) 0 0;
  max-width: 46ch;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.72);
}

.stm-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  margin-top: var(--spacing-50, 50px);
  text-decoration: none;
  color: #2997ff;
}

.stm-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(255, 255, 255, 0.24);
  border-radius: 0;
  background: transparent;
  color: #2997ff;
  transition: border-color 260ms ease;
}

.stm-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.stm-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.stm-link:hover .stm-arrow,
.stm-link:focus-visible .stm-arrow {
  border-color: #2997ff;
}

.stm-link:hover .stm-arrow svg,
.stm-link:focus-visible .stm-arrow svg {
  transform: translateX(3px);
}

.stm-link:hover .stm-link-text,
.stm-link:focus-visible .stm-link-text {
  border-bottom-color: #2997ff;
}

.stm-link:focus-visible {
  outline: 1px solid #2997ff;
  outline-offset: 4px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .stm {
    padding-top: var(--spacing-113, 113px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .stm-art {
    top: -110px;
    width: min(880px, 112vw);
  }

  .stm-pool {
    width: min(640px, 96vw);
    height: 420px;
  }

  .stm-heading {
    font-size: 44px;
  }

  .stm-desc {
    margin-top: var(--spacing-30, 30px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .stm {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  /* Hands sit above and behind the type */
  .stm-art {
    top: -40px;
    width: 128%;
    opacity: 0.25;
    -webkit-mask-image: radial-gradient(ellipse 88% 52% at 50% 40%, #000 0%, rgba(0,0,0,0.9) 52%, transparent 84%);
            mask-image: radial-gradient(ellipse 88% 52% at 50% 40%, #000 0%, rgba(0,0,0,0.9) 52%, transparent 84%);
  }

  /* Lighter than before */
  .stm-pool {
    top: 46%;
    left: 50%;
    width: 88%;
    height: 300px;
    background: radial-gradient(
      ellipse at center,
      rgba(15, 16, 18, 0.68) 0%,
      rgba(15, 16, 18, 0.4) 48%,
      rgba(15, 16, 18, 0) 82%
    );
  }

  .stm-heading {
    font-size: 32px;
  }

  .stm-desc {
    margin-top: var(--spacing-22, 22px);
    font-size: 16px;
    max-width: none;
  }

  .stm-link {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .stm-arrow,
  .stm-arrow svg,
  .stm-link-text {
    transition: none;
  }
  .stm-arrow svg {
    transform: none;
  }
}


html,
body {
  overflow-x: clip;
}
/* ============================================================
   Hero
   ============================================================ */

.hro {
  --hro-surface:  var(--color-pure-white, #fdfdfd);
  --hro-ink:      var(--color-off-black, #0f1012);
  --hro-muted:    var(--color-steel-gray, #5e5e5e);
  --hro-quiet:    var(--color-ash-gray, #8f8f8f);
  --hro-accent:   var(--color-signal-blue, #0071e3);
  --hro-hairline: rgba(0, 0, 0, 0.06);
  --hro-edge:     rgba(0, 0, 0, 0.14);
  --hro-fade:     rgba(253, 253, 253, 0);
  --hro-logo-filter: brightness(0);
  --hro-logo-rest: 0.45;

  background: var(--hro-surface);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-94, 94px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* Dark surface, green accent */
.hro--dark {
  --hro-surface:  var(--color-off-black, #0f1012);
  --hro-ink:      var(--color-pure-white, #fdfdfd);
  --hro-muted:    rgba(253, 253, 253, 0.72);
  --hro-quiet:    var(--color-ash-gray, #8f8f8f);
  --hro-accent:   var(--color-signal-teal, #47A8A9);
  --hro-hairline: rgba(255, 255, 255, 0.1);
  --hro-edge:     rgba(255, 255, 255, 0.24);
  --hro-fade:     rgba(15, 16, 18, 0);
  --hro-logo-filter: grayscale(1) brightness(0) invert(1);
  --hro-logo-rest: 0.5;
}

/* ─────────────────────────────────────────────
   Split
   ───────────────────────────────────────────── */

.hro-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-bottom: var(--spacing-113, 113px);
}

/* The one deliberate break from the 27px cap */
.hro-heading {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 300;   /* Matches the home hero */
  color: var(--hro-ink);
}

.hro-heading-accent,
.hro-heading-rest {
  display: block;
}

.hro-heading-accent {
  color: var(--hro-accent);
  white-space: nowrap;
}

.hro-aside {
  padding-top: var(--spacing-11, 11px);
}

.hro-lede {
  margin: 0;
  max-width: 44ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--hro-muted);
}

.hro-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  margin-top: var(--spacing-50, 50px);
  text-decoration: none;
  color: var(--hro-accent);
}

.hro-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--hro-edge);
  border-radius: 0;
  background: transparent;
  color: var(--hro-accent);
  transition: border-color 260ms ease;
}

.hro-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hro-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--hro-accent);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.hro-link:hover .hro-arrow,
.hro-link:focus-visible .hro-arrow {
  border-color: var(--hro-accent);
}

.hro-link:hover .hro-arrow svg,
.hro-link:focus-visible .hro-arrow svg {
  transform: translateX(3px);
}

.hro-link:hover .hro-link-text,
.hro-link:focus-visible .hro-link-text {
  border-bottom-color: var(--hro-accent);
}

.hro-link:focus-visible {
  outline: 1px solid var(--hro-accent);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Proof
   ───────────────────────────────────────────── */

.hro-proof {
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid var(--hro-hairline);
}

.hro-proof-label {
  margin: 0 0 var(--spacing-35, 35px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--hro-quiet);
}

/* Track */
.hro-logos-track {
  position: relative;
}

.hro-logos-track::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    to right,
    var(--hro-fade) 0%,
    var(--hro-surface) 78%
  );
  transition: opacity 260ms ease;
}

.hro-logos {
  /* Row height every logo is measured against */
  --hro-row: 60px;

  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  column-gap: var(--spacing-50, 50px);
}

.hro-logo {
  --hro-logo-h: 100%;

  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: var(--hro-row);
}

.hro-logo img {
  display: block;
  width: auto;
  height: var(--h, 22px);
  max-width: 100%;
  object-fit: contain;
  filter: var(--hro-logo-filter);
  opacity: var(--hro-logo-rest);
  transition: opacity 260ms ease, filter 260ms ease;
}

.hro-logo img:hover {
  filter: var(--hro-logo-filter);
  opacity: 0.85;
}

.hro--dark .hro-logo img:hover {
  filter: var(--hro-logo-filter);
  opacity: 0.9;
}

/* ── Per-logo optical sizing ── */


/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .hro {
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .hro-split {
    display: block;
    padding-bottom: var(--spacing-69, 69px);
  }

  .hro-heading {
    font-size: 40px;
  }

  .hro-aside {
    padding-top: var(--spacing-35, 35px);
  }

  .hro-lede {
    max-width: 56ch;
  }

  .hro-link {
    margin-top: var(--spacing-35, 35px);
  }

  .hro-logos-track {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .hro-logos-track::-webkit-scrollbar {
    display: none;
  }

  .hro-logos-track::after {
    opacity: 1;
    position: sticky;
    float: right;
    margin-left: -56px;
  }

  /* Max-content is what stops the wrap */
  .hro-logos {
    display: flex;
    width: max-content;
    column-gap: var(--spacing-50, 50px);
    padding-right: var(--spacing-50, 50px);
  }

  .hro-logo {
    flex: none;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .hro {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 100px));
    padding-bottom: var(--spacing-50, 50px);
  }

  .hro-heading {
    font-size: 30px;
  }

  .hro-split {
    padding-bottom: var(--spacing-50, 50px);
  }

  .hro-lede {
    font-size: 16px;
    max-width: none;
  }

  .hro-proof-label {
    margin-bottom: var(--spacing-30, 30px);
  }

  .hro-logo img { height: calc(var(--h, 22px) * 0.85); }

  .hro-logos {
    --hro-row: 48px;

    column-gap: var(--spacing-35, 35px);
    padding-right: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .hro-arrow,
  .hro-arrow svg,
  .hro-link-text,
  .hro-logo img,
  .hro-logos-track::after {
    transition: none;
  }
  .hro-arrow svg {
    transform: none;
  }
}

/* ============================================================
   Image band
   ============================================================ */

.hib {
  --hib-scrim: 15, 16, 18;                       /* Off-black, as rgb parts */
  --hib-chip-ink: var(--color-pure-white, #fdfdfd);
  --hib-chip-wash: rgba(253, 253, 253, 0.14);

  position: relative;
  background: var(--color-off-black, #0f1012);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* ============================================================
   Image band
   ============================================================ */

.hib {
  --hib-scrim: 15, 16, 18;                       /* Off-black, as rgb parts */
  --hib-chip-ink: var(--color-pure-white, #fdfdfd);
  --hib-chip-wash: rgba(253, 253, 253, 0.14);

  position: relative;
  background: var(--color-off-black, #0f1012);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* ─────────────────────────────────────────────
   Image
   ───────────────────────────────────────────── */

.hib-frame {
  position: relative;
  margin: 0;
  width: 100%;
  height: min(44vw, 640px);
  overflow: hidden;
}

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

.hib-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      to right,
      rgba(var(--hib-scrim), 0.72) 0%,
      rgba(var(--hib-scrim), 0.46) 38%,
      rgba(var(--hib-scrim), 0.10) 72%,
      rgba(var(--hib-scrim), 0.04) 100%
    );
}

/* ─────────────────────────────────────────────
   Caption
   ───────────────────────────────────────────── */

.hib-caption-layer {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
}


.hib-caption {
  max-width: 44ch;
  pointer-events: auto;
}

.hib-line {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* Full measure */
.hib-rule {
  display: block;
  width: 100%;
  height: 0.5px;
  margin: var(--spacing-35, 35px) 0;
  background: rgba(253, 253, 253, 0.4);
}

/* ─────────────────────────────────────────────
   Other services
   ───────────────────────────────────────────── */

.hib-explore {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-11, 11px);
}

.hib-explore-label {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.8);
}

.hib-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6, 6px);
}

/* Squared rather than pilled */
.hib-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 var(--spacing-11, 11px);
  border: 0.5px solid var(--hib-chip-ink);
  border-radius: 0;
  background: transparent;
  color: var(--hib-chip-ink);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  text-decoration: none;
  transition: background-color 260ms ease;
}

.hib-chip:hover,
.hib-chip:focus-visible {
  background-color: var(--hib-chip-wash);
}

.hib-chip:focus-visible {
  outline: 1px solid var(--hib-chip-ink);
  outline-offset: 3px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .hib-frame {
    height: 520px;
  }

  .hib-caption {
    max-width: 38ch;
  }

  .hib-line {
    font-size: 22px;
  }

  .hib-rule {
    margin: var(--spacing-30, 30px) 0;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .hib-frame {
    height: 440px;
  }

  .hib-veil {
    background-image:
      linear-gradient(
        to top,
        rgba(var(--hib-scrim), 0.78) 0%,
        rgba(var(--hib-scrim), 0.5) 30%,
        rgba(var(--hib-scrim), 0.16) 58%,
        rgba(var(--hib-scrim), 0) 80%
      );
  }

  .hib-caption-layer {
    top: auto;
    bottom: var(--spacing-35, 35px);
    transform: none;
  }

  .hib-caption {
    max-width: none;
  }

  .hib-line {
    font-size: 18px;
  }

  /* Tighter above than below */
  .hib-rule {
    margin: var(--spacing-11, 11px) 0 var(--spacing-22, 22px);
  }

  .hib-chip {
    height: 30px;
    font-size: 13px;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .hib-chip {
    transition: none;
  }
}

/* ============================================================
   Digital & AI Services
   ============================================================ */

.digital {
  --digital-accent:   var(--color-signal-teal, #47A8A9);
  --digital-hairline: rgba(255, 255, 255, 0.08);
  --digital-edge:     rgba(255, 255, 255, 0.2);
  --digital-chip:     rgba(255, 255, 255, 0.06);
  --digital-radius:   14px;
  --digital-gutter:   24px;   /* Must match .main-container's inline padding */

  background: var(--color-off-black, #0f1012);
  padding-top: var(--spacing-170, 170px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


.digital-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
}

.digital-rail {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
}

.digital-ledger {
  grid-column: 2;
  grid-row: 2;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.digital-masthead {
  grid-column: 2;
  grid-row: 1;
  padding-bottom: var(--spacing-94, 94px);
}

.digital-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.digital-heading-accent,
.digital-heading-rest {
  display: block;
}

.digital-heading-accent {
  color: var(--digital-accent);
}

/* ─────────────────────────────────────────────
   Rail
   ───────────────────────────────────────────── */

.digital-rail-inner {
  position: sticky;
  top: var(--spacing-69, 69px);
}

.digital-group {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.digital-nav-list {
  list-style: none;
  margin: 0 0 var(--spacing-35, 35px);
  padding: 0;
}

.digital-nav-list:last-child {
  margin-bottom: 0;
}

.digital-nav-list li + li {
  margin-top: var(--spacing-6, 6px);
}

.digital-marker,
.digital-marker-label {
  color: var(--color-pure-white, #fdfdfd);
}

.digital-marker {
  display: flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
}

.digital-marker-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  transition: color 260ms ease;
}

.digital-marker-box {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--digital-hairline);
  border-radius: var(--digital-radius);
  background: var(--digital-chip);
  color: var(--color-pure-white, #fdfdfd);
  transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
}

.digital-marker-box svg {
  width: 16px;
  height: 16px;
  display: block;
}

.digital-marker:hover .digital-marker-box,
.digital-marker.is-active .digital-marker-box {
  background: #1d1e20;
  border-color: var(--digital-accent);
  color: var(--color-pure-white, #fdfdfd);
}

.digital-marker:hover .digital-marker-label,
.digital-marker:focus-visible .digital-marker-label {
  color: var(--digital-accent);
}

.digital-marker.is-active .digital-marker-box {
  background: var(--digital-accent);
  border-color: var(--digital-accent);
  color: #000000;
}

.digital-marker.is-active .digital-marker-label {
  color: var(--digital-accent);
}

.digital-marker:focus-visible {
  outline: 1px solid var(--digital-accent);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Ledger
   ───────────────────────────────────────────── */

.digital-set-label {
  display: none;
}

.digital-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  grid-template-rows: auto auto 1fr;
  column-gap: var(--spacing-50, 50px);
  padding-top: var(--spacing-94, 94px);
  padding-bottom: var(--spacing-94, 94px);
  border-top: 0.5px solid var(--digital-hairline);
  scroll-margin-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

/* Closes the ledger, now that nothing follows it */
.digital-set:last-of-type .digital-block:last-of-type {
  border-bottom: 0.5px solid var(--digital-hairline);
}

.digital-panel,
.digital-panel-inner {
  display: contents;
}

.digital-name {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.digital-summary {
  grid-column: 1;
  grid-row: 2;
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 30ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.66);
}

.digital-block-body {
  grid-column: 2;
  grid-row: 1 / -1;
}

/* Trigger */
.digital-trigger {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: default;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.digital-glyph,
.digital-sign {
  display: none;
}

.digital-index {
  display: block;
  margin-bottom: var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.digital-name-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
  transition: color 260ms ease;
}

@media (min-width: 1024px) {
  .digital-block.is-active .digital-name-text {
    color: var(--digital-accent);
  }
}

.digital-spec + .digital-spec {
  margin-top: var(--spacing-50, 50px);
}

.digital-spec-label {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.digital-spec-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.digital-spec-list li {
  position: relative;
  padding-left: var(--spacing-22, 22px);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.66);
}

.digital-spec-list li + li {
  margin-top: var(--spacing-10, 10px);
}

/* Hollow square bullet */
.digital-spec-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border: 0.5px solid var(--digital-accent);
  border-radius: 0;
}

/* ============================================================
   Tablet & Mobile
   ============================================================ */

@media (max-width: 1023px) {

  .digital {
    padding-top: var(--spacing-130, 130px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .digital-shell {
    display: block;
  }
  .digital-rail-inner {
    position: static;
  }
  .digital-nav {
    display: none;
  }

  .digital-masthead {
    padding-bottom: var(--spacing-69, 69px);
    text-align: center;
  }

  .digital-heading {
    font-size: 44px;
  }

  /* Tier split moves into the flow */
  .digital-set-label {
    display: block;
    margin: 0;
    padding: var(--spacing-69, 69px) 0 var(--spacing-30, 30px);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 350;
    color: var(--color-ash-gray, #8f8f8f);
  }

  .digital-set:first-of-type .digital-set-label {
    padding-top: 0;
  }

  /* Negative margins mirror the container's padding */
  .digital-block {
    display: block;
    padding: 0;
    margin-left: calc(var(--digital-gutter) * -1);
    margin-right: calc(var(--digital-gutter) * -1);
  }

  .digital-trigger,
  .digital-summary,
  .digital-block-body {
    padding-left: var(--digital-gutter);
    padding-right: var(--digital-gutter);
  }

  /* ── Tab row ── */

  .digital-trigger {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-11, 11px);
    padding-top: var(--spacing-11, 11px);
    padding-bottom: var(--spacing-11, 11px);
    cursor: pointer;
    transition: background-color 260ms ease;
  }

  .digital-index {
    display: none;
  }

  .digital-glyph {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0.5px solid var(--digital-hairline);
    border-radius: var(--digital-radius);
    background: var(--digital-chip);
    color: var(--color-pure-white, #fdfdfd);
    transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
  }

  .digital-glyph svg {
    width: 16px;
    height: 16px;
    display: block;
  }

  .digital-name-text {
    flex: 1;
    text-align: center;
    font-size: 18px;
  }

  /* +/− sign */
  .digital-sign {
    position: relative;
    flex: none;
    display: block;
    width: 20px;
    height: 20px;
  }

  .digital-sign::before,
  .digital-sign::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--color-pure-white, #fdfdfd);
    transition: transform 260ms ease, background-color 260ms ease;
  }

  .digital-sign::before {
    width: 13px;
    height: 1px;
    transform: translate(-50%, -50%);
  }

  .digital-sign::after {
    width: 1px;
    height: 13px;
    transform: translate(-50%, -50%);
  }

  /* ── Open row */

  .digital-block.is-open .digital-trigger {
    background-color: var(--digital-accent);
    border-radius: 0;
  }

  .digital-block.is-open .digital-name-text {
    color: var(--color-off-black, #0f1012);
  }

  .digital-block.is-open .digital-glyph {
    background: rgb(15 16 18);
    border-color: var(--digital-hairline);
    color: var(--color-pure-white, #fdfdfd);
  }

  .digital-block.is-open .digital-sign::before,
  .digital-block.is-open .digital-sign::after {
    background: var(--color-off-black, #0f1012);
  }

  .digital-block.is-open .digital-sign::after {
    transform: translate(-50%, -50%) scaleY(0);
  }

  .digital-trigger:focus-visible {
    outline: 1px solid var(--digital-accent);
    outline-offset: -3px;
  }

  /* ── Collapsible panel ── */

  .digital-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 300ms ease;
  }

  .digital-panel-inner {
    display: block;
    overflow: hidden;
    min-height: 0;
  }

  .digital-block.is-open .digital-panel {
    grid-template-rows: 1fr;
  }

  .digital-summary {
    max-width: none;
    margin: 0;
    padding-top: var(--spacing-22, 22px);
  }

  .digital-block-body {
    padding-top: var(--spacing-30, 30px);
    padding-bottom: var(--spacing-35, 35px);
  }

  .digital-spec + .digital-spec {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .digital {
    --digital-gutter: 20px;

    padding-top: var(--spacing-110, 110px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .digital-masthead {
    padding-bottom: var(--spacing-80, 80px);
  }

  .digital-heading {
    font-size: 32px;
  }

  .digital-set-label {
    padding-top: var(--spacing-50, 50px);
  }

  .digital-trigger {
    gap: var(--spacing-10, 10px);
    padding-top: var(--spacing-10, 10px);
    padding-bottom: var(--spacing-10, 10px);
  }

  .digital-glyph {
    width: 34px;
    height: 34px;
  }

  .digital-name-text {
    font-size: 16px;
  }

  .digital-block-body {
    padding-bottom: var(--spacing-30, 30px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .digital-marker-box,
  .digital-marker-label,
  .digital-name-text,
  .digital-trigger,
  .digital-glyph,
  .digital-sign::before,
  .digital-sign::after,
  .digital-panel {
    transition: none;
  }
}
/* ============================================================
   STD
   ============================================================ */
.std {
  --std-ground:     var(--color-off-black, #0f1012);
  --std-accent:     #47a8a9;
  --std-hairline:   rgba(255, 255, 255, 0.08);
  --std-rail-w:     300px;
  --std-rail-gap:   var(--spacing-94, 94px);
  --std-label-w:    calc(var(--std-rail-w) + var(--std-rail-gap));
  /* Per-artifact ratios */
  --std-ratio:      1427 / 640;

  background: var(--std-ground);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* ---------- Masthead ---------- */
.std-masthead {
  margin-inline-start: var(--std-label-w);
  padding-bottom: var(--spacing-94, 94px);
}

.std-masthead-line {
  margin: 0;
  font-size: var(--text-body, 16px);
  font-weight: 350;
  line-height: 1.2;
  color: var(--color-pure-white, #fdfdfd);
}

.std-masthead-line--accent { color: var(--std-accent); }

/* ---------- Item ---------- */
.std-item {
  border-block-start: 0.5px solid var(--std-hairline);
  padding-block-start: var(--spacing-50, 50px);
}

.std-item + .std-item { margin-block-start: var(--spacing-130, 130px); }

.std-head {
  display: grid;
  grid-template-columns: var(--std-label-w) minmax(0, 1fr);
  column-gap: 0;
  align-items: start;
  padding-bottom: var(--spacing-69, 69px);
}

.std-index {
  grid-column: 1;
  grid-row: 1;
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  font-weight: 350;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.35);
}

.std-name {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  padding-inline-end: var(--std-rail-gap);
  font-size: var(--text-heading, 27px);
  font-weight: 350;
  line-height: 1.2;
  color: var(--color-pure-white, #fdfdfd);
}

.std-copy {
  grid-column: 2;
  grid-row: 2;
  max-width: 75ch;
  margin: 0;
  font-size: var(--text-body, 16px);
  font-weight: 350;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.58);
}

/* ---------- Artifact ---------- */
/* No panel chrome */
.std-artifact { margin: 0; }

.std-artifact picture { display: block; }

.std-artifact-img {
  display: block;
  width: 100%;
  height: auto;          /* Intrinsic ratio */
}

/* Slot awaiting artwork */

/* ---------- Collapse ---------- */
@media (max-width: 1023px) {
  .std {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .std-masthead {
    margin-inline-start: 0;
    padding-bottom: var(--spacing-50, 50px);
  }

  .std-item + .std-item { margin-block-start: var(--spacing-94, 94px); }
  .std-item { padding-block-start: var(--spacing-35, 35px); }

  .std-head {
    grid-template-columns: 1fr;
    padding-bottom: var(--spacing-50, 50px);
  }

  .std-index {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: var(--spacing-10, 10px);
  }

  .std-name {
    grid-column: 1;
    grid-row: 2;
    padding-inline-end: 0;
    padding-bottom: var(--spacing-22, 22px);
    font-size: 22px;
  }

  .std-copy {
    grid-column: 1;
    grid-row: 3;
    max-width: none;
  }
}
/* ============ 0.1 Break ============ */
.pqt {
  background: #f2f2f4;
  padding: 220px 0 300px;
  font-family: var(--font-inter-tight);
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* --- Quote --- */
.pqt-quote {
  margin: 0;
  max-width: 38ch;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.3;
  color: #0f1012;
}

.pqt-rotate {
  display: block;
  position: relative;
  min-height: 1.3em;
}

.pqt-rotate-line {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #47a8a9;
  pointer-events: none;
}

/* Word spans are created by the rotator script */
.pqt-w {
  position: relative;
  display: inline-block;
  filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  will-change: filter, opacity;
}

.pqt-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* --- Three columns --- */
.pqt-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 94px;
  margin-top: 144px;
}

.pqt-col {
  display: flex;
  flex-direction: column;
}

.pqt-tick {
  display: block;
  width: 11px;
  height: 0;
  border-top: 1px solid #47a8a9;
  margin-bottom: 11px;
}

.pqt-col-label {
  font-size: 12px;
  font-weight: 350;
  line-height: 1.2;
  color: #8f8f8f;
  margin-bottom: 22px;
}

.pqt-col-title {
  margin: 0 0 22px;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.2;
  color: #0f1012;
}

.pqt-col-body {
  margin: 0;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.5;
  color: #5e5e5e;
}

/* ============ Breakpoints ============ */
@media (max-width: 1023px) {
  .pqt { padding: 144px 0 113px; }

  .pqt-quote { max-width: 36ch; }

  .pqt-cols {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 94px;
  }
}

@media (max-width: 640px) {
  .pqt { padding: 113px 0 94px; }

  .pqt-quote { max-width: none; }

  .pqt-quote br { display: none; }

  .pqt-rotate { min-height: 2.6em; }
  .pqt-cols { margin-top: 69px; }
}


/* ============================================================
   FAQ
   ============================================================ */

.dfaq {
  --dfaq-accent: #47a8a9;

  background: var(--color-off-white, #f2f2f4);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  position: relative;
  z-index: 2;
}


.dfaq-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.dfaq-eyebrow {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.dfaq-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
}

/* ─────────────────────────────────────────────
   Items
   ───────────────────────────────────────────── */

.dfaq-item {
  border-top: 0.5px solid rgba(0, 0, 0, 0.06);
}

.dfaq-item:first-child {
  border-top: 0;
}

.dfaq-item:last-child {
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);
}

.dfaq-q {
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.dfaq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-50, 50px);
  padding: var(--spacing-35, 35px) 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.dfaq-q-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
  transition: color 260ms ease;
}

.dfaq-trigger:hover .dfaq-q-text,
.dfaq-item.is-open .dfaq-q-text {
  color: var(--dfaq-accent);
}

.dfaq-trigger:focus-visible {
  outline: 1px solid var(--dfaq-accent);
  outline-offset: 4px;
}

/* Square +/− marker */
.dfaq-icon {
  position: relative;
  flex: none;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(0, 0, 0, 0.14);
  border-radius: 0;
  background: var(--color-pure-white, #fdfdfd);
  transition: border-color 260ms ease;
}

.dfaq-icon::before,
.dfaq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--color-off-black, #0f1012);
  transition: transform 260ms ease, background-color 260ms ease;
}

.dfaq-icon::before {
  width: 12px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.dfaq-icon::after {
  width: 1px;
  height: 12px;
  transform: translate(-50%, -50%);
}

.dfaq-trigger:hover .dfaq-icon,
.dfaq-trigger:focus-visible .dfaq-icon,
.dfaq-item.is-open .dfaq-icon {
  border-color: var(--dfaq-accent);
}

.dfaq-item.is-open .dfaq-icon::before,
.dfaq-item.is-open .dfaq-icon::after {
  background: var(--dfaq-accent);
}

.dfaq-item.is-open .dfaq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

/* ─────────────────────────────────────────────
   Panel
   ───────────────────────────────────────────── */

.dfaq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.dfaq-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.dfaq-item.is-open .dfaq-panel {
  grid-template-rows: 1fr;
}

.dfaq-panel-inner p {
  margin: 0;
  padding-right: calc(40px + var(--spacing-50, 50px));
  padding-bottom: var(--spacing-50, 50px);
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .dfaq {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .dfaq-shell {
    display: block;
  }

  .dfaq-masthead {
    padding-bottom: var(--spacing-69, 69px);
  }

  .dfaq-heading {
    max-width: 46ch;
  }

  .dfaq-item:first-child {
    border-top: 0.5px solid rgba(0, 0, 0, 0.06);
  }

  .dfaq-trigger {
    gap: var(--spacing-35, 35px);
    padding: var(--spacing-30, 30px) 0;
  }

  .dfaq-panel-inner p {
    padding-right: calc(40px + var(--spacing-35, 35px));
    padding-bottom: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .dfaq {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .dfaq-masthead {
    padding-bottom: var(--spacing-50, 50px);
  }

  .dfaq-heading {
    font-size: 22px;
    max-width: none;
  }

  .dfaq-trigger {
    gap: var(--spacing-22, 22px);
    padding: var(--spacing-30, 30px) 0;
  }

  .dfaq-q-text {
    font-size: 18px;
  }

  .dfaq-icon {
    width: 34px;
    height: 34px;
  }

  .dfaq-panel-inner p {
    padding-right: 0;
    padding-bottom: var(--spacing-30, 30px);
    max-width: none;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .dfaq-panel,
  .dfaq-q-text,
  .dfaq-icon,
  .dfaq-icon::before,
  .dfaq-icon::after {
    transition: none;
  }
}

/* ============================================================
   Closing actions
   ============================================================ */

.dact {
  --dact-accent: #47a8a9;   /* Digital & AI teal */

  background: var(--color-white, #ffffff);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-94, 94px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* Back Office */
.dact--bo {
  --dact-accent: #ff5102;
}


/* ─────────────────────────────────────────────
   Primary
   ───────────────────────────────────────────── */

.dact-primary {
  padding-bottom: var(--spacing-94, 94px);
}

.dact-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
}

.dact-lede {
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 42ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

.dact-primary .dact-link {
  margin-top: var(--spacing-50, 50px);
}

/* ─────────────────────────────────────────────
   Secondary
   ───────────────────────────────────────────── */

.dact-secondary {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr) auto;
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-top: var(--spacing-50, 50px);
  border-top: 0.5px solid rgba(0, 0, 0, 0.10);
}

.dact-secondary .dact-link {
  margin-top: -7px;
}

.dact-sub-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
}

.dact-sub-desc {
  margin: 0;
  max-width: 52ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--color-steel-gray, #5e5e5e);
}

/* ─────────────────────────────────────────────
   Link
   ───────────────────────────────────────────── */

.dact-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
  color: var(--color-off-black, #0f1012);
}

.dact-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid rgba(0, 0, 0, 0.18);
  border-radius: 0;
  background: transparent;
  color: var(--color-off-black, #0f1012);
  transition: border-color 260ms ease, color 260ms ease;
}

.dact-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.dact-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-off-black, #0f1012);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease, color 260ms ease;
}

.dact-link:hover .dact-arrow,
.dact-link:focus-visible .dact-arrow {
  border-color: var(--dact-accent);
  color: var(--dact-accent);
}

.dact-link:hover .dact-arrow svg,
.dact-link:focus-visible .dact-arrow svg {
  transform: translateX(3px);
}

.dact-link:hover .dact-link-text,
.dact-link:focus-visible .dact-link-text {
  color: var(--dact-accent);
  border-bottom-color: var(--dact-accent);
}

.dact-link:focus-visible {
  outline: 1px solid var(--dact-accent);
  outline-offset: 4px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .dact {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .dact-primary {
    padding-bottom: var(--spacing-69, 69px);
  }

  .dact-secondary {
    grid-template-columns: 200px minmax(0, 1fr);
    column-gap: var(--spacing-50, 50px);
    row-gap: var(--spacing-30, 30px);
  }

  .dact-secondary .dact-link {
    grid-column: 2;
    margin-top: 0;
  }

  .dact-primary .dact-link {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .dact {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-50, 50px);
  }

  .dact-lede {
    max-width: none;
  }

  .dact-primary {
    padding-bottom: var(--spacing-50, 50px);
  }

  .dact-secondary {
    display: block;
    padding-top: var(--spacing-35, 35px);
  }

  .dact-sub-desc {
    margin-top: var(--spacing-10, 10px);
    max-width: none;
  }

  .dact-secondary .dact-link {
    margin-top: var(--spacing-30, 30px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .dact-arrow,
  .dact-arrow svg,
  .dact-link-text {
    transition: none;
  }
  .dact-arrow svg {
    transform: none;
  }
}

/* ============================================================
   Hero
   ============================================================ */

.bhr {
  --bhr-surface: #0f1012;
  --bhr-ink: #fdfdfd;
  --bhr-ink-muted: #9a9a9a;
  --bhr-ink-faint: #6f6f6f;
  --bhr-accent: #ff5102;
  --bhr-hairline: rgba(255, 255, 255, 0.14);
  --bhr-hairline-soft: rgba(255, 255, 255, 0.07);

  background: var(--bhr-surface);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-94, 94px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* ─────────────────────────────────────────────
   Split
   ───────────────────────────────────────────── */

.bhr-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-bottom: var(--spacing-113, 113px);
}

/* The one deliberate break from the 27px cap */
.bhr-heading {
  margin: 0;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 300;   /* Matches the home hero */
  color: var(--bhr-ink);
}

.bhr-heading-accent {
  color: var(--bhr-accent);
  white-space: nowrap;
}

.bhr-heading-rest {
  display: block;
}

.bhr-aside {
  padding-top: var(--spacing-11, 11px);
}

.bhr-lede {
  margin: 0;
  max-width: 44ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bhr-ink-muted);
}

.bhr-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  margin-top: var(--spacing-50, 50px);
  text-decoration: none;
  color: var(--bhr-accent);
}

.bhr-arrow {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--bhr-hairline);
  border-radius: 0;
  background: transparent;
  color: var(--bhr-accent);
  transition: border-color 260ms ease;
}

.bhr-arrow svg {
  width: 16px;
  height: 16px;
  display: block;
  transform: translateX(0);
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}

.bhr-link-text {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bhr-accent);
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}

.bhr-link:hover .bhr-arrow,
.bhr-link:focus-visible .bhr-arrow {
  border-color: var(--bhr-accent);
}

.bhr-link:hover .bhr-arrow svg,
.bhr-link:focus-visible .bhr-arrow svg {
  transform: translateX(3px);
}

.bhr-link:hover .bhr-link-text,
.bhr-link:focus-visible .bhr-link-text {
  border-bottom-color: var(--bhr-accent);
}

.bhr-link:focus-visible {
  outline: 1px solid var(--bhr-accent);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Proof
   ───────────────────────────────────────────── */

.bhr-proof {
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid var(--bhr-hairline-soft);
}

.bhr-proof-label {
  margin: 0 0 var(--spacing-35, 35px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bhr-ink-faint);
}

/* Track */
.bhr-logos-track {
  position: relative;
}

.bhr-logos-track::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    to right,
    rgba(15, 16, 18, 0) 0%,
    var(--bhr-surface) 78%
  );
  transition: opacity 260ms ease;
}

.bhr-logos {
  /* Row height every logo is measured against */
  --bhr-row: 60px;

  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  column-gap: var(--spacing-50, 50px);
}

.bhr-logo {
  --bhr-logo-h: 100%;

  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: var(--bhr-row);
}

.bhr-logo img {
  display: block;
  width: auto;
  height: var(--h, 22px);
  max-width: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.55;
  transition: opacity 260ms ease;
}

.bhr-logo img:hover {
  opacity: 1;
}

/* ── Per-logo optical sizing ── */


/* ── Selection ──────────────────────────────── */

.bhr ::selection {
  background: var(--bhr-accent);
  color: var(--bhr-surface);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bhr {
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .bhr-split {
    display: block;
    padding-bottom: var(--spacing-69, 69px);
  }

  .bhr-heading {
    font-size: 40px;
  }

  .bhr-aside {
    padding-top: var(--spacing-35, 35px);
  }

  .bhr-lede {
    max-width: 56ch;
  }

  .bhr-link {
    margin-top: var(--spacing-35, 35px);
  }

  .bhr-logos-track {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .bhr-logos-track::-webkit-scrollbar {
    display: none;
  }

  .bhr-logos-track::after {
    opacity: 1;
    position: sticky;
    float: right;
    margin-left: -56px;
  }

  /* Max-content is what stops the wrap */
  .bhr-logos {
    display: flex;
    width: max-content;
    column-gap: var(--spacing-50, 50px);
    padding-right: var(--spacing-50, 50px);
  }

  .bhr-logo {
    flex: none;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bhr {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 100px));
    padding-bottom: var(--spacing-50, 50px);
  }

  .bhr-heading {
    font-size: 30px;
  }

  .bhr-split {
    padding-bottom: var(--spacing-50, 50px);
  }

  .bhr-lede {
    font-size: 16px;
    max-width: none;
  }

  .bhr-proof-label {
    margin-bottom: var(--spacing-30, 30px);
  }

  .bhr-logo img { height: calc(var(--h, 22px) * 0.85); }

  .bhr-logos {
    --bhr-row: 48px;

    column-gap: var(--spacing-35, 35px);
    padding-right: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .bhr-arrow,
  .bhr-arrow svg,
  .bhr-link-text,
  .bhr-logo img,
  .bhr-logos-track::after {
    transition: none;
  }
  .bhr-arrow svg {
    transform: none;
  }
}

/* ============================================================
   Back Office Services
   ============================================================ */

.bko {
  --bko-accent:   #ff5102;
  --bko-hairline: rgba(255, 255, 255, 0.08);
  --bko-edge:     rgba(255, 255, 255, 0.2);
  --bko-chip:     rgba(255, 255, 255, 0.06);
  --bko-radius:   14px;
  --bko-gutter:   24px;   /* Must match .main-container's inline padding */

  background: var(--color-off-black, #0f1012);
  padding-top: var(--spacing-170, 170px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


.bko-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
}

.bko-rail {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
}

.bko-ledger {
  grid-column: 2;
  grid-row: 2;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.bko-masthead {
  grid-column: 2;
  grid-row: 1;
  padding-bottom: var(--spacing-94, 94px);
}

.bko-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.bko-heading-accent,
.bko-heading-rest {
  display: block;
}

.bko-heading-accent {
  color: var(--bko-accent);
}

/* ─────────────────────────────────────────────
   Rail
   ───────────────────────────────────────────── */

.bko-rail-inner {
  position: sticky;
  top: var(--spacing-69, 69px);
}

.bko-group {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.bko-nav-list {
  list-style: none;
  margin: 0 0 var(--spacing-35, 35px);
  padding: 0;
}

.bko-nav-list:last-child {
  margin-bottom: 0;
}

.bko-nav-list li + li {
  margin-top: var(--spacing-6, 6px);
}

.bko-marker,
.bko-marker-label {
  color: var(--color-pure-white, #fdfdfd);
}

.bko-marker {
  display: flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
}

.bko-marker-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  transition: color 260ms ease;
}

.bko-marker-box {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--bko-hairline);
  border-radius: var(--bko-radius);
  background: var(--bko-chip);
  color: var(--color-pure-white, #fdfdfd);
  transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
}

.bko-marker-box svg {
  width: 16px;
  height: 16px;
  display: block;
}

.bko-marker:hover .bko-marker-box,
.bko-marker.is-active .bko-marker-box {
  background: #1d1e20;
  border-color: var(--bko-accent);
  color: var(--color-pure-white, #fdfdfd);
}

.bko-marker:hover .bko-marker-label,
.bko-marker:focus-visible .bko-marker-label {
  color: var(--bko-accent);
}

.bko-marker.is-active .bko-marker-box {
  background: var(--bko-accent);
  border-color: var(--bko-accent);
  color: #000000;
}

.bko-marker.is-active .bko-marker-label {
  color: var(--bko-accent);
}

.bko-marker:focus-visible {
  outline: 1px solid var(--bko-accent);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Ledger
   ───────────────────────────────────────────── */

.bko-set-label {
  display: none;
}

.bko-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  grid-template-rows: auto auto 1fr;
  column-gap: var(--spacing-50, 50px);
  padding-top: var(--spacing-94, 94px);
  padding-bottom: var(--spacing-94, 94px);
  border-top: 0.5px solid var(--bko-hairline);
  scroll-margin-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

/* Closes the ledger, now that nothing follows it */
.bko-set:last-of-type .bko-block:last-of-type {
  border-bottom: 0.5px solid var(--bko-hairline);
}

.bko-panel,
.bko-panel-inner {
  display: contents;
}

.bko-name {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.bko-summary {
  grid-column: 1;
  grid-row: 2;
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 30ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.66);
}

.bko-block-body {
  grid-column: 2;
  grid-row: 1 / -1;
}

.bko-trigger {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: default;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.bko-glyph,
.bko-sign {
  display: none;
}

.bko-index {
  display: block;
  margin-bottom: var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.bko-name-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
  transition: color 260ms ease;
}

@media (min-width: 1024px) {
  .bko-block.is-active .bko-name-text {
    color: var(--bko-accent);
  }
}

.bko-spec + .bko-spec {
  margin-top: var(--spacing-50, 50px);
}

.bko-spec-label {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

.bko-spec-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bko-spec-list li {
  position: relative;
  padding-left: var(--spacing-22, 22px);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.66);
}

.bko-spec-list li + li {
  margin-top: var(--spacing-10, 10px);
}

.bko-spec-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  box-sizing: border-box;
  border: 1px solid var(--bko-accent);
  border-radius: 0;
  background: transparent;
}

/* ============================================================
   Tablet & Mobile
   ============================================================ */

@media (max-width: 1023px) {

  .bko {
    padding-top: var(--spacing-130, 130px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .bko-shell {
    display: block;
  }
  .bko-rail-inner {
    position: static;
  }
  .bko-nav {
    display: none;
  }

  .bko-masthead {
    padding-bottom: var(--spacing-69, 69px);
    text-align: center;
  }

  .bko-heading {
    font-size: 44px;
  }

  /* Tier split moves into the flow */
  .bko-set-label {
    display: block;
    margin: 0;
    padding: var(--spacing-69, 69px) 0 var(--spacing-30, 30px);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 350;
    color: var(--color-ash-gray, #8f8f8f);
  }

  .bko-set:first-of-type .bko-set-label {
    padding-top: 0;
  }

  .bko-block {
    display: block;
    padding: 0;
    margin-left: calc(var(--bko-gutter) * -1);
    margin-right: calc(var(--bko-gutter) * -1);
  }

  .bko-trigger,
  .bko-summary,
  .bko-block-body {
    padding-left: var(--bko-gutter);
    padding-right: var(--bko-gutter);
  }

  /* ── Tab row ── */

  .bko-trigger {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-11, 11px);
    padding-top: var(--spacing-11, 11px);
    padding-bottom: var(--spacing-11, 11px);
    cursor: pointer;
    transition: background-color 260ms ease;
  }

  .bko-index {
    display: none;
  }

  .bko-glyph {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0.5px solid var(--bko-hairline);
    border-radius: var(--bko-radius);
    background: var(--bko-chip);
    color: var(--color-pure-white, #fdfdfd);
    transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
  }

  .bko-glyph svg {
    width: 16px;
    height: 16px;
    display: block;
  }

  .bko-name-text {
    flex: 1;
    text-align: center;
    font-size: 18px;
  }

  /* +/− sign */
  .bko-sign {
    position: relative;
    flex: none;
    display: block;
    width: 20px;
    height: 20px;
  }

  .bko-sign::before,
  .bko-sign::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--color-pure-white, #fdfdfd);
    transition: transform 260ms ease, background-color 260ms ease;
  }

  .bko-sign::before {
    width: 13px;
    height: 1px;
    transform: translate(-50%, -50%);
  }

  .bko-sign::after {
    width: 1px;
    height: 13px;
    transform: translate(-50%, -50%);
  }

  /* ── Open row */

  .bko-block.is-open .bko-trigger {
    background-color: var(--bko-accent);
    border-radius: 0;
  }

  .bko-block.is-open .bko-name-text {
    color: var(--color-off-black, #0f1012);
  }

  .bko-block.is-open .bko-glyph {
    background: rgb(15 16 18);
    border-color: var(--bko-hairline);
    color: var(--color-pure-white, #fdfdfd);
  }

  .bko-block.is-open .bko-sign::before,
  .bko-block.is-open .bko-sign::after {
    background: var(--color-off-black, #0f1012);
  }

  .bko-block.is-open .bko-sign::after {
    transform: translate(-50%, -50%) scaleY(0);
  }

  .bko-trigger:focus-visible {
    outline: 1px solid var(--bko-accent);
    outline-offset: -3px;
  }

  /* ── Collapsible panel ── */

  .bko-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 300ms ease;
  }

  .bko-panel-inner {
    display: block;
    overflow: hidden;
    min-height: 0;
  }

  .bko-block.is-open .bko-panel {
    grid-template-rows: 1fr;
  }

  .bko-summary {
    max-width: none;
    margin: 0;
    padding-top: var(--spacing-22, 22px);
  }

  .bko-block-body {
    padding-top: var(--spacing-30, 30px);
    padding-bottom: var(--spacing-35, 35px);
  }

  .bko-spec + .bko-spec {
    margin-top: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bko {
    --bko-gutter: 20px;

    padding-top: var(--spacing-110, 110px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .bko-masthead {
    padding-bottom: var(--spacing-80, 80px);
  }

  .bko-heading {
    font-size: 32px;
  }

  .bko-set-label {
    padding-top: var(--spacing-50, 50px);
  }

  .bko-trigger {
    gap: var(--spacing-10, 10px);
    padding-top: var(--spacing-10, 10px);
    padding-bottom: var(--spacing-10, 10px);
  }

  .bko-glyph {
    width: 34px;
    height: 34px;
  }

  .bko-name-text {
    font-size: 16px;
  }

  .bko-block-body {
    padding-bottom: var(--spacing-30, 30px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .bko-marker-box,
  .bko-marker-label,
  .bko-name-text,
  .bko-trigger,
  .bko-glyph,
  .bko-sign::before,
  .bko-sign::after,
  .bko-panel {
    transition: none;
  }
}

/* ============================================================
   Parent credential band
   ============================================================ */

.bpc {
  --bpc-surface: #f2f2f0;
  --bpc-ink: #0f1012;
  --bpc-ink-muted: #5e5e5e;
  --bpc-ink-faint: #8f8f8f;
  --bpc-accent: #ff5102;

  /* Hairlines run darker than on white */
  --bpc-hairline: rgba(0, 0, 0, 0.14);
  --bpc-hairline-soft: rgba(0, 0, 0, 0.09);

  background: var(--bpc-surface);
  padding-top: var(--spacing-170, 170px);
  padding-bottom: var(--spacing-170, 170px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* ─────────────────────────────────────────────
   Eyebrow
   ───────────────────────────────────────────── */

.bpc-eyebrow {
  margin: 0 0 var(--spacing-69, 69px);
  padding-bottom: var(--spacing-22, 22px);
  
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bpc-ink-faint);
}





/* ============================================================
   Parent credential band
   ============================================================ */

.bpc {
  --bpc-surface: #f2f2f4;
  --bpc-ink: #0f1012;
  --bpc-ink-muted: #5e5e5e;
  --bpc-ink-faint: #8f8f8f;
  --bpc-accent: #ff5102;

  /* Hairlines run darker than they would on white */
  --bpc-hairline: rgba(0, 0, 0, 0.14);

  background: var(--bpc-surface);
  padding-top: var(--spacing-170, 170px);
  padding-bottom: var(--spacing-170, 170px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


.bpc-eyebrow {
  margin: 0 0 var(--spacing-113, 95px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bpc-ink-faint);
}

/* ─────────────────────────────────────────────
   Split
   ───────────────────────────────────────────── */

.bpc-split {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.55fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

.bpc-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.1;
  font-weight: 350;
  color: var(--bpc-ink);
}

.bpc-heading-rest,
.bpc-heading-accent {
  display: block;
}

.bpc-heading-accent {
  color: var(--bpc-accent);
  font-variant-numeric: tabular-nums;
}

/* Optical alignment */
.bpc-column {
  padding-top: var(--spacing-6, 6px);
}

.bpc-lede {
  margin: 0;
  max-width: 62ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bpc-ink-muted);
}

/* ─────────────────────────────────────────────
   Record
   ───────────────────────────────────────────── */

.bpc-record {
  margin: var(--spacing-69, 69px) 0 0;
}

.bpc-row {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  column-gap: var(--spacing-35, 35px);
  align-items: start;
  padding-top: var(--spacing-30, 30px);
  padding-bottom: var(--spacing-30, 30px);
  border-top: 0.5px solid var(--bpc-hairline);
}

/* Closes the record, since nothing follows it */
.bpc-row:last-child {
  border-bottom: 0.5px solid var(--bpc-hairline);
}

.bpc-row-label {
  margin: 0;
  min-width: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bpc-ink-faint);
}

.bpc-row-value {
  margin: 0;
  min-width: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bpc-ink);
}

.bpc ::selection {
  background: var(--bpc-accent);
  color: var(--bpc-surface);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bpc {
    padding-top: var(--spacing-130, 130px);
    padding-bottom: var(--spacing-130, 130px);
  }

  .bpc-eyebrow {
    margin-bottom: var(--spacing-69, 69px);
  }

  .bpc-split {
    display: block;
  }

  .bpc-heading {
    font-size: 48px;
  }

  /* Inline at this width */
  .bpc-heading-rest,
  .bpc-heading-accent {
    display: inline;
  }

  .bpc-column {
    padding-top: var(--spacing-35, 35px);
  }

  .bpc-lede {
    max-width: 66ch;
  }

  .bpc-record {
    margin-top: var(--spacing-50, 50px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bpc {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .bpc-eyebrow {
    margin-bottom: var(--spacing-50, 50px);
  }

  .bpc-heading {
    font-size: 34px;
  }

  .bpc-column {
    padding-top: var(--spacing-30, 30px);
  }

  .bpc-lede {
    font-size: 16px;
    max-width: none;
  }

  .bpc-row {
    display: block;
    padding-top: var(--spacing-22, 22px);
    padding-bottom: var(--spacing-22, 22px);
  }

  .bpc-row-label {
    margin-bottom: var(--spacing-6, 6px);
  }

}
/* ============================================================
   Case study
   ============================================================ */

.bcs {
  --bcs-surface: #0f1012;
  --bcs-ink: #fdfdfd;
  --bcs-ink-muted: rgba(253, 253, 253, 0.66);
  --bcs-ink-faint: #8f8f8f;
  --bcs-accent: #ff5102;
  --bcs-hairline: rgba(255, 255, 255, 0.10);
  --bcs-rest: rgba(255, 255, 255, 0.14);
  --bcs-draft: rgba(255, 255, 255, 0.20);
  --bcs-grid: rgba(255, 255, 255, 0.055);

  background: var(--bcs-surface);
  padding-top: var(--spacing-170, 170px);
  /* Zero */
  padding-bottom: 0;
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.bcs-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: end;
  margin-bottom: var(--spacing-50, 30px);
}

.bcs-mark-img {
  display: block;
  width: auto;
  height: 85px;
  max-width: 100%;
  object-fit: contain;
  margin-bottom: -24px;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

.bcs-watermark {
  margin: 0;
  min-width: 0;
}

.bcs-watermark-text {
  display: inline-block;
  padding: 2px 10px 5px;
  font-size: 27px;
  line-height: 1;
  font-weight: 350;
  white-space: nowrap;
  background: var(--bcs-accent);
  color: var(--bcs-surface);
}

/* ─────────────────────────────────────────────
   Split
   ───────────────────────────────────────────── */

.bcs-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-bottom: var(--spacing-113, 113px);
}

.bcs-heading {
  margin: 0;
  max-width: 20ch;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 350;
  color: var(--bcs-ink);
}

.bcs-heading-accent,
.bcs-heading-rest {
  display: block;
}

.bcs-heading-accent {
  color: var(--bcs-accent);
}

.bcs-aside {
  padding-top: var(--spacing-11, 11px);
}

.bcs-lede {
  margin: 0;
  max-width: 46ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bcs-ink-muted);
}

/* ─────────────────────────────────────────────
   Figures
   ───────────────────────────────────────────── */

.bcs-figures {
  margin: 0 0 var(--spacing-113, 113px);
  padding-top: var(--spacing-50, 50px);
  padding-bottom: var(--spacing-50, 50px);
  border-top: 0.5px solid var(--bcs-hairline);
  border-bottom: 0.5px solid var(--bcs-hairline);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--spacing-50, 50px);
  align-items: start;
}

.bcs-figure {
  min-width: 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}

.bcs-figure-value {
  margin: 0 0 var(--spacing-11, 11px);
  font-size: 44px;
  line-height: 1;
  font-weight: 350;
  font-variant-numeric: tabular-nums;
  color: var(--bcs-ink);
}

.bcs-figure-label {
  margin: 0;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bcs-ink-faint);
}

/* ─────────────────────────────────────────────
   Delivery flow
   ───────────────────────────────────────────── */

.bcs-flow {
  margin-bottom: var(--spacing-113, 113px);
}

.bcs-flow-label {
  margin: 0 0 var(--spacing-50, 50px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bcs-ink-faint);
}

.bcs-flow-stage {
  position: relative;
  width: 100%;
}

/* ── Grid field ── */

.bcs-flow-stage::before {
  content: "";
  position: absolute;
  inset: -6% -2%;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(
      to right,
      var(--bcs-grid) 0,
      var(--bcs-grid) 1px,
      transparent 1px,
      transparent 44px
    );
  -webkit-mask-image:
    linear-gradient(to right, transparent, #000 12%, #000 88%, transparent),
    linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  mask-image:
    linear-gradient(to right, transparent, #000 12%, #000 88%, transparent),
    linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  opacity: 0;
  transition: opacity 1200ms ease 200ms;
}

.bcs-flow-stage.is-drawn::before {
  opacity: 1;
}

.bcs-flow-svg {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 300;
  overflow: visible;
}

/* ── Drafting apparatus ── */

.bcs-flow-guides path {
  stroke: var(--bcs-grid);
  stroke-width: 1;
  stroke-dasharray: 3 6;
  fill: none;
}

.bcs-flow-feeders path {
  stroke: var(--bcs-draft);
  stroke-width: 1;
  stroke-dasharray: 3 5;
  fill: none;
}

.bcs-flow-feeders circle {
  fill: var(--bcs-surface);
  stroke: var(--bcs-draft);
  stroke-width: 1;
}

.bcs-flow-junctions circle {
  fill: var(--bcs-rest);
  stroke: none;
}

.bcs-flow-guides,
.bcs-flow-feeders,
.bcs-flow-junctions {
  opacity: 0;
  transition: opacity 900ms ease 250ms;
}

.bcs-flow-stage.is-drawn .bcs-flow-guides,
.bcs-flow-stage.is-drawn .bcs-flow-feeders,
.bcs-flow-stage.is-drawn .bcs-flow-junctions {
  opacity: 1;
}

/* ── Rest state ── */

.bcs-flow-rest path {
  stroke: var(--bcs-rest);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
}

/* ── Trace ── */

.bcs-flow-line {
  stroke: var(--bcs-accent);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

.bcs-flow-stage.is-drawn .bcs-flow-line {
  animation: bcs-trace 3400ms cubic-bezier(0.32, 0, 0.24, 1) 300ms forwards;
}

.bcs-flow-stage.is-drawn .bcs-flow-line--b {
  animation-delay: 300ms;
}

@keyframes bcs-trace {
  to { stroke-dashoffset: 0; }
}

/* ── Head ── */

.bcs-flow-head {
  stroke: #ffffff;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 34 966;
  stroke-dashoffset: 1000;
  opacity: 0;
}

.bcs-flow-stage.is-drawn .bcs-flow-head {
  animation: bcs-head 3400ms cubic-bezier(0.32, 0, 0.24, 1) 300ms forwards;
}

.bcs-flow-stage.is-drawn .bcs-flow-head--b {
  animation-delay: 300ms;
}

@keyframes bcs-head {
  0%   { stroke-dashoffset: 1000; opacity: 0; }
  4%   { opacity: 1; }
  90%  { opacity: 1; }
  100% { stroke-dashoffset: -34; opacity: 0; }
}

/* ── Nodes ── */

.bcs-flow-node {
  fill: var(--bcs-surface);
  stroke: var(--bcs-rest);
  stroke-width: 1.5;
  opacity: 0;
  transform: scale(0.4);
  transform-box: fill-box;
  transform-origin: center;
  transition:
    opacity 460ms ease,
    transform 460ms cubic-bezier(0.34, 1.3, 0.64, 1),
    stroke 460ms ease;
}

.bcs-flow-stage.is-drawn .bcs-flow-node {
  opacity: 1;
  transform: scale(1);
  stroke: var(--bcs-accent);
}

/* Nodes 2 and 3 share a delay */
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(1) { transition-delay: 400ms; }
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(2) { transition-delay: 1660ms; }
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(3) { transition-delay: 1660ms; }
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(4) { transition-delay: 2470ms; }
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(5) { transition-delay: 2910ms; }
.bcs-flow-stage.is-drawn .bcs-flow-node:nth-of-type(6) { transition-delay: 3350ms; }

/* ── Legend ── */

.bcs-flow-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.bcs-flow-item {
  position: absolute;
  left: var(--x);
  top: var(--y);
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  opacity: 0;
  /* Hangs below its node */
  transform: translate(-6px, 26px);
  transition: opacity 560ms ease, transform 560ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Upper-track label hangs above its node instead */
.bcs-flow-item--above {
  transform: translate(-6px, calc(-100% - 18px));
}

.bcs-flow-stage.is-drawn .bcs-flow-item {
  opacity: 1;
  transform: translate(-6px, 20px);
}

.bcs-flow-stage.is-drawn .bcs-flow-item--above {
  transform: translate(-6px, calc(-100% - 12px));
}

.bcs-flow-annot {
  transform: translate(-50%, calc(-100% - 14px));
}

.bcs-flow-stage.is-drawn .bcs-flow-annot {
  transform: translate(-50%, calc(-100% - 8px));
}

.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(1) { transition-delay: 500ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(2) { transition-delay: 1760ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(3) { transition-delay: 1760ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(4) { transition-delay: 2570ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(5) { transition-delay: 3010ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(6) { transition-delay: 3450ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(7) { transition-delay: 900ms; }
.bcs-flow-stage.is-drawn .bcs-flow-item:nth-child(8) { transition-delay: 3650ms; }

.bcs-flow-name {
  font-size: 14px;
  line-height: 1.2;
  color: var(--bcs-ink);
  white-space: nowrap;
}

.bcs-flow-note {
  font-size: 12px;
  line-height: 1.2;
  color: var(--bcs-ink-faint);
  white-space: nowrap;
}

.bcs-flow-year {
  font-size: 12px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: var(--bcs-ink-faint);
  white-space: nowrap;
}

/* ─────────────────────────────────────────────
   Record
   ───────────────────────────────────────────── */

.bcs-record {
  padding-bottom: var(--spacing-113, 113px);
}

.bcs-ledger {
  margin: 0;
}

.bcs-row {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
  padding-top: var(--spacing-30, 30px);
  padding-bottom: var(--spacing-30, 30px);
  border-top: 0.5px solid var(--bcs-hairline);
}

.bcs-row:last-of-type {
  border-bottom: 0.5px solid var(--bcs-hairline);
}

/* 4px nudge */
.bcs-row-label {
  margin: 0;
  padding-top: 4px;
  min-width: 0;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bcs-ink-faint);
}

.bcs-row-value {
  margin: 0;
  min-width: 0;
  max-width: 68ch;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bcs-ink);
}

/* Fold control */
.bcs-record-toggle {
  display: none;
}

.bcs ::selection {
  background: var(--bcs-accent);
  color: var(--bcs-surface);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bcs {
    padding-top: var(--spacing-130, 130px);
  }

  .bcs-masthead {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-bottom: var(--spacing-50, 1px);
  }

  .bcs-watermark {
    align-self: flex-end;
    margin-bottom: 0;
  }

  .bcs-watermark-text {
    font-size: 22px;
    padding: 2px 9px 4px;
  }

  /* Negative margin cancelled */
  .bcs-mark-img {
    height: 80px;
    margin-top: var(--spacing-30, 30px);
    margin-bottom: 0;
  }

  .bcs-split {
    display: block;
    padding-bottom: var(--spacing-69, 69px);
  }

  .bcs-heading {
    font-size: 38px;
    max-width: 26ch;
  }

  .bcs-aside {
    padding-top: var(--spacing-35, 35px);
  }

  .bcs-lede {
    max-width: 60ch;
  }

  /* Two by two */
  .bcs-figures {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: var(--spacing-50, 50px);
    margin-bottom: var(--spacing-69, 69px);
  }

  .bcs-figure-value {
    font-size: 38px;
  }

  .bcs-flow {
    margin-bottom: var(--spacing-69, 69px);
  }

  .bcs-flow-name {
    font-size: 13px;
  }

  .bcs-flow-note {
    font-size: 11px;
  }

  .bcs-record {
    padding-bottom: var(--spacing-69, 69px);
  }

  .bcs-row {
    display: block;
    padding-top: var(--spacing-30, 30px);
    padding-bottom: var(--spacing-30, 30px);
  }

  .bcs-row-label {
    padding-top: 0;
    margin-bottom: var(--spacing-11, 11px);
  }

  .bcs-row-value {
    max-width: 62ch;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bcs {
    padding-top: var(--spacing-94, 94px);
  }

  .bcs-masthead {
    margin-bottom: var(--spacing-50, 1px);
  }

  .bcs-watermark {
    margin-bottom: var(--spacing-22, 22px);
  }

  .bcs-watermark-text {
    font-size: 18px;
    padding: 2px 8px 4px;
  }

  .bcs-mark-img {
    height: 75px;
    margin-top: var(--spacing-22, 22px);
  }

  .bcs-heading {
    font-size: 28px;
    max-width: none;
  }

  .bcs-split {
    padding-bottom: var(--spacing-50, 50px);
  }

  .bcs-lede {
    font-size: 16px;
    max-width: none;
  }

  .bcs-figures {
    padding-top: var(--spacing-35, 35px);
    padding-bottom: var(--spacing-35, 35px);
    row-gap: var(--spacing-35, 35px);
    column-gap: var(--spacing-22, 22px);
    margin-bottom: var(--spacing-50, 50px);
  }

  .bcs-figure-value {
    font-size: 30px;
  }

  /* ── Flow becomes a vertical timeline ── */

  .bcs-flow {
    margin-bottom: var(--spacing-50, 50px);
  }

  .bcs-flow-label {
    margin-bottom: var(--spacing-35, 35px);
  }

  .bcs-flow-svg {
    display: none;
  }

  .bcs-flow-stage::before {
    display: none;
  }

  .bcs-flow-annot {
    display: none;
  }

  .bcs-flow-legend {
    position: static;
    inset: auto;
    padding-left: var(--spacing-30, 30px);
  }

  /* Grey rail with an orange trace scaling down it */
  .bcs-flow-legend::before,
  .bcs-flow-legend::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 7px;
    bottom: 14px;
    width: 1.5px;
  }

  .bcs-flow-legend::before {
    background: var(--bcs-rest);
  }

  .bcs-flow-legend::after {
    background: var(--bcs-accent);
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform 2600ms cubic-bezier(0.32, 0, 0.24, 1) 200ms;
  }

  .bcs-flow-stage.is-drawn .bcs-flow-legend::after {
    transform: scaleY(1);
  }

  .bcs-flow-item,
  .bcs-flow-item--above {
    position: relative;
    left: auto;
    top: auto;
    gap: 5px;
    padding-bottom: var(--spacing-35, 35px);
    transform: translateY(10px);
  }

  /* Last-of-type, not :last-child */
  .bcs-flow-item:last-of-type {
    padding-bottom: 0;
  }

  .bcs-flow-stage.is-drawn .bcs-flow-item,
  .bcs-flow-stage.is-drawn .bcs-flow-item--above {
    transform: translateY(0);
  }

  .bcs-flow-item::before {
    content: "";
    position: absolute;
    left: calc(var(--spacing-30, 30px) * -1);
    top: 4px;
    width: 11px;
    height: 11px;
    box-sizing: border-box;
    border: 1.5px solid var(--bcs-accent);
    background: var(--bcs-surface);
  }

  /* Hierarchy holds at this width */
  .bcs-flow-name,
  .bcs-flow-note {
    white-space: normal;
  }

  .bcs-flow-name {
    font-size: 16px;
    line-height: 1.3;
  }

  .bcs-flow-note {
    font-size: 13px;
    line-height: 1.35;
  }

  /* ── Record folds behind one control ── */

  .bcs-record {
    padding-bottom: var(--spacing-50, 50px);
  }

  .bcs-row {
    padding-top: var(--spacing-22, 22px);
    padding-bottom: var(--spacing-22, 22px);
  }

  .bcs-row-label {
    margin-bottom: var(--spacing-6, 6px);
  }

  .bcs-row-value {
    font-size: 16px;
    max-width: none;
  }

  /* Must follow .bcs-row above */
  .bcs-row--fold {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    border-bottom-width: 0;
    overflow: hidden;
    visibility: hidden;
    transition:
      max-height 300ms ease,
      padding-top 300ms ease,
      padding-bottom 300ms ease,
      visibility 0s linear 300ms;
  }

  /* 260px clears the tallest row */
  .bcs-record.is-expanded .bcs-row--fold {
    max-height: 260px;
    padding-top: var(--spacing-22, 22px);
    padding-bottom: var(--spacing-22, 22px);
    border-top-width: 0.5px;
    visibility: visible;
    transition-delay: 0s;
  }

  .bcs-record.is-expanded .bcs-row--fold:last-of-type {
    border-bottom-width: 0.5px;
  }

  .bcs-ledger > .bcs-row:first-child {
    border-bottom: 0.5px solid var(--bcs-hairline);
  }

  .bcs-record.is-expanded .bcs-ledger > .bcs-row:first-child {
    border-bottom: 0;
  }

  /* Control reads as a ruled row, not a button */
  .bcs-record-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-22, 22px);
    padding: var(--spacing-22, 22px) 0;
    background: none;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
  }

  .bcs-record-toggle-text {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 350;
    color: var(--bcs-accent);
  }

  .bcs-record-toggle:focus-visible {
    outline: 1px solid var(--bcs-accent);
    outline-offset: 4px;
  }

  .bcs-record-toggle-icon {
    position: relative;
    flex: none;
    width: 28px;
    height: 28px;
    border: 0.5px solid var(--bcs-rest);
  }

  .bcs-record-toggle-icon::before,
  .bcs-record-toggle-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--bcs-accent);
    transition: transform 260ms ease;
  }

  .bcs-record-toggle-icon::before {
    width: 10px;
    height: 1px;
    transform: translate(-50%, -50%);
  }

  .bcs-record-toggle-icon::after {
    width: 1px;
    height: 10px;
    transform: translate(-50%, -50%);
  }

  /* Vertical stroke retracts */
  .bcs-record.is-expanded .bcs-record-toggle-icon::after {
    transform: translate(-50%, -50%) scaleY(0);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

  .bcs-flow-stage::before,
  .bcs-flow-node,
  .bcs-flow-item,
  .bcs-flow-guides,
  .bcs-flow-feeders,
  .bcs-flow-junctions,
  .bcs-flow-legend::after,
  .bcs-row--fold,
  .bcs-record-toggle-icon::after {
    transition: none;
  }

  .bcs-flow-line,
  .bcs-flow-stage.is-drawn .bcs-flow-line {
    animation: none;
    stroke-dashoffset: 0;
  }

  .bcs-flow-head,
  .bcs-flow-stage.is-drawn .bcs-flow-head {
    animation: none;
    opacity: 0;
  }
}

/* ============================================================
   Case study close
   ============================================================ */

.bqt {
  --bqt-surface: #ff5102;
  --bqt-ink: #fdfdfd;
  /* Role sits at 12px, where AA wants 4.5:1 */
  --bqt-ink-muted: rgba(253, 253, 253, 0.82);
  --bqt-rule: rgba(253, 253, 253, 0.55);

  background: var(--bqt-surface);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}


/* Centring is confined to this band */
.bqt-quote {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bqt-quote::before {
  content: "";
  display: block;
  width: 40px;
  border-top: 0.5px solid var(--bqt-rule);
  margin-bottom: var(--spacing-35, 35px);
}

.bqt-body {
  margin: 0;
}

/* 42ch on a centred measure */
.bqt-body p {
  margin: 0;
  max-width: 42ch;
  font-size: 32px;
  line-height: 1.35;
  font-weight: 350;
  color: var(--bqt-ink);
}

.bqt-source {
  margin-top: var(--spacing-50, 50px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-6, 6px);
}

.bqt-name {
  font-size: 16px;
  line-height: 1.2;
  color: var(--bqt-ink);
}

.bqt-role {
  font-size: 12px;
  line-height: 1.2;
  color: var(--bqt-ink-muted);
}

/* Off-black selection */
.bqt ::selection {
  background: #0f1012;
  color: var(--bqt-surface);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bqt {
    padding-top: var(--spacing-113, 113px);
    padding-bottom: var(--spacing-113, 113px);
  }

  .bqt-body p {
    font-size: 27px;
    max-width: 38ch;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bqt {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .bqt-quote::before {
    margin-bottom: var(--spacing-30, 30px);
  }

  /* Measure cap drops out */
  .bqt-body p {
    font-size: 22px;
    line-height: 1.4;
    max-width: none;
  }

  .bqt-source {
    margin-top: var(--spacing-35, 35px);
  }
}



/* ============================================================
   FAQ
   ============================================================ */

.bfaq {
  --bfaq-accent: #ff5102;
  --bfaq-surface: #0f1012;
  --bfaq-ink: #fdfdfd;
  --bfaq-ink-muted: rgba(253, 253, 253, 0.66);
  --bfaq-hairline: rgba(255, 255, 255, 0.10);
  --bfaq-edge: rgba(255, 255, 255, 0.14);

  background: var(--bfaq-surface);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  position: relative;
  z-index: 2;
}


.bfaq-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.bfaq-eyebrow {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-ash-gray, #8f8f8f);
}

.bfaq-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bfaq-ink);
}

/* ─────────────────────────────────────────────
   Items
   ───────────────────────────────────────────── */

.bfaq-item {
  border-top: 0.5px solid var(--bfaq-hairline);
}

.bfaq-item:first-child {
  border-top: 0;
}

.bfaq-item:last-child {
  border-bottom: 0.5px solid var(--bfaq-hairline);
}

.bfaq-q {
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.bfaq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-50, 50px);
  padding: var(--spacing-35, 35px) 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.bfaq-q-text {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--bfaq-ink);
  transition: color 260ms ease;
}

.bfaq-trigger:hover .bfaq-q-text,
.bfaq-item.is-open .bfaq-q-text {
  color: var(--bfaq-accent);
}

.bfaq-trigger:focus-visible {
  outline: 1px solid var(--bfaq-accent);
  outline-offset: 4px;
}

/* Square +/− marker */
.bfaq-icon {
  position: relative;
  flex: none;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--bfaq-edge);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 260ms ease;
}

.bfaq-icon::before,
.bfaq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--bfaq-ink);
  transition: transform 260ms ease, background-color 260ms ease;
}

.bfaq-icon::before {
  width: 12px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.bfaq-icon::after {
  width: 1px;
  height: 12px;
  transform: translate(-50%, -50%);
}

.bfaq-trigger:hover .bfaq-icon,
.bfaq-trigger:focus-visible .bfaq-icon,
.bfaq-item.is-open .bfaq-icon {
  border-color: var(--bfaq-accent);
}

.bfaq-item.is-open .bfaq-icon::before,
.bfaq-item.is-open .bfaq-icon::after {
  background: var(--bfaq-accent);
}

.bfaq-item.is-open .bfaq-icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

/* ─────────────────────────────────────────────
   Panel
   ───────────────────────────────────────────── */

.bfaq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.bfaq-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.bfaq-item.is-open .bfaq-panel {
  grid-template-rows: 1fr;
}

.bfaq-panel-inner p {
  margin: 0;
  padding-right: calc(40px + var(--spacing-50, 50px));
  padding-bottom: var(--spacing-50, 50px);
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--bfaq-ink-muted);
}

.bfaq ::selection {
  background: var(--bfaq-accent);
  color: var(--bfaq-surface);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bfaq {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .bfaq-shell {
    display: block;
  }

  .bfaq-masthead {
    padding-bottom: var(--spacing-69, 69px);
  }

  .bfaq-heading {
    max-width: 46ch;
  }

  .bfaq-item:first-child {
    border-top: 0.5px solid var(--bfaq-hairline);
  }

  .bfaq-trigger {
    gap: var(--spacing-35, 35px);
    padding: var(--spacing-30, 30px) 0;
  }

  .bfaq-panel-inner p {
    padding-right: calc(40px + var(--spacing-35, 35px));
    padding-bottom: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bfaq {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .bfaq-masthead {
    padding-bottom: var(--spacing-50, 50px);
  }

  .bfaq-heading {
    font-size: 22px;
    max-width: none;
  }

  .bfaq-trigger {
    gap: var(--spacing-22, 22px);
    padding: var(--spacing-30, 30px) 0;
  }

  .bfaq-q-text {
    font-size: 18px;
  }

  .bfaq-icon {
    width: 34px;
    height: 34px;
  }

  .bfaq-panel-inner p {
    padding-right: 0;
    padding-bottom: var(--spacing-30, 30px);
    max-width: none;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .bfaq-panel,
  .bfaq-q-text,
  .bfaq-icon,
  .bfaq-icon::before,
  .bfaq-icon::after {
    transition: none;
  }
}


/* ============================================================
   Artefact band
   ============================================================ */

.bab {
  --bab-scrim: 15, 16, 18;        /* Off-black, as rgb parts */

  position: relative;
  background: var(--color-off-black, #0f1012);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* ─────────────────────────────────────────────
   Artefact
   ───────────────────────────────────────────── */

.bab-frame {
  position: relative;
  margin: 0;
  width: 100%;
  height: min(44vw, 640px);
  overflow: hidden;
}

.bab-art {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bab-art--crop {
  display: none;
}

.bab-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      to right,
      rgba(var(--bab-scrim), 0.72) 0%,
      rgba(var(--bab-scrim), 0.46) 38%,
      rgba(var(--bab-scrim), 0.10) 72%,
      rgba(var(--bab-scrim), 0.04) 100%
    );
}

/* ─────────────────────────────────────────────
   Caption
   ───────────────────────────────────────────── */

.bab-caption-layer {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
}


.bab-caption {
  max-width: 44ch;
  pointer-events: auto;
}

.bab-line {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* Full measure */
.bab-rule {
  display: block;
  width: 100%;
  height: 0.5px;
  margin: var(--spacing-35, 35px) 0;
  background: rgba(253, 253, 253, 0.4);
}

/* ─────────────────────────────────────────────
   Other services
   ───────────────────────────────────────────── */

.bab-explore {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-11, 11px);
}

.bab-explore-label {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.8);
}

.bab-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6, 6px);
}

/* Squared rather than pilled */
.bab-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 var(--spacing-11, 11px);
  border: 0.5px solid var(--color-pure-white, #fdfdfd);
  border-radius: 0;
  background: transparent;
  color: var(--color-pure-white, #fdfdfd);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  text-decoration: none;
  transition: background-color 260ms ease;
}

.bab-chip:hover,
.bab-chip:focus-visible {
  background-color: rgba(253, 253, 253, 0.14);
}

.bab-chip:focus-visible {
  outline: 1px solid var(--color-pure-white, #fdfdfd);
  outline-offset: 3px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .bab-frame {
    height: 520px;
  }

  .bab-caption {
    max-width: 38ch;
  }

  .bab-line {
    font-size: 22px;
  }

  .bab-rule {
    margin: var(--spacing-30, 30px) 0;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .bab-frame {
    height: 440px;
  }

  .bab-art--wide {
    display: none;
  }

  .bab-art--crop {
    display: block;
  }

  .bab-veil {
    background-image:
      linear-gradient(
        to top,
        rgba(var(--bab-scrim), 0.78) 0%,
        rgba(var(--bab-scrim), 0.5) 30%,
        rgba(var(--bab-scrim), 0.16) 58%,
        rgba(var(--bab-scrim), 0) 80%
      );
  }

  .bab-caption-layer {
    top: auto;
    bottom: var(--spacing-35, 35px);
    transform: none;
  }

  .bab-caption {
    max-width: none;
  }

  .bab-line {
    font-size: 18px;
  }

  /* Tighter above than below */
  .bab-rule {
    margin: var(--spacing-11, 11px) 0 var(--spacing-22, 22px);
  }

  .bab-chip {
    height: 30px;
    font-size: 13px;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .bab-chip {
    transition: none;
  }
}


/* ============================================================
   Artefact band
   ============================================================ */

.dab {
  --dab-scrim: 15, 16, 18;        /* Off-black, as rgb parts */

  position: relative;
  background: var(--color-off-black, #0f1012);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* ─────────────────────────────────────────────
   Artefact
   ───────────────────────────────────────────── */

.dab-frame {
  position: relative;
  margin: 0;
  width: 100%;
  height: min(44vw, 640px);
  overflow: hidden;
}

.dab-art {

  object-fit: contain
  object-position: center top;
}

.dab-art--crop {
  display: none;
}

.dab-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      to right,
      rgba(var(--dab-scrim), 0.0) 0%,
      rgba(var(--dab-scrim), 0.0) 38%,
      rgba(var(--dab-scrim), 0.0) 72%,
      rgba(var(--dab-scrim), 0.0) 100%
    );
}

/* ─────────────────────────────────────────────
   Caption
   ───────────────────────────────────────────── */

.dab-caption-layer {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
}


.dab-caption {
  max-width: 44ch;
  pointer-events: auto;
}

.dab-line {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--color-pure-white, #fdfdfd);
}

/* Full measure */
.dab-rule {
  display: block;
  width: 100%;
  height: 0.5px;
  margin: var(--spacing-35, 35px) 0;
  background: rgba(253, 253, 253, 0.4);
}

/* ─────────────────────────────────────────────
   Other services
   ───────────────────────────────────────────── */

.dab-explore {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-11, 11px);
}

.dab-explore-label {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  color: rgba(253, 253, 253, 0.8);
}

.dab-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6, 6px);
}

/* Squared rather than pilled */
.dab-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 var(--spacing-11, 11px);
  border: 0.5px solid var(--color-pure-white, #fdfdfd);
  border-radius: 0;
  background: transparent;
  color: var(--color-pure-white, #fdfdfd);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 350;
  text-decoration: none;
  transition: background-color 260ms ease;
}

.dab-chip:hover,
.dab-chip:focus-visible {
  background-color: rgba(253, 253, 253, 0.14);
}

.dab-chip:focus-visible {
  outline: 1px solid var(--color-pure-white, #fdfdfd);
  outline-offset: 3px;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .dab-frame {
    height: 520px;
  }

  .dab-caption {
    max-width: 38ch;
  }

  .dab-line {
    font-size: 22px;
  }

  .dab-rule {
    margin: var(--spacing-30, 30px) 0;
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .dab-frame {
    height: 440px;
  }

  .dab-art--wide {
    display: none;
  }

  .dab-art--crop {
    display: block;
  }

  .dab-veil {
    background-image:
      linear-gradient(
        to top,
        rgba(var(--dab-scrim), 0.78) 0%,
        rgba(var(--dab-scrim), 0.5) 30%,
        rgba(var(--dab-scrim), 0.16) 58%,
        rgba(var(--dab-scrim), 0) 80%
      );
  }

  .dab-caption-layer {
    top: auto;
    bottom: var(--spacing-35, 35px);
    transform: none;
  }

  .dab-caption {
    max-width: none;
  }

  .dab-line {
    font-size: 18px;
  }

  /* Tighter above than below */
  .dab-rule {
    margin: var(--spacing-11, 11px) 0 var(--spacing-22, 22px);
  }

  .dab-chip {
    height: 30px;
    font-size: 13px;
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .dab-chip {
    transition: none;
  }
}


/* ============================================================
   Contact
   ============================================================ */



/* ── Masthead ─────────────────────────────────────────────── */

/* 300 is the display exception to the 350 rule */


/* ── Row ─────── */

.ctk-row.is-focus::before { opacity: 1; }

.ctk-row.is-focus .ctk-key { color: var(--ctk-ink); }


/* ── Agenda records ───────────────────────────────────────── */


/* ── Intake ───────────────────────────────────────────────── */

.ctk-progress-bar i.is-on { background: var(--ctk-accent); }
.ctk-step.is-active { display: block; }

.ctk-step.is-active > .ctk-row:last-child {
  border-bottom: 0.5px solid var(--ctk-hairline);
}


/* ── Controls ── */

.ctk-val select:invalid { color: var(--ctk-ink-faint); }


/* ── Error ────────────── */

.ctk-row.is-error::before {
  opacity: 1;
  background: var(--ctk-ink);
}

.ctk-row.is-error .ctk-key { color: var(--ctk-ink); }


/* ── Notes ────────────────────────────────────────────────── */


/* ── Actions ──────────────────────────────────────────────── */

.ctk-btn:hover {
  background: transparent;
  color: var(--ctk-accent);
  border-color: var(--ctk-accent);
}

.ctk-btn[disabled] {
  color: var(--ctk-ink-faint);
  cursor: default;
}

.ctk-back:hover { color: var(--ctk-ink); }


/* ── Receipt ──────────────────────────────────────────────── */


/* ── Logos ────────────────────────────────────────────────── */

.ctk-logos img:hover { opacity: 0.8; }


/* ── Tablet ───────────────────────────────────────────────── */


/* ── Mobile ───────────────────────────────────────────────── */

@media (max-width: 768px) {

  /* Channel collapses above the measure */

}/* ============================================================
   Careers CTA
   ============================================================ */
.ccta-band{
  --ccta-ink:#0f1012;
  --ccta-ground:#fdfdfd;
  --ccta-signal:#0071e3;
  --ccta-hair:rgba(15,16,18,0.12);
  --ccta-ease:cubic-bezier(0.22,0.61,0.36,1);

  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  padding-block:calc(var(--hdr-clearance,110px) + clamp(35px,5vw,50px)) calc(var(--hdr-clearance,110px) + clamp(35px,5vw,50px) + 40px);
  background:var(--ccta-ground);
  color:var(--ccta-ink);
  font-family:var(--font-inter-tight);
  font-feature-settings:"ss01" on,"ss02" on,"cv01" on,"cv11" on;
  letter-spacing:0;
}
.ccta-band *{letter-spacing:0;border-radius:0;}

/* ---- Full-bleed at every breakpoint ---- */
.ccta-plate{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  pointer-events:none;
}
.ccta-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  opacity:0;
  animation:ccta-plate-in 1.2s var(--ccta-ease) .1s forwards;
}
@keyframes ccta-plate-in{to{opacity:1;}}

/* ---- Centred block ---- */
.ccta-inner{
  position:relative;
  z-index:1;
  width:100%;
}

.ccta-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-inline:auto;
  max-width:560px;
  text-align:center;
}

.ccta-title{
  margin:0;
  max-width:14ch;
  font-size:clamp(32px,3.8vw,54px);
  font-weight:300;
  line-height:1.1;
  color:var(--ccta-ink);
}

.ccta-rule{
  display:block;
  width:94px;
  height:0;
  margin:var(--spacing-35,35px) 0 0;
  border-top:0.5px solid var(--ccta-hair);
}

.ccta-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:var(--spacing-22,22px);
  margin-top:var(--spacing-35,35px);
}

/* ---- Buttons ---- */
.ccta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 var(--spacing-30,30px);
  border:0.5px solid rgba(15,16,18,0.22);
  background: #ffff;
  color:var(--ccta-ink);
  font-family:inherit;
  font-size:12px;
  font-weight:400;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:
    border-color .4s var(--ccta-ease),
    color .4s var(--ccta-ease),
    background-color .4s var(--ccta-ease);
}
.ccta-btn:hover,
.ccta-btn:focus-visible{
  border-color:var(--ccta-signal);
  color:var(--ccta-signal);
}
.ccta-btn:focus-visible{
  outline:0.5px solid var(--ccta-signal);
  outline-offset:4px;
}

/* Exception */
.ccta-btn--signal{
  background-color:var(--ccta-signal);
  border-color:var(--ccta-signal);
  color:var(--ccta-ground);
}
.ccta-btn--signal:hover,
.ccta-btn--signal:focus-visible{
  background-color:transparent;
  border-color:var(--ccta-signal);
  color:var(--ccta-signal);
}

/* ---- Tablet ---- */
@media (max-width:1023px){
  .ccta-col{max-width:460px;}
  .ccta-title{font-size:38px;max-width:15ch;}
}

/* ---- Mobile ---- */
@media (max-width:767px){
  .ccta-band{
    padding-block:calc(var(--hdr-clearance,110px) + var(--spacing-35,35px)) calc(var(--hdr-clearance,110px) + var(--spacing-35,35px) + 30px);
  }
  .ccta-col{max-width:none;}
  .ccta-title{font-size:30px;max-width:15ch;}
  .ccta-rule{margin-top:var(--spacing-22,22px);width:60px;}
  .ccta-actions{gap:var(--spacing-11,11px);margin-top:var(--spacing-30,30px);}
  .ccta-btn{padding:0 var(--spacing-22,22px);}
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  .ccta-img{opacity:1;animation:none;}
  .ccta-btn{transition:none;}
}
/* ========================================================================
   Hlead
   ======================================================================== */

.hlead {
  /* --- Section --- */
  --hl-ink:     var(--color-off-black, #0f1012);
  --hl-muted:   var(--color-steel-gray, #5e5e5e);
  --hl-faint:   var(--color-ash-gray, #8f8f8f);
  --hl-accent:  #0071e3;
  --hl-surface: var(--color-pure-white, #fdfdfd);   /* Must match the page ground */
  --hl-hairline-soft: rgba(15, 16, 18, 0.08);
  --hl-ease:    cubic-bezier(0.22, 0.61, 0.36, 1);

  /* --- Artefact chrome --- */
  --hw-mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --hw-ink:   var(--color-off-black, #0f1012);
  --hw-mute:  var(--color-steel-gray, #5e5e5e);
  --hw-ash:   var(--color-ash-gray, #8f8f8f);
  --hw-panel: var(--color-pure-white, #fdfdfd);
  --hw-hair:  rgba(15, 16, 18, 0.14);
  --hw-ease:  cubic-bezier(0.22, 0.61, 0.36, 1);

  /* Matched to .hro */
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-94, 94px);

  font-family: 'Inter Tight', Inter, sans-serif;
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  letter-spacing: 0;
}

/* ======================================================================
   1
   ====================================================================== */

.hlead-copy { display: block; }

.hlead-heading {
  margin: 0;
  font-size: 48px;            /* Matched to .hro-heading */
  font-weight: 300;           /* Exception */
  line-height: 1.16;          /* Exception */
  letter-spacing: 0;
  color: var(--hl-ink);
}

.hlead-line { display: block; }
.hlead-line--muted { color: var(--hl-accent); }   /* Exception */

/* Inter Tight is spaced for display sizes */
.hlead-deck {
  margin: var(--spacing-35, 35px) 0 0;
  max-width: 52ch;
  font-size: 18px;            /* Matched to .hro-lede */
  font-weight: 350;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: var(--hl-muted);
}

/* ======================================================================
   2
   ====================================================================== */

.hlead-proof {
  margin-top: var(--spacing-113, 113px);
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid var(--hl-hairline-soft);
}

.hlead-proof-label {
  margin: 0 0 var(--spacing-35, 35px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--hl-faint);
}

/* Track */
.hlead-logos-track {
  position: relative;
}

.hlead-logos-track::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 56px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    to right,
    rgba(253, 253, 253, 0) 0%,
    var(--hl-surface) 78%
  );
  transition: opacity 260ms ease;
}

.hlead-logos {
  /* Row height every logo is centred against */
  --hl-row: 60px;

  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  column-gap: var(--spacing-50, 50px);
}

.hlead-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: var(--hl-row);
  margin: 0;
  padding: 0;
  line-height: 0;
}

.hlead-logo img {
  display: block;
  width: auto;
  height: var(--h, 22px);
  max-width: 100%;
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.45;
  transition: opacity 260ms ease;
}

.hlead-logo img:hover { opacity: 0.85; }

/* ======================================================================
   3
   ====================================================================== */

.hlead .hw {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
  --hw-k: 1;
  --hw-accent: #0071e3;                                   /* CX */
}
.hlead .hw--ce { --hw-dw: 285; }
.hlead .hw--ai { --hw-dw: 270; --hw-accent: #47a8a9; }   /* Digital & AI */
.hlead .hw--bo { --hw-dw: 285; --hw-accent: #ff5102; }   /* Back Office */

.hlead .hw[data-hot="1"] { z-index: 4; }

.hlead .hw-text {
  position: relative;
  z-index: 1;
  transition: opacity 0.26s var(--hw-ease);
}

.hlead .hw[data-hot="1"] .hw-text,
.hlead .hw:focus-visible .hw-text { opacity: 0.06; }

/* The editor is text over text */
.hlead .hw--ai[data-hot="1"] .hw-text,
.hlead .hw--ai:focus-visible .hw-text { opacity: 0; }

.hlead .hw:focus-visible { outline: none; }

.hlead .hw-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: none;
  pointer-events: none;
  /* Fit to the word */
  transform-origin: center center;
  transform: translate(-50%, -50%) scale(var(--hw-k, 1));

  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 350;
  font-feature-settings: normal;
  transition: opacity 0.22s var(--hw-ease);
}

.hlead .hw[data-align="start"] .hw-overlay {
  left: 0;
  transform-origin: left center;
  transform: translate(0, -50%) scale(var(--hw-k, 1));
}

.hlead .hw[data-align="end"] .hw-overlay {
  left: auto;
  right: 0;
  transform-origin: right center;
  transform: translate(0, -50%) scale(var(--hw-k, 1));
}

.hlead .hw[data-hot="1"] .hw-overlay { display: block; opacity: 1; }
.hlead .hw[data-out="1"] .hw-overlay { opacity: 0; }

/* Shared resolved marker */
.hlead .hw-check {
  display: inline-block;
  width: 7px;
  height: 3.5px;
  border-left: 1px solid var(--hw-accent);
  border-bottom: 1px solid var(--hw-accent);
  transform: rotate(-45deg);
}

/* ======================================================================
   4
   ====================================================================== */

.hlead .hwt {
  display: block;
  width: 285px;
  padding: 9px 12px;
  background: var(--hw-panel);
  animation: hwRise 0.22s var(--hw-ease) both;
}

.hlead .hwt-dispatch {
  display: grid;
  grid-template-columns: auto minmax(14px, 1fr) auto;
  align-items: center;
  gap: 8px;
  height: 14px;
  padding-bottom: 7px;
  margin-bottom: 6px;
  border-bottom: 0.5px solid var(--hw-hair);
  opacity: 0;
}

.hlead .hw[data-hot="1"] .hwt-dispatch {
  animation: hwRowIn 0.22s var(--hw-ease) forwards;
}

.hlead .hwt-call {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  text-transform: uppercase;
  color: var(--hw-accent);
}

/* Outlined, never filled */
.hlead .hwt-beacon {
  display: block;
  width: 5px;
  height: 5px;
  border: 1px solid var(--hw-accent);
}

.hlead .hw[data-hot="1"] .hwt-beacon { animation: hwBeacon 1.5s steps(1) infinite; }

.hlead .hwt-route {
  height: 1px;
  background-image: repeating-linear-gradient(
    90deg,
    var(--hw-ash) 0 3px,
    transparent 3px 8px
  );
  background-size: 8px 1px;
}

.hlead .hw[data-hot="1"] .hwt-route { animation: hwCrawl 0.62s linear infinite; }

.hlead .hwt-dest {
  font-size: 9px;
  text-transform: uppercase;
  color: var(--hw-ink);
  opacity: 0;
  transform: translateX(4px);
}

.hlead .hw[data-hot="1"] .hwt-dest {
  animation: hwLand 0.26s var(--hw-ease) 0.52s forwards;
}

.hlead .hwt-row {
  display: grid;
  grid-template-columns: 32px 50px 1fr 10px;
  align-items: center;
  gap: 8px;
  height: 15px;
  opacity: 0;
}

.hlead .hw[data-hot="1"] .hwt-row {
  animation: hwRowIn 0.24s var(--hw-ease) 0.16s forwards;
}

.hlead .hw[data-hot="1"] .hwt-row--live { animation-delay: 0.24s; }

.hlead .hwt-time {
  font-family: var(--hw-mono);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  color: var(--hw-ash);
}

.hlead .hwt-role {
  font-size: 9px;
  text-transform: uppercase;
  color: var(--hw-ash);
}

.hlead .hwt-msg {
  position: relative;
  white-space: nowrap;
  color: var(--hw-ink);
}

.hlead .hwt-mark { display: block; width: 10px; height: 8px; }

.hlead .hwt-row--live .hwt-msg { display: block; height: 11px; }

.hlead .hwt-dots {
  position: absolute;
  left: 0;
  top: 3px;
  display: inline-flex;
  gap: 3px;
}

.hlead .hwt-dots i {
  display: block;
  width: 3px;
  height: 3px;
  background: var(--hw-ash);
}

.hlead .hw[data-hot="1"] .hwt-dots i {
  animation: hwDot 1.1s var(--hw-ease) infinite;
  animation-delay: calc(var(--d) * 0.16s);
}

.hlead .hw[data-hot="1"] .hwt-dots { animation: hwDotsOut 3.4s steps(1) infinite; }

.hlead .hwt-said,
.hlead .hwt-row--live .hw-check { opacity: 0; }

.hlead .hw[data-hot="1"] .hwt-said { animation: hwSaid 3.4s var(--hw-ease) infinite; }

.hlead .hw[data-hot="1"] .hwt-row--live .hw-check {
  animation: hwPop 3.4s var(--hw-ease) 0.12s infinite;
}

/* ======================================================================
   5
   ====================================================================== */

.hlead .hwe {
  position: relative;
  display: block;
  width: 270px;
  padding: 10px 14px;
  background: var(--hw-panel);
  font-family: var(--hw-mono);
  font-size: 12px;
  line-height: 16px;
  animation: hwRise 0.22s var(--hw-ease) both;
}

.hlead .hwe-band {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 10px;
  height: 16px;
  background: rgba(15, 16, 18, 0.055);
}

.hlead .hw[data-hot="1"] .hwe-band { animation: hwBand 3.4s steps(1) infinite; }

.hlead .hwe-line { position: relative; display: block; white-space: pre; }

.hlead .hwe-num {
  display: inline-block;
  width: 1.4ch;
  margin-right: 1.2ch;
  text-align: right;
  color: var(--hw-ash);
}

.hlead .hwe-code { display: inline-block; vertical-align: bottom; }

/* Four tokens, no more */
.hlead .t-fn { color: var(--hw-accent); font-style: normal; }
.hlead .t-id { color: var(--hw-ink);    font-style: normal; }
.hlead .t-op { color: var(--hw-mute);   font-style: normal; }
.hlead .t-st { color: var(--hw-mute);   font-style: normal; }

/* Typing is a clipped width on a mono grid */
.hlead .hwe-code--type {
  overflow: hidden;
  width: 29ch;
  vertical-align: bottom;
}

.hlead .hw[data-hot="1"] .hwe-code--type { animation: hwType 3.4s steps(29) infinite; }

.hlead .hwe-caret {
  display: inline-block;
  width: 0.55ch;
  height: 0.82em;
  margin-left: 1px;
  background: var(--hw-accent);
  transform: translateY(0.1em);
  vertical-align: bottom;
}

.hlead .hw[data-hot="1"] .hwe-caret { animation: hwCaret 1s steps(1) infinite; }

/* ======================================================================
   6
   ====================================================================== */

.hlead .hwn {
  display: block;
  width: 285px;
  height: 72px;
  overflow: visible;
  animation: hwRise 0.22s var(--hw-ease) both;
}

.hlead .hwn-card {
  fill: var(--hw-panel);
  stroke: var(--hw-ink);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.hlead .hwn-glyph { fill: var(--hw-mute); stroke: none; }

.hlead .hwn-label {
  font-family: var(--hw-mono);
  font-size: 10px;
  letter-spacing: 0;
  fill: var(--hw-ink);
  stroke: none;
}

.hlead .hwn-node {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}

.hlead .hw[data-hot="1"] .hwn-node {
  animation: hwNodeIn 0.2s var(--hw-ease) forwards;
  animation-delay: calc(0.08s + var(--n) * 0.11s);
}

.hlead .hwn-port { fill: var(--hw-mute); stroke: none; opacity: 0; }

.hlead .hw[data-hot="1"] .hwn-port {
  animation: hwFadeIn 0.2s var(--hw-ease) forwards;
  animation-delay: calc(0.2s + var(--n) * 0.11s);
}

.hlead .hwn-wire {
  fill: none;
  stroke: var(--hw-ash);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.hlead .hw[data-hot="1"] .hwn-wire {
  animation: hwDraw 0.22s var(--hw-ease) forwards;
  animation-delay: calc(0.04s + var(--w) * 0.08s);
}

/* Dash period 0.17 */
.hlead .hwn-pulse {
  fill: none;
  stroke: var(--hw-accent);
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 0.05 0.12;
  opacity: 0;
}

.hlead .hw[data-hot="1"] .hwn-pulse {
  animation:
    hwPulseIn 0.3s var(--hw-ease) forwards,
    hwMarch 1.3s linear infinite;
  animation-delay: calc(0.28s + var(--w) * 0.1s), 0s;
}

.hlead .hwn-tick rect {
  fill: var(--hw-panel);
  stroke: var(--hw-accent);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.hlead .hwn-tick path {
  fill: none;
  stroke: var(--hw-accent);
  stroke-width: 1.2;
  stroke-linecap: square;
  vector-effect: non-scaling-stroke;
}

.hlead .hwn-tick {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}

.hlead .hw[data-hot="1"] .hwn-tick {
  animation: hwPop 2.8s var(--hw-ease) infinite;
  animation-delay: calc(0.4s + var(--n) * 0.3s);
}


/* ======================================================================
   8
   ====================================================================== */

@keyframes hwRise    { from { opacity: 0; transform: translateY(4px); } }
@keyframes hwFadeIn  { to   { opacity: 1; } }
@keyframes hwPulseIn { to   { opacity: 0.92; } }
@keyframes hwDraw    { to   { stroke-dashoffset: 0; } }
@keyframes hwMarch   { from { stroke-dashoffset: 0.34; } to { stroke-dashoffset: 0; } }
@keyframes hwCrawl   { to   { background-position-x: -8px; } }
@keyframes hwBeacon  { 0%, 58% { opacity: 1; } 59%, 100% { opacity: 0.2; } }
@keyframes hwCaret   { 0%, 55% { opacity: 1; } 56%, 100% { opacity: 0; } }
@keyframes hwDot     { 0%, 100% { opacity: 0.3; } 40% { opacity: 1; } }
@keyframes hwDotsOut { 0%, 31% { opacity: 1; } 32%, 100% { opacity: 0; } }

@keyframes hwLand {
  from { opacity: 0; transform: translateX(4px); }
  to   { opacity: 1; transform: none; }
}

@keyframes hwRowIn {
  from { opacity: 0; transform: translateY(3px); }
  to   { opacity: 1; transform: none; }
}

@keyframes hwNodeIn {
  from { opacity: 0; transform: scale(0.66); }
  to   { opacity: 1; transform: none; }
}

@keyframes hwPop {
  0%, 8%   { opacity: 0; transform: scale(0.4); }
  16%, 88% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: none; }
}

@keyframes hwSaid {
  0%, 31%  { opacity: 0; transform: translateY(2px); }
  38%, 90% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: none; }
}

@keyframes hwBand {
  0%       { top: 10px; }
  4%       { top: 26px; }
  8%, 100% { top: 42px; }
}

@keyframes hwType {
  0%, 9%    { width: 0; }
  29%, 84%  { width: 29ch; }
  88%, 100% { width: 0; }
}

@keyframes hwHint {
  0%       { transform: scaleX(0); transform-origin: left center; }
  22%, 68% { transform: scaleX(1); transform-origin: left center; }
  100%     { transform: scaleX(0); transform-origin: right center; }
}

/* ======================================================================
   9
   ====================================================================== */

@media (max-width: 1023px) {
  .hlead {
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .hlead-heading { font-size: 40px; }
  .hlead-deck    { max-width: 56ch; }

  .hlead-proof { margin-top: var(--spacing-69, 69px); }

  .hlead-logos-track {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .hlead-logos-track::-webkit-scrollbar { display: none; }

  .hlead-logos-track::after {
    opacity: 1;
    position: sticky;
    float: right;
    margin-left: -56px;
  }

  /* Max-content stops the wrap */
  .hlead-logos {
    display: flex;
    width: max-content;
    column-gap: var(--spacing-50, 50px);
    padding-right: var(--spacing-50, 50px);
  }

  .hlead-logo { flex: none; }
}

@media (max-width: 767px) {
  .hlead {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 100px));
    padding-bottom: var(--spacing-50, 50px);
  }

  .hlead-heading { font-size: 30px; }

  .hlead-deck {
    margin-top: var(--spacing-30, 30px);
    font-size: 16px;
    max-width: none;
  }

  .hlead-proof { margin-top: var(--spacing-50, 50px); }

  .hlead-proof-label { margin-bottom: var(--spacing-30, 30px); }

  .hlead-logos {
    --hl-row: 48px;
    column-gap: var(--spacing-35, 35px);
    padding-right: var(--spacing-35, 35px);
  }

  .hlead-logo img { height: calc(var(--h, 22px) * 0.85); }
}

@media (hover: none), (max-width: 767px) {
  .hlead .hw-overlay { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .hlead .hw-overlay,
  .hlead .hw[data-hint="1"]::after { display: none; }
  .hlead .hw-text,
  .hlead-logo img,
  .hlead-logos-track::after { transition: none; }
}
/* ============================================================
   Execution Framework
   ============================================================ */

.ovs {
  --ovs-ink:   var(--color-off-black, #0f1012);
  --ovs-muted: var(--color-steel-gray, #5e5e5e);
  --ovs-faint: var(--color-ash-gray, #8f8f8f);
  --ovs-blue:  #0071e3;                          /* Brand blue */
  --ovs-bg:    var(--color-off-white, #f2f2f4);

  /* Three weights of hairline */
  --ovs-guide:      rgba(0, 0, 0, 0.05);   /* Gate guides */
  --ovs-hair:       rgba(0, 0, 0, 0.12);   /* Structural rules */
  --ovs-bracket:    rgba(0, 0, 0, 0.28);   /* The measure */
  --ovs-bracket-on: rgba(0, 0, 0, 0.45);   /* Hover */

  /* Weight set */
  --ovs-w-tag:   400;
  --ovs-w-body:  350;
  --ovs-w-title: 350;

  background: var(--ovs-bg);
  color: var(--ovs-ink);
  padding-top: var(--spacing-130, 130px);
  padding-bottom: var(--spacing-130, 130px);
  font-family: 'Inter Tight', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-weight: var(--ovs-w-body);
  font-optical-sizing: auto;
}

.ovs *,
.ovs *::before,
.ovs *::after { box-sizing: border-box; }


/* 300px rail + 94px gap = 394px seam */
.ovs-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
}

.ovs-rail { grid-column: 1; }
.ovs-body { grid-column: 2; min-width: 0; }

/* ─────────────────────────────────────────────
   Rail
   ───────────────────────────────────────────── */

.ovs-rail-inner {
  position: sticky;
  top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

.ovs-title {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 27px;
  line-height: 1.2;
  font-weight: var(--ovs-w-title);
  color: var(--ovs-ink);
}

.ovs-statement {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-muted);
  text-align: left;
}

/* ── Scale-model index ── */

.ovs-index {
  margin-top: var(--spacing-50, 50px);
  padding-top: var(--spacing-22, 22px);
  border-top: 0.5px solid var(--ovs-hair);
}

.ovs-index-label {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: var(--ovs-w-body);
  text-transform: uppercase;
  color: var(--ovs-faint);
}

.ovs-index-list { list-style: none; margin: 0; padding: 0; }
.ovs-index-list li + li { margin-top: var(--spacing-11, 11px); }

.ovs-entry {
  display: flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

/* Miniature bracket */
.ovs-entry-mark {
  position: relative;
  flex: none;
  width: calc(var(--w, 4) * 14px);
  height: 10px;
  color: var(--ovs-bracket);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 0.5px;
  background-position: 0 50%;
  background-repeat: no-repeat;
  transition: color 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-entry-mark::before,
.ovs-entry-mark::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  border-left: 0.5px solid currentColor;
}
.ovs-entry-mark::before { left: 0; }
.ovs-entry-mark::after  { right: 0; }

.ovs-entry-name {
  font-size: 12px;
  line-height: 1.2;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-faint);
  transition: color 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-entry:hover .ovs-entry-name,
.ovs-entry.is-active .ovs-entry-name { color: var(--ovs-ink); }

.ovs-entry:hover .ovs-entry-mark,
.ovs-entry.is-active .ovs-entry-mark { color: var(--ovs-blue); }

.ovs-entry:focus-visible {
  outline: 1px solid var(--ovs-blue);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Gate scale
   ───────────────────────────────────────────── */

.ovs-scale {
  position: relative;
  min-height: 34px;
  margin-bottom: var(--spacing-22, 22px);
}

.ovs-gate {
  position: absolute;
  top: 0;
  left: var(--at);
  transform: translateX(-50%);
  width: 90px;
  text-align: center;
  font-size: 12px;
  line-height: 1.3;
  font-weight: var(--ovs-w-body);
  text-transform: uppercase;
  color: var(--ovs-faint);
}

.ovs-gate:first-child { transform: translateX(0);     text-align: left; }
.ovs-gate:last-child  { transform: translateX(-100%); text-align: right; }

/* ── Affordance hint ── */

.ovs-hint {
  margin: 0 0 var(--spacing-11, 11px);
  text-align: right;
  font-size: 12px;
  line-height: 1.2;
  font-weight: var(--ovs-w-body);
  text-transform: uppercase;
  color: var(--ovs-faint);
  transition: opacity 300ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-hint::after { content: " \2192"; }

.ovs-hint.is-spent {
  opacity: 0;
  pointer-events: none;
}

/* ─────────────────────────────────────────────
   Plot
   ───────────────────────────────────────────── */

.ovs-plot {
  position: relative;
  display: grid;
  grid-template-columns: repeat(16, minmax(0, 1fr));
  row-gap: var(--spacing-50, 50px);
  padding-top: var(--spacing-22, 22px);
}

.ovs-guides {
  position: absolute;
  inset: 0;
  grid-column: 1 / -1;
  pointer-events: none;
}

.ovs-guides i {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--at);
  width: 0;
  border-left: 0.5px solid var(--ovs-guide);
}
.ovs-guides i:last-child { transform: translateX(-0.5px); }

/* ─────────────────────────────────────────────
   Phase
   ───────────────────────────────────────────── */

.ovs-phase {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(16, minmax(0, 1fr));
  scroll-margin-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

/* Bracket leads, tag follows, step last */
.ovs-extent {
  grid-column: var(--c1) / var(--c2);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

/* ── The bracket */

.ovs-bracket {
  position: relative;
  display: block;
  width: 100%;
  height: 14px;
  color: var(--ovs-bracket);
  transition: color 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-bracket::before,
.ovs-bracket::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  border-left: 0.5px solid currentColor;
}
.ovs-bracket::before { left: 0; }
.ovs-bracket::after  { right: 0; }

.ovs-rule {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 0;
  border-top: 0.5px solid currentColor;
}

/* Open */
.ovs-phase.is-open .ovs-sign::after {
  transform: translate(-50%, -50%) scaleY(0);
}

/* Range and mobile toggle */
.ovs-toggle { display: none; }

/* ── Tag */

.ovs-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--spacing-22, 22px);
  padding: 7px 9px;
  background: transparent;
  color: var(--ovs-blue);
  border: 0.5px solid var(--ovs-blue);
  border-radius: 0;
  font-size: 13px;
  line-height: 1;
  font-weight: var(--ovs-w-tag);
  white-space: nowrap;
  transition: background-color 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
              color 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-dot {
  flex: none;
  width: 4px;
  height: 4px;
  background: currentColor;
}

/* Exception */
.ovs-phase.is-open .ovs-tag {
  background: var(--ovs-blue);
  color: var(--color-pure-white, #fdfdfd);
}

.ovs-step {
  display: block;
  margin-top: var(--spacing-11, 11px);
  font-size: 16px;
  line-height: 1.3;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-ink);
  transition: color 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Hidden until the phase opens */
.ovs-note {
  display: none;
  margin-top: var(--spacing-11, 11px);
  font-size: 14px;
  line-height: 1.5;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-muted);
  text-align: left;
}

.ovs-phase.is-open .ovs-note { display: block; }

/* ── Resolved states ── */

.ovs-extent:hover .ovs-bracket,
.ovs-phase.is-linked .ovs-bracket { color: var(--ovs-bracket-on); }

.ovs-extent:hover .ovs-sign,
.ovs-phase.is-linked .ovs-sign { color: var(--ovs-ink); }

.ovs-phase.is-open .ovs-bracket { color: var(--ovs-blue); }
.ovs-phase.is-open .ovs-sign    { color: var(--ovs-blue); }

.ovs-extent:focus-visible {
  outline: 1px solid var(--ovs-blue);
  outline-offset: 4px;
}

/* ── Collapsible panel */

.ovs-panel {
  grid-column: var(--c1) / -1;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ovs-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.ovs-phase.is-open .ovs-panel { grid-template-rows: 1fr; }

.ovs-checks {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  column-gap: var(--spacing-22, 22px);
  row-gap: var(--spacing-22, 22px);
  margin: 0;
  padding: var(--spacing-30, 30px) 0 0;
}

.ovs-checks li {
  padding-top: var(--spacing-11, 11px);
  border-top: 0.5px solid var(--ovs-hair);
}

.ovs-check-num {
  display: block;
  margin-bottom: var(--spacing-6, 6px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-faint);
  font-variant-numeric: tabular-nums;
}

.ovs-check-text {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  font-weight: var(--ovs-w-body);
  color: var(--ovs-muted);
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {

  .ovs {
    padding-top: var(--spacing-94, 94px);
    padding-bottom: var(--spacing-94, 94px);

    --ovs-w-tag:   450;
    --ovs-w-title: 400;
  }

  .ovs-shell { display: block; }

  .ovs-rail-inner { position: static; }

  .ovs-rail { margin-bottom: var(--spacing-69, 69px); }

  .ovs-index { display: none; }

  .ovs-title { font-size: 22px; }
  .ovs-statement { max-width: 60ch; }

  .ovs-gate { font-size: 12px; width: 76px; }

  .ovs-bracket { height: 12px; }

  .ovs-tag { margin-top: var(--spacing-11, 11px); }

  .ovs-step { font-size: 14px; }
  .ovs-note { font-size: 13px; }

  .ovs-checks {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .ovs {
    padding-top: var(--spacing-69, 69px);
    padding-bottom: var(--spacing-69, 69px);

    --ovs-w-tag:   400;
    --ovs-w-title: 350;
  }

  .ovs-rail { margin-bottom: var(--spacing-50, 50px); }

  .ovs-title { font-size: 20px; margin-bottom: var(--spacing-11, 11px); }
  .ovs-statement { font-size: 14px; }

  .ovs-scale,
  .ovs-guides,
  .ovs-hint,
  .ovs-bracket { display: none; }

  .ovs-plot {
    display: block;
    padding-top: 0;
  }

  .ovs-phase {
    display: block;
    padding-top: var(--spacing-35, 35px);
    padding-bottom: var(--spacing-35, 35px);
    border-top: 0.5px solid var(--ovs-hair);
  }

  .ovs-phase:last-child {
    border-bottom: 0.5px solid var(--ovs-hair);
  }

  .ovs-extent {
    display: block;
    width: 100%;
  }

  .ovs-tag {
    margin-top: var(--spacing-11, 11px);
    font-size: 12px;
    padding: 6px 8px;
  }

  .ovs-step { font-size: 16px; }

  /* Always visible on phone */
  .ovs-note {
    display: block;
    font-size: 14px;
  }

  /* Text affordance in place of the +/− */
  .ovs-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--spacing-10, 10px);
    width: 100%;
    margin-top: var(--spacing-22, 22px);
    min-height: 24px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: var(--ovs-w-body);
    text-transform: uppercase;
    color: var(--ovs-faint);
  }

  .ovs-toggle::before { content: "Expand"; }
  .ovs-phase.is-open .ovs-toggle::before { content: "Collapse"; }

  /* Chevron */
  .ovs-chev {
    position: relative;
    flex: none;
    width: 9px;
    height: 9px;
    transform: translateY(-2px);
    transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .ovs-chev::before,
  .ovs-chev::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 6px;
    height: 0;
    border-top: 1px solid currentColor;
  }

  .ovs-chev::before {
    left: 0;
    transform-origin: left center;
    transform: rotate(45deg);
  }

  .ovs-chev::after {
    right: 0;
    transform-origin: right center;
    transform: rotate(-45deg);
  }

  .ovs-phase.is-open .ovs-chev {
    transform: translateY(1px) rotate(180deg);
  }

  .ovs-panel {
    display: grid;
    grid-column: auto;
  }

  .ovs-checks {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-11, 11px);
    padding-top: var(--spacing-22, 22px);
  }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .ovs-panel,
  .ovs-bracket,
  .ovs-chev,
  .ovs-tag,
  .ovs-step,
  .ovs-hint,
  .ovs-entry-mark,
  .ovs-entry-name { transition: none; }
}


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

.ixb-section {
  --ixb-base:      var(--surface-dark-surface, #0f1012);
  --ixb-ink:       var(--color-pure-white, #fdfdfd);
  --ixb-muted:     rgba(253, 253, 253, 0.62);
  --ixb-faint:     var(--color-ash-gray, #8f8f8f);
  --ixb-blue:      #2997ff;          /* #0230d9 lifts to this on dark ground */
  --ixb-hairline:  rgba(253, 253, 253, 0.10);
  --ixb-font:      'Inter Tight', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --ixb-ease:      cubic-bezier(0.22, 0.61, 0.36, 1);

  /* ---- Tuning handles ---- */
  --ixb-copy-col:  380px;            /* Lower this and the artefact grows */
  --ixb-seam:      var(--spacing-50, 50px);
  --ixb-band-pad:  clamp(50px, 7vw, 94px);
  --ixb-art-max:   620px;
  --ixa-blue:      var(--ixb-blue);
  --ixa-alert:     #ff5102;
  --ixa-run:       9.5s;

  background: var(--ixb-base);
  color: var(--ixb-ink);
  font-family: var(--ixb-font);
  font-weight: 350;
  letter-spacing: 0;
  font-feature-settings: normal;
  padding-block: var(--spacing-94, 94px) var(--spacing-130, 130px);
}

.ixb-section *,
.ixb-section *::before,
.ixb-section *::after { box-sizing: border-box; letter-spacing: 0; }

/* ---------- Header ------------------------------------------------------ */

.ixb-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-50, 50px);
  align-items: end;
  padding-bottom: var(--spacing-94, 94px);
}

.ixb-eyebrow {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  text-transform: uppercase;
  color: var(--ixb-faint);
  margin-bottom: var(--spacing-22, 22px);
}

.ixb-title {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  max-width: 15ch;
}

.ixb-title-lead  { color: var(--ixb-ink); }
.ixb-title-muted { display: block; color: var(--ixb-faint); }

.ixb-head-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-22, 22px);
  padding-bottom: 4px;
}

.ixb-lede {
  margin: 0;
  max-width: 46ch;
  font-size: 16px;
  line-height: 1.5;
  color: var(--ixb-muted);
  text-align: left;
}

.ixb-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 350;
  color: var(--ixb-blue);
  text-decoration: none;
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 220ms var(--ixb-ease);
}

.ixb-link:hover { border-bottom-color: var(--ixb-blue); }
.ixb-link svg   { width: 13px; height: 13px; flex: none; }

/* ---------- Bands ------------------------------------------------------- */

.ixb-bands { border-top: 0.5px solid var(--ixb-hairline); }

.ixb-band {
  display: grid;
  grid-template-columns: minmax(0, var(--ixb-copy-col)) minmax(0, 1fr);
  column-gap: var(--ixb-seam);
  align-items: center;
  padding-block: var(--ixb-band-pad);
  border-bottom: 0.5px solid var(--ixb-hairline);
}

.ixb-copy  { grid-column: 1; grid-row: 1; }
.ixb-media { grid-column: 2; grid-row: 1; }

/* Even bands mirror */
.ixb-band.is-flipped {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--ixb-copy-col));
}

.ixb-band.is-flipped .ixb-copy  { grid-column: 2; }
.ixb-band.is-flipped .ixb-media { grid-column: 1; }

.ixb-num {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  color: var(--ixb-faint);
  font-variant-numeric: tabular-nums;
  margin-bottom: var(--spacing-30, 30px);
}

.ixb-band-title {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--ixb-ink);
  max-width: 18ch;
}

.ixb-band-text {
  margin: 0;
  max-width: none;                   /* The column is the measure now */
  font-size: 16px;
  line-height: 1.5;
  color: var(--ixb-muted);
  text-align: left;
}

/* ---------- Artefact ---------------------------------------------------- */

.ixb-media {
  display: flex;
  justify-content: center;   /* Was flex-end */
  min-height: 1px;
}
.ixb-band.is-flipped .ixb-media { justify-content: center; }

.ixb-art {
  width: 100%;
  max-width: var(--ixb-art-max);
  height: auto;
  aspect-ratio: 680 / 470;
  display: block;
  color: var(--ixb-ink);             /* Drives every hairline via currentColor */
  overflow: visible;
}

/* ---------- Entry ------------------------------------------------------- */

.ixb-band .ixb-copy { opacity: 0; transform: translateY(10px); }

.ixb-band.is-in .ixb-copy {
  opacity: 1;
  transform: none;
  transition: opacity 520ms var(--ixb-ease), transform 520ms var(--ixb-ease);
}

.ixb-band.is-in .ixa-ring,
.ixb-band.is-in .ixa-core-sq,
.ixb-band.is-in .ixa-exit {
  stroke-dasharray: var(--ixa-len);
  animation: ixa-draw 900ms var(--ixb-ease) both;
}

.ixb-band.is-in .ixa-exit     { animation-delay: 1.05s; }
.ixb-band.is-in .ixa-exit-cap { animation: ixa-appear 500ms var(--ixb-ease) 1.55s both; }
.ixb-band.is-in .ixa-tracks   { animation: ixa-appear 700ms var(--ixb-ease) 260ms both; }

@keyframes ixa-draw   { from { stroke-dashoffset: var(--ixa-len); } to { stroke-dashoffset: 0; } }
@keyframes ixa-appear { from { opacity: 0; } to { opacity: 1; } }

.ixb-band.is-in .ixa-item {
  animation: ixa-run var(--ixa-run) linear infinite,
             ixa-item-fade var(--ixa-run) linear infinite;
}

@keyframes ixa-run {
  from { transform: translate(var(--ixa-x0, 22px), var(--ixa-y)); }
  to   { transform: translate(var(--ixa-x1, 244px), var(--ixa-y)); }
}

@keyframes ixa-item-fade {
  0%, 100% { opacity: 0; }
  14%, 84% { opacity: 1; }
}

.ixb-band.is-in .ixa-pulse {
  stroke-dasharray: 30 var(--ixa-len);
  animation: ixa-pulse var(--ixa-run, 9.5s) linear infinite;
}

@keyframes ixa-pulse {
  from { stroke-dashoffset: 30; }
  to   { stroke-dashoffset: var(--ixa-neg); }
}

/* ---------- Tablet ------------------------------------------------------ */

@media (max-width: 1023px) {
  .ixb-section {
    --ixb-copy-col: 300px;
    --ixb-seam: var(--spacing-34, 34px);
    --ixb-band-pad: clamp(40px, 6vw, 69px);
  }

  .ixb-header {
    grid-template-columns: 1fr;
    gap: var(--spacing-34, 34px);
    align-items: start;
    padding-bottom: var(--spacing-69, 69px);
  }

  .ixb-title { max-width: 20ch; }

  /* Alternation collapses */
  .ixb-band,
  .ixb-band.is-flipped {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-50, 50px);
  }

  .ixb-band .ixb-copy,
  .ixb-band.is-flipped .ixb-copy  { grid-column: 1; grid-row: 1; }

  .ixb-band .ixb-media,
  .ixb-band.is-flipped .ixb-media { grid-column: 1; grid-row: 2; justify-content: flex-start; }

  .ixb-band-title { max-width: 22ch; }
  .ixb-band-text  { max-width: 52ch; }
  .ixb-art        { margin-inline: auto; }
}

/* ---------- Mobile ------------------------------------------------------ */

@media (max-width: 767px) {
  .ixb-section { padding-block: var(--spacing-69, 69px) var(--spacing-94, 94px); }
  .ixb-band       { row-gap: var(--spacing-34, 34px); }
  .ixb-num        { margin-bottom: var(--spacing-22, 22px); }
  .ixb-band-title { max-width: none; }
  .ixb-band-text  { max-width: none; }
}

/* ---------- Reduced motion ---------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .ixb-band .ixb-copy { opacity: 1; transform: none; }
  .ixb-band.is-in .ixa-ring,
  .ixb-band.is-in .ixa-core-sq,
  .ixb-band.is-in .ixa-exit { stroke-dasharray: none; animation: none; }
  .ixb-band.is-in .ixa-item  { animation: none; opacity: 0; }
  .ixb-band.is-in .ixa-pulse { animation: none; stroke-dasharray: none; }
  .ixb-band.is-in .ixa-tracks,
  .ixb-band.is-in .ixa-exit-cap { animation: none; opacity: 1; }
  .ixb-section * { transition-duration: 1ms !important; }
}

.ixb-band .ixb-figure { opacity: 0; }

.ixb-band.is-in .ixb-figure {
  opacity: 1;
  transition: opacity 620ms var(--ixb-ease) 120ms;
}

@media (prefers-reduced-motion: reduce) {
  .ixb-band .ixb-figure { opacity: 1; transition: none; }
}
img.ixb-art { object-fit: contain; }







/* ============================================================
   About hero
   ============================================================ */

.abp {
  --abp-ground:  var(--color-off-black, #0f1012);
  --abp-ink:     var(--color-pure-white, #fdfdfd);
  --abp-quiet:   rgba(253, 253, 253, 0.62);
  --abp-edge:    rgba(253, 253, 253, 0.28);

  --abp-focal:   50% 42%;   /* Object-position */
  --abp-copy-max: 520px;

  position: relative;
  isolation: isolate;
  overflow: hidden;

  /* Grid, not flex */
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;

  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;

  background: var(--abp-ground);

  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: clamp(50px, 7vw, 94px);

  font-family: 'Inter Tight', sans-serif;
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* Belt and braces */
.abp > .main-container {
  position: relative;
  z-index: 1;
  width: 100%;
}

/* ─────────────────────────────────────────────
   Plate
   ───────────────────────────────────────────── */

/* Inset:0 is load-bearing */
.abp-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.abp-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--abp-focal);
}

/* Two veils, not one */
.abp-veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(15, 16, 18, 0.88) 0%,
      rgba(15, 16, 18, 0.62) 26%,
      rgba(15, 16, 18, 0) 62%
    ),
    linear-gradient(
      to bottom,
      rgba(15, 16, 18, 0.42) 0%,
      rgba(15, 16, 18, 0) 34%
    );
}

/* ─────────────────────────────────────────────
   Copy
   ───────────────────────────────────────────── */

.abp-copy {
  max-width: var(--abp-copy-max);
}

.abp-eyebrow {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  text-transform: uppercase;
  color: var(--abp-ink);
}

.abp-heading {
  margin: 0;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 300;
  color: var(--abp-ink);
}

.abp-heading-accent,
.abp-heading-rest {
  display: block;
}

/* Hierarchy by opacity, not hue */
.abp-heading-accent { color: var(--abp-ink); }
.abp-heading-rest   { color: var(--abp-quiet); }

.abp-explore {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing-11, 11px);
  margin-top: var(--spacing-35, 35px);
}

.abp-explore-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  text-transform: uppercase;
  color: var(--abp-quiet);
  margin-right: var(--spacing-6, 6px);
}

.abp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-6, 6px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.abp-chip {
  display: inline-block;
  padding: 5px var(--spacing-10, 10px);
  border: 0.5px solid var(--abp-edge);
  border-radius: 0;
  background: transparent;
  color: var(--abp-ink);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

.abp-chip:hover,
.abp-chip:focus-visible {
  background-color: var(--abp-ink);
  border-color: var(--abp-ink);
  color: var(--abp-ground);
}

.abp-chip:focus-visible {
  outline: 0.5px solid var(--abp-ink);
  outline-offset: 2px;
}

.abp-cue {
  display: block;
  width: var(--spacing-34, 34px);
  height: var(--spacing-34, 34px);
  margin-top: var(--spacing-50, 50px);
  border: 0.5px solid var(--abp-edge);
  color: var(--abp-quiet);
}

.abp-cue svg {
  width: 100%;
  height: 100%;
  padding: 9px;
  display: block;
}

/* ─────────────────────────────────────────────
   Entry
   ───────────────────────────────────────────── */

@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .abp-img {
    animation: abp-rise 1200ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .abp-copy > * {
    animation: abp-lift 800ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .abp-copy > *:nth-child(2) { animation-delay: 90ms;  }
  .abp-copy > *:nth-child(3) { animation-delay: 180ms; }
  .abp-copy > *:nth-child(4) { animation-delay: 270ms; }
}

@keyframes abp-rise {
  from { opacity: 0; transform: scale(1.04); }
  to   { opacity: 1; transform: none; }
}

@keyframes abp-lift {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1023px) {
  .abp {
    --abp-copy-max: 440px;
    --abp-focal: 52% 40%;
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {
  .abp {
    --abp-copy-max: none;
    --abp-focal: 50% 38%;
    min-height: 100svh;
    min-height: 100dvh;   /* Full visible screen, with or without the browser bar */
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 100px));
  }

  .abp-heading { font-size: 24px; }

  .abp-veil {
    background:
      linear-gradient(
        to top,
        rgba(15, 16, 18, 0.92) 0%,
        rgba(15, 16, 18, 0.70) 34%,
        rgba(15, 16, 18, 0) 74%
      ),
      linear-gradient(
        to bottom,
        rgba(15, 16, 18, 0.46) 0%,
        rgba(15, 16, 18, 0) 30%
      );
  }

  .abp-cue { display: none; }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .abp-chip { transition: none; }
}

/* ============================================================
   About
   ============================================================ */

.abw {
  --abw-rail: 300px;
  --abw-seam: 94px;

  --abw-surface:  var(--color-pure-white, #fdfdfd);
  --abw-ink:      var(--color-off-black, #0f1012);
  --abw-muted:    var(--color-steel-gray, #5e5e5e);
  --abw-quiet:    var(--color-ash-gray, #8f8f8f);
  --abw-accent:   #0071e3;
  --abw-hairline: rgba(0, 0, 0, 0.10);
  --abw-chip:     rgba(0, 0, 0, 0.03);
  --abw-gutter:   24px;   /* Must match .main-container's inline padding */

  --abw-mark-size: 200px;

  background: var(--abw-surface);

  /* Matches .bko / .cxs section rhythm */
  padding-top: var(--spacing-170, 170px);
  padding-bottom: var(--spacing-130, 130px);

  font-family: 'Inter Tight', ui-sans-serif, system-ui, -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

/* Row 1 holds the eyebrow */
.abw-shell {
  display: grid;
  grid-template-columns: var(--abw-rail) minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: var(--abw-seam);
}

/* ─────────────────────────────────────────────
   Masthead
   ───────────────────────────────────────────── */

.abw-eyebrow {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding-top: var(--spacing-11, 11px);   /* Optical align to cap height */
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--abw-quiet);
}

.abw-masthead {
  grid-column: 2;
  grid-row: 1;
  padding-bottom: var(--spacing-94, 94px);
}

/* ⚠ Logged Exception */
.abw-heading {
  margin: 0;
  font-size: 60px;
  line-height: 1.2;
  font-weight: 300;
  color: var(--abw-ink);
}
.abw-heading-accent,
.abw-heading-rest {
  display: block;
}

.abw-heading-accent {
  color: var(--abw-accent);
}

.abw-lede {
  margin: var(--spacing-35, 35px) 0 0;
  max-width: 54ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--abw-muted);
}

/* ─────────────────────────────────────────────
   Rail
   ───────────────────────────────────────────── */

.abw-rail {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
}

/* Position */
.abw-rail-inner {
  position: sticky;
  top: var(--spacing-69, 69px);
}

.abw-group {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--abw-quiet);
}

.abw-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.abw-nav-list li + li {
  margin-top: var(--spacing-6, 6px);
}

.abw-marker {
  display: flex;
  align-items: center;
  gap: var(--spacing-11, 11px);
  text-decoration: none;
  color: var(--abw-ink);
}

.abw-marker-box {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--abw-hairline);
  border-radius: 0;
  background: var(--abw-chip);
  color: var(--abw-ink);
  transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
}

/* Stroke is declared per-glyph */
.abw-marker-box svg {
  width: 16px;
  height: 16px;
  display: block;
}

.abw-marker-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--abw-ink);
  transition: color 260ms ease;
}

.abw-marker:hover .abw-marker-box {
  border-color: var(--abw-accent);
}

.abw-marker:hover .abw-marker-label,
.abw-marker:focus-visible .abw-marker-label {
  color: var(--abw-accent);
}

/* ⚠ Logged Exception */
.abw-marker.is-active .abw-marker-box {
  background: var(--abw-accent);
  border-color: var(--abw-accent);
  color: var(--color-pure-white, #fdfdfd);
}

.abw-marker.is-active .abw-marker-label {
  color: var(--abw-accent);
}

.abw-marker:focus-visible {
  outline: 1px solid var(--abw-accent);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   Ledger
   ───────────────────────────────────────────── */

.abw-ledger {
  grid-column: 2;
  grid-row: 2;
}

.abw-block {
  padding-block: var(--spacing-94, 94px);
  border-top: 0.5px solid var(--abw-hairline);
  /* Clears the fixed header on anchor jumps */
  scroll-margin-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
}

/* Closes the ledger, now that nothing follows it */
.abw-block:last-of-type {
  border-bottom: 0.5px solid var(--abw-hairline);
}

.abw-panel,
.abw-panel-inner {
  display: contents;
}

.abw-name {
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.abw-trigger {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: default;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.abw-glyph,
.abw-sign,
.abw-name-text {
  display: none;
}

.abw-index {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--abw-quiet);
}

/* ── Mark ── */

.abw-mark {
  --abw-mark-inset: 0px;

  width: var(--abw-mark-size);
  height: var(--abw-mark-size);
  margin-block: var(--spacing-50, 50px);
  margin-left: calc(var(--abw-mark-inset) * -1);
  color: var(--abw-quiet);
}

.abw-mark svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.abw-mark-g rect,
.abw-mark-g ellipse,
.abw-mark-g circle,
.abw-mark-g path {
  vector-effect: non-scaling-stroke;
}

#abw-01 .abw-mark { --abw-mark-inset: calc(var(--abw-mark-size) * 0.17); }
#abw-02 .abw-mark { --abw-mark-inset: calc(var(--abw-mark-size) * 0.08); }
#abw-03 .abw-mark { --abw-mark-inset: calc(var(--abw-mark-size) * 0.19); }

/* ── Block layout ── */

@media (min-width: 1024px) {
  .abw-block {
    display: grid;
    grid-template-columns: var(--abw-mark-size) minmax(0, 1fr);
    column-gap: var(--spacing-50, 50px);
    row-gap: var(--spacing-50, 50px);
    align-items: center;
  }

  .abw-name {
    grid-column: 1 / -1;
    align-self: start;
  }

  .abw-mark {
    grid-column: 1;
    margin-block: 0;
  }

  .abw-copy {
    grid-column: 2;
    min-width: 0;
  }
}

/* ── Copy ─────────────────────────────────────*/

.abw-headline {
  margin: 0;
  max-width: 24ch;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--abw-ink);
  transition: color 260ms ease;
}

@media (min-width: 1024px) {
  .abw-block.is-active .abw-headline {
    color: var(--abw-accent);
  }
}

.abw-note {
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 46ch;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 350;
  color: var(--abw-muted);
}

/* ============================================================
   Tablet & Mobile
   ============================================================ */

@media (max-width: 1023px) {

  .abw {
    --abw-mark-size: 160px;

    padding-top: var(--spacing-130, 130px);
    padding-bottom: var(--spacing-94, 94px);
  }

  .abw-shell { display: block; }

  .abw-eyebrow {
    padding-top: 0;
    margin-bottom: var(--spacing-30, 30px);
  }

  .abw-masthead { padding-bottom: var(--spacing-69, 69px); }
  .abw-heading  { font-size: 44px; }
  .abw-lede     { max-width: none; }

  .abw-masthead {
    padding-bottom: var(--spacing-69, 69px);
    text-align: center;
  }
  .abw-eyebrow {
    padding-top: 0;
    margin-bottom: var(--spacing-30, 30px);
    text-align: center;
  }
  .abw-eyebrow { display: none; }

  .abw-rail-inner { position: static; }
  .abw-nav        { display: none; }

  /* Negative margins mirror the container's padding */
  .abw-block {
    padding: 0;
    margin-left: calc(var(--abw-gutter) * -1);
    margin-right: calc(var(--abw-gutter) * -1);
    border-top: 0.5px solid var(--abw-hairline);
  }

  .abw-trigger,
  .abw-panel-inner {
    padding-left: var(--abw-gutter);
    padding-right: var(--abw-gutter);
  }

  /* ── Tab row ── */

  .abw-trigger {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-11, 11px);
    padding-top: var(--spacing-11, 11px);
    padding-bottom: var(--spacing-11, 11px);
    cursor: pointer;
    transition: background-color 260ms ease;
  }

  .abw-index { display: none; }

  .abw-glyph {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0.5px solid var(--abw-hairline);
    border-radius: 0;
    background: var(--abw-chip);
    color: var(--abw-ink);
    transition: border-color 260ms ease, background-color 260ms ease, color 260ms ease;
  }

  .abw-glyph svg {
    width: 16px;
    height: 16px;
    display: block;
  }

  .abw-name-text {
    display: block;
    flex: 1;
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 350;
    color: var(--abw-ink);
    transition: color 260ms ease;
  }

  /* +/− sign */
  .abw-sign {
    position: relative;
    flex: none;
    display: block;
    width: 20px;
    height: 20px;
  }

  .abw-sign::before,
  .abw-sign::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--abw-ink);
    transition: transform 260ms ease, background-color 260ms ease;
  }

  .abw-sign::before {
    width: 13px;
    height: 1px;
    transform: translate(-50%, -50%);
  }

  .abw-sign::after {
    width: 1px;
    height: 13px;
    transform: translate(-50%, -50%);
  }

  /* ── Open row */

  .abw-block.is-open .abw-trigger {
    background-color: var(--abw-accent);
  }

  .abw-block.is-open .abw-name-text {
    color: var(--color-pure-white, #fdfdfd);
  }

  .abw-block.is-open .abw-glyph {
    background: var(--color-pure-white, #fdfdfd);
    border-color: var(--color-pure-white, #fdfdfd);
    color: var(--abw-accent);
  }

  .abw-block.is-open .abw-sign::before,
  .abw-block.is-open .abw-sign::after {
    background: var(--color-pure-white, #fdfdfd);
  }

  .abw-block.is-open .abw-sign::after {
    transform: translate(-50%, -50%) scaleY(0);
  }

  .abw-trigger:focus-visible {
    outline: 1px solid var(--abw-accent);
    outline-offset: -3px;
  }

  /* ── Collapsible panel ── */

  .abw-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 300ms ease;
  }

  .abw-panel-inner {
    display: block;
    overflow: hidden;
    min-height: 0;
  }

  .abw-block.is-open .abw-panel {
    grid-template-rows: 1fr;
  }

  .abw-mark {
    margin-top: var(--spacing-35, 35px);
    margin-bottom: var(--spacing-30, 30px);
  }

  .abw-headline {
    max-width: none;
    font-size: 22px;
  }

  .abw-note {
    max-width: none;
    padding-bottom: var(--spacing-35, 35px);
  }
}

/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {

  .abw {
    --abw-gutter: 20px;
    --abw-mark-size: 132px;

    padding-top: var(--spacing-110, 110px);
    padding-bottom: var(--spacing-69, 69px);
  }

  .abw-eyebrow  { margin-bottom: var(--spacing-22, 22px); }
  .abw-masthead { padding-bottom: var(--spacing-50, 50px); }
  .abw-heading  { font-size: 32px; }
  .abw-lede     { margin-top: var(--spacing-22, 22px); }

  .abw-trigger {
    gap: var(--spacing-10, 10px);
    padding-top: var(--spacing-10, 10px);
    padding-bottom: var(--spacing-10, 10px);
  }

  .abw-glyph {
    width: 34px;
    height: 34px;
  }

  .abw-name-text { font-size: 16px; }
  .abw-headline  { font-size: 20px; }

  .abw-note { padding-bottom: var(--spacing-30, 30px); }
}

/* ============================================================
   Narrow
   ============================================================ */

@media (max-width: 380px) {
  .abw { --abw-mark-size: 108px; }

  .abw-heading  { font-size: 28px; }
  .abw-headline { font-size: 18px; }
}

/* ============================================================
   Reduced motion
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .abw-marker-box,
  .abw-marker-label,
  .abw-headline,
  .abw-trigger,
  .abw-glyph,
  .abw-sign::before,
  .abw-sign::after,
  .abw-panel {
    transition: none;
  }
}

/* ============================================================
   Talntd
   ============================================================ */

/* ------------------------------------------------------------
   01
   ------------------------------------------------------------ */

.abt {
  --abt-ground: #161719;
  --abt-ink: var(--color-pure-white, #fdfdfd);
  --abt-muted: rgba(253, 253, 253, 0.62);
  --abt-quiet: var(--color-ash-gray, #8f8f8f);
  --abt-accent: #f2f2ef;
  --abt-hairline: rgba(255, 255, 255, 0.14);
  --abt-rail: 300px;
  --abt-seam: var(--spacing-94, 94px);
  --abt-sticky-top: 96px;

  background: var(--abt-ground);
  color: var(--abt-ink);
  padding-block: var(--spacing-170, 170px) var(--spacing-130, 130px);
  font-family: 'Inter Tight', ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 350;
  font-feature-settings: 'ss01' on, 'ss02' on, 'cv01' on, 'cv11' on;
}

.abt *,
.abt *::before,
.abt *::after {
  box-sizing: border-box;
}

/* ------------------------------------------------------------
   02
   ------------------------------------------------------------ */

.abt-masthead {
  padding-bottom: var(--spacing-94, 94px);
}

.abt-eyebrow {
  margin: 0 0 var(--spacing-30, 30px);
  color: var(--abt-quiet);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 350;
}

/* Existing display-size exception */
.abt-heading {
  margin: 0;
  color: var(--abt-ink);
  font-size: 60px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: normal;
}

.abt-heading-accent,
.abt-heading-rest {
  display: block;
}

.abt-heading-rest {
  color: var(--abt-muted);
}

.abt-lede {
  max-width: 54ch;
  margin: var(--spacing-35, 35px) 0 0;
  color: var(--abt-muted);
  font-size: 16px;
  line-height: 1.45;
}

/* ------------------------------------------------------------
   03
   ------------------------------------------------------------ */

.abt-assembly {
  position: relative;
  display: grid;
  grid-template-columns: var(--abt-rail) minmax(0, 1fr);
  column-gap: var(--abt-seam);
  align-items: start;
}

.abt-visual {
  position: sticky;
  top: max(var(--abt-sticky-top), calc(50vh - 190px));
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  min-width: 0;
  margin: 0;
  padding-right: 22px;
  pointer-events: none;
}

.abt-object {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.abt-visual-caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-top: var(--spacing-22, 22px);
  padding-top: 16px;
  border-top: 0.5px solid var(--abt-hairline);
}

.abt-art-year {
  color: var(--abt-ink);
  font-size: 27px;
  line-height: 1.2;
  font-weight: 300;
}

.abt-art-position {
  color: var(--abt-quiet);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
}

/* ------------------------------------------------------------
   04
   ------------------------------------------------------------ */

.abt-object-path {
  fill: none;
  stroke: var(--abt-ink);
  stroke-opacity: 0.44;
  stroke-width: 0.75;
  vector-effect: non-scaling-stroke;
}

.abt-object-path.is-blue {
  stroke: var(--abt-accent);
  stroke-opacity: 1;
  stroke-width: 1;
}

.abt-object-point {
  fill: var(--abt-ground);
  stroke: rgba(253, 253, 253, 0.7);
  stroke-width: 0.65;
  vector-effect: non-scaling-stroke;
}

.abt-object-point.is-blue {
  fill: var(--abt-accent);
  stroke: var(--abt-accent);
}

.abt-mini-orbit {
  display: none;
}

.abt-mini-orbit .abt-object-path {
  stroke-width: 0.6;
}

.abt-mini-orbit .abt-object-path.is-blue {
  stroke-width: 0.75;
}

.abt-mini-orbit .abt-object-point {
  stroke-width: 0.5;
}

/* ------------------------------------------------------------
   05
   ------------------------------------------------------------ */

.abt-stories {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.abt-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  column-gap: 35px;
  align-items: start;
  min-height: 180px;
  margin: 0;
  padding: 32px 0 40px;
}

.abt-step:first-child {
  padding-top: 0;
}

.abt-step-head {
  min-width: 0;
}

.abt-date {
  margin: 0;
  color: var(--abt-quiet);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
}

.abt-title {
  margin: 12px 0 0;
  color: var(--abt-ink);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 350;
  letter-spacing: normal;
}

.abt-event {
  min-width: 0;
  margin: 26px 0 0;
  color: var(--abt-muted);
  font-size: 18px;
  line-height: 1.45;
  font-weight: 350;
}

/* Vertical rail connecting the milestone markers */
.abt-step::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--abt-seam) * -1);
  width: 0.5px;
  background: var(--abt-hairline);
}

.abt-step:first-child::before {
  top: 7px;
}

.abt-step:last-child::before {
  bottom: auto;
  height: 40px;
}

.abt-step::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.5px;
  background: var(--abt-hairline);
}

.abt-step-node {
  position: absolute;
  top: 36px;
  left: calc(var(--abt-seam) * -1 - 3px);
  width: 7px;
  height: 7px;
  border: 0.75px solid var(--abt-quiet);
  background: var(--abt-ground);
}

.abt-step:first-child .abt-step-node {
  top: 4px;
}

.abt-step-node::after {
  content: '';
  position: absolute;
  top: 2.5px;
  left: 13px;
  width: calc(var(--abt-seam) - 35px);
  height: 0.5px;
  background: var(--abt-hairline);
}

.abt-step[data-current='true'] .abt-step-node {
  border-color: var(--abt-accent);
  background: var(--abt-accent);
  outline: 0.5px solid rgba(253, 253, 253, 0.4);
  outline-offset: 3px;
}

.abt-step[data-current='true'] .abt-date,
.abt-step[data-year='2025'] .abt-date {
  color: var(--abt-ink);
}

.abt-step[data-current='true'] .abt-step-node::after {
  background: rgba(253, 253, 253, 0.38);
}

.abt-step[data-year='2025']::after {
  background: linear-gradient(
    to right,
    var(--abt-accent) 0 32px,
    var(--abt-hairline) 32px 100%
  );
}

/* ------------------------------------------------------------
   06
   ------------------------------------------------------------ */

@media (max-width: 1100px) {
  .abt-step {
    grid-template-columns: minmax(0, 1fr);
  }

  .abt-event {
    margin-top: 18px;
  }
}

@media (max-width: 1023px) {
  .abt {
    --abt-rail: 260px;
    --abt-seam: var(--spacing-50, 50px);

    padding-block: var(--spacing-130, 130px) var(--spacing-94, 94px);
  }

  .abt-masthead {
    padding-bottom: var(--spacing-69, 69px);
  }

  .abt-heading {
    font-size: 44px;
  }

  .abt-visual {
    padding-right: 18px;
  }
}

/* 07 */
@media (max-width: 767px) {
  .abt { padding-block:32px 24px; }
  .abt-masthead { padding-bottom:28px; }
  .abt-eyebrow { margin-bottom:20px; line-height:1.3; font-weight:400; }
  .abt-heading { font-size:34px; line-height:1.08; letter-spacing:-.7px; font-weight:350; }
  .abt-heading-rest { color:#989ba3; }
  .abt-lede { margin-top:20px; font-size:15px; line-height:1.5; color:#aaadb4; }
  .abt-assembly { display:block; }
  .abt-visual, .abt-mini-orbit { display:none; }
  .abt-stories { --abt-mobile-rail-x:62px; position:relative; border-top:1px solid #35373d; }
  .abt-stories::before, .abt-stories::after { content:''; position:absolute; top:35px; left:var(--abt-mobile-rail-x); width:1px; pointer-events:none; }
  .abt-stories::before { bottom:30px; height:var(--abt-mobile-rail-height, auto); background:#35373d; }
  .abt-stories::after { height:var(--abt-mobile-progress, 0px); background:#aeb2bb; }
  .abt-step, .abt-step:first-child { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:38px; row-gap:10px; min-height:0; padding:26px 0; }
  .abt-step-head { display:contents; }
  .abt-date { grid-column:1; grid-row:1 / 3; padding-top:4px; font-family:inherit; font-size:13px; line-height:1.3; font-weight:400; letter-spacing:.1px; color:#9a9ea7; font-variant-numeric:tabular-nums; }
  .abt-title { grid-column:2; grid-row:1; margin:0; font-size:20px; line-height:1.2; font-weight:350; letter-spacing:-.2px; color:#e0e1e4; }
  .abt-event { grid-column:2; grid-row:2; margin:0; font-size:15px; line-height:1.5; color:#a8acb5; }
  .abt-step::before, .abt-step-node::after { display:none; }
  .abt-step::after, .abt-step[data-year='2025']::after { left:82px; height:1px; background:#303238; }
  .abt-step:last-child::after { display:none; }
  .abt-step-node, .abt-step:first-child .abt-step-node { display:block; z-index:1; left:calc(var(--abt-mobile-rail-x) - 2px); top:33px; width:5px; height:5px; border:1px solid #717780; background:#161719; outline:none; }
  .abt-step[data-current='true'] .abt-step-node { background:#eeefef; border-color:#eeefef; outline:none; }
  .abt-step[data-current='true'] .abt-date { color:#f2f2ef; }
  .abt-step[data-current='true'] .abt-title { color:#fff; }
}
@media (max-width:350px) {
  .abt { padding-block:28px 20px; }
  .abt-heading { font-size:31px; }
  .abt-stories { --abt-mobile-rail-x:53px; }
  .abt-step, .abt-step:first-child { grid-template-columns:40px minmax(0,1fr); column-gap:30px; }
  .abt-step::after, .abt-step[data-year='2025']::after { left:70px; }
}

/* ------------------------------------------------------------
   08
   ------------------------------------------------------------ */

@media (max-height: 520px), (prefers-reduced-motion: reduce) {
  .abt-visual {
    position: relative;
    top: auto;
  }
}

@media print {
  .abt {
    padding-block: 24px;
  }

  .abt-visual {
    position: relative;
    top: auto;
  }

  .abt-step {
    min-height: 0;
    break-inside: avoid;
  }
}

  

/* History visual */
.abt .abt-object-path {
  stroke: #969ba6;
  stroke-opacity: 0.65;
}

.abt .abt-object-path.is-blue {
  stroke: #f2f2ef;
  stroke-opacity: 0.92;
}

.abt .abt-object-point {
  stroke: #969ba6;
}
.abt .abt-object-point.is-blue {
  fill: #f2f2ef;
  stroke: #f2f2ef;
}

/* Mobile line artwork */
.abt-mobile-thread { display: none; }
@media (max-width: 767px) {
  .abt-stories { border-top: 0; }
  .has-mobile-thread .abt-stories::before,
  .has-mobile-thread .abt-stories::after { display: none; }
  .abt-mobile-thread {
    display: block;
    position: absolute;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
  }
  .abt-mobile-thread path { fill: none; stroke-width: .75; vector-effect: non-scaling-stroke; }
  .abt-thread-base { stroke: #484e58; }
  .abt-thread-progress { stroke: #bfc3ca; }
  .abt-mobile-thread .abt-thread-light { stroke: #f2f2ef; stroke-width: 1; }
  .abt-step-node, .abt-step:first-child .abt-step-node { z-index: 2; border-color: #737984; transition: background .25s, border-color .25s; }
  .abt-step[data-passed='true'] .abt-step-node { background: #818791; border-color: #818791; }
  .abt-step[data-current='true'] .abt-step-node { background: #f2f2ef; border-color: #f2f2ef; }
  .abt-date { font-size: 14px; font-weight: 350; letter-spacing: -.35px; }
  .abt-title { letter-spacing: -.35px; }
  .abt-step::after, .abt-step[data-year='2025']::after { background: linear-gradient(to right, #3f434b, transparent 90%); }
}
@media (prefers-reduced-motion: reduce) {
  .abt-step-node { transition: none; }
}


/* About */

.abl {
  --abl-ground: #fdfdfd;
  --abl-field: #f2f2f4;
  --abl-ink: #0f1012;
  --abl-muted: #5e5e5e;
  --abl-rule: rgba(15, 16, 18, .14);
  --abl-rail: 300px;
  --abl-rail-gap: 94px;
  background: var(--abl-ground);
  color: var(--abl-ink);
  padding-block: clamp(50px, 7vw, 94px);
  font-family: "Inter Tight", ui-sans-serif, system-ui, sans-serif;
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
}

.abl *, .abl *::before, .abl *::after { box-sizing: border-box; }
.abl-layout {
  display: grid;
  grid-template-columns: var(--abl-rail) minmax(0, 1fr);
  gap: 34px var(--abl-rail-gap);
  align-items: start;
}
.abl-eyebrow {
  margin: 0 0 22px;
  color: #8f8f8f;
  font-size: 12px;
  font-weight: 350;
  line-height: 1.2;
  text-transform: uppercase;
}
.abl-heading {
  margin: 0;
  max-width: 260px;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.2;
}
.abl-body { min-width: 0; container: abl-body / inline-size; }

/* Featured profile */
.abl-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  position: relative;
  isolation: isolate;
  min-height: 340px;
  margin: 0;
  background: var(--abl-field);
}
.abl-lead-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px 16px 32px 32px;
  min-width: 0;
}
.abl-lead-role {
  margin: 0 0 18px;
  color: var(--abl-muted);
  font-size: 12px;
  font-weight: 350;
  line-height: 1.4;
  text-transform: uppercase;
}
.abl-lead-name {
  margin: 0 0 30px;
  font-size: 27px;
  font-weight: 350;
  line-height: 1.2;
}
.abl-lead-rule {
  display: block;
  width: 32px;
  height: 1px;
  background: var(--abl-ink);
  margin-top: auto;
  margin-bottom: 20px;
}
.abl-lead-desc {
  max-width: 31ch;
  margin: 0;
  color: var(--abl-muted);
  font-size: 16px;
  font-weight: 350;
  line-height: 1.55;
  text-wrap: pretty;
}
.abl-portrait {
  min-width: 0;
  display: grid;
  align-items: end;
  padding: 22px 14px 0 0;
}
.abl-photo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 390px;
  object-fit: contain;
  object-position: center bottom;
  filter: grayscale(1) contrast(1.05);
  mix-blend-mode: multiply;
}

.abl-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 36px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: abl-person;
}
.abl-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 14px;
  align-content: start;
  padding-block: 24px 26px;
  border-top: .5px solid var(--abl-rule);
  counter-increment: abl-person;
  min-width: 0;
}
.abl-row::before {
  content: counter(abl-person, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: 3px;
  color: #8f8f8f;
  font-size: 12px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.abl-row:nth-last-child(-n + 2) { border-bottom: .5px solid var(--abl-rule); }
.abl-name {
  display: block;
  grid-column: 2;
  margin: 0;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.2;
  color: var(--abl-ink);
}
.abl-role {
  display: block;
  grid-column: 2;
  margin: 9px 0 0;
  font-size: 12px;
  font-weight: 350;
  line-height: 1.45;
  text-transform: uppercase;
  color: var(--abl-muted);
}

/* Preserve the established tablet rail */
@media (max-width: 1023px) {
  .abl { --abl-rail: 220px; --abl-rail-gap: 50px; }
}

/* Respond to the real content width */
@container abl-body (max-width: 600px) {
  .abl-lead-text { padding: 24px 12px 24px 24px; }
  .abl-lead { min-height: 320px; }
  .abl-portrait { padding-right: 8px; }
  .abl-ledger { column-gap: 24px; }
  .abl-row { grid-template-columns: 18px minmax(0, 1fr); column-gap: 10px; }
}
@container abl-body (max-width: 440px) {
  .abl-lead { grid-template-columns: minmax(0, 1fr); }
  .abl-lead-text { padding: 26px 26px 22px; }
  .abl-lead-name { margin-bottom: 24px; }
  .abl-lead-rule { margin-bottom: 16px; }
  .abl-lead-desc { max-width: 38ch; }
  .abl-portrait { padding: 0 20px; }
  .abl-photo { width: min(100%, 260px); max-height: 290px; justify-self: end; }
  .abl-ledger { grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
  .abl-row { padding-block: 20px; grid-template-columns: 22px minmax(0, 1fr); column-gap: 14px; }
  .abl-row:nth-last-child(2) { border-bottom: 0; }
}
@media (max-width: 767px) {
  .abl-layout { grid-template-columns: minmax(0, 1fr); }
  .abl-eyebrow { margin-bottom: 11px; }
}

/* Fallback for browsers without container queries */
@supports not (container-type: inline-size) {
  @media (max-width: 1100px) {
    .abl-lead { grid-template-columns: minmax(0, 1fr); }
    .abl-portrait { padding-left: 24px; }
    .abl-photo { max-width: 260px; justify-self: end; }
    .abl-ledger { grid-template-columns: minmax(0, 1fr); }
    .abl-row:nth-last-child(2) { border-bottom: 0; }
  }
}

/* Signature */
.abl-signature {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
  margin-top: 20px;
  flex-shrink: 0;
  object-fit: contain;
  object-position: left center;
  filter: grayscale(1);
  opacity: .85;
}

/* Talntd Partners */
.err{
 --err-blue:#0071e3;
 background:#fff;
 color:#0f1012;
 font-family:'Inter Tight',Arial,sans-serif;
 font-feature-settings:normal;
 font-weight:350;
 display:grid;
 align-items:center;
 min-height:800px;
 min-height:clamp(760px,94svh,980px);
 padding:150px 0 84px;
}
.err > .main-container{width:100%}
.err *{box-sizing:border-box}
.err-center{display:flex;flex-direction:column;align-items:center;text-align:center;margin-inline:auto;max-width:1000px;width:100%}
.err-artwork{width:min(100%,860px);margin:0 0 24px;}
.err-sculpture{display:block;width:100%;height:auto;overflow:visible}
.err-plane{transform-box:view-box;transform-origin:0 0;animation:err-contour-drift 12s cubic-bezier(.45,0,.25,1) infinite}
@keyframes err-contour-drift{
 0%,16%,100%{transform:translate(var(--err-x),var(--err-y))}
 48%,65%{transform:translate(var(--err-rest-x),var(--err-rest-y))}
}
.err h1{margin:0;color:#0f1012;font-size:27px;font-weight:350;line-height:1.2}
.err-description{margin:15px 0 0;max-width:40ch;color:#5e5e5e;font-size:16px;font-weight:350;line-height:1.5;text-wrap:pretty}
.err-home{display:inline-flex;align-items:center;justify-content:center;gap:27px;margin-top:30px;min-height:48px;padding:0 0 0 22px;border:.5px solid var(--err-blue);border-radius:0;background:transparent;color:var(--err-blue);text-transform:uppercase;text-decoration:none;font-size:12px;font-weight:400;line-height:1.25;transition:background .2s}
.err-home-arrow{display:grid;place-items:center;align-self:stretch;width:48px;min-height:47px;border-left:.5px solid var(--err-blue);overflow:hidden}
.err-home svg{display:block;width:20px;height:20px;transition:transform .25s}
.err-home:hover{background:#f2f2f4}
.err-home:hover svg{transform:translateX(3px)}
.err-home:focus-visible{outline:2px solid var(--err-blue);outline-offset:5px}
@media(min-width:768px) and (max-width:1023px){.err h1{font-weight:400}.err{min-height:720px}}
@media(max-width:767px){
 .err{min-height:580px;min-height:clamp(570px,85svh,720px);padding:138px 0 70px}
 .err-artwork{width:100%;margin-bottom:35px}
 .err-plane-4,.err-plane-5{display:none}
 .err h1{font-size:27px;font-weight:350}
 .err-description{max-width:29ch;margin-top:14px}
 .err-home{margin-top:27px}
}
@media(prefers-reduced-motion:reduce){.err-plane{animation:none}.err-home,.err-home svg{transition:none}}
/* Full-screen white 404 section */
body.tp404 .err {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
}

/* =========================================================================
   Services
   ========================================================================= */

.sw-section{
  --sw-ink:   var(--color-off-black, #0f1012);
  --sw-muted: var(--color-steel-gray, #5e5e5e);
  --sw-dim:   var(--color-ash-gray, #8f8f8f);
  --sw-blue:  #0230d9;
  --sw-page:  var(--color-pure-white, #fdfdfd);
  --sw-hair:  rgba(0, 0, 0, 0.12);

  /* Container geometry */
  --sw-gutter: 24px;
  --sw-max:    1420px;

  /* Track gap */
  --sw-gap:    var(--spacing-94, 94px);

  --sw-h:        72vh;
  --sw-pad:      69px;
  --sw-rail-pad: 22px;

  --sw-ease:     cubic-bezier(0.22, 0.61, 0.36, 1);
  --sw-ease-io:  cubic-bezier(0.65, 0, 0.35, 1);

  background: var(--sw-page);
  font-family: 'Inter Tight', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-weight: 350;
  font-optical-sizing: auto;
  overflow-x: clip;
}

.sw-section *,
.sw-section *::before,
.sw-section *::after{ box-sizing: border-box; }

/* Screen-reader text */

/* ---------- Band ---------- */
.sw-band{
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  column-gap: var(--sw-gap);
  align-items: stretch;
  width: 100%;
  height: auto;
  min-height: max(560px, var(--sw-h));
  padding-inline: max(
    var(--sw-gutter),
    calc((100% - var(--sw-max)) / 2)
  );
}

/* ---------- Media ---------- */
.sw-media{
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.sw-layer{
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transition: opacity 520ms var(--sw-ease);
}
.sw-layer.is-active{ opacity: 1; }

.sw-shot{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-shot.is-loading{ visibility: hidden; }

/* ---------- Plate ---------- */
.sw-plate{
  position: relative;
  z-index: 2;
  grid-column: 1 / 3;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--spacing-35, 35px);
  padding-block: var(--sw-pad);
}

.sw-stack{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-50, 50px);
  min-width: 0;
}

/* ---------- Rail ---------- */

/* The travelling segment */

.sw-rail.is-ready .sw-rail-mark{
  transition:
    transform 520ms var(--sw-ease-io),
    height 520ms var(--sw-ease-io);
}

/* ---------- Tabs ---------- */
.sw-tabs{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.sw-tab{
  appearance: none;
  border: 0;
  border-radius: 0;
  background: none;
  padding: 7px 0;
  margin: 0;
  font-family: inherit;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 300;
  color: var(--sw-dim);
  text-align: start;
  cursor: pointer;
  transition: color 320ms var(--sw-ease);
}

.sw-tab:hover{ color: var(--sw-muted); }
.sw-tab.is-active{ color: var(--sw-ink); }
.sw-tab:focus-visible{ outline: 1px solid var(--sw-blue); outline-offset: 6px; }

/* ---------- Panels ---------- */
.sw-panels{
  display: grid;
}

.sw-panel{
  grid-area: 1 / 1;
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 280ms var(--sw-ease),
    visibility 0s linear 280ms;
}

.sw-panel.is-active{
  visibility: visible;
  opacity: 1;
  transition:
    opacity 420ms var(--sw-ease) 120ms,
    visibility 0s linear 0s;
}

.sw-section.is-live .sw-panel.is-active .sw-desc{
  animation: sw-rise 520ms var(--sw-ease) 120ms both;
}
.sw-section.is-live .sw-panel.is-active .sw-link{
  animation: sw-rise 520ms var(--sw-ease) 200ms both;
}

@keyframes sw-rise{
  from{ opacity: 0; transform: translateY(10px); }
  to  { opacity: 1; transform: none; }
}

.sw-desc{
  margin: 0 0 var(--spacing-30, 30px);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 350;
  color: var(--sw-muted);
  text-align: start;
}

/* ---------- Link ---------- */
.sw-link{
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-10, 10px);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--sw-blue);
  text-decoration: none;
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 300ms ease;
}
.sw-link:hover{ border-bottom-color: var(--sw-blue); }
.sw-link:focus-visible{ outline: 1px solid var(--sw-blue); outline-offset: 6px; }

.sw-arrow{
  width: 26px;
  height: 14px;
  flex: none;
  overflow: visible;
  transition: transform 350ms var(--sw-ease);
}
.sw-arrow-path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sw-link:hover .sw-arrow{ transform: translateX(5px); }
[dir="rtl"] .sw-arrow{ transform: scaleX(-1); }
[dir="rtl"] .sw-link:hover .sw-arrow{ transform: scaleX(-1) translateX(5px); }

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

/* Narrow desktop */
@media (max-width: 1200px){
  .sw-section{ --sw-gap: var(--spacing-50, 50px); }
  .sw-plate{ grid-column: 1 / 4; }
}

/* Artefact stacks above the copy at its own ratio */
@media (max-width: 1023px){
  .sw-section{
    --sw-gutter: 24px;
    --sw-gap: var(--spacing-34, 34px);
    --sw-pad: 50px;
  }

  .sw-band{
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .sw-media{
    position: relative;
    inset: auto;
    grid-row: 1;
    grid-column: 1;
    align-self: start;
    margin-inline: calc(var(--sw-gutter) * -1);
    aspect-ratio: 1200 / 520;
    height: auto;
  }

  .sw-shot--art{
    object-fit: contain;
    object-position: center top;
  }

  .sw-plate{
    grid-row: 2;
    grid-column: 1;
    justify-content: flex-start;
  }

  .sw-stack{ gap: var(--spacing-35, 35px); }

  .sw-tab{ font-size: 25px; }
  .sw-desc{ font-size: 17px; }
}

/* The artwork swaps file at 767px */
@media (max-width: 767px){
  .sw-section{
    --sw-gutter: 20px;
    --sw-gap: var(--spacing-30, 30px);
    --sw-pad: 35px;
    --sw-rail-pad: 16px;
  }

  .sw-media{
    aspect-ratio: auto;
    height: min(94vw, 420px);
  }

  .sw-shot--art{
    object-fit: cover;
    object-position: center;
  }

  .sw-tab{ font-size: 24px; padding-block: 6px; }
  .sw-desc{ font-size: 16px; }
}

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .sw-layer,
  .sw-tab,
  .sw-arrow,
  .sw-link,
  .sw-panel,
  .sw-panel.is-active,
  .sw-rail.is-ready .sw-rail-mark{ transition: none; }

  .sw-section.is-live .sw-panel.is-active .sw-desc,
  .sw-section.is-live .sw-panel.is-active .sw-link{ animation: none; }
}


/* =========================================================================
   Company
   ========================================================================= */

/* ---------- Art layer ---------- */

/* ---------- Grid ---------- */
.cmp .main-container{
  position: relative;
  z-index: 1;
  width: 100%;
}

/* ---------- Statement ---------- */

/* Word-by-word resolve */

.cmp.is-js .cmp-w{
  opacity: 0.12;
  filter: blur(8px);
  transform: translateY(2px);
  transition:
    opacity 700ms var(--cmp-ease),
    filter 700ms var(--cmp-ease),
    transform 700ms var(--cmp-ease);
  transition-delay: calc(350ms + var(--i, 0) * 70ms);
}

.cmp.is-js.is-in .cmp-w{
  opacity: 1;
  filter: none;
  transform: none;
}

/* ---------- Rule ---------- */

/* ---------- Figures ledger ---------- */

/* ---------- Entrance ---------- */
.cmp.is-js .cmp-title,
.cmp.is-js .cmp-figures-label,
.cmp.is-js .cmp-stat{
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 700ms var(--cmp-ease),
    transform 700ms var(--cmp-ease);
}

.cmp.is-js .cmp-rule{
  transform: scaleX(0);
  transition: transform 900ms var(--cmp-ease) 700ms;
}

.cmp.is-js .cmp-figures-label{ transition-delay: 820ms; }
.cmp.is-js .cmp-stat:nth-child(1){ transition-delay: 900ms; }
.cmp.is-js .cmp-stat:nth-child(2){ transition-delay: 1000ms; }
.cmp.is-js .cmp-stat:nth-child(3){ transition-delay: 1100ms; }
.cmp.is-js .cmp-stat:nth-child(4){ transition-delay: 1200ms; }

.cmp.is-js.is-in .cmp-title,
.cmp.is-js.is-in .cmp-figures-label,
.cmp.is-js.is-in .cmp-stat{
  opacity: 1;
  transform: none;
}

.cmp.is-js.is-in .cmp-rule{ transform: none; }

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

/* Narrow desktop */

/* Label on its own line, figures as a 2 x 2 ledger */

/* =========================================================================
   Reduced motion
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  .cmp.is-js .cmp-title,
  .cmp.is-js .cmp-figures-label,
  .cmp.is-js .cmp-stat,
  .cmp.is-js .cmp-rule,
  .cmp.is-js .cmp-w{
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}



/* ==========================================================================
   Services Duo
   ========================================================================== */

.sdu-section :where(button):focus-visible {
  outline: 1px solid var(--sdu-accent);
  outline-offset: -6px;
}

/* ---------- Frame ------------------------------------------------------- */

/* ---------- Shared type ------------------------------------------------- */

/* ---------- Card 01 --------------------------------------- */

.sdu-curtain-line {
  position: relative;
  width: 1px;
  height: var(--h);
  background: linear-gradient(to bottom, rgba(225, 232, 227, 0.025), rgba(225, 232, 227, 0.17));
  transform-origin: top;
  animation: sdu-curtain 6.8s var(--sdu-ease) infinite;
  animation-delay: var(--delay);
}

.sdu-curtain-line::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 3px;
  height: 3px;
  border-radius: 50%;             /* Logged exception */
  background: #a7ada7;
  opacity: 0.5;
}

/* ---------- Card footer trigger --------------------------- */

.sdu-footer:hover .sdu-arrow { transform: translateX(4px); }

/* ---------- Card 02 -------------------------------------- */

.sdu-lines {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to right, rgba(214, 230, 250, 0.11) 1px, transparent 1px);
  background-size: 16.666666% 100%;
  pointer-events: none;
}

.sdu-control:hover { background: rgba(222, 236, 255, 0.12); }
.sdu-section.is-paused .sdu-play-icon  { display: block; }
.sdu-section.is-paused .sdu-pause-icon { display: none; }

/* ---------- Detail panel ---------------------------------- */
.sdu-detail[hidden] { display: none; }

/* ---------- Motion states ---------------------------------------------- */

.sdu-section.is-paused *,
.sdu-section.is-offscreen * { animation-play-state: paused !important; }

@keyframes sdu-curtain {
  0%, 100%  { transform: scaleY(0.12); opacity: 0; }
  18%, 45%  { transform: scaleY(1);    opacity: 1; }
  74%, 90%  { transform: scaleY(0.07); opacity: 0; }
}

@keyframes sdu-breathe {
  0%, 100% { transform: scale(0.78); filter: brightness(0.7); }
  50%      { transform: scale(1.08); filter: brightness(1.15); }
}

@keyframes sdu-dot {
  0%, 80%, 100% { opacity: 0.25; }
  35%           { opacity: 1; }
}

@keyframes sdu-marquee {
  to { transform: translateX(-50%); }
}

@keyframes sdu-atmosphere {
  from { transform: translate3d(-1%, -1%, 0) scale(1); }
  to   { transform: translate3d(2%, 1%, 0) scale(1.05); }
}

@keyframes sdu-bar-rise {
  0%, 100% { transform: scaleY(0.84); opacity: 0.7; }
  38%      { transform: scaleY(1);    opacity: 1; }
  72%      { transform: scaleY(0.91); opacity: 0.86; }
}

@keyframes sdu-marker {
  0%, 100% { transform: translate(-50%, 5px); }
  48%      { transform: translate(-50%, -5px); }
}

@keyframes sdu-detail-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Tablet ------------------------------------------------------ */

/* ---------- Mobile ------------------------------------------------------ */

/* ---------- Reduced motion ---------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  .sdu-curtain-line { opacity: 0.6; }
}
/* ==========================================================================
   Services
   ========================================================================== */
.spc {
  --spc-ground:  #fff;
  --spc-plate:   var(--color-off-black, #0f1012);
  --spc-solid:   #1d1e1d;  /* Back Office solid plate */
  --spc-light:   var(--color-off-white, #f2f2f4);  /* Digital & AI plate */
  --spc-accent:  var(--color-signal-blue, #0071e3);
  --spc-ink:     var(--color-pure-white, #fdfdfd);
  --spc-veil:    8, 9, 11;
  --spc-dim:     0.8;     /* Photo brightness */
  --spc-font:    'Inter Tight', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --spc-ease:    cubic-bezier(0.22, 0.61, 0.36, 1);

  /* ---- Page geometry ---- */
  --spc-max:     1420px;
  --spc-gutter:  24px;
  --spc-rail:    300px;
  --spc-seam:    var(--spacing-94, 94px);
  --spc-gap:     var(--spacing-10, 10px);   /* Gap between the two cards */
  --spc-grow:    clamp(120px, calc(100vw - 1300px), 180px);  /* Back Office hover widening */
  --spc-open:    700ms;                      /* Widen / narrow duration */

  /* ---- Card ---- */
  --spc-h:       600px;
  --spc-top:     180px;   /* Name line, same in both cards */

  /* ---- Art ---- */
  --spc-art-opacity: 1;     /* Master fade for the whole dot field */

  /* ---- Type ---- */
  /* ---- Type, desktop / tablet / mobile ---- */
  --spc-name:    27px;
  --spc-sub:     16px;
  --spc-text:    15px;
  --spc-link:    24px;   /* One step below the heading, so the title leads */

  background: var(--spc-ground);
  padding-top: 0;
  padding-bottom: clamp(50px, 7vw, 94px);
  font-family: var(--spc-font);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

.spc *,
.spc *::before,
.spc *::after { box-sizing: border-box; letter-spacing: 0; }

.spc :where(h2, h3, p) { margin: 0; padding: 0; }

.spc-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ---------- Grid -------------------------------------------------------- */

.spc-grid {
  display: grid;
  grid-template-columns: calc(var(--spc-rail) + var(--spc-seam) - var(--spc-gap)) minmax(0, 1fr);
  gap: var(--spc-gap);
  width: min(100% - 2 * var(--spc-gutter), var(--spc-max));
  margin-inline: auto;
}

/* ---------- Hover ---------- */

.spc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--spc-ink) 74%, transparent);
  /* Visually hidden until a hover layout shows it */
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.spc-list li {
  padding: 7px 0;
  border-top: 0.5px solid color-mix(in srgb, var(--spc-ink) 18%, transparent);
}

.spc-list li:nth-child(2) { --i: 1; }
.spc-list li:nth-child(3) { --i: 2; }
.spc-list li:nth-child(4) { --i: 3; }

@media (min-width: 1200px) and (hover: hover) {
  .spc-list {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }

  .spc-list li {
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  /* Shown state, shared by both cards */
  .spc-grid:has(.spc-card--rail:hover) .spc-list--office li,
  .spc-grid:has(.spc-card--rail .spc-link:focus-visible) .spc-list--office li,
  .spc-card--digital:hover .spc-list--digital li,
  .spc-card--digital:has(.spc-link:focus-visible) .spc-list--digital li {
    opacity: 1;
    transform: none;
    transition:
      opacity 420ms var(--spc-ease) calc(var(--spc-lead, 120ms) + var(--i, 0) * 70ms),
      transform 420ms var(--spc-ease) calc(var(--spc-lead, 120ms) + var(--i, 0) * 70ms);
  }

  /* Digital & AI */
  .spc-list--digital {
    max-width: 300px;
    margin-top: var(--spacing-30, 30px);
  }

  .spc-grid .spc-card--rail { --spc-cols: minmax(0, 320px); }

  /* Back Office */
  .spc-card--rail .spc-side {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .spc-card--rail .spc-dek,
  .spc-list--office { grid-area: 1 / 1; }

  .spc-card--rail .spc-link { grid-area: 2 / 1; justify-self: start; }

  .spc-card--rail .spc-dek {
    transition: opacity 220ms ease 120ms, transform 220ms ease 120ms;
  }

  .spc-grid:has(.spc-card--rail:hover) .spc-card--rail .spc-dek,
  .spc-grid:has(.spc-card--rail .spc-link:focus-visible) .spc-card--rail .spc-dek {
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 240ms ease 80ms, transform 240ms ease 80ms;
  }

  .spc-list--office { --spc-lead: 260ms; }
}

/* Back Office widening needs room */
@media (min-width: 1440px) and (hover: hover) {
  .spc-grid {
    transition: grid-template-columns var(--spc-open) var(--spc-ease);
  }

  .spc-grid:has(.spc-card--rail:hover),
  .spc-grid:has(.spc-card--rail .spc-link:focus-visible) {
    grid-template-columns: calc(var(--spc-rail) + var(--spc-seam) - var(--spc-gap) + var(--spc-grow)) minmax(0, 1fr);
    transition-delay: 80ms;
  }
}

/* ---------- Card -------------------------------------------------------- */

.spc-card {
  /* Wide layout */
  --spc-cols:     minmax(180px, 1fr) minmax(0, 392px);
  --spc-pad:      40px 52px;
  --spc-side-gap: 0px;
  --spc-link-gap: var(--spacing-69, 69px);
  --spc-align:    start;
  --spc-shade:    linear-gradient(90deg,
                    rgba(var(--spc-veil), 0.62) 0%,
                    rgba(var(--spc-veil), 0.18) 36%,
                    rgba(var(--spc-veil), 0.22) 52%,
                    rgba(var(--spc-veil), 0.66) 100%);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: var(--spc-h);
  background: var(--spc-plate);
  color: var(--spc-ink);
}

/* Stacked layout */
.spc-card--rail {
  --spc-cols:     minmax(0, 1fr);
  --spc-pad:      32px;
  --spc-side-gap: var(--spacing-50, 50px);
  --spc-link-gap: var(--spacing-50, 50px);
  --spc-shade:    linear-gradient(180deg,
                    rgba(var(--spc-veil), 0.42) 0%,
                    rgba(var(--spc-veil), 0.50) 50%,
                    rgba(var(--spc-veil), 0.68) 100%);
}

/* Solid plate */
.spc-card--solid { background: var(--spc-fill, var(--spc-solid)); }
.spc-card--digital {
  --spc-fill: var(--spc-light);
  --spc-ink:  var(--color-off-black, #0f1012);   /* Dark type on the light plate */
}
.spc-card--solid::before { display: none; }

/* Legibility veil */
.spc-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--spc-shade);
  pointer-events: none;
}

/* ---------- Art ---------- */

.spc-art {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: var(--spc-art-opacity);
  /* Full strength up top, softer behind the copy */
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.9) 25%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.55) 100%);
          mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.9) 25%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.55) 100%);
}

.spc-art--office {
  --spc-core-x:    0.66;
  --spc-core-y:    0.2;
  --spc-frames:    20;
  --spc-scale:     1;
  --spc-twist:     1;
  --spc-speed:     1;
  --spc-frame-ink: 203, 208, 204;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 22%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.16) 58%, rgba(0, 0, 0, 0.1) 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 22%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.16) 58%, rgba(0, 0, 0, 0.1) 100%);
}

.spc-tunnel {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* ---------- Art ---------- */

.spc-art--digital {
  --spc-horizon: 0.68;
  --spc-ground:  1.1;
  --spc-vanish:  0.62;
  --spc-amp:     0.42;
  --spc-terrain-ink: 15, 16, 18;
  --spc-accent-rgb:  0, 113, 227;   /* Signal colour, as r, g, b */
}

.spc-terrain {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* ---------- Copy -------------------------------------------------------- */

.spc-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: var(--spc-cols);
  column-gap: var(--spacing-50, 50px);
  align-content: var(--spc-align);
  align-items: start;
  padding-top: var(--spc-top);
  padding-bottom: var(--spc-bottom, 0px);
  padding-inline: var(--spc-pad);
}

.spc-name {
  font-size: var(--spc-name);
  line-height: 1.2;
  font-weight: 350;
  color: var(--spc-ink);
}

/* Subtitle */
.spc-meta {
  margin-top: var(--spacing-6, 6px);
  font-size: var(--spc-sub);
  line-height: 1.3;
  color: var(--spc-ink);
  opacity: 0.62;
}

.spc-side { margin-top: var(--spc-side-gap); }

.spc-dek {
  font-size: var(--spc-text);
  line-height: 1.55;
  color: var(--spc-ink);
}

.spc-link,
.spc-link:hover,
.spc-link:focus,
.spc-link:visited {
  color: var(--spc-ink);
  text-decoration: none;
}

.spc-link {
  display: inline-flex;
  align-items: center;
  column-gap: var(--spacing-6, 6px);
  margin-top: var(--spc-link-gap);
  font-size: var(--spc-link);
  line-height: 1.1;
  font-weight: 350;
}

/* Stretched link */
.spc-link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.spc-link:focus-visible { outline: none; }

.spc-link:focus-visible::after {
  outline: 1px solid var(--spc-ink);
  outline-offset: -10px;
}

.spc-arrow {
  flex: none;
  width: 1em;
  height: 0.56em;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.25px;
  transition: transform 350ms var(--spc-ease);
}

.spc-arrow path { vector-effect: non-scaling-stroke; }

@media (hover: hover) {
  .spc-card:hover .spc-arrow { transform: translateX(6px); }
}

.spc-card:has(.spc-link:focus-visible) .spc-arrow { transform: translateX(6px); }

/* ---------- Tablet ------------------------------ */

@media (max-width: 1023px) {
  .spc {
    --spc-h:    520px;
    --spc-top:  0px;
    --spc-name: 25px;
    --spc-sub:  15px;
    --spc-text: 15px;
    --spc-link: 22px;
  }

  .spc-grid { grid-template-columns: minmax(0, 1fr); }

  /* Back Office */
  .spc-art--office {
    --spc-core-x: 0.8;
    --spc-core-y: 0.18;
    --spc-scale:  0.62;
  }

  /* Keep the landscape below the "discover" link */
  .spc-art--digital {
    --spc-horizon: 0.76;
    --spc-ground:  1.14;
    --spc-vanish:  0.55;
  }

  .spc-card,
  .spc-card--rail {
    --spc-cols:     minmax(180px, 1fr) minmax(0, 360px);
    --spc-pad:      40px;
    --spc-side-gap: 0px;
    --spc-link-gap: var(--spacing-50, 50px);
    --spc-align:    center;
    --spc-shade:    linear-gradient(90deg,
                      rgba(var(--spc-veil), 0.62) 0%,
                      rgba(var(--spc-veil), 0.22) 40%,
                      rgba(var(--spc-veil), 0.66) 100%);
  }
}

/* ---------- Mobile -------- */

@media (max-width: 767px) {
  .spc {
    --spc-h:      clamp(520px, 82svh, 640px);
    --spc-gap:    0px;   /* Cards sit flush, no gap */
    --spc-name:   24px;
    --spc-sub:    14px;
    --spc-text:   14px;
    --spc-link:   21px;
    --spc-bottom: var(--spacing-35, 35px);
  }

  /* Full bleed */
  .spc-grid { width: 100%; }

  .spc-card,
  .spc-card--rail {
    --spc-cols:     minmax(0, 1fr);
    --spc-pad:      24px;
    --spc-side-gap: var(--spacing-30, 30px);
    --spc-link-gap: var(--spacing-35, 35px);
    --spc-align:    end;
    --spc-shade:    linear-gradient(180deg,
                      rgba(var(--spc-veil), 0.12) 0%,
                      rgba(var(--spc-veil), 0.35) 45%,
                      rgba(var(--spc-veil), 0.78) 100%);
  }

  .spc-br { display: none; }


  .spc-dek { max-width: 34ch; }

  .spc-art {
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.45) 68%, rgba(0, 0, 0, 0.4) 100%);
            mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.45) 68%, rgba(0, 0, 0, 0.4) 100%);
  }

  /* Back Office */
  .spc-art--office {
    --spc-core-x: 0.58;
    --spc-core-y: 0.22;
    --spc-scale:  0.95;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 30%, rgba(0, 0, 0, 0.3) 41%, transparent 48%);
            mask-image: linear-gradient(180deg, #000 0%, #000 30%, rgba(0, 0, 0, 0.3) 41%, transparent 48%);
  }

  /* Digital & AI */
  .spc-art--digital {
    --spc-horizon: 0.11;
    --spc-ground:  0.46;
    --spc-vanish:  0.5;
    --spc-amp:     0.3;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 36%, rgba(0, 0, 0, 0.55) 45%, transparent 57%);
            mask-image: linear-gradient(180deg, #000 0%, #000 36%, rgba(0, 0, 0, 0.55) 45%, transparent 57%);
  }
}


/* ---------- Reduced motion ---------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .spc-arrow,
  .spc-grid,
  .spc-list li { transition: none !important; }
}	

/* =========================================================================
   Contact
   ========================================================================= */

.cs-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.cs-control { position: relative; }

.cs-pick {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-22, 22px);
  width: 100%;
  min-height: 36px;
  padding: 0 0 var(--spacing-10, 10px);
  border: 0;
  border-bottom: 0.5px solid var(--cs-rule);
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: 350;
  line-height: 1.4;
  font-feature-settings: inherit;
  text-align: left;
  color: var(--cs-ink);
  cursor: pointer;
  transition: border-color 0.35s var(--cs-ease), color 0.35s var(--cs-ease);
}

.cs-pick-value.is-empty { color: var(--cs-ink-faint); }
.cs-pick-area { margin-left: 6px; color: var(--cs-ink-faint); }

.cs-pick-glyph {
  flex: none;
  width: 14px;
  height: 14px;
  color: var(--cs-ink-faint);
  transition: transform 0.35s var(--cs-ease), color 0.35s var(--cs-ease);
}

.cs-pick:hover,
.cs-pick:focus-visible {
  outline: 0;
  border-bottom-color: var(--cs-accent);
}

.cs-pick:hover .cs-pick-glyph,
.cs-pick:focus-visible .cs-pick-glyph {
  color: var(--cs-accent);
  transform: translateX(4px);
}

.cs-field.has-error .cs-pick { border-bottom-color: #d93025; }

/* ── Window ───────────────────────────────────────────────── */

html.csp-lock,
html.csp-lock body { overflow: hidden; }

.csp {
  --csp-ink: #0f1012;
  --csp-muted: #5e5e5e;
  --csp-faint: #8f8f8f;
  --csp-panel: #fdfdfd;
  --csp-recess: #f2f2f4;
  --csp-line: rgba(15, 16, 18, 0.10);
  --csp-blue: #0071e3;
  --csp-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: var(--spacing-30, 30px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
  font-feature-settings: "ss01" on, "ss02" on, "cv01" on, "cv11" on;
  color: var(--csp-ink);
}

.csp[hidden] { display: none; }
.csp *, .csp *::before, .csp *::after { box-sizing: border-box; letter-spacing: 0; border-radius: 0; }

.csp-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 16, 18, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: cspFade 0.4s var(--csp-ease) both;
}

.csp-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(1040px, 100%);
  max-height: calc(100dvh - 60px);
  background: var(--csp-panel);
  border: 0.5px solid var(--csp-line);
  animation: cspRise 0.5s var(--csp-ease) both;
}

@keyframes cspFade { from { opacity: 0; } }
@keyframes cspRise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.csp button {
  font-family: inherit;
  font-weight: 350;
  font-feature-settings: inherit;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.csp button:focus-visible { outline: 0.5px solid var(--csp-blue); outline-offset: -1px; }

/* Head */
.csp-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-30, 30px);
  padding: var(--spacing-35, 35px) var(--spacing-50, 50px) var(--spacing-30, 30px);
  border-bottom: 0.5px solid var(--csp-line);
}

.csp-kicker {
  margin: 0 0 var(--spacing-10, 10px);
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--csp-faint);
}

.csp-title {
  margin: 0;
  font-size: var(--ts-h2, 27px);
  font-weight: 350;
  line-height: 1.2;
  color: var(--csp-ink);
}

.csp-close {
  flex: none;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0.5px solid var(--csp-line);
  color: var(--csp-muted) !important;
  transition: color 0.4s var(--csp-ease), border-color 0.4s var(--csp-ease);
}

.csp-close svg { width: 16px; height: 16px; }
.csp-close:hover,
.csp-close:focus-visible { color: var(--csp-blue) !important; border-color: var(--csp-blue); }

/* Body */
.csp-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--spacing-30, 30px) var(--spacing-50, 50px) var(--spacing-50, 50px);
}

.csp-label {
  margin: 0 0 var(--spacing-15, 15px);
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--csp-faint);
}

.csp-tiles + .csp-label { margin-top: var(--spacing-50, 50px); }

/* Main services */
.csp-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-15, 15px);
}

.csp-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-22, 22px);
  border: 0.5px solid var(--csp-line);
  background: var(--csp-recess) !important;
  text-align: left;
  transition: border-color 0.35s var(--csp-ease), background 0.35s var(--csp-ease);
}

.csp-tile-num {
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1;
  color: var(--csp-faint);
}

.csp-tile-name {
  padding-top: var(--spacing-50, 50px);
  font-size: var(--ts-label, 18px);
  line-height: 1.25;
  color: var(--csp-ink);
}

.csp-tile-desc {
  margin-top: var(--spacing-10, 10px);
  font-size: var(--ts-small, 14px);
  line-height: 1.45;
  color: var(--csp-muted);
}

.csp-tile-mark {
  position: absolute;
  top: var(--spacing-22, 22px);
  right: var(--spacing-22, 22px);
  width: 14px;
  height: 14px;
  color: var(--csp-faint);
  transition: transform 0.35s var(--csp-ease), color 0.35s var(--csp-ease);
}

.csp-tile-mark svg { display: block; width: 14px; height: 14px; }

.csp-tile:hover,
.csp-tile:focus-visible {
  background: var(--csp-panel) !important;
  border-color: var(--csp-blue);
}

.csp-tile:hover .csp-tile-mark,
.csp-tile:focus-visible .csp-tile-mark { color: var(--csp-blue); transform: translateX(4px); }

.csp-tile.is-selected {
  background: var(--csp-panel) !important;
  border-color: var(--csp-blue);
  box-shadow: inset 0 0 0 0.5px var(--csp-blue);
}

.csp-tile.is-selected .csp-tile-name,
.csp-tile.is-selected .csp-tile-num,
.csp-tile.is-selected .csp-tile-mark { color: var(--csp-blue); }

/* All services */
.csp-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--spacing-30, 30px);
  row-gap: var(--spacing-35, 35px);
}

.csp-col-title {
  margin: 0;
  padding-bottom: var(--spacing-11, 11px);
  border-bottom: 0.5px solid var(--csp-ink);
  font-size: var(--ts-small, 14px);
  line-height: 1.3;
  color: var(--csp-ink);
}

.csp-list { margin: 0; padding: 0; list-style: none; }

.csp-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-15, 15px);
  width: 100%;
  padding: var(--spacing-11, 11px) 0;
  border: 0;
  border-bottom: 0.5px solid var(--csp-line);
  font-size: var(--ts-body, 16px);
  line-height: 1.35;
  text-align: left;
  transition: color 0.3s var(--csp-ease);
}

.csp-row svg,
.csp-other svg {
  flex: none;
  width: 13px;
  height: 13px;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.3s var(--csp-ease), transform 0.3s var(--csp-ease);
}

.csp-row:hover,
.csp-row:focus-visible,
.csp-row.is-selected { color: var(--csp-blue); }

.csp-row:focus-visible { outline: 0; }

.csp-row:hover svg,
.csp-row:focus-visible svg,
.csp-row.is-selected svg,
.csp-other:hover svg,
.csp-other:focus-visible svg,
.csp-other.is-selected svg { opacity: 1; transform: translateX(0); }

/* Footnote row */
.csp-other {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-15, 15px);
  width: 100%;
  margin-top: var(--spacing-50, 50px);
  padding: var(--spacing-15, 15px) 0 0;
  border: 0;
  border-top: 0.5px solid var(--csp-line);
  font-size: var(--ts-small, 14px);
  line-height: 1.45;
  text-align: left;
  color: var(--csp-muted) !important;
}

.csp-other-name { color: var(--csp-blue); }
.csp-other:hover,
.csp-other:focus-visible,
.csp-other.is-selected { color: var(--csp-ink) !important; }
.csp-other:focus-visible { outline: 0; }
.csp-other svg { color: var(--csp-blue); }

/* Tablet */
@media (max-width: 1023px) {
  .csp-tile { min-height: 0; }
  .csp-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* The window becomes a full-height sheet */
@media (max-width: 767px) {
  .csp { padding: 0; place-items: stretch; }
  .csp-panel { width: 100%; max-height: 100dvh; height: 100dvh; border: 0; }
  .csp-head { padding: var(--spacing-22, 22px) 16px var(--spacing-22, 22px); }
  .csp-body { padding: var(--spacing-22, 22px) 16px var(--spacing-35, 35px); }
  .csp-tiles { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-10, 10px); }
  .csp-tile { min-height: 0; padding: 16px; }
  .csp-tile-name { padding-top: var(--spacing-10, 10px); }
  .csp-tile-desc { display: none; }
  .csp-tile-mark { top: 16px; right: 16px; }
  .csp-tiles + .csp-label { margin-top: var(--spacing-35, 35px); }
  .csp-cols { grid-template-columns: minmax(0, 1fr); }
  .csp-other { margin-top: var(--spacing-35, 35px); }
}

@media (prefers-reduced-motion: reduce) {
  .csp-backdrop, .csp-panel { animation: none; }
}

/* =========================================================================
   Blog
   ========================================================================= */

.blg,
.blg-post {
  --blg-ink:   var(--color-off-black, #0f1012);
  --blg-muted: var(--color-steel-gray, #5e5e5e);
  --blg-faint: var(--color-ash-gray, #8f8f8f);
  --blg-blue:  #0071e3;
  --blg-rule:  rgba(15, 16, 18, 0.1);
  --blg-recess: #f2f2f4;
  --blg-line-strong: rgba(15, 16, 18, 0.45);
  --blg-ease:  cubic-bezier(0.22, 0.61, 0.36, 1);
}

.blg {
  background: #ffffff;
  color: var(--blg-ink);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
}

.blg *,
.blg *::before,
.blg *::after { box-sizing: border-box; letter-spacing: 0; border-radius: 0; }

/* ---------- Head ---------- */
.blg-head {
  max-width: 820px;
  padding-bottom: var(--spacing-50, 50px);
}

.blg-eyebrow {
  margin: 0;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--blg-faint);
}

.blg-title {
  margin: var(--spacing-11, 11px) 0 0;
  font-size: 52px;
  font-weight: 350;
  line-height: 1.1;
  color: var(--blg-ink);
}

.blg-lede {
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 60ch;
  font-size: var(--ts-label, 18px);
  line-height: 1.55;
  color: var(--blg-muted);
}

/* ---------- Topic chips ---------- */
.blg-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-10, 10px);
  padding: var(--spacing-22, 22px) 0;
  margin-bottom: var(--spacing-50, 50px);
  border-top: 0.5px solid var(--blg-rule);
  border-bottom: 0.5px solid var(--blg-rule);
}

.blg-chip {
  height: 36px;
  padding: 0 var(--spacing-15, 15px);
  border: 0.5px solid var(--blg-rule);
  background: transparent;
  font-family: inherit;
  font-size: var(--ts-meta, 13px);
  font-weight: 350;
  color: var(--blg-muted);
  cursor: pointer;
  transition: color 0.3s var(--blg-ease), border-color 0.3s var(--blg-ease), background 0.3s var(--blg-ease);
}

.blg-chip:hover { color: var(--blg-ink); border-color: var(--blg-ink); }

.blg-chip.is-active {
  color: #ffffff;
  background: var(--blg-blue);
  border-color: var(--blg-blue);
}

.blg-chip:focus-visible { outline: 1px solid var(--blg-blue); outline-offset: 2px; }

/* ---------- Grid + cards ---------- */
.blg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--spacing-30, 30px);
  row-gap: var(--spacing-50, 50px);
}

.blg-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.blg-card[hidden] { display: none; }

.blg-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.blg-card-cover {
  aspect-ratio: 16 / 10;
  background: var(--blg-recess);
  border: 0.5px solid var(--blg-rule);
  overflow: hidden;
  transition: border-color 0.35s var(--blg-ease);
}

/* photos fill their frame, cropped from the centre */
.blg-card-cover img,
.blg-post-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--blg-ease);
}

.blg-card-link:hover .blg-card-cover img { transform: scale(1.03); }

.blg-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: var(--spacing-22, 22px);
}

.blg-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px var(--spacing-15, 15px);
  margin: 0;
  font-size: var(--ts-meta, 13px);
  line-height: 1.4;
  color: var(--blg-faint);
}

.blg-card-cat { color: var(--blg-blue); }

.blg-card-title {
  margin: var(--spacing-11, 11px) 0 0;
  font-size: var(--ts-card, 24px);
  font-weight: 350;
  line-height: 1.25;
  color: var(--blg-ink);
  transition: color 0.3s var(--blg-ease);
}

.blg-card-excerpt {
  margin: var(--spacing-11, 11px) 0 0;
  max-width: 60ch;
  font-size: var(--ts-body, 16px);
  line-height: 1.55;
  color: var(--blg-muted);
}

.blg-card-cue {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-10, 10px);
  margin-top: auto;
  padding-top: var(--spacing-22, 22px);
  font-size: var(--ts-meta, 13px);
  color: var(--blg-blue);
}

.blg-card-cue svg {
  width: 13px;
  height: 13px;
  transition: transform 0.35s var(--blg-ease);
}

.blg-card-link:hover .blg-card-title,
.blg-card-link:focus-visible .blg-card-title { color: var(--blg-blue); }
.blg-card-link:hover .blg-card-cover,
.blg-card-link:focus-visible .blg-card-cover { border-color: var(--blg-blue); }
.blg-card-link:hover .blg-motif { transform: scale(1.03); }
.blg-card-link:hover .blg-card-cue svg,
.blg-card-link:focus-visible .blg-card-cue svg { transform: translateX(4px); }
.blg-card-link:focus-visible { outline: 1px solid var(--blg-blue); outline-offset: 6px; }

/* Featured */
.blg-card.is-featured { grid-column: 1 / -1; }

.blg-card.is-featured .blg-card-link {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  column-gap: var(--spacing-50, 50px);
  align-items: stretch;
  padding-bottom: var(--spacing-50, 50px);
  border-bottom: 0.5px solid var(--blg-rule);
}

.blg-card.is-featured .blg-card-body { padding-top: 0; justify-content: center; }
.blg-card.is-featured .blg-card-title { font-size: 34px; line-height: 1.15; }
.blg-card.is-featured .blg-card-cue { margin-top: 0; }

.blg-empty {
  margin: 0;
  font-size: var(--ts-body, 16px);
  color: var(--blg-muted);
}

/* ---------- Related ---------- */
.blg--related {
  padding-top: var(--spacing-94, 94px);
  border-top: 0.5px solid var(--blg-rule);
}

.blg-related-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--spacing-22, 22px);
  margin-bottom: var(--spacing-35, 35px);
}

.blg-related-title {
  margin: 0;
  font-size: var(--ts-h2, 27px);
  font-weight: 350;
  line-height: 1.2;
  color: var(--blg-ink);
}

.blg-related-all {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-10, 10px);
  font-size: var(--ts-meta, 13px);
  color: var(--blg-blue);
  text-decoration: none;
}

.blg-related-all svg { width: 13px; height: 13px; transition: transform 0.35s var(--blg-ease); }
.blg-related-all:hover svg { transform: translateX(4px); }
.blg--related .blg-card-title { font-size: var(--ts-label, 18px); }
.blg--related .blg-card-excerpt { display: none; }

/* ---------- Article ---------- */
.blg-post { padding-bottom: var(--spacing-94, 94px); }

.blg-post-head {
  max-width: 900px;
  padding-bottom: var(--spacing-50, 50px);
}

.blg-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-10, 10px);
  font-size: var(--ts-meta, 13px);
  line-height: 1.4;
  color: var(--blg-faint);
}

.blg-crumbs a {
  color: var(--blg-faint);
  text-decoration: none;
  transition: color 0.3s var(--blg-ease);
}

.blg-crumbs a:last-child { color: var(--blg-blue); }
.blg-crumbs a:hover { color: var(--blg-ink); }

.blg-post-title {
  margin: var(--spacing-22, 22px) 0 0;
  font-size: 48px;
  font-weight: 350;
  line-height: 1.12;
  color: var(--blg-ink);
}

.blg-post-lede {
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 62ch;
  font-size: var(--ts-label, 18px);
  line-height: 1.6;
  color: var(--blg-muted);
}

.blg-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-15, 15px);
  margin: var(--spacing-22, 22px) 0 0;
  font-size: var(--ts-meta, 13px);
  color: var(--blg-faint);
}

.blg-post-meta > * + *::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: var(--spacing-15, 15px);
  vertical-align: middle;
  border: 0.5px solid var(--blg-faint);
}

.blg-post-cover {
  width: 100%;
  height: clamp(240px, 38vw, 540px);
  overflow: hidden;
  margin-bottom: var(--spacing-94, 94px);
  background: var(--blg-recess);
  border: 0.5px solid var(--blg-rule);
}

.blg-post .lgl-toc { margin-top: 0; }

/* Key takeaways */
.blg-takeaways {
  margin-bottom: var(--spacing-50, 50px);
  padding: var(--spacing-30, 30px);
  background: var(--blg-recess);
  border-left: 1px solid var(--blg-blue);
}

.blg-takeaways-label {
  margin: 0 0 var(--spacing-15, 15px);
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--blg-blue);
}

.blg-takeaways ul { list-style: none; margin: 0; padding: 0; }

.blg-takeaways li {
  position: relative;
  padding-left: var(--spacing-22, 22px);
  font-size: var(--ts-body, 16px);
  line-height: 1.6;
  color: var(--blg-ink);
}

.blg-takeaways li + li { margin-top: 8px; }

.blg-takeaways li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: calc(0.8em - 3px);
  width: 6px;
  height: 6px;
  border: 0.5px solid var(--blg-blue);
}

/* Numbered lists inside sections */
.blg-post .lgl-section ol {
  counter-reset: blg-ol;
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  max-width: 68ch;
}

.blg-post .lgl-section ol li {
  counter-increment: blg-ol;
  position: relative;
  padding-left: var(--spacing-30, 30px);
  font-size: var(--ts-body, 16px);
  line-height: 1.65;
  color: var(--blg-muted);
}

.blg-post .lgl-section ol li + li { margin-top: 6px; }

.blg-post .lgl-section ol li::before {
  content: counter(blg-ol, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.65;
  color: var(--blg-blue);
  font-variant-numeric: tabular-nums;
}

/* Comparison table */
.blg-table-wrap { overflow-x: auto; max-width: 100%; }

.blg-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: var(--ts-small, 14px);
  line-height: 1.5;
}

.blg-table th,
.blg-table td {
  padding: var(--spacing-11, 11px) var(--spacing-15, 15px) var(--spacing-11, 11px) 0;
  border-bottom: 0.5px solid var(--blg-rule);
  text-align: left;
  vertical-align: top;
  font-weight: 350;
}

.blg-table thead th {
  border-bottom: 0.5px solid var(--blg-ink);
  font-size: var(--ts-eyebrow, 12px);
  text-transform: uppercase;
  color: var(--blg-faint);
}

.blg-table tbody th { color: var(--blg-ink); width: 26%; }
.blg-table td { color: var(--blg-muted); }

/* FAQ */
.blg-faq {
  margin-top: var(--spacing-11, 11px);
  border-bottom: 0.5px solid var(--blg-rule);
}

.blg-faq-item { border-top: 0.5px solid var(--blg-rule); }

.blg-faq-q {
  margin: 0;
  font-size: inherit;
  font-weight: 350;
}

.blg-faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-30, 30px);
  width: 100%;
  padding: var(--spacing-22, 22px) 0;
  border: 0;
  background: none;
  font-family: inherit;
  text-align: left;
  color: inherit;
  cursor: pointer;
}

.blg-faq-q-text {
  font-size: var(--ts-label, 18px);
  line-height: 1.35;
  font-weight: 350;
  color: var(--blg-ink);
  transition: color 260ms ease;
}

.blg-faq-trigger:hover .blg-faq-q-text,
.blg-faq-item.is-open .blg-faq-q-text { color: var(--blg-blue); }

.blg-faq-trigger:focus-visible {
  outline: 1px solid var(--blg-blue);
  outline-offset: 4px;
}

.blg-faq-icon {
  position: relative;
  flex: none;
  width: 34px;
  height: 34px;
  border: 0.5px solid var(--blg-rule);
  background: #ffffff;
  transition: border-color 260ms ease;
}

.blg-faq-icon::before,
.blg-faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--blg-ink);
  transition: transform 260ms ease, background-color 260ms ease;
}

.blg-faq-icon::before { width: 12px; height: 1px; transform: translate(-50%, -50%); }
.blg-faq-icon::after  { width: 1px; height: 12px; transform: translate(-50%, -50%); }

.blg-faq-trigger:hover .blg-faq-icon,
.blg-faq-trigger:focus-visible .blg-faq-icon,
.blg-faq-item.is-open .blg-faq-icon { border-color: var(--blg-blue); }

.blg-faq-item.is-open .blg-faq-icon::before,
.blg-faq-item.is-open .blg-faq-icon::after { background: var(--blg-blue); }

.blg-faq-item.is-open .blg-faq-icon::after { transform: translate(-50%, -50%) scaleY(0); }

.blg-faq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease;
}

.blg-faq-panel-inner { overflow: hidden; min-height: 0; }

.blg-faq-item.is-open .blg-faq-panel { grid-template-rows: 1fr; }

.blg-post .lgl-section .blg-faq-panel-inner p {
  margin: 0;
  padding: 0 calc(34px + var(--spacing-30, 30px)) var(--spacing-22, 22px) 0;
  max-width: 68ch;
}

/* Editorial reading */
.blg-post .lgl-section {
  padding: 0;
  border-top: 0;
  margin-top: var(--spacing-69, 69px);
}

.blg-post .blg-takeaways + .lgl-section { margin-top: 0; }

.blg-post .blg-takeaways li { max-width: 68ch; }

.blg-post .lgl-h {
  margin: 0 0 var(--spacing-22, 22px);
  font-size: var(--ts-h2, 27px);
  line-height: 1.2;
}

.blg-post .lgl-section p,
.blg-post .lgl-section ul li,
.blg-post .lgl-section ol li {
  font-size: 17px;
  line-height: 1.75;
  color: rgba(15, 16, 18, 0.78);
}

.blg-post .lgl-section p { margin-bottom: 20px; }
.blg-post .lgl-section ul li + li,
.blg-post .lgl-section ol li + li { margin-top: 10px; }

.blg-post .lgl-toc a { padding-top: 6px; padding-bottom: 6px; }

/* Spacing between the article and Keep reading */
.lgl.blg-post { padding-bottom: var(--spacing-69, 69px); }
.blg.blg--related { padding-top: var(--spacing-69, 69px); }

@media (max-width: 1023px) {
  .lgl.blg-post { padding-bottom: var(--spacing-50, 50px); }
  .blg.blg--related { padding-top: var(--spacing-50, 50px); }
}

@media (max-width: 767px) {
  .lgl.blg-post { padding-bottom: var(--spacing-35, 35px); }
  .blg.blg--related { padding-top: var(--spacing-35, 35px); }
}

/* Pull quote */
.blg-pull {
  margin: var(--spacing-94, 94px) 0 0;
  padding: var(--spacing-11, 11px) 0 var(--spacing-11, 11px) var(--spacing-30, 30px);
  border-left: 1px solid var(--blg-blue);
}

.blg-pull blockquote { margin: 0; }

.blg-pull p {
  margin: 0;
  max-width: 26ch;
  font-size: 32px;
  font-weight: 350;
  line-height: 1.25;
  color: var(--blg-ink);
}

.blg-pull + .lgl-section { margin-top: var(--spacing-94, 94px); }

/* FAQ break */
.blg-post #faq {
  margin-top: var(--spacing-94, 94px);
  padding-top: var(--spacing-50, 50px);
  border-top: 0.5px solid var(--blg-rule);
}

@media (max-width: 767px) {
  .blg-post .lgl-section { margin-top: var(--spacing-50, 50px); }
  .blg-post .lgl-h { font-size: var(--ts-h2, 22px); }
  .blg-post .lgl-section p,
  .blg-post .lgl-section ul li,
  .blg-post .lgl-section ol li { font-size: 16px; line-height: 1.7; }
  .blg-pull { margin-top: var(--spacing-69, 69px); padding-left: var(--spacing-22, 22px); }
  .blg-pull p { font-size: 24px; }
  .blg-pull + .lgl-section { margin-top: var(--spacing-69, 69px); }
  .blg-post #faq { margin-top: var(--spacing-69, 69px); padding-top: var(--spacing-35, 35px); }
}

/* Contact prompt */
.blg-cta {
  margin-top: var(--spacing-50, 50px);
  padding: var(--spacing-50, 50px);
  border: 0.5px solid var(--blg-rule);
  background: var(--blg-recess);
}

.blg-cta-eyebrow {
  margin: 0;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--blg-faint);
}

.blg-cta-title {
  margin: var(--spacing-11, 11px) 0 0;
  font-size: var(--ts-h2, 27px);
  font-weight: 350;
  line-height: 1.2;
  color: var(--blg-ink);
}

.blg-cta-text {
  margin: var(--spacing-15, 15px) 0 0;
  max-width: 52ch;
  font-size: var(--ts-body, 16px);
  line-height: 1.6;
  color: var(--blg-muted);
}

.blg-cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-22, 22px) var(--spacing-30, 30px);
  margin-top: var(--spacing-30, 30px);
}

.blg-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-30, 30px);
  min-width: 200px;
  height: 54px;
  padding: 0 var(--spacing-22, 22px);
  border: 0.5px solid var(--blg-blue);
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--blg-blue) !important;
  text-decoration: none;
  border-bottom: 0.5px solid var(--blg-blue) !important;
  transition: background 0.35s var(--blg-ease), color 0.35s var(--blg-ease);
}

.blg-cta-btn svg { width: 14px; height: 14px; transition: transform 0.35s var(--blg-ease); }
.blg-cta-btn:hover,
.blg-cta-btn:focus-visible { background: var(--blg-blue); color: #ffffff !important; outline: 0; }
.blg-cta-btn:hover svg,
.blg-cta-btn:focus-visible svg { transform: translateX(5px); }

.blg-cta-link {
  font-size: var(--ts-meta, 13px);
  color: var(--blg-blue);
  text-decoration: none;
  border-bottom: 0.5px solid rgba(0, 113, 227, 0.35);
}

.blg-cta-link:hover { border-bottom-color: var(--blg-blue); }

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .blg {
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-94, 94px);
  }
  .blg-title { font-size: 40px; }
  .blg-post-title { font-size: 38px; }
  .blg-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blg-grid--three .blg-card:nth-child(3) { display: none; }
  .blg-card.is-featured .blg-card-link { grid-template-columns: minmax(0, 1fr); row-gap: var(--spacing-22, 22px); }
  .blg-card.is-featured .blg-card-title { font-size: 28px; }
  .blg-post-cover { height: 52vw; margin-bottom: 0; }
  .blg--related { padding-top: var(--spacing-69, 69px); }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .blg {
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }
  .blg-title { font-size: 32px; }
  .blg-lede, .blg-post-lede { font-size: 16px; }
  .blg-head, .blg-post-head { padding-bottom: var(--spacing-35, 35px); }
  .blg-filters { margin-bottom: var(--spacing-35, 35px); }
  .blg-grid,
  .blg-grid--three { grid-template-columns: minmax(0, 1fr); row-gap: var(--spacing-35, 35px); }
  .blg-grid--three .blg-card:nth-child(3) { display: block; }
  .blg-card.is-featured .blg-card-link { padding-bottom: 0; border-bottom: 0; }
  .blg-card.is-featured .blg-card-title { font-size: var(--ts-card, 20px); }
  .blg-post-title { font-size: 30px; }
  .blg-post-cover { height: 66vw; }
  .blg-takeaways { padding: var(--spacing-22, 22px); }
  .blg-cta { padding: var(--spacing-30, 30px) var(--spacing-22, 22px); }
  .blg-cta-btn { width: 100%; }
  .blg-related-head { flex-direction: column; gap: var(--spacing-10, 10px); }
}

@media (prefers-reduced-motion: reduce) {
  .blg-faq-panel, .blg-faq-icon, .blg-faq-icon::before, .blg-faq-icon::after, .blg-faq-q-text, .blg-card-cover img, .blg-post-cover img, .blg-card-cue svg, .blg-card-title, .blg-card-cover, .blg-chip, .blg-cta-btn, .blg-cta-btn svg, .blg-related-all svg { transition: none; }
}

/* =========================================================================
   Type scale
   ========================================================================= */

:root {
  --ts-h2:      27px;  /* Section titles */
  --ts-h3:      22px;  /* Titles under a section title */
  --ts-card:    24px;  /* Service card and ledger item names */
  --ts-label:   18px;  /* Label paired with an eyebrow, sub-titles */
  --ts-link:    20px;  /* Large card links */
  --ts-body:    16px;  /* Ledes, card text, links, quotes */
  --ts-small:   14px;  /* Notes, figure labels, chips */
  --ts-meta:    13px;  /* Roles, tags, cues, legal, buttons */
  --ts-eyebrow: 12px;  /* Eyebrows, indexes, numbers */
}

@media (max-width: 1023px) {
  :root {
    --ts-h2:    24px;
    --ts-h3:    20px;
    --ts-card:  22px;
    --ts-label: 17px;
    --ts-link:  18px;
    --ts-body:  15px;
    --ts-small: 13px;
  }
}

@media (max-width: 767px) {
  :root {
    --ts-h2:    22px;
    --ts-h3:    18px;
    --ts-card:  20px;
    --ts-label: 16px;
    --ts-link:  18px;
    --ts-body:  15px;
    --ts-small: 13px;
    --ts-meta:  12px;
  }
}

/* ---------- Home service cards ---------- */
.spc {
  --spc-name: var(--ts-card);
  --spc-sub:  var(--ts-body);
  --spc-text: var(--ts-body);
  --spc-link: var(--ts-link);
}

/* ---------- Section titles and statement lines ---------------------------- */
.st-lede,
.ovs-title,
.ixb-title,
.bhx-title,
.ts-title,
.err h1,
.cs-receipt-val,
.kbf-statement,
.faq-heading,
.act-heading,
.hib-line,
.pqt-quote,
.dfaq-heading,
.dact-heading,
.bfaq-heading,
.bab-line,
.dab-line,
.abw-headline,
.abl-heading { font-size: var(--ts-h2); }

/* ---------- Titles under a section title --- */
.ixb-band-title,
.bhx-row-title,
.faq-q-text,
.std-name,
.dfaq-q-text,
.bfaq-q-text,
.abt-title,
.abl-lead-name { font-size: var(--ts-h3); }

/* ---------- Ledger item names -------- */
.cxs-name-text,
.digital-name-text,
.bko-name-text { font-size: var(--ts-card); }

/* Below desktop the ledger turns into an accordion */
@media (max-width: 1023px) {
  .cxs-name-text,
  .digital-name-text,
  .bko-name-text { font-size: var(--ts-label); }
}

/* ---------- Labels and sub-titles ----------------------------------------- */
.st-title,
.act-sub-title,
.pqt-col-title,
.dact-sub-title,
.abw-name-text { font-size: var(--ts-label); }

/* ---------- Body ---------------------- */
.ovs-statement,
.ovs-step,
.ixb-lede,
.ixb-link,
.ixb-band-text,
.bhx-lede,
.bhx-row-sub,
.ts-lede,
.ts-quote,
.ts-name,
.ctf-sub,
.cs-coord-val,
.ctf-list a,
.cxs-summary,
.cxs-spec-list li,
.cxs-cta,
.kbf-eyebrow,
.kbf-heading,
.kbf-label,
.kbf-desc,
.faq-panel-inner p,
.act-lede,
.act-sub-desc,
.act-link-text,
.st-link-text,
.stm-desc,
.stm-link-text,
.digital-summary,
.digital-spec-list li,
.std-masthead-line,
.std-copy,
.pqt-col-body,
.dfaq-panel-inner p,
.dact-lede,
.dact-sub-desc,
.dact-link-text,
.bko-summary,
.bko-spec-list li,
.bpc-lede,
.bpc-row-label,
.bpc-row-value,
.bcs-lede,
.bcs-row-value,
.bcs-record-toggle-text,
.bqt-name,
.bfaq-panel-inner p,
.abw-lede,
.abw-note,
.abt-lede,
.abt-event,
.abl-lead-desc,
.abl-name,
.err-description { font-size: var(--ts-body); }

/* ---------- Small ------------------------------ */
.mx-label,
.ovs-note,
.ovs-check-text,
.cxs-spec-label,
.hib-explore-label,
.hib-chip,
.digital-spec-label,
.bko-spec-label,
.bcs-flow-name,
.bab-explore-label,
.bab-chip,
.dab-explore-label,
.dab-chip { font-size: var(--ts-small); }

/* ---------- Meta ----------------------------------- */
.spc-list,
.ovs-tag,
.bhx-row-cue,
.ts-role,
.cs-send,
.ctf-label,
.ctf-legal p,
.bqt-role,
.abl-lead-role,
.abl-role,
.err-home { font-size: var(--ts-meta); }

/* ---------- Eyebrows, indexes, numbers, form labels ----------------------- */
.st-eyebrow,
.ovs-index-label,
.ovs-entry-name,
.ovs-gate,
.ovs-hint,
.ovs-toggle,
.ovs-check-num,
.ixb-eyebrow,
.ixb-num,
.cs-coord-key,
.cs-coord--fine .cs-coord-val,
.cs-field label,
.cs-disclaimer,
.cs-receipt-key,
.ctf-num,
.cxs-index,
.cxs-set-label,
.kbf-index,
.faq-eyebrow,
.digital-index,
.digital-set-label,
.std-index,
.pqt-col-label,
.dfaq-eyebrow,
.bko-index,
.bko-set-label,
.bcs-figure-label,
.bcs-flow-label,
.bcs-flow-note,
.bcs-flow-year,
.bcs-row-label,
.bfaq-eyebrow,
.abw-eyebrow,
.abw-index,
.abt-eyebrow,
.abt-date,
.abl-eyebrow,
.abl-row::before,
.bpc-eyebrow { font-size: var(--ts-eyebrow); }

/* =========================================================================
   Client logo row
   ========================================================================= */
.hlead-logo img,
.hro-logo img,
.bhr-logo img { transform: translateY(var(--y, 0%)); }

/* =========================================================================
   Legal Pages
   ========================================================================= */
.lgl{
  --lgl-ink:   var(--color-off-black, #0f1012);
  --lgl-muted: var(--color-steel-gray, #5e5e5e);
  --lgl-faint: var(--color-ash-gray, #8f8f8f);
  --lgl-blue:  #0071e3;
  --lgl-rule:  rgba(15, 16, 18, 0.1);
  --lgl-stick: calc(var(--hdr-clearance, 110px) + var(--spacing-22, 22px));

  background: #ffffff;
  color: var(--lgl-ink);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
}

.lgl *,
.lgl *::before,
.lgl *::after{ box-sizing: border-box; }

.lgl-grid{
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

/* ---------- Rail ---------- */
.lgl-rail{ align-self: stretch; }

.lgl-eyebrow{
  margin: 0;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  color: var(--lgl-faint);
}

.lgl-title{
  margin: var(--spacing-4, 4px) 0 0;
  font-size: var(--ts-h2, 27px);
  line-height: 1.2;
  font-weight: 350;
  color: var(--lgl-ink);
}

.lgl-updated{
  margin: var(--spacing-22, 22px) 0 0;
  font-size: var(--ts-meta, 13px);
  line-height: 1.4;
  color: var(--lgl-faint);
}

.lgl-toc{
  position: sticky;
  top: var(--lgl-stick);
  margin-top: var(--spacing-50, 50px);
}
.lgl-toc.is-static{ position: static; }

.lgl-toc-label{
  margin: 0 0 var(--spacing-11, 11px);
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  color: var(--lgl-faint);
}

.lgl-toc-toggle{ display: none; }

.lgl-toc ol{
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 0.5px solid var(--lgl-rule);
}

.lgl-toc li{ margin: 0; padding: 0; }
.lgl-toc li::before{ content: none; }

.lgl-toc a{
  display: flex;
  align-items: baseline;
  gap: var(--spacing-11, 11px);
  margin-left: -0.5px;
  padding: 5px 0 5px var(--spacing-22, 22px);
  border-left: 1px solid transparent;
  font-size: var(--ts-small, 14px);
  line-height: 1.35;
  color: var(--lgl-muted);
  text-decoration: none;
  transition: color 260ms ease, border-color 260ms ease;
}

.lgl-toc-num{
  flex: none;
  min-width: 2ch;
  font-size: var(--ts-eyebrow, 12px);
  color: var(--lgl-faint);
  font-variant-numeric: tabular-nums;
  transition: color 260ms ease;
}

.lgl-toc a:hover{ color: var(--lgl-ink); }

.lgl-toc a.is-active{
  color: var(--lgl-ink);
  border-left-color: var(--lgl-blue);
}
.lgl-toc a.is-active .lgl-toc-num{ color: var(--lgl-blue); }

.lgl-toc a:focus-visible{
  outline: 1px solid var(--lgl-blue);
  outline-offset: 2px;
}

/* ---------- Content ---------- */
.lgl-body{ min-width: 0; }

.lgl-intro{
  margin: 0;
  max-width: 64ch;
  padding-bottom: var(--spacing-50, 50px);
  font-size: var(--ts-label, 18px);
  line-height: 1.55;
  color: var(--lgl-ink);
}

.lgl-section{
  padding: var(--spacing-50, 50px) 0;
  border-top: 0.5px solid var(--lgl-rule);
  scroll-margin-top: var(--lgl-stick);
}
.lgl-section:last-child{ padding-bottom: 0; }

.lgl-num{
  display: block;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  color: var(--lgl-blue);
  font-variant-numeric: tabular-nums;
}

.lgl-h{
  margin: var(--spacing-4, 4px) 0 var(--spacing-22, 22px);
  font-size: var(--ts-h3, 22px);
  line-height: 1.25;
  font-weight: 350;
  color: var(--lgl-ink);
}

.lgl-section p{
  margin: 0 0 16px;
  max-width: 68ch;
  font-size: var(--ts-body, 16px);
  line-height: 1.65;
  color: var(--lgl-muted);
}
.lgl-section p:last-child{ margin-bottom: 0; }

/* Bold lead-ins read as ink, not heavier weight */
.lgl-section strong{
  font-weight: 400;
  color: var(--lgl-ink);
}

.lgl-section ul{
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  max-width: 68ch;
}

.lgl-section ul li{
  position: relative;
  margin: 0;
  padding: 0 0 0 var(--spacing-22, 22px);
  font-size: var(--ts-body, 16px);
  line-height: 1.65;
  color: var(--lgl-muted);
}
.lgl-section ul li + li{ margin-top: 6px; }

.lgl-section ul li::before{
  content: "";
  position: absolute;
  left: 2px;
  top: calc(0.825em - 3px);
  width: 6px;
  height: 6px;
  border: 0.5px solid var(--lgl-blue);
  background: none;
  border-radius: 0;
}

.lgl-section a{
  color: var(--lgl-blue);
  text-decoration: none;
  border-bottom: 0.5px solid rgba(0, 113, 227, 0.35);
  transition: border-color 260ms ease;
}
.lgl-section a:hover{ border-bottom-color: var(--lgl-blue); }
.lgl-section a:focus-visible{
  outline: 1px solid var(--lgl-blue);
  outline-offset: 2px;
}

/* ---------- Tablet and mobile ---------- */
@media (max-width: 1023px){
  .lgl{
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-94, 94px);
  }

  .lgl-grid{ grid-template-columns: minmax(0, 1fr); }

  .lgl-toc,
  .lgl-toc.is-static{
    position: static;
    margin: var(--spacing-35, 35px) 0 var(--spacing-50, 50px);
    border-top: 0.5px solid var(--lgl-rule);
    border-bottom: 0.5px solid var(--lgl-rule);
  }

  .lgl-toc-label{ display: none; }

  .lgl-toc-toggle{
    display: flex;
    align-items: center;
    gap: var(--spacing-11, 11px);
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: var(--ts-body, 15px);
    color: var(--lgl-ink);
    text-align: left;
    cursor: pointer;
  }

  .lgl-toc-toggle-count{
    margin-left: auto;
    font-size: var(--ts-meta, 13px);
    color: var(--lgl-faint);
  }

  /* Plus that turns to a minus */
  .lgl-toc-toggle-icon{
    position: relative;
    flex: none;
    width: 12px;
    height: 12px;
  }
  .lgl-toc-toggle-icon::before,
  .lgl-toc-toggle-icon::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    margin-top: -0.5px;
    background: var(--lgl-ink);
    transition: transform 260ms ease;
  }
  .lgl-toc-toggle-icon::after{ transform: rotate(90deg); }
  .lgl-toc.is-open .lgl-toc-toggle-icon::after{ transform: rotate(0deg); }

  .lgl-toc-toggle:focus-visible{
    outline: 1px solid var(--lgl-blue);
    outline-offset: 2px;
  }

  .lgl-toc ol{
    display: none;
    margin: 0 0 var(--spacing-22, 22px);
  }
  .lgl-toc.is-open ol{ display: block; }

  /* Tablet has the width for two columns of entries */
  .lgl-toc.is-open ol{
    column-count: 2;
    column-gap: var(--spacing-50, 50px);
  }
  .lgl-toc li{ break-inside: avoid; }

  .lgl-toc ol{ border-left: 0; }
  .lgl-toc a{
    margin-left: 0;
    padding: 7px 0 7px var(--spacing-11, 11px);
    border-left: 0.5px solid var(--lgl-rule);
  }
  .lgl-toc a.is-active{ border-left: 1px solid var(--lgl-blue); }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .lgl{
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .lgl-toc,
  .lgl-toc.is-static{ margin: var(--spacing-35, 35px) 0; }

  .lgl-toc-toggle{ min-height: 52px; }

  .lgl-toc.is-open ol{ column-count: 1; }

  .lgl-intro{ padding-bottom: var(--spacing-35, 35px); }
  .lgl-section{ padding: var(--spacing-35, 35px) 0; }
}

@media (prefers-reduced-motion: reduce){
  .lgl-toc a,
  .lgl-toc-num,
  .lgl-section a,
  .lgl-toc-toggle-icon::before,
  .lgl-toc-toggle-icon::after{ transition: none; }
}

/* =========================================================================
   Sign in
   ========================================================================= */
.sgn{
  --sgn-ink:   var(--color-off-black, #0f1012);
  --sgn-muted: var(--color-steel-gray, #5e5e5e);
  --sgn-faint: var(--color-ash-gray, #8f8f8f);
  --sgn-blue:  #0071e3;
  --sgn-blue-deep: #005bb8;
  --sgn-rule:  rgba(15, 16, 18, 0.12);
  --sgn-edge:  rgba(15, 16, 18, 0.22);
  --sgn-error: #d93025;

  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  background: #161719;
  color: #ffffff;
  font-family: var(--font-inter-tight);
  font-weight: 350;
}

.sgn *,
.sgn *::before,
.sgn *::after{ box-sizing: border-box; }

/* ---------- Top bar ---------- */
.sgn-top-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 96px;
}

.sgn-logo{ display: block; line-height: 0; }
.sgn-logo img{
  height: 24px;
  width: auto;
  display: block;
}

.sgn-back{
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-10, 10px);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color 260ms ease;
}
.sgn-back-text{
  border-bottom: 0.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color 260ms ease;
}
.sgn-back svg{
  width: 14px;
  height: 14px;
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}
.sgn-back:hover{ color: #ffffff; }
.sgn-back:hover .sgn-back-text{ border-bottom-color: #ffffff; }
.sgn-back:hover svg{ transform: translateX(3px); }
.sgn-back:focus-visible{ outline: 1px solid #ffffff; outline-offset: 4px; }

/* ---------- Body grid ---------- */
.sgn-grid{
  flex: 1;
  width: 100%;   
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  column-gap: var(--spacing-94, 94px);
  align-items: center;
  padding-top: var(--spacing-50, 50px);
  padding-bottom: var(--spacing-94, 94px);
}

/* ---------- Brand block ---------- */
.sgn-eyebrow{
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.62);
}

.sgn-heading{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: clamp(40px, 4.4vw, 60px);   /* Display exception, like the heroes */
  line-height: 1.1;
  font-weight: 300;
  color: #ffffff;
}

.sgn-lede{
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 34ch;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}

/* ---------- Card ---------- */
.sgn-card{
  background: #ffffff;
  color: var(--sgn-ink);
  padding: var(--spacing-50, 50px) 44px 44px;
  border-radius: 0;
}

.sgn-title{
  margin: 0 0 var(--spacing-35, 35px);
  font-size: 27px;
  line-height: 1.2;
  font-weight: 350;
  color: var(--sgn-ink);
}

.sgn-field + .sgn-field{ margin-top: var(--spacing-22, 22px); }

.sgn-label{
  display: block;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
  color: var(--sgn-ink);
}

.sgn-input{
  display: block;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 14px;
  border: 0.5px solid var(--sgn-edge);
  border-radius: 0;
  background: #ffffff;
  font: inherit;
  font-size: 16px;
  font-weight: 350;
  color: var(--sgn-ink);
  box-shadow: none;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.sgn-input::placeholder{ color: var(--sgn-faint); opacity: 1; }
.sgn-input:hover{ border-color: rgba(15, 16, 18, 0.4); }

.sgn-input:focus{
  border-color: var(--sgn-blue);
  box-shadow: inset 0 0 0 0.5px var(--sgn-blue);
}

.sgn-error{
  display: none;
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--sgn-error);
}
.sgn-field.has-error .sgn-error{ display: block; }
.sgn-field.has-error .sgn-input{
  border-color: var(--sgn-error);
  box-shadow: inset 0 0 0 0.5px var(--sgn-error);
}

/* Square checkbox */
.sgn-check{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: var(--spacing-22, 22px);
  cursor: pointer;
  user-select: none;
}
.sgn-check input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.sgn-check-box{
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
  border: 0.5px solid var(--sgn-edge);
  border-radius: 0;
  background: #ffffff;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.sgn-check-box::after{
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.sgn-check input:checked + .sgn-check-box{
  background: var(--sgn-blue);
  border-color: var(--sgn-blue);
}
.sgn-check input:checked + .sgn-check-box::after{ opacity: 1; }
.sgn-check input:focus-visible + .sgn-check-box{
  outline: 1px solid var(--sgn-blue);
  outline-offset: 2px;
}
.sgn-check-text{
  font-size: 13px;
  line-height: 1.3;
  color: var(--sgn-muted);
}

.sgn-submit{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  margin-top: var(--spacing-35, 35px);
  padding: 0 24px;
  border: 0;
  border-radius: 0;
  background: var(--sgn-blue);
  color: #ffffff;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  transition: background-color 260ms ease;
}
.sgn-submit svg{
  width: 14px;
  height: 14px;
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}
.sgn-submit:hover{ background: var(--sgn-blue-deep); }
.sgn-submit:hover svg{ transform: translateX(3px); }
.sgn-submit:focus-visible{
  outline: 1px solid var(--sgn-blue);
  outline-offset: 3px;
}

/* Card footer */
.sgn-foot{
  margin-top: var(--spacing-35, 35px);
  padding-top: var(--spacing-22, 22px);
  border-top: 0.5px solid var(--sgn-rule);
}

.sgn-help{
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--sgn-muted);
}
.sgn-help a{
  color: var(--sgn-blue);
  text-decoration: none;
  border-bottom: 0.5px solid rgba(0, 113, 227, 0.35);
  transition: border-color 260ms ease;
}
.sgn-help a:hover{ border-bottom-color: var(--sgn-blue); }

.sgn-legal{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--sgn-faint);
}

/* ---------- One column, card under the brand block ---------- */
@media (max-width: 1023px){
  .sgn-grid{
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-50, 50px);
    align-content: start;
    padding-top: var(--spacing-94, 94px);
  }

  .sgn-card{ max-width: 520px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .sgn-top-inner{ min-height: 76px; }
  .sgn-logo img{ height: 20px; }

  .sgn-grid{
    row-gap: var(--spacing-35, 35px);
    padding-top: var(--spacing-50, 50px);
    padding-bottom: var(--spacing-50, 50px);
  }

  .sgn-heading{ font-size: 34px; }
  .sgn-lede{ font-size: 16px; }

  .sgn-card{
    max-width: none;
    padding: var(--spacing-35, 35px) var(--spacing-22, 22px) var(--spacing-30, 30px);
  }

  .sgn-title{
    margin-bottom: var(--spacing-30, 30px);
    font-size: 22px;
  }
}

@media (prefers-reduced-motion: reduce){
  .sgn-back,
  .sgn-back-text,
  .sgn-back svg,
  .sgn-submit,
  .sgn-submit svg,
  .sgn-input,
  .sgn-check-box{ transition: none; }
}

/* =========================================================================
   Careers Application
   ========================================================================= */
.apl{
  --apl-ground: #fdfdfd;
  --apl-ink:    var(--color-off-black, #0f1012);
  --apl-muted:  var(--color-steel-gray, #5e5e5e);
  --apl-faint:  var(--color-ash-gray, #8f8f8f);
  --apl-blue:   #0071e3;
  --apl-blue-deep: #005bb8;
  --apl-rule:   rgba(15, 16, 18, 0.12);
  --apl-edge:   rgba(15, 16, 18, 0.24);
  --apl-error:  #d93025;

  background: var(--apl-ground);
  color: var(--apl-ink);
  padding-top: calc(var(--spacing-130, 130px) + var(--hdr-clearance, 110px));
  padding-bottom: var(--spacing-130, 130px);
  font-family: var(--font-inter-tight);
  font-weight: 350;
}

.apl *,
.apl *::before,
.apl *::after{ box-sizing: border-box; }

.apl-layout{
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  column-gap: var(--spacing-94, 94px);
  align-items: start;
}

/* ---------- Rail ---------- */
.apl-rail{
  position: sticky;
  top: calc(var(--hdr-clearance, 110px) + var(--spacing-22, 22px));
}

.apl-eyebrow{
  margin: 0;
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  color: var(--apl-faint);
}

.apl-heading{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: var(--ts-h2, 27px);
  line-height: 1.2;
  font-weight: 350;
  color: var(--apl-ink);
}

.apl-intro{
  margin: var(--spacing-22, 22px) 0 0;
  font-size: var(--ts-body, 16px);
  line-height: 1.6;
  color: var(--apl-muted);
}

.apl-offer-label{
  margin: var(--spacing-35, 35px) 0 var(--spacing-11, 11px);
  font-size: var(--ts-eyebrow, 12px);
  line-height: 1.4;
  color: var(--apl-faint);
}

.apl-offer{
  list-style: none;
  margin: 0;
  padding: 0;
}
.apl-offer li{
  position: relative;
  padding-left: var(--spacing-22, 22px);
  font-size: var(--ts-small, 14px);
  line-height: 1.55;
  color: var(--apl-muted);
}
.apl-offer li + li{ margin-top: 6px; }
.apl-offer li::before{
  content: "";
  position: absolute;
  left: 2px;
  top: calc(0.775em - 3px);
  width: 6px;
  height: 6px;
  border: 0.5px solid var(--apl-blue);
}

/* Step index */
.apl-progress{
  list-style: none;
  margin: var(--spacing-50, 50px) 0 0;
  padding: 0;
  border-left: 0.5px solid var(--apl-rule);
}
.apl-progress-step{
  display: flex;
  align-items: baseline;
  gap: var(--spacing-11, 11px);
  margin-left: -0.5px;
  padding: 7px 0 7px var(--spacing-22, 22px);
  border-left: 1px solid transparent;
  font-size: var(--ts-small, 14px);
  line-height: 1.35;
  color: var(--apl-faint);
  transition: color 260ms ease, border-color 260ms ease;
}
.apl-progress-num{
  font-size: var(--ts-eyebrow, 12px);
  font-variant-numeric: tabular-nums;
}
.apl-progress-step.is-done{ color: var(--apl-muted); }
.apl-progress-step.is-current{
  color: var(--apl-ink);
  border-left-color: var(--apl-blue);
}
.apl-progress-step.is-current .apl-progress-num{ color: var(--apl-blue); }

/* ---------- Form ---------- */
.apl-body{ min-width: 0; }

.apl-hp{
  position: absolute !important;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.apl-step{
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.apl-step[hidden]{ display: none; }

.apl-step-title{
  display: flex;
  align-items: baseline;
  gap: var(--spacing-11, 11px);
  margin: 0;
  padding: 0;
  font-size: var(--ts-h3, 22px);
  line-height: 1.25;
  font-weight: 350;
  color: var(--apl-ink);
}
.apl-step-num{
  font-size: var(--ts-eyebrow, 12px);
  color: var(--apl-blue);
  font-variant-numeric: tabular-nums;
}

.apl-step-lede{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: var(--ts-body, 16px);
  line-height: 1.5;
  color: var(--apl-muted);
}

.apl-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-30, 30px) var(--spacing-30, 30px);
  margin-top: var(--spacing-35, 35px);
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid var(--apl-rule);
}

.apl-field{
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.apl-field--full{ grid-column: 1 / -1; }

.apl-label{
  display: block;
  margin: 0 0 8px;
  padding: 0;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
  color: var(--apl-ink);
}
.apl-req{ color: var(--apl-blue); }

.apl-input{
  display: block;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 14px;
  border: 0.5px solid var(--apl-edge);
  border-radius: 0;
  background: #ffffff;
  font: inherit;
  font-size: 16px;
  font-weight: 350;
  color: var(--apl-ink);
  box-shadow: none;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.apl-input::placeholder{ color: var(--apl-faint); opacity: 1; }
.apl-input:hover{ border-color: rgba(15, 16, 18, 0.4); }
.apl-input:focus{
  border-color: var(--apl-blue);
  box-shadow: inset 0 0 0 0.5px var(--apl-blue);
}

.apl-textarea{
  height: auto;
  min-height: 120px;
  padding: 12px 14px;
  line-height: 1.5;
  resize: vertical;
}

/* Square box, thin chevron */
.apl-select{ position: relative; }
.apl-select .apl-input{ padding-right: 40px; cursor: pointer; }
.apl-select .apl-input:invalid{ color: var(--apl-faint); }
.apl-select::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -6px;
  border: solid var(--apl-ink);
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.apl-select option{ color: var(--apl-ink); }

.apl-hint{
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--apl-faint);
}
.apl-chips .apl-hint{ margin: -2px 0 12px; }

.apl-error{
  display: none;
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--apl-error);
}
.apl-field.has-error .apl-error{ display: block; }
.apl-field.has-error .apl-input{
  border-color: var(--apl-error);
  box-shadow: inset 0 0 0 0.5px var(--apl-error);
}

/* Position chips */
.apl-chip-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.apl-chip{
  position: relative;
  display: inline-flex;
  cursor: pointer;
}
.apl-chip input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.apl-chip span{
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 0.5px solid var(--apl-edge);
  background: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  color: var(--apl-ink);
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.apl-chip:hover span{ border-color: rgba(15, 16, 18, 0.45); }
.apl-chip input:checked + span{
  background: var(--apl-blue);
  border-color: var(--apl-blue);
  color: #ffffff;
}
.apl-chip input:focus-visible + span{
  outline: 1px solid var(--apl-blue);
  outline-offset: 2px;
}
.apl-chips.has-error .apl-chip span{ border-color: var(--apl-error); }

/* CV drop zone */
.apl-drop{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  min-height: 96px;
  padding: 22px;
  border: 0.5px dashed var(--apl-edge);
  background: #ffffff;
  cursor: pointer;
  transition: border-color 200ms ease, background-color 200ms ease;
}
.apl-drop input{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.apl-drop:hover,
.apl-drop.is-over{ border-color: var(--apl-blue); }
.apl-drop:focus-within{
  border-style: solid;
  border-color: var(--apl-blue);
  box-shadow: inset 0 0 0 0.5px var(--apl-blue);
}
.apl-drop-icon{
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0.5px solid var(--apl-rule);
  color: var(--apl-blue);
}
.apl-drop-icon svg{ width: 16px; height: 16px; }
.apl-drop-text{
  font-size: 15px;
  line-height: 1.4;
  color: var(--apl-muted);
}
.apl-drop-main{ color: var(--apl-blue); }
.apl-drop-file{
  flex-basis: 100%;
  font-size: 13px;
  line-height: 1.4;
  color: var(--apl-ink);
}
.apl-drop-file:empty{ display: none; }
.apl-drop.has-file{ border-style: solid; }
.apl-drop.has-file .apl-drop-file::before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  vertical-align: 1px;
  background: var(--apl-blue);
}
.apl-field.has-error .apl-drop{ border-color: var(--apl-error); }

/* Consent */
.apl-consent{
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}
.apl-consent input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.apl-consent-box{
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border: 0.5px solid var(--apl-edge);
  background: #ffffff;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.apl-consent-box::after{
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.apl-consent input:checked + .apl-consent-box{
  background: var(--apl-blue);
  border-color: var(--apl-blue);
}
.apl-consent input:checked + .apl-consent-box::after{ opacity: 1; }
.apl-consent input:focus-visible + .apl-consent-box{
  outline: 1px solid var(--apl-blue);
  outline-offset: 2px;
}
.apl-field.has-error .apl-consent-box{ border-color: var(--apl-error); }
.apl-consent-text{
  font-size: 14px;
  line-height: 1.55;
  color: var(--apl-muted);
}
.apl-consent-text a,
.apl-done-text a{
  color: var(--apl-blue);
  text-decoration: none;
  border-bottom: 0.5px solid rgba(0, 113, 227, 0.35);
}
.apl-consent-text a:hover{ border-bottom-color: var(--apl-blue); }

.apl-form-error{
  grid-column: 1 / -1;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--apl-error);
}
.apl-form-error:empty{ display: none; }

/* ---------- Step navigation ---------- */
.apl-nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-22, 22px);
  margin-top: var(--spacing-50, 50px);
  padding-top: var(--spacing-30, 30px);
  border-top: 0.5px solid var(--apl-rule);
}

.apl-back{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 14px;
  color: var(--apl-muted);
  cursor: pointer;
  transition: color 260ms ease;
}
.apl-back svg{
  width: 14px;
  height: 14px;
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}
.apl-back:hover{ color: var(--apl-ink); }
.apl-back:hover svg{ transform: translateX(-3px); }

.apl-next{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  padding: 0 26px;
  border: 0;
  border-radius: 0;
  background: var(--apl-blue);
  color: #ffffff;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  transition: background-color 260ms ease;
}
.apl-next svg{
  width: 14px;
  height: 14px;
  transition: transform 380ms cubic-bezier(0.4, 0, 0.2, 1);
}
.apl-next:hover{ background: var(--apl-blue-deep); }
.apl-next:hover svg{ transform: translateX(3px); }
.apl-next:disabled{ opacity: 0.6; cursor: progress; }

.apl-back:focus-visible,
.apl-next:focus-visible{
  outline: 1px solid var(--apl-blue);
  outline-offset: 3px;
}

/* ---------- Received ---------- */
.apl-done{
  padding-top: var(--spacing-35, 35px);
  border-top: 0.5px solid var(--apl-rule);
  outline: 0;
}
.apl-done-key{
  margin: 0;
  font-size: var(--ts-eyebrow, 12px);
  color: var(--apl-blue);
}
.apl-done-title{
  margin: var(--spacing-11, 11px) 0 0;
  font-size: var(--ts-h2, 27px);
  line-height: 1.2;
  font-weight: 350;
  color: var(--apl-ink);
}
.apl-done-text{
  margin: var(--spacing-22, 22px) 0 0;
  max-width: 52ch;
  font-size: var(--ts-body, 16px);
  line-height: 1.6;
  color: var(--apl-muted);
}
.apl-done-link{
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-top: var(--spacing-35, 35px);
  color: var(--apl-blue);
  text-decoration: none;
  font-size: 16px;
}
.apl-done-link svg{
  width: 40px;
  height: 40px;
  padding: 11px;
  border: 0.5px solid var(--apl-rule);
  transition: border-color 260ms ease;
}
.apl-done-link:hover svg{ border-color: var(--apl-blue); }

/* ---------- Tablet ---------- */
@media (max-width: 1023px){
  .apl{
    padding-top: calc(var(--spacing-94, 94px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-94, 94px);
  }

  .apl-layout{
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--spacing-50, 50px);
  }

  .apl-rail{ position: static; }
  .apl-intro{ max-width: 60ch; }

  .apl-progress{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: 0;
    border-top: 0.5px solid var(--apl-rule);
  }
  .apl-progress-step{
    flex-direction: column;
    gap: 4px;
    margin: -0.5px 0 0;
    padding: 12px 8px 0 0;
    border-left: 0;
    border-top: 1px solid transparent;
  }
  .apl-progress-step.is-current{ border-top-color: var(--apl-blue); }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px){
  .apl{
    padding-top: calc(var(--spacing-69, 69px) + var(--hdr-clearance, 110px));
    padding-bottom: var(--spacing-69, 69px);
  }

  .apl-layout{ row-gap: var(--spacing-35, 35px); }
  .apl-offer-label,
  .apl-offer{ display: none; }
  .apl-progress{ margin-top: var(--spacing-30, 30px); }
  .apl-progress-text{ font-size: 12px; }

  .apl-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: var(--spacing-22, 22px);
    margin-top: var(--spacing-22, 22px);
    padding-top: var(--spacing-22, 22px);
  }

  .apl-nav{ margin-top: var(--spacing-35, 35px); }
  .apl-next{ padding: 0 20px; }
}

@media (prefers-reduced-motion: reduce){
  .apl-input,
  .apl-chip span,
  .apl-drop,
  .apl-consent-box,
  .apl-back svg,
  .apl-next,
  .apl-next svg,
  .apl-progress-step,
  .apl-done-link svg{ transition: none; }
}

/* ============================================================
   Customer Experience page: brand blue #0230d9 (the About blue)
   Every var(--color-signal-blue) on this page picks it up.
   Dark sections keep #2997ff, the on-dark lift of this blue.
   ============================================================ */

.page-cx {
  --color-signal-blue: #0230d9;
}

/* ============================================================
   Customer Experience image band: light theme
   White ground and a white scrim over the artwork, dark type.
   ============================================================ */

.hib {
  --hib-scrim: 253, 253, 253;                    /* Pure white, as rgb parts */
  --hib-chip-ink: var(--color-off-black, #0f1012);
  --hib-chip-wash: rgba(15, 16, 18, 0.06);

  background: var(--color-pure-white, #fdfdfd);
}

.hib-line {
  color: var(--color-off-black, #0f1012);
}

.hib-rule {
  background: rgba(15, 16, 18, 0.25);
}

.hib-explore-label {
  color: rgba(15, 16, 18, 0.7);
}

/* Services section below the band: same #fdfdfd ground, no edge */
.cxs {
  background: var(--color-pure-white, #fdfdfd);
}

/* ============================================================
   Customer Experience image band: desktop / mobile artwork
   (same behaviour as the Back Office .bab-art--wide / --crop)
   ============================================================ */

.hib-img--crop {
  display: none;
}

@media (max-width: 767px) {
  .hib-img--wide {
    display: none;
  }

  .hib-img--crop {
    display: block;
  }
}

/* ============================================================
   About page: spacing and type in line with the service pages
   ============================================================ */

/* History ("Ten years of building operations"): secondary display
   size, same scale as the Back Office case study heading (44/38/28) */
.abt-heading {
  font-size: 44px;
}

.abt-eyebrow,
.abt-lede,
.abt-date {
  font-weight: 350;
}

/* Leadership: same rhythm as the FAQ sections (130 / 94 / 69) */
.abl {
  padding-block: var(--spacing-130, 130px);
}

/* Leader card on phones: keep the desktop composition.
   Text on top; signature bottom-left beside the portrait bottom-right,
   both sitting on the bottom edge of the card. */
@container abl-body (max-width: 440px) {
  .abl-lead-text {
    padding-bottom: var(--spacing-22, 22px);
  }

  .abl-signature {
    position: absolute;
    left: 26px;
    bottom: 26px;
    z-index: 1;
    /* Ends 12px before the portrait: 26px inset + width = 50% - 20px - 12px */
    width: min(calc(50% - 58px), 170px);
    margin: 0;
  }

  .abl-portrait {
    padding: 0 20px 0 0;
    justify-items: end;
  }

  .abl-photo {
    width: 50%;
    max-height: none;
    justify-self: end;
  }
}

@media (max-width: 1023px) {
  .abt-heading {
    font-size: 38px;
  }

  .abl {
    padding-block: var(--spacing-94, 94px);
  }
}

@media (max-width: 767px) {
  /* Same phone spacing as "Who we are" above it (110 / 69) */
  .abt {
    padding-block: 110px 69px;
  }

  .abt-heading {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: normal;
    font-weight: 300;
  }

  .abt-eyebrow,
  .abt-date {
    font-weight: 350;
  }

  .abl {
    padding-block: var(--spacing-69, 69px);
  }
}

/* ============================================================
   Pages that open on a dark section (About, Back Office, Digital & AI):
   dark canvas so the phone status bar / overscroll match the hero.
   The body keeps its own white background for the rest of the page.
   ============================================================ */

html.top-dark {
  background-color: #0f1012;
}

/* iOS 26 Safari ignores theme-color and tints the status bar from the
   body background. Every section on these pages paints its own ground,
   so the dark body only shows behind the transparent header. */
html.top-dark body {
  background-color: #0f1012;
}

/* ============================================================
   Home process steps on phones: iOS Safari centres the contents of a
   block-level <button>, which shifted "Expand" per card. Lay the button
   out as a flex column so the toggle row spans the full width everywhere.
   ============================================================ */

@media (max-width: 767px) {
  .ovs-extent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    text-align: left;
  }

  .ovs-toggle {
    align-self: stretch;
    width: auto;
  }
}
