@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-Light.ttf") format("truetype");
  font-style:normal;
  font-weight:300;
  font-display:swap;
}
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-Regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-Medium.ttf") format("truetype");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-SemiBold.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-Bold.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/LeagueSpartan-ExtraBold.ttf") format("truetype");
  font-style:normal;
  font-weight:800;
  font-display:swap;
}

@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Thin.otf") format("opentype");
  font-style:normal;
  font-weight:100;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Light.otf") format("opentype");
  font-style:normal;
  font-weight:300;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Regular.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-SemiBold.otf") format("opentype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Bold.otf") format("opentype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Extra-Bold.otf") format("opentype");
  font-style:normal;
  font-weight:800;
  font-display:swap;
}
@font-face{
  font-family:"Spartan MB";
  src:url("assets/fonts/SpartanMB-Black.otf") format("opentype");
  font-style:normal;
  font-weight:900;
  font-display:swap;
}

:root{
  --font-body:"League Spartan","Spartan MB",Arial,sans-serif;
  --font-display:"Spartan MB","League Spartan",Arial,sans-serif;
}

body,button,input,textarea,select{font-family:var(--font-body)}

h1,h2,h3,h4,h5,h6,
.brand{
  font-family:var(--font-display);
}

/* Normalize legacy component shorthands to the new reading family. */
.micro,
.floating-card>p,
.scroll-cue,
.performance-top button,
.filters button,
.performance-intro>p,
.service-ticker,
.case footer p,
.service-stack article>span,
.trusted>p{
  font-family:var(--font-body);
}

/* Highlighted title words stay Spartan MB; colour supplies the contrast. */
.performance-intro em,
.projects-head em,
.summary-copy em,
.contact-main em,
.about-title em{
  font-family:var(--font-display);
  font-style:normal;
  font-weight:300;
}

.hero-main h1,
.about-title h2,
.projects-head h2,
.summary-copy h2,
.contact-main h2{
  font-weight:300;
  letter-spacing:-.055em;
}

.hero-main h1 strong{font-weight:700}
.floating-card h2,.about-copy h3,.service-stack h3{font-weight:500}
.case footer h3,.process-line h4{font-weight:600}
.brand{font-weight:400;letter-spacing:-.065em}

.micro,.case footer p,.trusted>p,.floating-card>p,.scroll-cue{
  letter-spacing:.11em;
}
