/* ========================================================================== 
   MADDS News / Signal Desk
   Editorial system intentionally distinct from the Home page interaction/UI.
   ========================================================================== */

.nx-page {
    --nx-ink: #101133;
    --nx-ink-soft: #474866;
    --nx-paper: #f6f3fb;
    --nx-paper-2: #ece7f7;
    --nx-line: rgba(26, 24, 63, .12);
    --nx-violet: #7d2cff;
    --nx-magenta: #c124c6;
    --nx-blue: #276cff;
    --nx-cyan: #37c8d8;
    --nx-dark: #080a2d;
    --nx-dark-2: #15103e;
    --nx-radius: 32px;
    color: var(--nx-ink);
    background: #fff;
    overflow: clip;
}

.nx-page *, .nx-page *::before, .nx-page *::after { box-sizing: border-box; }
.nx-page a { color: inherit; text-decoration: none; }
.nx-page [hidden] { display: none !important; }
.nx-shell { width: min(88%, 1540px); margin-inline: auto; position: relative; }

.nx-kicker {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: #dfe7ff;
    text-transform: uppercase;
    letter-spacing: .22em;
    font-size: .72rem;
    font-weight: 700;
}
.nx-kicker b {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--nx-cyan);
    box-shadow: 0 0 0 7px rgba(55,200,216,.10), 0 0 24px rgba(55,200,216,.55);
}
.nx-kicker--dark { color: #6c6790; }
.nx-kicker--dark b { background: var(--nx-violet); box-shadow: 0 0 0 7px rgba(125,44,255,.08); }

.nx-crumb {
    display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
    font-size: .78rem; text-transform: uppercase; letter-spacing: .15em;
    color: rgba(232,235,255,.68);
    margin-bottom: clamp(2.4rem, 5vw, 4.8rem);
}
.nx-crumb a { color: rgba(255,255,255,.88); }
.nx-crumb--light { margin-bottom: clamp(2rem, 4vw, 3.4rem); }

/* ---------- Index hero ---------- */
.nx-hero {
    position: relative;
    min-height: min(790px, 88svh);
    padding: clamp(130px, 13vw, 170px) 0 clamp(70px, 8vw, 110px);
    background:
        radial-gradient(circle at 78% 22%, rgba(80,88,255,.25), transparent 28%),
        radial-gradient(circle at 20% 85%, rgba(193,36,198,.16), transparent 32%),
        linear-gradient(135deg, #07092d 0%, #12103e 48%, #090b31 100%);
    color: #fff;
}
.nx-hero__grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.15));
}
.nx-hero__grid::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(105deg, transparent 10%, rgba(255,255,255,.04) 50%, transparent 90%);
    transform: translateX(-120%);
    animation: nxHeroSheen 10s ease-in-out infinite;
}
.nx-hero__inner {
    display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: clamp(2rem, 6vw, 7rem); align-items: end;
    z-index: 2;
}
.nx-hero__copy { max-width: 980px; }
.nx-hero h1 {
    margin: .9rem 0 1.25rem;
    max-width: 12.5ch;
    font-size: clamp(3.4rem, 6.5vw, 7.6rem);
    line-height: .94;
    letter-spacing: -.055em;
    font-weight: 600;
}
.nx-hero h1 span {
    display: block;
    color: transparent;
    background: linear-gradient(90deg, #d058de 0%, #8a3bff 44%, #4b80ff 100%);
    -webkit-background-clip: text; background-clip: text;
}
.nx-hero__copy > p {
    margin: 0;
    max-width: 700px;
    color: rgba(233,235,255,.76);
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.75;
}
.nx-hero__legend {
    display: flex; flex-wrap: wrap; gap: .6rem 1.3rem;
    margin-top: clamp(2rem, 4vw, 3.2rem);
    color: rgba(255,255,255,.64);
    font-size: .78rem; text-transform: uppercase; letter-spacing: .14em;
}
.nx-hero__legend span { display: inline-flex; align-items: center; gap: .7rem; }
.nx-hero__legend span::before { content: ""; width: 18px; height: 1px; background: rgba(82,205,224,.7); }

.nx-hero__index { align-self: stretch; display: flex; align-items: flex-end; }
.nx-indexcard {
    position: relative; padding: clamp(1.6rem, 3vw, 2.3rem);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 28px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    overflow: hidden;
}
.nx-indexcard::before {
    content: ""; position: absolute; width: 160px; height: 160px; border-radius: 50%;
    right: -48px; top: -50px;
    background: radial-gradient(circle, rgba(55,200,216,.18), transparent 68%);
}
.nx-indexcard__label { display: block; color: #58d2df; font-size: .72rem; text-transform: uppercase; letter-spacing: .18em; }
.nx-indexcard strong { display: block; margin: .8rem 0; font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.18; }
.nx-indexcard p { margin: 0; color: rgba(237,239,255,.66); line-height: 1.7; }
.nx-indexcard__line { margin-top: 1.7rem; height: 1px; background: rgba(255,255,255,.12); overflow: hidden; }
.nx-indexcard__line span { display: block; width: 38%; height: 100%; background: linear-gradient(90deg, var(--nx-magenta), var(--nx-cyan)); animation: nxIndexLine 4.5s ease-in-out infinite alternate; }

.nx-hero__signal {
    position: absolute; inset: auto 0 7% 0; height: 86px;
    display: flex; align-items: flex-end; gap: clamp(8px, 1.25vw, 24px);
    padding-inline: 4%; opacity: .24; overflow: hidden;
}
.nx-hero__signal i {
    flex: 1 1 0; min-width: 3px; border-radius: 999px 999px 0 0;
    background: linear-gradient(to top, rgba(74,106,255,.1), #50d8e8 70%, #cf43cf);
    animation: nxSignal 2.4s ease-in-out infinite alternate;
}
.nx-hero__signal i:nth-child(1){height:20%}.nx-hero__signal i:nth-child(2){height:52%;animation-delay:.12s}.nx-hero__signal i:nth-child(3){height:30%;animation-delay:.22s}.nx-hero__signal i:nth-child(4){height:82%;animation-delay:.32s}.nx-hero__signal i:nth-child(5){height:44%;animation-delay:.42s}.nx-hero__signal i:nth-child(6){height:66%;animation-delay:.52s}.nx-hero__signal i:nth-child(7){height:34%;animation-delay:.62s}.nx-hero__signal i:nth-child(8){height:74%;animation-delay:.72s}.nx-hero__signal i:nth-child(9){height:40%;animation-delay:.82s}.nx-hero__signal i:nth-child(10){height:58%;animation-delay:.92s}.nx-hero__signal i:nth-child(11){height:26%;animation-delay:1.02s}.nx-hero__signal i:nth-child(12){height:68%;animation-delay:1.12s}

/* ---------- Lead story ---------- */
.nx-lead {
    padding: clamp(5.5rem, 10vw, 9.5rem) 0;
    background:
        radial-gradient(circle at 8% 20%, rgba(186,42,199,.07), transparent 26%),
        linear-gradient(#fff, #fbf9fe);
}
.nx-sectioncap {
    display: flex; align-items: center; gap: 1rem;
    margin-bottom: 1.7rem;
    color: #6c6584; text-transform: uppercase; letter-spacing: .18em; font-size: .75rem; font-weight: 700;
}
.nx-sectioncap i { flex: 1; height: 1px; background: var(--nx-line); }
.nx-leadstory {
    display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    gap: clamp(2rem, 5vw, 5.5rem); align-items: center;
}
.nx-leadstory__media {
    position: relative; aspect-ratio: 16 / 9; min-height: 430px;
    border-radius: 8px 42px 8px 42px;
    overflow: hidden;
    background: #ded8ea;
    box-shadow: 0 28px 80px rgba(22,18,59,.14);
}
.nx-leadstory__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.nx-leadstory:hover .nx-leadstory__media img { transform: scale(1.025); }
.nx-leadstory__fallback {
    width: 100%; height: 100%; display: grid; place-items: center;
    background: linear-gradient(135deg, #28145d, #702bc5 55%, #2a6df5);
}
.nx-leadstory__fallback span { font-size: min(18vw, 13rem); color: rgba(255,255,255,.14); font-weight: 700; }
.nx-leadstory__scan, .nx-preview__sweep, .nxa-visual__scan {
    position: absolute; inset: 0 auto 0 -20%; width: 25%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
    transform: skewX(-12deg); pointer-events: none;
    animation: nxScan 7s ease-in-out infinite;
}
.nx-leadstory__corner { position: absolute; width: 50px; height: 50px; pointer-events: none; }
.nx-leadstory__corner--tl { left: 18px; top: 18px; border-left: 1px solid rgba(255,255,255,.8); border-top: 1px solid rgba(255,255,255,.8); }
.nx-leadstory__corner--br { right: 18px; bottom: 18px; border-right: 1px solid rgba(255,255,255,.8); border-bottom: 1px solid rgba(255,255,255,.8); }

.nx-meta { display: flex; gap: .65rem 1.1rem; flex-wrap: wrap; color: #716a87; font-size: .76rem; text-transform: uppercase; letter-spacing: .15em; }
.nx-meta span { color: var(--nx-violet); font-weight: 700; }
.nx-leadstory__copy h2 {
    margin: 1rem 0 1.25rem;
    font-size: clamp(2.5rem, 4.4vw, 5rem);
    line-height: 1.02; letter-spacing: -.045em; font-weight: 600;
}
.nx-leadstory__copy p { color: var(--nx-ink-soft); font-size: clamp(1rem, 1.45vw, 1.22rem); line-height: 1.75; }
.nx-readlink { display: inline-flex; align-items: center; gap: .8rem; margin-top: 1.3rem; font-weight: 700; }
.nx-readlink b { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--nx-magenta), var(--nx-blue)); transition: transform .3s ease; }
.nx-leadstory:hover .nx-readlink b { transform: translate(3px,-3px); }

/* ---------- Stream ---------- */
.nx-stream {
    padding: clamp(5rem, 9vw, 8rem) 0 clamp(6rem, 10vw, 9rem);
    background: var(--nx-paper);
    border-top: 1px solid var(--nx-line);
}
.nx-stream__head {
    display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.55fr);
    gap: 3rem; align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.nx-stream__head h2 { margin: .9rem 0 0; max-width: 17ch; font-size: clamp(2.4rem, 4.5vw, 5.2rem); line-height: 1.02; letter-spacing: -.045em; font-weight: 600; }
.nx-stream__head > p { margin: 0; color: #656078; line-height: 1.75; max-width: 45ch; }
.nx-stream__layout { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(320px, .86fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.nx-stream__list { border-top: 1px solid rgba(25,22,58,.18); }
.nx-streamrow {
    display: grid; grid-template-columns: 170px minmax(0,1fr) 44px; gap: 1.2rem; align-items: center;
    min-height: 136px; padding: 1.4rem .2rem;
    border-bottom: 1px solid rgba(25,22,58,.14);
    transition: padding .35s ease, background .35s ease;
}
.nx-streamrow:hover, .nx-streamrow:focus-visible { padding-inline: 1rem; background: rgba(255,255,255,.58); }
.nx-streamrow:focus-visible { outline: 2px solid var(--nx-violet); outline-offset: 3px; }
.nx-streamrow__meta { display: grid; gap: .55rem; color: #7a748c; font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; }
.nx-streamrow__meta span { color: #6d34d5; font-weight: 700; }
.nx-streamrow__title { font-size: clamp(1.2rem, 1.8vw, 1.65rem); line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.nx-streamrow__arrow { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(24,19,58,.14); transition: .3s ease; }
.nx-streamrow:hover .nx-streamrow__arrow { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--nx-magenta), var(--nx-blue)); transform: translate(2px,-2px); }

.nx-preview { position: sticky; top: 120px; }
.nx-preview__frame {
    position: relative; aspect-ratio: 4/3; overflow: hidden;
    border-radius: 28px 5px 28px 5px;
    background: #d9d4e6;
    box-shadow: 0 22px 64px rgba(33,24,65,.14);
}
.nx-preview__frame img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .24s ease, transform .5s ease; }
.nx-preview.is-changing img { opacity: .25; transform: scale(.985); }
.nx-preview__fallback { width: 100%; height: 100%; background: linear-gradient(135deg, #38146e, #6d2bba, #2f75ed); }
.nx-preview__caption { padding: 1.3rem .25rem 0; display: grid; gap: .55rem; }
.nx-preview__caption span { color: #756e86; font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.nx-preview__caption strong { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.25; }

.nx-pager { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--nx-line); font-size: .9rem; }
.nx-pager a:last-child { justify-self: end; }
.nx-pager a { font-weight: 700; color: #5623b5; }
.nx-pager b { font-weight: 600; color: #767086; }

.nx-empty { padding: 12rem 0; text-align: center; background: var(--nx-paper); }
.nx-empty h2 { font-size: clamp(2.6rem,5vw,5rem); margin: 1rem 0; }
.nx-empty p { color: var(--nx-ink-soft); }

/* ---------- Editorial subscribe ---------- */
.nx-subscribe {
    position: relative; padding: clamp(5rem, 9vw, 8rem) 0;
    color: #fff;
    background:
        radial-gradient(circle at 15% 30%, rgba(202,42,202,.24), transparent 28%),
        radial-gradient(circle at 88% 74%, rgba(44,113,255,.24), transparent 32%),
        linear-gradient(135deg, #080a2f 0%, #181047 55%, #0d123e 100%);
    overflow: hidden;
}
.nx-subscribe::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 54px 54px; opacity:.55; }
.nx-subscribe__inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; z-index: 1; }
.nx-subscribe__copy h2 { margin: .9rem 0 1rem; font-size: clamp(2.6rem,4.8vw,5.3rem); line-height: 1; letter-spacing: -.045em; max-width: 12ch; }
.nx-subscribe__copy p { margin:0; max-width: 640px; color: rgba(237,239,255,.7); line-height: 1.75; }
.nx-subscribe__promise { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.5rem; }
.nx-subscribe__promise span { padding: .45rem .75rem; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.7); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.nx-subscribe__panel { padding: clamp(1.4rem,3vw,2.1rem); border-radius: 26px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.nx-subscribe__form label { display: block; margin-bottom:.65rem; font-size: .75rem; color:rgba(255,255,255,.7); text-transform: uppercase; letter-spacing:.15em; }
.nx-subscribe__row { display:flex; gap:.7rem; }
.nx-subscribe__row input { flex:1 1 auto; min-width:0; height:56px; padding:0 1rem; border-radius:16px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.09); color:#fff; outline:none; }
.nx-subscribe__row input::placeholder { color:rgba(255,255,255,.42); }
.nx-subscribe__row input:focus { border-color:#62d2df; box-shadow:0 0 0 4px rgba(98,210,223,.09); }
.nx-subscribe__row button { min-height:56px; padding:0 1.1rem; border:0; border-radius:16px; color:#fff; font-weight:700; background:linear-gradient(100deg,var(--nx-magenta),var(--nx-violet),var(--nx-blue)); cursor:pointer; }
.nx-subscribe__legal { margin:.75rem 0 0; color:rgba(255,255,255,.48); font-size:.78rem; line-height:1.5; }
.nx-subscribe__legal a { color:#9fe4ec; text-decoration:underline; text-underline-offset:3px; }
.nx-subscribe__error { margin-top:.7rem; color:#ffb5c9; font-size:.85rem; }
.nx-subscribe__hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.nx-subscribe__success { display:flex; gap:1rem; align-items:flex-start; }
.nx-subscribe__check { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; border-radius:50%; color:#071029; font-weight:900; background:#70d8df; }
.nx-subscribe__success strong { display:block; font-size:1.4rem; }
.nx-subscribe__success p { margin:.4rem 0 .8rem; color:rgba(255,255,255,.68); }
.nx-subscribe__success button { border:0; padding:0; background:none; color:#91e5ec; text-decoration:underline; cursor:pointer; }

/* ========================================================================== 
   ARTICLE
   ========================================================================== */
.nx-articlepage { background: #fff; }
.nxa-cover {
    position: relative; padding: clamp(135px, 13vw, 180px) 0 clamp(5rem, 8vw, 8rem);
    color: #fff; background:
        radial-gradient(circle at 80% 15%, rgba(44,116,255,.22), transparent 26%),
        radial-gradient(circle at 15% 78%, rgba(198,43,197,.18), transparent 30%),
        linear-gradient(135deg,#080a2f,#171044 58%,#0b1037);
    overflow:hidden;
}
.nxa-cover__mesh { position:absolute; inset:0; background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 32px 32px; opacity:.16; mask-image: linear-gradient(to bottom,rgba(0,0,0,.8),transparent 86%); }
.nxa-cover__inner { z-index:1; }
.nxa-cover__meta { display:flex; flex-wrap:wrap; gap:.7rem 1.3rem; color:rgba(239,241,255,.64); text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; }
.nxa-cover__meta span:first-child { color:#72d9e2; font-weight:700; }
.nxa-cover h1 { margin:1.4rem 0 1.3rem; max-width: 17ch; font-size:clamp(3.2rem,6.5vw,7.4rem); line-height:.96; letter-spacing:-.055em; font-weight:600; }
.nxa-cover__summary { max-width: 850px; margin:0; color:rgba(241,242,255,.72); font-size:clamp(1.08rem,1.65vw,1.35rem); line-height:1.75; }
.nxa-cover__foot { display:flex; align-items:center; gap:1rem; margin-top:clamp(2.2rem,4vw,3.5rem); color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; }
.nxa-cover__foot i { width:56px; height:1px; background:linear-gradient(90deg,var(--nx-magenta),var(--nx-cyan)); }

.nxa-visual { margin-top:-1px; padding:0 0 clamp(3.5rem,7vw,6rem); background:linear-gradient(#0e1037 0 48%, #fff 48% 100%); }
.nxa-visual__frame { position:relative; width:min(100%,1320px); margin-inline:auto; aspect-ratio:16/8.5; min-height:420px; overflow:hidden; border-radius:8px 42px 8px 42px; box-shadow:0 34px 100px rgba(18,15,54,.2); background:#cfc9dc; }
.nxa-visual__frame img { width:100%; height:100%; display:block; object-fit:cover; }
.nxa-visual__fallback { width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#35116f,#6727b9,#2d73e8); }
.nxa-visual__fallback span { font-size:min(20vw,15rem); color:rgba(255,255,255,.12); font-weight:800; }
.nxa-visual__caption { position:absolute; left:20px; right:20px; bottom:20px; display:flex; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-radius:16px; color:#fff; background:rgba(8,10,45,.55); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(14px); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }

.nxa-reading { padding: clamp(1rem,2vw,2rem) 0 clamp(6rem,10vw,9rem); }
.nxa-reading__grid { display:grid; grid-template-columns: 190px minmax(0,760px) minmax(240px,320px); gap:clamp(2rem,4vw,4rem); justify-content:center; align-items:start; }
.nxa-rail__sticky, .nxa-context__card { position:sticky; top:120px; }
.nxa-progress > span, .nxa-rail__fact span { display:block; margin-bottom:.55rem; color:#7b748b; text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; }
.nxa-progress > div { height:4px; overflow:hidden; border-radius:99px; background:#e6e1ef; }
.nxa-progress i { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:linear-gradient(90deg,var(--nx-magenta),var(--nx-blue)); }
.nxa-progress b { display:block; margin-top:.45rem; color:#655c79; font-size:.78rem; font-weight:600; }
.nxa-rail__fact { margin-top:1.5rem; padding-top:1.3rem; border-top:1px solid var(--nx-line); }
.nxa-rail__fact strong { font-size:.95rem; }
.nxa-copylink { width:100%; margin-top:1.4rem; padding:.8rem .85rem; display:flex; justify-content:space-between; gap:.7rem; border:1px solid var(--nx-line); border-radius:14px; background:#fff; color:#372b55; font:inherit; font-size:.82rem; cursor:pointer; transition:.25s ease; }
.nxa-copylink:hover { border-color:rgba(125,44,255,.32); box-shadow:0 10px 30px rgba(58,37,100,.07); }
.nxa-copylink.is-copied { color:#fff; background:#5223ad; border-color:#5223ad; }
.nxa-back { display:inline-block; margin-top:1.25rem; color:#5c27b7; font-size:.82rem; font-weight:700; }

.nxa-body { min-width:0; }
.nxa-body__lead { margin:0 0 2rem; padding-bottom:1.6rem; border-bottom:1px solid var(--nx-line); color:#17143d !important; font-size:clamp(1.35rem,2.1vw,1.75rem) !important; line-height:1.55 !important; font-weight:500; letter-spacing:-.015em; }
.nxa-body__content p { margin:0 0 1.5rem; color:#3c3b52; font-size:clamp(1.02rem,1.35vw,1.14rem); line-height:1.88; }
.nxa-body__content p:first-child::first-letter { float:left; margin:.08em .12em 0 0; font-size:4.7em; line-height:.78; font-weight:600; color:#6d2cd1; }
.nxa-body__content a { color:#5f2ac4; text-decoration:underline; text-underline-offset:3px; }
.nxa-endmark { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; margin-top:3.5rem; color:#8a8399; text-transform:uppercase; letter-spacing:.16em; font-size:.68rem; }
.nxa-endmark i { height:1px; background:var(--nx-line); }

.nxa-context__card { padding:1.3rem; border:1px solid var(--nx-line); border-radius:24px; background:#f8f5fc; }
.nxa-context__card h2 { margin:.85rem 0 .75rem; font-size:1.35rem; line-height:1.25; letter-spacing:-.025em; }
.nxa-context__card p { margin:0; color:#686175; line-height:1.65; font-size:.92rem; }

.nxa-related { padding:clamp(5rem,8vw,7rem) 0; background:var(--nx-paper); border-top:1px solid var(--nx-line); }
.nxa-related__head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.2rem; }
.nxa-related__head h2 { margin:.8rem 0 0; font-size:clamp(2.4rem,4vw,4.5rem); line-height:1; letter-spacing:-.045em; }
.nxa-related__head > a { font-weight:700; color:#5824b8; }
.nxa-related__list { border-top:1px solid rgba(25,22,58,.16); }
.nxa-relatedrow { display:grid; grid-template-columns:130px minmax(0,1fr) 44px; gap:1.2rem; align-items:center; padding:1rem 0; border-bottom:1px solid rgba(25,22,58,.13); transition:padding .3s ease; }
.nxa-relatedrow:hover { padding-inline:.75rem; }
.nxa-relatedrow__media { width:130px; aspect-ratio:4/3; border-radius:14px; overflow:hidden; background:linear-gradient(135deg,#4b1a8c,#2c74e7); display:grid; place-items:center; }
.nxa-relatedrow__media img { width:100%; height:100%; object-fit:cover; }
.nxa-relatedrow__media span { color:rgba(255,255,255,.7); font-size:2.8rem; font-weight:700; }
.nxa-relatedrow__copy { display:grid; gap:.45rem; }
.nxa-relatedrow__copy span { color:#777087; font-size:.7rem; text-transform:uppercase; letter-spacing:.13em; }
.nxa-relatedrow__copy strong { font-size:clamp(1.1rem,1.6vw,1.45rem); line-height:1.3; }
.nxa-relatedrow > b { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--nx-line); transition:.25s ease; }
.nxa-relatedrow:hover > b { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--nx-magenta),var(--nx-blue)); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .nx-hero__inner, .nx-leadstory, .nx-stream__layout, .nx-subscribe__inner { grid-template-columns:1fr; }
    .nx-hero { min-height:auto; }
    .nx-hero__index { max-width:560px; }
    .nx-leadstory__media { min-height:360px; }
    .nx-preview { position:relative; top:auto; max-width:700px; }
    .nxa-reading__grid { grid-template-columns:150px minmax(0,1fr); }
    .nxa-context { display:none; }
}

@media (max-width: 760px) {
    .nx-shell { width:min(91%,1540px); }
    .nx-hero { padding-top:120px; }
    .nx-hero h1 { font-size:clamp(3rem,14vw,5.4rem); }
    .nx-crumb { margin-bottom:2rem; }
    .nx-hero__signal { display:none; }
    .nx-leadstory__media { min-height:0; aspect-ratio:4/3; border-radius:6px 26px 6px 26px; }
    .nx-stream__head { grid-template-columns:1fr; gap:1.2rem; }
    .nx-streamrow { grid-template-columns:1fr 38px; min-height:0; }
    .nx-streamrow__meta { grid-column:1/-1; display:flex; justify-content:space-between; gap:1rem; }
    .nx-streamrow__title { grid-column:1; }
    .nx-streamrow__arrow { grid-column:2; grid-row:2; }
    .nx-preview { display:none; }
    .nx-pager { grid-template-columns:1fr; text-align:center; }
    .nx-pager a:last-child { justify-self:center; }
    .nx-pager span { display:none; }
    .nx-subscribe__row { flex-direction:column; }
    .nx-subscribe__row button { width:100%; }

    .nxa-cover h1 { font-size:clamp(3rem,13vw,5.7rem); }
    .nxa-visual { background:linear-gradient(#0e1037 0 35%, #fff 35%); }
    .nxa-visual__frame { min-height:0; aspect-ratio:4/3; border-radius:6px 26px 6px 26px; }
    .nxa-visual__caption { left:10px; right:10px; bottom:10px; flex-direction:column; gap:.35rem; }
    .nxa-reading__grid { grid-template-columns:1fr; }
    .nxa-rail { order:2; }
    .nxa-rail__sticky { position:static; display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding-top:1.5rem; border-top:1px solid var(--nx-line); }
    .nxa-progress { grid-column:1/-1; }
    .nxa-copylink { margin:0; }
    .nxa-back { margin:0; align-self:center; }
    .nxa-related__head { align-items:flex-start; flex-direction:column; }
    .nxa-relatedrow { grid-template-columns:94px minmax(0,1fr); }
    .nxa-relatedrow__media { width:94px; }
    .nxa-relatedrow > b { display:none; }
}

@media (max-width: 480px) {
    .nx-hero__legend { gap:.6rem; }
    .nx-hero__legend span { width:calc(50% - .3rem); }
    .nxa-rail__sticky { grid-template-columns:1fr; }
    .nxa-progress { grid-column:auto; }
    .nxa-relatedrow { grid-template-columns:76px minmax(0,1fr); }
    .nxa-relatedrow__media { width:76px; }
}

@media (prefers-reduced-motion: reduce) {
    .nx-hero__grid::after, .nx-hero__signal i, .nx-indexcard__line span, .nx-leadstory__scan, .nx-preview__sweep, .nxa-visual__scan { animation:none !important; }
    .nx-page * { scroll-behavior:auto !important; }
}

@keyframes nxHeroSheen { 0%,25%{transform:translateX(-130%)} 65%,100%{transform:translateX(130%)} }
@keyframes nxIndexLine { from{transform:translateX(0)} to{transform:translateX(160%)} }
@keyframes nxSignal { from{transform:scaleY(.5);opacity:.35} to{transform:scaleY(1);opacity:1} }
@keyframes nxScan { 0%,18%{left:-28%} 58%,100%{left:118%} }
