/* Franklin Park design tokens - edit colors/fonts/weights here. */
:root {
  --font-heading: "Oswald", sans-serif;   /* condensed titling, weight 200 */
  /* Brand */
  --franklin-blue: #2072c3;        /* "Franklin Blue" - brand color */
  --franklin-blue-dark: #155390;   /* hover shade */
  --section-black: #000000;        /* alternating section backgrounds */
  --section-gray: #131313;         /* was #0a0a0a - client color consolidation:
    merged with the near-duplicate #171717 "surface" shade (CTA box, counter
    bars, cards) below, so the whole dark palette is exactly two colors:
    --section-black and --section-gray, everywhere. */
  --font-body: "aptos", "Libre Franklin", sans-serif;  /* Adobe Fonts kit wds4qty; Libre Franklin (Google) as fallback */
}

html.is-sites-page, .wireframe-page, .article-wrap, .mobile-nav-popover {
  --ps-accent-color: #ffffffcc;
  --ps-background-color: #0a0a0a;
  --ps-cta-background-color: #000000;
  --ps-cta-background-color: oklch(0 0 0);
  --ps-cta-text-color: #ffffff;
  --ps-cta-text-color: oklch(1 0 0);
  --ps-muted-text-color: #999da3;
  --ps-text-color: #fff;
  --ps-body-font: var(--font-body);
  --ps-credibility-strip-font: var(--font-body);
  --ps-cta-font: var(--font-body);
  --ps-disclaimer-font: var(--font-body);
  --ps-eyebrow-font: var(--font-body);
  --ps-footer-heading-font: var(--font-heading);
  --ps-footer-text-font: var(--font-body);
  --ps-header-contact-font: var(--font-body);
  --ps-header-logo-font: var(--font-heading);
  --ps-header-nav-font: var(--font-body);
  --ps-heading-font: var(--font-heading);
  --ps-item-body-font: var(--font-body);
  --ps-item-eyebrow-font: var(--font-body);
  --ps-item-heading-font: var(--font-heading);
  --ps-item-subheading-font: var(--font-body);
  --ps-microcopy-font: var(--font-body);
  --ps-mobile-nav-font: var(--font-body);
  --ps-quote-font: var(--font-heading);
  --ps-section-subheading-font: var(--font-body);
  --ps-trust-pill-font: var(--font-body);
  --ps-body-tracking: 0;
  --ps-body-transform: none;
  --ps-body-weight: 300; /* was 400 - client consolidation: all body/small
    copy (<=16px) drops one weight step. Several selectors hardcode this
    literally rather than reading the token, so custom.css also carries
    explicit overrides for those - see "TYPE CONSOLIDATION" block. */
  --ps-header-nav-weight: 500;      /* nav in the "LEARN MORE" treatment */
  --ps-header-nav-transform: uppercase;
  --ps-mobile-nav-weight: 600;
  --ps-mobile-nav-transform: uppercase;
  --ps-cta-tracking: 1.2px;
  --ps-cta-transform: uppercase;
  --ps-cta-weight: 600; /* was 620: not a real Aptos weight, so the browser
    substituted the nearest heavier static face (700/Bold), making every
    button label render visibly bolder than the rest of the Aptos type.
    600 (Semibold) is an actual loaded weight - same "buttons stand out"
    intent, rendered crisply instead of accidentally bold. */
  --ps-disclaimer-tracking: 0;
  --ps-disclaimer-transform: none;
  --ps-eyebrow-tracking: 0.08em;
  --ps-eyebrow-transform: uppercase;
  --ps-eyebrow-weight: 600;
  --ps-heading-tracking: normal;
  --ps-heading-transform: none;
  --ps-heading-weight: 200;
  --ps-item-body-tracking: 0;
  --ps-item-body-transform: none;
  --ps-item-eyebrow-tracking: 0.08em;
  --ps-item-eyebrow-transform: uppercase;
  --ps-item-eyebrow-weight: 600;
  --ps-item-heading-tracking: normal;
  --ps-item-heading-transform: none;
  --ps-item-heading-weight: 200;
  --ps-item-subheading-tracking: 0;
  --ps-item-subheading-transform: none;
  --ps-item-subheading-weight: 600;
  --ps-microcopy-tracking: 0;
  --ps-microcopy-transform: none;
  --ps-quote-tracking: 0;
  --ps-quote-transform: none;
  --ps-quote-weight: 600;
  --ps-section-subheading-tracking: normal;
  --ps-section-subheading-transform: none;
  --ps-section-subheading-weight: 400; /* was 450: same substitution issue as
    --ps-cta-weight above, rounds to the same 400 Aptos already renders -
    made explicit so it can't silently drift again */
  --ps-trust-pill-tracking: 0.02em;
  --ps-trust-pill-transform: none;
  --ps-button-radius: 0px;
  --ps-cta-radius: 0px;
  --ps-border-radius: 0px;
  --ps-body-text-color: #ffffff; /* changed from #bebebe (body gray) to white per client request */
  --ps-border-color: #1f2228;
  --ps-cookie-background-color: #151515;
  --ps-disclaimer-text-color: #8f9297;
  --ps-emphasis-border-color: #757779;
  --ps-eyebrow-text-color: #999da3;
  --ps-footer-background-color: var(--section-black); /* single source of
    truth instead of a hardcoded duplicate #000000 - footer always matches
    whatever the alternating "black" sections use. */
  --ps-footer-border-color: #1f2228;
  --ps-footer-link-hover-text-color: #ffffffcc;
  --ps-footer-link-text-color: #ffffffcc;
  --ps-footer-muted-text-color: #999da3;
  --ps-footer-text-color: #fff;
  --ps-ghost-button-background-color: transparent;
  --ps-ghost-button-border-color: rgba(255, 255, 255, 0.25);
  --ps-ghost-button-hover-background-color: rgb(255 255 255 / 8%);
  --ps-ghost-button-text-color: #fff;
  --ps-ghost-media-button-background-color: transparent;
  --ps-ghost-media-button-border-color: #fff;
  --ps-ghost-media-button-hover-background-color: rgb(255 255 255 / 14%);
  --ps-ghost-media-button-text-color: #fff;
  --ps-header-background-color: #0a0a0a;
  --ps-header-hamburger-line-color: #fff;
  --ps-header-link-hover-text-color: #fff;
  --ps-header-link-text-color: #fff;
  --ps-header-media-hamburger-line-color: #fff;
  --ps-header-muted-text-color: #999da3;
  --ps-header-surface-background-color: rgba(217, 217, 217, 0.25);
  --ps-header-text-color: #fff;
  --ps-heading-text-color: #fff;
  --ps-input-background-color: #262626;
  --ps-input-border-color: #262626;
  --ps-input-focus-border-color: #848484;
  --ps-input-placeholder-color: #fff;
  --ps-input-text-color: #fff;
  --ps-item-body-text-color: #ffffff; /* changed from #bebebe (body gray) to white per client request */
  --ps-item-eyebrow-text-color: #999da3;
  --ps-item-heading-text-color: #fff;
  --ps-item-subheading-text-color: #999da3;
  --ps-link-hover-text-color: #fff;
  --ps-link-text-color: #ffffffcc;
  --ps-media-disclaimer-text-color: rgb(255 255 255 / 62%);
  --ps-media-heading-text-color: #fff;
  --ps-media-microcopy-text-color: rgb(255 255 255 / 78%);
  --ps-media-muted-text-color: rgb(255 255 255 / 72%);
  --ps-media-text-color: #fff;
  --ps-media-trust-pill-background-color: #000;
  --ps-media-trust-pill-border-color: transparent;
  --ps-media-trust-pill-hover-background-color: #000;
  --ps-media-trust-pill-shadow-color: rgb(0 0 0 / 12%);
  --ps-media-trust-pill-text-color: #fff;
  --ps-microcopy-text-color: #8f9297;
  --ps-muted-border-color: rgba(255, 255, 255, 0.25);
  --ps-overlay-color: rgb(0 0 0 / 56%);
  --ps-primary-button-background-color: #ffffffcc;
  --ps-primary-button-border-color: #1f2228;
  --ps-primary-button-hover-background-color: #fff;
  --ps-primary-button-text-color: #000;
  --ps-primary-media-button-background-color: #ffffffcc;
  --ps-primary-media-button-border-color: #1f2228;
  --ps-primary-media-button-hover-background-color: #fff;
  --ps-primary-media-button-text-color: #000;
  --ps-secondary-button-background-color: #3c3c3c;
  --ps-secondary-button-border-color: #ebebeb;
  --ps-secondary-button-hover-background-color: #484848;
  --ps-secondary-button-text-color: #cdcdcd;
  --ps-secondary-media-button-background-color: rgb(255 255 255 / 16%);
  --ps-secondary-media-button-border-color: rgb(255 255 255 / 35%);
  --ps-secondary-media-button-hover-background-color: rgb(255 255 255 / 26%);
  --ps-secondary-media-button-text-color: #fff;
  --ps-section-subheading-text-color: #999da3;
  --ps-surface-background-color: var(--section-gray); /* was #0a0a0a
    (reported to the client as #171717 in error - that value was never
    actually in the codebase). Now a single source of truth: CTA boxes,
    counter bars, and cards all just track --section-gray. */
  --ps-surface-border-color: #272727;
  --ps-tag-button-background-color: transparent;
  --ps-tag-button-border-color: rgba(255, 255, 255, 0.25);
  --ps-tag-button-hover-background-color: rgb(255 255 255 / 8%);
  --ps-tag-button-text-color: #fff;
  --ps-tag-media-button-background-color: #000;
  --ps-tag-media-button-border-color: transparent;
  --ps-tag-media-button-hover-background-color: #000;
  --ps-tag-media-button-text-color: #fff;
  --ps-text-button-hover-text-color: #ffffffcc;
  --ps-text-button-text-color: #fff;
  --ps-text-media-button-hover-text-color: rgb(255 255 255 / 80%);
  --ps-text-media-button-text-color: #fff;
  --ps-trust-pill-background-color: transparent;
  --ps-trust-pill-border-color: rgba(255, 255, 255, 0.25);
  --ps-trust-pill-hover-background-color: rgb(255 255 255 / 8%);
  --ps-trust-pill-shadow-color: rgb(0 0 0 / 25%);
  --ps-trust-pill-text-color: #fff;
  --ps-item-media-body-text-color: #fff;
  --ps-item-media-eyebrow-text-color: rgb(255 255 255 / 72%);
  --ps-item-media-heading-text-color: #fff;
  --ps-item-media-subheading-text-color: rgb(255 255 255 / 72%);
  --ps-media-eyebrow-text-color: rgb(255 255 255 / 72%);
  --ps-media-subheading-text-color: rgb(255 255 255 / 72%);
  --ps-section-media-body-text-color: #fff;
  --ps-section-media-eyebrow-text-color: rgb(255 255 255 / 72%);
  --ps-section-media-heading-text-color: #fff;
  --ps-section-media-subheading-text-color: rgb(255 255 255 / 72%);
  --ps-header-media-background-color: #0a0a0a;
  --ps-header-media-link-hover-text-color: #fff;
  --ps-header-media-link-text-color: #fff;
  --ps-header-media-muted-text-color: rgb(255 255 255 / 72%);
  --ps-header-media-surface-background-color: rgba(217, 217, 217, 0.25);
  --ps-header-media-text-color: #fff;
  --ps-surface-emphasis-border-color: #757779;
  --ps-surface-muted-border-color: rgba(255, 255, 255, 0.25);
  --ps-rating-star-color: rgb(250, 187, 5);
  --ps-credibility-strip-border-color: #1f2228;
  --ps-credibility-strip-hover-text-color: #fff;
  --ps-credibility-strip-source-text-color: #999da3;
  --ps-credibility-strip-text-color: #fff;
  --ps-cookie-border-color: #1f2228;
  --ps-cookie-link-hover-text-color: #fff;
  --ps-cookie-link-text-color: #ffffffcc;
  --ps-cookie-muted-text-color: #999da3;
  --ps-cookie-text-color: #fff;
  color-scheme: dark;
}
