:root {
  --sa-merlot-50: #fbf3f5;
  --sa-merlot-100: #f6e4e8;
  --sa-merlot-200: #edc9d2;
  --sa-merlot-300: #e0a6b4;
  --sa-merlot-400: #cc7288;
  --sa-merlot-500: #b33f5c;
  --sa-merlot-600: #9c2a47;
  --sa-merlot-700: #8e2038;
  --sa-merlot-800: #6c222f;
  --sa-merlot-900: #4e1822;
  --sa-merlot-950: #330e15;
  --sa-merlot-1000: #1c070c;
  --sa-gold-50: #fdf9ec;
  --sa-gold-100: #f9f0d2;
  --sa-gold-200: #f1dfa4;
  --sa-gold-300: #e5c86f;
  --sa-gold-400: #d4ae3c;
  --sa-gold-500: #be9526;
  --sa-gold-600: #a07c1c;
  --sa-gold-700: #836517;
  --sa-gold-800: #674f14;
  --sa-gold-900: #4c3a10;
  --sa-gold-950: #332709;
  --sa-neutral-0: #fff;
  --sa-neutral-50: #f7f8fa;
  --sa-neutral-100: #eff1f4;
  --sa-neutral-200: #e2e6eb;
  --sa-neutral-300: #cbd2da;
  --sa-neutral-400: #828d9b;
  --sa-neutral-500: #67707d;
  --sa-neutral-600: #5b6470;
  --sa-neutral-700: #444c56;
  --sa-neutral-800: #2c333b;
  --sa-neutral-900: #1a1e24;
  --sa-neutral-950: #101317;
  --sa-success: #067647;
  --sa-success-bg: #e6f4ec;
  --sa-warning: #b54708;
  --sa-warning-bg: #fbf0e2;
  --sa-danger: #b42318;
  --sa-danger-bg: #fbeae8;
  --sa-info: #175cd3;
  --sa-info-bg: #e7effc;
  --sa-bg-page: var(--sa-neutral-50);
  --sa-bg-card: var(--sa-neutral-0);
  --sa-bg-grey: var(--sa-neutral-100);
  --sa-bg-merlot: var(--sa-merlot-900);
  --sa-bg-merlot-card: var(--sa-merlot-800);
  --sa-bg-merlot-tint: var(--sa-merlot-50);
  --sa-bg-gold-tint: var(--sa-gold-50);
  --sa-bg-black: var(--sa-neutral-950);
  --sa-bg-black-card: var(--sa-neutral-900);
  --sa-bg-merlot-deep: var(--sa-merlot-950);
  --sa-bg-wine: var(--sa-merlot-1000);
  --sa-text-main: var(--sa-neutral-900);
  --sa-text-soft: var(--sa-neutral-700);
  --sa-text-faint: var(--sa-neutral-600);
  --sa-text-mute: var(--sa-neutral-500);
  --sa-text-merlot: var(--sa-merlot-700);
  --sa-text-on-colour: var(--sa-neutral-0);
  --sa-text-white: var(--sa-neutral-0);
  --sa-text-white-soft: var(--sa-merlot-200);
  --sa-text-rose: var(--sa-merlot-300);
  --sa-text-gold: var(--sa-gold-700);
  --sa-text-gold-light: var(--sa-gold-300);
  --sa-text-white-on-black: var(--sa-neutral-0);
  --sa-text-grey-on-black: var(--sa-neutral-300);
  --sa-button-merlot: var(--sa-merlot-700);
  --sa-button-merlot-hover: var(--sa-merlot-800);
  --sa-button-merlot-pressed: var(--sa-merlot-900);
  --sa-button-merlot-text: var(--sa-neutral-0);
  --sa-button-white: var(--sa-neutral-0);
  --sa-button-white-text: var(--sa-merlot-800);
  --sa-button-gold: var(--sa-gold-400);
  --sa-button-gold-hover: var(--sa-gold-500);
  --sa-button-gold-text: var(--sa-neutral-900);
  --sa-button-gold-edge: var(--sa-gold-600);
  --sa-line-faint: var(--sa-neutral-200);
  --sa-line-soft: var(--sa-neutral-300);
  --sa-line-strong: var(--sa-neutral-400);
  --sa-line-merlot: var(--sa-merlot-700);
  --sa-line-gold: var(--sa-gold-600);
  --sa-line-on-merlot: var(--sa-merlot-800);
  --sa-focus-on-light: var(--sa-merlot-600);
  --sa-focus-on-dark: var(--sa-merlot-300);
  --sa-brand-ornament: var(--sa-gold-400);
  --sa-brand-logo: var(--sa-merlot-700);
  --sa-brand-logo-sharp: var(--sa-merlot-700);
  --sa-brand-logo-accountax: var(--sa-neutral-900);
  --sa-dark-card: #ffffff0b;
  --sa-dark-card-hover: #ffffff13;
  --sa-dark-line: #ffffff1f;
  --sa-dark-line-strong: #ffffff3d;
  --sa-merlot-card: #ffffff0f;
  --sa-merlot-line: #edc9d22e;
  --sa-glass: #ffffff14;
  --sa-scrim-merlot: linear-gradient(104deg, #14060af5 0%, #16070be0 36%, #1a090eb3 66%, #1c0a0f85 100%);
  --sa-scrim-ink: linear-gradient(180deg, #101317d1 0%, #1013179e 45%, #101317e0 100%);
  --sa-scrim-tile: linear-gradient(180deg, #10131700 30%, #160b0e8c 62%, #14080bf0 100%);
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-700.woff2") format("woff2");
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-400-italic.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("/assets/fonts/inter-400-600.woff2") format("woff2");
}

:root {
  --font-display: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --font-ui: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --text-mega: clamp(3.25rem, 2rem + 5.4vw, 7rem);
  --text-display: clamp(2.75rem, 1.9rem + 3.6vw, 4.75rem);
  --text-h1: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);
  --text-h2: clamp(1.875rem, 1.5rem + 1.4vw, 2.75rem);
  --text-h3: clamp(1.375rem, 1.25rem + .5vw, 1.75rem);
  --text-lead: clamp(1.125rem, 1.05rem + .4vw, 1.375rem);
  --text-body: 1rem;
  --text-small: .9375rem;
  --text-label: .8125rem;
  --text-caption: .75rem;
  --leading-tight: 1.02;
  --leading-snug: 1.14;
  --leading-body: 1.65;
  --tracking-label: .11em;
  --w-light: 300;
  --w-regular: 400;
  --w-medium: 500;
  --w-semibold: 600;
  --w-bold: 700;
  --w-black: 800;
  --s-1: .25rem;
  --s-2: .5rem;
  --s-3: .75rem;
  --s-4: 1rem;
  --s-5: 1.25rem;
  --s-6: 1.5rem;
  --s-8: 2rem;
  --s-10: 2.5rem;
  --s-12: 3rem;
  --s-16: 4rem;
  --s-20: 5rem;
  --s-24: 6rem;
  --s-32: 8rem;
  --band-y: clamp(5rem, 3.5rem + 5vw, 9.5rem);
  --band-y-sm: clamp(3.5rem, 2.5rem + 3vw, 6rem);
  --gutter: clamp(1.25rem, .75rem + 2.5vw, 3rem);
  --container: 78rem;
  --container-wide: 90rem;
  --measure: 66ch;
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 22px;
  --radius-xl: 30px;
  --radius-pill: 999px;
  --header-h: 4.75rem;
  --shadow-card: 0 1px 2px #1a1e240a, 0 10px 30px -16px #1a1e242e;
  --shadow-lift: 0 2px 4px #1a1e240a, 0 24px 48px -24px #1a1e2447;
  --shadow-float: 0 12px 40px -12px #1a1e2440;
  --shadow-deep: 0 40px 80px -40px #330e158c;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-fast: .18s;
  --dur: .32s;
  --dur-slow: .6s;
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

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

* {
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 1rem);
  background: var(--sa-bg-page);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  font-family: var(--font-ui);
  font-size: var(--text-body);
  font-variation-settings: "opsz" 16;
  line-height: var(--leading-body);
  color: var(--sa-text-main);
  background: var(--sa-bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "cv11" 1;
  flex-direction: column;
  min-height: 100dvh;
  display: flex;
  overflow-x: clip;
}

main {
  flex: 1 0 auto;
}

body.has-dark-hero {
  background: var(--sa-bg-wine);
}

body.has-dark-hero > main {
  background: var(--sa-bg-page);
}

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

img {
  height: auto;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

a {
  color: inherit;
  text-underline-offset: .16em;
  text-decoration-thickness: from-font;
}

p, h1, h2, h3, h4, h5, h6, li, dd, blockquote, figcaption {
  overflow-wrap: break-word;
}

ul[role="list"], ol[role="list"] {
  padding: 0;
  list-style: none;
}

address {
  font-style: normal;
}

hr {
  border: 0;
  border-top: 1px solid var(--sa-line-faint);
}

::selection {
  background: var(--sa-merlot-100);
  color: var(--sa-merlot-900);
}

[id] {
  scroll-margin-top: calc(var(--header-h) + 1.25rem);
}

[hidden] {
  display: none !important;
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 3px solid var(--sa-focus-on-light);
  outline-offset: 2px;
  border-radius: 4px;
}

.on-dark :focus-visible, .band--merlot :focus-visible, .band--ink :focus-visible, .band--black :focus-visible {
  outline-color: var(--sa-focus-on-dark);
}

.skip-link {
  left: var(--s-4);
  z-index: 1000;
  padding: var(--s-3) var(--s-4);
  background: var(--sa-neutral-900);
  color: #fff;
  border-radius: var(--radius);
  font-weight: 500;
  position: absolute;
  top: -100%;
}

.skip-link:focus {
  top: var(--s-4);
}

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

.tnum {
  font-variant-numeric: tabular-nums;
}

h1, h2, h3, .display, .h1, .h2, .h3 {
  font-family: var(--font-display);
  font-weight: var(--w-regular);
  letter-spacing: -.005em;
  text-wrap: balance;
  color: var(--sa-text-main);
}

.display {
  font-size: var(--text-display);
  line-height: var(--leading-tight);
  letter-spacing: -.018em;
}

h1, .h1 {
  font-size: var(--text-h1);
  letter-spacing: -.014em;
  line-height: 1.06;
}

h2, .h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-snug);
  font-weight: var(--w-medium);
  letter-spacing: -.012em;
}

h3, .h3 {
  font-size: var(--text-h3);
  line-height: 1.22;
  font-weight: var(--w-medium);
  letter-spacing: -.008em;
}

h4, .h4 {
  font-family: var(--font-ui);
  font-size: 1.0625rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.01em;
  line-height: 1.35;
}

.italic {
  font-style: italic;
}

em.voice {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: var(--w-regular);
  font-size: 1.12em;
}

.lead {
  font-size: var(--text-lead);
  color: var(--sa-text-soft);
  text-wrap: pretty;
  line-height: 1.5;
  font-weight: var(--w-regular);
}

.small {
  font-size: var(--text-small);
}

.soft {
  color: var(--sa-text-soft);
}

.faint {
  color: var(--sa-text-faint);
}

.merlot {
  color: var(--sa-text-merlot);
}

.gold {
  color: var(--sa-text-gold);
}

.eyebrow {
  align-items: center;
  gap: var(--s-3);
  font-family: var(--font-ui);
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--sa-text-merlot);
  margin-bottom: var(--s-5);
  display: inline-flex;
}

.eyebrow:before {
  content: "";
  background: var(--sa-brand-ornament);
  flex: none;
  width: 1.75rem;
  height: 2px;
}

.eyebrow--plain:before {
  display: none;
}

.eyebrow--gold {
  color: var(--sa-text-gold);
}

.on-dark .eyebrow {
  color: var(--sa-text-gold-light);
}

.on-dark .eyebrow:before {
  background: var(--sa-gold-400);
}

.caption {
  font-size: var(--text-caption);
  letter-spacing: .02em;
  color: var(--sa-text-faint);
}

.label {
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  letter-spacing: .01em;
}

.prose {
  max-width: var(--measure);
  text-wrap: pretty;
  color: var(--sa-text-soft);
}

.prose > * + * {
  margin-top: 1.25em;
}

.prose h2, .prose h3 {
  color: var(--sa-text-main);
}

.prose h2 {
  font-size: var(--text-h2);
  margin-top: 2.25em;
}

.prose h3 {
  margin-top: 1.75em;
}

.prose h2 + *, .prose h3 + * {
  margin-top: .75em;
}

.prose ul, .prose ol {
  padding-left: 1.25em;
}

.prose li + li {
  margin-top: .4em;
}

.prose li::marker {
  color: var(--sa-brand-ornament);
}

.prose a {
  color: var(--sa-text-merlot);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--sa-merlot-300);
  text-decoration-color: var(--sa-merlot-300);
  text-underline-offset: .2em;
  transition: text-decoration-color var(--dur-fast);
  font-weight: var(--w-medium);
}

.prose a:hover {
  text-decoration-color: currentColor;
}

.prose blockquote {
  border-left: 2px solid var(--sa-brand-ornament);
  color: var(--sa-text-main);
  font-family: var(--font-display);
  padding-left: 1.25em;
  font-size: 1.4em;
  line-height: 1.35;
}

.prose strong {
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
}

.prose table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--text-small);
}

.prose th, .prose td {
  text-align: left;
  border-bottom: 1px solid var(--sa-line-faint);
  vertical-align: top;
  padding: .7em .85em;
}

.prose th {
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
  text-transform: uppercase;
  font-size: var(--text-caption);
  letter-spacing: var(--tracking-label);
}

.prose hr {
  margin: 2.5em 0;
}

.prose code {
  background: var(--sa-bg-grey);
  border-radius: 4px;
  padding: .1em .35em;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .92em;
}

.article-figure {
  margin: 0;
}

.article-figure picture, .article-figure img {
  border-radius: var(--radius-lg);
  width: 100%;
}

.article-figure figcaption {
  font-size: var(--text-small);
  color: var(--sa-text-faint);
  margin-top: .7rem;
  line-height: 1.45;
}

.link {
  color: var(--sa-text-merlot);
  font-weight: var(--w-medium);
  text-decoration: none;
}

.link:hover {
  text-decoration: underline;
}

.link-arrow {
  color: var(--sa-text-merlot);
  font-weight: var(--w-semibold);
  font-size: var(--text-small);
  letter-spacing: .005em;
  align-items: center;
  gap: .5em;
  text-decoration: none;
  display: inline-flex;
}

