/* ---------- Two fonts: a serif for headlines, Inter for everything else ---------- */
:root {
  --serif: "Literata", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
}

/* display headlines: regular weight, slightly tight, like an editorial page */
h1.heading, p.heading, h2.heading,
h2.all-h1-hedding:not(.font-24-24), h1.all-h1-hedding,
.heading-style-2,
.text-size-mediumplus.text-weight-bold,
.p-28.font-weight-600 {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 24;   /* the sturdier text cut, like the reference */
  letter-spacing: -0.015em !important;
}
h1.heading, p.heading, h2.heading, h2.all-h1-hedding:not(.font-24-24), .heading-style-2 { line-height: 1.1 !important; }
h1.all-h1-hedding.f-56 { letter-spacing: 0 !important; }
/* highlighted words inside a headline follow the headline */
h1.heading *, p.heading *, h2.heading *, .heading-style-2 *, .all-h1-hedding * { font-family: inherit !important; font-weight: inherit !important; }

/* everything else is the sans */
.arial, .nav-brand span { font-family: var(--sans) !important; }
.nav-brand span { font-weight: 600 !important; letter-spacing: -0.01em; }

/* ---------- Home hero: simple and minimal ---------- */
.hero-simple .padding-bottom._5x { padding-bottom: 1rem; }
h1.hero-title {
  font-size: 56px !important; line-height: 1.12 !important; letter-spacing: -0.012em !important;
  font-weight: 400 !important; margin: 0 !important; color: var(--silver);
}
.hero-simple .padding-bottom._40px { padding-bottom: 28px; }
p.hero-intro {
  font-family: var(--sans) !important; font-size: 18px !important; line-height: 1.8 !important; font-weight: 400 !important;
  letter-spacing: 0; max-width: 60ch; margin: 0; color: var(--silver); opacity: .82;
}
/* the tagline becomes a small label with a hairline running to the right */
.hero-rule-section { padding-top: 96px; }
.hero-rule { align-items: center; gap: 20px; }
.hero-rule > .line1px:first-child { display: none; }
.hero-rule > .h-padding-100px { padding: 0 !important; flex: none; }
.hero-rule .align-center { text-align: left; justify-content: flex-start; }
.hero-rule .p-24 { font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none; margin: 0; }
.hero-rule .p-24, .hero-rule .p-24 * { color: var(--silver) !important; }
.hero-rule .text-size-large { color: var(--bright-red) !important; font-size: 1em !important; }
.hero-rule > .line1px:last-child { flex: 1; height: 1px; opacity: .5; }
@media (max-width: 767px) {
  h1.hero-title { font-size: 34px !important; line-height: 1.18 !important; }
  h1.hero-title br { display: none; }
  p.hero-intro { font-size: 17px !important; line-height: 1.7 !important; }
  .hero-rule-section { padding-top: 64px; }
}
@media (min-width: 768px) and (max-width: 991px) { h1.hero-title { font-size: 46px !important; } }

.left-div > div:has(> .work-statement) { width: 100%; align-self: stretch; }

/* hero: the headline and paragraph share one measure, and the two key words carry the accent */
.hero-simple .home_header-content { max-width: 880px; }
p.hero-intro { max-width: 100% !important; text-wrap: pretty; }
h1.hero-title { text-wrap: balance; }
.hero-em { color: var(--bright-red); }
