/* ==========================================================================
   THE EMPIRE CITY TIMES - FONTS
   ==========================================================================

   THIS IS THE ONLY FILE IN THE PROJECT THAT NAMES A FONT.

   Everything else uses the role tokens defined below:
       var(--font-masthead)          the paper's name, nothing else
       var(--font-headline-banner)   the big stacked banner headlines
       var(--font-headline)          section heads, decks, kickers, bylines, classifieds
       var(--font-body)              article text and captions

   TO ROTATE A FONT: scroll to "ACTIVE PACKS" and swap which block is
   commented out. Do not edit any other file. See docs/fonts.md.

   Compare all candidates side by side: open tools/font-preview.html

   A declared-but-unused @font-face costs nothing at runtime - a browser only
   downloads a font when rendered text actually resolves to it. Declarations
   for fonts that are NOT IN THE REPO are commented out anyway; see STATUS.

   NOTE: this file is deliberately pure ASCII. Do not paste em dashes or
   arrows in here; a UTF-8 round-trip through a Windows shell mangles them.

   STATUS (2026-08-17): the four APPROVED families are present in site/fonts/
   with their OFL.txt - UnifrakturMaguntia, Anton, Archivo Narrow, PT Serif.

   The other candidates (Pirata One, Playfair Display, Oswald, Fjalla One,
   Libre Baskerville, Source Serif 4) are NOT approved and NOT downloaded.
   Their @font-face blocks are COMMENTED OUT rather than left declared: a
   declaration pointing at a missing file does nothing useful and made
   tools/check-site.sh warn on every single run, which trains you to ignore
   warnings. To try one, get approval, add the files, then uncomment its
   @font-face block AND its pack below. See docs/fonts.md.
   ========================================================================== */


/* ==========================================================================
   1. DECLARATIONS - all candidates, all SIL Open Font License 1.1
   ========================================================================== */

/* --- Masthead candidates ------------------------------------------------ */

