/**
 * One Source Imaging look. Scoped under .pkg-one-source.
 */

html.pkg-one-source {
  --pkg-navy: #001a5e;
  --pkg-blue: #336699;
  --pkg-magenta: #8b1d23;
  --pkg-ink: #0f2438;
  --pkg-muted: #5a7f9e;
  --pkg-pale: #e8f2fa;
  --pkg-paper: #f7fafc;
  --pkg-white: #ffffff;
  --pkg-radius: 14px;
}

html.pkg-one-source,
html.pkg-one-source body {
  font-family: var(--font-body, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: var(--type-body, 1rem);
  font-weight: var(--font-body-weight, 400);
  color: var(--ink, var(--pkg-ink));
  background: var(--page-bg, var(--pkg-white));
  background-image: none;
}

.pkg-one-source h1,
.pkg-one-source .hero-split__headline {
  font-family: var(--font-hero, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-hero-weight, var(--font-display-weight, 560));
  letter-spacing: -0.02em;
}

.pkg-one-source h2,
.pkg-one-source h3 {
  font-family: var(--font-heading, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-heading-weight, var(--font-display-weight, 560));
  letter-spacing: -0.02em;
}

.pkg-one-source h1 em,
.pkg-one-source .hero-split__headline em {
  font-style: italic;
  color: var(--pkg-magenta);
}

.pkg-one-source a {
  color: var(--pkg-blue);
}

.pkg-one-source a:hover {
  color: var(--pkg-magenta);
}

.pkg-one-source .site-header {
  background: var(--header-bg, var(--pkg-white));
  color: var(--header-text, var(--pkg-ink));
  border-bottom: 1px solid color-mix(in srgb, var(--pkg-navy) 10%, transparent);
  box-shadow: none;
}

.pkg-one-source .brand,
.pkg-one-source .brand:hover {
  color: var(--header-link, var(--pkg-navy));
}

.pkg-one-source .brand-name {
  color: inherit;
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-size: var(--type-brand, 1.15rem);
  font-weight: var(--font-nav-weight, 650);
}

.pkg-one-source .brand-tag {
  color: var(--header-link, var(--pkg-muted));
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-label-weight, 700);
}

.pkg-one-source .nav-menu a,
.pkg-one-source .nav-phone a {
  color: var(--header-link, var(--pkg-navy));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-size: var(--type-nav, 0.95rem);
  font-weight: var(--font-nav-weight, 600);
}

.pkg-one-source .site-header-secondary .nav-menu--secondary a,
.pkg-one-source .site-header-secondary .nav-phone a {
  color: var(--header-secondary-link, var(--header-link, var(--pkg-navy)));
  font-size: calc(var(--type-nav, 0.95rem) * 0.88);
}

.pkg-one-source .nav-menu a.active {
  color: var(--header-link-active, var(--pkg-magenta));
}

.pkg-one-source .site-header-secondary .nav-menu--secondary a.active,
.pkg-one-source .site-header-secondary .nav-menu--secondary a:hover {
  color: var(--header-secondary-link-active, var(--header-link-active, var(--pkg-magenta)));
}

.pkg-one-source .social-links--header a {
  color: var(--header-link, var(--pkg-navy));
  border-color: color-mix(in srgb, var(--pkg-navy) 16%, transparent);
  background: color-mix(in srgb, var(--pkg-navy) 4%, transparent);
}

.pkg-one-source .site-header-secondary .social-links--secondary a {
  color: var(--header-secondary-link, var(--header-link, var(--pkg-navy)));
  border-color: color-mix(in srgb, var(--header-secondary-link, var(--pkg-white)) 28%, transparent);
  background: color-mix(in srgb, var(--header-secondary-link, var(--pkg-white)) 8%, transparent);
}

.pkg-one-source .social-links--header a:hover {
  background: color-mix(in srgb, var(--pkg-navy) 10%, transparent);
  color: var(--pkg-navy);
}

.pkg-one-source .site-header-secondary .social-links--secondary a:hover {
  background: color-mix(in srgb, var(--header-secondary-link, var(--pkg-white)) 16%, transparent);
  color: var(--header-secondary-link-active, var(--header-link-active, var(--pkg-magenta)));
}

.pkg-one-source .nav-cta a,
.pkg-one-source .btn-primary,
.pkg-one-source .btn-solid,
.pkg-one-source .customer-portal-login__submit {
  background: var(--nav-cta-bg, var(--pkg-magenta));
  border-color: var(--nav-cta-bg, var(--pkg-magenta));
  color: var(--nav-cta-fg, #fff);
  border-radius: var(--radius, var(--pkg-radius, 14px));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-nav-weight, 650);
}

.pkg-one-source .nav-cta a:hover,
.pkg-one-source .btn-primary:hover,
.pkg-one-source .btn-solid:hover {
  background: var(--nav-cta-bg-hover, color-mix(in srgb, var(--pkg-magenta) 78%, #000));
  color: var(--nav-cta-fg, #fff);
}

.pkg-one-source .nav-cta[data-cta-color="brand_primary"] {
  --nav-cta-bg: var(--pkg-navy);
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-navy) 82%, #000);
}

.pkg-one-source .nav-cta[data-cta-color="brand_secondary"] {
  --nav-cta-bg: var(--pkg-magenta);
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-magenta) 78%, #000);
}

.pkg-one-source .nav-cta[data-cta-color="brand_tertiary"] {
  --nav-cta-bg: var(--pkg-blue);
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-blue) 78%, #000);
}

