/* Local, unmodified Comfortaa files: see assets/fonts/OFL.txt. */
@font-face {
  font-family: "Comfortaa";
  src: url("assets/fonts/Comfortaa-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Comfortaa";
  src: url("assets/fonts/Comfortaa-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Comfortaa";
  src: url("assets/fonts/Comfortaa-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* User-provided font for the single manifesto headline. */
@font-face {
  font-family: "Move Sans";
  src: url("assets/fonts/MoveSans-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root { --font-headings: "Comfortaa", "Outfit", "Avenir Next", "Segoe UI", sans-serif; }

/* Body copy, controls, navigation, and small caption headings keep their font. */
h1, h2, .service-poster-type, .chromatic-heading, .palette-card h3 {
  font-family: var(--font-headings);
}

.section-title,
#services .services-intro .section-title,
#why .section-title,
.palette-lab-header h2 {
  letter-spacing: -0.045em;
  line-height: 1.12;
}

#hero .hero-title { letter-spacing: -0.045em; line-height: 1.08; }
#hero.burst-motion-ready .hero-title { font-size: min(16vw, 23svh); line-height: 1.08; }
#services .service-poster-type { letter-spacing: -0.045em; line-height: 1.12; }
.kinetic-heading { font-size: clamp(4rem, 15vw, 16rem); letter-spacing: -0.045em; line-height: 1.05; }
#kinetic-heading { font-family: "Move Sans", var(--font-headings); font-weight: 700; font-size: clamp(2.5rem, 13vw, 14rem); }
.chromatic-heading { letter-spacing: -0.045em; line-height: 1.05; }
.palette-card h3 { font-size: min(clamp(3rem, 9vw, 10rem), 14svh); letter-spacing: -0.045em; line-height: 1.05; }
.impact-outro h2 { font-size: clamp(2.25rem, 12vw, 14rem); letter-spacing: -0.045em; line-height: 1.08; }
#coming-heading { letter-spacing: -0.045em; line-height: 1.04; }

@media (max-width: 980px) {
  .palette-card h3 { font-size: min(11vw, 16svh); }
}
@media (max-width: 600px) {
  #hero.burst-motion-ready .hero-title { font-size: 18vw; line-height: 1.08; }
  .palette-card h3 { font-size: min(13vw, 18svh); }
  #coming-heading { font-size: clamp(3rem, 15vw, 6.5rem); }
}
@media (max-height: 650px) and (min-width: 601px) {
  #coming-heading { font-size: min(17svh, 14vw); }
}
@media (max-height: 550px) and (min-width: 601px) {
  #hero.burst-motion-ready .hero-title { font-size: min(8vw, 16svh); }
}
@media (max-height: 550px) and (max-width: 600px) {
  #hero.burst-motion-ready .hero-title { font-size: min(18vw, 12svh); }
}
