/* Shared type system for Services, Work, Philosophy and Thoughts.
   Matches the homepage: Barlow Condensed 700, uppercase, -0.025em tracking, tight leading.
   Loaded last on those pages so every heading and lead paragraph follows the same rules.

   Scale:  H1 page hero   var(--type-page-hero)   (86px at 1440)
           H2 section     var(--type-section)     (60px at 1440)
           H3 card/step   var(--type-h3)          (44px at 1440)
           Article title  var(--type-article)     (72px at 1440)
   Body:   lead 18px / 400, body 18px / 400, small 16px / 400. Bold is reserved for labels and H4. */
:root {
  --type-h3: clamp(2rem, 3.05vw, 2.9rem);
  --type-article: clamp(2.8rem, 5vw, 4.5rem);
  --type-lead: clamp(1.05rem, 1.25vw, 1.125rem);
}
@media (max-width: 720px) {
  :root { --type-h3: clamp(2rem, 9vw, 2.6rem); }
}

:is(.services-page, .work-page, .philosophy-page, .thoughts-page) :is(h1, h2, h3):not(.person h3) {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -.025em;
  line-height: .9;
}

/* H1 */
.services-page .services-hero h1,
.work-page .work-gate h1,
.work-page .work-content h1,
.philosophy-page .philosophy-hero h1,
.thoughts-page .journal-hero h1 { font-size: var(--type-page-hero); }

/* Article title and list-card title share one size */
.thoughts-page .journal-article__header h1,
.thoughts-page .journal-card h2 { font-size: var(--type-article); }

/* H2 */
.services-page .capabilities h2,
.services-page .working-model h2,
.services-page .contact h2,
.work-page .contact h2,
.philosophy-page main h2,
.thoughts-page .contact h2 { font-size: var(--type-section); }

/* H3 */
.services-page .capability-panel h3,
.services-page .working-model__option h3,
.philosophy-page .philosophy-process__list h3 { font-size: var(--type-h3); min-height: 0; }
.services-page .capability-panel h3 { max-width: 26rem; }

/* Lead and section sub-lines: regular weight, one size */
.services-page .services-hero__intro,
.services-page .capabilities__heading-copy > p,
.philosophy-page .philosophy-hero__statement > p,
.philosophy-page .philosophy-hero__statement strong,
.philosophy-page .philosophy-process__heading p,
.work-page .work-gate__intro,
.thoughts-page .journal-hero .lead {
  font-size: var(--type-lead);
  font-weight: 400;
}

/* Bold body text is only used for real emphasis; step descriptions are regular */
.philosophy-page .philosophy-process__list p,
.philosophy-page .philosophy-process__list strong { font-weight: 400; font-size: 1rem; line-height: 1.48; letter-spacing: -.01em; }

/* Pull statements: one style, sized like an H3 */
.philosophy-page .philosophy-premise__copy strong,
.philosophy-page .philosophy-intelligence strong {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: var(--type-h3);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.philosophy-page .philosophy-intelligence strong { margin-top: clamp(2rem, 4vw, 4rem); color: var(--ink); }

/* In-page link to Services matches the homepage link treatment */
.philosophy-page .philosophy-team__link {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  margin-top: 1.75rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--cream);
  text-decoration: none;
}
.philosophy-page .philosophy-team__link:hover,
.philosophy-page .philosophy-team__link:focus-visible { color: var(--orange); }

/* Rules: decorative column and section hairlines removed. Kept only where they
   separate stacked, interactive or list items (service tabs, accordion rows,
   Thoughts cards, form fields). */
.philosophy-process__list { border-top: 0; }
.philosophy-process__list li,
.philosophy-process__list li:nth-child(2),
.philosophy-process__list li:nth-child(n + 3),
.philosophy-process__list li + li { border: 0; }
.working-model__option { border-top: 0; }
@media (min-width: 721px) {
  .philosophy-process__list li { min-height: 0; padding-bottom: 0; }
  .philosophy-process__list h3 { margin-top: clamp(1.25rem, 2vw, 2rem); }
}
