/* ── gf-resources.css — /resources and the articles (GF8). Tokens from gf.css. ──
   Reading first: a 68ch measure, generous leading, a sticky contents list on wide
   screens, a reading-progress hairline. Motion: cards rise in on scroll (gf.css
   reveal), the progress bar is a transform. */

.rs-progress{position:fixed;inset-inline:0;top:0;height:3px;z-index:60;pointer-events:none}
.rs-progress{overflow:hidden}
.rs-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transform:translateX(-100%)}

.rs-crumb{font-weight:600;font-size:14px;color:var(--text2);text-decoration:none;padding-inline-start:12px;border-inline-start:1px solid var(--border2)}
.rs-crumb:hover{color:var(--accent-ink)}
.rs-langs a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:var(--r-full);color:var(--text2);font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color var(--t-ui) var(--ease-out),color var(--t-ui) var(--ease-out)}
.rs-langs a[aria-current="true"]{background:var(--navy);color:var(--white)}
.rs-signin{font-size:13px;font-weight:600;color:var(--text2);text-decoration:none;white-space:nowrap}
@media (max-width:760px){.rs-signin,.rs-cta-top,.rs-crumb{display:none}}

/* list */
.rs-hero{padding-block:clamp(40px,7vw,80px) clamp(16px,3vw,28px);background:radial-gradient(80% 120% at 100% 0%,var(--bg2),var(--bg) 60%)}
.rs-hero h1{margin:14px 0 0;font-size:clamp(2.1rem,1.4rem + 3vw,3.4rem);letter-spacing:-.03em}
.rs-hero .gf-lead{margin-top:14px}
.rs-h2{margin:40px 0 16px;font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem)}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.rs-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r-xl);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);text-decoration:none;min-width:0;transition:box-shadow var(--t-panel) var(--ease-out),translate var(--t-panel) var(--ease-out),border-color var(--t-panel) var(--ease-out)}
.rs-card h3{font-size:1.2rem;line-height:1.25}
.rs-card p{margin:0;color:var(--text2);font-size:14.5px;line-height:1.55}
.rs-card-kind{font:500 11px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.rs-card-meta{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--muted)}
.rs-card-budget{background:linear-gradient(160deg,var(--navy-2),var(--navy) 60%,var(--navy-deep));color:var(--stage-text);border-color:transparent}
.rs-card-budget p{color:var(--stage-text2)}.rs-card-budget .rs-card-kind{color:var(--stage-gold)}.rs-card-budget .rs-card-meta{color:var(--stage-muted)}
@media (hover:hover) and (pointer:fine){.rs-card:hover{box-shadow:var(--shadow-lg);translate:0 -3px;border-color:var(--accent-dim)}}

/* article head */
.rs-head{padding-block:clamp(32px,6vw,72px) clamp(20px,3vw,32px);background:radial-gradient(70% 120% at 100% 0%,var(--bg2),var(--bg) 65%);border-bottom:1px solid var(--border)}
.rs-head-in{max-width:calc(820px + 2*var(--gutter))}
.rs-back{display:table;margin-bottom:18px;font-size:13.5px;font-weight:600;color:var(--text2);text-decoration:none}
.rs-back:hover{color:var(--accent-ink)}
.rs-head h1{margin:12px 0 0;font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem);line-height:1.08;letter-spacing:-.03em}
.rs-dek{margin:14px 0 0;font-size:clamp(1.05rem,1rem + .35vw,1.2rem);line-height:1.55;color:var(--text2);max-width:40em}
.rs-byline{display:flex;align-items:center;gap:12px;margin:22px 0 0;font-size:14px}
.rs-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--white);font:700 13px/1 var(--font-body);flex:none}
.rs-editions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:20px}
.rs-editions .gf-label-m{margin-inline-end:6px}
.rs-editions a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--border2);background:var(--card);color:var(--text);font-weight:700;font-size:13.5px;text-decoration:none;font-variant-numeric:tabular-nums}
.rs-editions a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.rs-editions small{font-weight:600;font-size:11px;color:var(--accent-ink)}
.rs-editions a[aria-current="page"] small{color:var(--stage-gold)}

/* article body */
.rs-body{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px 64px}
.rs-side{display:none}
.rs-prose{max-width:68ch;min-width:0;font-size:17px;line-height:1.72;color:var(--text)}
.rs-prose>*:first-child{margin-top:0}
.rs-prose h2{margin:2.2em 0 .6em;font-size:1.55rem;line-height:1.2;scroll-margin-top:88px}
.rs-prose h3{margin:1.8em 0 .5em;font-size:1.2rem;scroll-margin-top:88px}
.rs-prose p,.rs-prose ul,.rs-prose ol{margin:0 0 1.1em}
.rs-prose ul,.rs-prose ol{padding-inline-start:1.3em}
.rs-prose li{margin:.35em 0}
.rs-prose li::marker{color:var(--accent)}
.rs-prose a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.rs-prose strong{font-weight:700;color:var(--navy)}
.rs-prose blockquote{margin:1.6em 0;padding:16px 20px;border-inline-start:3px solid var(--gold);background:var(--gold-wash);border-radius:var(--r-sm);color:var(--gold-ink);font-size:16px}
.rs-prose blockquote p{margin:0}
.rs-prose blockquote p+p{margin-top:.6em}
.rs-prose hr{border:0;border-top:1px solid var(--border);margin:2.4em 0}
.rs-prose code{font:500 .88em/1 var(--font-mono);padding:2px 5px;border-radius:var(--r-xs);background:var(--bg2)}
.rs-table{margin:1.4em 0 1.6em;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}
.rs-table table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}
.rs-table th{text-align:start;font:600 12px/1.4 var(--font-body);letter-spacing:.02em;color:var(--muted);background:var(--bg);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.rs-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.rs-table tr:last-child td{border-bottom:0}
.rs-table td:first-child{font-weight:600}
.rs-prose .gf-note{margin-bottom:1.6em}

/* contents (wide screens) */
.rs-toc{position:sticky;top:96px}
.rs-toc ol{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;border-inline-start:1px solid var(--border)}
.rs-toc a{display:block;padding:6px 12px;margin-inline-start:-1px;border-inline-start:2px solid transparent;color:var(--text2);text-decoration:none;font-size:13.5px;line-height:1.4;transition:color var(--t-ui) var(--ease-out),border-color var(--t-ui) var(--ease-out)}
.rs-toc a:hover{color:var(--text)}
.rs-toc a.on{color:var(--navy);font-weight:700;border-inline-start-color:var(--accent)}
@media (min-width:1080px){.rs-body{grid-template-columns:240px minmax(0,1fr);gap:56px}.rs-side{display:block}}

/* call to action */
.rs-ctabox{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin:48px 0 0;padding:26px 28px;border-radius:var(--r-xl);background:linear-gradient(150deg,var(--navy-2),var(--navy) 55%,var(--navy-deep));color:var(--stage-text);box-shadow:var(--shadow-lg)}
.rs-ctabox h2{margin:0;font-size:1.35rem;color:var(--white)}
.rs-ctabox p{margin:6px 0 0;color:var(--stage-text2);font-size:15px}

@media (prefers-reduced-motion:reduce){.rs-card:hover{translate:none}}
@media print{.rs-progress,.rs-side,.rs-ctabox,.gf-top,.gf-band{display:none!important}.rs-body{display:block}}
