/* Public website hierarchy. Load after page styles; never applied to BMS.
   Page headline 50–56 / 34–36; section 22–24 / 20–21;
   supporting headline 28–32 / 25–27. Homepage opening stays slightly stronger.
   Body text, cards and controls retain their existing sizes. */
body {
  --type-page: clamp(50px, 3.9vw, 56px);
  --type-section: clamp(22px, 1.67vw, 24px);
  --type-support: clamp(28px, 2.23vw, 32px);
  --type-label-light: #a94b24;
  --type-label-dark: #e2946b;
}
.home-editorial { --type-page: clamp(44px, 3.4vw, 48px); }
.freelancing-editorial { --type-page:clamp(46px,3.5vw,50px); }
.consulting-page:not(.freelancing-page):not(.career-page):not(.project-page):not(.directory-page):not(.focus-page) .consulting-editorial{
  --type-page:clamp(46px,3.5vw,50px);
  --type-support:clamp(27px,2.1vw,30px);
  --type-section:22px;
}
main h1, .legal-content h1 {
  font-size: var(--type-page) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
/* Section identifiers: clear enough to scan before reading the headline. */
.story-kicker, .story-chapter-label > span,
.consulting-band > .wrap,
.consulting-heading-band .home-section-label > span:first-child,
.homepage-heading-band .home-section-label > span:first-child,
.home-editorial .strength-heading h2,
.home-editorial .market-row-heading h2,
.focus-section-heading > .eyebrow,
.section-intro > div > .eyebrow,
.partner-hero-grid > div > .eyebrow,
.legal-content h2 {
  font-size: var(--type-section) !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: .025em !important;
}
.story-kicker, .story-chapter-label > span { color: var(--type-label-light); margin-bottom: 16px; }
.story-hero .story-kicker, .story-endurance .story-kicker,
.journey-close .story-kicker { color: var(--type-label-dark); }
.consulting-band > .wrap,
.consulting-heading-band .home-section-label > span:first-child,
.homepage-heading-band .home-section-label > span:first-child { color: var(--type-label-dark); }
.consulting-band > .wrap > span,
.consulting-heading-band .home-section-label > span + span,
.homepage-heading-band .home-section-label > span + span {
  font-size: 18px !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
/* Supporting headlines, excluding project-card names, modal and footer titles. */
.nexora-story h2, .journey-close h2,
.consulting-editorial h2:not(.property-card-body h2):not(.project-card h2):not(#enquiry h2),
.home-editorial .home-audience-grid h2,
.home-editorial .home-story h2,
.home-editorial .home-career h2,
.home-editorial #consulting h2,
.home-editorial #freelancing h2,
.project-detail-editorial .project-banded h2,
.project-detail-editorial .project-conversation h2,
.directory-intro h2, .focus-section-heading h2,
.section-intro h2 {
  font-size: var(--type-support) !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  margin-bottom: 20px;
}
.story-chapter-label h2 { margin-top: 0; }
.story-accent { font: inherit; }
.story-chapter-label .story-accent, .story-turning .story-accent,
.story-purpose .story-accent { color: inherit; }
.story-technology .story-accent { color: var(--type-label-light); }
/* Opening benefit lines sit below the unchanged audience/page labels.
   Excludes homepage, project names and legal document titles. */
.consulting-page:not(.project-page) .partner-hero h1,
.focus-page-hero h1,
.nexora-story .story-hero h1 {
  font-size:20px !important;
  font-weight:400;
  line-height:1.4 !important;
  letter-spacing:0;
  margin-bottom:20px;
}
.consulting-band > .wrap { padding-top: 20px; padding-bottom: 20px; }
.home-section-label { row-gap: 10px; }
/* Internal section benefit lines follow the same hierarchy as their openings.
   Scope to internal main content so homepage and footer remain untouched. */
.nexora-story h2,
.consulting-editorial h2:not(.property-card-body h2):not(.project-card h2):not(#enquiry h2) {
  font-size:20px !important;
  font-weight:400;
  line-height:1.4 !important;
  letter-spacing:0 !important;
  margin-bottom:18px;
}
.project-detail-editorial .project-conversation > .wrap > .eyebrow {
  font-size:var(--type-section) !important;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.025em;
}
@media (max-width: 700px) {
  body {
    --type-page: clamp(34px, 8.8vw, 36px);
    --type-section: clamp(20px, 5.3vw, 21px);
    --type-support: clamp(25px, 6.9vw, 27px);
  }
  .home-editorial { --type-page: clamp(30px, 8vw, 32px); }
  .freelancing-editorial { --type-page:32px; }
  .consulting-page:not(.freelancing-page):not(.career-page):not(.project-page):not(.directory-page):not(.focus-page) .consulting-editorial{
    --type-page:32px;--type-support:25px;--type-section:20px;
  }
  .consulting-band > .wrap > span,
  .consulting-heading-band .home-section-label > span + span,
  .homepage-heading-band .home-section-label > span + span { font-size: 16px !important; }
  .consulting-band > .wrap > span { display: block; margin-top: 8px; }
  .story-kicker, .story-chapter-label > span { margin-bottom: 14px; }
  .consulting-page:not(.project-page) .partner-hero h1,
  .focus-page-hero h1,
  .nexora-story .story-hero h1 {
    font-size:18px !important;
    margin-bottom:18px;
  }
  .nexora-story h2,
  .consulting-editorial h2:not(.property-card-body h2):not(.project-card h2):not(#enquiry h2) {
    font-size:18px !important;
    margin-bottom:16px;
  }
}
