/* Geometric headings echo the angular JS identity. */
:root { --heading: 'Manrope', 'DM Sans', Arial, sans-serif; }
h1, h2, h3 { font-family: var(--heading); font-weight: 500; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: inherit; }
h2 { font-size: clamp(36px, 4.1vw, 62px); line-height: 1.15; letter-spacing: -.055em; }
.hero h1 { font-family: var(--heading); font-size: clamp(40px, 4.45vw, 78px); font-weight: 500; line-height: 1.14; letter-spacing: -.06em; }
.hero h1 em { white-space: normal; }
.service-list h3 { font-family: var(--heading); font-size: 21px; font-weight: 500; letter-spacing: -.035em; line-height: 1.4; }
.project-caption h3 { font-family: var(--heading); font-size: 17px; font-weight: 500; letter-spacing: -.035em; line-height: 1.4; }
.about h2 { font-size: clamp(34px, 3.4vw, 53px); line-height: 1.18; }
.contact h2 { font-size: clamp(36px, 3.9vw, 60px); line-height: 1.18; }
.form-heading h3 { font-family: var(--heading); font-size: 25px; font-weight: 500; letter-spacing: -.04em; line-height: 1.3; }
.dialog-copy h2 { font-size: 37px; line-height: 1.2; }
.privacy-dialog h2 { font-size: 36px; }
.hero-photo-note { font-family: var(--heading); font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.04em; }
.hero-photo-note em { font-style: normal; }
.footer-top>p { font-family: var(--heading); font-size: 18px; line-height: 1.4; letter-spacing: -.035em; }
@media (min-width: 1550px) {
  .hero h1 { font-size: clamp(68px, 4.45vw, 92px); }
}
@media (max-width: 1100px) {
  .hero h1 { font-size: 4.45vw; }
  .service-list h3 { font-size: 19px; }
}
@media (max-width: 800px) {
  .hero h1 { font-size: clamp(30px, 4.45vw, 40px); }
  h2 { font-size: 39px; }
  .about h2, .contact h2 { font-size: 34px; }
  .service-list h3 { font-size: 17px; }
  .project-caption h3 { font-size: 15px; }
  .form-heading h3 { font-size: 22px; }
}
@media (max-width: 600px) {
  .hero h1 { font-size: clamp(33px, 9.2vw, 54px); line-height: 1.17; }
  h2 { font-size: clamp(34px, 9.3vw, 46px); }
  .about h2 { font-size: clamp(32px, 8.5vw, 44px); }
  .contact h2 { font-size: clamp(33px, 8.5vw, 46px); }
  .service-list h3 { font-size: 19px; }
  .project-caption h3 { font-size: 15px; }
  .form-heading h3 { font-size: 23px; }
  .dialog-copy h2 { font-size: 31px; }
  .hero-photo-note { font-size: 18px; }
  .footer-top>p { font-size: 17px; }
}