.link-arrow:after {
  content: "";
  width: 1.05em;
  height: 1.05em;
  transition: transform var(--dur) var(--ease-out);
  background: currentColor;
  flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.link-arrow:hover:after {
  transform: translateX(4px);
}

.on-dark .link-arrow {
  color: var(--sa-text-gold-light);
}

.link-quiet {
  color: inherit;
  text-decoration: none;
}

.link-quiet:hover {
  color: var(--sa-text-merlot);
}

.container {
  width: 100%;
  max-width: var(--container);
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.container--wide {
  max-width: var(--container-wide);
}

.container--narrow {
  max-width: 52rem;
}

.container--prose {
  max-width: 46rem;
}

.band {
  padding-block: var(--band-y);
  position: relative;
}

.band--sm {
  padding-block: var(--band-y-sm);
}

.band--flush-top {
  padding-top: 0;
}

.band--flush-bottom {
  padding-bottom: 0;
}

.band--grey {
  background: var(--sa-bg-grey);
}

.band--card {
  background: var(--sa-bg-card);
}

.band--tint {
  background: var(--sa-bg-merlot-tint);
}

.band--gold-tint {
  background: var(--sa-bg-gold-tint);
}

.band--merlot {
  background: var(--sa-bg-merlot);
  color: var(--sa-text-white);
}

.band--merlot-deep {
  background: var(--sa-bg-merlot-deep);
  color: var(--sa-text-white);
}

.band--wine {
  background: var(--sa-bg-wine);
  color: var(--sa-text-white);
}

.band--ink, .band--black {
  background: var(--sa-bg-black);
  color: var(--sa-text-white-on-black);
}

.on-dark, .band--merlot, .band--merlot-deep, .band--wine, .band--ink, .band--black {
  --sa-text-main: #fff;
  --sa-text-soft: var(--sa-text-white-soft);
  --sa-text-faint: var(--sa-merlot-200);
  --sa-text-mute: var(--sa-merlot-300);
  --sa-text-merlot: var(--sa-text-gold-light);
  --sa-line-faint: var(--sa-merlot-line);
  --sa-line-soft: var(--sa-merlot-line);
  --sa-line-strong: var(--sa-dark-line-strong);
  --sa-bg-card: var(--sa-merlot-card);
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
}

.band--ink, .band--black {
  --sa-text-soft: var(--sa-text-grey-on-black);
  --sa-text-faint: var(--sa-neutral-400);
  --sa-text-mute: var(--sa-neutral-500);
  --sa-line-faint: var(--sa-dark-line);
  --sa-line-soft: var(--sa-dark-line);
  --sa-bg-card: var(--sa-dark-card);
}

.band--wine {
  --sa-text-faint: #fff9;
  --sa-line-faint: var(--sa-dark-line);
  --sa-line-soft: var(--sa-dark-line);
  --sa-bg-card: var(--sa-dark-card);
}

.band + .band--grey, .band--grey + .band--grey {
  border-top: 1px solid var(--sa-neutral-200);
}

.band--hairline {
  border-top: 1px solid var(--sa-line-faint);
}

.band--ink > *, .band--merlot > *, .band--merlot-deep > *, .band--wine > * {
  z-index: 1;
  position: relative;
}

.stack > * + * {
  margin-top: var(--stack, var(--s-6));
}

.stack--sm {
  --stack: var(--s-3);
}

.stack--lg {
  --stack: var(--s-10);
}

.cluster {
  gap: var(--cluster, var(--s-3));
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.center {
  text-align: center;
  margin-inline: auto;
}

.measure {
  max-width: var(--measure);
}

.measure-sm {
  max-width: 52ch;
}

.grid {
  gap: var(--grid-gap, var(--s-6));
  display: grid;
}

.grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.section-head {
  gap: var(--s-4);
  align-items: end;
  margin-bottom: clamp(2.5rem, 2rem + 2vw, 4.5rem);
  display: grid;
}

.section-head p.lead {
  max-width: 54ch;
}

.section-head h2 {
  max-width: 20ch;
}

.section-head--split h2 {
  max-width: 22ch;
}

@media (width >= 60rem) {
  .section-head--split {
    gap: var(--s-12);
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  }

  .section-head--split > .section-head__aside {
    text-align: right;
    justify-self: end;
  }
}

.section-head--center {
  text-align: center;
  justify-items: center;
}

.section-head--center h2, .section-head--center p.lead {
  max-width: 26ch;
  margin-inline: auto;
}

.section-head--center p.lead {
  max-width: 52ch;
}

.split {
  gap: var(--s-10);
  align-items: center;
  display: grid;
}

@media (width >= 56rem) {
  .split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(3rem, 2rem + 5vw, 7rem);
  }

  .split--wide-media {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .split--reverse > :first-child {
    order: 2;
  }
}

.with-rail {
  gap: var(--s-10);
  align-items: start;
  display: grid;
}

@media (width >= 64rem) {
  .with-rail {
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }

  .with-rail__rail {
    top: calc(var(--header-h) + 1.5rem);
    max-height: calc(100dvh - var(--header-h) - 3rem);
    scrollbar-width: thin;
    position: sticky;
    overflow: auto;
  }
}

.with-rail__main {
  min-width: 0;
  max-width: 48rem;
}

.media {
  border-radius: var(--radius-lg);
  background: var(--sa-bg-grey);
  position: relative;
  overflow: hidden;
}

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

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

.media--4x5 {
  aspect-ratio: 4 / 5;
}

.media--3x2 {
  aspect-ratio: 3 / 2;
}

.media--16x9 {
  aspect-ratio: 16 / 9;
}

.media--1x1 {
  aspect-ratio: 1;
}

.media--square-sm {
  aspect-ratio: 1;
  border-radius: var(--radius);
}

.media--tint:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#4e182200 55%, #4e182259);
  position: absolute;
  inset: 0;
}

.rail {
  gap: var(--s-4);
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  overscroll-behavior-x: contain;
  padding-block: 0;
  padding-bottom: var(--s-4);
  margin-block: 0;
  margin-inline: calc(var(--gutter) * -1);
  padding-inline: var(--gutter);
  scrollbar-width: none;
  grid-auto-flow: column;
  list-style: none;
  display: grid;
  overflow-x: auto;
}

.rail::-webkit-scrollbar {
  display: none;
}

.rail > * {
  scroll-snap-align: start;
}

.rail.is-marquee {
  scroll-snap-type: none;
}

.rail__nav {
  gap: var(--s-2);
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .rail__nav {
    display: flex;
  }
}

.rail__btn {
  border: 1px solid var(--sa-line-soft);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--sa-text-main);
  background: var(--sa-bg-card);
  transition: border-color var(--dur-fast), background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.rail__btn:hover {
  border-color: var(--sa-neutral-900);
  background: var(--sa-neutral-900);
  color: #fff;
}

.rail__btn[disabled] {
  opacity: .32;
  pointer-events: none;
}

.rail__btn svg {
  width: 1.1rem;
  height: 1.1rem;
}

.rail__btn--prev svg {
  transform: rotate(180deg);
}

.on-dark .rail__btn {
  border-color: var(--sa-dark-line-strong);
  color: #fff;
  background: none;
}

.on-dark .rail__btn:hover {
  color: var(--sa-neutral-900);
  background: #fff;
  border-color: #fff;
}

.rule {
  background: var(--sa-line-faint);
  border: 0;
  height: 1px;
}

.rule--merlot {
  background: var(--sa-line-merlot);
  width: 3rem;
  height: 2px;
}

.rule--gold {
  background: var(--sa-brand-ornament);
  width: 3rem;
  height: 2px;
}

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

.mt-4 {
  margin-top: var(--s-4);
}

.mt-6 {
  margin-top: var(--s-6);
}

.mt-8 {
  margin-top: var(--s-8);
}

.mt-10 {
  margin-top: var(--s-10);
}

.mt-12 {
  margin-top: var(--s-12);
}

.mt-16 {
  margin-top: var(--s-16);
}

.mb-4 {
  margin-bottom: var(--s-4);
}

.mb-6 {
  margin-bottom: var(--s-6);
}

.mb-8 {
  margin-bottom: var(--s-8);
}

.mb-10 {
  margin-bottom: var(--s-10);
}

.hide-sm {
  display: none;
}

@media (width >= 48rem) {
  .hide-sm {
    display: revert;
  }

  .hide-md-up {
    display: none !important;
  }
}

@media (width >= 64rem) {
  .hide-lg-up {
    display: none !important;
  }
}

@media (width <= 63.98rem) {
  .show-lg-up {
    display: none !important;
  }
}

.btn {
  --btn-bg: var(--sa-button-merlot);
  --btn-fg: var(--sa-button-merlot-text);
  --btn-bg-hover: var(--sa-button-merlot-hover);
  --btn-edge: transparent;
  border-radius: var(--radius);
  background: var(--btn-bg);
  min-height: 3.25rem;
  color: var(--btn-fg);
  border: 1px solid var(--btn-edge);
  font-family: var(--font-ui);
  font-size: .9375rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.005em;
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  transition: background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur);
  justify-content: center;
  align-items: center;
  gap: .6em;
  padding: .85rem 1.6rem;
  line-height: 1.2;
  text-decoration: none;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.btn:hover {
  background: var(--btn-bg-hover);
  box-shadow: 0 8px 20px -10px #4e18228c;
}

.btn:active {
  box-shadow: none;
  transform: translateY(1px);
}

.btn svg {
  flex: none;
  width: 1.1em;
  height: 1.1em;
}

.btn .arrow {
  transition: transform var(--dur) var(--ease-out);
}

.btn:hover .arrow {
  transform: translateX(4px);
}

.btn--secondary {
  --btn-bg: var(--sa-button-gold);
  --btn-fg: var(--sa-button-gold-text);
  --btn-bg-hover: var(--sa-button-gold-hover);
  --btn-edge: var(--sa-button-gold-edge);
}

.btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--sa-text-main);
  --btn-bg-hover: transparent;
  --btn-edge: var(--sa-line-strong);
}

.btn--ghost:hover {
  border-color: var(--sa-neutral-900);
  box-shadow: inset 0 0 0 1px var(--sa-neutral-900);
}

.btn--white {
  --btn-bg: var(--sa-button-white);
  --btn-fg: var(--sa-button-white-text);
  --btn-bg-hover: var(--sa-merlot-50);
}

.btn--white:hover {
  box-shadow: 0 10px 26px -12px #00000080;
}

.btn--ghost-light {
  --btn-bg: transparent;
  --btn-fg: #fff;
  --btn-bg-hover: #ffffff1a;
  --btn-edge: #fff6;
}

.btn--ghost-light:hover {
  box-shadow: none;
  border-color: #fff;
}

.on-dark .btn--secondary, .band--merlot .btn--secondary {
  --btn-edge: transparent;
}

.on-dark .btn--ghost {
  --btn-fg: #fff;
  --btn-edge: #fff6;
}

.on-dark .btn--ghost:hover {
  border-color: #fff;
  box-shadow: inset 0 0 0 1px #fff;
}

.btn--sm {
  border-radius: 10px;
  min-height: 2.6rem;
  padding: .5rem 1.05rem;
  font-size: .875rem;
}

.btn--lg {
  min-height: 3.75rem;
  padding: 1rem 2.1rem;
  font-size: 1rem;
}

.btn--block {
  width: 100%;
}

.btn[disabled], .btn[aria-disabled="true"] {
  opacity: .6;
  cursor: not-allowed;
}

.btn--loading {
  position: relative;
  color: #0000 !important;
}

.btn--loading:after {
  content: "";
  border: 2px solid #fff6;
  border-top-color: #fff;
  border-radius: 50%;
  width: 1.1em;
  height: 1.1em;
  animation: .8s linear infinite spin;
  position: absolute;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.phone {
  font-weight: var(--w-semibold);
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: .5em;
  text-decoration: none;
  display: inline-flex;
}

.phone svg {
  width: 1.05em;
  height: 1.05em;
  color: var(--sa-text-merlot);
}

.phone:hover {
  color: var(--sa-text-merlot);
}

.on-dark .phone svg {
  color: var(--sa-text-gold-light);
}

.card {
  gap: var(--s-3);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  isolation: isolate;
  transition: border-color var(--dur), box-shadow var(--dur), transform var(--dur) var(--ease-out), background-color var(--dur);
  flex-direction: column;
  padding: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.card--link:hover, .card--link:focus-within, .card:has( > a.card__cover:hover) {
  border-color: var(--sa-line-soft);
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.card__title {
  font-family: var(--font-display);
  font-weight: var(--w-semibold);
  font-size: var(--text-h3);
  letter-spacing: -.012em;
  color: var(--sa-text-main);
  line-height: 1.16;
}

.card__title a {
  text-decoration: none;
}

.card__title a:after {
  content: "";
  border-radius: inherit;
  z-index: 1;
  position: absolute;
  inset: 0;
}

.card__meta {
  font-size: var(--text-label);
  color: var(--sa-text-faint);
  letter-spacing: .01em;
}

.card__body {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
}

.card__links {
  margin-top: var(--s-2);
  font-size: var(--text-small);
  z-index: 2;
  flex-direction: column;
  gap: .35rem;
  display: flex;
  position: relative;
}

.card__links a {
  color: var(--sa-text-soft);
  align-items: baseline;
  gap: .5em;
  text-decoration: none;
  display: inline-flex;
}

.card__links a:before {
  content: "·";
  color: var(--sa-brand-ornament);
  font-weight: var(--w-bold);
}

.card__links a:hover {
  color: var(--sa-text-merlot);
}

.card__more {
  padding-top: var(--s-5);
  z-index: 2;
  margin-top: auto;
  position: relative;
}

.card--dark {
  background: var(--sa-bg-black-card);
  border-color: var(--sa-neutral-800);
  color: #fff;
}

.card--merlot {
  background: var(--sa-bg-merlot-card);
  border-color: var(--sa-line-on-merlot);
  color: #fff;
}

.engagement {
  border-radius: var(--radius-lg);
  background: var(--sa-merlot-900);
  color: #fff;
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
  position: relative;
  overflow: hidden;
}

.engagement > * {
  z-index: 1;
  position: relative;
}

.engagement__label {
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-gold-light);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-3);
}

.engagement__text {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 1.1rem + .75vw, 1.75rem);
  line-height: 1.32;
  font-weight: var(--w-regular);
}

.tag {
  border-radius: var(--radius-pill);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: .05em;
  text-transform: uppercase;
  background: var(--sa-bg-grey);
  color: var(--sa-text-soft);
  align-items: center;
  gap: .4em;
  padding: .35em .8em;
  text-decoration: none;
  display: inline-flex;
}

.tag--merlot {
  background: var(--sa-merlot-50);
  color: var(--sa-text-merlot);
}

.tag--gold {
  background: var(--sa-gold-50);
  color: var(--sa-text-gold);
}

.tag--outline {
  border: 1px solid var(--sa-line-soft);
  background: none;
}

a.tag--outline:hover {
  border-color: var(--sa-merlot-700);
  color: var(--sa-text-merlot);
  background: var(--sa-merlot-50);
}

.on-dark .tag {
  color: #fff;
  background: #ffffff1a;
}

.on-dark a.tag--outline:hover {
  color: var(--sa-merlot-800);
  background: #fff;
  border-color: #fff;
}

.crumbs {
  font-size: var(--text-label);
  color: var(--sa-text-faint);
}

.crumbs ol {
  flex-wrap: wrap;
  gap: .5em;
  padding: 0;
  list-style: none;
  display: flex;
}

.crumbs li + li:before {
  content: "/";
  opacity: .5;
  margin-right: .5em;
}

.crumbs a {
  color: var(--sa-text-soft);
  text-decoration: none;
}

.crumbs a:hover {
  color: var(--sa-text-merlot);
}

.crumbs [aria-current] {
  color: var(--sa-text-main);
  font-weight: var(--w-medium);
}

.quote {
  gap: var(--s-6);
  max-width: 58rem;
  display: grid;
  position: relative;
}

.quote__text {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.2rem + 1.35vw, 2.35rem);
  line-height: 1.3;
  font-weight: var(--w-regular);
  text-wrap: pretty;
  color: var(--sa-text-main);
}

.quote__text:before {
  content: "“";
  color: var(--sa-brand-ornament);
  margin-right: .04em;
}

.quote__text:after {
  content: "”";
  color: var(--sa-brand-ornament);
}

.quote__cite {
  align-items: center;
  gap: var(--s-4);
  font-style: normal;
  font-size: var(--text-small);
  display: flex;
}

.quote__avatar {
  background: var(--sa-merlot-700);
  color: #fff;
  width: 2.9rem;
  height: 2.9rem;
  font-weight: var(--w-semibold);
  letter-spacing: .02em;
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: .85rem;
  display: grid;
  overflow: hidden;
}

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

.quote__name {
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
}

.quote__role {
  color: var(--sa-text-soft);
}

.quote--card {
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  max-width: none;
  box-shadow: var(--shadow-card);
  padding: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
}

.quote--card .quote__text {
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
}

.quote--compact .quote__text {
  font-size: 1.3rem;
}

.on-dark .quote__avatar {
  background: var(--sa-gold-400);
  color: var(--sa-neutral-900);
}

.on-dark .quote--card {
  box-shadow: none;
}

.journey {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 64rem) {
  .journey {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }
}

.journey__aside {
  gap: var(--s-6);
  display: grid;
}

@media (width >= 64rem) {
  .journey__aside {
    top: calc(var(--header-h) + clamp(2rem, 8vh, 6rem));
    position: sticky;
  }
}

.journey__count {
  font-family: var(--font-display);
  font-size: clamp(4rem, 3rem + 6vw, 8rem);
  line-height: .9;
  font-weight: var(--w-light);
  letter-spacing: -.03em;
  color: var(--sa-text-main);
  font-variant-numeric: tabular-nums;
  align-items: baseline;
  gap: .1em;
  display: flex;
}

.journey__count small {
  font-size: .3em;
  font-family: var(--font-ui);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--sa-text-faint);
}

.journey__track {
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  gap: .5rem;
  max-width: 16rem;
  display: grid;
}

.journey__tick {
  background: var(--sa-line-faint);
  border-radius: 2px;
  height: 3px;
  overflow: hidden;
}

.journey__tick:after {
  content: "";
  background: var(--sa-line-merlot);
  width: 0;
  height: 100%;
  transition: width var(--dur-slow) var(--ease-out);
  display: block;
}

.journey__tick.is-done:after {
  width: 100%;
}

.on-dark .journey__tick {
  background: var(--sa-dark-line);
}

.on-dark .journey__tick:after {
  background: var(--sa-gold-400);
}

.journey__now {
  min-height: 3.5em;
}

.journey__now p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  max-width: 32ch;
}

