:root{--service-accent:var(--color-accent);}

/* ============ NEWS / INSIGHTS MODULE ============
   Built entirely on tokens.css + components.css primitives.
   No hardcoded colours, spacing, radii or type — all var(). */

/* --- Featured story (full-bleed collage hero) --- */
.news-featured{
  position:relative;
  margin-left:calc(-50vw + 50%);
  margin-right:calc(-50vw + 50%);
  padding-left:var(--space-6);
  padding-right:var(--space-6);
  overflow:hidden;
}
.news-featured-inner{
  max-width:var(--content-wide);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:var(--space-10);
  align-items:center;
  background:var(--color-surface-navy);
  color:var(--color-text-inverse-navy);
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.news-featured-media{
  position:relative;
  min-width:0;      /* prevent intrinsic image width inflating the fr track */
  min-height:340px;
  height:100%;
}
.news-featured-media img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
/* gold seam echoing the mosaic tiles + accent-band lock */
.news-featured-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 60%,var(--color-surface-navy) 99%);
}
.news-featured-body{
  min-width:0;      /* allow the text column to shrink within the grid */
  padding:var(--space-12) var(--space-10) var(--space-12) 0;
}
.news-featured .news-eyebrow{
  color:var(--color-accent);
  font-family:var(--font-body);
  font-size:var(--text-xs);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:var(--tracking-uppercase);
  margin-bottom:var(--space-3);
}
.news-featured h2{
  font-family:var(--font-display);
  font-size:var(--text-2xl);
  line-height:var(--leading-display);
  color:var(--color-text-inverse-navy);
  letter-spacing:var(--tracking-tight);
}
.news-featured p{
  color:var(--color-text-muted-navy);
  font-size:var(--text-base);
  line-height:var(--leading-body);
  margin-top:var(--space-4);
  max-width:52ch;
}
.news-featured .news-meta{
  color:var(--color-text-muted-navy);
  font-size:var(--text-xs);
  margin-top:var(--space-4);
}
.news-featured .btn-accent{margin-top:var(--space-6);}

/* --- Logo-merge motif: Octopus + Ramparts -> Resilience --- */
.merge-motif{
  display:inline-flex;align-items:center;gap:var(--space-3);
  margin-top:var(--space-6);
  font-family:var(--font-body);font-size:var(--text-sm);
  color:var(--color-text-muted-navy);
}
.merge-chip{
  padding:var(--space-1) var(--space-3);
  border:1px solid var(--color-border-navy);
  border-radius:var(--radius-full);
  animation:mergeIn 900ms var(--transition-interactive) both;
}
.merge-chip:nth-child(1){animation-delay:80ms;}
.merge-chip:nth-child(3){animation-delay:240ms;}
.merge-arrow{color:var(--color-accent);font-weight:600;}
.merge-result{
  padding:var(--space-1) var(--space-3);
  border-radius:var(--radius-full);
  background:var(--color-accent);
  color:#fff;font-weight:600;
  animation:mergeIn 900ms var(--transition-interactive) 420ms both;
}
@keyframes mergeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* --- Filter chips (reuse .badge look, service accents) --- */
.news-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6);}
.news-filter{
  font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;
  padding:var(--space-1) var(--space-3);
  border-radius:var(--radius-full);
  border:1px solid var(--color-border);
  background:transparent;color:var(--color-text-muted);
  cursor:pointer;transition:all var(--transition-interactive);
  min-height:32px;
}
.news-filter:hover{color:var(--color-text);border-color:var(--color-text-muted);}
.news-filter[aria-pressed="true"]{
  background:var(--color-primary);color:var(--color-text-inverse);
  border-color:var(--color-primary);
}

/* --- Feed grid: reuse .panel primitive --- */
.news-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--space-6);margin-top:var(--space-8);
}
.news-card{border-left-color:var(--service-accent);}
.news-card[data-cat="trustee"]  {--service-accent:var(--color-service-trustee);}
.news-card[data-cat="corporate"]{--service-accent:var(--color-service-corporate);}
.news-card[data-cat="fund"]     {--service-accent:var(--color-service-fund);}
.news-card[data-cat="firm"]     {--service-accent:var(--color-accent);}
.news-card .panel-badge{color:var(--service-accent);}
.news-card .panel-arrow{color:var(--service-accent);}

/* --- Latest-news ticker strip (opt-in) --- */
.news-ticker{
  display:flex;align-items:center;gap:var(--space-4);
  background:var(--color-surface-offset);
  border-top:3px solid var(--color-accent);
  padding:var(--space-3) var(--space-6);
  font-family:var(--font-body);font-size:var(--text-sm);
}
.news-ticker .news-ticker-label{
  color:var(--color-accent);font-weight:600;
  text-transform:uppercase;letter-spacing:var(--tracking-uppercase);
  font-size:var(--text-xs);white-space:nowrap;
}
.news-ticker a{color:var(--color-text);text-decoration:none;}
.news-ticker a:hover{color:var(--color-primary);}

@media (max-width:1023px){
  .news-featured-inner{grid-template-columns:1fr;}
  .news-featured-media{min-height:220px;}
  .news-featured-media::after{background:linear-gradient(180deg,transparent 55%,var(--color-surface-navy) 100%);}
  .news-featured-body{padding:var(--space-8) var(--space-6);}
  .news-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .news-grid{grid-template-columns:1fr;}
}
