/* ============================================================================
   project-victory.css — THE VICTORY PROJECT ENVIRONMENT
   ----------------------------------------------------------------------------
   Victory's system pairs an editorial serif with a functional sans: Source
   Serif 4 carries narrative and expressive display, Public Sans carries UI,
   explanation and everything load-bearing. Both are the exact variable faces
   the Victory design-system exhibits were built with.

   SCOPE — inside @layer project and inside .project-content[data-project=
   "victory"]. Unlayered universal components beat this layer, so the Victory
   closing, the metadata footer and the global navigation stay Radikal.

   LICENCE — Source Serif 4 (Adobe) and Public Sans (USWDS) are both SIL Open
   Font License 1.1. One canonical copy of each now lives in
   assets/fonts/victory/; the six duplicate pairs that were scattered through
   assets/victory/design-system/ have been removed.

   ROMAN ONLY. These are variable faces with a weight axis and no italic axis
   delivered, so `font-style:italic` cannot resolve to a real oblique and is
   suppressed rather than synthesized.
   ========================================================================== */

@font-face{
  font-family:'Source Serif 4';
  src:url('../fonts/victory/source-serif-4-variable.woff2') format('woff2-variations');
  font-weight:200 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Public Sans';
  src:url('../fonts/victory/public-sans-variable.woff2') format('woff2-variations');
  font-weight:100 900;font-style:normal;font-display:swap;
}

@layer project{
  .project-content[data-project="victory"]{
    --v-editorial:'Source Serif 4', serif;  /* narrative and expressive display */
    --v-functional:'Public Sans', sans-serif; /* UI, explanation, support */
    font-family:var(--v-functional);
    font-weight:400;
    /* Legacy page sheets in this environment ask for --font-system and
       --font-meaning. Redefining them HERE means every one of those rules
       resolves to this project's typefaces without a single selector being
       rewritten — and re-defining them again on the universal components
       hands the shell back its own voice inside the same document. */
    --font-system:  var(--v-functional);
    --font-meaning: var(--v-editorial);
    --font-meaning-fallback: var(--v-editorial);
    --font-display: var(--v-editorial);
    --font:         var(--v-functional);
    font-synthesis:none;
  }

  /* --- EDITORIAL: Source Serif 4 ----------------------------------------- */
  .project-content[data-project="victory"] :where(h1,h2,h3),
  .project-content[data-project="victory"] .v-editorial,
  .project-content[data-project="victory"] .pullquote__line{
    font-family:var(--v-editorial);
    font-weight:400;
    letter-spacing:-.012em;
  }
  .project-content[data-project="victory"] :where(blockquote){
    font-family:var(--v-editorial);
    font-weight:400;
  }

  /* --- FUNCTIONAL: Public Sans ------------------------------------------- */
  .project-content[data-project="victory"] :where(h4,h5,h6){
    font-family:var(--v-functional);
    font-weight:600;
    letter-spacing:.01em;
  }
  .project-content[data-project="victory"] :where(p,li,dd,dt,figcaption,small,
    td,th,label,summary,button,input,select){
    font-family:var(--v-functional);
  }
  .project-content[data-project="victory"] :where(.label,.meta,.caption,
    figcaption,small){
    font-family:var(--v-functional);
    font-weight:500;
    letter-spacing:.06em;
  }
  .project-content[data-project="victory"] :where(b,strong){font-weight:600}

  /* Roman only until an italic role is explicitly approved. */
  .project-content[data-project="victory"] :where(em,i,cite){
    font-style:normal;font-weight:600;
  }
}
