/* ---------- Resources hub ---------- */
[hidden] { display:none !important; }
.rhero { padding-block:56px 40px; }
.rhero h1 { margin:20px 0 0; max-width:14ch; font-size:clamp(42px, 5.4vw, 76px); line-height:.98; font-weight:500; letter-spacing:-.04em; text-wrap:balance; }
.rhero .sub { margin-top:24px; max-width:44ch; font-size:20px; line-height:30px; color:var(--ink-muted); }
.filters { margin-top:40px; display:flex; flex-wrap:wrap; gap:8px; }
.filters button { height:38px; padding:0 16px; border:1px solid var(--line-control); border-radius:999px; background:var(--paper); color:var(--ink-muted); font:inherit; font-size:14.5px; font-weight:500; cursor:pointer; transition:background-color .2s, color .2s, border-color .2s; }
.filters button:hover { color:var(--ink); border-color:var(--ink); }
.filters button[aria-pressed="true"] { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.filters button:focus-visible { outline:2px solid var(--signal); outline-offset:2px; }
.rlist { padding-block:24px 128px; }
.feature { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; padding:48px; border-radius:var(--r-lg); background:var(--tint-sky); color:var(--ink); text-decoration:none; box-shadow:var(--shadow-card); overflow:hidden; transition:transform .25s var(--ease), box-shadow .25s; }
.feature:hover { transform:translateY(-4px); box-shadow:var(--shadow-float); }
.feature:focus-visible { outline:2px solid var(--signal); outline-offset:3px; }
.feature .read-kind { font-size:14px; font-weight:600; color:var(--sky-ink); }
.feature h2 { margin:12px 0 0; font-size:clamp(36px, 4vw, 56px); line-height:1.02; font-weight:500; letter-spacing:-.035em; }
.feature p { margin:18px 0 0; max-width:40ch; font-size:18px; line-height:28px; color:var(--ink-muted); }
.f-meta { display:block; margin-top:24px; font-size:14px; color:var(--ink-muted); }
.f-vis { display:flex; flex-direction:column; gap:12px; padding:28px; border-radius:var(--r-md); background:var(--paper); box-shadow:var(--shadow-float); }
.fv-k { font-size:14px; font-weight:600; margin-bottom:4px; }
.fv-row { display:grid; grid-template-columns:170px 1fr; gap:14px; align-items:center; font-size:14px; color:var(--ink-muted); }
.fv-row i { display:block; height:12px; width:calc(var(--w) * 1%); border-radius:999px; background:var(--frost); }
.fv-row.on { color:var(--ink); font-weight:600; } .fv-row.on i { background:var(--signal); min-width:12px; }
.fv-n { font-size:12.5px; color:var(--ink-subtle); margin-top:4px; }
.rgrid { margin-top:24px; }
.rgrid .read { min-height:220px; }
.read.rose { --t:var(--tint-rose); --ti:var(--rose-ink); }
.r-empty { margin:40px 0 0; font-size:16px; color:var(--ink-muted); }
@media (max-width: 1080px) { .feature { grid-template-columns:1fr; padding:32px; } .rgrid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .feature { padding:24px; gap:28px; } .f-vis { padding:20px; } .fv-row { grid-template-columns:1fr; gap:6px; } .rgrid { grid-template-columns:1fr; } .rlist { padding-block:16px 80px; } }
