.resource-intro { padding-block: 68px 52px; max-width: 930px; }
.resource-intro h1 { max-width: 17em; font-size: clamp(38px,4.6vw,60px); }
.resource-intro .lead { max-width: 760px; }
.breadcrumb { font-size: 14px; color: var(--muted); margin-bottom: 28px; }
.breadcrumb a, .article-body a, .resource-row a, .source-list a, .guide-caption a { text-decoration: underline; text-underline-offset: 3px; }
.resource-feature { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; padding-bottom: 64px; border-bottom: 1px solid var(--line); }
.resource-feature img { width: 100%; height: auto; display: block; }
.resource-feature h2 { font-size: clamp(26px,3vw,36px); line-height: 1.25; margin-block: 12px 20px; }
.resource-feature p { margin-bottom: 24px; color: var(--muted); }
.resource-list { padding-block: 32px 80px; }
.resource-row { display: grid; grid-template-columns: 110px minmax(0,1fr) 260px; gap: 34px; align-items: center; border-bottom: 1px solid var(--line); padding-block: 32px; }
.resource-row h2 { font-size: 24px; line-height: 1.35; margin-bottom: 10px; }
.resource-row p { color: var(--muted); max-width: 640px; }
.resource-row img { width: 100%; height: auto; }
.resource-type, .article-meta { font-size: 13px; color: var(--muted); }
.article-heading { max-width: 960px; padding-block: 60px 40px; }
.article-heading h1 { max-width: 18em; font-size: clamp(36px,4.8vw,58px); }
.article-heading .lead { max-width: 780px; margin-block: 24px; }
.article-layout { display: grid; grid-template-columns: 200px minmax(0,850px); gap: 64px; align-items: start; padding-bottom: 80px; }
.article-toc { position: sticky; top: 24px; padding-top: 12px; font-size: 14px; }
.article-toc strong { display: block; margin-bottom: 16px; }
.article-toc a { display: block; padding-block: 8px; color: var(--muted); line-height: 1.4; }
.article-toc a:hover { color: var(--ink); text-decoration: underline; }
.article-body { min-width: 0; font-size: 18px; line-height: 1.8; }
.article-body h2 { font-size: 29px; line-height: 1.3; margin-block: 48px 20px; scroll-margin-top: 24px; }
.article-body h3 { font-size: 21px; line-height: 1.4; margin-block: 28px 12px; }
.article-body p, .article-body ul, .article-body ol { margin-block: 0 20px; }
.article-body li { margin-bottom: 10px; }
.article-body ul, .article-body ol { padding-left: 24px; }
.article-body figure { margin: 28px 0 36px; }
.article-body figure img { width: 100%; height: auto; display: block; border: 1px solid var(--line); }
.guide-caption { font-size: 14px; line-height: 1.65; color: var(--muted); padding-top: 12px; }
.guide-caption a { display: inline-block; margin-left: 8px; }
.article-body .first-figure { margin-top: 0; }
.guide-table { overflow-x: auto; margin-block: 24px; }
.guide-table:focus-visible { outline: 3px solid var(--navy); }
.guide-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.guide-table th, .guide-table td { padding: 15px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.guide-table th { background: var(--surface); font-weight: 700; }
.article-body .source-list { font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.article-body code { font-size: .88em; background: #f1f3f3; padding: 2px 5px; }
.article-body pre { background: #f1f3f3; padding: 24px; overflow-x: auto; line-height: 1.65; font-size: 15px; }
.article-body pre code { padding: 0; background: none; }
.article-body .guide-tool { padding: 28px; background: var(--surface); border: 1px solid var(--line); margin-block: 28px; font-size: 16px; }
.guide-tool h3 { margin-top: 0; }
.guide-tool label { display: block; margin-block: 12px; }
.guide-tool input { accent-color: var(--navy); width: 18px; height: 18px; margin-right: 10px; }
.guide-tool button, .guide-tool select { font: inherit; padding: 10px 14px; border: 1px solid #a9b3b7; background: white; color: var(--navy); border-radius: 5px; cursor: pointer; }
.guide-tool select { width: 100%; margin-bottom: 16px; }
.guide-tool button:focus-visible, .guide-tool select:focus-visible, .guide-tool input:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
.guide-tool output { display: block; padding: 18px; background: var(--lime); margin-top: 20px; line-height: 1.7; }
.guide-tool .tool-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.article-end { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 48px; }
.resource-contact { margin-bottom: 64px; background: var(--navy); color: white; padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.resource-contact h2 { font-size: 28px; margin-bottom: 12px; }
.resource-contact p { max-width: 680px; }
.resource-contact .button { background: var(--lime); color: var(--navy); flex-shrink: 0; }
.resources-teaser { padding-block: 50px; border-top: 1px solid var(--line); }
.resources-teaser h2 { font-size: 32px; margin-bottom: 14px; }
.resources-teaser p { max-width: 700px; margin-bottom: 20px; color: var(--muted); }
@media (max-width:1100px) { .header nav { gap: 18px; } .article-layout { grid-template-columns: 170px minmax(0,1fr); gap: 32px; } }
@media (max-width:800px) { .article-layout { display: block; } .article-toc { position: static; margin-bottom: 32px; padding-block: 20px; border-block: 1px solid var(--line); } .article-toc a { display: inline-block; margin-right: 20px; } .resource-feature { grid-template-columns: 1fr; gap: 20px; } .resource-row { grid-template-columns: 1fr 170px; gap: 20px; } .resource-type { grid-column: 1 / -1; } .resource-contact { display: block; } .resource-contact .button { margin-top: 24px; } }
@media (max-width:560px) { .resource-intro,.article-heading { padding-top: 36px; } .article-body { font-size: 17px; } .article-body h2 { font-size: 25px; } .resource-row { grid-template-columns: 1fr; } .resource-row img { max-width: 400px; } .resource-contact { padding: 26px; } .guide-tool { padding: 18px !important; } .guide-table th,.guide-table td { padding: 10px; } }
@media print { .header,.article-toc,.resource-contact,footer,.breadcrumb,.tool-actions { display:none; } .wrap { width:100%; } .article-layout { display:block; } .article-body { font-size:11pt; } .article-heading h1 { font-size:27pt; } .article-body figure { break-inside:avoid; } .guide-caption a { display:none; } }
