.resource-hub { max-width: 1100px; margin: auto; }
.resource-intro { max-width: 760px; margin: 0 0 48px; }
.resource-intro h1, .resource-article h1 { font-size: clamp(32px, 4.2vw, 56px); letter-spacing: -1.8px; line-height: 1.08; margin: 16px 0 24px; }
.resource-intro > p:not(.eyebrow):not(.resource-small), .resource-deck { font-size: 20px; line-height: 1.6; color: var(--muted); }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.resource-card { padding: 30px; background: white; border: 1px solid var(--line); border-radius: 18px; }
.resource-card h2 { font-size: 25px; line-height: 1.25; margin: 14px 0; }
.resource-card h2 a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.resource-card p { line-height: 1.6; }
.resource-small { color: var(--muted); font-size: 14px; line-height: 1.6; }
.resource-note, .resource-next { padding: 28px; margin-top: 40px; background: #e9f2ed; border-radius: 18px; line-height: 1.65; }
.resource-page { max-width: 800px; margin: auto; }
.resource-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; margin-bottom: 32px; }
.resource-article header { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.resource-body { font-size: 18px; line-height: 1.75; }
.resource-body h2 { font-size: 28px; line-height: 1.25; margin: 40px 0 16px; letter-spacing: -.5px; }
.resource-body h3 { font-size: 21px; line-height: 1.4; margin: 26px 0 10px; }
.resource-body li { margin-bottom: 12px; }
.resource-body a { text-underline-offset: 3px; }
.resource-body .resource-example { border-left: 4px solid var(--green); padding: 16px 22px; background: white; margin: 24px 0; }
.resource-body .resource-example p { margin: 4px 0; }
.resource-permission { margin-top: 40px; border-top: 1px solid var(--line); padding-top: 20px; line-height: 1.65; }
.resource-related { margin-top: 40px; }
.resource-related li { margin-bottom: 16px; }
.resource-print-url { display: none; }
.resource-checklist { list-style: none; padding: 0; }
.resource-checklist li { padding-left: 30px; position: relative; }
.resource-checklist li::before { content: ""; width: 15px; height: 15px; border: 1.5px solid var(--green); position: absolute; left: 0; top: .45em; }
.resource-questions { padding-left: 26px; }
.resource-questions li { padding: 0 0 18px 6px; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.resource-answer-space { height: 28px; border-bottom: 1px dotted #a6b3aa; }
.resource-body table { width: 100%; border-collapse: collapse; font-size: 16px; }
.resource-body th, .resource-body td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.resource-body th { background: #e9f2ed; }
@media (max-width: 640px) {
    .resource-grid { grid-template-columns: 1fr; }
    .resource-card { padding: 23px; }
    .resource-body { font-size: 17px; }
    .resource-body table { font-size: 14px; }
    .resource-body th, .resource-body td { padding: 8px; }
}
@media print {
    @page { margin: 18mm; }
    html, body { background: white; color: #111; font-size: 10pt; }
    .topbar, .identity-strip, body > .footer, .resource-breadcrumb, .resource-print, .resource-next, .resource-related { display: none !important; }
    .shell, .resource-page { width: 100%; max-width: none; margin: 0; padding: 0; }
    .resource-article h1 { font-size: 24pt; letter-spacing: -.6px; }
    .resource-body, .resource-deck { font-size: 11pt; line-height: 1.45; }
    .resource-body h2 { font-size: 16pt; margin-top: 22pt; break-after: avoid; }
    .resource-body h3 { font-size: 13pt; break-after: avoid; }
    .resource-body li, .resource-example { break-inside: avoid; }
    .resource-body a { color: #111; }
    .resource-answer-key { break-before: page; }
    .resource-print-url { display: block; font-size: 9pt; overflow-wrap: anywhere; }
    .resource-permission { font-size: 9pt; }
}