.journey__steps {
  gap: var(--s-4);
  counter-reset: jstep;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.journey__step {
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  background: var(--sa-bg-card);
  gap: var(--s-5);
  transition: border-color var(--dur), box-shadow var(--dur), transform var(--dur) var(--ease-out), background-color var(--dur);
  grid-template-columns: 2.75rem minmax(0, 1fr);
  padding: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  display: grid;
  position: relative;
}

.journey__step:before {
  counter-increment: jstep;
  content: "0" counter(jstep);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: var(--w-medium);
  color: var(--sa-text-faint);
  font-variant-numeric: tabular-nums;
  transition: color var(--dur);
  padding-top: .15em;
  line-height: 1.1;
}

.journey__step.is-active {
  border-color: var(--sa-line-merlot);
  box-shadow: var(--shadow-card);
  transform: translateX(4px);
}

.journey__step.is-active:before {
  color: var(--sa-text-merlot);
}

.on-dark .journey__step.is-active {
  border-color: var(--sa-gold-400);
  box-shadow: none;
  background: var(--sa-dark-card-hover);
}

.journey__step h3 {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 1.15rem + .6vw, 1.65rem);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-2);
  line-height: 1.2;
}

.journey__step p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
}

.journey__step dl {
  gap: var(--s-2) var(--s-5);
  margin-top: var(--s-4);
  font-size: var(--text-caption);
  flex-wrap: wrap;
  display: flex;
}

.journey__step dt {
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
}

.journey__step dd {
  color: var(--sa-text-main);
  font-weight: var(--w-medium);
  margin: 0;
}

@media (width <= 63.98rem) {
  .journey__aside {
    display: none;
  }
}

.disclose {
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius);
  background: var(--sa-bg-card);
  transition: border-color var(--dur), box-shadow var(--dur);
}

.disclose + .disclose {
  margin-top: var(--s-3);
}

.disclose[open] {
  border-color: var(--sa-line-merlot);
  box-shadow: var(--shadow-card);
}

.disclose:hover {
  border-color: var(--sa-line-soft);
}

.disclose > summary {
  cursor: pointer;
  gap: var(--s-4);
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  align-items: start;
  padding: clamp(1.05rem, .9rem + .5vw, 1.4rem) clamp(1.1rem, .9rem + .8vw, 1.6rem);
  list-style: none;
  display: grid;
}

.disclose > summary::-webkit-details-marker {
  display: none;
}

.disclose__head {
  min-width: 0;
}

.disclose__title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
  letter-spacing: -.01em;
  line-height: 1.22;
}

.disclose[open] .disclose__title, .disclose > summary:hover .disclose__title {
  color: var(--sa-text-merlot);
}

.disclose__lead {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  margin-top: .4rem;
  line-height: 1.5;
  display: block;
}

.disclose__sign {
  border: 1px solid var(--sa-line-soft);
  width: 1.5rem;
  height: 1.5rem;
  transition: background-color var(--dur), border-color var(--dur), transform var(--dur) var(--ease-out);
  border-radius: 50%;
  flex: none;
  margin-top: .15rem;
  position: relative;
}

.disclose__sign:before, .disclose__sign:after {
  content: "";
  background: var(--sa-text-merlot);
  height: 1.5px;
  transition: transform var(--dur) var(--ease-out), background-color var(--dur);
  position: absolute;
  inset: 50% 26%;
  transform: translateY(-50%);
}

.disclose__sign:after {
  transform: translateY(-50%) rotate(90deg);
}

.disclose[open] .disclose__sign {
  background: var(--sa-merlot-700);
  border-color: var(--sa-merlot-700);
  transform: rotate(180deg);
}

.disclose[open] .disclose__sign:before, .disclose[open] .disclose__sign:after {
  background: #fff;
}

.disclose[open] .disclose__sign:after {
  transform: translateY(-50%) rotate(0);
}

.disclose__body {
  color: var(--sa-text-soft);
  max-width: 64ch;
  padding: 0 clamp(1.1rem, .9rem + .8vw, 1.6rem) clamp(1.2rem, 1rem + .8vw, 1.6rem);
}

.disclose__body p + p {
  margin-top: var(--s-3);
}

.disclose__body .marks {
  margin-top: var(--s-4);
}

.js-motion .disclose[open] .disclose__body {
  animation: discloseIn .38s var(--ease-out) both;
}

@keyframes discloseIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.faq {
  border-top: 1px solid var(--sa-line-soft);
}

.faq__item {
  border-bottom: 1px solid var(--sa-line-soft);
}

.faq__item summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-6);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);
  font-weight: var(--w-semibold);
  padding: 1.35rem 0;
  line-height: 1.25;
  list-style: none;
  display: flex;
}

.faq__item summary::-webkit-details-marker {
  display: none;
}

.faq__item summary:after {
  content: "";
  border-right: 2px solid var(--sa-text-merlot);
  border-bottom: 2px solid var(--sa-text-merlot);
  width: .75rem;
  height: .75rem;
  transition: transform var(--dur) var(--ease-out);
  flex: none;
  margin-right: .25rem;
  transform: rotate(45deg);
}

.faq__item[open] summary:after {
  transform: rotate(225deg);
}

.faq__item summary:hover {
  color: var(--sa-text-merlot);
}

.faq__body {
  color: var(--sa-text-soft);
  max-width: 62ch;
  padding: 0 0 1.6rem;
}

.faq__body a {
  color: var(--sa-text-merlot);
  font-weight: var(--w-medium);
}

.toc {
  font-size: var(--text-small);
}

.toc__title {
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-4);
}

.toc__group {
  margin-bottom: var(--s-5);
}

.toc__group-label {
  font-weight: var(--w-semibold);
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  margin-bottom: .5rem;
}

.toc__list {
  border-left: 1px solid var(--sa-line-faint);
  margin: 0;
  padding: 0;
  list-style: none;
}

.toc__list a {
  color: var(--sa-text-soft);
  transition: color var(--dur-fast), border-color var(--dur-fast), padding-left var(--dur-fast);
  border-left: 2px solid #0000;
  margin-left: -1px;
  padding: .35rem 0 .35rem .9rem;
  line-height: 1.35;
  text-decoration: none;
  display: block;
}

.toc__list a:hover {
  color: var(--sa-text-main);
  padding-left: 1.1rem;
}

.toc__list a[aria-current="true"] {
  color: var(--sa-text-merlot);
  border-left-color: var(--sa-line-merlot);
  font-weight: var(--w-semibold);
}

.toc__cta {
  margin-top: var(--s-6);
  padding-top: var(--s-6);
  border-top: 1px solid var(--sa-line-faint);
  gap: var(--s-3);
  justify-items: start;
  display: grid;
}

.toc-mobile {
  border: 1px solid var(--sa-line-soft);
  border-radius: var(--radius);
  background: var(--sa-bg-card);
  margin-bottom: var(--s-8);
}

.toc-mobile summary {
  cursor: pointer;
  font-weight: var(--w-semibold);
  justify-content: space-between;
  align-items: center;
  padding: .95rem 1.1rem;
  list-style: none;
  display: flex;
}

.toc-mobile summary::-webkit-details-marker {
  display: none;
}

.toc-mobile summary:after {
  content: "+";
  color: var(--sa-text-merlot);
  font-size: 1.25rem;
}

.toc-mobile[open] summary:after {
  content: "–";
}

.toc-mobile .toc {
  padding: 0 1.1rem 1.1rem;
}

.form, .form__row {
  gap: var(--s-5);
  display: grid;
}

@media (width >= 40rem) {
  .form__row--2 {
    grid-template-columns: 1fr 1fr;
  }
}

.field {
  gap: .4rem;
  display: grid;
}

.field__label {
  font-size: var(--text-small);
  font-weight: var(--w-semibold);
}

.field__hint {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
}

.field__error {
  font-size: var(--text-caption);
  color: var(--sa-danger);
  font-weight: var(--w-medium);
  display: none;
}

.field[data-invalid] .field__error {
  display: block;
}

.field[data-invalid] .input {
  border-color: var(--sa-danger);
}

.input, .select, .textarea {
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-strong);
  width: 100%;
  min-height: 3.125rem;
  color: var(--sa-text-main);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
  border-radius: 10px;
  padding: .75rem .95rem;
}

.input::placeholder, .textarea::placeholder {
  color: var(--sa-text-mute);
}

.input:hover, .select:hover, .textarea:hover {
  border-color: var(--sa-neutral-600);
}

.input:focus-visible, .select:focus-visible, .textarea:focus-visible {
  outline: 3px solid var(--sa-focus-on-light);
  outline-offset: 2px;
  border-color: var(--sa-neutral-900);
}

.textarea {
  resize: vertical;
  min-height: 8rem;
}

.select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231A1E24' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right .9rem center;
  background-repeat: no-repeat;
  padding-right: 2.5rem;
}

.checkbox {
  font-size: var(--text-small);
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.checkbox input {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: var(--sa-merlot-700);
  flex: none;
  margin-top: .15rem;
}

.multiselect {
  position: relative;
}

.multiselect__trigger {
  cursor: pointer;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-strong);
  width: 100%;
  min-height: 3.125rem;
  color: var(--sa-text-main);
  transition: border-color var(--dur-fast);
  border-radius: 10px;
  align-items: center;
  gap: .5rem;
  padding: .55rem 2.5rem .55rem .95rem;
  list-style: none;
  display: flex;
}

.multiselect__trigger::-webkit-details-marker {
  display: none;
}

.multiselect__trigger:after {
  content: "";
  pointer-events: none;
  width: 14px;
  height: 14px;
  transition: transform var(--dur-fast);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231A1E24' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  position: absolute;
  top: 1.1rem;
  right: .9rem;
}

.multiselect[open] .multiselect__trigger:after {
  transform: rotate(180deg);
}

.multiselect__trigger:hover {
  border-color: var(--sa-neutral-600);
}

.multiselect__trigger:focus-visible {
  outline: 3px solid var(--sa-focus-on-light);
  outline-offset: 2px;
  border-color: var(--sa-neutral-900);
}

.multiselect[open] .multiselect__trigger {
  border-color: var(--sa-neutral-900);
}

.field[data-invalid] .multiselect__trigger {
  border-color: var(--sa-danger);
}

.multiselect__value {
  flex-wrap: wrap;
  flex: 1;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.multiselect__placeholder {
  color: var(--sa-text-mute);
  padding: .2rem 0;
}

.multiselect__token {
  border-radius: var(--radius-pill);
  background: var(--sa-merlot-50);
  border: 1px solid var(--sa-merlot-100);
  color: var(--sa-merlot-800);
  font-size: var(--text-caption);
  font-weight: var(--w-medium);
  align-items: center;
  gap: .25rem;
  padding: .2rem .3rem .2rem .65rem;
  line-height: 1.3;
  display: inline-flex;
}

.multiselect__token--more {
  background: var(--sa-bg-grey);
  border-color: var(--sa-line-faint);
  color: var(--sa-text-soft);
  padding-right: .65rem;
}

.multiselect__remove {
  width: 1.25rem;
  height: 1.25rem;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  font-size: 1rem;
  line-height: 1;
  display: inline-grid;
}

.multiselect__remove:hover {
  background: var(--sa-merlot-700);
  color: #fff;
}

.multiselect__remove:focus-visible {
  outline: 2px solid var(--sa-focus-on-light);
  outline-offset: 1px;
}

.multiselect__panel {
  z-index: 20;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-soft);
  box-shadow: var(--shadow-lift);
  border-radius: 12px;
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  right: 0;
  overflow: hidden;
}

.multiselect__options {
  border: 0;
  max-height: 19rem;
  margin: 0;
  padding: .4rem;
  display: grid;
  overflow-y: auto;
}

.multiselect__option {
  font-size: var(--text-small);
  cursor: pointer;
  transition: background var(--dur-fast);
  border-radius: 8px;
  align-items: center;
  gap: .75rem;
  padding: .6rem .7rem;
  display: flex;
}

.multiselect__option:hover {
  background: var(--sa-bg-grey);
}

.multiselect__option:has(input:checked) {
  background: var(--sa-merlot-50);
  font-weight: var(--w-medium);
}

.multiselect__option:has(input:focus-visible) {
  outline: 2px solid var(--sa-focus-on-light);
  outline-offset: -2px;
}

.multiselect__option input {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: var(--sa-merlot-700);
  flex: none;
  margin: 0;
}

.multiselect__option--other {
  border-top: 1px solid var(--sa-line-faint);
  border-radius: 0 0 8px 8px;
  margin-top: .3rem;
  padding-top: .9rem;
}

.multiselect__foot {
  border-top: 1px solid var(--sa-line-faint);
  background: var(--sa-bg-grey);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .6rem .75rem .6rem 1.1rem;
  display: flex;
}

.multiselect__count {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
  font-weight: var(--w-medium);
}

html:not(.js) .multiselect__foot {
  display: none;
}

.form__status {
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  border-radius: 10px;
  padding: .9rem 1rem;
  display: none;
}

.form__status[data-state="error"] {
  background: var(--sa-danger-bg);
  color: var(--sa-danger);
  display: block;
}

.form__status[data-state="success"] {
  background: var(--sa-success-bg);
  color: var(--sa-success);
  display: block;
}

.hp {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  left: -9999px;
}

.booker {
  border-radius: var(--radius-lg);
  min-height: 24rem;
  box-shadow: var(--shadow-deep);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --sa-text-main: var(--sa-neutral-900);
  --sa-text-soft: var(--sa-neutral-700);
  --sa-text-faint: var(--sa-neutral-600);
  --sa-text-mute: var(--sa-neutral-500);
  --sa-text-merlot: var(--sa-merlot-700);
  --sa-line-faint: var(--sa-neutral-200);
  --sa-line-soft: var(--sa-neutral-300);
  --sa-bg-card: #fff;
  color: var(--sa-text-main);
  border: 1px solid var(--sa-neutral-200);
  background: #fff;
  display: grid;
  position: relative;
  overflow: hidden;
}

.booker__facade {
  text-align: center;
  align-content: center;
  justify-items: center;
  gap: var(--s-4);
  padding: clamp(2rem, 1.5rem + 2vw, 3rem) clamp(1.5rem, 1rem + 2vw, 2.75rem);
  display: grid;
}

.booker__facade .eyebrow {
  color: var(--sa-text-gold);
  font-size: var(--text-caption);
  margin-bottom: 0;
}

.booker__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.5rem + 1vw, 2.35rem);
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
  letter-spacing: -.012em;
  line-height: 1.15;
}

.booker__facade p:not(.booker__title) {
  color: var(--sa-text-soft);
  max-width: 38ch;
  font-size: var(--text-small);
  margin-inline: auto;
}

.booker__cal {
  border: 0;
  width: 100%;
  min-height: 40rem;
}

.booker__note {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
}

.booker__note a {
  color: var(--sa-text-merlot);
  font-weight: var(--w-medium);
}

.booker__slots {
  flex-wrap: wrap;
  justify-content: center;
  gap: .4rem;
  display: flex;
}

.booker__slots span {
  background: var(--sa-neutral-100);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  color: var(--sa-neutral-700);
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  border-radius: 8px;
  padding: .5rem .9rem;
}

.booker__slots span:nth-child(2) {
  background: var(--sa-merlot-700);
  color: #fff;
}

.booker__rule {
  background: var(--sa-brand-ornament);
  width: 100%;
  max-width: 3rem;
  height: 2px;
}

.marks {
  gap: var(--s-2) var(--s-3);
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.mark {
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  color: var(--sa-text-soft);
  letter-spacing: .01em;
  border: 1px solid var(--sa-line-faint);
  background: var(--sa-bg-card);
  border-radius: 8px;
  align-items: center;
  gap: .45em;
  padding: .4em .75em;
  display: inline-flex;
}

.mark:before {
  content: "";
  background: var(--mark-colour, var(--sa-brand-ornament));
  border-radius: 2px;
  width: .5em;
  height: .5em;
}

.mark svg {
  flex: none;
  width: 1.05em;
  height: 1.05em;
}

.mark--logo:before {
  display: none;
}

.mark--xero {
  --mark-colour: #13b5ea;
}

.mark--quickbooks {
  --mark-colour: #2ca01c;
}

.mark--sage {
  --mark-colour: #00d639;
}

.mark--brightpay {
  --mark-colour: #2e3192;
}

.mark--dext {
  --mark-colour: #ff5a00;
}

.mark--stripe {
  --mark-colour: #635bff;
}

.mark--paypal {
  --mark-colour: #003087;
}

.mark--wise {
  --mark-colour: #9fe870;
}

.mark--gocardless {
  --mark-colour: #1b1f3b;
}

.mark--hubdoc {
  --mark-colour: #1fa7c7;
}

.mark--a2x {
  --mark-colour: #0f172a;
}

.mark--float {
  --mark-colour: #3b82f6;
}

.consent {
  inset-inline: var(--s-4);
  bottom: calc(var(--s-4) + env(safe-area-inset-bottom));
  z-index: 900;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-soft);
  border-radius: var(--radius-lg);
  max-width: 34rem;
  box-shadow: var(--shadow-float);
  padding: var(--s-5);
  gap: var(--s-4);
  font-size: var(--text-small);
  margin-inline: auto;
  display: grid;
  position: fixed;
}

