/* Newsroom index and article pages. Mobile-first; breakpoints 640 / 960. Tokens only. */

main { background-image: var(--g-space); }

/* ---- newsroom index ---- */
.n-hero { padding-block: var(--s-8) var(--s-6); border-bottom: 1px solid var(--c-line); background: var(--g-hero); position: relative; overflow: hidden; }
.n-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--g-scanlines); opacity: .6; }
.n-hero .container { position: relative; z-index: 1; }
.n-hero h1 { font-size: var(--t-hero); line-height: 1.02; letter-spacing: -.01em; margin-bottom: var(--s-4); text-shadow: 0 0 40px rgba(59, 227, 255, .25); }
.n-hero__lead { max-width: 38rem; font-size: 1.125rem; color: var(--c-text); margin: 0; }
.n-list { padding-block: var(--s-7) var(--s-6); }
.n-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-6); }
@media (min-width: 960px) { .n-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .n-list { padding-block: var(--s-8) var(--s-7); } }
.n-card { padding: 0; display: flex; flex-direction: column; height: 100%; }
.n-card__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-bottom: 1px solid var(--c-line); background: var(--c-bg); }
.n-card__body { padding: var(--s-5); display: flex; flex-direction: column; flex: 1; gap: var(--s-3); }
.n-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-3); font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-text-muted); }
.n-cat { color: var(--c-signal); font-weight: 500; }
.n-cat--perspective { color: var(--c-amber); }
.n-cat--faq { color: var(--c-go); }
.n-card h2 { font-size: var(--t-lg); line-height: 1.2; margin: 0; }
.n-card__by { margin: 0; font-size: var(--t-sm); color: var(--c-text-muted); }
.n-card__excerpt { margin: 0; color: var(--c-text); flex: 1; }
.n-card .c-btn { align-self: flex-start; }
.n-note { padding-block: var(--s-6) var(--s-2); }
.n-note p { margin: 0; padding: var(--s-4); border-left: 3px solid var(--c-line-strong); background: var(--c-bg-2); color: var(--c-text-muted); font-family: var(--f-mono); font-size: var(--t-sm); letter-spacing: .04em; }

/* ---- article ---- */
.a-head { padding-top: var(--s-7); max-width: 60rem; }
.a-head h1 { font-size: clamp(2rem, 5.2vw, 3.5rem); line-height: 1.06; letter-spacing: -.01em; margin-bottom: var(--s-5); text-shadow: 0 0 40px rgba(59, 227, 255, .2); text-wrap: balance; }
.a-head .c-eyebrow { margin-bottom: var(--s-4); }
.c-eyebrow--amber { color: var(--c-amber); }
.c-eyebrow--go { color: var(--c-go); }
.a-dek { max-width: 46rem; font-size: 1.25rem; color: var(--c-text-muted); margin: 0 0 var(--s-5); }
.byline { display: flex; align-items: center; gap: var(--s-4); padding-block: var(--s-4); border-block: 1px solid var(--c-line); }
.byline .c-avatar { width: 56px; height: 56px; flex: none; }
.byline__mark { width: 56px; height: 56px; flex: none; border-radius: var(--r-2); border: 1px solid var(--c-line-strong); background: var(--c-panel-2); padding: 6px; box-shadow: 0 0 18px rgba(59, 227, 255, .15); }
.byline__mark img { display: block; width: 100%; height: 100%; }
.byline__who { margin: 0; font-weight: 600; color: var(--c-text); line-height: 1.3; }
.byline__role { margin: 0; font-size: var(--t-sm); color: var(--c-text-muted); line-height: 1.4; }
.byline__date { margin: var(--s-1) 0 0; font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-text-muted); }

.a-hero, .a-fig { margin: 0; }
.a-hero { margin-block: var(--s-6) var(--s-7); max-width: 60rem; }
.a-hero img, .a-fig img { display: block; width: 100%; height: auto; border: 1px solid var(--c-line-strong); border-radius: var(--r-1); background: var(--c-bg); box-shadow: 0 0 40px rgba(59, 227, 255, .1), 0 18px 40px rgba(0, 0, 0, .5); }
.a-hero figcaption, .a-fig figcaption { margin-top: var(--s-3); font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .06em; color: var(--c-text-muted); line-height: 1.5; }
.a-fig { margin-block: var(--s-7); max-width: 60rem; }

