/* Homepage content only. Hero, navigation and footer retain their own type scale. */
/* Black descriptions on light surfaces; photo overlays and dark mode keep contrast. */
body.index-page:not(.dark-mode) #main-content
  :is(.hero-slide-sculpture .hero-description, .intro-text, .about-fund,
      .timeline-content p, .objective-content p, .pillars-intro-text,
      .research-pillar p, .cta-section p, .impact-slide-description,
      .expertise-intro p, .expertise-body, .expertise-body p, .wws-intro p,
      .section-title p, .event-card-desc, .contact-intro-note p,
      .form-card-header p, .info-card-body p, .connect-card p),
body.index-page:not(.dark-mode) .irise-footer .footer-description {
  color: #000;
}

.index-page main > :is(#about-6, #objectives, #services, #research-impact, #expertise, #who-we-serve, #events, #contact) {
  --content-title-size: clamp(1.875rem, 1.35rem + 1.6vw, 2.625rem);
  --content-card-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  font-size: 1rem;
  line-height: 1.75;
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

/* One hierarchy for section titles, including the objectives heading. */
.index-page main > :is(#about-6, #objectives, #services, #research-impact, #expertise, #who-we-serve, #events, #contact)
  :is(h2, .objectives-title) {
  font-size: var(--content-title-size);
  font-weight: 500;
  line-height: 1.23;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.index-page main > :is(#about-6, #objectives, #services, #research-impact, #expertise, #who-we-serve, #events, #contact)
  :is(.research-pillar h3, .objective-content h4, .timeline-content h4,
      .impact-slide h3, .expertise-name, .wws-item-title, .event-card-title,
      .form-card-header h3) {
  font-size: var(--content-card-size);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
  text-wrap: pretty;
}

.index-page main > :is(#about-6, #objectives, #services, #research-impact, #expertise, #who-we-serve, #events, #contact)
  :is(.intro-text, .about-fund, .timeline-content p, .objective-content p,
      .pillars-intro-text, .research-pillar p, .cta-section p,
      .impact-slide-description, .expertise-intro p, .expertise-body,
      .expertise-body p, .wws-intro p, .wws-desc, .section-title p,
      .event-card-desc, .form-card-header p, .info-card-body p, .connect-card p) {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: left;
  text-wrap: pretty;
}

.index-page #events .section-title p { text-align: center; }
.index-page #about-6 .intro-text { max-width: 60ch; margin-bottom: 1rem; }
.index-page #services .pillars-intro-text { max-width: 52ch; }
.index-page #services .cta-section h3 {
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  line-height: 1.35;
  letter-spacing: -.025em;
}
.index-page #services .research-pillar-copy { padding: 1.75rem; }
.index-page #services .research-pillar h3 { margin-bottom: .75rem; }
.index-page #services .research-pillar p { margin-bottom: 1.25rem; }
.index-page #services .research-pillar details li { font-size: .9375rem; line-height: 1.65; }
.index-page #objectives .objective-content h4 { margin-bottom: .75rem; }
.index-page #objectives .objective-num { font-size: 2.25rem; }
.index-page #research-impact .impact-slide h3 { max-width: 25ch; }
.index-page #research-impact .impact-slide-description { max-width: 48ch; }
.index-page #expertise .expertise-toggle { padding-block: 1.5rem; }
.index-page #expertise .expertise-body { max-width: 65ch; }
.index-page #who-we-serve .wws-head { gap: 2.5rem; }
.index-page #who-we-serve .wws-title { max-width: 30ch; }

/* Small supporting labels stay legible without competing with the headings. */
.index-page main > :is(#about-6, #objectives, #services, #research-impact, #expertise, #who-we-serve, #events, #contact)
  :is(.section-kicker, .objective-badge, .impact-eyebrow, .wws-eyebrow, .contact-eyebrow) {
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .12em;
}
.index-page #contact .form-control { font-size: 1rem; line-height: 1.5; }
.index-page #contact .form-label { font-size: .875rem; }
.index-page #contact .contact-topics button { font-size: .8125rem; line-height: 1.5; }
.index-page #contact .info-card-body h5,
.index-page #contact .connect-card h5 { font-size: 1.125rem; line-height: 1.4; }

@media (max-width: 767px) {
  .index-page #services .research-pillar-copy { padding: 1.5rem; }
  .index-page #who-we-serve .wws-head { gap: 1.5rem; }
  .index-page #contact .contact-intro { gap: 1.5rem; padding-bottom: 2rem; }
}