.consent p {
  color: var(--sa-text-soft);
}

.consent__actions {
  gap: var(--s-3);
  flex-wrap: wrap;
  display: flex;
}

@media (width <= 47.98rem) {
  .consent {
    bottom: calc(4.5rem + env(safe-area-inset-bottom));
  }
}

.mobile-cta {
  inset-inline: 0;
  z-index: 800;
  padding: .6rem var(--s-4) calc(.6rem + env(safe-area-inset-bottom));
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--sa-neutral-200);
  background: #f7f8faeb;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  display: grid;
  position: fixed;
  bottom: 0;
}

.mobile-cta .btn {
  min-height: 2.9rem;
  padding-inline: .75rem;
  font-size: .9rem;
}

@media (width >= 48rem) {
  .mobile-cta {
    display: none;
  }
}

@media (width <= 47.98rem) {
  body {
    padding-bottom: 4.5rem;
  }
}

.cover {
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-lg);
  background: var(--cover-bg, var(--sa-merlot-900));
  color: var(--cover-fg, #fff);
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

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

.cover__media picture, .cover__media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cover--photo:before {
  content: "";
  z-index: 1;
  background: linear-gradient(#10060ac7 0%, #10060ab3 45%, #10060ae0 100%);
  position: absolute;
  inset: 0;
}

.cover__cat {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  opacity: .9;
  font-weight: var(--w-semibold);
  z-index: 2;
  position: relative;
}

.cover__word {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem);
  line-height: .95;
  font-weight: var(--w-medium);
  letter-spacing: -.018em;
  z-index: 2;
  position: relative;
}

.cover__mark {
  opacity: .12;
  z-index: 2;
  width: 55%;
  position: absolute;
  bottom: -14%;
  right: -8%;
}

.cover--tax {
  --cover-bg: linear-gradient(145deg, var(--sa-merlot-800), var(--sa-merlot-950));
}

.cover--vat {
  --cover-bg: linear-gradient(145deg, var(--sa-merlot-700), var(--sa-merlot-900));
}

.cover--payroll {
  --cover-bg: linear-gradient(145deg, var(--sa-neutral-800), var(--sa-neutral-950));
}

.cover--property {
  --cover-bg: linear-gradient(145deg, var(--sa-merlot-900), var(--sa-neutral-950));
}

.cover--rd {
  --cover-bg: linear-gradient(145deg, var(--sa-neutral-900), #1c1013);
}

.cover--mtd {
  --cover-bg: linear-gradient(145deg, var(--sa-merlot-600), var(--sa-merlot-900));
}

.cover--company {
  --cover-bg: linear-gradient(145deg, var(--sa-neutral-700), var(--sa-neutral-900));
}

.cover--sector {
  --cover-bg: linear-gradient(145deg, var(--sa-gold-800), var(--sa-gold-950));
  --cover-fg: var(--sa-gold-100);
}

.cover--switching {
  --cover-bg: linear-gradient(145deg, var(--sa-merlot-500), var(--sa-merlot-800));
}

.callout {
  padding: var(--s-5) var(--s-6);
  background: var(--sa-bg-merlot-tint);
  position: relative;
}

.callout:before {
  content: "";
  background: var(--sa-brand-ornament);
  width: 2.5rem;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
}

.callout--gold {
  background: var(--sa-bg-gold-tint);
}

.callout--grey {
  background: var(--sa-bg-grey);
}

.callout__title {
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-2);
}

.monogram {
  background: var(--sa-neutral-200);
  color: var(--sa-neutral-700);
  font-family: var(--font-display);
  font-weight: var(--w-medium);
  place-items: center;
  display: grid;
}

.icon {
  vertical-align: -.18em;
  flex: none;
  width: 1.1em;
  height: 1.1em;
  display: inline-block;
}

.header {
  z-index: 700;
  backdrop-filter: saturate(160%) blur(16px);
  transition: box-shadow var(--dur), background-color var(--dur), color var(--dur), backdrop-filter var(--dur);
  background: #f7f8fadb;
  position: sticky;
  top: 0;
  box-shadow: 0 1px #0000;
}

.header.is-scrolled {
  box-shadow: 0 1px 0 var(--sa-neutral-200);
  background: #f7f8faf0;
}

.header__inner {
  align-items: center;
  gap: var(--s-5);
  min-height: var(--header-h);
  display: flex;
  position: relative;
}

.logo {
  flex: none;
  align-items: center;
  display: inline-flex;
}

.logo img {
  width: auto;
  height: 1.625rem;
}

.logo__light {
  display: none;
}

@media (width >= 64rem) {
  .logo img {
    height: 1.875rem;
  }
}

.has-dark-hero .header:not(.is-scrolled) {
  backdrop-filter: none;
  color: #fff;
  --sa-text-main: #fff;
  --sa-text-soft: #ffffffc7;
  --sa-text-merlot: var(--sa-gold-300);
  --sa-bg-grey: #ffffff24;
  background: none;
}

.has-dark-hero .header:not(.is-scrolled) .logo__dark {
  display: none;
}

.has-dark-hero .header:not(.is-scrolled) .logo__light {
  display: block;
}

.has-dark-hero .header:not(.is-scrolled) .header__cta {
  --btn-bg: #ffffff24;
  --btn-fg: #fff;
  --btn-bg-hover: #fff;
  --btn-edge: #ffffff6b;
}

.has-dark-hero .header:not(.is-scrolled) .header__cta:hover {
  color: var(--sa-merlot-800);
}

.has-dark-hero .header:not(.is-scrolled) .burger:hover {
  background: #ffffff24;
}

.nav {
  margin-left: auto;
  display: none;
}

@media (width >= 64rem) {
  .nav {
    display: block;
  }
}

.nav__list {
  align-items: center;
  gap: .15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nav__item {
  align-items: center;
  display: flex;
  position: relative;
}

.nav__link {
  white-space: nowrap;
  min-height: 2.75rem;
  font-size: .9375rem;
  font-weight: var(--w-medium);
  color: var(--sa-text-main);
  transition: background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 10px;
  align-items: center;
  padding: .5rem .8rem;
  text-decoration: none;
  display: inline-flex;
}

.nav__link:hover, .nav__item.is-open > .nav__link {
  background: var(--sa-bg-grey);
  color: var(--sa-text-merlot);
}

.nav__link[aria-current="page"], .nav__link.is-active {
  color: var(--sa-text-merlot);
  font-weight: var(--w-semibold);
}

.nav__toggle {
  width: 1.6rem;
  height: 2.75rem;
  color: var(--sa-text-soft);
  border-radius: 8px;
  place-items: center;
  margin-left: -.5rem;
  display: inline-grid;
}

.nav__toggle svg {
  width: .85rem;
  height: .85rem;
  transition: transform var(--dur) var(--ease-out);
}

.nav__item.is-open .nav__toggle svg {
  transform: rotate(180deg);
}

.nav__toggle:hover {
  color: var(--sa-text-merlot);
}

.header__actions {
  align-items: center;
  gap: var(--s-4);
  margin-left: auto;
  display: flex;
}

@media (width >= 64rem) {
  .header__actions {
    margin-left: var(--s-4);
  }
}

.header__phone {
  white-space: nowrap;
  font-size: .9375rem;
  display: none;
}

@media (width >= 88rem) {
  .header__phone {
    display: inline-flex;
  }
}

.header__cta {
  display: none;
}

@media (width >= 48rem) {
  .header__cta {
    min-height: 2.9rem;
    padding-inline: 1.25rem;
    display: inline-flex;
  }
}

@media (width >= 64rem) and (width <= 89.98rem) {
  .nav__link {
    padding-inline: .6rem;
  }
}

.panel {
  z-index: 720;
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-neutral-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-float);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  color: var(--sa-neutral-900);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur) var(--ease-out), visibility 0s linear var(--dur-fast);
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  overflow: hidden;
  transform: translateY(8px);
}

.nav__item.is-open > .panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
  transform: none;
}

.panel[hidden] {
  display: none;
}

.panel--drop {
  min-width: 34rem;
  padding: var(--s-5);
}

.panel--drop ul {
  gap: .1rem var(--s-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.panel--drop a {
  color: var(--sa-neutral-900);
  transition: background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 9px;
  padding: .55rem .7rem;
  font-size: .9375rem;
  line-height: 1.3;
  text-decoration: none;
  display: block;
}

.panel--drop a:hover {
  background: var(--sa-neutral-50);
  color: var(--sa-merlot-700);
}

.panel--drop .panel__all {
  margin-top: var(--s-3);
  padding-top: var(--s-3);
  border-top: 1px solid var(--sa-neutral-200);
}

.panel--drop .panel__all a {
  color: var(--sa-merlot-700);
  font-weight: var(--w-semibold);
  align-items: center;
  gap: .45em;
  display: inline-flex;
}

.panel--drop .panel__all svg {
  width: 1rem;
  height: 1rem;
}

.nav__item--mega {
  position: static;
}

.mega {
  width: auto;
  max-width: 68rem;
  margin-inline: auto;
  padding: 0;
  left: 0;
  right: 0;
}

.mega__grid {
  grid-template-columns: minmax(0, 1fr) 19rem;
  display: grid;
}

.mega__lists {
  padding: var(--s-7, 1.75rem) var(--s-8) var(--s-6);
  gap: var(--s-6);
  display: grid;
}

.mega__tier-label {
  align-items: center;
  gap: var(--s-4);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-neutral-500);
  margin-bottom: var(--s-3);
  display: flex;
}

.mega__tier-label:after {
  content: "";
  background: var(--sa-neutral-200);
  flex: 1;
  height: 1px;
}

.mega__tier--advisory .mega__tier-label {
  color: var(--sa-merlot-700);
}

.mega__tier--advisory .mega__tier-label:after {
  background: var(--sa-merlot-100);
}

.mega__links {
  gap: .15rem var(--s-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.mega__tier--advisory .mega__links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mega__link {
  color: var(--sa-neutral-900);
  transition: background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 10px;
  gap: .1rem;
  padding: .6rem .75rem;
  line-height: 1.25;
  text-decoration: none;
  display: grid;
}

.mega__link b {
  font-family: var(--font-ui);
  font-size: .9375rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.008em;
}

.mega__link span {
  font-size: var(--text-caption);
  color: var(--sa-neutral-500);
}

.mega__link:hover {
  background: var(--sa-neutral-50);
  color: var(--sa-merlot-700);
}

.mega__link:hover span {
  color: var(--sa-merlot-600);
}

.mega__feature {
  isolation: isolate;
  background: var(--sa-merlot-900);
  color: #fff;
  padding: var(--s-7, 1.75rem) var(--s-6) var(--s-6);
  align-content: space-between;
  gap: var(--s-5);
  display: grid;
  position: relative;
  overflow: hidden;
}

.mega__feature-label {
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-gold-300);
}

.mega__feature h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  color: #fff;
  letter-spacing: -.012em;
  line-height: 1.16;
}

.mega__feature p {
  font-size: var(--text-small);
  color: var(--sa-text-white-soft);
}

.mega__feature-links {
  font-size: var(--text-small);
  gap: .4rem;
  display: grid;
}

.mega__feature-links a {
  color: #fff;
  font-weight: var(--w-medium);
  align-items: center;
  gap: .5em;
  text-decoration: none;
  display: inline-flex;
}

.mega__feature-links a:hover {
  color: var(--sa-gold-300);
}

.mega__feature-links svg {
  width: .95rem;
  height: .95rem;
  transition: transform var(--dur-fast) var(--ease-out);
}

.mega__feature-links a:hover svg {
  transform: translateX(3px);
}

.mega__feature .btn {
  width: 100%;
}

@media (width <= 79.98rem) {
  .mega {
    max-width: 60rem;
  }

  .mega__grid {
    grid-template-columns: minmax(0, 1fr) 16rem;
  }

  .mega__tier--advisory .mega__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.burger {
  width: 2.75rem;
  height: 2.75rem;
  color: var(--sa-text-main);
  border-radius: 10px;
  place-items: center;
  display: inline-grid;
}

.burger:hover {
  background: var(--sa-bg-grey);
}

@media (width >= 64rem) {
  .burger {
    display: none;
  }
}

.burger svg {
  width: 1.5rem;
  height: 1.5rem;
}

.burger .x, .burger[aria-expanded="true"] .bars {
  display: none;
}

.burger[aria-expanded="true"] .x {
  display: block;
}

.drawer {
  inset: 0;
  top: var(--header-h);
  z-index: 690;
  background: var(--sa-bg-page);
  color: var(--sa-neutral-900);
  overscroll-behavior: contain;
  padding: var(--s-5) var(--gutter) calc(6rem + env(safe-area-inset-bottom));
  display: none;
  position: fixed;
  overflow-y: auto;
}

.drawer[data-open="true"] {
  display: block;
}

.drawer__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.drawer__list > li {
  border-bottom: 1px solid var(--sa-neutral-200);
}

.drawer__link, .drawer__acc summary {
  min-height: 3.5rem;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  color: var(--sa-neutral-900);
  cursor: pointer;
  letter-spacing: -.012em;
  justify-content: space-between;
  align-items: center;
  padding: .8rem 0;
  text-decoration: none;
  list-style: none;
  display: flex;
}

.drawer__acc summary::-webkit-details-marker {
  display: none;
}

.drawer__acc summary:after {
  content: "";
  border-right: 2px solid var(--sa-merlot-700);
  border-bottom: 2px solid var(--sa-merlot-700);
  width: .6rem;
  height: .6rem;
  transition: transform var(--dur);
  margin-right: .35rem;
  transform: rotate(45deg);
}

.drawer__acc[open] summary:after {
  transform: rotate(225deg);
}

.drawer__sub {
  gap: .1rem;
  margin: 0;
  padding: 0 0 1rem;
  list-style: none;
  display: grid;
}

.drawer__sub a {
  color: var(--sa-neutral-800);
  padding: .6rem 0;
  font-size: 1rem;
  text-decoration: none;
  display: block;
}

.drawer__sub a:hover {
  color: var(--sa-merlot-700);
}

.drawer__group-label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-neutral-500);
  font-weight: var(--w-semibold);
  margin: var(--s-4) 0 var(--s-2);
}

.drawer__group-label:first-child {
  margin-top: var(--s-2);
}

.drawer__sub .drawer__sub-all a {
  color: var(--sa-merlot-700);
  font-weight: var(--w-semibold);
}

.drawer__contact {
  margin-top: var(--s-8);
  gap: var(--s-3);
  font-size: var(--text-small);
  color: var(--sa-neutral-700);
  display: grid;
}

.drawer__cta {
  margin-top: var(--s-6);
}

body.drawer-open {
  overflow: hidden;
}

.footer {
  background: var(--sa-bg-black);
  color: var(--sa-text-grey-on-black);
  margin-top: auto;
  padding-top: clamp(4rem, 3rem + 3vw, 6rem);
}

.footer a {
  color: inherit;
  transition: color var(--dur-fast);
  text-decoration: none;
}

.footer a:hover {
  color: #fff;
}

.footer__top {
  gap: var(--s-10);
  padding-bottom: var(--s-12);
  border-bottom: 1px solid var(--sa-neutral-800);
  display: grid;
}

@media (width >= 48rem) {
  .footer__top {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width >= 64rem) {
  .footer__top {
    gap: var(--s-8);
    grid-template-columns: 1.4fr 1.2fr .9fr 1fr;
  }
}

.footer__brand {
  justify-content: space-between;
  align-items: center;
  gap: var(--s-6);
  padding-bottom: var(--s-10);
  border-bottom: 1px solid var(--sa-neutral-800);
  flex-wrap: wrap;
  grid-column: 1 / -1;
  margin-bottom: 0;
  display: flex;
}

.footer__brand img {
  width: auto;
  height: 1.75rem;
}

.footer__brand p {
  font-family: var(--font-display);
  color: #fff;
  max-width: 30ch;
  font-size: 1.5rem;
  line-height: 1.25;
}

.footer__col h2 {
  font-family: var(--font-ui);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-neutral-400);
  margin-bottom: var(--s-4);
  font-weight: 500;
}