.prose { max-width: 68ch; font-size: 1.125rem; line-height: 1.75; color: var(--c-text); }
.a-body { max-width: 60rem; }
.prose p { margin: 0 0 1.25em; }
.prose h2 { font-size: var(--t-xl); margin: 2.2em 0 .7em; padding-top: var(--s-4); border-top: 1px solid var(--c-line); line-height: 1.15; }
.prose h2::before { content: ""; display: block; width: 3rem; height: 3px; margin: calc(-1 * var(--s-4) - 2px) 0 var(--s-4); background: linear-gradient(90deg, var(--c-signal), var(--c-violet)); }
.prose a { text-decoration-thickness: 1px; }
.prose ul, .prose ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.prose li { margin-bottom: .5em; }
.prose li::marker { color: var(--c-signal); }
.prose strong { color: var(--c-text); font-weight: 600; }
.prose--drop > p:first-of-type::first-letter { float: left; font-family: var(--f-display); font-weight: 700; font-size: 4.6rem; line-height: .8; padding: .08em .1em 0 0; color: var(--c-amber); }
.prose--essay { font-size: 1.1875rem; line-height: 1.85; }
.prose--essay p { color: #D6DFEE; }

.pullquote { margin: var(--s-7) 0; padding: var(--s-2) 0 var(--s-2) var(--s-5); border-left: 4px solid var(--c-signal); border-image: linear-gradient(180deg, var(--c-signal), var(--c-violet)) 1; }
.pullquote p { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(1.5rem, 3.4vw, 2.125rem); line-height: 1.2; letter-spacing: -.005em; color: var(--c-text); text-wrap: balance; }
.pullquote cite { display: block; margin-top: var(--s-3); font-family: var(--f-mono); font-style: normal; font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-text-muted); }
.pullquote--amber { border-image: linear-gradient(180deg, var(--c-amber), var(--c-violet)) 1; }
@media (min-width: 1100px) { .pullquote { margin-inline: -3rem 0; } }

.exec { margin: 0 0 var(--s-5); padding: var(--s-3) var(--s-4); display: inline-block; font-family: var(--f-mono); font-size: var(--t-sm); font-weight: 500; letter-spacing: .16em; color: var(--c-signal-ink); background: var(--c-signal); border-radius: var(--r-1); }
.dateline { font-weight: 600; letter-spacing: .04em; }
.release-quote { margin: 0 0 1.5em; padding: var(--s-4) var(--s-5); background: var(--c-panel); border: 1px solid var(--c-line); border-left: 3px solid var(--c-signal); border-radius: var(--r-1); }
.release-quote p { margin: 0 0 var(--s-2); }
.release-quote p:last-child { margin: 0; }
.release-quote .release-quote__by { font-size: var(--t-sm); color: var(--c-text-muted); }
.release-quote__by strong { color: var(--c-text); }
.a-timeline { list-style: none; padding: 0 !important; display: grid; gap: var(--s-2); }
.a-timeline li { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--s-3); margin: 0; padding-bottom: var(--s-2); border-bottom: 1px dashed var(--c-line); font-size: 1rem; line-height: 1.5; }
.a-timeline time { font-family: var(--f-mono); color: var(--c-signal); font-weight: 500; }
.boiler { margin: var(--s-7) 0 var(--s-5); padding: var(--s-5); font-size: 1rem; line-height: 1.65; }
.boiler h2 { margin: 0 0 var(--s-3); padding: 0; border: 0; font-size: var(--t-lg); }
.boiler h2::before { display: none; }
.boiler p:last-child { margin-bottom: 0; }
.media-contact { margin: 0 0 var(--s-4); padding: var(--s-4); font-family: var(--f-mono); font-size: var(--t-sm); letter-spacing: .04em; color: var(--c-text-muted); border: 1px dashed var(--c-line-strong); }
.media-contact strong { color: var(--c-text); letter-spacing: .12em; text-transform: uppercase; font-weight: 500; }
.end-mark { text-align: center; font-family: var(--f-mono); letter-spacing: .4em; color: var(--c-text-muted); margin: 0 0 var(--s-5); }
.essay-sign { margin: var(--s-6) 0 0; font-family: var(--f-display); font-size: var(--t-lg); color: var(--c-amber); letter-spacing: .04em; }

.aar { margin: var(--s-6) 0; padding: var(--s-5); }
.aar h3 { margin: 0 0 var(--s-4); font-size: var(--t-base); font-family: var(--f-mono); font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--c-text-muted); }
.aar dl { margin: 0; display: grid; gap: var(--s-3); }
.aar dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4); padding-bottom: var(--s-2); border-bottom: 1px dashed var(--c-line); font-size: 1rem; line-height: 1.4; }
.aar dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.aar dt { color: var(--c-text-muted); }
.aar dd { margin: 0; text-align: right; font-family: var(--f-mono); color: var(--c-signal); font-variant-numeric: tabular-nums; }
.aar dd.go { color: var(--c-go); }

/* ---- more from the newsroom ---- */
.more { padding-block: var(--s-8) var(--s-7); margin-top: var(--s-8); border-top: 1px solid var(--c-line); background: linear-gradient(180deg, var(--c-bg-2), var(--c-bg)); }
.more h2 { font-size: var(--t-xl); margin-bottom: var(--s-5); }
.more__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-5); }
@media (min-width: 720px) { .more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.more__card { padding: 0; display: grid; grid-template-columns: 1fr; height: 100%; }
@media (min-width: 640px) { .more__card { grid-template-columns: 9.5rem 1fr; } }
.more__card img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 9; border-bottom: 1px solid var(--c-line); }
@media (min-width: 640px) { .more__card img { border-bottom: 0; border-right: 1px solid var(--c-line); aspect-ratio: auto; min-height: 6.5rem; } }
.more__body { padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-2); }
.more__body h3 { margin: 0; font-size: 1.0625rem; line-height: 1.25; }
.more__body h3 a { color: var(--c-text); text-decoration: none; }
.more__body h3 a:hover { color: var(--c-signal); }
.more__all { margin: var(--s-5) 0 0; }
main:has(> .more) + .site-footer { margin-top: 0; }
