/* Resources landing page only. Shared articles and directory layouts are unchanged. */
.resource-hub { --rh-blue:#b9d8e6; }
.resource-hub section[id] { scroll-margin-top:24px; }
.resource-hub .rh-hero { background:var(--sg-navy); color:var(--sg-paper); padding:76px 0 64px; }
.resource-hub .rh-hero-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); gap:70px; align-items:center; }
.resource-hub .rh-hero h1 { font-size:clamp(44px,4.4vw,70px); margin:24px 0; }
.resource-hub .rh-hero h1 em { color:var(--sg-mint); }
.resource-hub .rh-hero .sg-kicker { color:var(--sg-mint); }
.resource-hub .rh-lead { font-size:22px; line-height:1.5; max-width:570px; color:#e0ebef; }
.resource-hub .rh-intro { margin-top:18px; max-width:570px; color:#b9cdd4; font-size:16px; }
.resource-hub .rh-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.resource-hub .rh-actions>a:not(.sg-button) { color:#e1eff2; font-size:14px; }
.resource-hub .rh-feature { position:relative; background:#17394a; border:1px solid #678592; padding:26px; }
.resource-hub .rh-feature-top { display:flex; justify-content:space-between; align-items:center; font:10px var(--sg-mono); letter-spacing:.06em; color:#b9d8e6; }
.resource-hub .rh-feature-top>span:last-child { font-size:22px; }
.resource-hub .rh-readme { background:#0b2534; border-left:2px solid var(--sg-mint); padding:20px; margin:24px 0; display:grid; gap:10px; font:11px/1.5 var(--sg-mono); color:#a8c0cd; }
.resource-hub .rh-readme b { font-weight:400; color:#f1f7f7; padding-bottom:6px; }
.resource-hub .rh-readme>span:first-child { font-size:9px; color:var(--sg-mint); }
.resource-hub .rh-feature h2 { font-size:32px; line-height:1.1; letter-spacing:-.025em; }
.resource-hub .rh-feature h2 a { color:var(--sg-paper); text-decoration:none; }
.resource-hub .rh-feature p { color:#b9cdd4; margin:16px 0 20px; font-size:14px; }
.resource-hub .rh-feature-link { color:var(--sg-mint); font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.resource-hub .rh-jump { border-bottom:1px solid var(--sg-line); background:#e8efed; }
.resource-hub .rh-jump>div { display:flex; gap:28px; align-items:center; flex-wrap:wrap; padding-block:18px; }
.resource-hub .rh-jump span { font:10px var(--sg-mono); color:var(--sg-muted); margin-right:auto; }
.resource-hub .rh-jump a { font-size:13px; color:var(--sg-ink); }
.resource-hub .rh-section { padding-block:72px; }
.resource-hub .rh-section-head { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:end; margin-bottom:36px; }
.resource-hub .rh-section-head h2 { margin-top:17px; }
.resource-hub .rh-section-head p:not(.sg-kicker) { color:var(--sg-muted); max-width:440px; font-size:16px; }
.resource-hub .rh-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--sg-line); border-bottom:1px solid var(--sg-line); }
.resource-hub .rh-path { padding:30px; border-right:1px solid var(--sg-line); }
.resource-hub .rh-path:first-child { padding-left:0; }
.resource-hub .rh-path:last-child { border-right:0; padding-right:0; }
.resource-hub .rh-number { font:11px var(--sg-mono); color:var(--sg-teal); }
.resource-hub .rh-path h3 { font-size:32px; margin:22px 0 16px; max-width:280px; }
.resource-hub .rh-path>p { color:var(--sg-muted); font-size:14px; min-height:68px; }
.resource-hub .rh-path ul { list-style:none; padding:0; margin:22px 0 0; }
.resource-hub .rh-path li+li { border-top:1px solid #d9e1df; }
.resource-hub .rh-path a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; font-size:13px; text-decoration:none; }
.resource-hub .rh-path a:hover { text-decoration:underline; }
.resource-hub .rh-tool-section { background:#e2ebee; padding-block:64px; border-block:1px solid var(--sg-line); }
.resource-hub .rh-text-link { display:inline-block; font-size:13px; font-weight:600; margin-top:18px; }
.resource-hub .rh-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.resource-hub .rh-tool { position:relative; padding:28px; background:var(--sg-paper); border:1px solid var(--sg-line); display:flex; flex-direction:column; }
.resource-hub .rh-label { font:10px/1.5 var(--sg-mono); letter-spacing:.05em; color:var(--sg-teal); }
.resource-hub .rh-tool h3 { font-size:30px; margin:22px 0 16px; }
.resource-hub .rh-tool h3 a { color:var(--sg-ink); text-decoration:none; }
.resource-hub .rh-tool p { color:var(--sg-muted); font-size:14px; margin-bottom:20px; }
.resource-hub .rh-tool .rh-text-link { margin-top:auto; padding-top:14px; color:var(--sg-link); }
.resource-hub .rh-collections { display:grid; grid-template-columns:1fr 1fr; column-gap:48px; }
.resource-hub .rh-collection { position:relative; border-top:1px solid var(--sg-line); display:grid; grid-template-columns:26px 1fr 16px; gap:16px; padding:26px 0; }
.resource-hub .rh-collection:nth-last-child(-n+2) { border-bottom:1px solid var(--sg-line); }
.resource-hub .rh-index { color:var(--sg-teal); font:10px var(--sg-mono); margin-top:7px; }
.resource-hub .rh-collection h3 { font-size:27px; letter-spacing:-.025em; margin-bottom:10px; }
.resource-hub .rh-collection h3 a { color:var(--sg-ink); text-decoration:none; }
.resource-hub .rh-collection p { font-size:14px; color:var(--sg-muted); max-width:440px; }
.resource-hub .rh-learning { padding-block:64px; background:#dce9e2; border-block:1px solid #b7ccc0; }
.resource-hub .rh-learning-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; }
.resource-hub .rh-learning h2 { margin:20px 0; }
.resource-hub .rh-learning p:not(.sg-kicker) { color:#3b5b53; max-width:540px; margin-bottom:24px; }
.resource-hub .rh-learn-links { border-top:1px solid #a5bfb1; }
.resource-hub .rh-learn-links a { display:grid; gap:12px; padding:26px 0; border-bottom:1px solid #a5bfb1; text-decoration:none; }
.resource-hub .rh-learn-links a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.resource-hub .rh-learn-links strong { font:500 30px/1.15 var(--sg-serif); color:var(--sg-ink); }
.resource-hub .rh-learn-links a>span:last-child { font-size:14px; color:#3b5b53; }
.resource-hub .rh-help { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-block:64px; }
.resource-hub .rh-help h2 { font-size:38px; margin:18px 0; }
.resource-hub .rh-help p:not(.sg-kicker) { max-width:650px; color:var(--sg-muted); }
.resource-hub .rh-help .sg-button { flex-shrink:0; }
@media(min-width:1600px) { .resource-hub .rh-hero { padding-block:88px; } }
@media(max-width:1050px) { .resource-hub .rh-hero-grid { gap:32px; grid-template-columns:1.3fr 1fr; } .resource-hub .rh-jump>div { gap:20px; } .resource-hub .rh-jump span { display:none; } .resource-hub .rh-path { padding:24px 18px; } .resource-hub .rh-path h3 { font-size:29px; } .resource-hub .rh-learning-grid { gap:40px; } }
@media(max-width:760px) {
.resource-hub .sg-wrap { width:calc(100% - 40px); }
.resource-hub .rh-hero { padding-block:44px; }
.resource-hub .rh-hero-grid,.resource-hub .rh-section-head,.resource-hub .rh-tools,.resource-hub .rh-paths,.resource-hub .rh-collections,.resource-hub .rh-learning-grid { grid-template-columns:1fr; }
.resource-hub .rh-hero-grid { gap:36px; }
.resource-hub .rh-hero h1 { font-size:47px; }
.resource-hub .rh-lead { font-size:20px; }
.resource-hub .rh-actions { gap:20px; }
.resource-hub .rh-jump>div { gap:12px 22px; padding-block:16px; }
.resource-hub .rh-section { padding-block:44px; }
.resource-hub .rh-section-head { gap:20px; margin-bottom:26px; }
.resource-hub .rh-path,.resource-hub .rh-path:first-child,.resource-hub .rh-path:last-child { padding:28px 0; border-right:0; }
.resource-hub .rh-path+.rh-path { border-top:1px solid var(--sg-line); }
.resource-hub .rh-path h3 { max-width:none; margin-top:16px; }
.resource-hub .rh-path>p { min-height:0; }
.resource-hub .rh-path ul { margin-top:12px; }
.resource-hub .rh-path a { font-size:15px; min-height:44px; }
.resource-hub .rh-tool-section,.resource-hub .rh-learning { padding-block:44px; }
.resource-hub .rh-collection:nth-last-child(2) { border-bottom:0; }
.resource-hub .rh-learning-grid { gap:32px; }
.resource-hub .rh-help { flex-direction:column; align-items:start; gap:26px; padding-block:44px; }
}
