:root { --nx-heading: "Manrope", sans-serif; --nx-body: "Source Sans 3", sans-serif; }
body.nx-theme-ready { --heading:var(--nx-heading); --body:var(--nx-body); }
body.nx-theme-ready { --nx-surface:var(--shell); --nx-line:var(--line); }
/* Reading comfort and predictable controls, without changing the product layout. */
html { scroll-padding-top: 1.5rem; }
body.nx-theme-ready { font-family: var(--nx-body); -webkit-text-size-adjust: 100%; }
body.nx-theme-ready :is(h1, h2, h3, h4, .brand-name) { font-family: var(--nx-heading); text-wrap: pretty; overflow-wrap: anywhere; }
body.nx-theme-ready :is(input, select, textarea, button, summary) { font-family: var(--nx-body); }
body.nx-theme-ready :is(button, input[type=submit], summary, .page-numbers) { touch-action: manipulation; }
body.nx-theme-ready :is(input[type=search], input[type=text], input[type=email], textarea) { font-size: max(1rem, 16px); }
body.nx-theme-ready :is(button, summary, .page-numbers, input[type=submit]) { min-height: 44px; }
body.nx-theme-ready :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
body.nx-theme-ready :is(h1, h2, h3) { line-height: 1.16; }
body.nx-theme-ready .nx-reading { font-size: clamp(1.0625rem, 1rem + .22vw, 1.1875rem); line-height: 1.85; }
body.nx-theme-ready .nx-reading p { margin-block: 0 1.4em; }
body.nx-theme-ready .nx-reading :is(h2, h3, h4) { margin-block: 1.8em .65em; line-height: 1.25; scroll-margin-top: 2rem; }
body.nx-theme-ready .nx-reading h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
body.nx-theme-ready .nx-reading h3 { font-size: clamp(1.2rem, 1rem + .7vw, 1.5rem); }
body.nx-theme-ready .nx-reading :is(ul, ol) { padding-inline-start: 1.5em; }
body.nx-theme-ready .nx-reading li + li { margin-block-start: .45em; }
body.nx-theme-ready .nx-reading :is(img, video, iframe) { max-width: 100%; }
body.nx-theme-ready .nx-reading :is(figure, .wp-caption) { max-width: 100%; }
body.nx-theme-ready .nx-reading figure:not(.alignleft):not(.alignright) { margin-inline: auto; }
body.nx-theme-ready .nx-reading figcaption { font-family: var(--nx-body); font-size: .85em; line-height: 1.65; }
body.nx-theme-ready .nx-reading a { text-decoration: underline; text-underline-offset: .18em; }
body.nx-theme-ready :is(.post-navigation, .comment-navigation, .pagination-wrap) { clear: both; }
body.nx-theme-ready .nav-links > div { min-width: 0; }
body.nx-theme-ready .page-numbers.current { outline: 2px solid currentColor; outline-offset: 2px; font-weight: 800; }
body.nx-theme-ready [class*="ticker"]:hover, body.nx-theme-ready [class*="ticker"]:focus-within { animation-play-state: paused; }
body.nx-theme-ready :is(.nx-reading, main) { min-width: 0; }
.nx-search-disclosure { position: relative; }
.nx-search-disclosure > summary { list-style: none; cursor: pointer; }
.nx-search-disclosure > summary::-webkit-details-marker { display: none; }
.nx-search-disclosure > summary::after { content: "+"; margin-inline-start: .5rem; }
.nx-search-disclosure[open] > summary::after { content: "-"; }
.nx-search-panel { position: absolute; z-index: 100; right: 0; top: calc(100% + .75rem); width: min(25rem, calc(100vw - 2rem)); padding: 1.15rem; color: #14202b; background: #fff; border: 1px solid #ccd1d5; border-radius: 12px; box-shadow: 0 14px 40px #0002; }
.nx-search-panel .search-form { flex-wrap: wrap; }
.nx-search-panel label { flex: 1 1 12rem; min-width: 0; }
.nx-search-panel input[type=search] { width: 100%; background: #fff; color: #14202b; border-color: #697580; }
.nx-search-panel button { color: #fff; background: #14202b; }
.nx-lead-image { display: block; margin: 0 0 1rem; overflow: hidden; border-radius: inherit; }
.nx-lead-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 760px) {
    body.nx-theme-ready :is(.site-header, header[id$="-header"], .top-header-bar, .main-navigation) { position: relative; top: auto; }
    body.nx-theme-ready :is(.nx-reading, .entry-content) { overflow-wrap: anywhere; }
    body.nx-theme-ready :is(.featured-image, [class$="-story-hero"], [class$="-article__featured-img"]) { margin-inline: auto; }
    .nx-search-disclosure { position: static; }
    .nx-search-panel { left: 1rem; right: 1rem; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    body.nx-theme-ready *, body.nx-theme-ready *::before, body.nx-theme-ready *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
    body.nx-theme-ready { color: #000; background: #fff; }
    body.nx-theme-ready :is(header.site-header, header[id$="-header"], aside, .sidebar, .site-footer, .nx-search-disclosure, .comments-area, [class*="bottom-nav"], [class*="ticker"]) { display: none !important; }
    body.nx-theme-ready main { width: 100%; margin: 0; }
    body.nx-theme-ready article { box-shadow: none; border: 0; }
}

/* Nexia collection: calmer navigation and a content-first reading rhythm. */
body.nx-theme-ready .site-header { backdrop-filter: none; }
body.nx-theme-ready .header-main { gap: 1rem; padding-block: .85rem; }
body.nx-theme-ready .topline, body.nx-theme-ready .topbar { font-size: .75rem; line-height: 1.4; }
body.nx-theme-ready .topline-promise, body.nx-theme-ready .topbar > span:last-child { max-width: 40rem; text-align: end; }
body.nx-theme-ready .brand-name { font-weight: 650; line-height: 1.1; }
body.nx-theme-ready .brand-subtitle { font-weight: 600; letter-spacing: .08em; font-size: .68rem; }
body.nx-theme-ready .primary-nav a { border-color: transparent; background: transparent; box-shadow: none; border-radius: 6px; font-size: .94rem; padding: .55rem .7rem; }
body.nx-theme-ready .primary-nav a:hover { text-decoration: underline; text-underline-offset: .4em; }
body.nx-theme-ready .category-strip a { background: transparent; box-shadow: none; font-weight: 600; font-size: .83rem; border-color: var(--nx-line); }
body.nx-theme-ready .category-strip { padding-block: .35rem .85rem; }
body.nx-theme-ready .header-search, body.nx-theme-ready .desktop-more > summary, body.nx-theme-ready .mobile-menu > summary { font-size: .92rem; line-height: 1.2; padding: .65rem .85rem; }
body.nx-theme-ready .hero-metrics { display: none; }
body.nx-theme-ready .hero-title { font-size: clamp(2.25rem, 4.7vw, 4.7rem); line-height: 1.03; letter-spacing: -.035em; }
body.nx-theme-ready .hero-copy { font-size: 1.1rem; line-height: 1.7; }
body.nx-theme-ready :is(.hero-feature-title, .hero-brief-title) { line-height: 1.16; font-weight: 650; }
body.nx-theme-ready :is(.entry-title, .page-title, .archive-title) { font-size: clamp(2rem, 1.45rem + 2.1vw, 3.5rem); line-height: 1.13; letter-spacing: -.025em; }
body.nx-theme-ready .entry-header { padding-block: 1.8rem 1.5rem; }
body.nx-theme-ready .card-title { font-size: clamp(1.35rem, 1.2rem + .7vw, 1.9rem); line-height: 1.2; letter-spacing: -.02em; }
body.nx-theme-ready :is(.card-meta, .post-meta, .entry-meta, .side-date) { line-height: 1.55; font-size: .86rem; }
body.nx-theme-ready .content-card { box-shadow: 0 4px 18px #00000008; }
body.nx-theme-ready .content-card:hover { transform: none; box-shadow: 0 8px 28px #00000012; }
body.nx-theme-ready .card-excerpt { line-height: 1.7; font-size: .98rem; }
body.nx-theme-ready .read-more { min-height: 40px; font-size: .9rem; padding: .6rem .85rem; }
body.nx-theme-ready .side-list a { line-height: 1.5; font-weight: 650; }
body.nx-theme-ready .sidebar { gap: 1.4rem; }
body.nx-theme-ready :is(.desktop-more-panel, .mobile-menu-panel) { max-height: min(70vh, 34rem); overflow: auto; overscroll-behavior: contain; }
body.nx-theme-ready .desktop-more-list a, body.nx-theme-ready .mobile-menu-list a { line-height: 1.5; font-size: 1rem; font-weight: 650; }
body.nx-theme-ready .footer-grid { padding-block: 2.5rem; }
@media (max-width: 760px) {
    body.nx-theme-ready .site-shell { width: calc(100% - 2rem); }
    body.nx-theme-ready :is(.topline, .topbar, .brand-subtitle) { display: none; }
    body.nx-theme-ready .hero-panel, body.nx-theme-ready .home-hero { margin-block: 1rem 1.5rem; }
    body.nx-theme-ready .hero-title { font-size: 2.25rem; }
    body.nx-theme-ready .hero-copy { font-size: 1rem; }
    body.nx-theme-ready .hero-grid { gap: 1.5rem; }
    body.nx-theme-ready .main-layout { margin-block: 1.5rem 3rem; }
    body.nx-theme-ready .entry-title { font-size: 2rem; }
    body.nx-theme-ready .nx-search-panel { top: 100%; }
    body.nx-theme-ready .brand-name { font-size: clamp(1.1rem, 4.8vw, 1.55rem); }
    body.nx-theme-ready .brand-mark { width: 34px; height: 34px; flex-shrink: 0; }
}

body.nx-theme-ready :is(.hero-title, .entry-title) { font-weight: 550; }

/* Respect device safe areas without adding desktop gutters. */
@supports (padding: max(0px)) {
    body.nx-theme-ready { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
}
.nx-search-icon { display: none; }
@media (max-width: 1040px) {
    body.nx-theme-ready .nx-search-disclosure > .header-search { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; padding: .65rem; }
    .nx-search-icon { display: block; }
    .nx-search-disclosure > summary::after { display: none; }
    .nx-search-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
}

body.nx-theme-ready [role=dialog][aria-hidden=true] { visibility: hidden; }
body.nx-theme-ready .footer-signature { color: inherit; opacity: 1; }

body.nx-theme-ready .comment-form input[type=checkbox] { width: 24px; height: 24px; min-height: 24px; flex-shrink: 0; vertical-align: middle; }

/* Keep vivid brand surfaces separate from small, readable UI text. */
body.nx-theme-ready { --nx-accent-ink: #1457c8; }
body.nx-theme-ready :is(.card-category, .hero-brief-label, .stream-symbol) { color: var(--nx-accent-ink); }
body.nx-theme-ready :is(.hero-kicker, .section-kicker) { color: inherit; }
body.nx-theme-ready :is(.read-more, .card-sequence, .side-rank) { background: var(--nx-accent-ink); color: #fff; }
body.nx-theme-ready a.page-numbers { color: #172535; background: #fff; }

body.nx-theme-ready .nx-recovery { box-sizing: border-box; padding: clamp(.75rem, 2vw, 1.5rem); background: var(--rx-paper); border-radius: var(--rx-radius); }
