/* =====================================================================
   assets/fr/insights.css: the Insights blog, the author page and the
   company facts page (Site Growth, Phase 4, 9 Oct 2026).  NEW.
   Builds on fr.css tokens and components (fr-prose, fr-card, fr-grid,
   fr-callout, fr-cta-band); adds only what articles need.  Linked from
   the page body because the shell takes no per-page stylesheet.
   ASCII only.  Colours: tokens from fr.css (contrast as noted there).
   ===================================================================== */

/* ---------- Hero: byline and the "In this article" card ---------- */
.fr-ins-byline{font-size:var(--fr-small);color:var(--fr-muted);margin:-8px 0 var(--fr-s4)}
.fr-ins-byline a{font-weight:600}
.fr-ins-toc h2{font-size:20px;margin-bottom:12px}
.fr-ins-toc__list{list-style:decimal;margin:0 0 18px 22px!important;padding:0}
.fr-ins-toc__list li{margin:0 0 8px;color:var(--fr-muted);font-size:15px;line-height:1.35}
.fr-ins-toc__list a{color:var(--fr-navy);font-weight:600;text-decoration:none}
.fr-ins-toc__list a:hover{text-decoration:underline}

/* ---------- Draft banner (staging only) ---------- */
.fr-ins-draft{background:#fff4d6;border-top:1px solid #e0c874;border-bottom:1px solid #e0c874}
.fr-ins-draft p{margin:0;padding:12px 0;color:var(--fr-ink);font-size:15px}
.fr-ins-draft-note{color:var(--fr-muted);font-size:var(--fr-small)}
.fr-ins-flag{background:#fff4d6;color:#5c4700;border-radius:4px;padding:1px 6px}

/* ---------- Article body (inside .fr-prose) ---------- */
.fr-ins-body{font-size:17px;line-height:1.65}
.fr-ins-body>p:first-child{font-size:var(--fr-lead);color:var(--fr-ink)}
.fr-ins-body h2{scroll-margin-top:24px}
.fr-ins-body h3{font-size:18px;margin:28px 0 8px;scroll-margin-top:24px}
.fr-ins-body ol{list-style:decimal;margin:0 0 var(--fr-s4) 24px}
.fr-ins-body ol li{margin-bottom:8px}
.fr-ins-body a{font-weight:600;text-decoration:underline}
.fr-ins-body blockquote{margin:24px 0;padding:16px 20px;background:var(--fr-canvas);border-left:4px solid var(--fr-gold);border-radius:0 var(--fr-r-sm) var(--fr-r-sm) 0}
.fr-ins-body blockquote p{margin:0}

/* ---------- Sources, general information, author, related ---------- */
.fr-ins-sources{margin-top:40px;padding-top:24px;border-top:1px solid var(--fr-line)}
.fr-ins-sources h2{font-size:20px;margin:0 0 12px}
.fr-ins-sources ol{list-style:decimal;margin:0 0 12px 22px}
.fr-ins-sources li{font-size:15px;line-height:1.5;margin-bottom:8px}
.fr-ins-note{font-size:var(--fr-small);color:var(--fr-muted)}
.fr-ins-geninfo{font-size:var(--fr-small);color:var(--fr-muted);margin-top:24px;padding:14px 16px;background:var(--fr-canvas);border-radius:var(--fr-r-sm)}
.fr-ins-author{display:flex;gap:20px;align-items:flex-start;margin-top:32px;padding:20px;background:var(--fr-surface);border:1px solid var(--fr-line);border-top:4px solid var(--fr-gold);border-radius:var(--fr-r-md)}
.fr-ins-author img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none}
.fr-ins-author h2{font-size:18px!important;margin:0 0 6px!important}
.fr-ins-author p{font-size:15px;margin-bottom:6px}
.fr-ins-author--wide{max-width:860px;margin:0 auto}
.fr-ins-related{margin-top:32px}
.fr-ins-related h2{font-size:20px!important;margin:0 0 10px!important}
.fr-ins-related ul{list-style:none!important;margin:0!important}
.fr-ins-related li{margin-bottom:8px}

/* ---------- Index cards ---------- */
.fr-ins-card h3{font-size:19px;margin:4px 0 10px;line-height:1.25}
.fr-ins-card h3 a{text-decoration:none}
.fr-ins-card h3 a:hover{text-decoration:underline}
.fr-ins-card p{font-size:15px;color:var(--fr-ink)}
.fr-ins-card__meta{font-size:var(--fr-small)!important;color:var(--fr-muted)!important}
.fr-choice[aria-current="page"]{border-color:var(--fr-navy);box-shadow:inset 0 0 0 1px var(--fr-navy)}

/* ---------- Author page and company facts ---------- */
.fr-ins-portrait{margin:0;justify-self:center}
.fr-ins-portrait img{width:320px;height:320px;border-radius:50%;object-fit:cover;border:6px solid #fff;box-shadow:var(--fr-sh-lg)}
.fr-ins-portrait figcaption{text-align:center;font-size:var(--fr-small);color:var(--fr-muted);margin-top:12px}
.fr-ins-facts{max-width:860px;margin:0 auto;border-top:1px solid var(--fr-line)}
.fr-ins-facts div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--fr-line)}
.fr-ins-facts dt{font-family:var(--fr-font-head);font-weight:700;color:var(--fr-navy)}
.fr-ins-facts dd{margin:0;color:var(--fr-ink)}

@media (max-width:900px){
  .fr-ins-portrait img{width:220px;height:220px}
}
@media (max-width:560px){
  .fr-ins-body{font-size:16px}
  .fr-ins-author{flex-direction:column}
  .fr-ins-author img{width:80px;height:80px}
  .fr-ins-facts div{grid-template-columns:minmax(0,1fr);gap:4px}
}