.footer__col ul {
  font-size: var(--text-small);
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.footer__col--services ul {
  columns: 1;
}

.footer__contact {
  gap: var(--s-3);
  font-size: var(--text-small);
  display: grid;
}

.footer__contact .phone {
  color: #fff;
  font-size: 1.125rem;
}

.footer__contact .phone svg {
  color: var(--sa-text-gold-light);
}

.footer__social {
  gap: var(--s-3);
  margin-top: var(--s-2);
  display: flex;
}

.footer__social a {
  border: 1px solid var(--sa-neutral-800);
  border-radius: 10px;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
}

.footer__social a:hover {
  border-color: var(--sa-neutral-500);
}

.footer__social svg {
  width: 1.1rem;
  height: 1.1rem;
}

.footer__legal {
  padding: var(--s-8) 0 calc(var(--s-8) + env(safe-area-inset-bottom));
  gap: var(--s-4);
  font-size: var(--text-caption);
  color: var(--sa-neutral-400);
  line-height: 1.6;
  display: grid;
}

.footer__legal p {
  max-width: 80ch;
}

.footer__legal-links {
  gap: var(--s-2) var(--s-5);
  flex-wrap: wrap;
  display: flex;
}

.footer__legal-links a, .footer__reg {
  color: var(--sa-neutral-300);
}

.footer__reg--strong {
  color: #fff;
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  margin-bottom: .3rem;
}

.footer__regulated {
  align-items: center;
  gap: var(--s-5);
  padding-bottom: var(--s-6);
  border-bottom: 1px solid var(--sa-neutral-800);
  display: flex;
}

.footer__crest {
  flex: none;
  height: 3.75rem;
  display: inline-flex;
}

.footer__crest svg {
  width: auto;
  height: 100%;
}

.footer__crest svg [fill="black"] {
  fill: #fff;
}

@media (width <= 47.98rem) {
  .footer__regulated {
    align-items: flex-start;
  }

  .footer__crest {
    height: 3.25rem;
  }

  .footer__legal {
    padding-bottom: calc(var(--s-8) + 1rem);
  }
}

.hero--home {
  isolation: isolate;
  min-height: min(46rem, calc(100dvh - var(--header-h)));
  margin-top: calc(var(--header-h) * -1);
  padding-block: clamp(6rem, 4rem + 12vw, 11rem) clamp(2.5rem, 2rem + 2vw, 3.5rem);
  padding-top: calc(var(--header-h) + clamp(4rem, 2.5rem + 8vw, 7.5rem));
  color: #fff;
  background: var(--sa-bg-wine);
  align-items: end;
  display: grid;
  position: relative;
  overflow: hidden;
}

.hero__media {
  z-index: -2;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero__media img, .hero__media picture, .hero__media video {
  object-fit: cover;
  object-position: 50% 38%;
  width: 100%;
  height: 100%;
}

.js-motion .hero__media img {
  animation: heroDrift 24s var(--ease-in-out) both;
}

@keyframes heroDrift {
  from {
    transform: scale(1.09);
  }

  to {
    transform: scale(1);
  }
}

.hero__scrim {
  z-index: -1;
  background: var(--sa-scrim-merlot);
  position: absolute;
  inset: 0;
}

.hero__scrim:after {
  content: "";
  background: linear-gradient(0deg, #14060aeb 0%, #14060a47 34%, #14060a00 60%);
  position: absolute;
  inset: 0;
}

.hero__inner {
  z-index: 1;
  position: relative;
}

.hero__copy {
  max-width: 50rem;
}

.hero__copy .eyebrow {
  color: var(--sa-gold-300);
  margin-bottom: var(--s-6);
}

.hero__copy .eyebrow:before {
  background: var(--sa-gold-400);
}

.hero__title {
  letter-spacing: -.022em;
  font-size: clamp(2.4rem, 1.6rem + 3.2vw, 4.4rem);
  line-height: 1.04;
  font-weight: var(--w-regular);
  color: #fff;
}

.hero__title em {
  color: var(--sa-gold-300);
  font-style: italic;
}

.hero__line {
  display: block;
  overflow: hidden;
}

.hero__line > span {
  display: block;
}

.js-motion .hero__line > span {
  animation: heroLine .9s var(--ease-out) forwards;
  animation-delay: calc(.12s + var(--i, 0) * .11s);
  transform: translateY(112%);
}

@keyframes heroLine {
  to {
    transform: none;
  }
}

.hero__u {
  white-space: nowrap;
  display: inline-block;
  position: relative;
}

.hero__u svg {
  width: 102%;
  height: .22em;
  position: absolute;
  bottom: -.12em;
  left: -1%;
  right: -1%;
  overflow: visible;
}

.hero__u path {
  fill: none;
  stroke: var(--sa-gold-400);
  stroke-width: 6px;
  stroke-linecap: round;
  opacity: .9;
}

.js-motion .hero__u path {
  stroke-dasharray: 320;
  stroke-dashoffset: 320px;
  animation: heroUnderline .8s var(--ease-out) forwards;
  animation-delay: .95s;
}

@keyframes heroUnderline {
  to {
    stroke-dashoffset: 0;
  }
}

.hero__copy .lead {
  margin-top: var(--s-5);
  color: #ffffffd9;
  text-wrap: pretty;
  max-width: 34rem;
  font-size: clamp(1.0625rem, 1rem + .35vw, 1.1875rem);
}

.js-motion .hero__copy .lead, .js-motion .hero__actions {
  opacity: 0;
  animation: heroRise .7s var(--ease-out) forwards;
  animation-delay: .52s;
  transform: translateY(14px);
}

.js-motion .hero__actions {
  animation-delay: .64s;
}

@keyframes heroRise {
  to {
    opacity: 1;
    transform: none;
  }
}

.hero__actions {
  gap: var(--s-3);
  margin-top: var(--s-8);
  flex-wrap: wrap;
  display: flex;
}

.hero__ledger {
  padding-top: var(--s-6);
  gap: var(--s-5);
  border-top: 1px solid #ffffff2e;
  align-items: center;
  margin-top: clamp(3rem, 2rem + 5vw, 5.5rem);
  display: grid;
}

@media (width >= 72rem) {
  .hero__ledger {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.hero__regulated {
  align-items: center;
  gap: var(--s-5);
  min-width: 0;
  display: flex;
}

.hero__crest {
  flex: none;
  height: 3.5rem;
  display: inline-flex;
}

.hero__crest svg {
  width: auto;
  height: 100%;
}

.hero__crest svg [fill="black"] {
  fill: #fff;
}

.hero__reg {
  color: #ffffffa8;
  font-size: var(--text-label);
  margin: 0;
  line-height: 1.45;
}

.hero__reg--strong {
  color: #fff;
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  margin-bottom: .25rem;
}

.hero__scroll {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  font-weight: var(--w-semibold);
  color: #fff9;
  justify-self: end;
  align-items: center;
  gap: .6em;
  text-decoration: none;
  display: none;
}

@media (width >= 72rem) {
  .hero__scroll {
    display: inline-flex;
  }
}

.hero__scroll:after {
  content: "";
  width: 2rem;
  height: 1px;
  animation: scrollHint 2.4s var(--ease-in-out) infinite;
  transform-origin: 0;
  background: currentColor;
}

@keyframes scrollHint {
  0%, 100% {
    opacity: .5;
    transform: scaleX(.4);
  }

  50% {
    opacity: 1;
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__scroll:after, .js-motion .hero__media img {
    animation: none;
  }

  .js-motion .hero__line > span, .js-motion .hero__copy .lead, .js-motion .hero__actions {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .js-motion .hero__u path {
    stroke-dashoffset: 0;
    animation: none;
  }
}

@media (width <= 47.98rem) {
  .hero--home {
    min-height: 0;
    padding-block: calc(var(--header-h) + 4.5rem) 3rem;
  }

  .hero__ledger {
    margin-top: var(--s-10);
    gap: var(--s-4);
    grid-template-columns: 1fr;
  }

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

  .hero__crest {
    height: 3rem;
  }

  .hero__actions .btn {
    flex: 100%;
  }
}

.page-hero {
  isolation: isolate;
  background: var(--sa-bg-wine);
  color: #fff;
  margin-top: calc(var(--header-h) * -1);
  padding-block: calc(var(--header-h) + clamp(3.5rem, 2.5rem + 5vw, 7rem)) clamp(3rem, 2.5rem + 3vw, 5.5rem);
  --sa-text-main: #fff;
  --sa-text-soft: #ffffffd1;
  --sa-text-faint: #ffffff9e;
  --sa-text-merlot: var(--sa-gold-300);
  --sa-line-faint: #ffffff29;
  --sa-line-soft: #ffffff3d;
  --sa-bg-card: #ffffff12;
  position: relative;
  overflow: hidden;
}

.page-hero__media {
  z-index: -2;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.page-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}

.page-hero__media img {
  object-fit: cover;
  object-position: 50% 42%;
  opacity: .5;
  width: 100%;
  height: 100%;
}

.page-hero__media:after {
  content: "";
  background: linear-gradient(96deg, #12060af5 10%, #14070bd1 52%, #18090d99 100%);
  position: absolute;
  inset: 0;
}

.page-hero .crumbs {
  margin-bottom: var(--s-6);
}

.page-hero .crumbs a {
  color: #ffffffb3;
}

.page-hero .crumbs a:hover, .page-hero .crumbs [aria-current] {
  color: #fff;
}

.page-hero .eyebrow {
  color: var(--sa-gold-300);
}

.page-hero .eyebrow:before {
  background: var(--sa-gold-400);
}

.page-hero h1 {
  max-width: 18ch;
  margin-bottom: var(--s-5);
  color: #fff;
}

.page-hero .lead {
  color: #ffffffd6;
  max-width: 58ch;
}

.page-hero__actions {
  gap: var(--s-3);
  margin-top: var(--s-8);
  flex-wrap: wrap;
  display: flex;
}

.page-hero__grid {
  gap: var(--s-8);
  align-items: end;
  display: grid;
}

@media (width >= 62rem) {
  .page-hero__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: clamp(3rem, 2rem + 4vw, 5rem);
  }
}

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

.page-hero--center h1, .page-hero--center .lead {
  margin-inline: auto;
}

.page-hero--center .crumbs ol, .page-hero--center .page-hero__actions {
  justify-content: center;
}

.page-hero + .band--flush-top {
  padding-top: clamp(3.5rem, 3rem + 3vw, 6rem);
}

.logostrip {
  background: var(--sa-bg-card);
  border-bottom: 1px solid var(--sa-neutral-200);
  padding-block: var(--s-8);
}

.logostrip__inner {
  justify-content: center;
  align-items: center;
  gap: var(--s-5) clamp(1.5rem, 1rem + 2vw, 3rem);
  flex-wrap: wrap;
  display: flex;
}

.logostrip .label {
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}

.logostrip__list {
  justify-content: center;
  align-items: center;
  gap: var(--s-4) clamp(1.5rem, 1rem + 2.5vw, 3.5rem);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.logostrip__mark {
  color: var(--sa-neutral-800);
  align-items: center;
  display: inline-flex;
}

.logostrip__mark svg {
  width: auto;
  height: 1.5rem;
}

.logostrip__mark--xero svg {
  height: 1.9rem;
}

.logostrip__word {
  font-family: var(--font-ui);
  font-weight: var(--w-bold);
  letter-spacing: -.02em;
  font-size: 1.1875rem;
  line-height: 1;
}

.logostrip__word--dext {
  color: #e04f00;
  text-transform: lowercase;
}

.logostrip__word--brightpay {
  color: #2e3192;
}

@media (width <= 47.98rem) {
  .logostrip__inner {
    gap: var(--s-4);
    flex-direction: column;
  }

  .logostrip__mark svg {
    height: 1.3rem;
  }

  .logostrip__mark--xero svg {
    height: 1.65rem;
  }

  .logostrip__word {
    font-size: 1.0625rem;
  }
}

.position {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 56rem) {
  .position {
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }
}

.position__text {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 1.15rem + 1.7vw, 2.6rem);
  line-height: 1.26;
  font-weight: var(--w-regular);
  text-wrap: pretty;
  letter-spacing: -.016em;
  max-width: 34ch;
}

.position__text em {
  color: var(--sa-text-merlot);
  font-style: italic;
}

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

.position__aside {
  align-self: start;
}

.position__aside p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  max-width: 30ch;
  margin-top: var(--s-4);
}

.tier + .tier {
  margin-top: clamp(3.5rem, 3rem + 3vw, 6rem);
}

.tier__head {
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-3) var(--s-6);
  margin-bottom: var(--s-5);
  flex-wrap: wrap;
  display: flex;
}

.tier__label {
  font-family: var(--font-ui);
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-gold-light);
  align-items: baseline;
  gap: var(--s-4);
  display: flex;
}

.tier__label small {
  font-family: var(--font-ui);
  font-size: var(--text-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-regular);
  letter-spacing: .01em;
  text-transform: none;
}

@media (width <= 47.98rem) {
  .tier__label {
    gap: .35rem;
    display: grid;
  }
}

.tier__rule {
  background: var(--sa-dark-line);
  height: 1px;
  margin-bottom: var(--s-6);
}

.tier__grid {
  gap: var(--s-4);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr));
  display: grid;
}

.tier--advisory .tier__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
}

.svc-card {
  gap: var(--s-3);
  --pad: clamp(1.5rem, 1.3rem + .8vw, 2rem);
  min-height: 13.5rem;
  padding: var(--pad) var(--pad) calc(var(--pad) + 1.5rem);
  background: var(--sa-neutral-0);
  color: var(--sa-neutral-900);
  transition: transform var(--dur) var(--ease-out), background-color var(--dur);
  border-radius: 4px;
  flex-direction: column;
  text-decoration: none;
  display: flex;
  position: relative;
}

.svc-card:before {
  content: "";
  background: var(--sa-gold-400);
  width: 2.5rem;
  height: 3px;
  transition: width var(--dur) var(--ease-out);
  position: absolute;
  top: 0;
  left: 0;
}

.svc-card:hover, .svc-card:focus-visible {
  background: var(--sa-merlot-50);
  transform: translateY(-4px);
}

.svc-card:hover:before, .svc-card:focus-visible:before {
  width: 4.5rem;
}

.svc-card__num {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  color: var(--sa-gold-700);
  font-variant-numeric: tabular-nums;
}

.svc-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.014em;
  color: var(--sa-merlot-700);
  text-wrap: balance;
  line-height: 1.14;
}

.svc-card__body {
  font-size: var(--text-small);
  color: var(--sa-neutral-700);
  max-width: 32ch;
  line-height: 1.55;
}

.svc-card__foot {
  right: var(--pad);
  bottom: var(--pad);
  color: var(--sa-merlot-700);
  display: inline-flex;
  position: absolute;
}

.svc-card__foot svg {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform var(--dur) var(--ease-out);
}

.svc-card:hover .svc-card__foot svg {
  transform: translateX(4px);
}

.svc-card--advisory {
  background: var(--sa-merlot-900);
  color: #fff;
  min-height: 12rem;
}

.svc-card--advisory:hover, .svc-card--advisory:focus-visible {
  background: var(--sa-merlot-800);
}

.svc-card--advisory .svc-card__num {
  color: var(--sa-gold-300);
}

.svc-card--advisory .svc-card__title {
  color: #fff;
}

.svc-card--advisory .svc-card__body {
  color: var(--sa-merlot-200);
  max-width: 40ch;
}

.svc-card--advisory .svc-card__foot {
  color: var(--sa-gold-300);
}

.svc-card__peek {
  display: none;
}

@media (width <= 47.98rem) {
  .svc-card {
    min-height: 0;
  }
}

.svc-rows {
  display: grid;
}

.svc-row {
  gap: var(--s-4);
  border-top: 1px solid var(--sa-line-faint);
  transition: padding-inline var(--dur) var(--ease-out);
  padding-block: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
  display: grid;
  position: relative;
}

.svc-row:last-child {
  border-bottom: 1px solid var(--sa-line-faint);
}

@media (width >= 56rem) {
  .svc-row {
    gap: var(--s-8);
    grid-template-columns: 3.5rem minmax(0, 1.15fr) minmax(0, 1fr) 11rem;
    align-items: start;
  }

  .svc-row:hover {
    padding-inline: .75rem;
  }
}

.svc-row__num {
  font-family: var(--font-display);
  color: var(--sa-text-faint);
  font-variant-numeric: tabular-nums;
  padding-top: .35rem;
  font-size: 1.25rem;
}

.svc-row__title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 1.35rem + 1vw, 2.25rem);
  font-weight: var(--w-semibold);
  letter-spacing: -.016em;
  line-height: 1.14;
}

.svc-row__title a {
  text-decoration: none;
}

