/* news.css — cards for the homepage news feed + /news index, plus a few
   article-page helpers. Loaded on the homepage, /news, and /news/* pages.
   Uses the site's --acid/--muted/--border tokens (defined by each page). */

/* ---- homepage feed section wrapper ---- */
.news-section{padding:64px 40px;max-width:1400px;margin:0 auto;}
.news-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap;}
.news-section-header .nh-eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--acid);margin-bottom:10px;}
.news-section-header h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,4vw,46px);letter-spacing:.03em;line-height:1;}
.news-section-header .nh-link{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acid);text-decoration:none;white-space:nowrap;}
.news-section-header .nh-link:hover{color:var(--off-white);}

/* ---- card grids ---- */
.news-feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.news-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}

/* ---- card ---- */
.news-card{
  border:1px solid var(--border);margin:-1px 0 0 -1px;padding:28px;
  text-decoration:none;display:flex;flex-direction:column;gap:12px;
  background:var(--black,#0a0a0a);position:relative;overflow:hidden;transition:background .2s;
}
.news-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.news-card:hover{background:rgba(240,237,230,.025);}
.news-card:hover::after{transform:scaleX(1);}
.news-card-meta{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;}
.news-card-cat{color:var(--acid);}
.news-card-date{color:var(--muted);}
.news-card-title{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.02em;line-height:1.05;color:var(--off-white);}
.news-card-excerpt{font-size:12px;color:var(--muted);line-height:1.65;flex:1;}
.news-card-read{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.news-card:hover .news-card-read{color:var(--acid);}

/* ---- article page helpers ---- */
.article-back{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:18px;}
.article-back:hover{color:var(--acid);}
.article-meta{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:18px;}
.article-meta .am-cat{color:var(--acid);}
.article-cta{border:1px solid rgba(200,245,66,.25);background:rgba(200,245,66,.04);padding:28px;margin:40px 0;text-align:center;}
.article-cta .ac-title{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.04em;margin-bottom:8px;}
.article-cta .ac-sub{font-size:12px;color:var(--muted);margin-bottom:18px;line-height:1.6;}
.article-cta .ac-btn{display:inline-block;background:var(--acid);color:var(--black);padding:14px 30px;font-family:'DM Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;}
.article-cta .ac-btn:hover{opacity:.88;}

@media(max-width:960px){
  .news-feed-grid,.news-index-grid{grid-template-columns:repeat(2,1fr);}
  .news-section{padding:48px 20px;}
}
@media(max-width:600px){
  .news-feed-grid,.news-index-grid{grid-template-columns:1fr;}
}