.pkg-one-source .nav-cta[data-cta-color="brand_accent"] {
  --nav-cta-bg: var(--accent);
  --nav-cta-bg-hover: color-mix(in srgb, var(--accent) 78%, #000);
}

.pkg-one-source .nav-cta[data-cta-color="brand_surface_dark"],
.pkg-one-source .nav-cta[data-cta-color="charcoal"] {
  --nav-cta-bg: var(--pkg-ink, var(--forest-deep));
  --nav-cta-bg-hover: #000;
}

.pkg-one-source .nav-cta[data-cta-color="brand_surface_muted"] {
  --nav-cta-bg: var(--pkg-pale, var(--snow));
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-pale, var(--snow)) 82%, #000);
  --nav-cta-fg: var(--pkg-ink, var(--ink));
}

.pkg-one-source .nav-cta[data-cta-color="page_bg"] {
  --nav-cta-bg: var(--page-bg);
  --nav-cta-bg-hover: color-mix(in srgb, var(--page-bg) 82%, #000);
  --nav-cta-fg: var(--pkg-ink, var(--ink));
}

.pkg-one-source .nav-cta[data-cta-color="surface_paper"] {
  --nav-cta-bg: var(--pkg-paper, var(--paper));
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-paper, var(--paper)) 82%, #000);
  --nav-cta-fg: var(--pkg-ink, var(--ink));
}

