@charset "utf-8";
/* ==========================================================================
   ShoreVest 2026 site layer (DRAFT, not for publication).
   Loaded last on every public page. Maps the legacy token and chrome
   classes onto the 2026 homepage system: warm-white ground, Arial
   (Chinese: PingFang SC / Microsoft YaHei / Noto Sans SC), grey tonal
   hierarchy, Ink Green headline accent, cinnabar for state and the
   section rail only, square edges, no decorative shadows, black footer.
   The `:root:root:root` prefix outranks the legacy `html body.homepage`
   overrides without touching those files.
   ========================================================================== */

:root:root:root {
  --sv26-face: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --sv26-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --sv26-paper: #FDFCFA;
  --sv26-xuan: #F2ECD8;
  --sv26-xuan-rule: #DCD2B9;
  --sv26-head: #24221F;
  --sv26-text: #3B3732;
  --sv26-text-2: #6B635B;
  --sv26-rule: #E5E0D7;
  --sv26-rule-2: #CDC5B8;
  --sv26-ink: #2E4A18;
  --sv26-cinnabar: #C93B2A;
  --sv26-night: #16120E;
  --sv26-black: #0E0E0D;
  --sv26-on-dark: #F4F1EA;
  --sv26-on-dark-2: #CFC8BA;
  --sv26-rail: 56px;

  /* legacy tokens remapped */
  --sv-font: var(--sv26-face);
  --sv-serif: var(--sv26-face);
  --sv-font-en: var(--sv26-face);
  --sv-font-sans-en: var(--sv26-face);
  --sv-chrome-font: var(--sv26-face);
  --font-en: var(--sv26-face);
  --font-din: var(--sv26-face);
  --font: var(--sv26-face);
  --sans: var(--sv26-face);
  --u-din: var(--sv26-face);
  --u-serif: var(--sv26-face);
  --sv-type-sans: var(--sv26-face);
  --sv-cn: var(--sv26-cjk);
  --sv-font-cn: var(--sv26-cjk);
  --font-cn: var(--sv26-cjk);
  --font-zh: var(--sv26-cjk);
  --sv-type-cn: var(--sv26-cjk);
  --sv-ivory: var(--sv26-paper);
  --sv-stone: var(--sv26-xuan);
  --sv-ink: var(--sv26-head);
  --sv-ink-2: var(--sv26-text);
  --sv-dark: var(--sv26-night);
  --sv-dark-footer: var(--sv26-black);
  --sv-border-light: var(--sv26-rule);
  --sv-border-light-strong: var(--sv26-rule-2);
  --sv-image-shadow: none;
  --sv-box-shadow: none;
  --bg: var(--sv26-paper);
  --bg-light: var(--sv26-paper);
  --text-primary: var(--sv26-head);
  --text-body: var(--sv26-text);
  --text-muted: var(--sv26-text-2);
  --header-h: 80px;
  --header-height: 80px;
}

/* ---------- base ---------- */
:root:root:root body {
  font-family: var(--sv26-face) !important;
  color: var(--sv26-text);
  -webkit-font-smoothing: antialiased;
}
:root:root:root body :is(h1, h2, h3, h4, h5, h6, p, a, li, span, dd, dt, td, th, button, label, small, strong, em, b, i, input, select, textarea, figcaption, blockquote, time, cite, div) {
  font-family: var(--sv26-face) !important;
}
:root:root:root[lang|="zh"] body,
:root:root:root[lang|="zh"] body :is(h1, h2, h3, h4, h5, h6, p, a, li, span, dd, dt, td, th, button, label, small, strong, em, b, i, input, select, textarea, figcaption, blockquote, time, cite, div),
:root:root:root body :lang(zh) {
  font-family: var(--sv26-cjk) !important;
}
:root:root:root body ::selection { background: var(--sv26-head); color: var(--sv26-paper); }
:root:root:root body :focus-visible { outline: 2px solid var(--sv26-cinnabar); outline-offset: 3px; }
:root:root:root body :is(h1, h2, h3) { text-wrap: balance; }
:root:root:root body h1 { color: var(--sv26-ink); font-weight: 400 !important; letter-spacing: -.015em; }
:root:root:root body :is(h2, h3) { font-weight: 400; }

/* square edges and no decorative depth */
:root:root:root body :is(main, footer, header) *,
:root:root:root body img {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
:root:root:root body main img { filter: none !important; }
/* homepage full-bleed bands extend with a spread shadow; keep it */
:root:root:root body.home-2026 main { padding-bottom: clamp(96px, 8vw, 128px) !important; }
:root:root:root body .fm-hero__frame { min-height: 0 !important; }
:root:root:root body .fm-open { padding-bottom: 72px !important; }
:root:root:root body.home-2026 .sv-footer__inner { max-width: 1480px !important; margin: 0 auto !important; padding-left: clamp(20px, 4.4vw, 64px) !important; }
/* homepage uses the approved preview's layout model: the rail overlays the page and the
   content column reserves its width, instead of the body padding used on inner pages */
@media (min-width: 1001px) {
  :root:root:root body.home-2026.has-sv26-rail { padding-right: 0 !important; --rail: var(--sv26-rail); }
  :root:root:root body.home-2026.has-sv26-rail .sv-header { right: 0 !important; }
  :root:root:root body.home-2026.has-sv26-rail .sv-header__inner { max-width: 1480px !important; margin: 0 auto !important; padding-left: clamp(20px, 4.4vw, 64px) !important; padding-right: calc(clamp(20px, 4.4vw, 64px) + var(--sv26-rail)) !important; }
  :root:root:root body.home-2026.has-sv26-rail .sv-footer { margin-right: 0 !important; padding-right: 0 !important; }
  :root:root:root body.home-2026.has-sv26-rail .sv-footer__inner { padding-right: calc(clamp(20px, 4.4vw, 64px) + var(--sv26-rail)) !important; }
}
:root:root:root body.home-2026 main .band { box-shadow: 0 0 0 100vmax var(--bg) !important; }
:root:root:root body.home-2026 main > .band {
  box-sizing: border-box;
  margin-left: -18px !important;
  margin-right: -18px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
:root:root:root body.home-2026 .r4__list { padding-top: 12px !important; }
:root:root:root body.home-2026 main > section.chapter {
  box-sizing: border-box;
  margin-left: -18px !important;
  margin-right: -18px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
:root:root:root body.page-2026.home-2026 main > section.band.r4 {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
:root:root:root body.page-2026.home-2026 .r4__img {
  margin-top: -18px !important;
  margin-bottom: -18px !important;
}
:root:root:root body.page-2026.strategy-2026 main > section.band.sx-band {
  padding-bottom: calc(clamp(88px, 9vw, 136px) + 18px) !important;
}
:root:root:root body.page-2026.strategy-2026 main > section.band.sx-orig {
  padding-bottom: calc(clamp(96px, 10vw, 160px) + 18px) !important;
}

:root:root:root.has-credit-navigation body .sv-nav ul {
  gap: clamp(16px, 1.5vw, 24px);
}

:root:root:root.has-credit-navigation body .sv-nav a {
  white-space: nowrap;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  :root:root:root.has-credit-navigation body .sv-nav,
  :root:root:root.has-credit-navigation body .sv-utils {
    display: none !important;
  }

  :root:root:root.has-credit-navigation body .sv-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  :root:root:root.has-credit-navigation body .sv-burger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
  }

  :root:root:root.has-credit-navigation body .sv-mobile-menu {
    top: var(--sv26-header-h, 80px) !important;
    height: calc(100dvh - var(--sv26-header-h, 80px)) !important;
    overflow-y: auto !important;
  }
}

/* ---------- header: an opaque layer ---------- */
:root:root:root body .sv-header {
  background: var(--sv26-paper) !important;
  border-bottom: 1px solid var(--sv26-rule) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  height: 80px;
}
:root:root:root body .sv-header__logo img { height: 30px !important; width: auto !important; }
:root:root:root body .sv-nav a {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--sv26-head) !important;
}
:root:root:root body .sv-nav a::after { background: var(--sv26-cinnabar) !important; height: 2px !important; }
:root:root:root body .sv-nav a:hover { color: var(--sv26-head) !important; }
:root:root:root body .sv-nav a[aria-current="page"]::after { transform: scaleX(1) !important; }
:root:root:root body .sv-lang { font-size: 16px !important; letter-spacing: 0 !important; color: var(--sv26-head) !important; }
:root:root:root body .sv-lang .on { display: none !important; }
:root:root:root body .sv-lang .sep { display: none !important; }
:root:root:root body .sv-util-btn {
  height: 44px !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--sv26-head) !important;
  background: transparent !important;
  border: 1px solid var(--sv26-head) !important;
}
:root:root:root body .sv-util-btn:hover { background: var(--sv26-head) !important; color: var(--sv26-paper) !important; }
:root:root:root body .sv-util-btn--cta { border-color: transparent !important; padding: 0 4px !important; }
:root:root:root body .sv-util-btn--cta:hover { background: transparent !important; color: var(--sv26-head) !important; text-decoration: underline; text-decoration-color: var(--sv26-cinnabar); text-underline-offset: .24em; }
:root:root:root body .sv-util-btn--cta[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--sv26-cinnabar); text-underline-offset: .24em; }
:root:root:root body .sv-util-btn::before,
:root:root:root body .sv-util-btn::after { content: none !important; }
:root:root:root body .sv-burger { border: 1px solid rgba(36, 34, 31, .48) !important; background: transparent !important; margin-right: 0 !important; }
:root:root:root body .sv-burger span,
:root:root:root body .sv-burger span::before,
:root:root:root body .sv-burger span::after { background: var(--sv26-head) !important; }
:root:root:root body .sv-burger[aria-expanded="true"] span { background: transparent !important; }
:root:root:root body .sv-mobile-menu { background: var(--sv26-paper) !important; }
:root:root:root body .sv-mobile-menu a { color: var(--sv26-head) !important; font-size: 20px !important; letter-spacing: 0 !important; text-transform: none !important; }
:root:root:root body .sv-mobile-utils a { font-size: 17px !important; }

.sv-skip-link {
  position: fixed;
  z-index: 2000;
  top: 12px;
  left: 12px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border: 1px solid var(--sv26-head);
  background: var(--sv26-paper);
  color: var(--sv26-head);
  font: 400 16px/1 var(--sv26-face);
  text-decoration: none;
  transform: translateY(calc(-100% - 24px));
  opacity: 0;
  transition: transform .22s cubic-bezier(.16, 1, .3, 1), opacity .18s ease;
}

.sv-skip-link:focus,
.sv-skip-link:focus-visible {
  transform: none;
  opacity: 1;
  outline: 2px solid var(--sv26-cinnabar);
  outline-offset: 3px;
}

:root:root:root body main :target {
  scroll-margin-top: calc(var(--sv26-header-h, 80px) + 24px);
}

html.sv-menu-open,
body.sv-menu-open {
  overflow: hidden !important;
}

@media (max-width: 1023px) {
  :root:root:root body .sv-nav,
  :root:root:root body .sv-utils { display: none !important; }
  :root:root:root body .sv-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    grid-template-columns: none !important;
  }
  :root:root:root body .sv-burger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 1002 !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    margin-left: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  :root:root:root body .sv-mobile-menu {
    position: fixed !important;
    top: var(--sv26-header-h, 80px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: calc(100dvh - var(--sv26-header-h, 80px)) !important;
    max-height: none !important;
    width: 100% !important;
    padding: clamp(22px, 5.6vw, 34px) var(--sv26-m) max(30px, env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid var(--sv26-rule) !important;
    border-bottom: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 1001 !important;
  }

  :root:root:root body .sv-mobile-menu:not(.is-open) {
    display: none !important;
  }

  :root:root:root body .sv-mobile-menu.is-open {
    display: block !important;
  }

  :root:root:root body .sv-mobile-menu nav {
    max-width: min(720px, 100%);
    margin-inline: auto;
  }

  :root:root:root body .sv-mobile-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  :root:root:root body .sv-mobile-menu a {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--sv26-rule) !important;
    line-height: 1.2 !important;
  }

  :root:root:root body .sv-mobile-menu .sv-mobile-utils {
    display: grid !important;
    gap: 12px !important;
    margin-top: clamp(28px, 7vw, 42px) !important;
  }

  :root:root:root body .sv-mobile-menu .sv-mobile-utils .sv-util-btn {
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    border: 1px solid var(--sv26-head) !important;
  }
}