.svc-row__title a:after {
  content: "";
  position: absolute;
  inset: 0;
}

.svc-row:hover .svc-row__title a {
  color: var(--sa-text-merlot);
}

.svc-row__desc {
  color: var(--sa-text-soft);
  margin-top: var(--s-3);
  max-width: 46ch;
  font-size: var(--text-small);
}

.svc-row__links {
  font-size: var(--text-small);
  z-index: 1;
  align-self: center;
  gap: .4rem;
  display: grid;
  position: relative;
}

.svc-row__links a {
  color: var(--sa-text-soft);
  gap: .55em;
  text-decoration: none;
  display: flex;
}

.svc-row__links a:before {
  content: "";
  background: var(--sa-brand-ornament);
  border-radius: 50%;
  flex: none;
  width: .32em;
  height: .32em;
  margin-top: .62em;
}

.svc-row__links a:hover {
  color: var(--sa-text-merlot);
}

.svc-row__more {
  z-index: 0;
  pointer-events: none;
  place-self: center start;
  position: relative;
}

.svc-row:hover .svc-row__more {
  border-color: var(--sa-neutral-900);
  box-shadow: inset 0 0 0 1px var(--sa-neutral-900);
}

.svc-row:hover .svc-row__more .arrow {
  transform: translateX(4px);
}

@media (width >= 56rem) {
  .svc-row__more {
    justify-self: end;
  }
}

.sector-tile {
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-lg);
  color: #fff;
  background: var(--sa-merlot-950);
  isolation: isolate;
  width: min(19rem, 74vw);
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.sector-tile picture {
  z-index: -2;
  position: absolute;
  inset: 0;
}

.sector-tile img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .9s var(--ease-out);
}

.sector-tile:before {
  content: "";
  z-index: -1;
  background: var(--sa-scrim-tile);
  transition: opacity var(--dur);
  position: absolute;
  inset: 0;
}

.sector-tile:hover img {
  transform: scale(1.06);
}

.sector-tile__inner {
  padding: var(--s-5) var(--s-5) var(--s-6);
  gap: var(--s-2);
  display: grid;
  position: absolute;
  inset: auto 0 0;
}

.sector-tile__num {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  color: var(--sa-gold-300);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tracking-label);
}

.sector-tile__name {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  text-wrap: balance;
  line-height: 1.14;
}

.sector-tile__line {
  font-size: var(--text-small);
  color: #ffffffc7;
  opacity: 0;
  max-height: 0;
  transition: max-height var(--dur-slow) var(--ease-out), opacity var(--dur), margin-top var(--dur);
  line-height: 1.45;
  overflow: hidden;
}

.sector-tile:hover .sector-tile__line, .sector-tile:focus-visible .sector-tile__line {
  opacity: 1;
  max-height: 6em;
}

@media (hover: none) {
  .sector-tile__line {
    opacity: 1;
    max-height: 6em;
  }
}

.sector-rail__head {
  justify-content: space-between;
  align-items: end;
  gap: var(--s-4) var(--s-8);
  margin-bottom: var(--s-8);
  flex-wrap: wrap;
  display: flex;
}

.sector-rail__nav {
  gap: var(--s-2);
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .sector-rail__nav {
    display: flex;
  }
}

.who {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 56rem) {
  .who {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: stretch;
    gap: clamp(2.5rem, 2rem + 3vw, 5rem);
  }
}

.who__media {
  border-radius: var(--radius);
  background: var(--sa-merlot-950);
  isolation: isolate;
  display: none;
  position: relative;
  overflow: hidden;
}

@media (width >= 56rem) {
  .who__media {
    min-height: 100%;
    display: block;
  }
}

.who__photo {
  opacity: 0;
  transition: opacity .64s var(--ease-out);
  position: absolute;
  inset: 0;
}

.who__photo.is-active {
  opacity: 1;
}

.who__photo picture, .who__photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.who__media:after {
  content: "";
  z-index: 1;
  background: var(--sa-scrim-tile);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.who__figure {
  left: var(--s-6);
  right: var(--s-6);
  bottom: var(--s-6);
  z-index: 2;
  gap: .25rem;
  display: grid;
  position: absolute;
}

.who__figure b {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  color: var(--sa-gold-300);
  font-variant-numeric: tabular-nums;
}

.who__figure span {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  color: #fff;
  line-height: 1.15;
}

.who__index {
  border-top: 1px solid var(--sa-dark-line);
  display: grid;
}

.who__row {
  gap: var(--s-4);
  border-bottom: 1px solid var(--sa-dark-line);
  color: #fff;
  transition: padding-left var(--dur) var(--ease-out);
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.25rem;
  align-items: center;
  padding: clamp(1.1rem, .9rem + .8vw, 1.5rem) 0;
  text-decoration: none;
  display: grid;
}

.who__num {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  color: #ffffff80;
  font-variant-numeric: tabular-nums;
  transition: color var(--dur-fast);
}

.who__text {
  gap: .3rem;
  min-width: 0;
  display: grid;
}

.who__name {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem);
  font-weight: var(--w-medium);
  letter-spacing: -.012em;
  transition: color var(--dur-fast);
  line-height: 1.12;
}

.who__tag {
  font-size: var(--text-small);
  color: #ffffff9e;
  line-height: 1.4;
}

.who__row--switch .who__tag {
  color: var(--sa-gold-300);
}

.who__arrow {
  border: 1px solid var(--sa-dark-line-strong);
  color: #fff;
  opacity: .6;
  width: 2.25rem;
  height: 2.25rem;
  transition: opacity var(--dur-fast), background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.who__arrow svg {
  width: 1rem;
  height: 1rem;
}

.who__row:hover, .who__row:focus-visible {
  padding-left: .5rem;
}

.who__row:hover .who__name, .who__row:focus-visible .who__name, .who__row:hover .who__num {
  color: var(--sa-gold-300);
}

.who__row:hover .who__arrow, .who__row:focus-visible .who__arrow {
  opacity: 1;
  color: var(--sa-merlot-900);
  background: #fff;
  border-color: #fff;
}

@media (width >= 56rem) {
  .who__row.is-active {
    padding-left: .5rem;
  }

  .who__row.is-active .who__name, .who__row.is-active .who__num {
    color: var(--sa-gold-300);
  }

  .who__row.is-active .who__arrow {
    opacity: 1;
    color: var(--sa-merlot-900);
    background: #fff;
    border-color: #fff;
  }
}

.who__foot {
  margin-top: var(--s-8);
}

.article-grid {
  gap: var(--s-6);
  display: grid;
}

@media (width >= 48rem) {
  .article-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width >= 64rem) {
  .article-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.article-card {
  gap: var(--s-4);
  align-content: start;
  display: grid;
  position: relative;
}

.article-card .cover {
  transition: transform var(--dur) var(--ease-out), box-shadow var(--dur);
}

.article-card:hover .cover {
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.article-card__meta {
  gap: var(--s-2) var(--s-3);
  font-size: var(--text-label);
  color: var(--sa-text-faint);
  flex-wrap: wrap;
  display: flex;
}

.article-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  line-height: 1.18;
}

.article-card__title a {
  text-decoration: none;
}

.article-card__title a:after {
  content: "";
  position: absolute;
  inset: 0;
}

.article-card__title a:hover {
  color: var(--sa-text-merlot);
}

.article-card__desc {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
}

.book {
  gap: var(--s-10);
  align-items: center;
  display: grid;
}

@media (width >= 60rem) {
  .book {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }
}

.book__copy h2 {
  color: #fff;
  margin-bottom: var(--s-5);
  max-width: 20ch;
}

.book__copy .lead {
  color: var(--sa-text-white-soft);
  max-width: 44ch;
}

.book__details {
  margin-top: var(--s-8);
  gap: var(--s-4);
  font-size: var(--text-small);
  color: var(--sa-text-white-soft);
  justify-items: start;
  display: grid;
}

.book__details a {
  color: #fff;
  text-decoration: none;
}

.book__details a:hover {
  text-decoration: underline;
}

.book__details .phone {
  color: #fff;
  font-size: 1.375rem;
}

.book__commit {
  align-items: center;
  gap: .6em;
  display: inline-flex;
}

.book__commit:before {
  content: "";
  background: var(--sa-brand-ornament);
  flex: none;
  width: 1.5rem;
  height: 2px;
}

.reviews-head {
  gap: var(--s-6);
  align-items: end;
  margin-bottom: clamp(2.5rem, 2rem + 2vw, 4rem);
  display: grid;
}

@media (width >= 60rem) {
  .reviews-head {
    gap: var(--s-12);
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.g-badge {
  align-items: center;
  gap: var(--s-4);
  color: inherit;
  padding: var(--s-4) var(--s-5);
  border-radius: var(--radius-lg);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  box-shadow: var(--shadow-card);
  transition: transform var(--dur) var(--ease-out), box-shadow var(--dur);
  text-decoration: none;
  display: inline-flex;
}

.g-badge:hover {
  box-shadow: var(--shadow-lift);
  transform: translateY(-2px);
}

.g-badge__g {
  flex: none;
  width: 2.1rem;
  height: 2.1rem;
}

.g-badge__g svg {
  width: 100%;
  height: 100%;
}

.g-badge__body {
  gap: .2rem;
  display: grid;
}

.g-badge__row {
  align-items: center;
  gap: var(--s-2);
  display: flex;
}

.g-badge__score {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
  line-height: 1;
}

.g-badge__label {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
  font-weight: var(--w-medium);
}

.stars {
  color: #f4b400;
  gap: .14em;
  display: inline-flex;
}

.stars svg {
  width: 1em;
  height: 1em;
}

.stars--sm {
  font-size: .85rem;
}

.on-dark .g-badge, .band--wine .g-badge {
  color: var(--sa-neutral-900);
  background: #fff;
  border-color: #0000;
}

.on-dark .g-badge .g-badge__score {
  color: var(--sa-neutral-900);
}

.on-dark .g-badge .g-badge__label {
  color: var(--sa-neutral-600);
}

.rail--reviews {
  padding-block: var(--s-2) var(--s-5);
  align-items: stretch;
}

.rail--reviews > li {
  display: grid;
}

.review {
  gap: var(--s-4);
  width: min(24rem, 82vw);
  padding: var(--s-6);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: border-color var(--dur), transform var(--dur) var(--ease-out), box-shadow var(--dur);
  align-content: start;
  display: grid;
}

.review:hover {
  border-color: var(--sa-line-soft);
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.review__head {
  align-items: center;
  gap: var(--s-3);
  font-style: normal;
  display: flex;
}

.review__id {
  gap: .1rem;
  min-width: 0;
  display: grid;
}

.review__id .quote__name {
  font-size: var(--text-small);
}

.review__source {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
  align-items: center;
  gap: .4em;
  display: inline-flex;
}

.review__source svg {
  flex: none;
  width: .8rem;
  height: .8rem;
}

.review .quote__avatar {
  width: 2.5rem;
  height: 2.5rem;
  font-size: .8rem;
}

.review__text {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.1rem + .35vw, 1.4rem);
  line-height: 1.42;
  font-weight: var(--w-regular);
  color: var(--sa-text-main);
  text-wrap: pretty;
}

.reviews-foot {
  margin-top: var(--s-6);
  font-size: var(--text-label);
  color: var(--sa-text-faint);
}

.reviews-foot a {
  color: var(--sa-text-merlot);
  font-weight: var(--w-medium);
}

.marks-row {
  gap: var(--s-2) var(--s-3);
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.marks-row .label {
  color: var(--sa-text-faint);
  margin-right: var(--s-2);
  font-weight: var(--w-semibold);
}

.how3d, .how3d__stage {
  position: relative;
}

.how3d__head {
  gap: var(--s-3);
  margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem);
  display: grid;
}

.how3d__head h2 {
  max-width: 28ch;
}

.how3d__index, .how3d__body, .how3d__closing {
  display: none;
}

.how3d__steps {
  gap: clamp(3rem, 2.5rem + 2vw, 4.5rem);
  display: grid;
}

.how3d__step {
  gap: var(--s-6);
  align-items: center;
  display: grid;
}

@media (width >= 40rem) {
  .how3d__step {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 1.5rem + 3vw, 5rem);
  }
}

.how3d__copy h3, .how3d__closing h3 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.9rem);
  font-weight: var(--w-medium);
  letter-spacing: -.018em;
  max-width: 15ch;
  margin-bottom: var(--s-5);
  color: #fff;
  line-height: 1.08;
}

.how3d__copy p, .how3d__closing p {
  color: var(--sa-text-soft);
  max-width: 42ch;
  font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
  line-height: 1.6;
}

.how3d__copy dl {
  gap: var(--s-4) var(--s-8);
  margin-top: var(--s-6);
  padding-top: var(--s-5);
  border-top: 1px solid var(--sa-dark-line);
  flex-wrap: wrap;
  display: flex;
}

.how3d__copy dl > div {
  gap: .2rem;
  display: grid;
}

.how3d__copy dt {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
}

.how3d__copy dd {
  color: #fff;
  font-weight: var(--w-medium);
  font-size: var(--text-small);
  margin: 0;
}

.how3d__closing .link-arrow {
  margin-top: var(--s-6);
}

.how3d__step .paper {
  justify-self: center;
}

@media (width >= 40rem) {
  .how3d__step .paper {
    justify-self: end;
  }
}

.how3d.is-3d {
  padding-block: 0;
}

.is-3d .how3d__stage {
  height: 100svh;
  padding-top: calc(var(--header-h) + 1.25rem);
  padding-bottom: 1.5rem;
  display: grid;
}

.is-3d .how3d__stage > .container {
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  display: grid;
}

.is-3d .how3d__head {
  margin-bottom: var(--s-5);
}

.is-3d .how3d__index {
  gap: var(--s-2);
  border-bottom: 1px solid var(--sa-dark-line);
  display: flex;
}

.how3d__go {
  font-family: var(--font-ui);
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  color: #ffffff8c;
  cursor: pointer;
  transition: color var(--dur-fast), border-color var(--dur-fast);
  border-bottom: 2px solid #0000;
  align-items: center;
  gap: .55em;
  margin-bottom: -1px;
  padding: .7rem .25rem .85rem;
  display: inline-flex;
}

.how3d__go + .how3d__go {
  margin-left: var(--s-6);
}

.how3d__go span {
  width: 1.5rem;
  height: 1.5rem;
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  font-variant-numeric: tabular-nums;
  transition: background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);
  border: 1px solid #ffffff47;
  border-radius: 50%;
  place-items: center;
  display: inline-grid;
}

.how3d__go:hover {
  color: #fff;
}

.how3d__go.is-active {
  color: #fff;
  border-bottom-color: var(--sa-gold-300);
}

.how3d__go.is-active span {
  background: var(--sa-gold-300);
  border-color: var(--sa-gold-300);
  color: var(--sa-neutral-950);
}

.is-3d .how3d__steps {
  display: none;
}

.is-3d .how3d__body {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(2rem, 1.5rem + 3vw, 5rem);
  min-height: 0;
  display: grid;
}

.is-3d .how3d__copies {
  min-height: 17rem;
  position: relative;
}

.is-3d .how3d__copy, .is-3d .how3d__closing {
  display: block;
  position: absolute;
  inset: 0;
}

.is-3d .how3d__scene {
  perspective: 1400px;
  perspective-origin: 50% 36%;
  place-items: center;
  min-height: 0;
  display: grid;
}

.how3d__tilt {
  transform-style: preserve-3d;
  width: min(100%, 29rem);
}

.how3d__deck {
  transform-style: preserve-3d;
  height: clamp(23rem, 60svh, 28rem);
  position: relative;
}

.is-3d .how3d__deck .paper {
  width: auto;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform, opacity;
  align-content: start;
  position: absolute;
  inset: 0;
  overflow: hidden;
  box-shadow: 0 40px 70px -30px #000000bf, 0 0 0 1px #ffffff0f;
}

.paper:has(.paper__stamp) {
  padding-bottom: 4.5rem;
}

.is-3d .how3d__deck .paper .paper__findings li, .is-3d .how3d__deck .paper .paper__clauses li {
  padding: .4rem 0;
}

.is-3d .how3d__deck .paper:after {
  content: "";
  opacity: var(--dim, 0);
  pointer-events: none;
  border-radius: inherit;
  background: #101317;
  position: absolute;
  inset: 0;
}

@media (width <= 47.98rem) {
  .is-3d .how3d__stage {
    height: auto;
  }
}

