/* A reading hub: shared brand, distinct editorial rhythm. */
.resource-hub,.reading-page { max-width:1440px;margin:0 auto;padding:2.5rem var(--story-space) 4rem; }
.resource-masthead { border-bottom:2px solid var(--ink);padding:0 0 1.1rem; }
.resource-masthead > div { display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:end; }
.resource-site .resource-masthead h1 { margin:.35rem 0 1.35rem;font-size:clamp(2.4rem,4.1vw,4.5rem);line-height:1.06;letter-spacing:-.045em; }
.resource-masthead > div > p { max-width:37ch;color:var(--muted);font-size:1.0625rem;line-height:1.65;margin:0 0 1.35rem; }
.resource-masthead nav { display:flex;flex-wrap:wrap;gap:.5rem 1.8rem; }
.resource-masthead nav a { font-size:.9375rem;font-weight:650;min-height:2rem;display:inline-flex;align-items:center; }
.resource-site a:hover { color:var(--magenta); }
.resource-site a:focus-visible { outline:2px solid var(--magenta);outline-offset:5px; }
.resource-meta { display:block;color:var(--muted);font:500 .875rem/1.5 ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase; }
.resource-desk { display:grid;grid-template-columns:1.4fr 1fr;border-bottom:1px solid var(--line); }
.desk-feature { display:flex;flex-direction:column;align-items:flex-start;padding:2.5rem 3rem 2rem 0;border-right:1px solid var(--line); }
.resource-site .desk-feature h2 { font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.08;letter-spacing:-.04em;margin:.5rem 0 1.1rem; }
.desk-feature > p:not(.resource-meta) { color:var(--muted);max-width:43ch;font-size:1.0625rem;line-height:1.7; }
.program-labels { display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 2rem; }
.program-labels span { border:1px solid var(--line);padding:.4rem .6rem;font-size:.875rem; }
.desk-feature .updated { margin:1.4rem 0 0;font-size:.8125rem; }
.desk-sidebar > article { padding:2rem 0 2rem 2.5rem; }
.desk-sidebar > article+article { border-top:1px solid var(--line); }
.resource-site .desk-sidebar h2 { font-size:clamp(1.5rem,2vw,2.2rem);line-height:1.12;letter-spacing:-.025em;margin:.7rem 0; }
.desk-sidebar p:not(.resource-meta) { color:var(--muted);max-width:42ch;font-size:1rem;line-height:1.65; }
.desk-tool h2 { color:var(--magenta); }
.desk-tool small { display:block;margin-top:.85rem;font-size:.875rem;color:var(--muted); }
.guide-directory { padding-top:3.5rem;scroll-margin-top:100px; }
.directory-heading { display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;padding-bottom:1rem; }
.resource-site .directory-heading h2 { font-size:clamp(1.7rem,2.3vw,2.5rem);margin:0; }
.directory-heading p { margin:0;color:var(--muted);font-size:1rem; }
.guide-row { display:grid;grid-template-columns:12rem 1fr auto;gap:2rem;border-top:1px solid var(--line);padding:1.7rem 0;align-items:start; }
.guide-row:last-child { border-bottom:1px solid var(--line); }
.guide-format { display:block;font-size:.875rem;margin-top:.45rem;color:var(--muted); }
.resource-site .guide-row h3 { margin:0 0 .5rem;font-size:clamp(1.25rem,1.7vw,1.7rem);line-height:1.25;letter-spacing:-.02em;max-width:38ch; }
.guide-row p { font-size:1rem;line-height:1.6;color:var(--muted);max-width:63ch;margin:0; }
.guide-open { display:block;white-space:nowrap;font-size:.9375rem;padding:.25rem 0;border-bottom:1px solid currentColor; }
#tools,#perspectives {scroll-margin-top:100px;}
/* Article pages keep the text primary and the outline within reach. */
.reading-page { max-width:1320px; }
.article-breadcrumb { display:flex;flex-wrap:wrap;gap:.65rem;color:var(--muted);font-size:.9375rem;margin:0 0 2.5rem; }
.article-heading { max-width:1000px;margin:0 0 2.5rem;border-bottom:1px solid var(--line);padding-bottom:2rem; }
.resource-site .article-heading h1 { max-width:23ch;font-size:clamp(2.1rem,3.7vw,4rem);line-height:1.12;letter-spacing:-.035em;margin:.75rem 0 1.25rem; }
.article-deck { max-width:67ch;font-size:1.2rem;line-height:1.65;color:var(--muted); }
.article-byline { font-size:.875rem;line-height:1.6;margin:1.4rem 0 0;color:var(--muted); }
.reading-layout { display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:start; }
.article-outline { position:sticky;top:105px; }
.article-outline ol { list-style:none;padding:0;margin:1rem 0 1.8rem; }
.article-outline li { margin:0 0 .85rem;line-height:1.45;font-size:.9375rem; }
.article-outline .text-link {font-size:.9375rem;}
.article-body { max-width:70ch;min-width:0; }
.article-body > p,.article-body > ul,.article-body > ol { font-size:1.0625rem;line-height:1.85;margin:0 0 1.25rem; }
.resource-site .article-body h2 { font-size:clamp(1.45rem,2.15vw,2.05rem);line-height:1.2;letter-spacing:-.02em;margin:2.6rem 0 1.1rem;scroll-margin-top:110px; }
.article-body li { margin:.7rem 0;padding-left:.2rem; }
.article-body > ul,.article-body > ol { padding-left:1.5rem; }
.article-body p a:not(.text-link),.article-body li a { text-decoration:underline;text-underline-offset:.2em; }
.article-body code { font-size:.95em;overflow-wrap:anywhere; }
.article-body .source-link { font-size:.875rem;line-height:1.7;color:var(--muted); }
.article-table {overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);}
.article-table table { width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.6;min-width:580px; }
.article-table th,.article-table td { text-align:left;vertical-align:top;padding:1rem;border-bottom:1px solid var(--line); }
.article-table thead { background:var(--surface); }
.article-table th:first-child { width:23%; }
.article-table td:nth-child(2) { width:24%; }
.article-table tr:last-child td,.article-table tr:last-child th { border-bottom:0; }
.article-product { margin:2rem 0;border:1px solid var(--line); }
.article-product img { display:block;width:100%;height:auto; }
.article-product figcaption { font-size:.875rem;color:var(--muted);padding:.75rem 1rem;border-top:1px solid var(--line); }
.article-body .edition-note { font-size:.9375rem;line-height:1.65;padding:1rem 1.3rem;border-left:2px solid var(--magenta);margin-bottom:2rem;background:var(--surface); }
.article-faq details { border-bottom:1px solid var(--line); }
.article-faq summary { padding:1.1rem 0;cursor:pointer;font-weight:650;font-size:1rem;line-height:1.5; }
.article-faq p { margin:0 0 1.2rem;font-size:1rem;line-height:1.8; }
.article-next-step { border-block:1px solid var(--line);padding:1.5rem 0 2rem;margin:3rem 0; }
.resource-site .article-next-step h2 { margin:.8rem 0;font-size:1.7rem; }
.article-next-step p { font-size:1rem;line-height:1.7; }
.related-reading { border-top:2px solid var(--ink);padding-top:2rem;margin-top:3rem; }
.resource-site .related-reading h2 { font-size:1.7rem; }
.related-reading > div { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem; }
.related-reading a { display:flex;flex-direction:column;gap:.8rem;font-size:1rem;line-height:1.5; }
.related-reading a > span:last-child { margin-top:auto; }
@media(max-width:950px) { .guide-row {grid-template-columns:9rem 1fr auto;gap:1.5rem;} .reading-layout {grid-template-columns:11rem minmax(0,1fr);gap:2rem;} }
@media(max-width:760px) {
 .resource-hub,.reading-page {padding-top:1.7rem;}
 .resource-masthead > div,.resource-desk,.reading-layout {grid-template-columns:1fr;gap:0;}
 .resource-masthead > div > p {max-width:50ch;}
 .desk-feature {padding:1.8rem 0 2rem;border-right:0;border-bottom:1px solid var(--line);}
 .desk-sidebar > article {padding:1.5rem 0;}
 .directory-heading {display:block;} .directory-heading p {margin-top:.75rem;}
 .guide-row {grid-template-columns:1fr auto;gap:.8rem 1rem;}
 .guide-row > div:first-child {grid-column:1/-1;display:flex;gap:1rem;align-items:baseline;}
 .guide-format {margin:0;}
 .article-breadcrumb {margin-bottom:1.5rem;}
 .article-heading {margin-bottom:1rem;}
 .article-outline {position:static;border-bottom:1px solid var(--line);padding:.5rem 0 1.5rem;margin-bottom:2rem;}
 .article-outline ol {columns:2;column-gap:1.5rem;}
 .article-outline li {break-inside:avoid;}
 .related-reading > div {grid-template-columns:1fr;gap:1.5rem;}
 .related-reading a {padding-bottom:1.5rem;border-bottom:1px solid var(--line);}
}
@media(max-width:420px) { .article-outline ol {columns:1;} .guide-row {grid-template-columns:1fr;} .guide-open {justify-self:start;} }
@media print {
 .site-header,.story-footer,.skip-link,.article-outline,.article-next-step,.related-reading {display:none!important;}
 .reading-page {padding:0;max-width:none;}
 .reading-layout {display:block;}.article-body {max-width:none;}
 .article-body a {color:inherit;}.article-table {overflow:visible;}.article-table table {min-width:0;}
}
