/* marketing/assets/fonts/fonts.css. PP Neue Montreal, full family licensed (2026-08-02). */
@font-face { font-family: 'PP Neue Montreal'; src: url('/assets/fonts/PPNeueMontreal-Light.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'PP Neue Montreal'; src: url('/assets/fonts/PPNeueMontreal-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'PP Neue Montreal'; src: url('/assets/fonts/PPNeueMontreal-Semibold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
/* Text Book is its own family so the browser can never pick it for a headline. */
@font-face { font-family: 'PP Neue Montreal Text'; src: url('/assets/fonts/PPNeueMontrealText-Book.woff2') format('woff2'); font-weight: 350; font-style: normal; font-display: swap; }
/* Metric-matched fallback, one face per weight in use, so text wraps the same before and after the swap.
   Tuned in Task 9 (2026-10-02). size-adjust = PP NM advance width / fallback advance width over a
   200-character line: 350, 400 and 600 take the mean of the Helvetica Neue (Apple) and Arial (Windows)
   ratios, each within 0.6 %; 300 (display) takes the Helvetica Neue ratio, 90.8 %, which a sweep of
   90.4-91.2 % against the page's own text at 320-1920 px confirmed (2 of the first ~5000 px of text
   blocks re-wrap on swap, against 33 with the old single 101 % face). PP NM's vertical metrics are
   ascent 958 and descent 242 per 1000 (hhea = typo, no line gap); Chromium scales the overrides by
   size-adjust, so each is that metric / size-adjust, keeping the line box at PP NM's 1.2 em.
   600 falls back to the bold faces, so the swap keeps its weight. */
@font-face { font-family: 'PPNM Fallback'; font-weight: 300; src: local('Helvetica Neue'), local('HelveticaNeue'), local('Arial'), local('ArialMT'); size-adjust: 90.8%; ascent-override: 105.5%; descent-override: 26.7%; line-gap-override: 0%; }
@font-face { font-family: 'PPNM Fallback'; font-weight: 350; src: local('Helvetica Neue'), local('HelveticaNeue'), local('Arial'), local('ArialMT'); size-adjust: 103.4%; ascent-override: 92.6%; descent-override: 23.4%; line-gap-override: 0%; }
@font-face { font-family: 'PPNM Fallback'; font-weight: 400; src: local('Helvetica Neue'), local('HelveticaNeue'), local('Arial'), local('ArialMT'); size-adjust: 94.2%; ascent-override: 101.7%; descent-override: 25.7%; line-gap-override: 0%; }
@font-face { font-family: 'PPNM Fallback'; font-weight: 600; src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold'), local('Arial Bold'), local('Arial-BoldMT'); size-adjust: 93%; ascent-override: 103%; descent-override: 26%; line-gap-override: 0%; }