.paper {
  --sa-text-main: var(--sa-neutral-900);
  --sa-text-soft: var(--sa-neutral-700);
  --sa-text-faint: var(--sa-neutral-600);
  --sa-line-faint: var(--sa-neutral-200);
  --sa-line-soft: var(--sa-neutral-300);
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  color: var(--sa-text-main);
  width: min(100%, 30rem);
  box-shadow: var(--shadow-card);
  gap: var(--s-3);
  background: #fcfbf7;
  border-radius: 6px;
  align-content: start;
  padding: clamp(1.5rem, 1.2rem + 1vw, 2.1rem) clamp(1.5rem, 1.2rem + 1.1vw, 2.25rem);
  font-size: .875rem;
  line-height: 1.55;
  display: grid;
  position: relative;
}

.paper__head {
  justify-content: space-between;
  align-items: center;
  gap: var(--s-4);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--sa-line-faint);
  margin-bottom: var(--s-2);
  display: flex;
}

.paper__brand {
  flex: none;
  width: auto;
  height: .8rem;
}

.paper__ref {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-medium);
  text-align: right;
}

.paper__kind {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-gold);
  font-weight: var(--w-semibold);
}

.paper__kind:before {
  content: "";
  background: var(--sa-gold-600);
  vertical-align: middle;
  width: 1.25rem;
  height: 2px;
  margin-right: .6rem;
  display: inline-block;
}

.paper__title {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  color: var(--sa-text-main);
  margin-bottom: var(--s-1);
  line-height: 1.15;
}

.paper--card .paper__title {
  font-size: 1.6rem;
  font-weight: var(--w-medium);
}

.paper__line {
  color: var(--sa-text-soft);
  max-width: 46ch;
}

.paper__foot {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
  padding-top: var(--s-2);
  border-top: 1px solid var(--sa-line-faint);
  margin-top: var(--s-1);
}

.paper__n {
  font-family: var(--font-display);
  color: var(--sa-text-gold);
  padding-top: .15em;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1;
}

.paper__findings, .paper__clauses {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.paper__findings li, .paper__clauses li {
  gap: var(--s-2);
  border-bottom: 1px solid var(--sa-line-faint);
  color: var(--sa-text-main);
  grid-template-columns: 1.6rem minmax(0, 1fr) auto;
  align-items: baseline;
  padding: .5rem 0;
  display: grid;
}

.paper__findings em {
  font-family: var(--font-display);
  color: var(--sa-text-soft);
  font-size: 1rem;
  font-style: italic;
}

.paper__findings em.is-flag {
  color: var(--sa-merlot-700);
}

.paper__when {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sa-text-faint);
  font-weight: var(--w-medium);
}

.paper__note {
  font-family: var(--font-display);
  color: var(--sa-merlot-700);
  padding: var(--s-2) 0 0 var(--s-4);
  border-left: 2px solid var(--sa-gold-600);
  margin-top: var(--s-2);
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.35;
}

.paper__note span {
  letter-spacing: .06em;
  white-space: nowrap;
  font-size: .85em;
}

.paper__enclosures {
  padding: 0 0 0 var(--s-4);
  color: var(--sa-text-soft);
  gap: .2rem;
  margin: 0;
  display: grid;
}

.paper__enclosures li::marker {
  color: var(--sa-gold-600);
}

.paper__sign {
  margin-top: var(--s-1);
  justify-items: start;
  gap: .15rem;
  display: grid;
}

.paper__signature {
  font-family: var(--font-display);
  color: var(--sa-merlot-700);
  border-bottom: 1px solid var(--sa-neutral-400);
  transform-origin: 0 100%;
  letter-spacing: -.01em;
  padding: 0 .4rem .35rem;
  font-size: 1.9rem;
  font-style: italic;
  line-height: 1;
  transform: rotate(-3deg);
}

.paper__signed {
  font-size: var(--text-caption);
  color: var(--sa-text-faint);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  padding-left: .4rem;
}

.paper__stamp {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-bold);
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--sa-merlot-700);
  border: 2px solid var(--sa-merlot-700);
  box-shadow: inset 0 0 0 2px #fcfbf7, inset 0 0 0 3px var(--sa-merlot-700);
  opacity: .88;
  mix-blend-mode: multiply;
  border-radius: 4px;
  padding: .4em .75em .35em;
  position: absolute;
  bottom: clamp(1.2rem, 1rem + 1vw, 2rem);
  right: clamp(1.2rem, 1rem + 1vw, 2rem);
  transform: rotate(-8deg);
}

.notlisted {
  background: var(--sa-bg-merlot-tint);
  gap: var(--s-5);
  padding: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
  display: grid;
  position: relative;
}

.notlisted:before {
  content: "";
  background: var(--sa-brand-ornament);
  width: 2.5rem;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width >= 48rem) {
  .notlisted {
    align-items: center;
    gap: var(--s-8);
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.notlisted p {
  max-width: 62ch;
}

.routes {
  gap: var(--s-4);
  display: grid;
}

@media (width >= 48rem) {
  .routes {
    grid-template-columns: repeat(3, 1fr);
  }
}

.route {
  gap: var(--s-2);
  border-radius: var(--radius-lg);
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  color: inherit;
  transition: border-color var(--dur), transform var(--dur) var(--ease-out), box-shadow var(--dur);
  align-content: start;
  padding: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  text-decoration: none;
  display: grid;
  position: relative;
  overflow: hidden;
}

.route:hover {
  border-color: var(--sa-line-soft);
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.route__label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
}

.route__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  line-height: 1.16;
}

.route__go {
  color: var(--sa-text-merlot);
  font-weight: var(--w-semibold);
  font-size: var(--text-small);
  margin-top: var(--s-2);
}

.service-who {
  gap: var(--s-3);
  max-width: 26rem;
  padding-top: var(--s-4);
  border-top: 2px solid var(--sa-gold-400);
  align-content: start;
  display: grid;
}

@media (width >= 62rem) {
  .service-who {
    justify-self: end;
    width: 100%;
  }
}

.service-who__label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-gold-300);
  font-weight: var(--w-semibold);
}

.service-who p {
  color: #fffc;
  font-size: var(--text-small);
  text-wrap: pretty;
}

.service-who__links {
  margin-top: var(--s-2);
  display: grid;
}

.service-who--2col .service-who__links {
  column-gap: var(--s-6);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-who__links a {
  justify-content: space-between;
  align-items: center;
  gap: var(--s-4);
  color: #ffffffeb;
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  transition: color var(--dur-fast), padding-left var(--dur-fast);
  border-top: 1px solid #ffffff24;
  padding: .6rem 0;
  line-height: 1.3;
  text-decoration: none;
  display: flex;
}

.service-who__links a:after {
  content: "→";
  color: var(--sa-gold-400);
  opacity: 0;
  transition: opacity var(--dur-fast), transform var(--dur-fast);
  flex: none;
  transform: translateX(-4px);
}

.service-who__links a:hover {
  color: var(--sa-gold-300);
  padding-left: .3rem;
}

.service-who__links a:hover:after {
  opacity: 1;
  transform: none;
}

.service-facts {
  gap: var(--s-5) var(--s-6);
  margin-top: var(--s-8);
  padding-top: var(--s-6);
  border-top: 1px solid #ffffff29;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

@media (width >= 48rem) {
  .service-facts {
    gap: var(--s-4) var(--s-8);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  }
}

.service-facts div {
  gap: .1rem;
  display: grid;
}

.service-facts b {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-medium);
  color: #fff;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.service-facts span {
  font-size: var(--text-label);
  color: #ffffffa6;
}

.group {
  padding-top: var(--s-2);
}

.group + .group {
  margin-top: clamp(3rem, 2.5rem + 2vw, 4.5rem);
}

.group__label {
  align-items: baseline;
  gap: var(--s-4);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.35rem + .8vw, 2rem);
  font-weight: var(--w-semibold);
  letter-spacing: -.014em;
  color: var(--sa-text-main);
  margin-bottom: var(--s-5);
  text-transform: none;
  display: flex;
}

.group__label .n {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-merlot);
  font-variant-numeric: tabular-nums;
  flex: none;
}

.group__label:after {
  content: "";
  background: var(--sa-line-faint);
  flex: 1;
  align-self: center;
  height: 1px;
}

.group__count {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--sa-text-faint);
  flex: none;
}

.group__tools {
  margin: calc(var(--s-4) * -1) 0 var(--s-4);
  justify-content: flex-end;
  display: flex;
}

.group__toggle {
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  color: var(--sa-text-merlot);
  align-items: center;
  gap: .45em;
  padding: .35rem .1rem;
  display: inline-flex;
}

.group__toggle:hover {
  text-decoration: underline;
}

.inline-cta {
  margin: var(--s-10) 0;
  background: var(--sa-merlot-900);
  color: #fff;
  border-radius: var(--radius-lg);
  gap: var(--s-5);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: clamp(1.5rem, 1.25rem + 1vw, 2.25rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.inline-cta > * {
  z-index: 1;
  position: relative;
}

.inline-cta p {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem);
  font-weight: var(--w-medium);
  max-width: 30ch;
  line-height: 1.25;
}

.inline-cta .btn {
  --btn-bg: #fff;
  --btn-fg: var(--sa-merlot-800);
  --btn-bg-hover: var(--sa-merlot-50);
}

.industry-grid {
  gap: var(--s-4);
  display: grid;
}

@media (width >= 48rem) {
  .industry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width >= 64rem) {
  .industry-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.industry {
  gap: var(--s-3);
  padding: var(--s-5);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  background: var(--sa-bg-card);
  color: inherit;
  transition: border-color var(--dur), transform var(--dur) var(--ease-out), box-shadow var(--dur);
  align-content: start;
  text-decoration: none;
  display: grid;
  position: relative;
  overflow: hidden;
}

.industry:hover {
  border-color: var(--sa-line-soft);
  box-shadow: var(--shadow-lift);
  transform: translateY(-4px);
}

.industry__name {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: var(--w-semibold);
  letter-spacing: -.01em;
  line-height: 1.18;
}

.industry__anchors {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
}

.industry__go {
  color: var(--sa-text-merlot);
  font-size: var(--text-label);
  font-weight: var(--w-semibold);
  margin-top: var(--s-2);
}

.sector {
  border-top: 1px solid var(--sa-line-faint);
  gap: var(--s-8);
  padding-block: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  display: grid;
}

.sector:first-of-type {
  border-top: 0;
  padding-top: 0;
}

@media (width >= 62rem) {
  .sector {
    grid-template-columns: minmax(0, 1fr) 22rem;
    align-items: start;
    gap: clamp(3rem, 2rem + 4vw, 5.5rem);
  }

  .sector__media {
    top: calc(var(--header-h) + 2rem);
    order: 2;
    position: sticky;
  }
}

.sector__num {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--sa-text-merlot);
  margin-bottom: var(--s-3);
  font-variant-numeric: tabular-nums;
}

.sector h2 {
  margin-bottom: var(--s-4);
}

.sector__intro {
  color: var(--sa-text-soft);
  max-width: 62ch;
  font-size: 1.0625rem;
  line-height: 1.65;
}

.sector__help {
  margin-top: var(--s-8);
}

.sector__help h3 {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-3);
}

.sector__help p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  max-width: 60ch;
  margin-bottom: var(--s-5);
}

.sector__links {
  gap: .15rem var(--s-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.sector__links a {
  color: var(--sa-text-main);
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  transition: background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 8px;
  padding: .5rem .6rem .5rem 1.5rem;
  line-height: 1.3;
  text-decoration: none;
  display: block;
  position: relative;
}

.sector__links a:before {
  content: "";
  background: var(--sa-brand-ornament);
  border-radius: 50%;
  width: .35em;
  height: .35em;
  position: absolute;
  top: .95em;
  left: .6rem;
}

.sector__links a:hover {
  color: var(--sa-text-merlot);
  background: var(--sa-merlot-50);
}

.sector__links small {
  color: var(--sa-text-faint);
  font-size: var(--text-caption);
  font-weight: var(--w-regular);
  margin-top: .1rem;
  display: block;
}

.sector .engagement {
  margin-top: var(--s-8);
}

.sector__media .media {
  aspect-ratio: 4 / 5;
}

.sector .quote {
  margin-top: var(--s-8);
}

.audience {
  border-top: 1px solid var(--sa-line-faint);
  padding-block: clamp(3rem, 2.5rem + 2.5vw, 5rem);
}

.audience:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.audience__head {
  gap: var(--s-8);
  margin-bottom: var(--s-8);
  align-items: center;
  display: grid;
}

@media (width >= 56rem) {
  .audience__head {
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: clamp(2.5rem, 2rem + 3vw, 4.5rem);
  }
}

.audience__num {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-merlot);
  margin-bottom: var(--s-3);
  font-variant-numeric: tabular-nums;
}

.audience__cols {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 56rem) {
  .audience__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(2.5rem, 2rem + 3vw, 4.5rem);
  }
}

.audience__col h3 {
  font-family: var(--font-ui);
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-3);
}

.audience__col p {
  color: var(--sa-text-soft);
}

.audience__links {
  margin: var(--s-5) 0 0;
  gap: .15rem;
  padding: 0;
  list-style: none;
  display: grid;
}

.audience__links a {
  color: var(--sa-text-main);
  font-size: var(--text-small);
  transition: background-color var(--dur-fast), color var(--dur-fast);
  border-radius: 8px;
  align-items: baseline;
  gap: .6em;
  padding: .4rem .6rem;
  text-decoration: none;
  display: flex;
}

.audience__links a:before {
  content: "";
  background: var(--sa-brand-ornament);
  border-radius: 50%;
  flex: none;
  align-self: center;
  width: .32em;
  height: .32em;
}

.audience__links a:hover {
  color: var(--sa-text-merlot);
  background: var(--sa-merlot-50);
}

.on-dark .audience__links a {
  color: #fff;
}

.on-dark .audience__links a:hover {
  color: var(--sa-gold-300);
  background: #ffffff14;
}

.audience__scope {
  margin-top: var(--s-8);
  gap: var(--s-5);
  padding: var(--s-5) var(--s-6);
  background: var(--sa-bg-merlot-tint);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.audience__scope:before {
  content: "";
  background: var(--sa-brand-ornament);
  width: 2.5rem;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
}

.audience__scope p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  max-width: 60ch;
}

.audience__media {
  aspect-ratio: 4 / 3;
}

.switching {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 60rem) {
  .switching {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }
}

.switching h2 {
  color: #fff;
  max-width: 15ch;
}

