/**
 * ./assets/css/typography.css
 *
 * Local font declarations and typography rules for the LAB545 editorial visual system.
 */

@font-face {
  font-family: "Instrument Serif";
  src:
    url("../fonts/InstrumentSerif-Regular.woff2") format("woff2"),
    url("../fonts/InstrumentSerif-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Instrument Serif";
  src:
    url("../fonts/InstrumentSerif-Italic.woff2") format("woff2"),
    url("../fonts/InstrumentSerif-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src:
    url("../fonts/MonumentGrotesk-Semi-Mono.woff2") format("woff2"),
    url("../fonts/MonumentGrotesk-Semi-Mono.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src:
    url("../fonts/MonumentGrotesk-Semi-Mono.woff2") format("woff2"),
    url("../fonts/MonumentGrotesk-Semi-Mono.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: var(--daf-font-serif);
  font-size: clamp(17px, 1.18vw, 20px);
  font-weight: 400;
  line-height: 1.28;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--daf-space-sm);
  font-family: var(--daf-font-serif);
  font-weight: 400;
  line-height: 0.96;
}

h1 {
  font-size: clamp(4rem, 10vw, 10rem);
}

h2 {
  font-size: clamp(2rem, 5vw, 5rem);
}

h3 {
  font-size: clamp(1.6rem, 3vw, 3rem);
}

h4 {
  font-size: clamp(1.35rem, 2vw, 2.1rem);
}

p {
  margin: 0 0 var(--daf-space-sm);
}

p:last-child {
  margin-bottom: 0;
}

small {
  font-size: 0.82em;
}

.site-main {
  font-variant-ligatures: common-ligatures;
}

.daf-kicker,
.daf-meta-text {
  font-family: var(--daf-font-mono);
  font-size: 0.86rem;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

.daf-large-copy {
  font-size: clamp(1.55rem, 3vw, 3rem);
  line-height: 1.02;
}
