/*
  Scholars Network — news page styles
  ---------------------------------------
  Page-specific styles. Shared primitives (reset, `:root` brand tokens, base
  `body`, `html { scroll-behavior }`) live in global.css and are not
  redefined here.
*/

/* HERO */
.page-hero { min-height:45vh; background:linear-gradient(135deg, var(--navy) 0%, #1a3a52 100%); display:flex; align-items:center; padding:120px 5% 80px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,0.04) 0%, transparent 70%); }
.page-hero-inner { max-width:900px; margin:0 auto; width:100%; position:relative; z-index:1; text-align:center; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,3.5vw,3.2rem); font-weight:400; color:var(--white); line-height:1.15; margin-bottom:1.25rem; }
.hero-sub { font-size:1.05rem; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:2rem; max-width:560px; }
.page-hero-inner.centered h1 { margin-left:auto; margin-right:auto; }
.page-hero-inner.centered .hero-sub { margin-left:auto; margin-right:auto; }
.hero-sub.no-margin { margin-bottom:0; }

/* NEWS */
.news-section { background:var(--white); padding:2.5rem 5% 5rem; }
.news-inner { max-width:1200px; margin:0 auto; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.load-more-wrap { text-align:center; margin-top:2.5rem; }
.btn-load-more { display:inline-flex; align-items:center; gap:0.5rem; background:var(--white); color:var(--teal); border:1.5px solid var(--teal); padding:0.8rem 2rem; border-radius:8px; font-size:0.95rem; font-weight:600; font-family:'Inter',sans-serif; cursor:pointer; transition:background 0.2s,color 0.2s,transform 0.2s; }
.btn-load-more:hover { background:var(--teal); color:var(--white); transform:translateY(-1px); }
.press-note { text-align:center; margin-bottom:2rem; font-size:0.85rem; color:var(--gray); }
.press-note a { color:var(--teal); text-decoration:none; font-weight:600; }

/* SECTION LABELS */
.news-section-label {
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1.25rem;
}
.news-section-label span {
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--teal);
  white-space:nowrap;
}
.news-section-label::after {
  content:'';
  flex:1;
  height:1px;
  background:var(--border);
}
.news-section-block { margin-bottom:2.5rem; }

@media(max-width:1024px) {
  .news-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px) {
  .news-grid { grid-template-columns:1fr; }
}
