/* Shared spacing adjustments across Descreened pages. */
.section { padding-block: clamp(32px, 3.6vw, 52px); }
.section-heading { margin-bottom: clamp(22px, 2.6vw, 34px); }
.page-shell { padding: clamp(70px, 6.5vw, 92px) 0 clamp(42px, 4.6vw, 60px); }
.first-after-head { padding-top: clamp(32px, 3.6vw, 48px); }

.hero {
  min-height: min(calc(85dvh - var(--nav-h)), 790px);
  padding: clamp(96px, 10vw, 132px) var(--gutter) clamp(58px, 7vw, 82px);
}
.hero-tagline { margin-top: clamp(40px, 7vh, 74px); }
.hero-cta { margin-top: clamp(28px, 4vh, 44px); }
.intro { padding: 32px var(--gutter) clamp(54px, 6vw, 82px); }
.intro-body { margin-top: clamp(22px, 3.3vw, 42px); gap: 26px; }
.diary { padding-block: clamp(54px, 6vw, 86px); gap: clamp(28px, 4vw, 56px); }
.pillar-grid { margin-top: clamp(28px, 3vw, 40px); }
.folder-stack { gap: clamp(40px, 4.2vw, 58px); padding-top: 26px; }
.folder-stack + .group-heading { margin-top: clamp(32px, 3.8vw, 46px); }
.bridge { padding-block: clamp(42px, 4.8vw, 64px); }

.timeline-row { gap: 18px; padding: 16px 22px; }
.metric { padding: 26px 23px 23px; gap: 11px; }
.resource-card { padding: 20px; gap: 12px; }
.person { padding: 20px 22px; gap: 10px; }
.chapter-folder { padding: clamp(22px, 2.5vw, 30px); gap: clamp(24px, 3vw, 42px); }
.exec-panel { padding: clamp(22px, 2.5vw, 30px); gap: 18px; }
.exec-panel + .exec-panel { margin-top: 22px; }
.project-body { padding: 20px; }
.faq-list summary { padding: 19px 22px; }

.contact-panel {
  margin-block: clamp(34px, 4vw, 56px);
  min-height: clamp(300px, 32vw, 420px);
  padding: clamp(38px, 4.2vw, 54px) var(--gutter);
}
.contact-stage {
  min-height: min(720px, calc(100dvh - var(--nav-h)));
  padding-block: clamp(72px, 7vw, 100px) clamp(48px, 6vw, 76px);
}
.site-footer { padding-top: clamp(38px, 4vw, 56px); }

.volunteer-hero .wrap { padding-block: clamp(18px, 2vw, 28px); }
.volunteer-card { padding: clamp(22px, 2.4vw, 30px); }
.volunteer-submit { margin-top: 22px; padding: clamp(22px, 2.6vw, 32px); }

@media (max-width: 760px) {
  .section { padding-block: 32px; }
  .section-heading { margin-bottom: 22px; }
  .page-shell { padding: 64px 0 42px; }
  .hero { min-height: auto; padding: 86px var(--gutter) 54px; }
  .hero-tagline { margin-top: 40px; }
  .hero-cta { margin-top: 28px; }
  .intro { padding: 22px var(--gutter) 54px; }
  .intro-body { gap: 22px; }
  .diary { padding: 52px 20px 60px; }
  .folder-stack { gap: 42px; padding-top: 22px; }
  .timeline-row { padding: 15px 17px; gap: 10px; }
  .contact-panel { margin-block: 34px; min-height: 280px; padding-block: 38px; }
  .contact-stage { min-height: auto; padding: 68px var(--gutter) 48px; }
  .volunteer-hero .wrap { padding-block: 12px; }
}