.switching__steps {
  gap: var(--s-4);
  counter-reset: sw;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.switching__steps li {
  gap: var(--s-4);
  color: var(--sa-text-white-soft);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid #ffffff1f;
  grid-template-columns: 2.5rem 1fr;
  align-items: start;
  display: grid;
}

.switching__steps li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.switching__steps li:before {
  counter-increment: sw;
  content: counter(sw);
  width: 2.25rem;
  height: 2.25rem;
  color: var(--sa-text-gold-light);
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: var(--w-medium);
  border: 1px solid #e0a6b480;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.switching__steps strong {
  color: #fff;
  font-weight: var(--w-semibold);
  margin-bottom: .15rem;
  font-size: 1.0625rem;
  display: block;
}

.people {
  gap: var(--s-8) var(--s-5);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

@media (width >= 64rem) {
  .people {
    gap: var(--s-10) var(--s-6);
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.person {
  gap: var(--s-4);
  align-content: start;
  display: grid;
}

.person__photo {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  background: var(--sa-merlot-100);
  width: 100%;
  overflow: hidden;
}

.person__photo picture {
  width: 100%;
  height: 100%;
  display: block;
}

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

.person:nth-child(4n+2) .person__photo {
  background: var(--sa-gold-100);
}

.person:nth-child(4n+3) .person__photo {
  background: var(--sa-merlot-50);
}

.person:nth-child(4n+4) .person__photo {
  background: var(--sa-gold-50);
}

.person__photo.monogram {
  color: var(--sa-merlot-800);
  font-size: clamp(1.75rem, 1.1rem + 1.5vw, 2.4rem);
}

.person__photo.monogram--lead {
  background: linear-gradient(150deg, var(--sa-merlot-800), var(--sa-merlot-950));
  color: #ffffff9e;
}

.person__meta {
  gap: .2rem;
  display: grid;
}

.person__name {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1.1rem + .35vw, 1.4rem);
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  line-height: 1.2;
}

.person__role {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  font-weight: var(--w-regular);
  line-height: 1.4;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .person__photo {
    transition: transform var(--dur) var(--ease-out);
  }

  .person:hover .person__photo {
    transform: translateY(-4px);
  }
}

.creds {
  gap: var(--s-5);
  display: grid;
}

@media (width >= 56rem) {
  .creds {
    grid-template-columns: 1fr 1fr;
  }

  .cred--icaew {
    grid-column: 1 / -1;
    grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.75rem, 1.2rem + 2vw, 3.25rem);
  }
}

.cred {
  gap: var(--s-5);
  background: var(--sa-bg-card);
  transition: transform var(--dur) var(--ease-out), background-color var(--dur);
  border-radius: 4px;
  align-content: start;
  padding: clamp(1.5rem, 1.25rem + 1vw, 2.25rem);
  display: grid;
  position: relative;
}

.cred:before {
  content: "";
  background: var(--sa-gold-400);
  width: 2.5rem;
  height: 3px;
  transition: width var(--dur) var(--ease-out);
  position: absolute;
  top: 0;
  left: 0;
}

.cred:hover {
  background: var(--sa-merlot-50);
  transform: translateY(-4px);
}

.cred:hover:before {
  width: 4.5rem;
}

.cred__mark {
  padding-bottom: var(--s-5);
  border-bottom: 1px solid var(--sa-line-faint);
  place-items: center;
  display: grid;
}

.cred--icaew .cred__mark {
  border-bottom: 0;
  justify-items: center;
  padding: 0;
}

@media (width <= 55.98rem) {
  .cred--icaew .cred__mark {
    padding-bottom: var(--s-5);
    border-bottom: 1px solid var(--sa-line-faint);
  }
}

.cred__crest {
  height: clamp(9.5rem, 32vw, 13rem);
  display: block;
}

.cred__crest svg {
  width: auto;
  height: 100%;
  display: block;
}

.ato-mark, .ch-mark {
  text-align: center;
  color: var(--sa-text-main);
  justify-items: center;
  gap: .65rem;
  margin: 0;
  display: grid;
}

.ato-mark {
  gap: .7rem;
  width: min(100%, 16rem);
}

.ato-mark__icaew {
  font-family: var(--font-ui);
  font-size: clamp(1.65rem, 1.4rem + .6vw, 1.9rem);
  font-weight: var(--w-bold);
  letter-spacing: .28em;
  line-height: 1;
}

.ato-mark__rule {
  background: #e30613;
  width: 100%;
  height: 2.5px;
  display: block;
}

.ato-mark__title {
  font-family: var(--font-ui);
  font-size: .6875rem;
  font-weight: var(--w-semibold);
  letter-spacing: .18em;
  text-transform: uppercase;
  max-width: 22ch;
  line-height: 1.35;
}

.ch-mark {
  text-align: left;
  justify-items: start;
  gap: .45rem;
  width: min(100%, 15rem);
}

.ch-mark__bar {
  background: #0b0c0c;
  width: 100%;
  height: 6px;
  margin-bottom: .35rem;
  display: block;
}

.ch-mark__name {
  font-family: var(--font-ui);
  font-size: 1.35rem;
  font-weight: var(--w-bold);
  letter-spacing: -.025em;
  line-height: 1.1;
}

.ch-mark__meta {
  font-family: var(--font-ui);
  font-size: .6875rem;
  font-weight: var(--w-semibold);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sa-text-faint);
}

.ch-mark__no {
  font-family: var(--font-ui);
  font-size: 1.5rem;
  font-weight: var(--w-semibold);
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  margin-top: .15rem;
}

.cred__copy {
  gap: var(--s-3);
  align-content: start;
  display: grid;
}

.cred__label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-gold);
  font-weight: var(--w-semibold);
}

.cred__value {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 1.2rem + .45vw, 1.6rem);
  font-weight: var(--w-semibold);
  letter-spacing: -.012em;
  margin: 0;
  line-height: 1.18;
}

.cred p {
  color: var(--sa-text-soft);
  font-size: var(--text-small);
  max-width: 58ch;
}

.cred__facts {
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  letter-spacing: .02em;
  color: var(--sa-text-faint);
  flex-wrap: wrap;
  gap: .45rem 1.15rem;
  margin: .15rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.cred__facts li {
  align-items: center;
  gap: .45em;
  display: inline-flex;
}

.cred__facts li:before {
  content: "";
  background: var(--sa-gold-400);
  flex: none;
  width: .35rem;
  height: .35rem;
}

.cred .link-arrow {
  margin-top: var(--s-1);
}

@media (prefers-reduced-motion: reduce) {
  .cred {
    transition: background-color var(--dur);
  }

  .cred:hover {
    transform: none;
  }
}

.approach {
  gap: var(--s-8);
  display: grid;
}

@media (width >= 56rem) {
  .approach {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: clamp(3rem, 2rem + 4vw, 6rem);
  }
}

.approach__text {
  font-family: var(--font-display);
  letter-spacing: -.016em;
  text-wrap: pretty;
  font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.35rem);
  line-height: 1.26;
}

.approach__body p {
  color: var(--sa-text-soft);
}

.approach__body p + p {
  margin-top: var(--s-4);
}

.contact-grid {
  gap: var(--s-10);
  align-items: start;
  display: grid;
}

@media (width >= 60rem) {
  .contact-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 2rem + 3vw, 4.5rem);
  }
}

.contact-col h2 {
  margin-bottom: var(--s-2);
}

.contact-col > p {
  color: var(--sa-text-soft);
  margin-bottom: var(--s-6);
  max-width: 46ch;
}

.contact-form {
  background: var(--sa-bg-card);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
}

.contact-details {
  gap: var(--s-6);
  display: grid;
}

@media (width >= 48rem) {
  .contact-details {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width >= 64rem) {
  .contact-details {
    grid-template-columns: repeat(4, 1fr);
  }
}

.detail {
  gap: var(--s-2);
  padding-top: var(--s-4);
  border-top: 2px solid var(--sa-line-faint);
  align-content: start;
  display: grid;
}

.detail__label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
}

.detail__value {
  font-size: 1.0625rem;
  font-weight: var(--w-medium);
}

.detail__value a {
  text-decoration: none;
}

.detail__value a:hover {
  color: var(--sa-text-merlot);
}

.detail__hint {
  color: var(--sa-text-faint);
  font-size: var(--text-caption);
}

.next-steps {
  gap: var(--s-6);
  display: grid;
}

@media (width >= 48rem) {
  .next-steps {
    grid-template-columns: repeat(3, 1fr);
  }
}

.filters {
  gap: var(--s-2);
  margin-bottom: var(--s-10);
  flex-wrap: wrap;
  display: flex;
}

.filter {
  border-radius: var(--radius-pill);
  border: 1px solid var(--sa-line-soft);
  background: var(--sa-bg-card);
  font-size: var(--text-small);
  font-weight: var(--w-medium);
  cursor: pointer;
  transition: all var(--dur-fast);
  padding: .5rem 1rem;
}

.filter:hover {
  border-color: var(--sa-neutral-900);
}

.filter[aria-pressed="true"] {
  background: var(--sa-neutral-900);
  color: #fff;
  border-color: var(--sa-neutral-900);
}

[data-article-grid] > [hidden] {
  display: none;
}

.article-hero {
  isolation: isolate;
  background: var(--sa-bg-wine);
  color: #fff;
  margin-top: calc(var(--header-h) * -1);
  padding-block: calc(var(--header-h) + clamp(2.5rem, 2rem + 2vw, 4rem)) clamp(2.5rem, 2rem + 2vw, 3.5rem);
  --sa-text-main: #fff;
  --sa-text-soft: #ffffffd1;
  --sa-text-faint: #ffffff9e;
  --sa-text-merlot: var(--sa-gold-300);
  position: relative;
  overflow: hidden;
}

.article-hero > :not(.article-hero__media) {
  z-index: 1;
  position: relative;
}

.article-hero__media {
  z-index: -2;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.article-hero__media picture {
  width: 100%;
  height: 100%;
  display: block;
}

.article-hero__media img {
  object-fit: cover;
  object-position: 50% 40%;
  width: 100%;
  height: 100%;
}

.article-hero__media:after {
  content: "";
  background: var(--sa-scrim-merlot);
  position: absolute;
  inset: 0;
}

.article-hero h1 {
  color: #fff;
  max-width: 18ch;
}

.article-hero .lead {
  color: #ffffffd6;
  max-width: 52ch;
}

.article-hero .crumbs {
  margin-bottom: var(--s-5);
}

.article-hero .crumbs a {
  color: #ffffffb3;
}

.article-hero .crumbs a:hover, .article-hero .crumbs [aria-current] {
  color: #fff;
}

.article-hero .byline {
  color: #ffffffc7;
}

.article-hero .byline strong {
  color: #fff;
}

.article-hero .byline .dot {
  color: #ffffff5c;
}

.byline {
  align-items: center;
  gap: var(--s-3) var(--s-5);
  margin-top: var(--s-6);
  font-size: var(--text-small);
  color: var(--sa-text-soft);
  flex-wrap: wrap;
  display: flex;
}

.byline__author {
  align-items: center;
  gap: var(--s-3);
  display: inline-flex;
}

.byline__avatar {
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  font-size: .8rem;
}

.byline strong {
  color: var(--sa-text-main);
  font-weight: var(--w-semibold);
}

.byline .dot {
  color: var(--sa-neutral-300);
}

.draft-note {
  background: var(--sa-warning-bg);
  color: var(--sa-warning);
  font-size: var(--text-caption);
  font-weight: var(--w-semibold);
  border-radius: 8px;
  align-items: center;
  gap: .5em;
  padding: .4rem .8rem;
  display: inline-flex;
}

.article-layout {
  gap: var(--s-10);
  display: grid;
}

@media (width >= 64rem) {
  .article-layout {
    grid-template-columns: minmax(0, 1fr) 17rem;
    align-items: start;
    gap: clamp(3rem, 2rem + 5vw, 7rem);
  }

  .article-layout__aside {
    top: calc(var(--header-h) + 1.5rem);
    position: sticky;
  }
}

.takeaway {
  margin-top: var(--s-12);
  border-radius: var(--radius-lg);
  background: var(--sa-merlot-900);
  color: #fff;
  gap: var(--s-3);
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
  display: grid;
}

.takeaway__label {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-gold-light);
  font-weight: var(--w-semibold);
}

.takeaway p {
  font-family: var(--font-display);
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem);
  line-height: 1.34;
}

.related-services {
  gap: var(--s-2);
  display: grid;
}

.related-services a {
  padding: var(--s-4);
  border: 1px solid var(--sa-line-faint);
  border-radius: var(--radius);
  background: var(--sa-bg-card);
  font-size: var(--text-small);
  color: var(--sa-text-soft);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
  text-decoration: none;
  display: block;
}

.related-services a:hover {
  border-color: var(--sa-line-soft);
  box-shadow: var(--shadow-card);
}

.related-services strong {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: var(--w-semibold);
  color: var(--sa-text-main);
  margin-bottom: .2rem;
  display: block;
}

.aside-title {
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--sa-text-faint);
  font-weight: var(--w-semibold);
  margin-bottom: var(--s-3);
}

.legal .prose h2 {
  font-size: var(--text-h3);
}

.legal-meta {
  color: #ffffffa8;
  font-size: var(--text-small);
}

.sitemap-grid {
  gap: var(--s-10);
  display: grid;
}

@media (width >= 48rem) {
  .sitemap-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sitemap-group h2 {
  font-size: var(--text-h3);
  margin-bottom: var(--s-4);
}

.sitemap-group h3 {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: var(--w-semibold);
  margin: var(--s-5) 0 var(--s-2);
}

.sitemap-group ul {
  font-size: var(--text-small);
  gap: .3rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.sitemap-group ul ul {
  border-left: 1px solid var(--sa-line-faint);
  color: var(--sa-text-soft);
  margin: .3rem 0 .6rem;
  padding-left: 1rem;
}

.sitemap-group a {
  text-decoration: none;
}

.sitemap-group a:hover {
  color: var(--sa-text-merlot);
}

.status-page {
  min-height: 66dvh;
  margin-top: calc(var(--header-h) * -1);
  text-align: center;
  padding-block: calc(var(--header-h) + var(--band-y)) var(--band-y);
  background: var(--sa-merlot-950);
  color: #fff;
  --sa-text-main: #fff;
  --sa-text-soft: var(--sa-text-white-soft);
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  display: grid;
  position: relative;
  overflow: hidden;
}

.status-page > * {
  z-index: 1;
  position: relative;
}

.status-page .display {
  color: #fff;
}

.status-page a.link {
  color: var(--sa-gold-300);
}

.status-page .display {
  margin-bottom: var(--s-4);
}

.status-page p {
  color: var(--sa-text-soft);
  max-width: 46ch;
  margin-inline: auto;
}

.status-page__actions {
  gap: var(--s-3);
  margin-top: var(--s-8);
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.status-page__mark {
  width: 3.5rem;
  margin: 0 auto var(--s-6);
  color: var(--sa-gold-400);
}

.status-page__mark svg {
  width: 100%;
  height: auto;
  display: block;
}

.js-motion [data-reveal] {
  opacity: 0;
  transition: opacity .46s var(--ease-out), transform .56s var(--ease-out);
  transition-delay: calc(var(--i, 0) * 55ms);
  will-change: opacity, transform;
  transform: translateY(18px);
}

.js-motion [data-reveal].is-in {
  opacity: 1;
  will-change: auto;
  transform: none;
}

.js-motion [data-reveal="fade"] {
  transform: none;
}

.js-motion [data-reveal="left"] {
  transform: translateX(-18px);
}

.js-motion [data-reveal="scale"] {
  transform: scale(.965);
}

.js-motion [data-reveal-children] > * {
  opacity: 0;
  transition: opacity .42s var(--ease-out), transform .52s var(--ease-out);
  transform: translateY(16px);
}

.js-motion [data-reveal-children].is-in > * {
  opacity: 1;
  transform: none;
}

.js-motion [data-reveal-children].is-in > :first-child {
  transition-delay: 0s;
}

.js-motion [data-reveal-children].is-in > :nth-child(2) {
  transition-delay: 60ms;
}

.js-motion [data-reveal-children].is-in > :nth-child(3) {
  transition-delay: .12s;
}

.js-motion [data-reveal-children].is-in > :nth-child(4) {
  transition-delay: .18s;
}

.js-motion [data-reveal-children].is-in > :nth-child(5) {
  transition-delay: .24s;
}

.js-motion [data-reveal-children].is-in > :nth-child(6) {
  transition-delay: .3s;
}

.js-motion [data-reveal-children].is-in > :nth-child(n+7) {
  transition-delay: .34s;
}

.js-motion .hero__copy .eyebrow, .js-motion .hero__copy .lead, .js-motion .hero__copy .hero__actions, .js-motion .hero__ledger {
  animation: heroIn .7s var(--ease-out) both;
}

.js-motion .hero__copy .lead {
  animation-delay: 90ms;
}

.js-motion .hero__copy .hero__actions {
  animation-delay: .18s;
}

.js-motion .hero__ledger {
  animation-delay: .3s;
}

@keyframes heroIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.js-motion .position__text .w {
  opacity: .26;
  transition: opacity .32s var(--ease-out);
}

.js-motion .position__text .w.is-on {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .header, .footer__top, .mobile-cta, .consent, .drawer, .booker, .toc, .toc-mobile, .btn, .skip-link, .filters, .journey__aside, .group__tools, .rail__nav, .hero__media, .hero__scrim, .page-hero__media, .article-hero__media {
    display: none !important;
  }

  body {
    color: #000;
    background: #fff;
    font-size: 11pt;
  }

  a[href^="http"]:after {
    content: " (" attr(href) ")";
    color: #555;
    font-size: .85em;
  }

  .band {
    padding-block: 1.5rem;
  }

  .band--ink, .band--black, .band--merlot, .band--merlot-deep, .page-hero, .hero--home, .article-hero, .status-page, .engagement, .inline-cta, .takeaway, .who-card--switch, .svc-card--advisory {
    --sa-text-main: #000;
    --sa-text-soft: #333;
    --sa-text-faint: #555;
    --sa-text-merlot: #000;
    color: #000 !important;
    background: none !important;
  }

  .page-hero, .hero--home, .article-hero {
    margin-top: 0 !important;
    padding-block: 1.5rem !important;
  }

  .band--ink:before, .band--merlot:before, .band--merlot-deep:before, .status-page:before {
    display: none !important;
  }

  .disclose {
    break-inside: avoid;
    border: 0;
  }

  .disclose > summary {
    list-style: none;
  }

  .disclose__sign {
    display: none !important;
  }

  .disclose__body, details:not([open]) > :not(summary) {
    display: block !important;
  }

  .journey__step, .card {
    break-inside: avoid;
  }

  .how3d__index, .how3d__scene, .how3d__closing {
    display: none !important;
  }

  .how3d__stage {
    height: auto !important;
  }

  .how3d__copy, .paper {
    break-inside: avoid;
    margin-bottom: 1.5rem;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
  }

  .footer {
    color: #000;
    background: none;
  }
}
