/* ==========================================================================
   FDP Legal — Article / Insight page typography + spacing
   Rhythm modelled on the CDH reference layout, with a tighter heading:body
   size ratio (1.44 vs their 1.67) so body copy reads larger.
   Palette + typefaces per FDP Brand Guidelines v1.0 §3 and §4.
   ========================================================================== */

.fdp-article {
  /* --- brand tokens (delete if these already exist globally) --- */
  --fdp-navy:        #1e3a5f;
  --fdp-blue:        #3a6190;
  --fdp-gold:        #c8983e;
  --fdp-grey:        #6b7280;
  --fdp-offwhite:    #fdfcfa;

  /* --- the two numbers that drive everything --- */
  --fdp-body-size:   1.125rem;   /* 18px  */
  --fdp-h2-size:     1.625rem;   /* 26px  */
  --fdp-lh:          1.65;

  max-width: 46rem;              /* ~74 characters — the comfortable measure */
  margin-inline: auto;
  padding: 0 1.5rem;
  color: var(--fdp-navy);
  font-family: Inter, "Source Sans 3", Lato, -apple-system, BlinkMacSystemFont,
               "Segoe UI", Roboto, sans-serif;
  font-size: var(--fdp-body-size);
  line-height: var(--fdp-lh);
  text-wrap: pretty;
}

/* ---------- header block ---------- */

.fdp-article__header { margin-bottom: 3rem; }

.fdp-article h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 2.125rem;           /* 34px */
  line-height: 1.25;
  color: var(--fdp-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.005em;
}

.fdp-article__deck {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;            /* 20px */
  line-height: 1.45;
  color: var(--fdp-blue);
  margin: 0 0 1.25rem;
}
.fdp-article__deck em { font-style: italic; }

.fdp-article__standfirst {
  font-size: var(--fdp-body-size);
  color: var(--fdp-grey);
  margin: 0;
  padding-top: 1.25rem;
  border-top: 2px solid var(--fdp-gold);   /* thin gold rule — §3 */
  max-width: 40rem;
}

/* ---------- section headings ---------- */

.fdp-article h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: var(--fdp-h2-size);
  line-height: 1.3;
  color: var(--fdp-navy);
  margin: 2.75rem 0 0.75rem;     /* 44px above, 12px below — heading owns its section */
  scroll-margin-top: 6rem;       /* clears a sticky site header on anchor jumps */
}

.fdp-article h2:first-of-type { margin-top: 0; }

/* ---------- body copy ---------- */

.fdp-article p {
  margin: 0 0 1.5rem;            /* 24px between paragraphs */
  color: var(--fdp-navy);
}

.fdp-article em  { font-style: italic; }
.fdp-article strong { font-weight: 600; color: var(--fdp-navy); }

/* ---------- lists ---------- */

.fdp-article__list {
  margin: 0 0 1.5rem;
  padding-left: 1.4rem;
  list-style: disc;
}
.fdp-article__list li { margin-bottom: 1.125rem; }
.fdp-article__list li::marker { color: var(--fdp-gold); }
.fdp-article__list li:last-child { margin-bottom: 0; }

/* ---------- footnote markers ---------- */

/* position/top instead of vertical-align:super so superscripts never
   add leading to the line they sit on */
.fdp-article sup.fn {
  font-size: 0.7em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
  top: -0.45em;
}
.fdp-article sup.fn a {
  color: var(--fdp-blue);
  text-decoration: none;
  padding: 0 0.1em;
}
.fdp-article sup.fn a:hover,
.fdp-article sup.fn a:focus-visible { text-decoration: underline; }

/* ---------- references ---------- */

.fdp-article__notes {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e1da;
}
.fdp-article__notes h2 {
  font-size: 1.25rem;            /* 20px — subordinate to section headings */
  margin: 0 0 1.25rem;
}
.fdp-article__notes ol {
  margin: 0;
  padding-left: 1.6rem;
  font-size: 0.875rem;           /* 14px */
  line-height: 1.6;
  color: var(--fdp-grey);
  word-break: break-word;        /* long citation URLs must not blow out mobile */
}
.fdp-article__notes li { margin-bottom: 0.75rem; }
.fdp-article__notes li::marker { color: var(--fdp-grey); }
.fdp-article__notes .fn-back { color: var(--fdp-blue); text-decoration: none; }
.fdp-article__notes .fn-back:hover { text-decoration: underline; }

/* ---------- disclaimer ---------- */

.fdp-article__disclaimer {
  margin: 2.5rem 0 0;
  padding: 1.25rem 1.5rem;
  background: var(--fdp-offwhite);
  border-left: 3px solid var(--fdp-gold);
  font-size: 0.875rem;
  line-height: 1.6;
  font-style: italic;
  color: var(--fdp-grey);
}

/* ---------- mobile ---------- */

@media (max-width: 40rem) {
  .fdp-article {
    --fdp-body-size: 1.0625rem;  /* 17px */
    --fdp-h2-size:   1.375rem;   /* 22px */
    padding: 0 1.25rem;
  }
  .fdp-article h1 { font-size: 1.75rem; }
  .fdp-article__deck { font-size: 1.125rem; }
  .fdp-article h2 { margin-top: 2.25rem; }
}
