@font-face {
  font-family: 'Montserrat-SemiBold';
  src: local('Montserrat-SemiBold'),
       url('/static/fonts/mtae_fonts/Montserrat/Montserrat-SemiBold.ttf') format("truetype");
  font-display: swap;
}

/* Wire SemiBold into the Montserrat family so font-weight: 600 works in body text. */
@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Italic.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Medium (500) — the step between body prose (400) and the load-bearing claim (600).
   Both faces are real; nothing here is synthesized by the browser. */
@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-MediumItalic.ttf') format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-SemiBold.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-SemiBoldItalic.ttf') format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-BoldItalic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat-Bold';
  src: local('Montserrat-Bold'),
       url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Bold.ttf') format("truetype");
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat-Regular';
  src: local('Montserrat-Regular'),
       url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Regular.ttf') format("truetype");
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat-Medium';
  src: local('Montserrat-Medium'),
       url('/static/fonts/mtae_fonts/Montserrat/Montserrat-Medium.ttf') format("truetype");
  font-display: swap;
}

@font-face {
  font-family: 'GARMNDB';
  src: local('GARMNDB'),
       url('/static/fonts/mtae_fonts/Garamond/GARMNDB.ttf') format("truetype");
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Regular';
  src: local('Garamond Regular'),
       url('/static/fonts/mtae_fonts/Garamond/Garamond Regular.ttf') format("truetype");
  font-display: swap;
}

/* Source Sans 3 — site body typeface (weights wired below; Montserrat faces retained as unused legacy aliases). */
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-LightIt.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-It.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-MediumIt.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-Semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-SemiboldIt.otf') format('opentype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/static/fonts/mtae_fonts/SourceSans3/SourceSans3-BoldIt.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Body ink — canvas background is set in mtae-layout.css via design tokens. */
body {
  color: var(--mtae-ink-primary, #0f172a);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Bootstrap neutralizer — inherit hierarchy from layout, not reboot defaults. */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p {
  font-family: inherit;
  line-height: inherit;
  margin: 0;
  font-weight: inherit;
}

body,
main,
article,
section {
  line-height: 1.625;
}

/* Primary navigation — Bauhaus restraint, sentence-case, slate ink. */
.navWH,
.WhiteLink,
.navbar i_semi {
  font-family: 'Montserrat-SemiBold';
  font-size: 24px;
  color: var(--mtae-ink-primary, #0f172a);
  letter-spacing: 0.02em;
  text-transform: none;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

.rightnav {
  font-family: 'Montserrat-SemiBold';
  font-size: 40px;
  color: var(--mtae-ink-primary, #0f172a);
}

h1.MontserratSemi,
.MontserratSemi {
  font-family: 'Montserrat-SemiBold';
  font-size: 48px;
}

h2.MontserratBold,
.MontserratBold {
  font-family: 'Montserrat-Bold';
  font-size: 36px;
}

h2.MontserratBoldLarge,
.MontserratBoldLarge {
  font-family: 'Montserrat-Bold';
  font-size: 48px;
}

h3.MontserratBold,
.MontserratBoldMedium {
  font-family: 'Montserrat-Bold';
  font-size: 24px;
}

.ResMnu {
  font-family: 'Montserrat-Regular';
  font-size: 24px;
}

.ResMnuMulti {
  font-family: 'Montserrat-Regular';
  font-size: 18px;
}

/* Utility labels — tracked smallcaps texture. */
.ResMnuSmall,
.mtae-utility-label {
  font-family: 'Montserrat-Regular';
  font-size: 14px;
  color: var(--mtae-slate-outline, #4b547a);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ResMnuTitle {
  font-family: 'Montserrat-Regular';
  font-size: 36px;
}

.MnuMulti {
  font-family: 'Montserrat-Regular';
  font-size: 24px;
}

h4.MontserratRegular,
.MontserratRegular {
  font-family: 'Montserrat-Regular';
  font-size: 24px;
}

hdr.Montserrat48 {
  font-family: 'Montserrat-Regular';
  font-size: 48px;
}

p.Montserrat32,
.Montserrat32 {
  font-family: 'Montserrat-Regular', Montserrat-Regular;
  font-size: 32px;
}

h1.GarBold,
.GarBold {
  font-family: 'GARMNDB';
  font-size: 36px;
}

h1.GarBold48,
.GarBold48 {
  font-family: 'GARMNDB';
  font-size: 48px;
}

p.GarRegular,
.GarRegular {
  font-family: 'Garamond Regular';
  font-size: 36px;
}
