/* Shared Nexum identity, extracted from the home page. Load after legacy/scoped styles. */
.nx-site {
    --nx-primary: #123f65;
    --nx-primary-hover: #0b2e4c;
    --nx-accent: #347742;
    --nx-bg: #f5f7f7;
    --nx-surface: #ffffff;
    --nx-surface-raised: #edf2f3;
    --nx-text: #122f47;
    --nx-muted: #536773;
    --nx-border: #d9e2e6;
    --nx-focus: #a65e00;
    --nx-space-section: clamp(4rem, 7vw, 7rem);
    --nx-page-top: 72px;
    --nx-page-bottom: 64px;
    --nx-control-border: #74869b;
    /* Bridge existing MVC components to the same palette, including dark mode. */
    --nexum-navy: var(--nx-text);
    --nexum-slate: var(--nx-text);
    --nexum-accent: var(--nx-primary);
    --nexum-cyan: var(--nx-accent);
    --nexum-green: var(--nx-accent);
    --nexum-surface: var(--nx-bg);
    --nexum-surface-2: var(--nx-surface);
    --nexum-card-bg: var(--nx-surface);
    --nexum-text: var(--nx-text);
    --nexum-muted: var(--nx-muted);
    --nexum-border: var(--nx-border);
    margin: 0;
    background: var(--nx-surface);
    color: var(--nx-text);
    font-family: Inter, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.nx-site .main-content { background: var(--nx-surface); }
.nx-site .container { width: 100%; max-width: 1240px; padding-inline: 36px; }
.nx-site h1, .nx-site h2, .nx-site h3 { color: var(--nx-text); font-family: Manrope, Arial, sans-serif; font-weight: 600; }
.nx-site p { line-height: 1.7; }
.nx-site .nx-eyebrow { margin-bottom: 20px; color: var(--nx-accent); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
:root .nx-site .nx-navbar { min-height: 86px; padding: 10px 0; background: var(--nx-surface); border: 0; border-bottom: 1px solid var(--nx-border); backdrop-filter: none; box-shadow: none; }
.nx-site .nx-nav-links .nav-link { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nx-site .nx-nav-links .nav-link { color: var(--nx-muted) !important; font-size: .77rem; padding-inline: .5rem !important; }
.nx-site .nx-nav-links .nav-link:hover, .nx-site .nx-nav-links .nav-link.active { color: var(--nx-primary) !important; }
.nx-site .nx-nav-links .nav-link.active, :root[data-theme="dark"] .nx-site .nx-nav-links .nav-link.active { background: transparent !important; box-shadow: none !important; }
.nx-site .nx-theme-button, .nx-site .nx-menu-toggle { border-radius: 6px; }
.nx-site .btn { text-transform: none; letter-spacing: 0; border-radius: 6px; font-family: inherit; font-weight: 600; box-shadow: none; }
.nx-site .nx-btn-primary, .nx-site .bg-gradient-primary {
    display: inline-flex; align-items: center; justify-content: center; gap: 24px;
    min-height: 48px; padding: 14px 22px; border: 1px solid var(--nx-primary);
    background: var(--nx-primary); background-image: none; color: #fff !important;
    font-size: .84rem; box-shadow: none; transition: background .2s ease, transform .2s ease;
}
.nx-site .nx-btn-primary:hover, .nx-site .bg-gradient-primary:hover { background: var(--nx-primary-hover); border-color: var(--nx-primary-hover); transform: translateY(-2px); }
.nx-site .nx-nav-cta { min-height: 44px; padding: 10px 16px; font-size: .75rem; white-space: nowrap; }
.nx-site .nx-link-arrow { font-size: .85rem; color: var(--nx-primary); }
.nx-site .btn-outline-primary { color: var(--nx-primary); border-color: var(--nx-border); min-height: 46px; padding: 12px 18px; }
.nx-site .btn-outline-primary:hover { color: #fff; background: var(--nx-primary); border-color: var(--nx-primary); }
.nx-site .card, .nx-site .nexum-card { border: 1px solid var(--nx-border); border-radius: 6px; background: var(--nx-surface); box-shadow: none !important; }
.nx-site .text-primary { color: var(--nx-primary) !important; }
.nx-site .text-muted { color: var(--nx-muted) !important; }
.nx-site .text-danger { color: #b42318 !important; }
.nx-site .footer { position: static; white-space: normal; line-height: 1.7; border-top: 1px solid var(--nx-border); background: var(--nx-surface); padding-top: 48px !important; }
.nx-site .footer p, .nx-site .footer li { font-size: .85rem; }
.nx-site .footer h6 { color: var(--nx-text); font-size: .75rem; letter-spacing: .08em; }
.nx-site .floating-whatsapp { border: 1px solid var(--nx-border); border-radius: 6px; color: var(--nx-text); background: var(--nx-surface); box-shadow: 0 4px 20px #122f4710; }
.nx-site .floating-whatsapp i { color: var(--nx-accent); }
.nx-site .floating-cta, .nx-site .back-to-top { background: var(--nx-primary); color: #fff; border-radius: 6px; }
.nx-site .floating-cta { width: max-content; max-width: calc(100% - 48px); white-space: nowrap; font-size: .85rem; }
.nx-site .nexum-swal-popup { background: var(--nx-surface); color: var(--nx-text); border-radius: 6px; border-color: var(--nx-border); }
.nx-site .nexum-swal-title { font-family: Manrope, Arial, sans-serif; color: var(--nx-text); }
.nx-site .nexum-swal-text { color: var(--nx-muted); }
.nx-site .reveal { opacity: 1; transform: none; }
.nx-site .reveal.reveal-ready:not(.revealed) { opacity: 0; transform: translateY(16px); }
.nx-site .reveal.reveal-ready { transition: opacity .45s ease, transform .45s ease; }
:root[data-theme="dark"] .nx-site {
    --nx-primary: #9dc9ec; --nx-primary-hover: #b9dcf6; --nx-accent: #9bcdaa;
    --nx-bg: #142632; --nx-surface: #10212d; --nx-surface-raised: #1c3444;
    --nx-text: #edf3f6; --nx-muted: #b4c5cf; --nx-border: #304754; --nx-focus: #e9be76;
    --nx-control-border: #607b9a; --nx-error: #ffb4ab; --nx-success: #75dba8;
    background: var(--nx-surface) !important;
}
:root[data-theme="dark"] .nx-site .nx-btn-primary, :root[data-theme="dark"] .nx-site .bg-gradient-primary { color: #10212d !important; }
:root[data-theme="dark"] .nx-site .floating-cta, :root[data-theme="dark"] .nx-site .back-to-top { color: #10212d; }
:root[data-theme="dark"] .nx-site .text-danger { color: #ffb4ab !important; }
:root[data-theme="dark"] .nx-site .nx-navbar, :root[data-theme="dark"] .nx-site .main-content, :root[data-theme="dark"] .nx-site .footer { background: var(--nx-surface) !important; }

/* Content pages share the home's rhythm; their own grids and tools stay local. */
:root .nx-site .newsletter-page, :root .nx-site .nx-tools { padding-block: var(--nx-page-top) var(--nx-page-bottom); }
:root .nx-site .newsletter-library-heading h1, :root .nx-site .nx-tools-heading h1 {
    margin: 0 0 24px; color: var(--nx-text); font-size: clamp(2.7rem, 4.35vw, 4rem);
    line-height: 1.1; letter-spacing: -.055em; font-weight: 600;
}
:root .nx-site .newsletter-library-heading > p, :root .nx-site .nx-tools-heading > p:not(.nx-eyebrow) { color: var(--nx-muted); font-size: 1rem; line-height: 1.8; }
:root .nx-site .newsletter-page { background: var(--nx-surface) !important; }
:root .nx-site .newsletter-library-page::before, :root .nx-site .newsletter-featured-visual::after { display: none; }
:root .nx-site .newsletter-overline { margin-bottom: 20px; color: var(--nx-accent); font-size: .72rem; letter-spacing: .12em; }
:root .nx-site .newsletter-library-header, :root .nx-site .newsletter-featured-footer, :root .nx-site .newsletter-card-footer { border-color: var(--nx-border); }
:root .nx-site .newsletter-library-header { padding-top: 0; }
:root .nx-site .newsletter-library-status strong { font-family: Manrope, Arial, sans-serif; }
:root .nx-site .newsletter-featured, :root .nx-site .newsletter-library-page .newsletter-card, :root .nx-site .newsletter-library-page .newsletter-empty {
    border: 1px solid var(--nx-border); border-radius: 6px; background: var(--nx-surface); box-shadow: none;
}
:root .nx-site .newsletter-featured-visual { color: var(--nx-text); background: var(--nx-bg); }
:root .nx-site .newsletter-featured-visual img { filter: none; }
:root .nx-site .newsletter-featured-content h2, :root .nx-site .newsletter-library-page .newsletter-card-title { color: var(--nx-text); font-weight: 600; }
:root .nx-site .newsletter-card-summary, :root .nx-site .newsletter-read-time { color: var(--nx-muted); }
:root .nx-site .newsletter-author { color: var(--nx-text); }
:root .nx-site .newsletter-library-page .newsletter-filter-chip { color: var(--nx-text); border-color: var(--nx-border); }
:root .nx-site .newsletter-library-page .newsletter-filter-chip:hover { color: var(--nx-primary); background: var(--nx-surface-raised); }
:root .nx-site .newsletter-library-page .newsletter-filter-chip.active { color: var(--nx-surface); background: var(--nx-primary); border-color: var(--nx-primary); }
:root .nx-site .newsletter-category { padding: 6px 10px; border-radius: 3px; color: var(--nx-primary); background: var(--nx-surface-raised); }
:root .nx-site .newsletter-read-link, :root .nx-site .newsletter-empty-icon { color: var(--nx-primary); border-color: var(--nx-border); background: var(--nx-surface-raised); }
:root .nx-site .newsletter-read-link:hover { color: var(--nx-surface); background: var(--nx-primary); }
:root .nx-site .newsletter-card-topline { background: var(--nx-primary); }
:root .nx-site .newsletter-library-page .newsletter-card:hover { border-color: var(--nx-control-border); box-shadow: none; }
:root .nx-site .newsletter-detail-lead, :root .nx-site .newsletter-content, :root .nx-site .newsletter-content :is(p, li, blockquote) { font-family: Inter, Arial, sans-serif; }
:root .nx-site .newsletter-content :is(h2, h3, h4) { font-family: Manrope, Arial, sans-serif; }
:root .nx-site .newsletter-back-link, :root .nx-site .newsletter-content a { color: var(--nx-primary); }
:root[data-theme="dark"] .nx-site .newsletter-featured-visual img { filter: brightness(0) invert(1); }
:root[data-theme="dark"] .nx-site .btn-outline-primary:hover { color: var(--nx-surface); }

@media (max-width: 1199.98px) {
    .nx-site .nx-navbar .navbar-collapse { top: 86px; border-radius: 6px; }
    .nx-site .nx-nav-links .nav-link { font-size: .9rem; }
}
@media (max-width: 991.98px) {
    :root .nx-site .newsletter-library-heading h1, :root .nx-site .nx-tools-heading h1 { font-size: 2.7rem; }
}
@media (max-width: 767.98px) {
    .nx-site { --nx-page-top: 44px; --nx-page-bottom: 44px; }
    .nx-site .container { padding-inline: 24px; }
    .nx-site .footer { padding-bottom: 90px !important; }
    :root .nx-site .newsletter-library-heading h1, :root .nx-site .nx-tools-heading h1 { font-size: clamp(2rem, 6.8vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.nx-site) { scroll-behavior: auto; }
    .nx-site *, .nx-site *::before, .nx-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .nx-site .reveal.reveal-ready:not(.revealed) { opacity: 1; transform: none; }
}