.pkg-one-source .nav-cta[data-cta-color="text_on_dark"] {
  --nav-cta-bg: var(--pkg-white, var(--cream));
  --nav-cta-bg-hover: color-mix(in srgb, var(--pkg-white, var(--cream)) 82%, #000);
  --nav-cta-fg: var(--pkg-ink, var(--ink));
}

@media (max-width: 820px) {
  /* Primary drawer only — never style secondary .nav-menu with open-panel chrome. */
  .pkg-one-source .site-header-inner .nav-menu.is-open {
    background: #fff;
    color: var(--pkg-navy);
    border-bottom: 1px solid color-mix(in srgb, var(--pkg-navy) 10%, transparent);
    box-shadow: 0 16px 36px color-mix(in srgb, var(--pkg-navy) 14%, transparent);
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open li {
    border-bottom-color: color-mix(in srgb, var(--pkg-navy) 10%, transparent);
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open a,
  .pkg-one-source .site-header-inner .nav-menu.is-open .nav-phone a,
  .pkg-one-source .site-header-inner .nav-menu.is-open .submenu-toggle {
    color: var(--pkg-navy);
    background: transparent;
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open a.active {
    color: var(--pkg-magenta);
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open .nav-cta a,
  .pkg-one-source .site-header-inner .nav-menu.is-open .nav-cta a:hover {
    background: var(--nav-cta-bg, var(--pkg-magenta));
    color: #fff;
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open .nav-social .social-links--header a {
    color: var(--pkg-navy);
    border-color: color-mix(in srgb, var(--pkg-navy) 16%, transparent);
    background: color-mix(in srgb, var(--pkg-navy) 4%, transparent);
  }

  .pkg-one-source .site-header-inner .nav-menu.is-open .nav-social .social-links--header a:hover {
    background: color-mix(in srgb, var(--pkg-navy) 10%, transparent);
    color: var(--pkg-navy);
  }

  .pkg-one-source .mobile-priority a {
    color: var(--header-link, #fff);
    background: color-mix(in srgb, #fff 14%, transparent);
    border-color: color-mix(in srgb, #fff 32%, transparent);
  }

  .pkg-one-source .mobile-priority a:hover {
    background: #fff;
    color: var(--pkg-navy);
  }
}

.pkg-one-source .btn-secondary {
  background: var(--pkg-blue);
  border-color: var(--pkg-blue);
  color: #fff;
  border-radius: var(--radius, var(--pkg-radius, 14px));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-nav-weight, 650);
  box-shadow: none;
}

.pkg-one-source .btn-secondary:hover {
  background: color-mix(in srgb, var(--pkg-blue) 78%, #000);
  border-color: color-mix(in srgb, var(--pkg-blue) 78%, #000);
  color: #fff;
}

.pkg-one-source .btn-ghost {
  border-radius: var(--radius, var(--pkg-radius, 14px));
  border: 1px solid color-mix(in srgb, var(--pkg-navy) 18%, transparent);
  color: var(--pkg-navy);
  background: transparent;
}

.pkg-one-source .btn-ghost:hover {
  background: color-mix(in srgb, var(--pkg-navy) 6%, transparent);
  color: var(--pkg-navy);
}

.pkg-one-source .btn-primary-inverse {
  background: #fff;
  border-color: #fff;
  color: var(--pkg-magenta);
  border-radius: var(--radius, var(--pkg-radius, 14px));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-nav-weight, 650);
  box-shadow: none;
}

.pkg-one-source .btn-primary-inverse:hover {
  background: rgba(255, 255, 255, 0.92);
  color: color-mix(in srgb, var(--pkg-magenta) 78%, #000);
}

.pkg-one-source .btn-secondary-inverse {
  background: #fff;
  border-color: #fff;
  color: var(--pkg-blue);
  border-radius: var(--radius, var(--pkg-radius, 14px));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-nav-weight, 650);
  box-shadow: none;
}

.pkg-one-source .btn-secondary-inverse:hover {
  background: rgba(255, 255, 255, 0.92);
  color: color-mix(in srgb, var(--pkg-blue) 78%, #000);
}

.pkg-one-source .btn-ghost-inverse {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: #fff;
  border-radius: var(--radius, var(--pkg-radius, 14px));
  font-family: var(--font-nav, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-nav-weight, 650);
  box-shadow: none;
}

.pkg-one-source .btn-ghost-inverse:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.pkg-one-source .eyebrow,
.pkg-one-source .hero-split__kicker,
.pkg-one-source .indy-stamp,
.pkg-one-source .section-label.section-label--standard {
  color: var(--label-color, var(--pkg-magenta));
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-size: var(--type-kicker, 0.78rem);
  font-weight: var(--font-label-weight, 700);
  letter-spacing: 0.08em;
  text-transform: var(--case-label, uppercase);
}

.pkg-one-source .section-label.section-label--stamp,
.pkg-one-source .indy-stamp {
  background: color-mix(in srgb, var(--pkg-ink) 8%, #fff);
  border: 1px solid var(--pkg-magenta);
  color: var(--pkg-magenta);
  padding: 0.45rem 0.9rem;
  transform: rotate(-3deg);
  box-shadow: none;
}

.pkg-one-source .section-label.section-label--badge {
  background: var(--pkg-magenta);
  color: #fff;
  border: 0;
  padding: 0.4rem 0.8rem;
  transform: none;
  letter-spacing: 0.08em;
  text-transform: var(--case-label, uppercase);
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-size: var(--type-kicker, 0.78rem);
  font-weight: var(--font-label-weight, 700);
}

.pkg-one-source .section-label.section-label--skew {
  background: var(--pkg-magenta);
  color: #fff;
  border: 0;
  padding: 0.35rem 0.85rem;
  transform: skewX(-12deg);
  border-radius: 0;
  letter-spacing: 0.06em;
  text-transform: var(--case-label, uppercase);
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-size: 0.6875rem;
  font-weight: 800;
  line-height: 1.1;
}

.pkg-one-source .pkg-surface-default {
  background: var(--pkg-white);
}

.pkg-one-source .pkg-surface-linen,
.pkg-one-source .pkg-surface-muted {
  background: var(--pkg-pale);
}

.pkg-one-source .pkg-surface-paper {
  background: var(--pkg-paper);
}

.pkg-one-source .pkg-surface-brand-primary,
.pkg-one-source .pkg-surface-brand,
.pkg-one-source .cta-band.pkg-surface-brand-primary {
  background: var(--pkg-navy);
  color: #fff;
}

.pkg-one-source .pkg-surface-brand-tertiary {
  background: var(--pkg-blue);
  color: #fff;
}

.pkg-one-source .pkg-surface-charcoal,
.pkg-one-source .pkg-surface-dark {
  background: var(--forest-deep, var(--pkg-ink));
  color: #fff;
}

.pkg-one-source .pkg-surface-brand-primary h1,
.pkg-one-source .pkg-surface-brand-primary h2,
.pkg-one-source .pkg-surface-brand-primary h3,
.pkg-one-source .pkg-surface-brand-primary .section-head h2,
.pkg-one-source .pkg-surface-brand-primary .section-head p,
.pkg-one-source .pkg-surface-brand-primary .eyebrow,
.pkg-one-source .pkg-surface-brand h1,
.pkg-one-source .pkg-surface-brand h2,
.pkg-one-source .pkg-surface-brand h3,
.pkg-one-source .pkg-surface-brand .eyebrow,
.pkg-one-source .pkg-surface-brand-tertiary h1,
.pkg-one-source .pkg-surface-brand-tertiary h2,
.pkg-one-source .pkg-surface-brand-tertiary h3,
.pkg-one-source .pkg-surface-brand-tertiary .section-head h2,
.pkg-one-source .pkg-surface-brand-tertiary .section-head p,
.pkg-one-source .pkg-surface-brand-tertiary .eyebrow,
.pkg-one-source .pkg-surface-charcoal h1,
.pkg-one-source .pkg-surface-charcoal h2,
.pkg-one-source .pkg-surface-charcoal h3,
.pkg-one-source .pkg-surface-charcoal .section-head h2,
.pkg-one-source .pkg-surface-charcoal .section-head p,
.pkg-one-source .pkg-surface-charcoal .eyebrow,
.pkg-one-source .pkg-surface-dark h1,
.pkg-one-source .pkg-surface-dark h2,
.pkg-one-source .pkg-surface-dark h3,
.pkg-one-source .pkg-surface-dark .eyebrow,
.pkg-one-source .pkg-surface-brand-secondary h1,
.pkg-one-source .pkg-surface-brand-secondary h2,
.pkg-one-source .pkg-surface-brand-secondary h3,
.pkg-one-source .pkg-surface-brand-secondary .section-head h2,
.pkg-one-source .pkg-surface-brand-secondary .section-head p,
.pkg-one-source .pkg-surface-brand-secondary .eyebrow {
  color: #fff;
}

.pkg-one-source .pkg-surface-brand-primary .hero-split__headline,
.pkg-one-source .pkg-surface-brand-primary .hero-split__subhead,
.pkg-one-source .pkg-surface-brand-tertiary .hero-split__headline,
.pkg-one-source .pkg-surface-brand-tertiary .hero-split__subhead,
.pkg-one-source .pkg-surface-charcoal .hero-split__headline,
.pkg-one-source .pkg-surface-charcoal .hero-split__subhead,
.pkg-one-source .pkg-surface-brand-secondary .hero-split__headline,
.pkg-one-source .pkg-surface-brand-secondary .hero-split__subhead {
  color: #fff;
}

.pkg-one-source .pkg-surface-brand-secondary {
  background: var(--pkg-magenta);
  color: #fff;
}

.pkg-one-source .pkg-surface-accent {
  background: var(--accent, #2e9b4f);
  color: #fff;
}

.pkg-one-source .pkg-surface-accent h1,
.pkg-one-source .pkg-surface-accent h2,
.pkg-one-source .pkg-surface-accent h3,
.pkg-one-source .pkg-surface-accent .section-head h2,
.pkg-one-source .pkg-surface-accent .section-head p,
.pkg-one-source .pkg-surface-accent .eyebrow,
.pkg-one-source .pkg-surface-accent p,
.pkg-one-source .pkg-surface-accent a {
  color: #fff;
}

/* Default page-hero wash only when no surface (or default). Soft/warm surfaces must keep their own bg. */
.pkg-one-source .page-hero--plain:not([class*="pkg-surface-"]),
.pkg-one-source .page-hero--plain.pkg-surface-default {
  background:
    radial-gradient(900px 280px at 90% -10%, color-mix(in srgb, var(--pkg-magenta) 12%, transparent), transparent 60%),
    linear-gradient(180deg, var(--pkg-paper, #f7fafc) 0%, var(--pkg-white, #fff) 100%);
  color: var(--pkg-ink);
}

/*
 * Blog listing heroes: pin surface backgrounds after the default wash so linen/paper
 * actually show, and keep one padding rhythm for light and dark surfaces.
 */
.pkg-one-source .page-hero.blog-listing-hero.page-hero--plain {
  min-height: 0;
  padding: 4.5rem 0 2.5rem;
  align-items: center;
}

.pkg-one-source .page-hero.blog-listing-hero.page-hero--plain .page-hero-content {
  padding-top: 0;
  padding-bottom: 0;
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-linen,
.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-muted {
  background: var(--pkg-pale, #e8f2fa) !important;
  color: var(--pkg-ink);
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-paper {
  background: var(--pkg-paper, #f7fafc) !important;
  color: var(--pkg-ink);
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-default {
  background:
    radial-gradient(900px 280px at 90% -10%, color-mix(in srgb, var(--pkg-magenta) 12%, transparent), transparent 60%),
    linear-gradient(180deg, var(--pkg-paper, #f7fafc) 0%, var(--pkg-white, #fff) 100%) !important;
  color: var(--pkg-ink);
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-brand-primary,
.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-brand {
  background: var(--pkg-navy) !important;
  color: #fff;
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-brand-secondary {
  background: var(--pkg-magenta) !important;
  color: #fff;
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-brand-tertiary {
  background: var(--pkg-blue) !important;
  color: #fff;
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-charcoal,
.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-dark {
  background: var(--forest-deep, var(--pkg-ink)) !important;
  color: #fff;
}

.pkg-one-source .page-hero.blog-listing-hero.pkg-surface-accent {
  background: var(--accent, #2e9b4f) !important;
  color: #fff;
}

.pkg-one-source .page-hero--plain .page-hero-content {
  position: relative;
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.pkg-one-source .page-hero--plain h1,
.pkg-one-source .page-hero--plain p {
  color: inherit;
}

.pkg-one-source .page-hero--plain .eyebrow {
  color: var(--label-color, var(--pkg-magenta));
}

.pkg-one-source .page-hero--plain.pkg-surface-brand-primary .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-brand .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-brand-secondary .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-brand-tertiary .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-charcoal .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-dark .eyebrow,
.pkg-one-source .page-hero--plain.pkg-surface-accent .eyebrow {
  color: var(--label-color, #fff);
}

.pkg-one-source .page-hero--plain:not([class*="pkg-surface-"]) h1,
.pkg-one-source .page-hero--plain.pkg-surface-default h1,
.pkg-one-source .page-hero--plain.pkg-surface-linen h1,
.pkg-one-source .page-hero--plain.pkg-surface-muted h1,
.pkg-one-source .page-hero--plain.pkg-surface-paper h1 {
  color: var(--pkg-navy);
  font-size: var(--type-display, clamp(2.1rem, 4vw, 3.4rem));
  margin: 0.35rem 0 0.75rem;
}

.pkg-one-source .hero-split:not([class*="pad-y-"]) {
  padding: 4.5rem 0 3rem;
}

.pkg-one-source .hero-split.pkg-surface-default,
.pkg-one-source .hero-split:not([class*="pkg-surface-"]) {
  background:
    radial-gradient(700px 320px at 8% 0%, color-mix(in srgb, var(--pkg-blue) 16%, transparent), transparent 70%),
    linear-gradient(180deg, var(--pkg-paper, #f7fafc), var(--pkg-white, #fff) 70%);
}

.pkg-one-source .hero-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 2rem;
  align-items: start;
}

.pkg-one-source .hero-split__headline {
  color: var(--pkg-navy);
  line-height: 1.05;
  margin: 0.4rem 0 1rem;
}

/* Package hero sizes — must include the scale class so md sits between sm and lg. */
.pkg-one-source .hero-split__headline.heading-scale-xs {
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
}
.pkg-one-source .hero-split__headline.heading-scale-sm {
  font-size: clamp(1.85rem, 3.5vw, 2.45rem);
}
.pkg-one-source .hero-split__headline.heading-scale-md {
  font-size: clamp(2.2rem, 4.4vw, 3.25rem);
}
.pkg-one-source .hero-split__headline.heading-scale-lg {
  font-size: clamp(2.55rem, 5.2vw, 3.85rem);
}
.pkg-one-source .hero-split__headline.heading-scale-2xl {
  font-size: clamp(2.9rem, 6vw, 4.4rem);
}

.pkg-one-source .hero-split__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.25rem 0;
}

.pkg-one-source .hero-split__stat dt {
  font-family: var(--font-heading, var(--font-display, Fraunces, serif));
  font-size: 1.45rem;
  color: var(--pkg-navy);
}

.pkg-one-source .hero-split__visual img {
  width: min(100%, 420px);
  border-radius: var(--radius, var(--pkg-radius, 16px));
  box-shadow: 0 16px 40px color-mix(in srgb, var(--pkg-navy) 12%, transparent);
}

.pkg-one-source {
  --list-mark: var(--accent, #2e9b4f);
}

.pkg-one-source .frame-card,
.pkg-one-source .customer-portal-login.frame-card {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--pkg-navy) 8%, transparent);
  border-radius: var(--pkg-radius);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--pkg-ink) 6%, transparent);
  padding: 1.1rem 1.15rem;
  color: var(--pkg-ink);
}

.pkg-one-source .quote-card,
.pkg-one-source .list-layout-stats li,
.pkg-one-source .bullet-list.list-layout-stats .list-item,
.pkg-one-source .hero-split__stat {
  color: var(--pkg-ink);
}

.pkg-one-source .list-layout-stats .core-item-list__heading,
.pkg-one-source .list-layout-cards .core-item-list__heading,
.pkg-one-source .list-layout-numbered .core-item-list__heading {
  color: var(--pkg-navy);
}

.pkg-one-source .list-layout-numbered .core-item-list__num {
  background: linear-gradient(105deg, var(--pkg-navy) 0%, var(--pkg-magenta) 100%);
}

.pkg-one-source .list-layout-numbered .core-item-list__text {
  color: var(--pkg-muted);
}

/* Beat brand-surface “all p are white” rules inside lists. */
.pkg-one-source .pkg-surface-brand-primary .core-item-list,
.pkg-one-source .pkg-surface-brand .core-item-list,
.pkg-one-source .pkg-surface-brand-secondary .core-item-list,
.pkg-one-source .pkg-surface-brand-tertiary .core-item-list,
.pkg-one-source .pkg-surface-accent .core-item-list,
.pkg-one-source .pkg-surface-charcoal .core-item-list,
.pkg-one-source .pkg-surface-dark .core-item-list {
  color: var(--pkg-ink);
}
.pkg-one-source .pkg-surface-brand-primary .core-item-list__heading,
.pkg-one-source .pkg-surface-brand .core-item-list__heading,
.pkg-one-source .pkg-surface-brand-secondary .core-item-list__heading,
.pkg-one-source .pkg-surface-brand-tertiary .core-item-list__heading,
.pkg-one-source .pkg-surface-accent .core-item-list__heading,
.pkg-one-source .pkg-surface-charcoal .core-item-list__heading,
.pkg-one-source .pkg-surface-dark .core-item-list__heading {
  color: var(--pkg-navy);
}
.pkg-one-source .pkg-surface-brand-primary .core-item-list__text,
.pkg-one-source .pkg-surface-brand-primary .core-item-list p,
.pkg-one-source .pkg-surface-brand .core-item-list__text,
.pkg-one-source .pkg-surface-brand .core-item-list p,
.pkg-one-source .pkg-surface-brand-secondary .core-item-list__text,
.pkg-one-source .pkg-surface-brand-secondary .core-item-list p,
.pkg-one-source .pkg-surface-brand-tertiary .core-item-list__text,
.pkg-one-source .pkg-surface-brand-tertiary .core-item-list p,
.pkg-one-source .pkg-surface-accent .core-item-list__text,
.pkg-one-source .pkg-surface-accent .core-item-list p,
.pkg-one-source .pkg-surface-charcoal .core-item-list__text,
.pkg-one-source .pkg-surface-charcoal .core-item-list p,
.pkg-one-source .pkg-surface-dark .core-item-list__text,
.pkg-one-source .pkg-surface-dark .core-item-list p {
  color: var(--pkg-muted);
}

.pkg-one-source .list-layout-stats .core-item-list__item {
  border-bottom: 3px solid var(--pkg-magenta);
}

.pkg-one-source .mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.pkg-one-source .mosaic-layout-stack .mosaic {
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.pkg-one-source .variant-links .mosaic {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pkg-one-source .variant-text-links .mosaic {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
}

.pkg-one-source .variant-links .mosaic-card {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  height: auto;
  overflow: visible;
  border-radius: var(--radius, var(--pkg-radius, 14px));
  padding: 0.45rem 0.85rem;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--pkg-navy) 12%, transparent);
  text-decoration: none;
  color: var(--pkg-navy);
  font-weight: 650;
  font-size: inherit;
  box-shadow: none;
}

.pkg-one-source .variant-text-links .mosaic-card {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  height: auto;
  overflow: visible;
  padding: 0.1rem 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

.pkg-one-source .variant-text-links .mosaic-card:hover,
.pkg-one-source .variant-text-links .mosaic-card:focus-visible {
  text-decoration: underline;
}

.pkg-one-source .variant-text-links .mosaic-card-body,
.pkg-one-source .variant-text-links .mosaic-card-body h3 {
  margin: 0;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.pkg-one-source .section.type-role-hero.variant-links .mosaic-card,
.pkg-one-source .section.type-role-hero.variant-text-links .mosaic-card,
.pkg-one-source .section.type-role-hero .mosaic-card-body h3 {
  font-family: var(--font-hero, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-hero-weight, var(--font-display-weight, 560));
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.type-role-heading.variant-links .mosaic-card,
.pkg-one-source .section.type-role-heading.variant-text-links .mosaic-card,
.pkg-one-source .section.type-role-heading .mosaic-card-body h3 {
  font-family: var(--font-heading, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-heading-weight, var(--font-display-weight, 560));
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.type-role-body.variant-links .mosaic-card,
.pkg-one-source .section.type-role-body.variant-text-links .mosaic-card,
.pkg-one-source .section.type-role-body .mosaic-card-body h3 {
  font-family: var(--font-body, "Plus Jakarta Sans", sans-serif);
  font-weight: var(--font-body-weight, 400);
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.type-role-label.variant-links .mosaic-card,
.pkg-one-source .section.type-role-label.variant-text-links .mosaic-card,
.pkg-one-source .section.type-role-label .mosaic-card-body h3 {
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-label-weight, 700);
  letter-spacing: 0.06em;
  text-transform: var(--case-label, uppercase);
}

.pkg-one-source .section.variant-links.text-scale-xs .mosaic-card,
.pkg-one-source .section.variant-links.text-scale-xs .mosaic-card-body h3,
.pkg-one-source .section.variant-text-links.text-scale-xs .mosaic-card,
.pkg-one-source .section.variant-text-links.text-scale-xs .mosaic-card-body h3 {
  font-size: 0.8125rem;
}
.pkg-one-source .section.variant-links.text-scale-sm .mosaic-card,
.pkg-one-source .section.variant-links.text-scale-sm .mosaic-card-body h3,
.pkg-one-source .section.variant-text-links.text-scale-sm .mosaic-card,
.pkg-one-source .section.variant-text-links.text-scale-sm .mosaic-card-body h3 {
  font-size: 0.875rem;
}
.pkg-one-source .section.variant-links.text-scale-md .mosaic-card,
.pkg-one-source .section.variant-links.text-scale-md .mosaic-card-body h3,
.pkg-one-source .section.variant-text-links.text-scale-md .mosaic-card,
.pkg-one-source .section.variant-text-links.text-scale-md .mosaic-card-body h3 {
  font-size: 0.95rem;
}
.pkg-one-source .section.variant-links.text-scale-lg .mosaic-card,
.pkg-one-source .section.variant-links.text-scale-lg .mosaic-card-body h3,
.pkg-one-source .section.variant-text-links.text-scale-lg .mosaic-card,
.pkg-one-source .section.variant-text-links.text-scale-lg .mosaic-card-body h3 {
  font-size: 1.0625rem;
}
.pkg-one-source .section.variant-links.text-scale-2xl .mosaic-card,
.pkg-one-source .section.variant-links.text-scale-2xl .mosaic-card-body h3,
.pkg-one-source .section.variant-text-links.text-scale-2xl .mosaic-card,
.pkg-one-source .section.variant-text-links.text-scale-2xl .mosaic-card-body h3 {
  font-size: 1.2rem;
}


.pkg-one-source .variant-links.chip-pad-compact .mosaic-card {
  padding: 0.5rem 0.95rem;
  gap: 0;
  line-height: 1;
}
.pkg-one-source .variant-links.chip-pad-default .mosaic-card {
  padding: 1rem 1.9rem;
  line-height: 1.2;
}
.pkg-one-source .variant-links.chip-pad-roomy .mosaic-card {
  padding: 1.5rem 2.85rem;
}
.pkg-one-source .variant-links.chip-pad-compact .mosaic-card-body,
.pkg-one-source .variant-links.chip-pad-compact .mosaic-card-body h3 {
  margin: 0;
  padding: 0;
  line-height: 1.15;
  font-size: inherit;
}

.pkg-one-source .variant-links .mosaic-card::after {
  content: none;
}

.pkg-one-source .variant-links .mosaic-card-body {
  position: static;
  padding: 0;
}

.pkg-one-source .variant-links .mosaic-card-body h3 {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
}

.pkg-one-source .mosaic-card {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--pkg-navy) 8%, transparent);
  border-radius: var(--pkg-radius);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pkg-ink) 5%, transparent);
}

.pkg-one-source .mosaic-card:not(:has(img:not(.mosaic-card__icon))) {
  min-height: 0;
  height: auto;
  color: var(--pkg-ink);
}

.pkg-one-source .mosaic-card:not(:has(img:not(.mosaic-card__icon)))::after {
  content: none;
}

.pkg-one-source .mosaic-card:not(:has(img:not(.mosaic-card__icon))) .mosaic-card-body {
  position: static;
  padding: 1.1rem 1.15rem;
}

/* Link chips have no card photo, so the rule above was the visible gap.
   Chip padding is the only space around the label. */
.pkg-one-source .variant-links .mosaic-card:not(:has(img:not(.mosaic-card__icon))) .mosaic-card-body,
.pkg-one-source .variant-links .mosaic-card-body,
.pkg-one-source .variant-links .mosaic-card-body h3 {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.pkg-one-source .mosaic-card h3 {
  color: var(--pkg-navy);
  margin: 0 0 0.35rem;
}

.pkg-one-source .mosaic-card .mosaic-card-body p {
  color: var(--pkg-muted);
  font-size: 0.9375rem;
  line-height: 1.55;
  font-weight: 400;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain > img:not(.mosaic-card__icon),
.pkg-one-source .mosaic-card.mosaic-card--fit-contain .mosaic-card__photo,
.pkg-one-source .mosaic-card:not([class*="mosaic-card--fit-"]) > img:not(.mosaic-card__icon) {
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  background: transparent;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain {
  min-height: 0;
  height: auto;
  color: var(--pkg-ink);
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain::after,
.pkg-one-source .mosaic-card.mosaic-card--fit-cover::after {
  content: none;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain > img:not(.mosaic-card__icon) {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  background: transparent;
  inset: auto;
  z-index: auto;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain .mosaic-card-body {
  position: static;
  padding: 0.85rem 1.15rem 1.1rem;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-cover {
  min-height: 220px;
  background: var(--pkg-ink, #0f2438);
}

.pkg-one-source .mosaic-card.mosaic-card--fit-cover > img:not(.mosaic-card__icon) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  background: transparent;
  z-index: 0;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-cover .mosaic-card-body {
  display: none;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-behind {
  min-height: 240px;
  isolation: auto;
  color: var(--pkg-ink);
  background: transparent;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-behind::before,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind::after {
  content: none !important;
  display: none !important;
  background: none !important;
  height: 0 !important;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-behind > img:not(.mosaic-card__icon),
.pkg-one-source .mosaic-card.mosaic-card--fit-behind .mosaic-card__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  background: transparent;
  z-index: 0;
  filter: none;
  opacity: 1;
}

.pkg-one-source .mosaic-card.mosaic-card--fit-behind .mosaic-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 0.95rem 1.15rem 1.1rem;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--pkg-pale, #e8f2fa) 30%, transparent) 0%,
    color-mix(in srgb, var(--pkg-pale, #e8f2fa) 50%, transparent) 100%
  );
  backdrop-filter: none;
}

/* Same navy/muted as Split — always, including dark section surfaces. */
.pkg-one-source .mosaic-card.mosaic-card--fit-contain,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind {
  color: var(--pkg-ink);
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain .mosaic-card-body h3,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind .mosaic-card-body h3,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind h3 {
  color: var(--pkg-navy) !important;
  text-shadow: none !important;
  -webkit-text-fill-color: var(--pkg-navy);
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain .mosaic-card-body p,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind .mosaic-card-body p,
.pkg-one-source .mosaic-card.mosaic-card--fit-behind p {
  color: var(--pkg-muted) !important;
  text-shadow: none !important;
  -webkit-text-fill-color: var(--pkg-muted);
}

.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-default {
  background: var(--page-bg, var(--pkg-white, #fff));
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-linen {
  background: var(--pkg-pale, #e8f2fa);
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-paper {
  background: var(--pkg-paper, #f7fafc);
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-charcoal {
  background: var(--forest-deep, var(--pkg-ink, #0f2438));
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-brand_primary {
  background: var(--pkg-navy, #001a5e);
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-brand_secondary {
  background: var(--pkg-magenta, #8b1d23);
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-brand_tertiary {
  background: var(--pkg-blue, #336699);
}
.pkg-one-source .mosaic-card.mosaic-card--fit-contain.mosaic-card--bg-accent {
  background: var(--accent, #2e9b4f);
}

.pkg-one-source .variant-links .mosaic-card.mosaic-card--fit-cover > img,
.pkg-one-source .variant-links .mosaic-card.mosaic-card--fit-contain > img,
.pkg-one-source .variant-links .mosaic-card.mosaic-card--fit-behind > img,
.pkg-one-source .variant-links .mosaic-card img:not(.mosaic-card__icon) {
  position: static;
  inset: auto;
  z-index: auto;
  width: auto;
  height: 3lh;
  max-height: 3lh;
  max-width: 4.5rem;
  object-fit: contain;
  margin: 0;
  background: transparent;
}

.pkg-one-source .mosaic-card img.mosaic-card__icon {
  position: static;
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  margin: 1.1rem 1.15rem 0;
  object-fit: contain;
  background: transparent;
  inset: auto;
  z-index: auto;
}

.pkg-one-source .quote-grid__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.pkg-one-source .quote-card {
  margin: 0;
  background: #fff;
  border-radius: var(--pkg-radius);
  padding: 1.15rem 1.2rem;
  border: 1px solid color-mix(in srgb, var(--pkg-navy) 8%, transparent);
}

.pkg-one-source .quote-card__text,
.pkg-one-source .pkg-surface-brand-primary .quote-card__text,
.pkg-one-source .pkg-surface-brand-secondary .quote-card__text,
.pkg-one-source .pkg-surface-brand-tertiary .quote-card__text,
.pkg-one-source .pkg-surface-charcoal .quote-card__text {
  font-family: var(--font-heading, var(--font-display, Fraunces, serif));
  font-size: 1.12rem;
  line-height: 1.45;
  color: var(--pkg-navy);
}

.pkg-one-source .section.quote-grid.type-role-hero .quote-card__text {
  font-family: var(--font-hero, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-hero-weight, var(--font-display-weight, 560));
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.quote-grid.type-role-heading .quote-card__text {
  font-family: var(--font-heading, var(--font-display, Fraunces, Georgia, serif));
  font-weight: var(--font-heading-weight, var(--font-display-weight, 560));
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.quote-grid.type-role-body .quote-card__text {
  font-family: var(--font-body, "Plus Jakarta Sans", sans-serif);
  font-weight: var(--font-body-weight, 400);
  letter-spacing: normal;
  text-transform: none;
}

.pkg-one-source .section.quote-grid.type-role-label .quote-card__text {
  font-family: var(--font-label, var(--font-body, "Plus Jakarta Sans", sans-serif));
  font-weight: var(--font-label-weight, 700);
  letter-spacing: 0.06em;
  text-transform: var(--case-label, uppercase);
}

.pkg-one-source .section.quote-grid.font-weight-300 .quote-card__text { font-weight: 300; }
.pkg-one-source .section.quote-grid.font-weight-500 .quote-card__text { font-weight: 500; }
.pkg-one-source .section.quote-grid.font-weight-700 .quote-card__text { font-weight: 700; }

.pkg-one-source .section.quote-grid.font-style-normal .quote-card__text { font-style: normal; }
.pkg-one-source .section.quote-grid.font-style-italic .quote-card__text { font-style: italic; }

.pkg-one-source .quote-card cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  color: var(--pkg-ink);
}

.pkg-one-source .quote-card footer span {
  color: var(--pkg-muted);
  font-size: 0.9rem;
}

.pkg-one-source .site-footer {
  background: var(--footer-bg, var(--pkg-navy));
  color: var(--footer-text, #d7e4f0);
}

.pkg-one-source .site-footer a {
  color: #fff;
  text-decoration: none;
}

.pkg-one-source .site-footer a:hover,
.pkg-one-source .site-footer a:focus-visible {
  text-decoration: underline;
}

.pkg-one-source .site-footer .footer-nav a {
  text-decoration: none;
}

.pkg-one-source .site-footer .footer-info a {
  text-decoration: none;
}

.pkg-one-source .site-footer h3 {
  color: #fff;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pkg-one-source .footer-brand {
  color: #fff;
}

.pkg-one-source .footer-mark {
  border-radius: 0;
  width: auto;
  height: 2.75rem;
  object-fit: contain;
}

.pkg-one-source .footer-nav--ruled > li {
  border-bottom-color: rgba(255, 255, 255, 0.22);
}

.pkg-one-source .customer-portal-login__header {
  background: var(--pkg-blue);
  color: #fff;
}

.pkg-one-source .customer-portal-login__title {
  font-family: var(--font-heading, var(--font-display, Fraunces, serif));
  color: #fff;
}

.pkg-one-source .contact-dock__nav {
  background: var(--contact-dock-bg, var(--pkg-navy));
  color: var(--contact-dock-text, var(--contact-dock-fg, #fff));
  border-radius: 0.45rem 0 0 0.45rem;
}

.pkg-one-source .contact-dock__nav a.contact-dock__item,
.pkg-one-source .contact-dock__nav a.contact-dock__item:visited {
  color: var(--contact-dock-text, var(--contact-dock-fg, #fff));
}

.pkg-one-source .contact-dock__nav a.contact-dock__item:hover,
.pkg-one-source .contact-dock__nav a.contact-dock__item:focus-visible,
.pkg-one-source .contact-dock__item:hover,
.pkg-one-source .contact-dock__item:focus-visible {
  color: var(--contact-dock-text-hover, var(--contact-dock-text, #fff));
}

.pkg-one-source .contact-dock__top {
  background: var(--contact-dock-top-bg, var(--pkg-magenta));
  color: var(--contact-dock-top-text, var(--contact-dock-top-fg, #fff));
}

.pkg-one-source .contact-dock__top:hover,
.pkg-one-source .contact-dock__top:focus-visible {
  background: var(--contact-dock-top-bg-hover, color-mix(in srgb, var(--contact-dock-top-bg, var(--pkg-magenta)) 78%, #000));
}

@media (max-width: 900px) {
  .pkg-one-source .hero-split__grid,
  .pkg-one-source .mosaic,
  .pkg-one-source .quote-grid__list,
  .pkg-one-source .hero-split__stats {
    grid-template-columns: 1fr;
  }
}
