/* Self-hosted variable fonts, Latin subset only. Generated by get-fonts.py.
   Playfair Display is the high-contrast serif of the ATO monogram.
   Montserrat is the geometric sans of the wordmark, subset to labels.
   Inter carries body copy — chosen for legibility at 18px on older phones.

   The 'Fallback' faces below are metric-matched from the real font tables so
   the swap from system font to web font causes essentially zero layout shift. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/inter-latin.woff2') format('woff2-variations'),
       url('/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/playfair-latin.woff2') format('woff2-variations'),
       url('/fonts/playfair-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2-variations'),
       url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
  size-adjust: 109.56%;
  ascent-override: 88.42%;
  descent-override: 22.02%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Playfair Display Fallback';
  src: local('Georgia'), local('Times New Roman'), local('Liberation Serif');
  size-adjust: 110.87%;
  ascent-override: 97.59%;
  descent-override: 22.64%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Montserrat Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
  size-adjust: 113.53%;
  ascent-override: 85.26%;
  descent-override: 22.11%;
  line-gap-override: 0%;
}

/* Playfair Display has no optical-size axis; keep the roman upright. */
h1, h2, h3, h4, .door-title, .capacity-number, .stat-num,
.amount-value, .pull, .faq summary, .fieldset legend, .footer-call {
  font-variant-ligatures: common-ligatures;
}
