/* Shared school document shell. Content/layout CSS belongs to each page. */
.school-document { margin: 0; color: var(--school-ink); background: var(--school-paper); font-family: var(--school-body); -webkit-font-smoothing: antialiased; }
.school-document *, .school-document *::before, .school-document *::after { box-sizing: border-box; }
.school-document h1, .school-document h2, .school-document h3, .school-document h4 { font-family: var(--school-body); font-weight: 500; letter-spacing: -.045em; text-wrap: balance; }
.school-document :is(input, select, textarea, button) { font-family: var(--school-body); }
.school-document :is(pre, code) { font-family: var(--school-mono); }
.school-document a { text-underline-offset: .2em; }
.school-document :focus-visible { outline: 2px solid var(--school-accent); outline-offset: 4px; }
.school-document ::selection { background: var(--school-gold); color: var(--school-ink); }
.school-document .school-wordmark { font-family: var(--school-wordmark); font-weight: 700; letter-spacing: -.085em; font-size: clamp(19px, 2.3vw, 27px); line-height: 1.2; color: var(--school-ink); white-space: nowrap; }
.school-document .school-wordmark span { font-size: inherit; line-height: inherit; color: var(--school-accent); }
.school-document :is(.stamp, .stamp-btn, .btn-primary) { background: var(--school-ink); color: var(--school-paper); border-color: var(--school-ink); border-radius: 0; }
.school-document :is(.stamp, .stamp-btn, .btn-primary):hover { background: var(--school-accent); border-color: var(--school-accent); }
@media (prefers-reduced-motion: reduce) { .school-document { scroll-behavior: auto; } }

.school-document-header, .school-document-content, .school-document-footer { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.school-document-header { min-height: 86px; display: flex; align-items: center; border-bottom: 1px solid var(--school-rule); }
.school-document-content { padding-block: clamp(40px, 7vw, 96px); max-width: 800px; font-size: 18px; line-height: 1.65; }
.school-document-content h1 { font-size: clamp(38px, 6vw, 76px); line-height: 1.02; margin: 16px 0 40px; }
.school-document-content h2 { font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin: 64px 0 24px; }
.school-document-kicker { color: var(--school-accent); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.school-document-footer { padding-block: 24px; border-top: 1px solid var(--school-rule); font-size: 14px; }
