/* ===========================
   NEWSROOM — news and announcements (loads on top of site.css)
   Pages are written by build_newsroom.py; class names are what it writes.
   =========================== */

.nr-page{padding-top:var(--page-top);padding-bottom:96px}
.nr-top{margin-bottom:28px}
.nr-h{margin-left:-.04em;font-size:clamp(40px,6vw,84px);font-weight:500;letter-spacing:-.045em;line-height:1;margin-bottom:16px}
.nr-sub{font-size:18px;line-height:1.55;color:var(--muted);max-width:560px}
.nr-filter{justify-content:flex-start;margin-bottom:32px}
button.chip{font:inherit;font-size:16px;cursor:pointer}
.chip.on{background:var(--cream);border-color:var(--cream);color:#15130f}
@media (hover:hover){.chip.on:hover{color:#15130f}}
.nr-meta{font-size:14px;color:var(--faint)}
.nr-empty{padding:48px 0;font-size:18px;color:var(--muted)}

/* the newest story leads */
.nr-lead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;padding:16px;border-radius:32px;   /* concentric: the cover inside is 16 + 16 of padding */ background:var(--surface);border:1px solid var(--line);transition:border-color .25s}
@media (hover:hover){.nr-lead:hover{border-color:var(--line-2)}}
.nr-lead[hidden]{display:none}
.nr-lead-cover{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--surface-2)}
.nr-lead-text{padding:12px clamp(8px,1.5vw,20px) 12px 0}
.nr-lead-title{margin:12px 0 16px;font-size:clamp(28px,3.2vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
.nr-lead-excerpt{font-size:16px;line-height:1.55;color:var(--muted)}
.nr-read{display:inline-block;margin-top:24px;font-size:16px;color:var(--text);transition:transform .3s var(--ease)}
@media (hover:hover){.nr-lead:hover .nr-read{transform:translateX(3px)}}

/* every other story */
.nr-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px) clamp(16px,2vw,24px);margin-top:clamp(28px,4vw,48px)}
.nr-item[hidden]{display:none}
.nr-card{display:block}
.nr-cover{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);margin-bottom:16px}
.nr-cover img,.nr-lead-cover img,.nr-hero img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
@media (hover:hover){.nr-card:hover .nr-cover img,.nr-lead:hover .nr-lead-cover img{transform:scale(1.03)}}
.nr-title{margin-top:8px;font-size:clamp(18px,1.7vw,24px);font-weight:500;letter-spacing:-.02em;line-height:1.25;text-wrap:balance;transition:opacity .2s}
@media (hover:hover){.nr-card:hover .nr-title{opacity:.8}}

/* no photo: a quiet panel lit by the two sides, with the category */
.nr-plain{position:relative;display:flex;align-items:flex-end;padding:16px 20px;
  background:radial-gradient(60% 80% at 15% 110%,rgba(107,182,166,.28),transparent 70%),radial-gradient(60% 80% at 85% 110%,rgba(217,119,95,.22),transparent 70%),var(--surface)}
.nr-plain span{font-size:16px;font-weight:500;color:var(--text);opacity:.85}

/* press kit */
.nr-press{margin-top:clamp(72px,10vw,112px);padding-top:32px;border-top:1px solid var(--line)}
.nr-press-head h2{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;margin-bottom:12px}
.nr-press-head p{font-size:16px;line-height:1.55;color:var(--muted);max-width:52ch}
.nr-kit{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2vw,24px);margin-top:32px}
.nr-boiler{padding:24px 24px 24px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.nr-boiler-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.nr-boiler p{font-size:18px;line-height:1.6;color:rgba(240,238,230,.8)}
.nr-copy{min-height:34px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);font:inherit;font-size:14px;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}
@media (hover:hover){.nr-copy:hover{color:var(--text);border-color:var(--faint)}}
.nr-copy.done{color:#15130f;background:var(--cream);border-color:var(--cream)}
.nr-facts{display:grid;align-content:start;gap:0;padding:6px 24px;border-radius:16px;border:1px solid var(--line)}
.nr-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0}
.nr-facts div+div{border-top:1px solid var(--line)}
.nr-facts dt{font-size:14px;color:var(--faint);white-space:nowrap}
.nr-facts dd{font-size:16px;text-align:right}
.nr-facts dd a{transition:color .2s}
@media (hover:hover){.nr-facts dd a:hover{color:var(--muted)}}
.nr-press-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px}
.nr-press-a{font-size:16px;color:var(--muted);transition:color .2s}
@media (hover:hover){.nr-press-a:hover{color:var(--text)}}

/* a story */
.nr-story{padding-top:var(--page-top);padding-bottom:96px}
.nr-story .back-link{margin-bottom:32px}
.nr-head{max-width:760px}
.nr-h1{margin:16px 0 16px;font-size:clamp(40px,5vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.04;text-wrap:balance}
.nr-lede{font-size:clamp(18px,1.8vw,24px);line-height:1.5;color:var(--muted);max-width:60ch}
.nr-hero{margin-top:clamp(32px,4vw,48px);aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:var(--surface)}
.nr-body{max-width:720px;margin-top:clamp(32px,5vw,56px)}
.nr-body h2{margin:40px 0 16px;font-size:24px;font-weight:500;letter-spacing:-.02em}
.nr-body h3{margin:32px 0 10px;font-size:20px;font-weight:500;letter-spacing:-.015em}
.nr-body ul{margin:0 0 24px 1.1em;font-size:18px;line-height:1.7;color:rgba(240,238,230,.8)}
.nr-body li{margin-bottom:6px}
.nr-body blockquote{margin:32px 0;padding-left:24px;border-left:2px solid var(--side-a)}
.nr-body blockquote p{font-size:24px;line-height:1.5;color:var(--text)}
.nr-body figure{margin:32px 0}
.nr-body figure img{display:block;width:100%;border-radius:16px}
.nr-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:.1em .4em;border-radius:6px;background:var(--surface-2)}
.nr-body a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
@media (hover:hover){.nr-body a:hover{text-decoration-color:var(--text)}}
.nr-more{margin-top:96px;padding-top:32px;border-top:1px solid var(--line)}
.nr-more .nr-grid{margin-top:20px}

@media (max-width:860px){
  .nr-lead{grid-template-columns:1fr}
  .nr-lead-text{padding:8px 0}
  .nr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nr-kit{grid-template-columns:1fr}
}
@media (max-width:560px){
  .nr-grid{grid-template-columns:1fr;gap:32px}
}
