/* ==========================================================================
   Flow: every page reads as one continuous page, not a deck of slides
   One dark ground below each page's hero. Sections are divided by a hairline
   on the content width and one measured gap, instead of alternating bands and
   doubled paddings. Section headlines are plain and one size: the gold italic
   belongs to each page's hero. Figures are a compact row. Loaded last on
   every page.
   ========================================================================== */

:root {
  --flow-y: clamp(3rem, 2rem + 3.5vw, 5.5rem);
  --flow-head: calc(var(--step-3) * var(--display-scale));
}

/* --- Rhythm: one gap and one hairline between sections ---------------------- */
main > .section {
  padding-block: 0 var(--flow-y);
}

main > .section > .wrap {
  padding-top: var(--flow-y);
}

main > .section + .section > .wrap {
  border-top: 1px solid var(--line);
}

/* Home: the statement leads straight into the expertise list. */
main > .intro + .expertise-home > .wrap {
  border-top: 0;
  padding-top: 0;
}

/* --- Figures: a compact row ------------------------------------------------------ */
.figures {
  padding-block: 0;
  border-block: 0;
}

.figures > .wrap {
  padding-block: clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem);
  border-block: 1px solid var(--line);
}

.figure {
  padding-top: 0;
}

.figure::before {
  display: none;
}

.figure__value {
  font-size: calc(clamp(2.5rem, 2rem + 1.6vw, 3.5rem) * var(--display-scale));
}

.figure__label {
  margin-top: 0.6rem;
  font-size: 0.875rem;
}

/* Phones: two by two instead of one per row. */
@media (max-width: 39.99em) {
  .figures__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 1.75rem;
  }
}

/* --- Headlines: plain, one size, no ornament --------------------------------- */
main > .section :is(h2, p).display em {
  font-style: normal;
  color: inherit;
}

main > .section .eyebrow--rule::before {
  display: none;
}

main > .section .section-head {
  margin-bottom: clamp(2rem, 1.5rem + 1.5vw, 3rem);
}

main > .section h2.display:not(.founder__name, .cta__title),
.intro__lead,
.split__lead,
.statement__text {
  font-size: var(--flow-head);
  line-height: 1.12;
}

.intro__lead,
main > .section .section-head .display {
  max-width: 22em;
}

/* Expertise: each service's tagline is a plain subhead under its title. */
.service__tagline {
  font-size: calc(var(--step-2) * var(--display-scale));
  font-style: normal;
  color: var(--fg-muted);
}

/* Phones: the closing question stays large, not overwhelming. */
@media (max-width: 47.99em) {
  .cta__title {
    font-size: calc(var(--step-4) * var(--display-scale));
  }
}
