/* Homepage resource explorer; deliberately scoped away from catalogue cards. */
#main-resources { background: linear-gradient(180deg,#f5faf7,#fff); scroll-margin-top: 110px; }
#main-resources .h1-section-intro { margin-bottom: 1.5rem; max-width: 760px; }
.resource-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.resource-filters[hidden] { display:none; }
.resource-filters button { border:1px solid #ccdcd3; background:#fff; color:#345448; border-radius:24px; padding:.6rem 1.15rem; min-height:44px; font:inherit; font-weight:600; cursor:pointer; }
.resource-filters button[aria-pressed="true"] { background:#0b684e; border-color:#0b684e; color:#fff; box-shadow:0 4px 12px #0b684e20; }
.resource-filters button:hover { border-color:#0b684e; }
#main-resources .h1-resource-grid { gap:1.2rem; }
#main-resources .h1-resource-card { --resource-accent:#0b7057; --resource-tint:#e4f4ed; position:relative; display:flex; flex-direction:column; padding:1.5rem; border:1px solid #dbe7df; border-radius:20px; background:linear-gradient(135deg,var(--resource-tint),#fff 65%); box-shadow:0 5px 20px #123e3006; overflow:hidden; transition:transform .2s,box-shadow .2s,border-color .2s; }
#main-resources .h1-resource-card[hidden] { display:none; }
#main-resources .h1-resource-card::before { content:""; position:absolute; right:-24px; top:-40px; width:140px; height:140px; border:24px solid var(--resource-tint); border-radius:50%; pointer-events:none; }
#main-resources .h1-resource-card[data-tone="blue"] { --resource-accent:#2464a0; --resource-tint:#e8f1fc; }
#main-resources .h1-resource-card[data-tone="gold"] { --resource-accent:#896011; --resource-tint:#faf0d9; }
#main-resources .h1-resource-card[data-tone="violet"] { --resource-accent:#7153a2; --resource-tint:#f0eaf9; }
.resource-card-top { display:flex; align-items:center; gap:.8rem; margin-bottom:1.15rem; position:relative; }
#main-resources .h1-resource-icon { margin:0; width:48px; height:48px; border-radius:14px; background:#fff; color:var(--resource-accent); box-shadow:0 3px 12px #183b3010; font-size:1.4rem; }
.resource-card-label { font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--resource-accent); }
#main-resources .h1-resource-card h3 { font-size:1.2rem; margin-bottom:.65rem; position:relative; }
#main-resources .h1-resource-card p { min-height:0; font-size:.95rem; line-height:1.65; margin:0 0 1.1rem; flex:1; position:relative; }
.resource-topics { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:1.15rem; }
.resource-topics span { background:#ffffffb8; border:1px solid #dfe8e2; padding:.18rem .55rem; border-radius:6px; font-size:.72rem; color:#52675c; }
#main-resources .h1-resource-card a { position:static; border-top:1px solid #dfe8e2; padding-top:.75rem; display:flex; justify-content:space-between; color:var(--resource-accent) !important; font-size:.9rem; }
#main-resources .h1-resource-card a::after { content:""; position:absolute; inset:0; border-radius:20px; }
#main-resources .h1-resource-card a .bi { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--resource-tint); transition:transform .2s; }
#main-resources .h1-resource-card:hover,#main-resources .h1-resource-card:focus-within { transform:translateY(-4px); border-color:var(--resource-accent); box-shadow:0 12px 28px #163c3014; }
#main-resources .h1-resource-card:hover a .bi { transform:translateX(3px); }
#main-resources a:focus-visible { outline:none; }
#main-resources a:focus-visible::after,.resource-filters button:focus-visible { outline:3px solid #b18424; outline-offset:3px; }
@media(max-width:767px) { #main-resources .h1-resource-card { padding:1.25rem; } .resource-filters { gap:.4rem; } .resource-filters button { padding:.5rem .85rem; font-size:.9rem; } }
@media(prefers-reduced-motion:reduce) { #main-resources .h1-resource-card,#main-resources .bi { transition:none; transform:none; } }