@font-face {
	font-family: "ECT Unifraktur";
	src: url("../fonts/unifraktur-maguntia/UnifrakturMaguntia-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Pirata";
	src: url("../fonts/pirata-one/PirataOne-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
*/

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Playfair";
	src: url("../fonts/playfair-display/PlayfairDisplay-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
*/

/* --- Headline candidates ------------------------------------------------ */

@font-face {
	font-family: "ECT Anton";
	src: url("../fonts/anton/Anton-Regular.woff2") format("woff2");
	font-weight: 400 900; /* one physical weight; claim the range so bold text doesn't synthesise */
	font-style: normal;
	font-display: swap;
}

/* Archivo Narrow ships as a VARIABLE font: one file covers the whole 400-700
   weight range, so Regular and Bold are the same 18KB download. */
@font-face {
	font-family: "ECT Archivo Narrow";
	src: url("../fonts/archivo-narrow/ArchivoNarrow-Variable.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "ECT Archivo Narrow";
	src: url("../fonts/archivo-narrow/ArchivoNarrow-Italic-Variable.woff2") format("woff2");
	font-weight: 400 700;
	font-style: italic;
	font-display: swap;
}

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Oswald";
	src: url("../fonts/oswald/Oswald-Variable.woff2") format("woff2");
	font-weight: 200 700;
	font-style: normal;
	font-display: swap;
}
*/

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Fjalla";
	src: url("../fonts/fjalla-one/FjallaOne-Regular.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}
*/

/* --- Body candidates ---------------------------------------------------- */

@font-face {
	font-family: "ECT PT Serif";
	src: url("../fonts/pt-serif/PTSerif-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "ECT PT Serif";
	src: url("../fonts/pt-serif/PTSerif-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "ECT PT Serif";
	src: url("../fonts/pt-serif/PTSerif-Italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Libre Baskerville";
	src: url("../fonts/libre-baskerville/LibreBaskerville-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
*/

/* NOT APPROVED, NOT DOWNLOADED - uncomment together with the files.
@font-face {
	font-family: "ECT Source Serif";
	src: url("../fonts/source-serif/SourceSerif4-Variable.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}
*/


/* ==========================================================================
   2. SYSTEM FALLBACK STACKS
   Every pack appends one of these, so a missing file degrades instead of
   breaking. These are also what the site uses today.
   ========================================================================== */

:root {
	--fallback-blackletter: "Old English Text MT", "UnifrakturMaguntia", Garamond, "Times New Roman", serif;
	--fallback-condensed: "Haettenschweiler", "Arial Narrow Bold", Impact, "Franklin Gothic Medium Cond", sans-serif;
	--fallback-serif: Georgia, "Times New Roman", "Liberation Serif", serif;
}


/* ==========================================================================
   3. ACTIVE PACKS   <-- THE SWAP POINT
   Exactly one pack per role may be uncommented at a time.

   The *-scale and *-tracking tokens exist because swapping a face changes
   its apparent size and weight. Every size in newspaper.css is multiplied by
   the relevant scale token, so a swap looks *different* rather than *broken*.
   Tune those numbers, not the sizes in newspaper.css.

   ON TRACKING - READ THIS BEFORE SWAPPING A HEADLINE FACE.
   Ultra-bold condensed faces set solid are hard to read: the heavy stems of
   adjacent letters merge and words stop resolving as shapes. Printed papers
   compensate with optical sizing that web fonts do not give us, so every
   headline pack here uses POSITIVE tracking. If a face still looks welded
   together, raise --banner-tracking / --headline-tracking rather than
   dropping to a lighter weight. Sensible range is 0.01em to 0.04em; above
   that it starts to look like a wedding invitation.

   --microcaps-tracking is separate and much wider: it applies to the small
   all-caps runs (kickers, bylines, folio, box titles) where letters need far
   more air than they do at headline size.
   ========================================================================== */

/* --------------------------------------------------------------------------
   MASTHEAD
   -------------------------------------------------------------------------- */

/* PACK M1 - Unifraktur (RECOMMENDED: closest match to the 2008 reference) */
:root {
	--font-masthead: "ECT Unifraktur", var(--fallback-blackletter);
	--masthead-scale: 1;
	--masthead-tracking: 0.02em;
	--masthead-weight: 400;
	--masthead-transform: none;
	--masthead-optical-lift: -0.06em; /* blackletter sits low in its em box */
}

/* PACK M2 - Pirata One (heavier, more modern blackletter)
:root {
	--font-masthead: "ECT Pirata", var(--fallback-blackletter);
	--masthead-scale: 0.94;
	--masthead-tracking: 0.015em;
	--masthead-weight: 400;
	--masthead-transform: none;
	--masthead-optical-lift: -0.04em;
}
*/

/* PACK M3 - Playfair Display (the non-blackletter option: letterspaced caps)
:root {
	--font-masthead: "ECT Playfair", var(--fallback-serif);
	--masthead-scale: 0.82;
	--masthead-tracking: 0.06em;
	--masthead-weight: 700;
	--masthead-transform: uppercase;
	--masthead-optical-lift: 0;
}
*/


/* --------------------------------------------------------------------------
   HEADLINE
   The banner uses --font-headline-banner; everything smaller uses
   --font-headline. A pack may point both at the same family.
   -------------------------------------------------------------------------- */

/* PACK H1 - Anton banner + Archivo Narrow support (RECOMMENDED) */
:root {
	--font-headline-banner: "ECT Anton", var(--fallback-condensed);
	--font-headline: "ECT Archivo Narrow", var(--fallback-condensed);
	--banner-scale: 1;
	--banner-tracking: 0.022em;
	--banner-leading: 0.94;
	--banner-weight: 400; /* Anton is already ultra-bold at 400 */
	--headline-scale: 1;
	--headline-tracking: 0.03em;
	--headline-weight: 700;
	--microcaps-tracking: 0.15em;
}

/* PACK H2 - Oswald throughout (two-family route; no italic available)
:root {
	--font-headline-banner: "ECT Oswald", var(--fallback-condensed);
	--font-headline: "ECT Oswald", var(--fallback-condensed);
	--banner-scale: 1.04;
	--banner-tracking: 0.014em;
	--banner-leading: 0.96;
	--banner-weight: 700;
	--headline-scale: 1.02;
	--headline-tracking: 0.032em;
	--headline-weight: 600;
	--microcaps-tracking: 0.15em;
}
*/

/* PACK H3 - Fjalla One throughout
:root {
	--font-headline-banner: "ECT Fjalla", var(--fallback-condensed);
	--font-headline: "ECT Fjalla", var(--fallback-condensed);
	--banner-scale: 1;
	--banner-tracking: 0.024em;
	--banner-leading: 0.95;
	--banner-weight: 400;
	--headline-scale: 1;
	--headline-tracking: 0.034em;
	--headline-weight: 400;
	--microcaps-tracking: 0.15em;
}
*/

/* PACK H4 - Archivo Narrow only (softest option; banner loses punch)
:root {
	--font-headline-banner: "ECT Archivo Narrow", var(--fallback-condensed);
	--font-headline: "ECT Archivo Narrow", var(--fallback-condensed);
	--banner-scale: 0.98;
	--banner-tracking: 0.016em;
	--banner-leading: 0.95;
	--banner-weight: 700;
	--headline-scale: 1;
	--headline-tracking: 0.028em;
	--headline-weight: 700;
	--microcaps-tracking: 0.15em;
}
*/


/* --------------------------------------------------------------------------
   BODY
   -------------------------------------------------------------------------- */

/* PACK B1 - PT Serif (RECOMMENDED: economical in narrow justified columns) */
:root {
	--font-body: "ECT PT Serif", var(--fallback-serif);
	--body-scale: 1;
	--body-leading: 1.5;
}

/* PACK B2 - Libre Baskerville (wider, more elegant, fewer words per line)
:root {
	--font-body: "ECT Libre Baskerville", var(--fallback-serif);
	--body-scale: 0.94;
	--body-leading: 1.55;
}
*/

/* PACK B3 - Source Serif 4
:root {
	--font-body: "ECT Source Serif", var(--fallback-serif);
	--body-scale: 1.02;
	--body-leading: 1.5;
}
*/

/* PACK B4 - System serif only (zero font files for body text)
:root {
	--font-body: var(--fallback-serif);
	--body-scale: 1;
	--body-leading: 1.5;
}
*/
