/* Shared inner-page components: page hero, section heads, declaration, prose, notices */

.page-hero { padding-block: clamp(44px, 7vw, 104px) clamp(36px, 5vw, 64px); }
.page-hero h1 { max-width: 16ch; }
.page-hero .lede { margin-top: 1.2em; }
.section-head { max-width: 720px; margin-bottom: clamp(32px, 5vw, 56px); }
.section-head .lede { margin: 0; }

/* Islamabad Declaration */
.decl-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.decl-meta li {
  padding: 8px 16px; border-radius: 999px; background: var(--saffron-soft); color: var(--saffron-deep);
  font-size: 0.9rem; font-weight: 600;
}
.decl-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.decl-item {
  display: grid; grid-template-columns: 96px minmax(0, 0.9fr) minmax(0, 1.3fr); gap: 12px clamp(20px, 4vw, 56px);
  padding: clamp(26px, 3.4vw, 40px) 0; border-bottom: 1px solid var(--line); align-items: baseline;
}
.decl-num { font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1; color: var(--saffron); letter-spacing: -0.02em; }
.decl-item h2 { font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.85rem); margin: 0; }
.decl-item p { margin: 0; font-size: 1.05rem; }

/* Closing call-to-action band */
.cta-band { background: var(--ink); color: #fff; text-align: center; padding-block: clamp(64px, 8vw, 104px); }
.cta-band h2 { color: #fff; }
.cta-band p { color: var(--on-ink); max-width: 52ch; margin-inline: auto; }
.cta-band .btn { margin-top: 12px; }

/* Long-form text (privacy) */
.prose { max-width: 720px; padding-bottom: var(--section); }
.prose h2 { font-size: 1.6rem; margin: 2.2em 0 0.5em; padding-top: 1.2em; border-top: 1px solid var(--line); }
.prose h2:first-of-type { border-top: 0; padding-top: 0; }
.prose p { font-size: 1.08rem; }

/* Thank you + error states */
.state { padding-block: clamp(64px, 10vw, 140px); text-align: center; }
.state .wrap { max-width: 720px; }
.state-mark {
  display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-bottom: 28px;
  border-radius: 50%; background: var(--sage-soft); color: var(--sage-deep);
}
.state h1 { font-size: clamp(2.2rem, 1.2rem + 3.4vw, 3.6rem); }
.state-line { font-family: var(--font-display); font-style: italic; font-size: 1.6rem; color: var(--teal); margin: 1.2em 0; }
.state .fine { font-size: 0.9rem; margin: 2em auto; max-width: 52ch; }

@media (max-width: 760px) {
  .decl-item { grid-template-columns: 56px 1fr; }
  .decl-item p { grid-column: 2; }
}
