/* C-POLAR Strategic Review visual system — UI-only override. */
@font-face {
  font-family: "CP Montserrat";
  src: url("/assets/fonts/Montserrat-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Definitive deck-theme pass: override inherited scoped and inline styles. */
html,
body,
button,
input,
textarea,
select,
option {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

header nav a,
header nav a.on,
header nav a[aria-current="page"],
header .menu,
.cp-site-nav a,
.cp-site-nav button,
.cp-menu,
.cp-menu a,
.cp-menu button {
  color: #000 !important;
}

header nav a.on,
header nav a[aria-current="page"] {
  border-bottom-color: #000 !important;
}

header nav a::after,
header nav a::before,
.cp-site-nav a::after,
.cp-site-nav a::before {
  background-color: #000 !important;
  border-color: #000 !important;
}

main :where(p, a, button, li, label, small, span, strong, em),
.hero-transition,
.buttons-container,
.cp-ink,
.cp-room-sub,
#cp-answer,
#cp-answer p,
[data-cp-section],
[data-cp-textblock],
[data-cp-copy],
[data-cp-morebtn],
[data-cp-divisions],
.scroll-to-cta-content-dk,
.read-more-button {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  color: #000 !important;
}

main :where(h1, h2, h3),
.cp-app-title,
.cp-a1,
.cp-room-title,
.cp-scope-title,
.tackle-title,
[data-cp-divisions] > .grid > h2,
[data-chapter="WhoWeAre"] h2,
[data-chapter="WhatWeDo"] h2,
#cp-footer h2 {
  font-family: "CP Anton", Impact, sans-serif !important;
  font-weight: 400 !important;
  color: #000 !important;
  letter-spacing: -.015em !important;
}

.cp-a2,
.cp-cap,
.cp-scope-copy,
.cp-app-copy,
.cp-intro,
.cp-room-copy,
.cp-tackle-row,
.cp-tackle-row li,
.cp-scope-card,
.cp-scope-card * {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  color: #000 !important;
}

.read-more-button,
.read-more-button::before,
.read-more-button::after,
.read-more-button .arrow,
.scroll-to-cta-content-dk,
.scroll-to-cta-content-dk svg,
.buttons-container button,
.link-block {
  border-color: #000 !important;
  color: #000 !important;
}

.read-more-button svg,
.scroll-to-cta-content-dk svg,
.buttons-container svg,
.link-block svg {
  color: #000 !important;
  fill: #000 !important;
  stroke: #000 !important;
}

header .contact,
header .contact *,
.cp-apps-row a:hover,
.cp-apps-row a:focus-visible,
.cp-tackle-row li.is-active,
.cp-tackle-row li.is-active *,
.cp-tackle-row li:hover,
.cp-tackle-row li:hover *,
.cp-scope-card.is-active,
.cp-scope-card.is-active *,
.cp-scope-card:hover,
.cp-scope-card:hover * {
  color: #fff !important;
}

#cp-footer h2,
#cp-footer h3,
#cp-footer p,
#cp-footer a,
#cp-footer span,
#cp-footer label,
#cp-footer small,
.cp-footer h2,
.cp-footer h3,
.cp-footer p,
.cp-footer a,
.cp-footer span,
.cp-footer label,
.cp-footer small {
  color: #fff !important;
}

#cp-footer button,
#cp-footer button *,
.cp-footer button,
.cp-footer button * {
  color: #000 !important;
}

input::placeholder,
textarea::placeholder {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  color: currentColor !important;
  opacity: .62 !important;
}

svg [style*="2d628c"],
svg [style*="2D628C"],
svg [style*="36719e"],
svg [style*="16476a"] {
  color: #000 !important;
  fill: #000 !important;
  stroke: #000 !important;
}

/* White chapter markers remain white over dark photographic frames. */
.division-index.white {
  color: #fff !important;
  border-color: #fff !important;
}

/* Final rendered-state guard: legacy component pseudo-elements live outside
   the normal text/SVG cascade, so they must be neutralised explicitly. */
.hero-transition[data-cp-titles] .title[data-cp-titles]::before,
.hero-transition[data-cp-titles] .title[data-cp-titles]:not(:first-child)::before,
.hero[data-cp-hero] .fs-cta-s[data-cp-hero]::before,
.hero[data-cp-hero][data-theme="dark"] .hero-inner[data-cp-hero]
  .scroll-to-cta[data-cp-hero] .fs-cta-s[data-cp-hero]::before,
.hero[data-cp-hero][data-theme="light"] .hero-inner[data-cp-hero]
  .scroll-to-cta[data-cp-hero] .fs-cta-s[data-cp-hero]::before {
  background-color: #000 !important;
}

.hero[data-cp-hero] .scroll-to-cta[data-cp-hero],
.hero[data-cp-hero] .scroll-to-cta[data-cp-hero] *,
.hero-transition[data-cp-titles],
.hero-transition[data-cp-titles] * {
  color: #000 !important;
}

/* Deck-system cleanup for legacy interactive component paint. */
button,
input,
textarea,
select,
option,
::placeholder {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

::placeholder {
  color: rgba(0, 0, 0, 0.52) !important;
}

#cp-footer ::placeholder {
  color: rgba(255, 255, 255, 0.64) !important;
}

.cp-apps-row a,
.cp-hero .cp-apps a {
  color: #000 !important;
  border-color: rgba(0, 0, 0, 0.36) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.cp-apps-row a:hover,
.cp-apps-row a:focus-visible,
.cp-hero .cp-apps a:hover,
.cp-hero .cp-apps a:focus-visible {
  color: #fff !important;
  border-color: #000 !important;
  background: #000 !important;
  opacity: 1 !important;
}

.cp-scope {
  background: #fff !important;
  box-shadow:
    0 22px 54px -26px rgba(0, 0, 0, 0.28),
    0 1px 8px rgba(0, 0, 0, 0.10) !important;
}

.cp-scope-ring {
  border-color: #000 !important;
  box-shadow:
    inset 0 0 0 8px #000,
    inset 0 0 0 10px rgba(255, 255, 255, 0.90),
    inset 0 0 36px -14px rgba(0, 0, 0, 0.32) !important;
}

.cp-scope-card,
.cp-scope-card *,
.cp-tackle-label,
.cp-app-mark,
.cp-app-title,
.cp-app-copy,
.cp-app-copy:empty::before {
  color: #000 !important;
}

.cp-tackle-row li,
.cp-tackle-row a {
  color: #000 !important;
  border-color: rgba(0, 0, 0, 0.42) !important;
  background: rgba(255, 255, 255, 0.72) !important;
}

.cp-tackle-row li:hover,
.cp-tackle-row li:focus-within,
.cp-tackle-row li.is-on,
.cp-tackle-row li.is-active,
.cp-tackle-row a:hover,
.cp-tackle-row a:focus-visible,
.cp-tackle-row a[aria-current="page"] {
  color: #fff !important;
  border-color: #000 !important;
  background: #000 !important;
}

.cp-tackle-row li:hover *,
.cp-tackle-row li:focus-within *,
.cp-tackle-row li.is-on *,
.cp-tackle-row li.is-active *,
.cp-tackle-row a:hover *,
.cp-tackle-row a:focus-visible *,
.cp-tackle-row a[aria-current="page"] * {
  color: #fff !important;
}

.cp-diamond,
.cp-app-mark,
.cp-progress-line,
.cp-progress-track {
  border-color: #000 !important;
  color: #000 !important;
}

.read-more-button,
.cp-app-cta,
.cp-link-arrow {
  color: #000 !important;
  border-color: #000 !important;
}

.read-more-button:hover,
.read-more-button:focus-visible,
.cp-app-cta:hover,
.cp-app-cta:focus-visible {
  color: #fff !important;
  background: #000 !important;
}

.scroll-top,
.scroll-top svg,
.scroll-top svg path,
.scroll-top svg line,
.scroll-top svg polyline {
  color: #000 !important;
  fill: none;
  stroke: currentColor !important;
}

body *::before,
body *::after {
  font-family: inherit;
}

/* Runtime typography/color lock. Some inherited Astro components inject
   scoped declarations after their base stylesheet. Keep this final source
   rule explicit so every visible UI label resolves to the deck system. */
body :where(
  p, a, button, input, textarea, select, option, label, li, dt, dd,
  small, strong, em, span, nav, header, main, section, article, footer
) {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  color: #000 !important;
}

body :where(h1, h2, h3, h4, h5, h6),
body :where(h1, h2, h3, h4, h5, h6) * {
  font-family: "CP Anton", Impact, sans-serif !important;
  font-weight: 400 !important;
  color: #000 !important;
}

body :where(svg, svg *) {
  --cp-ui-ink: #000;
}

body :where(svg [fill="#2d628c"], svg [fill="#2D628C"], svg [fill="#12405f"], svg [fill="#24567e"]) {
  fill: #000 !important;
}

body :where(svg [stroke="#2d628c"], svg [stroke="#2D628C"], svg [stroke="#12405f"], svg [stroke="#24567e"]) {
  stroke: #000 !important;
}

header .contact,
header .contact *,
.cp-site-nav .contact,
.cp-site-nav .contact *,
.cp-apps-row a:hover,
.cp-apps-row a:focus-visible,
.cp-tackle-row li.is-active,
.cp-tackle-row li.is-active *,
.cp-tackle-row li:hover,
.cp-tackle-row li:hover * {
  color: #fff !important;
}

#cp-footer,
#cp-footer :where(h1, h2, h3, h4, h5, h6, p, a, label, li, small, strong, em, span),
.cp-footer,
.cp-footer :where(h1, h2, h3, h4, h5, h6, p, a, label, li, small, strong, em, span) {
  color: #fff !important;
}

#cp-footer :where(input, textarea, select, option, button),
.cp-footer :where(input, textarea, select, option, button) {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

@font-face {
  font-family: "CP Anton";
  src: url("/assets/fonts/Anton-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --deck-black: #000000;
  --deck-white: #ffffff;
  --deck-ice: #dce7ee;
  --deck-blue: #8caabc;
  --deck-orange: #df5d40;
  --cp-ink: #000000;
  --cp-blue: #000000;
  --ink: #000000;
  --ink-strong: #000000;
  --ink-mid: #000000;
  --ink-soft: #000000;
  --ink-line: #000000;
  --ink-bold: #000000;
  --ink-rgb: 0, 0, 0;
  --rule: rgba(0, 0, 0, .3);
  --rule-faint: rgba(0, 0, 0, .16);
  --border-button: rgba(0, 0, 0, .34);
  --border-hover: rgba(0, 0, 0, .62);
  --fill-hover: rgba(0, 0, 0, .08);
  --font: "CP Montserrat", Montserrat, Arial, sans-serif;
  --font-alt: "CP Montserrat", Montserrat, Arial, sans-serif;
  --font-mono: "CP Montserrat", Montserrat, Arial, sans-serif;
}

html,
body,
button,
input,
textarea,
select {
  color: var(--deck-black) !important;
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

body {
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: geometricPrecision;
}

/* Raster brand artwork carries the legacy blue in its pixels. Keep the
   approved artwork geometry, but force the rendered mark to deck black. */
.cp-logo,
img[src*="cpolar.png"] {
  filter: grayscale(1) brightness(0) !important;
}

/* Remove every inherited typeface and blue ink from the previous UI. */
.cp-hero,
.cp-hero *,
.cp-room-sub,
.menu-links-w,
.menu-links-w *,
.news-w,
.news-w *,
.menu-cta,
.counter,
.scroll-to-cta,
.scroll-to-cta *,
[data-chapter] p,
[data-chapter] span,
[data-chapter] a,
[data-chapter] button,
#cp-answer,
#cp-answer *,
.cp-scope-card,
.cp-scope-card *,
.cp-tackle,
.cp-tackle *,
.cp-app-mark,
.cp-app-copy,
.cp-menu,
.cp-menu *,
.hero-transition,
.hero-transition *,
.buttons-container,
.buttons-container *,
.link-block,
.fs-cta-s,
.fs-s2,
.terms-link {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

.cp-hero,
.cp-intro,
.cp-intro strong,
.cp-apps-label,
.cp-room-sub,
[data-chapter="WhoWeAre"] h2,
[data-chapter="WhoWeAre"] p,
[data-chapter="WhoWeAre"] span,
[data-chapter="WhoWeAre"] a,
[data-chapter="WhatWeDo"] h2,
[data-chapter="WhatWeDo"] p,
[data-chapter="WhatWeDo"] span,
#cp-answer,
#cp-answer p,
.cp-a1,
.cp-a2,
.cp-cap,
.cp-scope-card,
.cp-scope-card b,
.cp-scope-card span,
.cp-tackle-label,
.cp-tackle-row li,
.cp-app-mark,
.cp-app-title,
.cp-app-copy,
.cp-app-copy:empty::before,
.scroll-to-cta,
.scroll-to-cta span,
.cp-ink {
  color: #000000 !important;
}

/* Remaining legacy components set blue directly instead of reading tokens. */
header .menu,
.menu,
.cp-room-sub,
.menu-links-w,
.news-w,
.menu-cta,
.counter,
.link-block,
.buttons-container,
.fs-cta-s,
.fs-s2,
.terms-link,
.hero-transition,
.hero-transition .title,
.hero-transition .subtitle {
  color: #000000 !important;
}

/* Keep the existing transparent navigation and make its hierarchy deck-like. */
header,
header .shell,
header nav,
.cp-site-nav,
.cp-site-nav__inner {
  background: transparent !important;
  box-shadow: none !important;
}

header nav a,
header button,
.cp-site-nav a,
.cp-site-nav button {
  color: var(--deck-black) !important;
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

header .contact,
header [data-contact-trigger],
.cp-site-nav__contact,
.cp-contact-button {
  border: 1px solid var(--deck-black) !important;
  border-radius: 8px !important;
  background: var(--deck-black) !important;
  color: var(--deck-white) !important;
}

header .contact:hover,
header [data-contact-trigger]:hover,
.cp-site-nav__contact:hover,
.cp-contact-button:hover {
  background: var(--deck-white) !important;
  color: var(--deck-black) !important;
}

/* Deck typography: condensed display voice, neutral body copy. */
.cp-app-title,
[data-chapter="WhoWeAre"] h2,
[data-chapter="WhatWeDo"] h2,
.cp-scope-title,
#cp-footer h2,
.cp-footer h2 {
  color: var(--deck-black) !important;
  font-family: "CP Anton", Impact, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  line-height: .94 !important;
}

.cp-intro,
.cp-app-copy,
.cp-scope-copy,
.cp-scope-card,
.cp-apps-label,
.cp-footer,
.cp-footer input,
.cp-footer button {
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
}

.cp-intro,
.cp-app-copy,
.cp-scope-copy {
  color: var(--deck-black) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
}

.cp-intro strong,
.cp-apps-label,
.cp-app-mark,
.cp-scope-kicker {
  color: var(--deck-black) !important;
  font-weight: 700 !important;
}

/* Hero application controls mirror the deck's thin editorial rules. */
.cp-apps-row a,
.cp-tackle-row a,
.cp-tackle-row button {
  border: 1px solid rgba(0, 0, 0, .72) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .08) !important;
  color: var(--deck-black) !important;
  font-family: "CP Montserrat", Montserrat, Arial, sans-serif !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
}

.cp-apps-row a:hover,
.cp-apps-row a:focus-visible,
.cp-tackle-row a:hover,
.cp-tackle-row button:hover,
.cp-tackle-row .active,
.cp-tackle-row [aria-current="true"] {
  border-color: var(--deck-black) !important;
  background: var(--deck-black) !important;
  color: var(--deck-white) !important;
}

/* Instrument panel uses the deck's circular science-diagram language. */
.cp-scope,
.cp-scope-ring {
  border-color: var(--deck-black) !important;
  box-shadow: none !important;
}

.cp-scope-card {
  border: 1px solid rgba(0, 0, 0, .42) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .82) !important;
  color: var(--deck-black) !important;
  box-shadow: none !important;
}

.cp-scope-card.is-active *,
.cp-scope-card:hover * {
  color: #fff !important;
}

.cp-tackle-row li {
  border-color: rgba(0, 0, 0, .34) !important;
  background: rgba(255, 255, 255, .3) !important;
}

.cp-tackle-row li.is-active,
.cp-tackle-row li:hover {
  border-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
}

/* Full-screen navigation follows the deck's cool-paper and black-rule system. */
.cp-menu {
  color: #000 !important;
  background: linear-gradient(120deg, #dce7ee -45%, #fff 34%, #edf3f6 108%) !important;
}

.cp-menu .nav-link,
.cp-menu .nav-link.active,
.cp-menu .nav-link:hover,
.cp-menu .menu-cta,
.cp-menu .fs-cta-s,
.cp-menu .fs-s2,
.cp-menu .terms-link,
.cp-menu .terms-w li,
.cp-menu .svg-container,
.cp-menu .counter {
  color: #000 !important;
}

.cp-menu .fs-cta-s::before,
.cp-menu .fs-s2::before,
.cp-menu .terms-link::before,
.cp-menu .nav-link::before {
  background-color: rgba(0, 0, 0, .28) !important;
}

svg [fill="#2D628C"],
svg [fill="#2d628c"],
svg [fill="#12405F"],
svg [fill="#12405f"] {
  fill: #000 !important;
}

svg [stroke="#2D628C"],
svg [stroke="#2d628c"] {
  stroke: #000 !important;
}

.spinner-defs,
.spinner-defs * {
  color: #000 !important;
}

.cp-app-mark,
.cp-app-mark::before,
.cp-app-mark::after {
  border-color: var(--deck-black) !important;
  color: var(--deck-black) !important;
}

/* These were explicitly removed from the approved interface. */
.cp-diamond,
.chapters-navigation,
.cp-app-progress,
.cp-progress-rail {
  display: none !important;
}

/* Footer follows the deck's black editorial closing pages. */
#cp-footer,
.cp-footer,
.cp-footer-panel {
  background: var(--deck-black) !important;
  color: var(--deck-white) !important;
}

#cp-footer *,
.cp-footer * {
  border-color: rgba(255, 255, 255, .52);
}

#cp-footer h2,
.cp-footer h2,
#cp-footer a,
.cp-footer a,
#cp-footer p,
.cp-footer p,
#cp-footer label,
.cp-footer label {
  color: var(--deck-white) !important;
}

.cp-footer input {
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--deck-white) !important;
}

.cp-footer button,
.cp-footer-top-link {
  border: 1px solid var(--deck-white) !important;
  border-radius: 8px !important;
  background: var(--deck-white) !important;
  color: var(--deck-black) !important;
}

/* Warm accent is reserved for interaction feedback, as in the deck. */
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--deck-orange) !important;
  outline-offset: 3px !important;
}

::selection {
  background: var(--deck-orange);
  color: var(--deck-white);
}

@media (max-width: 767px) {
  header nav a,
  header button,
  .cp-site-nav a,
  .cp-site-nav button {
    font-size: 11px !important;
  }

  .cp-app-title,
  [data-chapter="WhoWeAre"] h2,
  [data-chapter="WhatWeDo"] h2 {
    line-height: .98 !important;
  }

  .cp-intro,
  .cp-app-copy,
  .cp-scope-copy {
    line-height: 1.42 !important;
  }
}

/* Final cascade guard — Company Page typography roles.
   Keep this block last: legacy landing/application styles are intentionally
   normalised here so type does not change between sections. */
:root {
  --cp-type-sans: "CP Montserrat", Montserrat, Arial, sans-serif;
  --cp-type-display: "CP Anton", Anton, Impact, sans-serif;
}

html,
body,
button,
input,
textarea,
select,
option {
  font-family: var(--cp-type-sans) !important;
  font-kerning: normal;
  font-optical-sizing: auto;
  font-variant-ligatures: common-ligatures contextual;
}

header nav a,
header nav a.on,
header nav a[aria-current="page"],
header .menu,
.cp-site-nav a,
.cp-site-nav button,
.cp-menu,
.cp-menu a,
.cp-menu button {
  color: #000 !important;
  font-family: var(--cp-type-sans) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

header nav a.on,
header nav a[aria-current="page"] {
  border-bottom-color: #000 !important;
}

main :where(p, a, button, li, label, small, span, strong, em),
.cp-ink,
.cp-room-sub,
#cp-answer,
#cp-answer p,
[data-cp-section],
[data-cp-textblock],
[data-cp-copy],
[data-cp-morebtn],
[data-cp-divisions],
.scroll-to-cta-content-dk,
.read-more-button {
  color: #000 !important;
  font-family: var(--cp-type-sans) !important;
}

main :where(h1, h2, h3, h4, h5, h6),
.cp-app-title,
.cp-a1,
.cp-room-title,
.cp-scope-title,
.tackle-title,
[data-cp-divisions] > .grid > h2,
[data-chapter="WhoWeAre"] h2,
[data-chapter="WhatWeDo"] h2 {
  color: #000 !important;
  font-family: var(--cp-type-sans) !important;
}

main h1 {
  font-size: clamp(58px, 6.2vw, 112px) !important;
  font-weight: 470 !important;
  line-height: .88 !important;
  /* Montserrat already has a compact display rhythm. The former -.072em
     collapsed counters and made adjacent letters visually touch. */
  letter-spacing: -.032em !important;
}

main h2,
[data-cp-divisions] > .grid > h2,
[data-chapter="WhoWeAre"] h2,
[data-chapter="WhatWeDo"] h2,
.v23-chapter__copy h2 {
  margin-bottom: 24px !important;
  font-family: var(--cp-type-sans) !important;
  font-size: clamp(42px, 4.1vw, 74px) !important;
  font-weight: 480 !important;
  line-height: .98 !important;
  letter-spacing: -.022em !important;
}

/* Application copy needs the same breathing room as the Company page.
   This changes horizontal measure only; established type size and leading
   remain untouched. */
.v23-chapter__copy {
  width: min(650px, 44vw) !important;
}

.v23-chapter__copy h2 {
  max-width: 650px !important;
  word-spacing: .012em !important;
}

.v23-chapter__body {
  max-width: 510px !important;
}

.v23-chapter__eyebrow,
.cp-app-mark,
.cp-apps-label,
.cp-scope-kicker {
  font-family: var(--cp-type-sans) !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
  letter-spacing: .13em !important;
}

main p,
.v23-chapter__body,
.cp-intro,
#cp-answer p.cp-a2,
.cp-app-copy,
.cp-scope-copy,
.cp-room-copy,
[data-cp-textblock] p,
[data-cp-copy] p {
  font-family: var(--cp-type-sans) !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  font-weight: 470 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

main h3 {
  font-family: var(--cp-type-sans) !important;
  font-size: 21px !important;
  font-weight: 620 !important;
  line-height: 1.3 !important;
  letter-spacing: -.03em !important;
}

.v23-chapter__next,
.read-more-button,
.scroll-to-cta-content-dk,
.cp-apps-row a,
.link-block-label {
  font-family: var(--cp-type-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

#cp-answer p.cp-a1,
.cp-room-title,
.cp-scope-title,
.tackle-title {
  font-family: var(--cp-type-sans) !important;
  font-size: clamp(18px, 1.6vw, 24px) !important;
  font-weight: 620 !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
}

.cp-scope-card b {
  font-family: var(--cp-type-sans) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.cp-tackle-row li,
.division-content h3,
.division-content h4 {
  font-family: var(--cp-type-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.division-index .fs-label,
.chapters-list,
.chapters-list a {
  font-family: var(--cp-type-sans) !important;
  font-size: 10px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
  letter-spacing: .13em !important;
}

.cp-scope-card span,
.cp-cap {
  font-family: var(--cp-type-sans) !important;
  font-size: 11px !important;
  font-weight: 470 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.cp-a2,
.cp-cap,
.cp-scope-copy,
.cp-app-copy,
.cp-intro,
.cp-room-copy,
.cp-tackle-row,
.cp-tackle-row li,
.cp-scope-card,
.cp-scope-card * {
  color: #000 !important;
  font-family: var(--cp-type-sans) !important;
}

header .contact,
header .contact *,
.cp-apps-row a:hover,
.cp-apps-row a:focus-visible,
.cp-tackle-row li.is-active,
.cp-tackle-row li.is-active *,
.cp-tackle-row li:hover,
.cp-tackle-row li:hover *,
.cp-scope-card.is-active,
.cp-scope-card.is-active *,
.cp-scope-card:hover,
.cp-scope-card:hover * {
  color: #fff !important;
}

#cp-footer h2,
.cp-footer h2 {
  font-family: var(--cp-type-display) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#cp-footer .cp-footer-newsletter h2,
.cp-footer .cp-footer-newsletter h2 {
  font-size: clamp(30px, 3.6vw, 58px) !important;
}

#cp-footer h3,
.cp-footer h3 {
  font-family: var(--cp-type-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

#cp-footer .cp-footer-nav a,
#cp-footer .cp-footer-contact-link,
#cp-footer .cp-footer-social a,
.cp-footer .cp-footer-nav a,
.cp-footer .cp-footer-contact-link,
.cp-footer .cp-footer-social a {
  font-family: var(--cp-type-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

#cp-footer .cp-footer-form input,
.cp-footer .cp-footer-form input {
  font-family: var(--cp-type-sans) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#cp-footer .cp-footer-form button,
.cp-footer .cp-footer-form button {
  font-family: var(--cp-type-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}

#cp-footer .cp-footer-consent,
#cp-footer .cp-footer-bottom,
.cp-footer .cp-footer-consent,
.cp-footer .cp-footer-bottom {
  font-family: var(--cp-type-sans) !important;
  font-size: 10.5px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

#cp-footer :where(h2, h3, p, a, span, label, small),
.cp-footer :where(h2, h3, p, a, span, label, small) {
  color: #fff !important;
}

#cp-footer button,
#cp-footer button *,
.cp-footer button,
.cp-footer button * {
  color: #000 !important;
}

svg [style*="2d628c"],
svg [style*="2D628C"],
svg [style*="36719e"],
svg [style*="16476a"] {
  color: #000 !important;
  fill: #000 !important;
  stroke: #000 !important;
}

@media (max-width: 899px) {
  main h1 {
    font-size: clamp(45px, 12.2vw, 58px) !important;
    line-height: .92 !important;
    letter-spacing: -.03em !important;
  }

  main h2,
  [data-cp-divisions] > .grid > h2,
  [data-chapter="WhoWeAre"] h2,
  [data-chapter="WhatWeDo"] h2,
  .v23-chapter__copy h2 {
    font-size: clamp(39px, 10.5vw, 54px) !important;
    line-height: .98 !important;
    letter-spacing: -.02em !important;
  }
}

@media (max-width: 640px) {
  main h1 {
    font-size: clamp(45px, 12.2vw, 52px) !important;
  }

  main h2,
  [data-cp-divisions] > .grid > h2,
  [data-chapter="WhoWeAre"] h2,
  [data-chapter="WhatWeDo"] h2,
  .v23-chapter__copy h2 {
    margin-bottom: 18px !important;
    font-size: clamp(39px, 10.5vw, 54px) !important;
  }

  main p,
  .v23-chapter__body,
  .cp-intro,
  #cp-answer p.cp-a2,
  .cp-app-copy,
  .cp-scope-copy,
  .cp-room-copy,
  [data-cp-textblock] p,
  [data-cp-copy] p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .v23-chapter__copy,
  .v23-chapter__copy--right {
    width: auto !important;
  }

  .v23-chapter__eyebrow,
  .cp-app-mark,
  .cp-apps-label,
  .cp-scope-kicker {
    font-size: 10px !important;
  }
}
