:root {
  --vb-type-hero: clamp(3.75rem, 6.4vw, 6.65rem);
  --vb-type-display: clamp(3.2rem, 5.4vw, 5.35rem);
  --vb-type-section: clamp(2.6rem, 3.9vw, 4.2rem);
  --vb-type-card: clamp(1.4rem, 1.8vw, 1.75rem);
  --vb-type-kicker: clamp(1rem, 1.3vw, 1.2rem);
  --vb-type-lead: clamp(1.08rem, 1.35vw, 1.24rem);
  --vb-type-body: 1rem;
  --vb-type-small: 0.9rem;
  --vb-tracking-kicker: 0.17em;
}

/* One typographic signature for all page and section identifiers. */
.home-page .home-hero-brand,
.home-page .constraint-kicker,
.home-page .ecosystem-kicker,
.home-page .lens-kicker,
.home-page .capacity-kicker,
.reconnection-page .reconnection-kicker,
.reconnection-page .section-kicker,
.reconnection-page .dimensions-kicker,
.reconnection-page .process-kicker,
.reconnection-page .continuum-kicker,
.reconnection-page .decoding-principle-kicker,
.journey-page .journey-label,
.unfolding-page .page-name,
.unfolding-page .eyebrow,
.unfolding-page .profile-section-label,
.unfolding-page .relationship-heading .eyebrow,
.unfolding-page .testimonials > .eyebrow {
  font-family: var(--serif);
  font-size: var(--vb-type-kicker);
  font-weight: 600;
  letter-spacing: var(--vb-tracking-kicker);
  line-height: 1.35;
  text-transform: uppercase;
}

/* The four opening statements now share one scale and rhythm. */
.home-page .home-hero h1,
.reconnection-page .reconnection-hero h1,
.journey-page .journey-hero h1,
.unfolding-page .hero h1 {
  font-family: var(--serif);
  font-size: var(--vb-type-hero);
  font-weight: 500;
  letter-spacing: -0.048em;
  line-height: 0.98;
}

/* Introductory copy carries the same reading weight on every page. */
.reconnection-page .reconnection-lead,
.journey-page .journey-lead,
.unfolding-page .hero-intro {
  font-family: var(--serif);
  font-size: var(--vb-type-lead);
  font-weight: 400;
  line-height: 1.65;
}

.journey-page .journey-support,
.reconnection-page .dimensions-intro,
.reconnection-page .process-intro,
.unfolding-page .transformations-intro {
  font-size: var(--vb-type-body);
  line-height: 1.65;
}

.journey-page .journey-support,
.journey-page .journey-movements-intro > p,
.unfolding-page .copy-flow,
.unfolding-page .pathway-card > p:not(.pathway-subtitle),
.unfolding-page .relationship-item p,
.unfolding-page .transformations-intro,
.unfolding-page .exploration-inner > p:not(.eyebrow) {
  font-family: var(--serif);
  font-size: var(--vb-type-body);
  line-height: 1.65;
}

/* Primary section titles use one shared editorial rank. */
.home-page .constraint-heading h2,
.home-page .ecosystem-heading h2,
.home-page .lens-heading h2,
.home-page .capacity-heading h2,
.reconnection-page .architecture-copy h2,
.reconnection-page .decoding-heading h2,
.reconnection-page .two-dimensions h2,
.reconnection-page .reintegration h2,
.journey-page .journey-distinction h2,
.journey-page .journey-movements h2,
.journey-page .journey-sustainability h2,
.journey-page .journey-results h2,
.unfolding-page .section-heading h2,
.unfolding-page .relationship h2,
.unfolding-page .transformations h2 {
  font-family: var(--serif);
  font-size: var(--vb-type-section);
  font-weight: 500;
  letter-spacing: -0.042em;
  line-height: 1.05;
}

/* Large closing statements keep their own, consistent display tier. */
.home-page .capacity-signature > p,
.journey-page .journey-next h2,
.unfolding-page .exploration h2 {
  font-family: var(--serif);
  font-size: var(--vb-type-display);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Repeated content titles share a stable secondary hierarchy. */
.home-page .constraint-item-grid h3,
.journey-page .journey-movement h3,
.journey-page .journey-sustainability-principles h3,
.journey-page .journey-results-grid h3,
.unfolding-page .relationship-item h3 {
  font-family: var(--serif);
  font-size: var(--vb-type-card);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.22;
}

/* Structural fragments remain upright; italics are reserved for reflective statements and quotations. */
.home-page .lens-principle em,
.reconnection-page .decoding-heading p:last-child {
  font-style: normal;
}

/* Previously undersized functional copy is brought back into the reading system. */
.reconnection-page .reintegration-flow strong,
.reconnection-page .continuum-path li strong {
  font-size: 0.82rem;
  line-height: 1.3;
}

.reconnection-page .reintegration-flow li > p,
.reconnection-page .continuum-path li p,
.journey-page .journey-movement p,
.unfolding-page .profile-role {
  font-size: var(--vb-type-small);
}

.reconnection-page .reintegration-flow li > p,
.reconnection-page .continuum-path li p,
.journey-page .journey-movement p {
  font-family: var(--serif);
  line-height: 1.5;
}

.home-page .lens-index {
  font-size: 0.75rem;
}

@media (max-width: 860px) {
  :root {
    --vb-type-hero: clamp(3rem, 11vw, 5rem);
    --vb-type-section: clamp(2.35rem, 7.8vw, 3.35rem);
    --vb-type-display: clamp(3rem, 10.5vw, 4.5rem);
  }
}

@media (max-width: 540px) {
  :root {
    --vb-type-hero: clamp(2.85rem, 13vw, 4.25rem);
    --vb-type-section: clamp(2.2rem, 9.5vw, 3rem);
    --vb-type-display: clamp(2.9rem, 13vw, 4.2rem);
    --vb-type-kicker: 0.92rem;
    --vb-type-lead: 1rem;
  }

  .home-page .home-hero-statement p {
    font-size: 0.82rem;
  }
}
