/* Content sizing independent of each page's decorative background. */
.yagna-page #content { padding-top: 0; }
.dhruva-page .hero > *, .theme-page .hero > * { min-width: 0; max-width: 100%; }
.about-page .about-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.contact-page .hero .dates { max-width: 100%; flex-wrap: wrap; justify-content: center; line-height: 1.7; }

@media (max-width: 1024px) {
  .about-page .hero { min-height: calc(100svh - 73px); padding: 3rem 1.5rem; }
  .about-page .hero h1 { font-size: clamp(1.9rem, 5.5vw, 3.5rem); letter-spacing: .04em; max-width: 100%; }
  .about-page .hero .year { display: inline-block; }
  .about-page section { padding: 3.5rem 1.5rem; }
  .about-page .section-title { font-size: clamp(1.5rem, 4vw, 2rem); overflow-wrap: anywhere; }
  .contact-page .hero { min-height: calc(100svh - 73px); padding: 3rem 1.25rem 4rem; }
  .dhruva-page .hero, .theme-page .hero { min-height: auto; padding: 3.5rem 1.5rem; }
  .yagna-page .hero-section { padding: 3.5rem 0 3rem; }
}

@media (max-width: 600px) {
  .about-page .hero img { width: min(220px, 70vw); }
  .about-page .hero h1 { font-size: clamp(1.75rem, 7.5vw, 2.6rem); line-height: 1.2; }
  .about-page .tagline { font-size: .9rem; letter-spacing: .18em; line-height: 1.6; }
  .about-page .hero p { font-size: 1rem; line-height: 1.7; }
  .about-page .card { min-width: 0; padding: 1.4rem; }
  .dhruva-page .hero h1 { font-size: clamp(2rem, 11vw, 4rem); letter-spacing: .025em; line-height: 1.1; }
  .dhruva-page .hero h2, .theme-page .hero h2 { font-size: clamp(1.1rem, 5vw, 1.5rem); letter-spacing: .1em; line-height: 1.4; }
  .dhruva-page .intro, .theme-page .intro, .yagna-page .hero-subtext { font-size: 1.1rem; line-height: 1.7; }
  .theme-page .hero h1 { font-size: clamp(2.4rem, 12vw, 4.5rem); letter-spacing: .04em; }
  .yagna-page .actions { flex-direction: column; }
  .yagna-page .cta-btn { padding: 1rem; letter-spacing: .08em; }
  .yagna-page .search-box { min-width: 0; width: 100%; }
  .dhruva-page .event-grid, .yagna-page .poster-grid { grid-template-columns: minmax(0, 1fr); }
  .dhruva-page .wing, .theme-page .wing { min-width: 0; }
  .contact-page .hero h1 { font-size: clamp(2rem, 11vw, 3.5rem); }
  .contact-page .hero .edition { font-size: .7rem; letter-spacing: .12em; line-height: 1.8; }
  .contact-page .hero .dates { padding: .7rem 1rem; font-size: .7rem; letter-spacing: .08em; gap: .25rem .5rem; }
  .contact-page .wrap { padding-inline: 1.25rem; }
  .contact-page .person { flex-wrap: wrap; gap: .75rem; }
  .contact-page .person .who { flex: 1 1 160px; }
  .contact-page .person .who .name { overflow-wrap: anywhere; }
}
