/* Resource library layouts: scoped to the three resource pages. */
.resource-library { --resource-gap: 24px; }
.resource-library .resource-hero {
    padding: 132px 0 42px;
    background: radial-gradient(ellipse at 90% 0%, #fff0ec, transparent 62%), #faf9f6;
    border-bottom: 1px solid var(--border-light);
}
.resource-library .resource-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:.82rem; margin-bottom:28px; color:var(--text-light); }
.resource-library .resource-breadcrumb a { color:inherit; text-decoration:none; }
.resource-library .resource-breadcrumb a:hover { text-decoration:underline; }
.resource-library .resource-eyebrow { display:block; color:#9a3828; font-weight:700; font-size:.73rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
.resource-library .resource-hero h1 { font-size:clamp(2.4rem,5vw,4rem); margin-bottom:16px; }
.resource-library .resource-hero p { max-width:680px; margin:0; font-size:1.08rem; color:var(--text-light); }
.resource-library .resource-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.resource-library .resource-tabs a { padding:10px 19px; border:1px solid #d9d7d2; border-radius:30px; text-decoration:none; color:var(--ink); background:#fff; font-size:.88rem; font-weight:600; }
.resource-library .resource-tabs a[aria-current="page"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.resource-library .resource-tabs a:hover { border-color:var(--ink); }
.resource-library .resource-catalogue { padding:44px 0 64px; }
.resource-library .resource-topic-nav { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; padding:0 0 28px; border-bottom:1px solid var(--border-light); margin-bottom:36px; }
.resource-library .resource-topic-nav span { color:var(--text-light); font-size:.82rem; }
.resource-library .resource-topic-nav a { font-size:.88rem; color:var(--ink); text-underline-offset:5px; padding:8px 0; }
.resource-library .resource-group + .resource-group { margin-top:44px; }
.resource-library .resource-group { scroll-margin-top:110px; }
.resource-library .resource-group-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:22px; }
.resource-library .resource-group-heading h2 { font-size:1.7rem; margin:0; }
.resource-library .resource-count { color:var(--text-light); font-size:.8rem; white-space:nowrap; }
.resource-library .resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--resource-gap); }
.resource-library .resource-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.resource-library .resource-grid-one { grid-template-columns:minmax(0,1fr); }
.resource-library .resource-card { display:flex; flex-direction:column; height:100%; color:var(--ink); text-decoration:none; background:#fff; border:1px solid #e4e2dd; border-radius:20px; overflow:hidden; transition:box-shadow .2s ease, border-color .2s ease; }
.resource-library .resource-card:hover { color:var(--ink); border-color:#c3c0b9; box-shadow:0 12px 30px #1111110c; }
.resource-library .resource-card-media { aspect-ratio:16/9; overflow:hidden; background:#f4f1eb; }
.resource-library .resource-card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.resource-library .resource-card-media.is-diagram img { object-fit:contain; padding:12px; }
.resource-library .resource-card-body { display:flex; flex-direction:column; flex:1; padding:25px; }
.resource-library .resource-category { color:#9a3828; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin-bottom:12px; }
.resource-library .resource-card h3 { font-size:1.32rem; line-height:1.35; margin:0 0 12px; text-wrap:pretty; }
.resource-library .resource-card p { font-size:.92rem; line-height:1.7; color:var(--text-light); margin:0 0 22px; }
.resource-library .resource-read { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:17px; border-top:1px solid var(--border-light); font-size:.87rem; font-weight:600; }
.resource-library .resource-read i { font-size:1.1rem; }
.resource-library .resource-featured { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.resource-library .resource-featured .resource-card-media { aspect-ratio:auto; min-height:300px; }
.resource-library .resource-featured .resource-card-body { padding:36px; justify-content:center; }
.resource-library .resource-featured h3 { font-size:clamp(1.5rem,2.5vw,2rem); }
.resource-library .resource-featured .resource-read { margin-top:16px; }
.resource-library .resource-guidance { padding:48px 0; background:#faf9f6; border-block:1px solid var(--border-light); }
.resource-library .resource-guidance h2 { font-size:1.8rem; margin-bottom:26px; }
.resource-library .resource-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.resource-library .resource-note-number { display:block; color:#9a3828; font-size:.8rem; font-weight:700; margin-bottom:12px; }
.resource-library .resource-note h3 { font-size:1.24rem; line-height:1.4; margin-bottom:12px; }
.resource-library .resource-note p { color:var(--text-light); font-size:.94rem; margin:0; }
.resource-library a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:991px) {
    .resource-library .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .resource-library .resource-grid-one { grid-template-columns:minmax(0,1fr); }
    .resource-library .resource-featured .resource-card-body { padding:26px; }
}
@media(max-width:575px) {
    .resource-library .resource-hero { padding:100px 0 30px; }
    .resource-library .resource-breadcrumb { margin-bottom:22px; }
    .resource-library .resource-hero p { font-size:1rem; }
    .resource-library .resource-tabs { gap:8px; }
    .resource-library .resource-tabs a { padding:10px 13px; font-size:.8rem; }
    .resource-library .resource-catalogue { padding:30px 0 42px; }
    .resource-library .resource-grid,.resource-library .resource-notes,.resource-library .resource-featured { grid-template-columns:minmax(0,1fr); }
    .resource-library .resource-featured .resource-card-media { min-height:0; aspect-ratio:16/9; }
    .resource-library .resource-group-heading { align-items:center; gap:10px; }
    .resource-library .resource-group-heading h2 { font-size:1.45rem; }
    .resource-library .resource-card-body { padding:22px; }
    .resource-library .resource-guidance { padding:36px 0; }
}
@media(prefers-reduced-motion:reduce) { .resource-library .resource-card { transition:none; } }
