/* CyberNative brand fonts, Object Atlas (2026-10-23). Local assets only; no network font provider. */
/* Fallback display: the text paints at once in a metric-matched system face, and the brand face
   replaces it when it arrives within three seconds. Each cut is one variable file pinned from
   google/fonts (scripts/subset-atlas-fonts.sh): Syne carries display headings (500-700), DM Sans
   carries body, nav, buttons and bold text (400-600, optical size 14). DM Mono stays for labels. */
@font-face {
  font-family: "CN Display";
  src: url("../assets/fonts/Syne-Display-Latin1-500-700.woff2") format("woff2");
  font-weight: 500 700;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "CN Text";
  src: url("../assets/fonts/DMSans-Text-Latin1-400-600.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "DM Mono";
  src: url("../assets/fonts/DMMono-Regular-Latin1.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "DM Mono";
  src: url("../assets/fonts/DMMono-Medium-Latin1.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: fallback;
}

/* Metric-matched stand-ins, used only until the brand face arrives. size-adjust is the measured
   width of each cut and weight against Arial (Liberation Sans, Arimo and Helvetica share its widths)
   over home and product sentences, so a swap keeps the same line breaks. The overrides put each
   face's ascent and descent (Syne .93/.28 em, DM Sans .99/.31 em) on the stand-in. */

/* Display 500-600: 106.2% of Arial (Regular for 500, Bold for 600 measure within 0.3%). */
@font-face {
  font-family: "CN Display Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans"), local("Arimo"), local("Helvetica"), local("Roboto");
  font-weight: 400 500;
  size-adjust: 106%;
  ascent-override: 87.7%;
  descent-override: 26.4%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "CN Display Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 600;
  size-adjust: 106.3%;
  ascent-override: 87.5%;
  descent-override: 26.3%;
  line-gap-override: 0%;
}

/* Display 700 and up: 114.3% of Arial Bold. */
@font-face {
  font-family: "CN Display Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 700 900;
  size-adjust: 114.3%;
  ascent-override: 81.4%;
  descent-override: 24.5%;
  line-gap-override: 0%;
}

/* Text 400-500 body and nav: 103.3% of Arial Regular (500 measures 105.5%). */
@font-face {
  font-family: "CN Text Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans"), local("Arimo"), local("Helvetica"), local("Roboto");
  font-weight: 400 500;
  size-adjust: 103.3%;
  ascent-override: 95.8%;
  descent-override: 30%;
  line-gap-override: 0%;
}

/* Text 600 and up, buttons and bold: 100.1% of Arial Bold. */
@font-face {
  font-family: "CN Text Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 600 900;
  size-adjust: 100.1%;
  ascent-override: 98.9%;
  descent-override: 31%;
  line-gap-override: 0%;
}
