.np-hero{padding:52px 0 44px}
.np-hero h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2.5rem,5.2vw,4rem);line-height:1.04;letter-spacing:-.035em;margin:18px 0 18px;text-wrap:balance;max-width:17ch}
.np-lead{font-family:var(--f-body);font-size:1.1875rem;line-height:1.65;color:var(--fg-dim);max-width:62ch;margin:0}
.np-lead strong{color:var(--fg);font-weight:600}
.np-sec{padding:0 0 74px}
/* 3 milestones / 2 press in a fixed 4-col grid left empty cells showing as grey slabs */
/* auto-fit only collapses EMPTY tracks -- it cannot help when items outnumber
   columns, so 4 milestones in 3 tracks stranded 2 cells. Count drives columns. */
.np-sec .news.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.np-sec .news.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){ .np-sec .news.n4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .np-sec .news.n4,.np-sec .news.n2{grid-template-columns:minmax(0,1fr)} }
.np-h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 34px;max-width:17ch;text-wrap:balance}
.nitem .nblurb{margin:0;font-family:var(--f-body);font-size:.875rem;line-height:1.55;color:var(--fg-dim)}
.plist{border-top:1px solid var(--line)}
.pitem{display:flex;align-items:baseline;gap:26px;padding:20px 6px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding-left .18s,background .18s}
.pitem:hover{padding-left:14px;background:var(--paper)}
.pdate{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);flex:none;width:140px;font-variant-numeric:tabular-nums}
.phead{font-family:var(--f-display);font-weight:500;font-size:1.125rem;line-height:1.35;letter-spacing:-.015em;color:var(--fg);flex:1}
.pitem:hover .phead{color:var(--accent)}
.parr{flex:none;color:var(--fg-faint);display:inline-flex}
.parr svg{width:13px;height:13px;transition:transform .2s}
.pitem:hover .parr{color:var(--accent)}
.pitem:hover .parr svg{transform:translateX(4px)}
@media (max-width:640px){ .pitem{flex-direction:column;gap:7px;align-items:flex-start} .pdate{width:auto} }
footer .social{border-top:0;margin-top:0;padding:34px 0}

.theme{margin:56px 0 18px}
.theme:first-of-type{margin-top:0}
.theme-h{font-family:var(--f-display);font-weight:700;font-size:1.5rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px}
.theme-sub{font-family:var(--f-body);font-size:.9375rem;line-height:1.55;color:var(--fg-dim);margin:0;max-width:58ch}
.cat-wrap{margin-top:64px;padding-top:30px;border-top:1px solid var(--fg)}
.cat-h{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 18px}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cat{font-family:var(--f-body);font-size:13px;font-weight:500;color:var(--fg);text-decoration:none;border:1px solid var(--line);padding:7px 12px;display:inline-flex;align-items:center;gap:8px;transition:border-color .18s,color .18s}
.cat:hover{border-color:var(--accent);color:var(--accent)}
.cat-n{font-size:11px;font-weight:600;color:var(--fg-faint);font-variant-numeric:tabular-nums}
.cat:hover .cat-n{color:var(--accent)}

.vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
@media (max-width:1000px){ .vids{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .vids{grid-template-columns:minmax(0,1fr)} }
.vid{display:flex;flex-direction:column;text-decoration:none;group:vid}
.vid-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.vid-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,filter .3s ease;filter:saturate(.9)}
.vid:hover .vid-thumb img{transform:scale(1.04);filter:saturate(1)}
.vid-play{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);
  display:grid;place-items:center;color:var(--accent);transition:transform .2s ease,background .2s ease;box-shadow:0 2px 14px rgba(0,0,0,.22)}
.vid-play svg{width:22px;height:22px;margin-left:2px}
.vid:hover .vid-play{transform:scale(1.1);background:#fff}
.vid-dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.82);color:#fff;font-family:var(--f-body);
  font-size:11px;font-weight:600;padding:2px 6px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.vid-kind{margin-top:14px;font-family:var(--f-body);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.vid-title{margin-top:8px;font-family:var(--f-display);font-weight:700;font-size:1.0625rem;line-height:1.3;letter-spacing:-.015em;color:var(--fg);text-wrap:balance}
.vid:hover .vid-title{color:var(--accent)}
.vid-desc{margin-top:8px;font-family:var(--f-body);font-size:.8125rem;line-height:1.55;color:var(--fg-dim)}