/* ---------- section rail (desktop) / progress line (mobile), see sv-rail.js ---------- */
.sv26-rail { display: none; }
@media (min-width: 1001px) {
  .sv26-rail { transition: opacity .3s; }
  .sv26-rail.is-off { opacity: 0; pointer-events: none; }
  .sv26-rail { display: block; position: fixed; z-index: 30; top: 80px; bottom: 0; right: 0; width: var(--sv26-rail); border-left: 1px solid var(--sv26-rule); background: var(--sv26-paper); }
  .sv26-rail__track { position: absolute; top: 28px; bottom: 28px; left: 50%; width: 2px; margin-left: -1px; background: var(--sv26-rule); }
  .sv26-rail__fill { position: absolute; left: 0; top: 0; width: 100%; height: 0; background: var(--sv26-cinnabar); }
  .sv26-rail__stop { position: absolute; left: 50%; width: 44px; height: 28px; margin: -14px 0 0 -22px; display: grid; place-items: center; background: none; border: 0; padding: 0; cursor: pointer; font: 400 15px/1 var(--sv26-face); }
  .sv26-rail__stop i { display: block; width: 12px; height: 2px; background: var(--sv26-text-2); transform-origin: center; transition: transform .25s; }
  .sv26-rail__stop b { display: none; font-weight: 400; color: #A8301F; background: var(--sv26-paper); padding: 3px 0; }
  .sv26-rail__stop::after {
    content: attr(data-label);
    position: absolute;
    right: 38px;
    top: 50%;
    max-width: 260px;
    padding: 8px 10px;
    border: 1px solid var(--sv26-rule);
    background: var(--sv26-paper);
    color: var(--sv26-head);
    font-size: 14px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(4px);
    transition: opacity .18s ease, transform .18s ease;
  }
  .sv26-rail__stop.on i { display: none; }
  .sv26-rail__stop.on b { display: block; }
  .sv26-rail__stop:hover i { transform: scaleX(1.67); }
  .sv26-rail__stop:hover::after,
  .sv26-rail__stop:focus-visible::after {
    opacity: 1;
    transform: translateY(-50%);
  }
  .sv26-rail__stop:focus-visible {
    outline: 2px solid var(--sv26-cinnabar);
    outline-offset: 4px;
  }
}
.sv26-progress { position: fixed; z-index: 1001; left: 0; top: var(--sv26-header-h, 80px); height: 2px; width: 0; background: var(--sv26-cinnabar); pointer-events: none; transition: opacity .18s ease; }
@media (min-width: 1001px) { .sv26-progress { display: none; } }
body.sv-menu-open .sv26-progress { opacity: 0; }

/* ---------- footer: black, compact ---------- */
:root:root:root body .sv-footer {
  background: var(--sv26-black) !important;
  color: var(--sv26-on-dark-2) !important;
  padding: 48px 0 36px !important;
  margin-top: 0 !important;
}
:root:root:root body .sv-footer__inner { padding-top: 0 !important; padding-bottom: 0 !important; }
:root:root:root body .sv-footer :is(a, span, p) { color: inherit; }
:root:root:root body .sv-footer a { color: var(--sv26-on-dark) !important; text-decoration: none !important; }
:root:root:root body .sv-footer a:hover { text-decoration: underline !important; text-decoration-color: var(--sv26-cinnabar) !important; text-underline-offset: .24em; }
:root:root:root body .sv-footer__top { display: flex !important; flex-wrap: wrap; align-items: center; gap: 14px 36px !important; padding-bottom: 22px !important; border-bottom: 1px solid rgba(244,241,234,.18) !important; margin: 0 !important; }
:root:root:root body .sv-footer__top > div:first-child { display: flex; align-items: center; gap: 16px 36px; flex-wrap: wrap; }
:root:root:root body .sv-footer__logo img { height: 26px !important; width: auto !important; }
:root:root:root body .sv-footer__offices { margin: 0 !important; font-size: 15px !important; }
:root:root:root body .sv-footer__nav { display: flex !important; flex-wrap: wrap; gap: 6px 22px !important; margin-left: auto !important; font-size: 15px !important; }
:root:root:root body .sv-footer__nav a,
:root:root:root body .sv-footer__social-link { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 400 !important; padding: 0 !important; border: 0 !important; }
:root:root:root body .sv-footer__access { display: contents !important; }
:root:root:root body .sv-footer__access-label { display: none !important; }
:root:root:root body .sv-footer__social { margin: 0 !important; }
:root:root:root body .sv-footer__social-icon { display: none !important; }
:root:root:root body .sv-footer__legal { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 48px !important; margin: 20px 0 0 !important; padding: 0 !important; border: 0 !important; font-size: 14px !important; line-height: 1.55 !important; color: var(--sv26-on-dark-2) !important; max-width: none !important; }
:root:root:root body .sv-footer__legal p { margin: 0 !important; font-size: 14px !important; color: var(--sv26-on-dark-2) !important; max-width: none !important; }
:root:root:root body .sv-footer__bottom { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 6px 20px !important; margin-top: 18px !important; padding: 14px 0 0 !important; border: 0 !important; font-size: 14px !important; }
:root:root:root body .sv-footer__links { display: flex !important; flex-wrap: wrap; gap: 6px 20px !important; }
:root:root:root body .sv-footer__links a { font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
:root:root:root body .sv-footer__copy { margin: 0 0 0 auto !important; font-size: 14px !important; color: var(--sv26-on-dark-2) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root:root:root body :is(.sv-totop, .sv-back-to-top) {
  box-shadow: none !important;
  border-radius: 0 !important;
}
:root:root:root body .sv-totop { display: none !important; }
@media (max-width: 1000px) {
  :root:root:root body .sv-footer__nav { margin-left: 0 !important; width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; }
  :root:root:root body .sv-footer__legal { grid-template-columns: 1fr; }
  :root:root:root body .sv-footer__copy { margin-left: 0 !important; width: 100%; }
}

/* ---------- page canvas ---------- */
:root:root:root, :root:root:root body { background: var(--sv26-paper) !important; }
:root:root:root body main :is(a, p, span, small, dt, dd, li, button, label, time, strong) { text-transform: none !important; letter-spacing: 0 !important; }

/* small legacy labels: quiet, readable, sentence case */
:root:root:root body main :is([class*="eyebrow"], [class*="kicker"], .sv-label, [class$="__label"], [class*="__label "]) {
  font-size: 15px !important; font-weight: 400 !important; color: var(--sv26-text-2);
}
:root:root:root body main :is([class*="eyebrow"], [class*="kicker"], .sv-label)::before { content: none !important; }

/* ---------- retire legacy decorative cinnabar devices ---------- */
/* offset planes and colour fields behind hero images */
:root:root:root body :is(.sx-hero__media, .cdd-hero__field, .sv-hero__field, .careers-hero__media, .cp-hero__red, .fm-hero__frame)::before,
:root:root:root body :is(.sv-hero__field, .cdd-hero__field, .sx-hero__media, .careers-hero__media)::after { content: none !important; display: none !important; }
:root:root:root body .cp-hero__red { background: none !important; }
:root:root:root body .fm-hero__frame { background: none !important; aspect-ratio: auto !important; margin-left: 0 !important; padding: 0 !important; max-width: none !important; }
:root:root:root body .fm-hero__frame .fm-open__h1 { color: var(--sv26-ink) !important; }
:root:root:root body .fm-hero__frame .fm-eyebrow { color: var(--sv26-text-2) !important; }

/* tinted callouts with a heavy cinnabar left edge become a quiet 1px-ruled aside */
:root:root:root body :is(.fm-open__body, .fm-sechead__r, .cdd-stats, .research-sub__notice, .cp-offices__foot, .effective-date, .st-sechead__r, .sx-sechead__r, [class*="sechead__r"]) {
  background: transparent !important;
  border-left: 1px solid var(--sv26-rule-2) !important;
  padding: 2px 0 2px 24px !important;
  text-align: left !important;
}
:root:root:root body :is(.fm-open__body, .fm-sechead__r, .cdd-stats, .research-sub__notice, .cp-offices__foot, .effective-date, [class*="sechead__r"]) :is(p, span) {
  color: var(--sv26-text) !important; font-size: 17px !important; text-align: left !important;
}
/* cinnabar rules across the top of blocks become stone rules */
:root:root:root body :is(.st-sleeves, .pr-featured, .group__summary, .legal-page__intro-block, .cdd-arc__chip-issue) { border-top-color: var(--sv26-rule-2) !important; }
:root:root:root body main :is([class*="card"], [class*="persist"], [class*="__cell"]) { border-top-color: var(--sv26-rule-2) !important; }
:root:root:root body main [class*="__num"], :root:root:root body main [class*="__index"] { color: var(--sv26-text-2) !important; }
/* term tags rendered as tracked caps lists */
:root:root:root body .st-sleeve__tag { display: none !important; }

/* ---------- buttons: dark, square; cinnabar is for state only ---------- */
:root:root:root body main :is(.sv-btn--primary, .cdd-hero__panel-cta, .cdd-arc__read, .research-sub__submit, .careers-paths-carousel__btn, .cp-form__submit, .cdd-btn--solid, button[type="submit"]) {
  background: var(--sv26-head) !important; border: 1px solid var(--sv26-head) !important; color: var(--sv26-paper) !important;
  font-size: 16px !important; font-weight: 400 !important; min-height: 44px;
}
:root:root:root body main :is(.sv-btn--primary, .cdd-hero__panel-cta, .cdd-arc__read, .research-sub__submit, .cp-form__submit, .cdd-btn--solid, button[type="submit"]):hover {
  background: #000 !important; border-color: #000 !important;
}
:root:root:root body main :is(.sv-btn--ghost, .sv-btn--secondary, .sv-btn:not(.sv-btn--primary)) {
  background: transparent !important; border: 1px solid var(--sv26-head) !important; color: var(--sv26-head) !important; font-size: 16px !important; font-weight: 400 !important;
}
:root:root:root body main :is(.sv-textlink, [class*="textlink"]) { font-size: 17px !important; color: var(--sv26-head) !important; }
:root:root:root body main :is(.sv-textlink, [class*="textlink"])::after { background: var(--sv26-cinnabar) !important; }

/* ---------- page-specific clean-up (found by sweep) ---------- */
:root:root:root body :is(.st-head__r, .sv-exec__head-r) {
  background: transparent !important; border-left: 1px solid var(--sv26-rule-2) !important; padding: 2px 0 2px 24px !important; text-align: left !important;
}
:root:root:root body :is(.st-head__r, .sv-exec__head-r) :is(p, span), :root:root:root body .sv-exec__intro { color: var(--sv26-text) !important; font-size: 17px !important; text-align: left !important; }
:root:root:root body :is(.st-reason, .st-thresholds, .sv-flow__step) { border-top-color: var(--sv26-rule-2) !important; }
:root:root:root body :is(.cdd-hero__panel-label, .cdd-arc__latest-tag, .cdd-arc__closer-sub, .sv-hero__panel-label, .pr-featured__tag, .legal-page__kicker) { color: var(--sv26-text-2) !important; }
:root:root:root body :is(.pr-events__more-btn, .pr-event-link--post, .press-action, .pr-more, .investor-button, .cdd-pager__dir) { color: var(--sv26-head) !important; border-color: var(--sv26-head) !important; }
:root:root:root body.investor-access-page main .investor-button--primary {
  background: var(--sv26-head) !important;
  border-color: var(--sv26-head) !important;
  color: var(--sv26-paper) !important;
}
:root:root:root body.investor-access-page main .investor-button:hover,
:root:root:root body.investor-access-page main .investor-button:focus-visible,
:root:root:root body.investor-access-page main .investor-button--primary:hover,
:root:root:root body.investor-access-page main .investor-button--primary:focus-visible {
  background: var(--sv26-ink) !important;
  border-color: var(--sv26-ink) !important;
  color: var(--sv26-paper) !important;
}
:root:root:root body.investor-access-page main .investor-button:disabled {
  background: var(--sv26-rule) !important;
  border-color: var(--sv26-rule-2) !important;
  color: var(--sv26-text) !important;
}
:root:root:root body.investor-access-page .legal-content h1 {
  font-size: clamp(34px, 3.5vw, 50px) !important;
  line-height: 1.12 !important;
}
:root:root:root body.investor-access-page .legal-content h2 {
  font-size: clamp(20px, 1.6vw, 23px) !important;
  line-height: 1.25 !important;
}
:root:root:root body .cdd-arc__chip-issue { color: var(--sv26-text-2) !important; border-color: var(--sv26-rule-2) !important; }
:root:root:root body .cdd-arc__row--featured { background: var(--sv26-xuan) !important; }
:root:root:root body .cdd-arc__year::after { background: var(--sv26-rule-2) !important; }
:root:root:root body :is(.investor-portal-hero, .login-form-container) { border-top-color: var(--sv26-rule-2) !important; }
:root:root:root body .sv-error__code { color: var(--sv26-ink) !important; }
/* headings on dark heroes */
:root:root:root body :is(.cdd-hero__title, .cdd-hero h1) { color: var(--sv26-on-dark) !important; }
/* the contact hero lost its cinnabar field: set its type on the light ground */
:root:root:root body .cp-hero :is(h1, h2, p, span, a, .cp-hero__desc, .cp-hero__confidential) { color: var(--sv26-text) !important; }
:root:root:root body .cp-hero h1 { color: var(--sv26-ink) !important; }

/* team: retire the cinnabar field behind the stat panel; readable type */
:root:root:root body.team-page-v2 .team-hero__proof { background: none !important; padding: 0 !important; aspect-ratio: auto !important; }
:root:root:root body.team-page-v2 .team-hero__statcard { border: 1px solid var(--sv26-rule-2) !important; background: var(--sv26-paper) !important; }
:root:root:root body.team-page-v2 .team-hero__statcard-label, :root:root:root body.team-page-v2 .team-hero__statcard-label * { color: var(--sv26-text-2) !important; }
:root:root:root body.team-page-v2 main p { font-size: 17px !important; }
:root:root:root body.team-page-v2 main :is([class*="role"], [class*="links"] a, [class*="__title"] + p) { font-size: 15px !important; }
/* insights subscription block sits on a dark surface */
:root:root:root body .research-sub__notice :is(p, span, strong) { color: var(--sv26-on-dark-2) !important; }
:root:root:root body .research-sub__notice { border-left-color: rgba(244,241,234,.3) !important; }
/* careers keeps its dark surfaces: set headings and links for them */
:root:root:root body.careers-preview-page:not(.careers-2026) main :is(h1, h2, h3, .careers-title) { color: var(--sv26-on-dark) !important; }
:root:root:root body.careers-preview-page:not(.careers-2026) main :is(.careers-eyebrow, [class*="eyebrow"], [class*="kicker"]) { color: var(--sv26-on-dark-2) !important; }
:root:root:root body.careers-preview-page:not(.careers-2026) main :is(.sv-textlink, [class*="textlink"]) { color: var(--sv26-on-dark) !important; }

:root:root:root body main a:not([class]) { text-decoration-color: var(--sv26-rule-2); text-underline-offset: .22em; }
:root:root:root body main a:not([class]):hover { text-decoration-color: var(--sv26-cinnabar); }
@media (prefers-reduced-motion: reduce) { .sv26-rail__stop i { transition: none; } }
/* rebuilt pages that end on a full-bleed band meet the footer directly */
:root:root:root body.page-2026 main:has(> .band:last-child) { padding-bottom: 0 !important; }
/* homepage: tree-ring line artwork behind "A relationship business" (original, scripts/make-tree-rings.py) */
:root:root:root body.home-2026 :is(.fm3, .fx-capital, .tm3-group.band) { position: relative; isolation: isolate; }
:root:root:root body.home-2026 :is(.fm3, .fx-capital, .tm3-group.band)::before {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0;
  left: calc(50% - 50vw); width: 100vw;
  background: url("/assets/img/home/tree-rings.svg?v=8") 100% 100% / cover no-repeat;
  opacity: 1; pointer-events: none;
  -webkit-mask-image: linear-gradient(to left, #000 40%, rgba(0,0,0,.55) 66%, rgba(0,0,0,.12) 100%);
          mask-image: linear-gradient(to left, #000 40%, rgba(0,0,0,.55) 66%, rgba(0,0,0,.12) 100%);
}
:root:root:root body.home-2026 .fm3__in { position: relative; }
@media (max-width: 1000px) { :root:root:root body.home-2026 :is(.fm3, .fx-capital, .tm3-group.band)::before { background-position: 80% 30%; background-size: auto 140%; } }

:root:root:root body.home-2026 .fx-capital > * { position: relative; }

/* ======================================================================
   One frame for every page (matches the homepage exactly).
   Desktop: content, header and footer share a 1480px frame with a 64px-max
   left margin and the same margin plus the section-rail column on the right.
   Mobile: one side margin everywhere.
   ====================================================================== */
:root:root:root { --sv26-m: clamp(20px, 4.4vw, 64px); --sv26-frame: 1480px; --pad-x: var(--sv26-m); --page-max: var(--sv26-frame); }
@media (min-width: 1001px) {
  :root:root:root body { padding-right: 0 !important; }
  :root:root:root body .sv-header { right: 0 !important; left: 0 !important; }
  :root:root:root body.home-2026 { --rail: var(--sv26-rail); }
  :root:root:root body :is(.sv-header__inner, .sv-footer__inner) {
    max-width: var(--sv26-frame) !important; width: auto !important; margin-left: auto !important; margin-right: auto !important;
    padding-left: var(--sv26-m) !important; padding-right: calc(var(--sv26-m) + var(--sv26-rail)) !important;
  }
  :root:root:root body:not(.home-2026) :is(.sv-shell, .sv-container, .cp-shell, .team-inner, .legal-container) {
    max-width: var(--sv26-frame) !important; margin-left: auto !important; margin-right: auto !important;
    padding-left: var(--sv26-m) !important; padding-right: calc(var(--sv26-m) + var(--sv26-rail)) !important; box-sizing: border-box;
  }
  :root:root:root body .sv-footer { margin-right: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 1000px) {
  :root:root:root body :is(.sv-header__inner, .sv-footer__inner) { padding-left: var(--sv26-m) !important; padding-right: var(--sv26-m) !important; }
}

/* Contact: one documentary redwood image, balanced against the form. */
:root:root:root body.page-2026 .ct-image { min-width: 0; margin: 0; align-self: stretch; overflow: hidden; background: #302b25; }
:root:root:root body.page-2026 .ct-image img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: 50% 48%; }
@media (max-width: 1000px) {
  :root:root:root body.page-2026 .ct-image { aspect-ratio: 4 / 3; }
  :root:root:root body.page-2026 .ct-image img { min-height: 0; }
}

/* Insights: the research opening follows the page title system; the current issue remains the night register. */
:root:root:root body.page-2026.insights-2026 main > section.cdd6-open {
  position: relative; isolation: isolate; background: var(--sv26-paper); color: var(--sv26-text);
  box-shadow: none; clip-path: none; margin-bottom: 0;
}
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1 { color: var(--sv26-ink) !important; }
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead { color: var(--sv26-head); }
:root:root:root body.page-2026.insights-2026 .cdd6-facts { color: var(--sv26-text-2); border-top-color: var(--sv26-rule-2); }
:root:root:root body.page-2026.insights-2026 .cdd6-links .go { color: var(--sv26-head); }
:root:root:root body.page-2026.insights-2026 .cdd6-links .go span { border-bottom-color: var(--sv26-rule-2); }
:root:root:root body.page-2026.insights-2026 .cdd6-links .go:hover span { border-bottom-color: var(--sv26-cinnabar); }
:root:root:root body.page-2026.insights-2026 main > section.cdd6-latest { margin-top: 0 !important; border-top: 1px solid rgba(244, 241, 234, .2); }
:root:root:root body.page-2026.insights-2026 .cdd6-img { background: #28251f; }
:root:root:root body.page-2026.insights-2026 .cdd5-body { padding-bottom: 4px; }

/* Media: retain the documentary panel image and make the archive read as a register. */
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img { height: clamp(340px, 44svh, 560px); }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img img { object-position: 50% 57%; }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img--ph { position: relative; background: #E9E3D6; }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img--ph .ph { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: auto; border: 0; background: #E9E3D6; }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img--ph .ph > span { font-size: 15px; color: var(--sv26-text-2, #625D53); }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__text {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: calc(var(--gap) * 2); padding-top: clamp(36px, 4vw, 56px);
}
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__text .h1 { max-width: 12ch; }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__r { max-width: 52rem; padding-top: 4px; }
:root:root:root body.page-2026.media-2026 .hero2--page .hero2__r .lead { max-width: 48ch; }
:root:root:root body.page-2026.media-2026 main section.band.md-events--past {
  --bg: var(--paper); background: var(--paper); box-shadow: 0 0 0 100vmax var(--paper); border-top: 1px solid var(--rule-2);
}
:root:root:root body.page-2026.media-2026 .md-events {
  margin-inline: -18px;
  padding-inline: 18px !important;
  padding-bottom: clamp(52px, 6vw, 88px) !important;
  box-sizing: border-box;
}
:root:root:root body.page-2026.media-2026 .md-events--past .pr-event-row { border-color: var(--rule); }
:root:root:root body.page-2026.media-2026 .md-events--past .pr-events__table { border-top-color: var(--head); }
:root:root:root body.page-2026.media-2026 .md-cov__top { align-items: start; }
:root:root:root body.page-2026.media-2026 .md-cov__head { gap: 18px; }
:root:root:root body.page-2026.media-2026 .md-cov__head:only-child { grid-column: 1 / -1; }
:root:root:root body.page-2026.media-2026 .md-cov__head:only-child .sub { max-width: 72ch; }
:root:root:root body.page-2026.media-2026 .md-glance { margin-top: 12px; }
:root:root:root body.page-2026.media-2026 .md-rings { max-width: 560px; }
:root:root:root body.page-2026.media-2026 .md-feat { margin-top: clamp(48px, 5vw, 72px); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured {
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); padding-block: clamp(32px, 3.5vw, 52px);
  border-top-color: var(--rule-2); border-bottom-color: var(--rule-2);
}
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__tag { color: var(--cinnabar-text); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__title { max-width: 26ch; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__read { display: inline-flex; min-height: 44px; align-items: center; }
:root:root:root body.page-2026.media-2026 .md-tools { gap: 20px; }
:root:root:root body.page-2026.media-2026 .md-filt { padding: 18px 12px; border-top: 1px solid var(--head); border-bottom: 1px solid var(--rule); }
:root:root:root body.page-2026.media-2026 .press-list { margin-top: 0; padding-top: 10px; }
:root:root:root body.page-2026.media-2026 .press-row__item { padding-block: 24px; }
:root:root:root body.page-2026.media-2026 .press-headline { max-width: 50ch; }
:root:root:root body.page-2026.media-2026 .press-row__meta { min-width: 104px; }
:root:root:root body.page-2026.media-2026 .press-row__item:focus-visible { outline-offset: 2px; }
:root:root:root body.page-2026.media-2026 :is(.pr-event-type, .pr-event-location, .pr-event-link, .pr-event-link--plain, .press-tag, .press-date, .press-action) {
  line-height: 1.4;
}
:root:root:root body.page-2026.media-2026 :is(.pr-event-status, .press-row__meta .press-access) {
  line-height: 1.45;
}
:root:root:root body.page-2026.media-2026 main :is(a, button, label, select, span, small, time, dt, dd) {
  line-height: 1.4 !important;
}

/* Firm: institutional capital base as an editorial sentence. */
:root:root:root body.firm-2026 .fx-capital {
  row-gap: clamp(30px, 3.2vw, 48px);
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
  padding-top: clamp(52px, 5vw, 76px) !important;
  padding-bottom: clamp(56px, 5.4vw, 84px) !important;
  box-sizing: border-box;
}
:root:root:root body.firm-2026 .fx-capital .lead { max-width: 38ch; }
:root:root:root body.firm-2026 .h2,
:root:root:root body.firm-2026 .fx-rings__y {
  line-height: 1.3;
}
:root:root:root body.firm-2026 .fx-open--rings .fx-open__h1 {
  line-height: 1.3 !important;
}
:root:root:root body.firm-2026 .fx-investor-sentence {
  grid-column: 5 / 13;
  margin: 0;
  max-width: 24ch;
  color: var(--head);
  font-size: clamp(34px, 4vw, 62px);
  line-height: 1.3;
  letter-spacing: -.018em;
  text-wrap: balance;
}
:root:root:root body.firm-2026 .fx-investor-list {
  color: var(--ink);
}
:root:root:root body.firm-2026 .fx-investor-term {
  color: inherit;
  transition: color .24s cubic-bezier(.16, 1, .3, 1);
}
:root:root:root body.firm-2026 .fx-investor-term:hover {
  color: var(--sv26-cinnabar);
}
@media (prefers-reduced-motion: reduce) {
  :root:root:root body.firm-2026 .fx-investor-term {
    transition: none;
  }
}
:root:root:root body.firm-2026 .fx-types {
  grid-column: 5 / 13;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0;
  margin-top: 0;
  border-top: 1px solid var(--head);
  border-bottom: 1px solid var(--xuan-rule);
}
:root:root:root body.firm-2026 .fx-types li {
  display: flex;
  align-items: center;
  min-height: clamp(86px, 7vw, 112px);
  padding: clamp(20px, 2vw, 30px) clamp(24px, 3vw, 44px) clamp(20px, 2vw, 30px) 0;
  border-bottom: 1px solid var(--xuan-rule);
  color: var(--head);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.3;
  letter-spacing: 0;
  text-wrap: balance;
}
:root:root:root body.firm-2026 .fx-types li:nth-child(odd) { border-right: 1px solid var(--xuan-rule); }
:root:root:root body.firm-2026 .fx-types li:nth-child(even) { padding-left: clamp(24px, 3vw, 44px); }
:root:root:root body.firm-2026 .fx-types li:nth-last-child(-n+2) { border-bottom: 0; }
:root:root:root html[lang|="zh"] body.firm-2026 .fx-types li {
  letter-spacing: 0;
  line-height: 1.35;
}
@media (max-width: 1000px) {
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__text { grid-template-columns: 1fr; row-gap: 18px; width: 100%; max-width: 100%; min-width: 0; }
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__r,
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__r > * { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; }
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__r { justify-items: stretch; }
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__r .lead,
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__r .sub {
    width: calc(100vw - (var(--sv26-m, 20px) * 2)) !important;
    max-width: calc(100vw - (var(--sv26-m, 20px) * 2)) !important;
    overflow-wrap: normal;
  }
  :root:root:root body.page-2026.media-2026 .md-feat .pr-featured { grid-template-columns: 1fr; row-gap: 18px; }
  :root:root:root body.firm-2026 main.wrap { overflow-x: hidden; }
  :root:root:root body.firm-2026 .fx-open--rings { overflow: hidden; }
  :root:root:root body.firm-2026 .fx-open--rings .fx-open__text,
  :root:root:root body.firm-2026 .fx-open--rings .fx-open__text > * {
    width: calc(100vw - (var(--m) * 2)) !important;
    max-width: calc(100vw - (var(--m) * 2)) !important;
    min-width: 0 !important;
  }
  :root:root:root body.firm-2026 .fx-open--rings .lead {
    width: min(20rem, calc(100vw - (var(--m) * 2))) !important;
    max-width: min(20rem, calc(100vw - (var(--m) * 2))) !important;
    min-width: 0 !important;
  }
  :root:root:root body.firm-2026 .fx-types,
  :root:root:root body.firm-2026 .fx-investor-sentence { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  :root:root:root body.firm-2026 .fx-investor-sentence {
    max-width: none;
    font-size: clamp(31px, 8.5vw, 44px);
  }
  :root:root:root body.firm-2026 .fx-types { grid-template-columns: 1fr; border-bottom: 0; }
  :root:root:root body.firm-2026 .fx-types li,
  :root:root:root body.firm-2026 .fx-types li:nth-child(even),
  :root:root:root body.firm-2026 .fx-types li:nth-child(odd) {
    min-height: 0;
    padding: 22px 0 24px;
    border-right: 0;
    border-bottom: 1px solid var(--xuan-rule);
  }
  :root:root:root body.firm-2026 .fx-types li:nth-last-child(-n+2) { border-bottom: 1px solid var(--xuan-rule); }
}

/* Insights type follows the same restrained hierarchy as the rest of the site. */
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1 { max-width: 12ch; font-size: 50px !important; line-height: 1.12; letter-spacing: 0; }
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead { max-width: 44ch; font-size: 21px; line-height: 1.55; }
:root:root:root body.page-2026.insights-2026 .cdd6-facts { font-size: 15px; }
:root:root:root body.page-2026.insights-2026 .cdd6-links .go { font-size: 16px; }
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t { max-width: 24ch; font-size: 42px; line-height: 1.18; letter-spacing: 0; }
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek { max-width: 54ch; font-size: 21px; line-height: 1.55; }
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl { font-size: 15px; }
:root:root:root body.page-2026.insights-2026 .cdd5-body .cdd5-p { font-size: 18px !important; line-height: 1.65 !important; }
:root:root:root body.page-2026.insights-2026 .cdd5-body .cdd4-findings p { font-size: 17px; line-height: 1.58; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row-title { font-size: 19px; line-height: 1.38; letter-spacing: 0; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__excerpt { font-size: 16px; line-height: 1.55; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc :is(.cdd-arc__cat, .cdd-arc__date, .cdd-arc__count) { font-size: 15px; letter-spacing: 0; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__chip { font-size: 15px; letter-spacing: 0; text-transform: none; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row {
  margin-inline: -18px; padding-inline: 18px; transition: background-color .18s ease;
}
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row:hover { background-color: #F3F0E9; }
:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row:hover .cdd-arc__row-title {
  color: var(--head); text-decoration: underline; text-decoration-color: var(--cinnabar); text-underline-offset: .18em;
}
:root:root:root body.page-2026.insights-2026 main .cdd4-arc :is(.cdd-arc__read, .cdd-arc__pdf),
:root:root:root body.page-2026.insights-2026 main .cdd4-arc :is(.cdd-arc__read, .cdd-arc__pdf):hover,
:root:root:root body.page-2026.insights-2026 main .cdd4-arc :is(.cdd-arc__read, .cdd-arc__pdf):focus-visible {
  background: transparent !important;
  border: 0 !important;
  color: var(--sv26-head, #24221F) !important;
  padding: 0 !important;
  min-height: 32px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-decoration-color: var(--sv26-rule-2, #CDC5B8) !important;
  text-underline-offset: .26em !important;
}
:root:root:root body.page-2026.insights-2026 main .cdd4-arc :is(.cdd-arc__read, .cdd-arc__pdf):hover {
  text-decoration-color: var(--sv26-cinnabar, #C93B2A) !important;
}

/* Strategy: stronger local hierarchy and readable dark-band accents. */
:root:root:root body.page-2026.strategy-2026 :is(.sx-why__t, .sx-why h4, .dz-gt, .sx-orig .sx-notes .h3) {
  font-size: clamp(22px, 1.85vw, 26px) !important;
  line-height: 1.28 !important;
}
:root:root:root body.page-2026.strategy-2026 .sx-orig :is(.sx-roll__in, .sx-roll__out, .sx-notes p) {
  color: var(--sv26-on-dark-2, #CFC8BA) !important;
}
:root:root:root body.page-2026.strategy-2026 .sx-orig.is-waiting .sx-roll__names li > span {
  transform: none !important;
}
:root:root:root body.page-2026.strategy-2026 .sx-orig.is-waiting :is(.sx-roll__in, .sx-roll__out, .sx-notes li) {
  opacity: 1 !important;
}
:root:root:root body.page-2026.strategy-2026 .sx-roll__names li i {
  color: #D3DCC6 !important;
}
:root:root:root body.page-2026.strategy-2026 .dz-s {
  margin-inline: -14px;
  padding-inline: 14px;
}
@media (max-width: 1000px) {
  :root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1 { font-size: 40px !important; }
  :root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead { font-size: 19px; }
  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t { font-size: 36px; }
  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek { font-size: 19px; }
}
@media (max-width: 600px) {
  :root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row { margin-inline: -10px; padding-inline: 10px; }
  :root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__row-title { font-size: 18px; }
  :root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__excerpt { font-size: 15px; }
}

/* Shared page-title treatment for portal and China Debt Dynamics. */
:root:root:root body.investor-portal-2026 .ip3-h1,
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1,
:root:root:root body.cdd-article-page .cdd-title {
  font: 400 clamp(34px, 3.5vw, 50px)/1.12 var(--sv26-face, Arial, "Helvetica Neue", Helvetica, sans-serif) !important;
  letter-spacing: -.015em !important;
  color: var(--sv26-ink, #2E4A18) !important;
  text-wrap: balance;
}

:root:root:root body.page-2026.insights-2026 main > section.cdd6-open {
  background: var(--sv26-paper, #FDFCFA) !important;
  color: var(--sv26-text, #3B3732) !important;
  box-shadow: none !important;
  clip-path: none !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead {
  color: var(--sv26-head, #24221F) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-facts {
  color: var(--sv26-text-2, #6B635B) !important;
  border-top-color: var(--sv26-rule-2, #CDC5B8) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-links .go {
  color: var(--sv26-head, #24221F) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-links .go span {
  border-bottom-color: var(--sv26-rule-2, #CDC5B8) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-links .go:hover span {
  border-bottom-color: var(--sv26-cinnabar, #C93B2A) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t,
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t a,
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-pdf {
  color: var(--sv26-on-dark, #F4F1EA) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek {
  color: var(--sv26-on-dark-2, #CFC8BA) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-pdf:hover {
  color: #fff !important;
}
:root:root:root body.page-2026.insights-2026 .cdd4-sub {
  box-sizing: border-box;
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__notice.cdd4-note {
  border-left: 0 !important;
  border-top: 1px solid var(--sv26-xuan-rule, #DCD2B9) !important;
  margin-left: -14px;
  margin-right: -14px;
  padding: 16px 14px 0 !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__notice.cdd4-note :is(p, span, strong) {
  color: var(--sv26-text, #3B3732) !important;
}

/* 2026-10-04: align title starts and page-frame reach across the live 2026 surfaces. */
@media (min-width: 1001px) {
  :root:root:root body.home-2026 {
    --sv26-title-start: clamp(128px, 16vh, 168px);
  }

  :root:root:root body.home-2026:not(.page-2026) .hero2__img,
  :root:root:root body.page-2026.firm-2026 .hero2--page .hero2__img,
  :root:root:root body.page-2026.strategy-2026 .hero2--page .hero2__img,
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__img {
    height: clamp(340px, 44svh, 560px) !important;
  }

  :root:root:root body.home-2026:not(.page-2026) .hero2__text,
  :root:root:root body.page-2026.firm-2026 .hero2--page .hero2__text,
  :root:root:root body.page-2026.strategy-2026 .hero2--page .hero2__text,
  :root:root:root body.page-2026.media-2026 .hero2--page .hero2__text {
    padding-top: clamp(48px, 4vw, 56px) !important;
  }

  :root:root:root body.firm-2026 .fx-open--rings,
  :root:root:root body.page-2026.insights-2026 .cdd6-open,
  :root:root:root body.team-2026 .tm4-open,
  :root:root:root body.careers-2026 .gv-open {
    min-height: 0 !important;
    align-items: start !important;
    padding-top: var(--sv26-title-start) !important;
  }

  :root:root:root body.firm-2026 .fx-rings {
    align-self: start !important;
    margin-top: calc(-1 * clamp(42px, 4.6vw, 72px)) !important;
  }

  :root:root:root body.firm-2026 .fx-rings figcaption {
    bottom: clamp(82px, 7vw, 120px) !important;
  }

  :root:root:root body.firm-2026 .fx-open--rings,
  :root:root:root body.page-2026.insights-2026 .cdd6-open,
  :root:root:root body.careers-2026 .gv-open {
    padding-bottom: clamp(72px, 8vw, 112px) !important;
  }

  :root:root:root body.team-2026 .tm4-open {
    padding-bottom: clamp(32px, 4vw, 56px) !important;
  }

  :root:root:root body.contact-eaves-right .hero2__text,
  :root:root:root body.investor-portal-2026 .ip3-door {
    padding-top: var(--sv26-title-start) !important;
  }

  :root:root:root body.investor-portal-2026 .ip3-door {
    width: 100%;
    max-width: none;
    align-self: start;
  }

  :root:root:root body.investor-portal-2026 .ip3-form,
  :root:root:root body.investor-portal-2026 .ip3-need,
  :root:root:root body.investor-portal-2026 .ip3-notes {
    width: 100%;
    max-width: none;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img {
    margin-top: calc(-1 * clamp(112px, 12vh, 148px));
    min-height: clamp(560px, 66svh, 720px);
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img img {
    object-position: 52% 28% !important;
  }
}

/* Firm opening: the rings are a figure, not a metric card. */
@media (min-width: 1001px) {
  :root:root:root body.firm-2026 .fx-open--rings {
    grid-template-columns: minmax(0, 5fr) minmax(520px, 7fr);
    column-gap: clamp(56px, 6vw, 104px);
    overflow: visible !important;
  }

  :root:root:root body.firm-2026 .fx-open--rings .fx-open__text {
    grid-column: 1 / 2;
    align-self: start;
    padding-top: clamp(4px, .8vw, 12px);
  }

  :root:root:root body.firm-2026 .fx-rings {
    grid-column: 2 / 3;
    align-self: start !important;
    justify-self: end;
    justify-items: stretch;
    align-content: start;
    width: 100%;
    max-width: min(680px, 46vw);
    row-gap: clamp(16px, 1.8vw, 24px);
    margin-top: calc(-1 * clamp(12px, 2vw, 32px)) !important;
  }

  :root:root:root body.firm-2026 .fx-rings .gr {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  :root:root:root body.firm-2026 .fx-rings figcaption {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: clamp(18px, 2vw, 32px);
    align-items: end;
    margin: 0;
    padding: clamp(14px, 1.4vw, 20px) 0 0 !important;
    border-top: 1px solid var(--rule-2);
    background: transparent !important;
  }

  :root:root:root body.firm-2026 .fx-rings__k {
    grid-column: auto;
    max-width: 24rem;
    color: var(--text);
    font-size: 16px;
    line-height: 1.5;
  }

  :root:root:root body.firm-2026 .fx-rings__y {
    justify-self: end;
    color: var(--head);
    font-size: clamp(34px, 3vw, 46px);
    line-height: 1.2;
    white-space: nowrap;
  }
}

@media (max-width: 1000px) {
  :root:root:root body.firm-2026 main.wrap {
    overflow-x: clip;
  }

  :root:root:root body.firm-2026 .fx-open--rings {
    row-gap: clamp(28px, 8vw, 40px);
    overflow: visible !important;
    padding-bottom: 64px !important;
  }

  :root:root:root body.firm-2026 .fx-rings {
    justify-self: start;
    justify-items: stretch;
    width: 100%;
    max-width: min(440px, calc(100vw - (var(--sv26-m, 20px) * 2)));
    row-gap: 14px;
    margin-top: 0 !important;
  }

  :root:root:root body.firm-2026 .fx-rings .gr {
    width: 100% !important;
    margin-left: 0 !important;
  }

  :root:root:root body.firm-2026 .fx-rings figcaption {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 8px;
    width: 100%;
    max-width: none;
    padding-top: 14px !important;
    border-top: 1px solid var(--rule-2);
    background: transparent !important;
  }

  :root:root:root body.firm-2026 .fx-rings__k {
    color: var(--text);
    font-size: 15px;
    line-height: 1.5;
  }

  :root:root:root body.firm-2026 .fx-rings__y {
    color: var(--head);
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.2;
  }
}

@media (max-width: 760px) {
  :root:root:root body.firm-2026 .fx-rings {
    max-width: min(320px, calc(100vw - (var(--sv26-m, 20px) * 2)));
  }
}

/* Shared white tree-ring field for beige / xuan surfaces. */
:root:root:root body.home-2026 main :is(.xuan, .fm3, .fx-capital, .tm3-group.band, .fm-inv-sec, .st-band, #sub-strategies, .st-disc, .pr-disclosures, .ct4-conf, .ct4-band, .cdd4-sub) {
  position: relative;
  isolation: isolate;
}

:root:root:root body.home-2026 main :is(.xuan, .fm3, .fx-capital, .tm3-group.band, .fm-inv-sec, .st-band, #sub-strategies, .st-disc, .pr-disclosures, .ct4-conf, .ct4-band, .cdd4-sub)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  pointer-events: none;
  background: url("/assets/img/home/tree-rings.svg?v=8") 100% 100% / cover no-repeat;
  opacity: .92;
  -webkit-mask-image: linear-gradient(to left, #000 34%, rgba(0,0,0,.62) 66%, rgba(0,0,0,.16) 100%);
          mask-image: linear-gradient(to left, #000 34%, rgba(0,0,0,.62) 66%, rgba(0,0,0,.16) 100%);
}

:root:root:root body.home-2026 main :is(.xuan, .fm3, .fx-capital, .tm3-group.band, .fm-inv-sec, .st-band, #sub-strategies, .st-disc, .pr-disclosures, .ct4-conf, .ct4-band, .cdd4-sub) > * {
  position: relative;
}

:root:root:root body.home-2026 main :is(.cdd-arc__row--featured, .research-sub__notice.cdd4-note) {
  background-image: url("/assets/img/home/tree-rings.svg?v=8") !important;
  background-repeat: no-repeat !important;
  background-position: 100% 50% !important;
  background-size: min(680px, 72vw) auto !important;
}

/* Contact: give the xuan form band its own inset while preserving page-frame alignment. */
:root:root:root body.contact-2026 .ct4-band {
  --bg: var(--sv26-xuan, #F2ECD8);
  background: var(--bg);
  box-shadow: 0 0 0 100vmax var(--bg) !important;
  clip-path: inset(0 -100vmax);
  box-sizing: border-box;
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

@media (max-width: 1000px) {
  :root:root:root body.home-2026 main :is(.xuan, .fm3, .fx-capital, .tm3-group.band, .fm-inv-sec, .st-band, #sub-strategies, .st-disc, .pr-disclosures, .ct4-conf, .ct4-band, .cdd4-sub)::before {
    background-position: 82% 28%;
    background-size: auto 145%;
    opacity: .78;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.34) 0%, #000 38%, rgba(0,0,0,.7) 100%);
            mask-image: linear-gradient(to bottom, rgba(0,0,0,.34) 0%, #000 38%, rgba(0,0,0,.7) 100%);
  }
}

/* Careers: keep the animated opening copy inside the mobile page frame. */
@media (max-width: 1000px) {
  :root:root:root body.careers-2026 main.wrap {
    overflow-x: hidden;
  }

  :root:root:root body.careers-2026 .gv-open {
    overflow: hidden;
  }

  :root:root:root body.careers-2026 .gv-open__t,
  :root:root:root body.careers-2026 .gv-open__t > * {
    width: min(100%, calc(100vw - (var(--m, 20px) * 2) - 12px));
    max-width: min(100%, calc(100vw - (var(--m, 20px) * 2) - 12px)) !important;
    min-width: 0;
  }

  :root:root:root body.careers-2026 .gv-open__t .lead {
    max-width: min(100%, 21rem) !important;
  }
}

/* Legal documents: let the document column reach the same page-frame right edge. */
:root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) main.wrap {
  padding-right: var(--sv26-m) !important;
}

:root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-open .h1 {
  max-width: none;
}

@media (min-width: 1001px) {
  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gap);
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-side {
    grid-column: 1 / 4;
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-doc {
    grid-column: 4 / 13;
    width: 100%;
    max-width: none;
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-doc > p,
  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-doc :is(ul, ol) {
    max-width: none;
  }
}

/* 2026-10-04: harden legacy 2026 templates against narrow mobile clipping. */
:root:root:root body:is(.team-2026, .media-2026, .insights-2026, .privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) main.wrap,
:root:root:root body:is(.team-2026, .media-2026, .insights-2026, .privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) main.wrap * {
  min-width: 0;
  box-sizing: border-box;
}

:root:root:root body:is(.team-2026, .media-2026) :is(.tm4-open, .tm4-reg, .tm4-reg__g, .tm4-group, .tm4-head, .tm4-pair, .tm3-grid, .tm4-grid, .tm-p, .tm-acts, .tm-bio, .tm-bio__text, .md-ev, .md-cov__top, .md-cov__head, .md-glance, .md-rings, .md-feat, .pr-featured, .md-tools, .md-filt, .press-row__item, .press-row__content, .press-row__meta) {
  min-width: 0;
  max-width: 100%;
}

:root:root:root body:is(.team-2026, .media-2026, .insights-2026, .privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) main.wrap :is(p, li, dd, dt, a, span, h1, h2, h3, h4, summary) {
  overflow-wrap: anywhere;
  word-break: normal;
}

:root:root:root body.team-2026 .tm3-grid {
  padding-bottom: 12px;
}

:root:root:root body.team-2026 .tm4-group.band {
  margin-inline: -24px;
  padding-inline: 24px !important;
}

/* Full-bleed sections keep their grid alignment while gaining a measurable inset. */
:root:root:root body.page-2026.home-2026 main > section.band {
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box;
}

:root:root:root body.page-2026.strategy-2026 .dz-strs {
  padding-top: 10px;
}

:root:root:root body.page-2026.strategy-2026 .dz-s {
  padding-top: 4px;
  padding-bottom: 8px;
}

:root:root:root body.careers-2026 .cr2-chap,
:root:root:root body.team-2026 .tm4-group.band {
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box;
}

@media (max-width: 1000px) {
  :root:root:root body:is(.team-2026, .media-2026, .insights-2026, .privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) main.wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--sv26-m, 20px) !important;
    padding-right: var(--sv26-m, 20px) !important;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open,
  :root:root:root body.page-2026.insights-2026 .cdd6-open__t,
  :root:root:root body.page-2026.insights-2026 .cdd6-open__t > * {
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead {
    max-width: min(100%, 22rem) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  :root:root:root body.contact-eaves-right .hero2__text {
    padding-top: 0 !important;
  }

  :root:root:root body.team-2026 .tm4-open {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 28px;
  }

  :root:root:root body.team-2026 .tm4-open__t,
  :root:root:root body.team-2026 .tm4-open__t > *,
  :root:root:root body.team-2026 .tm4-reg {
    width: 100%;
    max-width: 100% !important;
  }

  :root:root:root body.team-2026 .tm4-reg li a {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2px;
    column-gap: 0;
    padding-block: 11px;
  }

  :root:root:root body.team-2026 .tm4-reg li a span:last-child {
    line-height: 1.45;
  }

  :root:root:root body.team-2026 .tm4-grid,
  :root:root:root body.team-2026 .tm4-grid--2,
  :root:root:root body.team-2026 .tm4-grid--3,
  :root:root:root body.team-2026 .tm3-grid {
    width: 100% !important;
    margin-left: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 18px !important;
  }

  :root:root:root body.team-2026 .tm4-founder-row .tm4-founder,
  :root:root:root body.team-2026 .tm4-founder {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  :root:root:root body.team-2026 .tm4-founder-row .tm4-founder .tm-role,
  :root:root:root body.team-2026 .tm4-founder > * {
    grid-column: 1 !important;
  }

  :root:root:root body.media-2026 .md-ev,
  :root:root:root body.media-2026 .md-cov__top,
  :root:root:root body.media-2026 .md-feat .pr-featured,
  :root:root:root body.media-2026 .press-row__item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  :root:root:root body.media-2026 .md-glance > div {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 4px !important;
  }

  :root:root:root body.media-2026 .press-row__meta {
    min-width: 0 !important;
    justify-items: start;
    text-align: left;
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-grid,
  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-side,
  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-doc {
    width: 100%;
    max-width: 100%;
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-docs ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 22px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 6px;
    margin-right: calc(-1 * var(--m, 20px));
    padding-right: var(--m, 20px);
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-docs li {
    flex: 0 0 auto;
  }

  :root:root:root body.page-2026:is(.privacy-policy-2026, .cookie-notice-2026, .terms-of-use-2026, .important-information-2026, .legal-notices-disclaimers-2026) .lg-docs li a {
    white-space: nowrap;
  }
}

@media (max-width: 560px) {
  :root:root:root body.team-2026 .tm4-grid,
  :root:root:root body.team-2026 .tm4-grid--2,
  :root:root:root body.team-2026 .tm4-grid--3,
  :root:root:root body.team-2026 .tm3-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Sitewide opening motion: one shared arrival, while page-specific SVG drawings keep their own timing. */
@media (prefers-reduced-motion: no-preference) {
  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) {
    --sv26-enter-ease: cubic-bezier(.16, 1, .3, 1);
  }

  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv-header {
    animation: sv26-chrome-enter .5s var(--sv26-enter-ease) both;
  }

  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv26-rail,
  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv26-progress {
    animation: sv26-rail-enter .55s var(--sv26-enter-ease) .18s both;
  }

  :root:root:root body.home-2026 main > :first-child,
  :root:root:root body.page-2026 main > :first-child,
  :root:root:root body.cdd-article-page .cdd-topline,
  :root:root:root body.cdd-article-page .cdd-intro {
    animation: sv26-surface-enter .74s var(--sv26-enter-ease) both;
    transform-origin: 50% 0;
  }

  :root:root:root body.home-2026 main > :first-child :is(.hero2__img, .pano, .ip3-bark, .cdd6-img, .fx-rings, .rr-fig, .tm4-reg, .rb-fig, .ct-rings),
  :root:root:root body.page-2026 main > :first-child :is(.hero2__img, .pano, .ip3-bark, .cdd6-img, .fx-rings, .rr-fig, .tm4-reg, .rb-fig, .ct-rings),
  :root:root:root body.cdd-article-page .cdd-intro__grid {
    animation: sv26-media-unveil .92s var(--sv26-enter-ease) .04s both;
    transform-origin: 50% 50%;
  }

  :root:root:root body.home-2026 main > :first-child :is(.h1, h1, .lead, .go, .hero2__r, .fx-open__text > *, .gv-open__t > *, .tm4-open__t > *, .ip3-door > *, .cdd6-open__t > *, .lg-open > *),
  :root:root:root body.page-2026 main > :first-child :is(.h1, h1, .lead, .go, .hero2__r, .fx-open__text > *, .gv-open__t > *, .tm4-open__t > *, .ip3-door > *, .cdd6-open__t > *, .lg-open > *),
  :root:root:root body.cdd-article-page .cdd-intro :is(.cdd-meta, .cdd-actions, .cdd-title, .cdd-dek) {
    animation: sv26-copy-rise .76s var(--sv26-enter-ease) both;
  }

  :root:root:root body.home-2026 main > :first-child :is(.lead, .hero2__r, .fx-open__text .lead, .gv-open__t .lead, .tm4-open__t .lead, .ip3-lead, .cdd6-open__t .lead, .lg-eff),
  :root:root:root body.page-2026 main > :first-child :is(.lead, .hero2__r, .fx-open__text .lead, .gv-open__t .lead, .tm4-open__t .lead, .ip3-lead, .cdd6-open__t .lead, .lg-eff),
  :root:root:root body.cdd-article-page .cdd-intro :is(.cdd-dek, .cdd-actions) {
    animation-delay: .08s;
  }

  :root:root:root body.home-2026 main > :first-child :is(.go, .cr2-links, .cdd6-links, .cdd6-facts, .ip3-form, .ip3-meta, .ip3-need, .ip3-notes),
  :root:root:root body.page-2026 main > :first-child :is(.go, .cr2-links, .cdd6-links, .cdd6-facts, .ip3-form, .ip3-meta, .ip3-need, .ip3-notes),
  :root:root:root body.cdd-article-page .cdd-intro__bar {
    animation-delay: .16s;
  }

  :root:root:root body.investor-portal-2026 .ip3-bark img,
  :root:root:root body.page-2026.insights-2026 .cdd6-img img {
    animation: none !important;
  }

  :root:root:root body.investor-portal-2026 .ip3-door > :nth-child(2) { animation-delay: .08s; }
  :root:root:root body.investor-portal-2026 .ip3-door > :nth-child(3) { animation-delay: .16s; }
  :root:root:root body.investor-portal-2026 .ip3-door > :nth-child(4) { animation-delay: .24s; }
}

@keyframes sv26-chrome-enter {
  from { opacity: .72; transform: translateY(-10px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes sv26-rail-enter {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: none; }
}

@keyframes sv26-surface-enter {
  from { opacity: .72; transform: translateY(14px); filter: blur(8px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes sv26-media-unveil {
  from { opacity: .72; clip-path: inset(8% 0 0 0); transform: scale(1.018); filter: blur(6px); }
  to { opacity: 1; clip-path: inset(0); transform: none; filter: blur(0); }
}

@keyframes sv26-copy-rise {
  from { opacity: .58; transform: translateY(12px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv-header,
  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv26-rail,
  :root:root:root body:is(.home-2026, .page-2026, .cdd-article-page) .sv26-progress,
  :root:root:root body.home-2026 main > :first-child,
  :root:root:root body.page-2026 main > :first-child,
  :root:root:root body.page-2026 main > :first-child *,
  :root:root:root body.home-2026 main > :first-child *,
  :root:root:root body.cdd-article-page .cdd-topline,
  :root:root:root body.cdd-article-page .cdd-intro,
  :root:root:root body.cdd-article-page .cdd-intro * {
    animation: none !important;
  }
}

/* Insights: China Debt Dynamics opens as a dark threshold, then resolves into the register. */
:root:root:root body.page-2026.insights-2026 main > section.cdd6-open {
  position: relative;
  isolation: isolate;
  align-items: stretch !important;
  box-sizing: border-box;
  margin-left: -18px;
  margin-right: -18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
  background: var(--sv26-night, #16120E) !important;
  color: var(--sv26-on-dark, #F4F1EA) !important;
  box-shadow: 0 0 0 100vmax var(--sv26-night, #16120E) !important;
  clip-path: inset(0 -100vmax) !important;
  overflow: visible;
}

:root:root:root body.page-2026.insights-2026 .cdd6-open__t {
  z-index: 1;
  align-content: end;
  justify-items: start;
  max-width: none !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1 {
  max-width: 12ch;
  color: var(--sv26-on-dark, #F4F1EA) !important;
  font: 400 clamp(34px, 3.5vw, 50px)/1.12 var(--sv26-face, Arial, "Helvetica Neue", Helvetica, sans-serif) !important;
  letter-spacing: -.015em !important;
  text-wrap: balance;
}

:root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead {
  max-width: 42ch !important;
  color: var(--sv26-on-dark-2, #CFC8BA) !important;
  font-size: clamp(20px, 1.45vw, 23px) !important;
  line-height: 1.55 !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-img {
  position: relative;
  align-self: stretch !important;
  max-height: none !important;
  background: var(--sv26-black, #0E0E0D) !important;
  border-left: 1px solid rgba(244, 241, 234, .18);
  overflow: hidden;
}

:root:root:root body.page-2026.insights-2026 .cdd6-img img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: 51% 29% !important;
}

:root:root:root body.page-2026.insights-2026 main > section.cdd6-latest {
  margin-top: 0 !important;
  margin-left: -18px;
  margin-right: -18px;
  padding: clamp(72px, 7vw, 112px) 0 clamp(72px, 7vw, 104px) !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box;
  background: var(--sv26-paper, #FDFCFA) !important;
  color: var(--sv26-text, #3B3732) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--sv26-rule-2, #CDC5B8);
  box-shadow: none !important;
  clip-path: none !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest__in {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  column-gap: calc(var(--gap, clamp(24px, 2.4vw, 40px)) * 2);
  row-gap: 0;
  align-items: start;
  max-width: none !important;
  padding-top: 18px;
  border-top: 1px solid var(--sv26-head, #24221F);
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl {
  grid-column: 1;
  grid-row: 1 / span 3;
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  color: var(--sv26-text-2, #6B635B) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl span {
  color: inherit !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl span:first-child {
  color: var(--sv26-head, #24221F) !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl span + span {
  margin-left: 0 !important;
  padding-left: 0 !important;
  border-left: 0 !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t,
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek,
:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-act {
  grid-column: 2;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t {
  max-width: 34ch !important;
  margin: 0;
  color: var(--sv26-head, #24221F) !important;
  font: 400 clamp(30px, 2.8vw, 42px)/1.2 var(--sv26-face, Arial, "Helvetica Neue", Helvetica, sans-serif) !important;
  letter-spacing: -.008em !important;
  text-wrap: balance;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t a {
  color: var(--sv26-head, #24221F) !important;
  text-decoration: none;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t a:hover {
  text-decoration: underline;
  text-decoration-color: var(--sv26-cinnabar, #C93B2A);
  text-underline-offset: .18em;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t a:focus-visible {
  outline: 2px solid var(--sv26-cinnabar, #C93B2A);
  outline-offset: 6px;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek {
  max-width: 54ch !important;
  margin: 18px 0 0;
  color: var(--sv26-text, #3B3732) !important;
  font-size: clamp(20px, 1.55vw, 23px) !important;
  line-height: 1.55 !important;
}

:root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-act {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 32px;
  margin: 28px 0 0;
}

:root:root:root body.page-2026.insights-2026 main .cdd6-latest .cdd4-read,
:root:root:root body.page-2026.insights-2026 main .cdd6-latest .cdd5-pdf {
  min-height: 44px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--sv26-head, #24221F) !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
  text-decoration: underline;
  text-decoration-color: var(--sv26-rule-2, #CDC5B8);
  text-underline-offset: .26em;
}

:root:root:root body.page-2026.insights-2026 main .cdd6-latest .cdd4-read {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

:root:root:root body.page-2026.insights-2026 main .cdd6-latest .cdd4-read svg {
  color: var(--sv26-cinnabar, #C93B2A);
}

:root:root:root body.page-2026.insights-2026 main .cdd6-latest :is(.cdd4-read, .cdd5-pdf):hover {
  color: var(--sv26-head, #24221F) !important;
  text-decoration-color: var(--sv26-cinnabar, #C93B2A);
}

:root:root:root body.page-2026.insights-2026 .cdd4-arc {
  padding-top: clamp(80px, 8vw, 124px);
}

:root:root:root body.page-2026.insights-2026 .cdd4-arc__head {
  align-items: start;
}

:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__controls {
  gap: 18px 32px;
}

:root:root:root body.page-2026.insights-2026 .cdd4-arc .cdd-arc__list {
  margin-top: 36px;
}

:root:root:root body.page-2026.insights-2026 .cdd4-sub {
  margin-top: clamp(96px, 9vw, 136px);
}

:root:root:root body.page-2026.insights-2026 main .cdd4-sub .research-sub__field input {
  border-color: var(--sv26-rule-2, #CDC5B8) !important;
}

@media (min-width: 1001px) {
  :root:root:root body.page-2026.insights-2026 main > section.cdd6-open {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
    column-gap: calc(var(--gap, clamp(24px, 2.4vw, 40px)) * 2) !important;
    min-height: clamp(560px, calc(100svh - 80px), 760px) !important;
    padding-top: clamp(76px, 9vh, 116px) !important;
    padding-bottom: clamp(70px, 8vh, 104px) !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t {
    padding: 0 0 clamp(6px, 2vw, 26px) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img {
    margin: calc(-1 * clamp(76px, 9vh, 116px)) calc(-1 * (var(--sv26-m, 64px) + var(--sv26-rail, 56px))) calc(-1 * clamp(70px, 8vh, 104px)) 0 !important;
    min-height: 100% !important;
  }
}

@media (max-width: 1000px) {
  :root:root:root body.page-2026.insights-2026 {
    overflow-x: hidden;
  }

  :root:root:root body.page-2026.insights-2026 main > section.cdd6-open {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% + (var(--sv26-m, 20px) * 2)) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--sv26-m, 20px)) !important;
    margin-right: calc(-1 * var(--sv26-m, 20px)) !important;
    padding: 0 var(--sv26-m, 20px) clamp(56px, 12vw, 78px) !important;
    row-gap: clamp(30px, 8vw, 42px);
    overflow: hidden;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img {
    order: -1;
    width: auto !important;
    margin: 0 calc(-1 * var(--sv26-m, 20px)) !important;
    height: clamp(280px, 48svh, 430px);
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-left: 0;
    border-bottom: 1px solid rgba(244, 241, 234, .18);
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t {
    gap: 18px !important;
    padding: 0 !important;
    width: calc(100vw - (var(--sv26-m, 20px) * 2)) !important;
    max-width: calc(100vw - (var(--sv26-m, 20px) * 2)) !important;
    min-width: 0;
    box-sizing: border-box;
    justify-self: stretch;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t > * {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t .h1 {
    font-size: clamp(34px, 10vw, 50px) !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t .lead {
    width: 100% !important;
    max-width: min(calc(100vw - (var(--sv26-m, 20px) * 2)), 22rem) !important;
    font-size: 19px !important;
    white-space: normal !important;
    overflow-wrap: break-word;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-latest__in,
  :root:root:root body.page-2026.insights-2026 .cdd4-arc__head {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl,
  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t,
  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dek,
  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-act {
    grid-column: 1;
    grid-row: auto;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-dl {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-t {
    margin-top: 2px;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-latest .cdd5-act {
    gap: 0 28px;
  }
}

/* Insights: keep the threshold image, but align the page title with the site-wide title start. */
@media (min-width: 1001px) {
  :root:root:root body.page-2026.insights-2026 main.wrap > section.cdd6-open {
    --insights-hero-top: var(--sv26-title-start, clamp(128px, 16vh, 168px));
    --insights-hero-bottom: clamp(72px, 7vw, 104px);
    grid-template-columns: minmax(0, 6fr) minmax(360px, 5fr) !important;
    column-gap: clamp(48px, 5.2vw, 84px) !important;
    min-height: clamp(560px, calc(100svh - 80px), 720px) !important;
    align-items: start !important;
    padding-top: var(--insights-hero-top) !important;
    padding-bottom: var(--insights-hero-bottom) !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-open__t {
    align-self: start !important;
    align-content: start !important;
    padding: 0 !important;
    gap: clamp(20px, 2.2vw, 30px) !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img {
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    margin: calc(-1 * var(--insights-hero-top)) calc(-1 * (var(--sv26-m, 64px) + var(--sv26-rail, 56px))) calc(-1 * var(--insights-hero-bottom)) 0 !important;
  }

  :root:root:root body.page-2026.insights-2026 .cdd6-img img {
    object-position: 50% 42% !important;
  }
}

/* Media: the lead story reads across the page (one meta line, headline, summary, link) with its photograph
   beside it, on the same margins as the archive below; one rule above the filters. */
:root:root:root body.page-2026.media-2026 .md-feat { margin-top: clamp(56px, 6vw, 88px); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured {
  display: grid; grid-template-columns: minmax(0, 1fr); column-gap: clamp(40px, 5vw, 88px); align-items: start;
  padding: clamp(28px, 3vw, 44px) 0 0; border-top: 1px solid var(--rule-2); border-bottom: 0; text-decoration: none;
}
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured--image { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__body { display: grid; gap: 18px; align-content: start; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__meta { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; font-size: 15px; line-height: 1.4; color: var(--text-2); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__meta > span { font-size: inherit; color: inherit; margin: 0; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__meta > span + span::before { content: "\00B7"; margin: 0 10px; color: var(--rule-2); }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__meta > .pr-featured__tag { color: var(--cinnabar-text, #A8321F) !important; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__title { max-width: 30ch; margin: 0; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__desc { max-width: 56ch; margin: 0; font-size: 18px; line-height: 1.6; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__read { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; justify-self: start; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__fig { display: block; margin: 0; }
:root:root:root body.page-2026.media-2026 .md-feat .pr-featured__fig img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; }
:root:root:root body.page-2026.media-2026 .md-tools { margin-top: clamp(48px, 5vw, 72px); }
:root:root:root body.page-2026.media-2026 .md-filt { padding: 18px 0; }
@media (max-width: 1000px) {
  :root:root:root body.page-2026.media-2026 .md-feat .pr-featured,
  :root:root:root body.page-2026.media-2026 .md-feat .pr-featured--image { grid-template-columns: minmax(0, 1fr) !important; row-gap: 24px; }
  :root:root:root body.page-2026.media-2026 .md-feat .pr-featured__fig { order: -1; }
}

/* ======================= Hover language (site-wide) =======================
   Hovering never draws a cinnabar underline under titles, rows or names. What you point at changes
   tone: on paper a heading warms to cinnabar ink; on the dark bands it eases to a softer white.
   Text links keep their resting hairline, which darkens to the text colour; the arrow still moves.
   Navigation keeps its current-page underline, which marks location rather than hover. */
:root:root:root body main :is(a, summary, h2, h3, h4, span, p) { transition: color .2s cubic-bezier(.16, 1, .3, 1), text-decoration-color .2s ease, border-color .2s ease; }

/* titles, row headings and names: tone only, no underline */
:root:root:root body main :is(
  .strats li a:hover .h3, .s3 a:hover .h3, .p-route:hover .h3,
  .tm-bio summary:hover, .tm4-reg li a:hover span:first-child,
  .lg-toc li a:hover, .lg-toc li a.on, .rl-toc a:hover,
  .cdd-arc__row:hover .cdd-arc__row-title, .cdd4-arc .cdd-arc__row:hover .cdd-arc__row-title,
  a.pr-featured:hover .pr-featured__title, a.press-row__item:hover .press-headline
) { text-decoration: none !important; color: var(--sv26-cinnabar-text, #A8301F) !important; }
:root:root:root body main .lg-toc li a.on { color: var(--sv26-head) !important; }
:root:root:root body main :is(.cdd5-t a, .cdd6-latest .cdd5-t a):hover { text-decoration: none !important; color: var(--sv26-cinnabar-text, #A8301F) !important; }

/* the same on the dark bands */
:root:root:root body main :is(.dk, .night, .band.night, .cdd6-latest) :is(
  .r4__t a:hover, .r4__list a:hover .r4__rt, .recent a:hover span, .cdd5-t a:hover
) { text-decoration: none !important; color: var(--sv26-on-dark-2, #CFC8BA) !important; }

/* arrow links: the resting hairline darkens to the label colour instead of turning red */
:root:root:root body .go:hover span,
:root:root:root body main :is(.cdd6-links, .rs, .dk, .night) .go:hover span { border-bottom-color: currentColor !important; }

/* links in running text and quiet text links: the underline darkens; it never turns red */
:root:root:root body main a:hover { text-decoration-color: currentColor !important; }
:root:root:root body main :is(.tm-li, .tm-drawer__x, .pr-more, .pr-events__more-btn, .cdd4-pdf, .cdd-arc__read, .cdd-arc__pdf, .cdd-arc__closer-sub, .cdd4-read, .cdd5-pdf, .rl-notes a):hover { text-decoration-color: currentColor !important; }

/* footer: links brighten; no underline */
:root:root:root body .sv-footer a:hover { text-decoration: none !important; color: #FFFFFF !important; }

@media (prefers-reduced-motion: reduce) {
  :root:root:root body main :is(a, summary, h2, h3, h4, span, p) { transition: none; }
}

/* ======================= Insights: the current issue =======================
   Set on the archive's own grid (a 1:3 split with a doubled gap) so the current issue and the archive
   below read as one register: issue particulars as a ruled list in the narrow column, the title,
   standfirst and the issue page's two document buttons in the wide one. */
:root:root:root body.page-2026.insights-2026 main > section.cdd7-latest {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); column-gap: calc(var(--gap) * 2); align-items: start;
  margin: clamp(80px, 7vw, 112px) 0 0 !important; padding: 0 !important;
  border-top: 1px solid var(--sv26-head) !important; background: none !important;
}
.cdd7-reg { margin: 0; }
.cdd7-reg div { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); column-gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--sv26-rule); }
.cdd7-reg dt { font-size: 15px; line-height: 1.45; color: var(--sv26-text-2); }
.cdd7-reg dd { margin: 0; font-size: 15px; line-height: 1.45; color: var(--sv26-head); }
.cdd7-main { display: grid; gap: 22px; justify-items: start; padding-top: 26px; }
:root:root:root body main .cdd7-t { margin: 0; max-width: 26ch; font-weight: 400; font-size: clamp(30px, 2.8vw, 42px); line-height: 1.2; letter-spacing: -.008em; color: var(--sv26-head); text-wrap: balance; }
:root:root:root body main .cdd7-t a { color: inherit; text-decoration: none; }
:root:root:root body main .cdd7-t a:hover { color: var(--sv26-cinnabar-text, #A8301F) !important; text-decoration: none !important; }
.cdd7-dek { margin: 0; max-width: 46rem; font-size: clamp(19px, 1.5vw, 21px); line-height: 1.55; color: var(--sv26-text); text-wrap: pretty; }
.cdd7-act { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
:root:root:root body main a.cdd7-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 18px; box-sizing: border-box; border: 1px solid var(--sv26-head); background: transparent; color: var(--sv26-head); font-size: 16px; line-height: 1.2; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
:root:root:root body main a.cdd7-btn:hover { background: var(--sv26-head); color: var(--sv26-paper); }
:root:root:root body main a.cdd7-btn--solid { background: var(--sv26-head); color: var(--sv26-paper); }
:root:root:root body main a.cdd7-btn--solid:hover { background: #000; border-color: #000; color: var(--sv26-paper); }
.cdd7-btn svg { width: 14px; height: 14px; flex: none; transition: transform .25s cubic-bezier(.16, 1, .3, 1); }
.cdd7-btn:hover svg { transform: translateX(3px); }
:root:root:root body main a.cdd7-btn:focus-visible { outline: 2px solid var(--sv26-cinnabar); outline-offset: 3px; }
@media (max-width: 1000px) {
  :root:root:root body.page-2026.insights-2026 main > section.cdd7-latest { grid-template-columns: minmax(0, 1fr); margin-top: 64px !important; }
  .cdd7-main { padding-top: 28px; }
  .cdd7-t { font-size: clamp(28px, 7.4vw, 34px) !important; }
}
@media (prefers-reduced-motion: reduce) { .cdd7-btn svg { transition: none; } }

/* ======================= Footer (site-wide) =======================
   Same content, set as a register: brand, contact and LinkedIn in the narrow column; the site's pages
   as a three-column grid in the wide one; disclosures beneath a hairline; legal links and the cookie
   control as one quiet row with the copyright opposite. Matches the page grid (1:2) and its margins. */
:root:root:root body .sv-footer { padding: clamp(64px, 6vw, 88px) 0 32px !important; }
:root:root:root body .sv-footer__top {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); grid-template-rows: auto 1fr;
  column-gap: calc(var(--sv26-gap, clamp(24px, 2.4vw, 40px)) * 2) !important; row-gap: 22px !important; align-items: start;
  padding-bottom: clamp(48px, 4.4vw, 64px) !important;
}
:root:root:root body .sv-footer__top > div:first-child { grid-column: 1; grid-row: 1; display: grid !important; gap: 22px; justify-items: start; }
:root:root:root body .sv-footer__logo img { height: 32px !important; }
:root:root:root body .sv-footer__offices { font-size: 16px !important; line-height: 1.4; }
:root:root:root body .sv-footer__offices a { border: 0 !important; padding: 0 !important; color: var(--sv26-on-dark) !important; }
:root:root:root body .sv-footer__offices a:hover { color: #FFFFFF !important; }
:root:root:root body .sv-footer__social { grid-column: 1; grid-row: 2; align-self: end; justify-self: start; display: block !important; }
:root:root:root body .sv-footer__social-link { display: inline-flex !important; align-items: center; gap: 10px; color: var(--sv26-on-dark-2) !important; }
:root:root:root body .sv-footer__social-icon { display: block !important; width: 16px; height: 16px; fill: currentColor; }
:root:root:root body .sv-footer__social-link:hover { color: #FFFFFF !important; }
:root:root:root body .sv-footer__nav {
  grid-column: 2; grid-row: 1 / span 2; margin: 0 !important;
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 calc(var(--sv26-gap, 32px)) !important;
  border-top: 1px solid rgba(244, 241, 234, .18);
}
:root:root:root body .sv-footer__nav a {
  display: flex !important; align-items: center; justify-content: flex-start !important; text-align: left !important; width: 100%; min-height: 48px; box-sizing: border-box; margin: 0 !important;
  border-bottom: 1px solid rgba(244, 241, 234, .1) !important; font-size: 16px !important; line-height: 1.3;
}
:root:root:root body .sv-footer__legal { margin: 0 !important; padding: 28px 0 0 !important; border-top: 1px solid rgba(244, 241, 234, .18) !important; gap: 12px calc(var(--sv26-gap, 32px) * 2) !important; }
:root:root:root body .sv-footer__legal p { line-height: 1.6 !important; color: rgba(207, 200, 186, .86) !important; }
:root:root:root body .sv-footer__bottom { margin-top: 36px !important; padding: 18px 0 0 !important; border-top: 1px solid rgba(244, 241, 234, .1) !important; align-items: center !important; }
:root:root:root body .sv-footer__links { gap: 8px 24px !important; align-items: center; }
:root:root:root body .sv-footer__links a,
:root:root:root body .sv-footer .sv-cookie-settings-button {
  font: inherit !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--sv26-on-dark-2) !important;
  text-decoration: none !important; outline-offset: 3px;
}
:root:root:root body .sv-footer__links a:hover,
:root:root:root body .sv-footer .sv-cookie-settings-button:hover { color: #FFFFFF !important; outline: 0 !important; }
:root:root:root body .sv-footer .sv-cookie-settings-button:focus-visible { outline: 2px solid var(--sv26-cinnabar) !important; color: #FFFFFF !important; }
:root:root:root body .sv-footer__copy { color: rgba(207, 200, 186, .86) !important; }
@media (max-width: 1000px) {
  :root:root:root body .sv-footer { padding-top: 56px !important; }
  :root:root:root body .sv-footer__top { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 32px !important; padding-bottom: 40px !important; }
  :root:root:root body .sv-footer__top > div:first-child,
  :root:root:root body .sv-footer__nav,
  :root:root:root body .sv-footer__social { grid-column: 1; grid-row: auto; }
  :root:root:root body .sv-footer__top > div:first-child { order: 1; }
  :root:root:root body .sv-footer__nav { order: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); width: auto; }
  :root:root:root body .sv-footer__nav a { min-height: 44px; }
  :root:root:root body .sv-footer__social { order: 3; }
  :root:root:root body .sv-footer__links { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px !important; width: 100%; }
  :root:root:root body .sv-footer__links > * { min-height: 44px; display: flex !important; align-items: center; text-align: left; justify-content: flex-start; padding: 0 !important; }
  :root:root:root body .sv-footer__copy { margin-top: 18px !important; }
}

/* Footer, refined: one 1:2 register top to bottom, so every block hangs from the same vertical line.
   Left column: brand list (logo / General inquiries / LinkedIn) ruled like the nav beside it;
   then the copyright. Right column: the nav grid, the disclosures, the legal links. */
@media (min-width: 1001px) {
  :root:root:root body .sv-footer__top,
  :root:root:root body .sv-footer__legal,
  :root:root:root body .sv-footer__bottom {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
    column-gap: calc(var(--sv26-gap, clamp(24px, 2.4vw, 40px)) * 2) !important;
  }
  :root:root:root body .sv-footer__top { grid-template-rows: repeat(3, 48px); row-gap: 0 !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
  :root:root:root body .sv-footer__top > div:first-child { display: contents !important; }
  :root:root:root body .sv-footer__logo,
  :root:root:root body .sv-footer__offices,
  :root:root:root body .sv-footer__social { grid-column: 1; display: flex !important; align-items: center; margin: 0 !important; border-bottom: 1px solid rgba(244, 241, 234, .1); }
  :root:root:root body .sv-footer__logo { grid-row: 1; border-top: 1px solid rgba(244, 241, 234, .18); }
  :root:root:root body .sv-footer__logo img { height: 26px !important; }
  :root:root:root body .sv-footer__offices { grid-row: 2; }
  :root:root:root body .sv-footer__social { grid-row: 3; }
  :root:root:root body :is(.sv-footer__logo, .sv-footer__offices, .sv-footer__social) { align-self: stretch !important; justify-self: stretch !important; height: 48px; box-sizing: border-box; }
  :root:root:root body .sv-footer__social-link { height: 100%; }
  :root:root:root body .sv-footer__nav { grid-row: 1 / span 3; grid-auto-rows: 48px; }
  :root:root:root body .sv-footer__nav a { min-height: 0; height: 48px; }

  :root:root:root body .sv-footer__legal { margin-top: 56px !important; padding-top: 0 !important; border-top: 0 !important; row-gap: 12px !important; }
  :root:root:root body .sv-footer__legal p { grid-column: 2; max-width: 60rem !important; }

  :root:root:root body .sv-footer__bottom { margin-top: 40px !important; padding-top: 18px !important; align-items: center !important; }
  :root:root:root body .sv-footer__copy { grid-column: 1; grid-row: 1; margin: 0 !important; }
  :root:root:root body .sv-footer__links { grid-column: 2; grid-row: 1; }
}

/* ======================= Contact, refined =======================
   Opening: a shorter split (text and photograph balanced, the register arrives within the first scroll).
   Inquiries: one ruled register on the page's 1:2 grid; addresses in a left-aligned column of their own,
   in the text colour with a stone underline (green belongs to the page headline alone).
   Form: starts on its heading's rule; the primary button is the system's dark fill, not green. */
@media (min-width: 1001px) {
  :root:root:root body.contact-2026 .ct4-list li {
    display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, .8fr) !important;
    column-gap: calc(var(--sv26-gap, 32px) * 2) !important; align-items: baseline !important;
  }
  :root:root:root body.contact-2026 .ct4-list li > * { grid-row: 1; }
}
:root:root:root body.contact-2026 .ct4-a { display: grid !important; justify-items: start !important; justify-content: start !important; gap: 10px !important; text-align: left !important; }
:root:root:root body.contact-2026 .ct4-a > a:not(.go) {
  color: var(--sv26-head) !important; font-size: 17px; line-height: 1.4;
  text-decoration: underline !important; text-decoration-color: var(--sv26-rule-2) !important; text-decoration-thickness: 1px; text-underline-offset: .28em; border: 0 !important;
}
:root:root:root body.contact-2026 .ct4-a > a:not(.go):hover { text-decoration-color: currentColor !important; }
:root:root:root body.contact-2026 .ct4-a > .go { margin: 0 !important; }

:root:root:root body.contact-2026 .ct4-f { padding-top: 22px; border-top: 1px solid var(--sv26-head); }
:root:root:root body.contact-2026 .ct4-head--form { padding-top: 0 !important; }
:root:root:root body.contact-2026 .cp-form__submit {
  display: inline-flex !important; align-items: center; gap: 12px; min-height: 48px !important; padding: 0 22px !important;
  background: var(--sv26-head) !important; border: 1px solid var(--sv26-head) !important; color: var(--sv26-paper) !important; border-radius: 0 !important;
  font-size: 16px !important; transition: background-color .15s ease;
}
:root:root:root body.contact-2026 .cp-form__submit:hover { background: #000 !important; border-color: #000 !important; }
:root:root:root body.contact-2026 .cp-form__submit:focus-visible { outline: 2px solid var(--sv26-cinnabar) !important; outline-offset: 3px !important; }
:root:root:root body.contact-2026 .cp-form :is(input, select, textarea) { border-color: var(--sv26-xuan-rule, #DCD2B9) !important; }
:root:root:root body.contact-2026 .cp-form :is(input, select, textarea):focus { border-color: var(--sv26-head) !important; outline: 0 !important; box-shadow: inset 0 0 0 1px var(--sv26-head) !important; }
:root:root:root body.contact-2026 .hero2__r .cr2-links .go span { color: var(--sv26-text) !important; }

/* Contact opening = the Insights opening: a 6:5 grid with a doubled gap; the headline on the shared title
   line; the photograph a 3:4 portrait in the second column that bleeds past the margin and the section
   rail to the window edge, its height setting the opening's height. */
@media (min-width: 1001px) {
  :root:root:root body.contact-2026 main > section.contact-eaves-hero,
  :root:root:root body.careers-2026 main > section.careers-image-hero {
    display: grid !important; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr) !important; column-gap: 5.2vw !important;
    align-items: start !important; height: auto !important; min-height: 0 !important; padding: 0 !important; margin-top: 0 !important; overflow: visible !important;
  }
  :root:root:root body.contact-2026 .contact-eaves-hero .hero2__text,
  :root:root:root body.careers-2026 .careers-image-hero .gv-open__t {
    grid-column: 1 !important; grid-row: 1 !important; align-self: start !important; display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 28px !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: var(--sv26-title-start) 0 64px !important;
  }
  :root:root:root body.contact-2026 .contact-eaves-hero .hero2__text > *,
  :root:root:root body.careers-2026 .careers-image-hero .gv-open__t > * { grid-column: 1 !important; max-width: 34rem !important; }
  :root:root:root body.contact-2026 .contact-eaves-hero .hero2__img,
  :root:root:root body.careers-2026 .careers-image-hero .rr-fig {
    grid-column: 2 !important; grid-row: 1 !important; position: relative !important; inset: auto !important; transform: none !important;
    width: auto !important; max-width: none !important; height: auto !important; min-height: 0 !important; aspect-ratio: 3 / 4;
    align-self: start !important; justify-self: stretch !important;
    margin: 0 calc(-1 * (var(--sv26-m, 64px) + var(--sv26-rail, 56px))) 0 0 !important; overflow: hidden !important;
  }
  :root:root:root body.contact-2026 .contact-eaves-hero .hero2__img img,
  :root:root:root body.careers-2026 .careers-image-hero .rr-fig img {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important;
    min-height: 0 !important; object-fit: cover !important; object-position: 50% 40% !important; transform: none !important;
  }
}

:root:root:root body.careers-2026 .careers-image-hero .rr-fig img { object-position: 75% 50% !important; }

@media (max-width: 1000px) {
  :root:root:root body.careers-2026 main > section.careers-image-hero {
    padding: 30px 0 0 !important; min-height: 0 !important; row-gap: 32px; overflow: visible !important;
  }
  :root:root:root body.careers-2026 .careers-image-hero .gv-open__t {
    grid-column: 1; grid-row: 2; width: 100% !important; max-width: 100% !important;
    padding: clamp(72px, 9vh, 120px) 0 0;
  }
  :root:root:root body.careers-2026 .careers-image-hero .gv-open__t > * { width: 100%; max-width: 100% !important; }
  :root:root:root body.careers-2026 .careers-image-hero .rr-fig {
    grid-column: 1; grid-row: 1; position: relative; width: auto; max-width: none; min-width: 0;
    justify-self: stretch; aspect-ratio: 16 / 9; overflow: hidden;
    margin: 0 calc(-1 * var(--sv26-m));
  }
  :root:root:root body.careers-2026 .careers-image-hero .rr-fig img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  }
}

/* Contact: Send an inquiry. The heading starts the same distance below its rule as the form opposite;
   the left column closes with the direct address; fields keep one rhythm (8px label to field, 24px between
   groups); the page ends on the band, meeting the footer with no strip of paper between. */
:root:root:root body.contact-2026 main { padding-bottom: 0 !important; }
:root:root:root body.contact-2026 main > section:last-child { margin-bottom: 0 !important; }
:root:root:root body.contact-2026 .ct4-head--form { padding-top: 22px !important; border-top: 1px solid var(--sv26-head) !important; display: grid; gap: 18px; align-content: start; }
:root:root:root body.contact-2026 .ct4-head--form .h2 { margin: 0 !important; }
:root:root:root body.contact-2026 .ct4-head--form .sub { margin: 0 !important; max-width: 24rem; }
:root:root:root body.contact-2026 .ct4-alt { margin: 10px 0 0 !important; padding-top: 18px; border-top: 1px solid var(--sv26-xuan-rule, #DCD2B9); max-width: 24rem; font-size: 16px; line-height: 1.55; color: var(--sv26-text); }
:root:root:root body.contact-2026 .ct4-alt a { color: var(--sv26-head) !important; text-decoration: underline !important; text-decoration-color: var(--sv26-rule-2) !important; text-underline-offset: .28em; }
:root:root:root body.contact-2026 .ct4-alt a:hover { text-decoration-color: currentColor !important; }
:root:root:root body.contact-2026 .ct4-form { display: grid !important; row-gap: 24px !important; }
:root:root:root body.contact-2026 .ct4-form .cp-form__row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px !important; row-gap: 24px !important; margin: 0 !important; }
:root:root:root body.contact-2026 .ct4-form .cp-field { display: grid !important; gap: 8px !important; margin: 0 !important; }
:root:root:root body.contact-2026 .ct4-form label { font-size: 15px !important; line-height: 1.4 !important; color: var(--sv26-head) !important; margin: 0 !important; }
:root:root:root body.contact-2026 .ct4-form :is(input, select) { height: 52px !important; }
:root:root:root body.contact-2026 .ct4-send { margin-top: 8px !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 16px 24px !important; }
@media (max-width: 1000px) {
  :root:root:root body.contact-2026 .ct4-form .cp-form__row { grid-template-columns: minmax(0, 1fr); }
  :root:root:root body.contact-2026 .ct4-head--form .sub, :root:root:root body.contact-2026 .ct4-alt { max-width: none; }
}

/* ======================= Insights: subscribe band =======================
   On the archive's grid (1:3, doubled gap): heading and line in the narrow column, the form in the wide one
   with visible labels like the Contact form, the system's dark button with the drawn arrow; the notice as a
   ruled register row (label | text) that closes the band on the same grid. */
:root:root:root body.page-2026.insights-2026 .cdd4-sub__in {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) !important; column-gap: calc(var(--gap) * 2) !important;
  align-items: start !important; padding-top: 22px !important; border-top: 1px solid var(--sv26-head) !important;
}
:root:root:root body.page-2026.insights-2026 .cdd4-sub__in > div { display: grid; gap: 14px; }
:root:root:root body.page-2026.insights-2026 .cdd4-sub__in .h2 { margin: 0 !important; font-size: clamp(24px, 2vw, 28px) !important; line-height: 1.25 !important; }
:root:root:root body.page-2026.insights-2026 .cdd4-sub__in .sub { margin: 0 !important; font-size: 16px !important; line-height: 1.55 !important; color: var(--sv26-text-2) !important; max-width: 22rem; }
:root:root:root body.page-2026.insights-2026 .research-sub__form {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important; column-gap: 16px !important; align-items: end !important;
  width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__field { display: grid !important; gap: 8px !important; margin: 0 !important; border: 0 !important; }
:root:root:root body.page-2026.insights-2026 .research-sub__label { font-size: 15px; line-height: 1.4; color: var(--sv26-head); }
:root:root:root body.page-2026.insights-2026 .research-sub__field input {
  height: 52px !important; width: 100% !important; box-sizing: border-box; padding: 0 14px !important; font-size: 17px !important;
  background: #fff !important; border: 1px solid var(--sv26-xuan-rule, #DCD2B9) !important; border-radius: 0 !important; color: var(--sv26-head) !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__field input:focus { border-color: var(--sv26-head) !important; box-shadow: inset 0 0 0 1px var(--sv26-head) !important; outline: 0 !important; }
:root:root:root body.page-2026.insights-2026 .research-sub__submit {
  display: inline-flex !important; align-items: center; gap: 12px; height: 52px !important; padding: 0 22px !important; margin: 0 !important;
  background: var(--sv26-head) !important; border: 1px solid var(--sv26-head) !important; color: var(--sv26-paper) !important; border-radius: 0 !important;
  font-size: 16px !important; cursor: pointer; transition: background-color .15s ease;
}
:root:root:root body.page-2026.insights-2026 .research-sub__submit svg { width: 14px; height: 14px; transition: transform .25s cubic-bezier(.16, 1, .3, 1); }
:root:root:root body.page-2026.insights-2026 .research-sub__submit:hover { background: #000 !important; border-color: #000 !important; }
:root:root:root body.page-2026.insights-2026 .research-sub__submit:hover svg { transform: translateX(3px); }
:root:root:root body.page-2026.insights-2026 .research-sub__submit:focus-visible { outline: 2px solid var(--sv26-cinnabar) !important; outline-offset: 3px !important; }
:root:root:root body.page-2026.insights-2026 .research-sub__notice {
  display: block !important; margin: clamp(48px, 4vw, 64px) 0 0 !important; padding: 16px 0 0 !important; width: auto !important; max-width: none !important;
  border-top: 1px solid var(--sv26-xuan-rule, #DCD2B9) !important; background: none !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__notice p {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); column-gap: calc(var(--gap) * 2);
  margin: 0 !important; max-width: none !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--sv26-text-2) !important;
}
:root:root:root body.page-2026.insights-2026 .research-sub__notice p > span { color: var(--sv26-head) !important; font-size: 14px !important; margin: 0 !important; }
@media (max-width: 1000px) {
  :root:root:root body.page-2026.insights-2026 .cdd4-sub__in { grid-template-columns: minmax(0, 1fr) !important; row-gap: 28px !important; }
  :root:root:root body.page-2026.insights-2026 .research-sub__form { grid-template-columns: minmax(0, 1fr) !important; row-gap: 16px !important; }
  :root:root:root body.page-2026.insights-2026 .research-sub__submit { justify-self: start; }
  :root:root:root body.page-2026.insights-2026 .research-sub__notice p { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
}
:root:root:root body.page-2026.insights-2026 .research-sub__notice p, :root:root:root body.page-2026.insights-2026 .research-sub__notice p > span { padding: 0 !important; margin: 0 !important; text-indent: 0 !important; }
:root:root:root body.page-2026.insights-2026 main .research-sub__notice.cdd4-note { padding-left: 0 !important; padding-right: 0 !important; }

:root:root:root body.page-2026.media-2026 .hero2--page .hero2__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60% !important; }
:root:root:root body.page-2026.media-2026 .hero2__r .sub a { color: var(--sv26-head) !important; text-decoration: underline !important; text-decoration-color: var(--sv26-rule-2) !important; text-underline-offset: .28em; }
:root:root:root body.page-2026.media-2026 .hero2__r .sub a:hover { text-decoration-color: currentColor !important; }

:root:root:root body.page-2026.firm-2026 .hero2--page .hero2__img img { object-position: 50% 60%; }
