:root {
  --font-site: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --brand-50: #fef2f2;
  --brand-100: #fee2e2;
  --brand-200: #fecaca;
  --brand-300: #fca5a5;
  --brand-400: #f87171;
  --brand-500: #ef4444;
  --brand-600: #dc2626;
  --brand-700: #b91c1c;
  --brand-800: #991b1b;
  --brand-900: #7f1d1d;
  --brand-950: #450a0a;
  --ink-50: #f7f8fa;
  --ink-100: #edf0f3;
  --ink-200: #d6dbe1;
  --ink-300: #bdc5ce;
  --ink-400: #94a1af;
  --ink-500: #748598;
  --ink-600: #5c6f89;
  --ink-700: #485d79;
  --ink-800: #3b526f;
  --ink-900: #1f2e42;
  --ink-950: #1f2e42;
  --ink-900-rgb: 51 75 107;
  --accent-world: #ea580c;
  --accent-politics: var(--brand-700);
  --accent-magazine: #4c1d95;
  --accent-video: #dc2626;
  --page-max: 80rem;
  --page-gutter: 1rem;
  --section-space: clamp(3rem, 7vw, 5rem);
}

/* Portal header: reference layout */
.site-header-layout-portal_static { border: 0; background: var(--brand-700); }
.portal-static-header { overflow: hidden; color: #fff; background: var(--brand-700); }
.site-container.portal-static-shell { width: min(calc(100% - 2rem), 80rem); margin-inline: auto; }
.portal-static-meta { border: 0; background: color-mix(in srgb, var(--brand-800) 90%, #8d1208); }
.portal-static-meta-inner { display: flex; min-height: 2.15rem; align-items: center; justify-content: space-between; gap: 1.5rem; color: rgb(255 255 255 / .65); font-size: .64rem; font-weight: 800; letter-spacing: .035em; }
.portal-static-date { flex: 0 0 auto; white-space: nowrap; }
.portal-static-date i { display: inline-block; width: .2rem; height: .2rem; margin: 0 .48rem; border-radius: 50%; background: rgb(255 255 255 / .28); vertical-align: middle; }
.portal-static-meta-links { min-width: 0; overflow: hidden; white-space: nowrap; }
.portal-static-meta-links > ul { display: flex; align-items: center; justify-content: flex-end; }
.portal-static-meta-links li { display: inline-flex; align-items: center; }
.portal-static-meta-links li + li::before { content: "•"; margin: 0 .7rem; color: rgb(255 255 255 / .22); }
.portal-static-meta-links a { display: inline-flex; min-height: 2.15rem; align-items: center; color: inherit; text-transform: uppercase; transition: color .18s ease; }
.portal-static-meta-links a:hover, .portal-static-meta-links a:focus-visible { color: #fff; outline: none; }
.portal-static-body { background: linear-gradient(180deg, var(--brand-600) 0%, var(--brand-700) 76%); }
.portal-static-main-inner { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1.25rem; }
.portal-static-brand, .portal-static-actions { display: flex; min-width: 0; align-items: center; }
.portal-static-brand { gap: .7rem; }
.portal-static-actions { gap: .3rem; }
.portal-static-logo-link { display: inline-flex; flex: 0 0 auto; align-items: center; }
.portal-static-logo { display: block; width: auto; max-width: 12.5rem; height: 2.8rem; object-fit: contain; }
.portal-static-logo-fallback { color: #fff; font-size: 1.65rem; font-weight: 900; letter-spacing: -.055em; }
.portal-static-icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border: 0; border-radius: 50%; color: #fff; background: transparent; padding: 0; transition: background-color .18s ease, transform .18s ease; }
.portal-static-menu-trigger { width: 2.35rem; }
.portal-static-icon svg { width: 1.6rem; height: 1.6rem; }
button.portal-static-icon:hover, button.portal-static-icon:focus-visible { background: rgb(255 255 255 / .13); outline: none; }
.portal-static-login { display: inline-flex; min-height: 2rem; align-items: center; gap: .4rem; margin-left: .35rem; border: 1px solid rgb(255 255 255 / .22); border-radius: 999px; padding: .3rem .8rem; background: rgb(132 0 0 / .1); font-size: .74rem; font-weight: 850; white-space: nowrap; }
.portal-static-login svg { width: 1rem; height: 1rem; }
.portal-static-navigation { background: transparent; }
.portal-static-navigation-inner { display: flex; min-height: 3.05rem; align-items: center; justify-content: space-between; gap: 1.25rem; }
.portal-static-menu { min-width: 0; overflow: visible; white-space: nowrap; }
.portal-static-menu::-webkit-scrollbar { display: none; }
.portal-static-menu > ul { display: flex; min-width: max-content; align-items: center; gap: .18rem; }
.portal-static-menu > ul > li { position: relative; flex: 0 0 auto; }
.portal-static-menu > ul > li > a { display: inline-flex; min-height: 2.2rem; align-items: center; gap: .3rem; border-radius: 999px; padding: .4rem .78rem; color: #fff; font-size: .93rem; font-weight: 820; letter-spacing: -.012em; transition: background-color .18s ease, transform .18s ease; }
.portal-static-menu > ul > li > a:hover, .portal-static-menu > ul > li > a:focus-visible { background: rgb(255 255 255 / .12); outline: none; transform: translateY(-1px); }
.portal-static-submenu { position: absolute; z-index: 70; top: calc(100% + .25rem); left: 0; visibility: hidden; min-width: 13rem; overflow: hidden; border: 1px solid rgb(15 23 42 / .1); border-radius: .65rem; padding-block: .35rem; background: #fff; box-shadow: 0 1rem 2.4rem rgb(15 23 42 / .2); opacity: 0; transform: translateY(.35rem); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.portal-static-submenu a { display: block; padding: .62rem .85rem; color: var(--ink-900); font-size: .8rem; font-weight: 700; }
.portal-static-submenu a:hover, .portal-static-submenu a:focus-visible { color: var(--brand-700); background: var(--brand-50); outline: none; }
.portal-static-menu li:hover > .portal-static-submenu, .portal-static-menu li:focus-within > .portal-static-submenu { visibility: visible; opacity: 1; transform: translateY(0); }
.portal-static-live-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .4rem; }
.portal-static-live { display: inline-flex; min-height: 2.1rem; flex: 0 0 auto; align-items: center; gap: .42rem; border-radius: 999px; padding: .4rem .95rem; color: #fff; background: #164bc1; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1), 0 .25rem .8rem rgb(0 0 0 / .12); font-size: .74rem; font-weight: 900; white-space: nowrap; transition: filter .18s ease, transform .18s ease; }
.portal-static-live:hover, .portal-static-live:focus-visible { color: #fff; filter: brightness(1.12); outline: none; transform: translateY(-1px); }
.portal-static-live svg { width: 1.3rem; height: 1.3rem; flex: 0 0 auto; transform-origin: center; animation: portal-live-pulse 1.45s ease-in-out infinite; }
@keyframes portal-live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .42; transform: scale(.82); }
}
@media (prefers-reduced-motion: reduce) {
  .portal-static-live svg { animation: none; }
}
.portal-static-ticker { display: flex; min-height: 2.4rem; align-items: center; gap: .7rem; overflow: hidden; border-radius: .5rem .5rem 0 0; padding-inline: 1rem; color: #fff; background: #202020; }
.portal-static-ticker > svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.portal-static-ticker-copy { display: flex; min-width: 0; align-items: center; gap: 1rem; overflow: hidden; white-space: nowrap; }
.portal-static-ticker-copy strong { overflow: hidden; font-size: .72rem; font-weight: 750; text-overflow: ellipsis; }
.portal-static-ticker-copy i { width: .28rem; height: .28rem; flex: 0 0 auto; border-radius: 50%; background: #e33a23; }
@media (max-width: 69rem) {
  .portal-static-meta-links li:nth-child(n + 6) { display: none; }
}
@media (max-width: 63.999rem) {
  .portal-static-meta { display: none; }
  .portal-static-main-inner { min-height: 4rem; }
  .portal-static-actions > span { display: none; }
  .portal-static-navigation-inner { min-height: 2.85rem; }
  .portal-static-menu { overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .portal-static-submenu { display: none; }
}
@media (max-width: 39.999rem) {
  .site-container.portal-static-shell { width: min(calc(100% - 1.25rem), 80rem); }
  .portal-static-navigation { display: none; }
  .portal-static-logo { max-width: 10rem; height: 2.3rem; }
  .portal-static-menu > ul > li > a { min-height: 1.9rem; padding-inline: .62rem; font-size: .76rem; }
  .portal-static-live-actions { display: none; }
  .portal-static-ticker { min-height: 2.25rem; padding-inline: .75rem; }
  .portal-static-ticker-copy strong { font-size: .68rem; }
  .portal-static-ticker-copy strong + i, .portal-static-ticker-copy i + strong { display: none; }
}


html { max-width: 100%; scroll-behavior: smooth; font-family: var(--font-site); overflow-x: hidden; }
body { min-width: 20rem; max-width: 100%; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
body.is-dialog-open { overflow: hidden; }

.site-container { width: min(100% - (var(--page-gutter) * 2), var(--page-max)); margin-inline: auto; }
.section-space { padding-block: var(--section-space); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.25rem, 3vw, 2rem); }

.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; border-radius: .75rem; padding-inline: 1rem; font-size: .875rem; font-weight: 800; transition: background-color .2s, border-color .2s, color .2s, transform .2s; }
.button:active { transform: translateY(1px); }
.button-primary { background: var(--brand-700); color: white; }
.button-primary:hover { background: var(--brand-800); }
.button-secondary { border: 1px solid var(--ink-300); background: white; color: var(--ink-900); }
.button-secondary:hover { border-color: var(--ink-400); background: var(--ink-50); }
.button-ghost { color: var(--brand-700); }
.button-ghost:hover { background: var(--brand-50); }
.icon-button { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--ink-200); border-radius: .75rem; font-size: .875rem; font-weight: 800; transition: background-color .2s, border-color .2s; }
.icon-button:hover { background: var(--ink-50); }

.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; transform: translateY(-150%); border-radius: .5rem; background: var(--ink-900); padding: .75rem 1rem; color: white; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.has-frontend-admin-bar { padding-top: 2.75rem; }
.frontend-admin-bar { position: fixed; z-index: 100; top: 0; right: 0; left: 0; height: 2.75rem; border-bottom: 1px solid rgb(255 255 255 / .12); background: #101827; color: #f8fafc; box-shadow: 0 1px 0 rgb(15 23 42 / .2); font-family: var(--font-site); }
.frontend-admin-bar__inner { display: flex; width: 100%; height: 100%; align-items: stretch; padding-inline: max(.75rem, calc((100vw - 90rem) / 2)); }
.frontend-admin-bar__brand, .frontend-admin-bar__links > a, .frontend-admin-bar__account > a, .frontend-admin-bar__account button { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .45rem; padding: 0 .75rem; color: #e2e8f0; font-size: .8125rem; font-weight: 650; white-space: nowrap; transition: background-color .15s, color .15s; }
.frontend-admin-bar__brand { color: #fff; font-weight: 750; }
.frontend-admin-bar__brand:hover, .frontend-admin-bar__links > a:hover, .frontend-admin-bar__account > a:hover, .frontend-admin-bar__account button:hover { background: #263247; color: #fff; }
.frontend-admin-bar__brand i, .frontend-admin-bar__links i { font-size: .9rem; color: #93c5fd; }
.frontend-admin-bar__links { display: flex; min-width: 0; flex: 1; align-items: stretch; overflow-x: auto; scrollbar-width: none; }
.frontend-admin-bar__links::-webkit-scrollbar { display: none; }
.frontend-admin-bar__account { display: flex; flex: 0 0 auto; align-items: stretch; border-left: 1px solid rgb(255 255 255 / .12); }
.frontend-admin-bar__account > a { padding-left: .6rem; }
.frontend-admin-bar__avatar { display: inline-flex; width: 1.65rem; height: 1.65rem; align-items: center; justify-content: center; border-radius: .35rem; background: #2563eb; color: #fff; font-size: .7rem; font-weight: 800; }
.frontend-admin-bar__account form { display: flex; margin: 0; }
.frontend-admin-bar__account button { border: 0; background: transparent; cursor: pointer; font-size: 1rem; }
@media (max-width: 48rem) {
  .has-frontend-admin-bar { padding-top: 3rem; }
  .frontend-admin-bar { height: 3rem; }
  .frontend-admin-bar__brand, .frontend-admin-bar__links > a, .frontend-admin-bar__account > a, .frontend-admin-bar__account button { min-height: 3rem; padding-inline: .65rem; }
  .frontend-admin-bar__brand span, .frontend-admin-bar__username { display: none; }
}
.dialog-backdrop { position: fixed; inset: 0; z-index: 60; align-items: flex-start; justify-content: center; background: rgb(var(--ink-900-rgb) / .68); padding: 1rem; backdrop-filter: blur(3px); }
.dialog-backdrop:not(.hidden) { display: flex; }
.dialog-panel { width: min(100%, 42rem); overflow: hidden; border-radius: 1rem; background: white; box-shadow: 0 24px 64px rgb(var(--ink-900-rgb) / .24); }
.dialog-backdrop.offcanvas-backdrop { justify-content: flex-end; padding: 0; }
.offcanvas-panel { width: min(92vw, 30rem); height: 100%; box-shadow: -20px 0 60px rgb(var(--ink-900-rgb) / .22); animation: offcanvas-in .24s ease-out both; }
@keyframes offcanvas-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.nav-scroll { scrollbar-width: none; }
.nav-scroll::-webkit-scrollbar { display: none; }
.hero-pagination-shell { display: flex; width: min(100%, 52rem); align-items: center; overflow: hidden; border-radius: 999px; background: white; padding: .35rem; box-shadow: 0 10px 30px rgb(var(--ink-900-rgb) / .18); }
.hero-pagination { display: flex; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.hero-pagination::-webkit-scrollbar { display: none; }
.hero-pagination button { min-width: 2.5rem; height: 2.5rem; border-radius: 999px; color: var(--ink-700); font-size: .75rem; font-weight: 800; }
.hero-pagination button[aria-selected="true"] { background: var(--brand-700); color: white; }
.hero-pagination-arrow { display: inline-flex; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; align-items: center; justify-content: center; border-radius: 999px; color: var(--brand-700); transition: background-color .2s, color .2s; }
.hero-pagination-arrow:hover { background: var(--brand-50); color: var(--brand-800); }
.hero-main-viewport { cursor: grab; touch-action: pan-y; user-select: none; }
.hero-main-viewport.is-dragging { cursor: grabbing; }
.hero-main-viewport [data-hero-slide] { transition: transform .18s ease-out; }
.hero-main-viewport h2, .top-headlines-viewport span { overflow-wrap: anywhere; }
.hero-main-viewport.is-dragging [data-hero-slide] { transition: none; }
.hero-side-slider { overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-x pan-y; }
.hero-side-slider::-webkit-scrollbar { display: none; }
@media (min-width: 64rem) {
  [data-hero-slider] .hero-main-viewport { height: var(--hero-desktop-height, 640px); min-height: var(--hero-desktop-height, 640px); }
  [data-hero-slider] .hero-side-slider { height: var(--hero-desktop-height, 640px); grid-template-rows: repeat(2, minmax(0, 1fr)); }
  [data-top-headlines] .top-headlines-widget { height: var(--top-headlines-height, 220px); }
}
.top-headlines-widget { isolation: isolate; }
.top-headlines-tab { display: flex; min-height: 0; flex: 1; align-items: center; justify-content: center; border-bottom: 1px solid rgb(255 255 255 / .14); color: var(--ink-300); font-size: .6875rem; font-weight: 900; transition: background-color .2s, color .2s; }
.top-headlines-tab:last-child { border-bottom: 0; }
.top-headlines-tab:hover { background: rgb(255 255 255 / .1); color: white; }
.top-headlines-tab[aria-selected="true"] { background: var(--brand-700); color: white; }
.top-headlines-viewport { cursor: grab; touch-action: pan-y; user-select: none; }
.top-headlines-viewport.is-dragging { cursor: grabbing; }
.top-headlines-viewport [data-top-headlines-slide] { transition: transform .18s ease-out; }
.top-headlines-viewport.is-dragging [data-top-headlines-slide] { transition: none; }
.showcase-slider-page[aria-selected="true"] { background: var(--brand-700); }
.showcase-slider-viewport.is-dragging { cursor: grabbing; }
.showcase-slider-viewport [data-news-showcase-slide] { transition: transform .18s ease-out; }
.showcase-slider-viewport.is-dragging [data-news-showcase-slide] { transition: none; }
.headline-mosaic-page[aria-selected="true"] { background: var(--brand-700); }
.headline-mosaic-viewport.is-dragging { cursor: grabbing; }
.headline-mosaic-viewport [data-headline-mosaic-slide] { transition: transform .18s ease-out; }
.headline-mosaic-viewport.is-dragging [data-headline-mosaic-slide] { transition: none; }
.headline-side-page[aria-selected="true"] { background: var(--brand-700); }
.youtube-follow-band:hover { filter: brightness(.88); }
[data-headline-side-track] { scrollbar-width: none; }
[data-headline-side-track]::-webkit-scrollbar { display: none; }
.sidebar-slider-page[aria-selected="true"] { background: var(--brand-700); }
.sidebar-slider-viewport { cursor: grab; touch-action: pan-y; user-select: none; }
.sidebar-slider-viewport.is-dragging { cursor: grabbing; }
.sidebar-slider-viewport [data-sidebar-slider-slide] { transition: transform .18s ease-out; }
.sidebar-slider-viewport.is-dragging [data-sidebar-slider-slide] { transition: none; }
.news-card-track { cursor: grab; overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-x pan-y; }
.news-card-track::-webkit-scrollbar { display: none; }
.news-card-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.news-slider-arrow { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border: 1px solid var(--ink-300); border-radius: 999px; background: white; color: var(--brand-700); transition: border-color .2s, background-color .2s, color .2s; }
.news-slider-arrow:hover { border-color: var(--brand-300); background: var(--brand-50); color: var(--brand-800); }
.video-gallery-list { scrollbar-color: var(--brand-600) var(--ink-800); scrollbar-width: thin; }
.js .content-widget.is-collapsible:not(.is-expanded) .content-widget-body { max-height: var(--content-collapsed-height); overflow: hidden; }
.content-widget-fade { position: absolute; inset-inline: 0; bottom: 0; height: 8rem; background: linear-gradient(to bottom, transparent, white 88%); pointer-events: none; }
.content-widget-rich { color: var(--ink-700); font-size: 1rem; line-height: 1.8; }
.content-widget-rich > * + * { margin-top: 1.25rem; }
.content-widget-rich h2 { margin-top: 2rem; color: var(--ink-950); font-size: 1.5rem; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.content-widget-rich h3 { margin-top: 2rem; color: var(--ink-950); font-size: 1.375rem; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; }
.content-widget-rich h4 { margin-top: 1.75rem; color: var(--ink-900); font-size: 1.125rem; font-weight: 650; line-height: 1.4; }
.content-widget-rich ul, .content-widget-rich ol { padding-left: 1.4rem; }
.content-widget-rich ul { list-style: disc; }
.content-widget-rich ol { list-style: decimal; }
.content-widget-rich li + li { margin-top: .4rem; }
.content-widget-rich blockquote { border-left: .25rem solid var(--brand-600); border-radius: 0 .75rem .75rem 0; background: var(--brand-50); padding: 1rem 1.25rem; color: var(--ink-800); }
.content-widget-rich blockquote cite { display: block; margin-top: .5rem; color: var(--ink-500); font-size: .8125rem; font-style: normal; }
.content-widget-rich figure { margin-top: 1.75rem; }
.content-widget-rich figcaption { margin-top: .5rem; color: var(--ink-500); font-size: .75rem; line-height: 1.5; }
.content-widget-table { overflow-x: auto; border: 1px solid var(--ink-200); border-radius: .75rem; }
.content-widget-table table { width: 100%; min-width: 36rem; border-collapse: collapse; text-align: left; }
.content-widget-table caption { padding: .875rem 1rem; background: var(--ink-50); color: var(--ink-700); font-size: .8125rem; font-weight: 600; text-align: left; }
.content-widget-table th, .content-widget-table td { border-top: 1px solid var(--ink-200); padding: .75rem 1rem; vertical-align: top; }
.content-widget-table th { background: var(--ink-50); color: var(--ink-900); font-size: .8125rem; font-weight: 650; }
.content-widget-table td { font-size: .875rem; }
.content-widget.is-expanded [data-content-widget-icon] { transform: rotate(180deg); }

@media (min-width: 64rem) {
  .featured-category-layout--lead-left { grid-template-areas: "lead lead item-1 item-2" "lead lead item-3 item-4"; }
  .featured-category-layout--lead-center { grid-template-areas: "item-1 lead lead item-2" "item-3 lead lead item-4"; }
  .featured-category-layout--lead-right { grid-template-areas: "item-1 item-2 lead lead" "item-3 item-4 lead lead"; }
  .featured-category-lead { grid-area: lead; }
  .featured-category-item:nth-of-type(2) { grid-area: item-1; }
  .featured-category-item:nth-of-type(3) { grid-area: item-2; }
  .featured-category-item:nth-of-type(4) { grid-area: item-3; }
  .featured-category-item:nth-of-type(5) { grid-area: item-4; }
  .category-mosaic { grid-template-rows: repeat(3, auto); }
  .category-mosaic--lead-left { grid-template-areas: "lead lead item-1 item-2" "lead lead item-3 item-4" "item-5 item-6 item-7 item-8"; }
  .category-mosaic--lead-center { grid-template-areas: "item-1 lead lead item-2" "item-3 lead lead item-4" "item-5 item-6 item-7 item-8"; }
  .category-mosaic--lead-right { grid-template-areas: "item-1 item-2 lead lead" "item-3 item-4 lead lead" "item-5 item-6 item-7 item-8"; }
  .category-mosaic-lead { grid-area: lead; }
  .category-mosaic-item:nth-of-type(2) { grid-area: item-1; }
  .category-mosaic-item:nth-of-type(3) { grid-area: item-2; }
  .category-mosaic-item:nth-of-type(4) { grid-area: item-3; }
  .category-mosaic-item:nth-of-type(5) { grid-area: item-4; }
  .category-mosaic-item:nth-of-type(6) { grid-area: item-5; }
  .category-mosaic-item:nth-of-type(7) { grid-area: item-6; }
  .category-mosaic-item:nth-of-type(8) { grid-area: item-7; }
  .category-mosaic-item:nth-of-type(9) { grid-area: item-8; }
  .category-mosaic-lead-image { min-height: 18rem; }
}

.article-title { font-weight: bold !important; }
.article-spot { font-weight: 600; line-height: 1.7rem; }
.article-tool-button { position: relative; }
.article-tool-button::before, .article-tool-button::after { position: absolute; z-index: 30; left: 50%; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease, visibility .15s ease; }
.article-tool-button::before { content: ""; bottom: calc(100% + .2rem); border: .3rem solid transparent; border-top-color: var(--ink-900); transform: translate(-50%, .2rem); }
.article-tool-button::after { content: attr(data-tooltip); bottom: calc(100% + .78rem); width: max-content; max-width: 13rem; border-radius: .45rem; padding: .42rem .58rem; color: white; background: var(--ink-900); box-shadow: 0 .45rem 1.2rem rgb(15 23 42 / .2); font-size: .72rem; font-weight: 700; line-height: 1.25; text-align: center; white-space: nowrap; transform: translate(-50%, .25rem); }
.article-tool-button:hover::before, .article-tool-button:hover::after, .article-tool-button:focus-visible::before, .article-tool-button:focus-visible::after { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.article-toolbar { border-bottom: 1px solid #e5e7eb; background-color: #f3f4f6; }
.article-heading-container { background-color: #fff; }
.article-content { font-size: var(--article-font-size, 1.0625rem); line-height: 1.85; }
.article-content > * + * { line-height: 1.7rem; }
.article-content h1, .article-content h2, .article-content h3, .article-content h4, .article-content h5, .article-content h6 { margin-top: 1rem; margin-bottom: .5rem; }
.article-content p { margin-bottom: 15px; text-align: left; }
.article-content h2 { color: var(--ink-950); font-size: 1.5em; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.article-content h3 { color: var(--ink-950); font-size: 1.25em; font-weight: 700; line-height: 1.3; }
.article-content ul { list-style: disc; padding-left: 1.5em; }
.article-content li + li { margin-top: .45em; }
.article-content blockquote { border-left: .25rem solid var(--brand-700); border-radius: 0 .75rem .75rem 0; background: var(--brand-50); padding: 1em 1.25em; color: var(--ink-800); font-weight: 600; }
.article-content table, .content-widget-rich table { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 1.5rem 0; overflow-x: auto; border: 1px solid var(--ink-200); border-collapse: collapse; border-spacing: 0; background: #fff; font-size: .9375rem; line-height: 1.55; -webkit-overflow-scrolling: touch; }
.article-content caption, .content-widget-rich caption { padding: .75rem .875rem; color: var(--ink-700); font-size: .875rem; font-weight: 700; text-align: left; }
.article-content th, .article-content td, .content-widget-rich th, .content-widget-rich td { min-width: 8rem; border: 1px solid var(--ink-200); padding: .7rem .8rem; vertical-align: top; text-align: left; }
.article-content th, .content-widget-rich th { background: var(--ink-50); color: var(--ink-950); font-weight: 800; }
.article-content tbody tr:nth-child(even) td, .content-widget-rich tbody tr:nth-child(even) td { background: #f8fafc; }
.article-content figure[data-related-news="1"], .content-widget-rich figure[data-related-news="1"] { overflow: hidden; margin: 1.5rem 0; border: 2px solid #fff; padding: 0; background: var(--brand-700); box-shadow: 0 0 0 1px var(--brand-700); }
.article-content figure[data-related-news="1"] > a, .content-widget-rich figure[data-related-news="1"] > a { display: grid; grid-template-columns: minmax(8rem, 28%) minmax(0, 1fr); min-height: 8.25rem; color: #fff; text-decoration: none; }
.article-content figure[data-related-news="1"]:not([data-related-news-media-id]) > a, .content-widget-rich figure[data-related-news="1"]:not([data-related-news-media-id]) > a { grid-template-columns: 1fr; }
.article-content figure[data-related-news="1"] img, .content-widget-rich figure[data-related-news="1"] img { display: block; width: 100%; height: 100%; min-height: 8.25rem; margin: 0; border-radius: 0; object-fit: cover; box-shadow: none; }
.article-content figure[data-related-news="1"] > a > span, .content-widget-rich figure[data-related-news="1"] > a > span { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: .75rem; padding: 1rem 1.25rem; }
.article-content figure[data-related-news="1"] strong, .content-widget-rich figure[data-related-news="1"] strong { color: inherit; font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 800; line-height: 1.25; }
.article-content figure[data-related-news="1"] > a > span > span, .content-widget-rich figure[data-related-news="1"] > a > span > span { display: inline-flex; align-items: center; padding: .42rem .65rem; color: var(--brand-700); background: #fff; font-size: .8125rem; font-weight: 800; line-height: 1.2; }
.article-content figure[data-related-news="1"] > a:hover strong, .content-widget-rich figure[data-related-news="1"] > a:hover strong { text-decoration: underline; text-underline-offset: .16em; }
.footer-about-content { white-space: pre-line; }
.footer-about-content p + p, .footer-about-content :is(ul, ol, blockquote, h2, h3) { margin-top: .65rem; }
.footer-about-content :is(h2, h3, strong) { color: #fff; font-weight: 800; }
.footer-about-content :is(ul, ol) { padding-left: 1.25rem; }
.footer-about-content ul { list-style: disc; }
.footer-about-content ol { list-style: decimal; }
.footer-about-content a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: .15em; }
.article-content .social-embed, .content-widget-rich .social-embed { display: grid; justify-items: center; gap: .65rem; margin: 1.75rem auto; }
.article-content .social-embed-youtube, .content-widget-rich .social-embed-youtube { width: 100%; }
.article-content .social-embed-youtube iframe, .content-widget-rich .social-embed-youtube iframe { display: block; width: 100%; max-width: none; min-height: 30vh; aspect-ratio: 5 / 3; border: 0; background: var(--ink-50); }
.article-main-video { width: 100%; overflow: hidden; background: var(--ink-950); }
.article-main-video iframe { display: block; width: 100%; min-height: 30vh; aspect-ratio: 16 / 9; border: 0; }
.most-read-list { margin-top: .35rem; }
.most-read-item + .most-read-item { margin-top: .15rem; }
.most-read-item-link { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); align-items: center; gap: 1rem; padding: .72rem 0; color: var(--ink-950); }
.most-read-rank { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: 0 0 0 .8rem; background: var(--brand-700); color: #fff; font-size: 1.3rem; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; transition: background-color .2s ease; }
.most-read-title { display: -webkit-box; overflow: hidden; color: var(--ink-950); font-size: .92rem; font-weight: 750; line-height: 1.38; -webkit-box-orient: vertical; -webkit-line-clamp: 3; transition: color .2s ease; }
.most-read-category { display: block; margin-top: .25rem; color: var(--ink-500); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.most-read-item-link:hover .most-read-rank, .most-read-item-link:focus-visible .most-read-rank { background: var(--brand-800); }
.most-read-item-link:hover .most-read-title, .most-read-item-link:focus-visible .most-read-title { color: var(--brand-700); }
.article-content .instagram-media, .content-widget-rich .instagram-media,
.article-content .twitter-tweet, .content-widget-rich .twitter-tweet,
.article-content .fb-post, .content-widget-rich .fb-post { margin-inline: auto !important; }
.article-content .social-embed-fallback, .content-widget-rich .social-embed-fallback { color: var(--brand-700); font-size: .8125rem; font-weight: 700; text-decoration: underline; }
.article-content .social-embed.is-provider-ready > .social-embed-fallback,
.content-widget-rich .social-embed.is-provider-ready > .social-embed-fallback { display: none; }

@media (max-width: 39.999rem) {
  .article-content figure[data-related-news="1"] > a, .content-widget-rich figure[data-related-news="1"] > a { grid-template-columns: minmax(6.5rem, 36%) minmax(0, 1fr); min-height: 7rem; }
  .article-content figure[data-related-news="1"] img, .content-widget-rich figure[data-related-news="1"] img { min-height: 7rem; }
  .article-content figure[data-related-news="1"] > a > span, .content-widget-rich figure[data-related-news="1"] > a > span { gap: .55rem; padding: .75rem; }
  .article-content figure[data-related-news="1"] > a > span > span, .content-widget-rich figure[data-related-news="1"] > a > span > span { padding: .35rem .5rem; font-size: .72rem; }
}

:where(a, button, input):focus-visible { outline: 3px solid var(--brand-300); outline-offset: 3px; }
@media (min-width: 40rem) { :root { --page-gutter: 1.5rem; } }
@media (min-width: 64rem) { :root { --page-gutter: 2rem; } }
@media (min-width: 80rem) {
  .footer-menu-grid {
    grid-template-columns: 1.2fr .8fr .85fr .9fr 1.15fr 1.4fr;
    column-gap: 1.25rem;
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
:root {
  --site-header-logo-height: 4.5rem;
  --site-footer-logo-height: 3.5rem;
}

.site-header-logo,
.site-mobile-logo,
.site-footer-logo {
  display: block;
  width: auto;
  object-fit: contain;
}

.site-header-logo {
  height: min(var(--site-header-logo-height), 4rem);
}

.site-mobile-logo {
  height: min(var(--site-header-logo-height), 3rem);
}

.site-footer-logo {
  height: var(--site-footer-logo-height);
}

@media (width >= 40rem) {
  .site-header-logo {
    height: var(--site-header-logo-height);
  }
}


.site-header-layout-stacked { border-bottom: 0; background: var(--brand-700); }
.stacked-header-brand-row { background: var(--brand-700); color: #fff; }
.stacked-header-brand-inner { display: flex; min-height: 5.75rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: .75rem; }
.stacked-header-logo-link { display: inline-flex; min-width: 0; align-items: center; border-radius: .5rem; }
.stacked-header-logo { max-width: min(19rem, 58vw); }
.stacked-header-tools { display: flex; flex: 0 0 auto; align-items: center; gap: .35rem; }
.stacked-header-tool { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid transparent; border-radius: .55rem; color: #fff; background: transparent; transition: background-color .18s ease, border-color .18s ease; }
.stacked-header-tool:hover, .stacked-header-tool:focus-visible { border-color: rgb(255 255 255 / .32); background: rgb(255 255 255 / .12); outline: none; }
.stacked-header-tool svg { width: 1.25rem; height: 1.25rem; }
.stacked-header-nav { background: var(--brand-800); color: #fff; }
.stacked-header-nav-inner { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.stacked-header-menu { display: flex; min-width: max-content; align-items: stretch; }
.stacked-header-menu-item { position: relative; }
.stacked-header-menu-item > a { display: flex; min-height: 2.65rem; align-items: center; padding: .65rem .8rem; color: #fff; font-size: .8125rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; transition: background-color .18s ease; }
.stacked-header-menu-item > a:hover, .stacked-header-menu-item > a:focus-visible { background: rgb(0 0 0 / .14); outline: none; }
.stacked-header-menu-item.is-active > a, .stacked-header-menu-item.is-active > a:hover, .stacked-header-menu-item.is-active > a:focus-visible { background: #181818; }
.stacked-header-menu-item > ul { position: absolute; z-index: 60; top: 100%; left: 0; visibility: hidden; min-width: 13rem; border: 1px solid var(--ink-200); padding: .45rem 0; background: #fff; color: var(--ink-900); box-shadow: 0 1rem 2rem rgb(15 23 42 / .16); opacity: 0; }
.stacked-header-menu-item:hover > ul, .stacked-header-menu-item:focus-within > ul { visibility: visible; opacity: 1; }
.stacked-header-menu-item > ul a { display: block; padding: .65rem .9rem; color: var(--ink-900); font-size: .8125rem; font-weight: 700; }
.stacked-header-menu-item > ul a:hover, .stacked-header-menu-item > ul a:focus-visible { color: var(--brand-700); background: var(--brand-50); outline: none; }
@media (max-width: 39.999rem) {
  .stacked-header-brand-inner { min-height: 4.75rem; padding-block: .55rem; }
  .stacked-header-logo { max-width: min(13rem, 58vw); }
  .stacked-header-tool { width: 2.5rem; height: 2.5rem; }
  .stacked-header-menu-item > a { min-height: 2.5rem; padding-inline: .7rem; font-size: .75rem; }
  .stacked-header-nav { display: none; }
}

/* Centered media header */
.site-header-layout-centered_media { border-bottom: 0; background: #fff; }
.centered-media-header { color: var(--ink-900); background: #fff; }
.centered-media-topline { border-top: .2rem solid #3c4443; background: #eef0f2; }
.centered-media-topline-inner { display: flex; min-height: 1.95rem; align-items: center; justify-content: space-between; color: #1f2937; font-size: .65rem; font-weight: 750; }
.centered-media-topline time { display: inline-flex; align-items: center; gap: .4rem; }
.centered-media-topline svg { width: .85rem; height: .85rem; color: #64748b; }
.centered-media-utility { min-width: 0; overflow: hidden; }
.centered-media-utility > ul { display: flex; align-items: center; justify-content: flex-end; white-space: nowrap; }
.centered-media-utility li + li::before { content: "•"; margin-inline: .65rem; color: #a0a9b5; }
.centered-media-utility a { color: #334155; font-size: .64rem; font-weight: 760; text-transform: uppercase; transition: color .18s ease; }
.centered-media-utility a:hover, .centered-media-utility a:focus-visible { color: var(--brand-700); outline: none; }
.centered-media-main-inner { display: grid; min-height: 4.9rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 1.25rem; }
.centered-media-logo-link { display: inline-flex; align-items: center; justify-content: center; }
.centered-media-logo { display: block; width: auto; max-width: 11.5rem; height: 3rem; object-fit: contain; }
.centered-media-logo-link > strong { color: var(--ink-900); font-size: 1.7rem; font-weight: 900; }
.centered-media-actions, .centered-media-right { display: flex; min-width: 0; align-items: center; gap: .55rem; }
.centered-media-actions--left { justify-content: flex-start; }
.centered-media-right { justify-content: flex-end; }
.centered-media-action { --centered-action-color: #334b6b; display: inline-flex; height: 2.5rem; flex: 0 0 auto; align-items: center; gap: .45rem; border: 1px solid color-mix(in srgb, var(--centered-action-color) 68%, #fff); border-radius: .75rem; padding: .4rem .78rem; color: #172033; background: #fff; font-size: .76rem; font-weight: 780; white-space: nowrap; transition: background-color .18s ease, transform .18s ease; }
.centered-media-action:hover, .centered-media-action:focus-visible { color: #172033; background: color-mix(in srgb, var(--centered-action-color) 7%, #fff); outline: none; transform: translateY(-1px); }
.centered-media-action svg { width: 1.05rem; height: 1.05rem; color: var(--centered-action-color); }
.centered-media-action.is-blinking svg { transform-origin: center; animation: centered-media-action-blink 1.35s ease-in-out infinite; }
@keyframes centered-media-action-blink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .25; transform: scale(.78); }
}
@media (prefers-reduced-motion: reduce) {
  .centered-media-action.is-blinking svg { animation: none; }
}
.centered-media-search { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border: 1px solid #dbe3ee; border-radius: .75rem; padding: 0; color: #475569; background: #f5f7fa; }
.centered-media-search:hover, .centered-media-search:focus-visible { border-color: #b8c5d6; color: #334b6b; outline: none; }
.centered-media-search svg, .centered-media-mobile-menu svg { width: 1.25rem; height: 1.25rem; }
.centered-media-mobile-menu { display: none; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid #dbe3ee; border-radius: .7rem; color: #334b6b; background: #fff; }
.centered-media-nav { color: #fff; background: #383838; }
.centered-media-nav-inner { overflow: visible; }
.centered-media-nav-inner > ul { display: flex; min-width: max-content; align-items: stretch; justify-content: center; }
.centered-media-nav-inner > ul > li { position: relative; }
.centered-media-nav-inner > ul > li > a { display: flex; min-height: 3.05rem; align-items: center; padding: .65rem 1.25rem; color: #fff; font-size: .86rem; font-weight: 800; transition: background-color .18s ease; }
.centered-media-nav-inner > ul > li > a:hover, .centered-media-nav-inner > ul > li > a:focus-visible { background: rgb(0 0 0 / .2); outline: none; }
.centered-media-nav-inner > ul > li.is-active > a { background: #181818; }
.centered-media-nav li > ul { position: absolute; z-index: 70; top: 100%; left: 0; visibility: hidden; min-width: 13rem; border: 1px solid #e2e8f0; padding: .4rem 0; background: #fff; box-shadow: 0 1rem 2rem rgb(15 23 42 / .18); opacity: 0; }
.centered-media-nav li:hover > ul, .centered-media-nav li:focus-within > ul { visibility: visible; opacity: 1; }
.centered-media-nav li > ul a { display: block; padding: .65rem .85rem; color: #1f2e42; font-size: .78rem; font-weight: 700; }
.centered-media-nav li > ul a:hover, .centered-media-nav li > ul a:focus-visible { color: var(--brand-700); background: var(--brand-50); outline: none; }
@media (max-width: 63.999rem) {
  .centered-media-topline { display: none; }
  .centered-media-main-inner { min-height: 4.4rem; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
  .centered-media-actions--left, .centered-media-actions--right { display: none; }
  .centered-media-logo-link { justify-content: flex-start; }
  .centered-media-logo { max-width: 10rem; height: 2.5rem; }
  .centered-media-search { background: #fff; }
  .centered-media-search svg, .centered-media-mobile-menu svg { width: 1.25rem; height: 1.25rem; }
  .centered-media-mobile-menu { display: grid; }
  .centered-media-nav-inner { overflow-x: auto; scrollbar-width: none; }
  .centered-media-nav-inner::-webkit-scrollbar { display: none; }
  .centered-media-nav-inner > ul { justify-content: flex-start; }
}
@media (max-width: 39.999rem) {
  .centered-media-nav { display: none; }
}
+

/* Agency line header */
.site-header-layout-agency { border-bottom: 0; background: #fff; }
.agency-header { color: #111827; background: #fff; }
.agency-header-top { border-top: .18rem solid #363d3c; border-bottom: 1px solid #e2e6eb; background: #f4f6f8; }
.agency-header-top-inner { display: flex; min-height: 2.65rem; align-items: center; justify-content: space-between; gap: 1rem; }
.agency-header-tagline { overflow: hidden; color: #64748b; font-size: .68rem; font-weight: 650; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.agency-header-search { display: grid; width: min(13rem, 32vw); height: 2rem; grid-template-columns: minmax(0, 1fr) 2.25rem; overflow: hidden; border: 1px solid #dbe2ea; border-radius: .72rem; background: #eef1f5; }
.agency-header-search input { min-width: 0; border: 0; padding: 0 .75rem; color: #334155; background: transparent; font-size: .75rem; outline: none; }
.agency-header-search button { display: grid; border: 0; padding: 0; place-items: center; color: #64748b; background: transparent; cursor: pointer; }
.agency-header-search button:hover, .agency-header-search button:focus-visible { color: var(--brand-700); outline: none; }
.agency-header-search svg { width: 1rem; height: 1rem; }
.agency-header-brand-row { border-bottom: 1px solid #e5e7eb; }
.agency-header-brand-inner { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 1rem; }
.agency-header-logo-link { display: inline-flex; align-items: center; }
.agency-header-logo { display: block; width: auto; max-width: 13.5rem; height: min(var(--site-header-logo-height), 3.55rem); object-fit: contain; }
.agency-header-logo-link > strong { color: var(--ink-900); font-size: 1.8rem; font-weight: 900; }
.agency-header-promo { display: grid; min-width: 7.5rem; min-height: 3.15rem; align-content: center; border: 1px solid #f1b940; border-radius: .85rem; padding: .45rem .8rem; color: #111827; background: #fff8e6; line-height: 1.15; }
.agency-header-promo small { color: #7c4a03; font-size: .55rem; font-weight: 850; letter-spacing: .04em; }
.agency-header-promo strong { margin-top: .18rem; font-size: .75rem; font-weight: 850; }
.agency-header-promo:hover, .agency-header-promo:focus-visible { background: #fff1c8; outline: none; }
.agency-header-top-links { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: .55rem; }
.agency-header-top-link { --agency-top-link-color: #d99a16; display: inline-flex; min-height: 3.15rem; align-items: center; gap: .55rem; border: 1px solid color-mix(in srgb, var(--agency-top-link-color) 65%, #fff); border-radius: .85rem; padding: .45rem .72rem; color: #111827; background: color-mix(in srgb, var(--agency-top-link-color) 7%, #fff); line-height: 1.15; }
.agency-header-top-link > svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; color: var(--agency-top-link-color); }
.agency-header-top-link > span { display: grid; gap: .16rem; }
.agency-header-top-link small { color: color-mix(in srgb, var(--agency-top-link-color) 75%, #111827); font-size: .54rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.agency-header-top-link strong { font-size: .74rem; font-weight: 850; white-space: nowrap; }
.agency-header-top-link:hover, .agency-header-top-link:focus-visible { background: color-mix(in srgb, var(--agency-top-link-color) 13%, #fff); outline: none; }
.agency-header-mobile-tools { display: none; align-items: center; gap: .45rem; }
.agency-header-mobile-tools button { display: grid; width: 2.45rem; height: 2.45rem; border: 1px solid #dbe3ee; border-radius: .7rem; padding: 0; place-items: center; color: #334155; background: #fff; }
.agency-header-mobile-tools svg { width: 1.2rem; height: 1.2rem; }
.agency-header-navigation-row { border-bottom: 1px solid #e2e8f0; background: #fff; }
.agency-header-navigation-inner { display: flex; min-height: 3.15rem; align-items: stretch; justify-content: space-between; gap: 1rem; }
.agency-header-nav { min-width: 0; }
.agency-header-nav > ul { display: flex; height: 100%; align-items: stretch; }
.agency-header-nav > ul > li { position: relative; }
.agency-header-nav > ul > li > a { display: flex; min-height: 3.15rem; align-items: center; gap: .3rem; padding: .65rem .72rem; color: #111827; font-size: .75rem; font-weight: 700; text-transform: uppercase; transition: color .18s ease, background-color .18s ease; }
.agency-header-nav > ul > li > a svg { width: .72rem; height: .72rem; }
.agency-header-nav > ul > li > a:hover, .agency-header-nav > ul > li > a:focus-visible, .agency-header-nav > ul > li.is-active > a { color: var(--brand-700); background: var(--brand-50); outline: none; }
.agency-header-nav li > ul { position: absolute; z-index: 70; top: 100%; left: 0; visibility: hidden; min-width: 13rem; border: 1px solid #e2e8f0; padding: .4rem 0; background: #fff; box-shadow: 0 1rem 2rem rgb(15 23 42 / .16); opacity: 0; }
.agency-header-nav li:hover > ul, .agency-header-nav li:focus-within > ul { visibility: visible; opacity: 1; }
.agency-header-nav li > ul a { display: block; padding: .65rem .85rem; color: #1f2937; font-size: .78rem; font-weight: 700; }
.agency-header-nav li > ul a:hover, .agency-header-nav li > ul a:focus-visible { color: var(--brand-700); background: var(--brand-50); outline: none; }
.agency-header-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: .45rem; }
.agency-header-actions--top { margin-left: auto; }
.agency-header-action { --centered-action-color: #334b6b; display: inline-flex; min-height: 2.15rem; align-items: center; gap: .4rem; border: .3px solid color-mix(in srgb, var(--centered-action-color) 58%, #fff); border-radius: .7rem; padding: .25rem .68rem; color: #111827; background: color-mix(in srgb, var(--centered-action-color) 4%, #fff); font-size: .7rem; font-weight: 800; white-space: nowrap; }
.agency-header-action:hover, .agency-header-action:focus-visible { background: color-mix(in srgb, var(--centered-action-color) 10%, #fff); outline: none; }
.agency-header-action svg { width: 1.3rem; height: 1.3rem; flex: 0 0 auto; color: var(--centered-action-color); stroke-width: 2.15; }
.agency-header-action.is-blinking svg { transform-origin: center; animation: centered-media-action-blink 1.35s ease-in-out infinite; }

/* Breaking news layouts */
.breaking-bar { border-bottom: 1px solid #e2e8f0; background: #fff; }
.breaking-bar-inner { display: flex; min-height: 3rem; align-items: center; gap: .75rem; padding-block: .45rem; }
.breaking-bar-label { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .4rem; border-radius: .45rem; padding: .36rem .65rem; color: #fff; background: var(--brand-700); font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.breaking-bar-label svg, .breaking-default-icon svg { width: .9rem; height: .9rem; }
.breaking-default-icon { display: grid; flex: 0 0 auto; place-items: center; color: var(--brand-700); }
.breaking-default-list { position: relative; min-width: 0; height: 1.3rem; flex: 1 1 auto; overflow: hidden; }
.breaking-default-list a { position: absolute; inset: 0; display: block; overflow: hidden; opacity: 0; color: #1f2937; font-size: .82rem; font-weight: 700; line-height: 1.3rem; text-overflow: ellipsis; white-space: nowrap; transform: translateY(115%); transition: color .18s ease, opacity .42s ease, transform .42s ease; }
.breaking-default-list a.is-active { opacity: 1; transform: translateY(0); }
.breaking-default-list a.is-leaving { opacity: 0; transform: translateY(-115%); }
.breaking-default-list a.hidden { display: none; }
.breaking-default-list a:hover, .breaking-default-list a:focus-visible { color: var(--brand-700); outline: none; }
.breaking-bar--ribbon { border-bottom: .18rem solid var(--breaking-bar-accent); background: var(--breaking-bar-bg); }
.breaking-bar--ribbon .breaking-bar-inner { min-height: 3.25rem; gap: 1.8rem; overflow: hidden; }
.breaking-bar--ribbon .breaking-bar-label { border: 1px solid color-mix(in srgb, var(--breaking-bar-accent) 35%, #fff); border-radius: 999px; color: var(--breaking-bar-accent); background: #fff; }
.breaking-ribbon-list { min-width: 0; flex: 1 1 auto; overflow: hidden; }
.breaking-ribbon-track { display: flex; width: max-content; align-items: center; will-change: transform; }
.breaking-ribbon-track.is-ready { animation: breaking-ribbon-scroll var(--breaking-ribbon-duration, 30s) linear infinite; }
.breaking-ribbon-group { display: flex; flex: 0 0 auto; align-items: center; gap: 2rem; padding-right: 2rem; }
.breaking-ribbon-list:hover .breaking-ribbon-track, .breaking-ribbon-list:focus-within .breaking-ribbon-track { animation-play-state: paused; }
.breaking-ribbon-list a { flex: 0 0 auto; max-width: 25rem; overflow: hidden; color: var(--breaking-bar-text); font-size: .79rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.breaking-ribbon-list a:hover, .breaking-ribbon-list a:focus-visible { color: var(--breaking-bar-accent); outline: none; }
@keyframes breaking-ribbon-scroll { to { transform: translateX(calc(-1 * var(--breaking-ribbon-distance, 0px))); } }
@media (prefers-reduced-motion: reduce) { .breaking-ribbon-list { overflow-x: auto; scrollbar-width: none; } .breaking-ribbon-list::-webkit-scrollbar { display: none; } .breaking-ribbon-track.is-ready { animation: none; } }

@media (prefers-reduced-motion: reduce) {
  .agency-header-action.is-blinking svg { animation: none; }
}
@media (max-width: 74rem) {
  .agency-header-nav > ul > li > a { padding-inline: .5rem; font-size: .68rem; }
  .agency-header-actions { gap: .3rem; }
  .agency-header-action { padding-inline: .5rem; }
}
@media (max-width: 63.999rem) {
  .agency-header-top, .agency-header-promo, .agency-header-top-links, .agency-header-navigation-row, .agency-header-actions--top { display: none; }
  .agency-header-brand-inner { min-height: 4.5rem; }
  .agency-header-logo { max-width: 11rem; height: min(var(--site-header-logo-height), 3rem); }
  .agency-header-mobile-tools { display: flex; }
  .breaking-bar--ribbon .breaking-bar-inner { gap: .75rem; }
  .breaking-ribbon-group { gap: 1.25rem; padding-right: 1.25rem; }
}
@media (max-width: 39.999rem) {
  .breaking-bar-inner { min-height: 2.8rem; }
  .breaking-bar--ribbon .breaking-bar-label { padding-inline: .55rem; }
  .breaking-ribbon-list a { max-width: 16rem; font-size: .74rem; }
}

/* Configurable primary navigation colors */
.has-custom-navigation-colors .site-main-navigation,
.has-custom-navigation-colors .stacked-header-nav,
.has-custom-navigation-colors .portal-static-navigation,
.has-custom-navigation-colors .centered-media-nav,
.has-custom-navigation-colors .agency-header-navigation-row {
  border-bottom: 1px solid var(--header-nav-border) !important;
  border-color: var(--header-nav-border) !important;
  color: var(--header-nav-text) !important;
  background: var(--header-nav-bg) !important;
}
.has-custom-navigation-colors .site-main-navigation > .site-container > ul > li > a,
.has-custom-navigation-colors .stacked-header-menu > li > a,
.has-custom-navigation-colors .portal-static-menu > ul > li > a,
.has-custom-navigation-colors .centered-media-nav-inner > ul > li > a,
.has-custom-navigation-colors .agency-header-nav > ul > li > a {
  color: var(--header-nav-text) !important;
}
.has-custom-navigation-colors .site-main-navigation > .site-container > ul > li > a:hover,
.has-custom-navigation-colors .site-main-navigation > .site-container > ul > li > a:focus-visible,
.has-custom-navigation-colors .stacked-header-menu > li > a:hover,
.has-custom-navigation-colors .stacked-header-menu > li > a:focus-visible,
.has-custom-navigation-colors .portal-static-menu > ul > li > a:hover,
.has-custom-navigation-colors .portal-static-menu > ul > li > a:focus-visible,
.has-custom-navigation-colors .centered-media-nav-inner > ul > li > a:hover,
.has-custom-navigation-colors .centered-media-nav-inner > ul > li > a:focus-visible,
.has-custom-navigation-colors .agency-header-nav > ul > li > a:hover,
.has-custom-navigation-colors .agency-header-nav > ul > li > a:focus-visible {
  color: var(--header-nav-hover-text) !important;
  background: var(--header-nav-hover-bg) !important;
}
.has-custom-navigation-colors .site-main-navigation > .site-container > ul > li.is-active > a,
.has-custom-navigation-colors .stacked-header-menu > li.is-active > a,
.has-custom-navigation-colors .portal-static-menu > ul > li > a[aria-current="page"],
.has-custom-navigation-colors .centered-media-nav-inner > ul > li.is-active > a,
.has-custom-navigation-colors .agency-header-nav > ul > li.is-active > a {
  color: var(--header-nav-active-text) !important;
  background: var(--header-nav-active-bg) !important;
}

/* Minimal footer: copyright, selected footer menu and Aivo credit */
.site-footer-minimal {
  border-top: 1px solid rgb(255 255 255 / .1);
  background: var(--ink-950);
}
.site-footer-minimal-inner {
  display: grid;
  min-height: 5.25rem;
  grid-template-columns: minmax(12rem, 1fr) auto minmax(8rem, 1fr);
  align-items: center;
  gap: 1.5rem;
  padding-block: 1.15rem;
}
.site-footer-minimal-copyright {
  color: rgb(255 255 255 / .68);
  font-size: .75rem;
  line-height: 1.5;
}
.site-footer-minimal-menu ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .4rem 1.15rem;
}
.site-footer-minimal-menu a {
  color: rgb(255 255 255 / .82);
  font-size: .75rem;
  font-weight: 700;
  transition: color .18s ease;
}
.site-footer-minimal-menu a:hover,
.site-footer-minimal-menu a:focus-visible { color: #fff; outline: none; }
.site-footer-minimal-agency { display: inline-flex; justify-self: end; transition: opacity .18s ease; }
.site-footer-minimal-agency:hover,
.site-footer-minimal-agency:focus-visible { opacity: .78; outline: none; }
.site-footer-minimal-agency img { display: block; width: auto; height: 1.35rem; object-fit: contain; }
@media (max-width: 63.999rem) {
  .site-footer-minimal-inner { grid-template-columns: 1fr auto; }
  .site-footer-minimal-menu { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 39.999rem) {
  .site-footer-minimal-inner { display: flex; min-height: 0; flex-direction: column; gap: 1rem; padding-block: 1.5rem; text-align: center; }
  .site-footer-minimal-menu ul { gap: .55rem 1rem; }
  .site-footer-minimal-agency { justify-self: auto; }
}

/* Author profile page */
.author-page-main {
  min-height: 60vh;
  background: #f7f9fc;
}
.author-profile-section {
  border-bottom: 1px solid #e2e8f0;
  background: transparent;
}
.author-profile-breadcrumb {
  margin-bottom: 1.25rem;
  color: #64748b;
  font-size: .78rem;
}
.author-profile-card {
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  background: #fff;
  box-shadow: 0 .75rem 2.5rem rgb(15 23 42 / .055);
}
.author-profile-main {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2rem);
}
.authors-directory-avatar {
  display: block;
  width: 5rem !important;
  min-width: 5rem;
  height: 5rem !important;
  flex: 0 0 5rem;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 9999px;
}
.authors-directory-avatar > img,
.authors-directory-avatar > span {
  display: flex;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1;
}
.authors-directory-avatar > img { object-fit: cover; object-position: center; }
.author-profile-avatar {
  width: 8rem;
  height: 8rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
  box-shadow: 0 0 0 .45rem #f3f6fa;
}
.author-profile-avatar img,
.author-profile-avatar > span {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  object-fit: cover;
  object-position: center;
}
.author-profile-avatar > span { color: #94a3b8; font-size: 2.5rem; }
.author-profile-eyebrow {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: #64748b;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.author-profile-eyebrow > span {
  width: .2rem;
  height: 1.15rem;
  border-radius: 999px;
  background: #1976ed;
}
.author-profile-identity h1 {
  margin-top: .55rem;
  color: #10233f;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.05;
}
.author-profile-role {
  margin-top: .5rem;
  color: #64748b;
  font-size: .95rem;
  font-weight: 600;
}
.author-profile-social { justify-self: end; }
.author-profile-biography {
  margin-top: 1.75rem;
  border-top: 1px solid #e5eaf0;
  padding-top: 1.5rem;
}
.author-profile-biography h2 {
  margin-bottom: .8rem;
  color: #10233f;
  font-size: 1.1rem;
  font-weight: 800;
}
.author-profile-biography > div {
  width: 100%;
  max-width: none;
  color: #526174;
  font-size: .95rem;
  line-height: 1.75;
}
.author-profile-biography p + p { margin-top: .8rem; }
@media (max-width: 39.999rem) {
  .author-profile-card { padding: 1.25rem; }
  .author-profile-main { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; }
  .author-profile-avatar { width: 5.5rem; height: 5.5rem; box-shadow: 0 0 0 .3rem #f3f6fa; }
  .author-profile-identity h1 { font-size: 1.65rem; }
  .author-profile-social { grid-column: 1 / -1; justify-self: start; }
  .author-profile-biography { margin-top: 1.25rem; padding-top: 1.15rem; }
}

/* Article author summary */
.article-author-card {
  --author-card-accent: #1976ed;
  overflow: hidden;
  border: 1px solid #e4e9f0;
  border-radius: 1rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  box-shadow: 0 .5rem 1.75rem rgb(15 23 42 / .055);
}
.article-author-card-inner {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(1.25rem, 2.5vw, 1.75rem);
}
.article-author-card-header {
  display: contents;
}
.article-author-card-details {
  display: contents;
}
.article-author-card-avatar {
  display: block;
  width: 6rem;
  height: 6rem;
  min-width: 6rem;
  max-width: 6rem;
  flex: 0 0 6rem;
  border-radius: 9999px;
  box-shadow: 0 0 0 .35rem #f3f6fa;
  grid-column: 1;
  grid-row: 1;
}
.article-author-card-content { grid-column: 2; grid-row: 1; }
.article-author-card-image {
  display: block;
  width: 100%;
  height: 100%;
}
.article-author-card-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.article-author-card-image {
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.article-author-card-eyebrow {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: #64748b;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}
.article-author-card-eyebrow > span {
  width: .2rem;
  height: 1.15rem;
  border-radius: 999px;
  background: var(--author-card-accent);
  box-shadow: 0 0 .5rem rgb(25 118 237 / .25);
}
.article-author-card-name {
  margin-top: .45rem;
  color: #10233f;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.article-author-card-name a { transition: color .18s ease; }
.article-author-card-name a:hover,
.article-author-card-name a:focus-visible { color: var(--author-card-accent); outline: none; }
.article-author-card-role {
  margin-top: .3rem;
  color: #64748b;
  font-size: .8125rem;
  font-weight: 500;
}
.article-author-card-biography {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 1rem;
  color: #5b6779;
  font-size: .925rem;
  line-height: 1.55;
}
.article-author-card-social {
  display: flex;
  grid-column: 3;
  grid-row: 1;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
  margin-top: 0;
}
.article-author-card-social a {
  display: inline-flex;
  min-height: 1.85rem;
  align-items: center;
  gap: .35rem;
  border: 1px solid #dbe3ed;
  border-radius: 999px;
  padding: .25rem .6rem;
  color: #526174;
  background: #fff;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
.article-author-card-social a:hover,
.article-author-card-social a:focus-visible {
  border-color: #a9c9f4;
  color: #0f55a8;
  background: #f3f8ff;
  outline: none;
}
.article-author-card-social svg { width: .9rem; height: .9rem; flex: 0 0 .9rem; }
.article-author-card-link {
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 2.25rem;
  margin-top: .8rem;
  align-items: center;
  gap: .5rem;
  border: 1px solid #cfe1fb;
  border-radius: .6rem;
  padding: .35rem .7rem;
  color: #0f55a8;
  background: #f3f8ff;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.35;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.article-author-card-link > svg { width: 1rem; height: 1rem; flex: 0 0 1rem; }
.article-author-card-link .article-author-card-arrow { margin-left: .2rem; }
.article-author-card-link:hover,
.article-author-card-link:focus-visible {
  border-color: #9fc5f7;
  background: #e9f3ff;
  outline: none;
  transform: translateY(-1px);
}
@media (max-width: 39.999rem) {
  .article-author-card { padding: 1.25rem; }
  .article-author-card-inner { grid-template-columns: 5.25rem minmax(0, 1fr); column-gap: 1rem; }
  .article-author-card-avatar {
    width: 5.25rem;
    height: 5.25rem;
    min-width: 5.25rem;
    max-width: 5.25rem;
    flex-basis: 5.25rem;
  }
  .article-author-card-link { width: 100%; justify-content: flex-start; }
  .article-author-card-link .article-author-card-arrow { margin-left: auto; }
  .article-author-card-social { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; margin-top: 1rem; }
}

/* Error welcome pages */
.error-welcome-page { flex: 1 0 auto; background: #f6f7f9; }
.error-welcome-shell { display: grid; min-height: 34rem; padding-block: clamp(2.5rem, 7vw, 6rem); place-items: center; }
.error-welcome-card { position: relative; width: min(100%, 58rem); overflow: hidden; border: 1px solid #e2e7ed; border-radius: 1.6rem; padding: clamp(2rem, 6vw, 4.5rem); text-align: center; background: #fff; box-shadow: 0 1.6rem 4rem rgb(31 46 66 / .09); }
.error-welcome-card::before { position: absolute; top: -10rem; left: 50%; width: 30rem; height: 18rem; border-radius: 50%; background: var(--brand-50); content: ""; transform: translateX(-50%); }
.error-welcome-visual { position: relative; display: grid; width: 8rem; height: 8rem; margin: 0 auto 1.6rem; border: 1px solid var(--brand-100); border-radius: 2.1rem; place-items: center; color: var(--brand-700); background: var(--brand-50); }
.error-welcome-visual span { font-size: 2rem; font-weight: 950; letter-spacing: -.07em; }
.error-welcome-visual svg { position: absolute; right: -.7rem; bottom: -.7rem; width: 3.4rem; height: 3.4rem; border: .45rem solid #fff; border-radius: 50%; padding: .55rem; fill: #fff; stroke: var(--brand-700); stroke-linecap: round; stroke-width: 2; background: #fff; }
.error-welcome-kicker { position: relative; margin: 0 0 .65rem; color: var(--brand-700); font-size: .73rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.error-welcome-card h1 { position: relative; margin: 0; color: var(--ink-900); font-size: clamp(2rem, 5vw, 3.45rem); font-weight: 900; letter-spacing: -.055em; line-height: 1.05; }
.error-welcome-description { position: relative; max-width: 39rem; margin: 1rem auto 0; color: #64748b; font-size: .98rem; line-height: 1.75; }
.error-welcome-search { position: relative; display: grid; max-width: 36rem; min-height: 3.35rem; margin: 1.8rem auto 0; grid-template-columns: 2.8rem minmax(0,1fr) auto; align-items: center; border: 1px solid #d8e0e9; border-radius: .9rem; padding: .3rem; background: #f8fafc; box-shadow: 0 .5rem 1.4rem rgb(31 46 66 / .05); }
.error-welcome-search > svg { width: 1.15rem; height: 1.15rem; justify-self: center; fill: none; stroke: #7b8798; stroke-linecap: round; stroke-width: 1.8; }
.error-welcome-search input { min-width: 0; border: 0; padding: 0 .3rem; color: var(--ink-900); background: transparent; font-size: .9rem; outline: 0; }
.error-welcome-search button { min-height: 2.65rem; border: 0; border-radius: .68rem; padding: 0 1.25rem; color: #fff; background: var(--brand-700); font-size: .82rem; font-weight: 850; cursor: pointer; }
.error-welcome-search:focus-within { border-color: var(--brand-300); box-shadow: 0 0 0 .25rem var(--brand-50); }
.error-welcome-actions { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.2rem; }
.error-welcome-actions a { display: inline-flex; min-height: 2.8rem; align-items: center; justify-content: center; border: 1px solid #dce3eb; border-radius: .72rem; padding: 0 1.1rem; color: var(--ink-900); background: #fff; font-size: .78rem; font-weight: 800; }
.error-welcome-actions a:hover, .error-welcome-actions a:focus-visible { border-color: var(--brand-200); color: var(--brand-700); background: var(--brand-50); outline: none; }
.error-welcome-actions .error-welcome-primary { border-color: var(--brand-700); color: #fff; background: var(--brand-700); }
.error-welcome-actions .error-welcome-primary:hover, .error-welcome-actions .error-welcome-primary:focus-visible { color: #fff; background: var(--brand-800); }
.error-welcome-links { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem .85rem; margin-top: 2rem; border-top: 1px solid #edf0f4; padding-top: 1.25rem; color: #7c8898; font-size: .72rem; }
.error-welcome-links span { font-weight: 800; }
.error-welcome-links a { color: #536278; font-weight: 750; }
.error-welcome-links a:hover, .error-welcome-links a:focus-visible { color: var(--brand-700); outline: none; }
@media (max-width: 39.999rem) {
  .error-welcome-card { border-radius: 1.1rem; padding-inline: 1rem; }
  .error-welcome-visual { width: 6.7rem; height: 6.7rem; border-radius: 1.7rem; }
  .error-welcome-search { grid-template-columns: 2.5rem minmax(0,1fr) auto; }
  .error-welcome-search button { padding-inline: .9rem; }
  .error-welcome-actions { display: grid; }
  .error-welcome-actions a { width: 100%; }
}
