/* White surfaces, navy typography, and restrained red accents. */
body {
  --ink: #102a40;
  --ink-soft: #425466;
  --ink-faint: #657483;
  --paper: #fff;
  --tint: #f7f8fa;
  --rule: #e2e7eb;
  --nav: #0b2942;
  --nav-hover: #f4f6f8;
  --accent: #bd1e32;
  --accent-dark: #9f1728;
}
body #cf-home-app,
body.cfp-body {
  --cf-blue: #0b2942;
  --cf-blue-dark: #071f35;
  --cf-deep: #0b2942;
  --cf-navy: #0b2942;
  --cf-red: #bd1e32;
  --cf-sky: #f4f6f8;
  --cf-ice: #f8f9fa;
  --cf-ink: #102a40;
  --cf-copy: #425466;
  --cf-muted: #657483;
  --cf-line: #e2e7eb;
  --cf-white: #fff;
  --cf-soft: #f7f8fa;
  --cf-shadow: none;
  --cf-radius: 4px;
}
/* Preserve one horizontal row at every screen width. */
body.cfp-body .cfp-brandrow,
body .site-masthead .masthead-inner {
  display: grid !important;
  grid-template-columns: minmax(96px, 28%) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: clamp(10px, 3vw, 40px) !important;
  min-height: 130px !important;
  padding-block: 16px !important;
}
body .site-masthead .site-branding {
  min-width: 0;
  width: 100%;
  align-items: flex-start !important;
}
body.cfp-body .cfp-logo,
body .site-branding .custom-logo-link {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cfp-body .cfp-logo img,
body .site-branding .custom-logo {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center;
}
body.cfp-body .cfp-ad,
body .site-masthead .masthead-ad {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 750 / 85;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}
body.cfp-body .cfp-ad img,
body .site-masthead .masthead-ad img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
body.cfp-body .cfp-brandbar { padding: 0 !important; }
/* Quiet navigation, including mobile menus and dropdowns. */
body #cf-home-app .cf-main-nav,
body.cfp-body .cfp-nav,
body .site-nav {
  background: #fff !important;
  color: #0b2942 !important;
  border-top: 1px solid #e2e7eb;
  border-bottom: 1px solid #e2e7eb;
  box-shadow: none !important;
}
body #cf-home-app .cf-nav-links a,
body #cf-home-app .cf-nav-button,
body.cfp-body .cfp-nav a,
body.cfp-body .cfp-mini-title,
body .site-nav .nav-menu a,
body .site-nav .nav-toggle {
  color: #0b2942 !important;
  border-radius: 0 !important;
}
body #cf-home-app .cf-nav-links a:hover,
body #cf-home-app .cf-nav-links a[aria-current="page"],
body #cf-home-app .cf-nav-button:hover,
body.cfp-body .cfp-nav a:hover,
body.cfp-body .cfp-nav .current-menu-item > a,
body.cfp-body .cfp-nav .cfp-home,
body .site-nav .nav-menu a:hover,
body .site-nav .current-menu-item > a {
  background: #f4f6f8 !important;
  color: #0b2942 !important;
}
body #cf-home-app .cf-nav-links a[aria-current="page"],
body.cfp-body .cfp-nav .current-menu-item > a,
body .site-nav .current-menu-item > a {
  box-shadow: inset 0 -2px 0 #bd1e32 !important;
}
body #cf-home-app .cf-nav-links .sub-menu,
body.cfp-body .cfp-wordpress-menu .sub-menu,
body .site-nav .nav-menu .sub-menu {
  background: #fff !important;
  border-color: #e2e7eb !important;
  border-radius: 0 !important;
  box-shadow: 0 6px 16px rgba(11, 41, 66, .06) !important;
}
body.cfp-body .cfp-search input { background: #f4f6f8; color: #102a40; }
body.cfp-body .cfp-mini-mark { background: #0b2942; border-left: 3px solid #bd1e32; box-shadow: none; border-radius: 2px; }
body #cf-home-app .cf-topic-strip { box-shadow: none !important; }
body #cf-home-app .cf-topic,
body #cf-home-app .cf-topic-search { border-color: #e2e7eb !important; box-shadow: none !important; }
body #cf-home-app .cf-topic-search { background: #f7f8fa !important; }
body #cf-home-app .cf-ticker-label {
  animation: none !important;
  background: #0b2942 !important;
  color: #fff !important;
  box-shadow: none !important;
}
body #cf-home-app .cf-ticker-track a { background: #fff !important; }
body #cf-home-app .cf-ticker-track a:hover { background: #f7f8fa !important; color: #0b2942 !important; }
body #cf-home-app .cf-section-head { border-bottom: 1px solid #e2e7eb !important; }
body #cf-home-app .cf-section-head h2 { color: #0b2942 !important; }
body #cf-home-app .cf-lead-image::before,
body #cf-home-app .cf-card-media::before,
body #cf-home-app .cf-list-card-media::before,
body #cf-home-app .cf-mosaic-lead::before { aspect-ratio: 3 / 1 !important; }
/* Calm article and category surfaces; keep market and sharing colors intact. */
body .cfc-archive {
  --cfc-blue: #0b2942;
  --cfc-dark: #0b2942;
  --cfc-red: #bd1e32;
  --cfc-muted: #657483;
  --cfc-line: #e2e7eb;
  --cfc-soft: #f7f8fa;
}
body.cfp-body .cfp-sidebox,
body.cfp-body .cfp-related-card,
body.cfp-body .cfp-reactions { box-shadow: none !important; border-radius: 4px !important; }
body.cfp-body .cfp-article-ad,
body.cfp-body .cfp-adbox,
body .cfc-media,
body .cfc-fallback { background: #f7f8fa !important; box-shadow: none !important; }
body.cfp-body .cfp-section-head::after { height: 1px; background: #e2e7eb; }
body.cfp-body .cfp-tags a { background: #f4f6f8; color: #0b2942; border-radius: 4px; }
body.cfp-body .cfp-top,
body .site-topbar { background: #f7f8fa; color: #596b7a; border-bottom: 1px solid #e2e7eb; }
body.cfp-body .cfp-top a,
body .site-topbar a { color: #0b2942; }
body #cf-home-app .cf-site-footer,
body.cfp-body .cfp-footer,
body .site-footer {
  background: #f7f8fa !important;
  color: #425466 !important;
  border-top: 1px solid #e2e7eb;
}
body #cf-home-app .cf-site-footer h3,
body #cf-home-app .cf-site-footer a,
body.cfp-body .cfp-footer h3,
body.cfp-body .cfp-footer a,
body .site-footer .widget-title,
body .site-footer a { color: #0b2942 !important; }
body #cf-home-app .cf-site-footer p,
body #cf-home-app .cf-footer-bottom,
body.cfp-body .cfp-footer p,
body.cfp-body .cfp-copy { color: #596b7a !important; }
body #cf-home-app .cf-footer-bottom,
body.cfp-body .cfp-copy,
body .site-footer .footer-base { border-top-color: #e2e7eb !important; }
@media (max-width: 900px) {
  body #cf-home-app .cf-nav-links { background: #fff !important; }
  body #cf-home-app .cf-nav-links .sub-menu { box-shadow: none !important; }
}
@media (max-width: 600px) {
    body.cfp-body .cfp-brandrow,
  body .site-masthead .masthead-inner {
    grid-template-columns: minmax(96px, 30%) minmax(0, 1fr) !important;
    min-height: 84px !important;
    column-gap: 10px !important;
    padding-block: 14px !important;
  }
    body.cfp-body .cfp-logo,
  body .site-branding .custom-logo-link { max-width: 170px !important; }
}

/* Homepage footer uses the complete bilingual wordmark. */
body #cf-home-app.cf-home-app .cf-footer-brand {
  width: 320px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
body #cf-home-app.cf-home-app .cf-lead-image::before,
body #cf-home-app.cf-home-app .cf-card-media::before,
body #cf-home-app.cf-home-app .cf-list-card-media::before,
body #cf-home-app.cf-home-app .cf-mosaic-lead::before {
  aspect-ratio: 1 / 1 !important;
}
/* One masthead layout owns both the complete logo and horizontal advertisement. */
body #cf-home-app.cf-home-app .cf-masthead-inner {
  display: grid !important;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px clamp(16px, 3vw, 40px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding-block: 16px !important;
}
body #cf-home-app.cf-home-app .cf-brand-stack {
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-items: flex-start !important;
  justify-self: start;
  width: 100%;
  min-width: 0;
}
body #cf-home-app.cf-home-app .cf-brand {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body #cf-home-app.cf-home-app .cf-brand img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
body #cf-home-app.cf-home-app .cf-masthead-ad {
  display: flex !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: stretch;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body #cf-home-app.cf-home-app .cf-masthead-ad > .cfpam-slot {
  flex: 0 1 auto;
  width: 100% !important;
  max-width: 750px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  aspect-ratio: var(--cfpam-dw, 750) / var(--cfpam-dh, 85) !important;
}
body #cf-home-app.cf-home-app .cf-masthead-ad img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
body #cf-home-app.cf-home-app .cf-masthead-ad > .cfpam-slot img { height: 100% !important; }
body #cf-home-app.cf-home-app .cf-masthead-ad > img { height: auto !important; }
@media (max-width: 900px) {
  body #cf-home-app.cf-home-app .cf-masthead-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    padding-block: 12px !important;
  }
  body #cf-home-app.cf-home-app .cf-brand { max-width: 240px !important; }
  body #cf-home-app.cf-home-app .cf-masthead-ad {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  body #cf-home-app.cf-home-app .cf-masthead-ad > .cfpam-slot {
    max-width: 100% !important;
    aspect-ratio: var(--cfpam-mw, 320) / var(--cfpam-mh, 50) !important;
  }
}

/* Keep the complete wordmark visible in navigation throughout a page scroll. */
body #cf-home-app.cf-home-app {
  overflow: clip;
}
body #cf-home-app .cf-sticky-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  background: #fff;
}
body.admin-bar #cf-home-app .cf-sticky-header { top: 32px; }
body #cf-home-app .cf-sticky-header .cf-main-nav {
  position: relative;
  top: auto;
}
body #cf-home-app .cf-nav-inner { gap: 12px; }
body #cf-home-app .cf-sticky-brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  align-self: center;
  flex: 0 0 150px;
  width: 150px;
  min-height: 44px;
}
body #cf-home-app .cf-sticky-brand-image {
  display: block;
  width: 150px;
  height: 50px;
  object-fit: contain;
}
body #cf-home-app .cf-nav-tools { margin-left: auto; }
body.cfp-body .cfp-mini-mark {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.cfp-body.cfp-scrolled .cfp-mini-logo {
  width: auto;
  flex: 0 0 auto;
}
@media (max-width: 782px) {
  body.admin-bar #cf-home-app .cf-sticky-header { top: 46px; }
}
@media (max-width: 700px) {
  body.cfp-body.cfp-scrolled .cfp-mini-logo {
    width: 42px;
    min-width: 42px;
  }
}

@media (min-width: 901px) and (max-width: 1150px) {
  body #cf-home-app .cf-nav-links > li > a {
    padding-inline: 10px;
    font-size: 19px;
  }
}
