.esm-resources { background:#fff; }
.esm-resources-hero { position:relative; overflow:hidden; padding:104px 0 92px; background:linear-gradient(135deg,#f7f4ec 0%,#f7f4ec 52%,#eaf1e7 100%); }
.esm-resources-hero::after { content:""; position:absolute; right:-130px; bottom:-270px; width:560px; height:560px; border:1px solid rgba(10,56,89,.1); border-radius:50%; box-shadow:0 0 0 76px rgba(115,149,107,.06),0 0 0 150px rgba(40,93,145,.035); }
.esm-resources-hero .esm-home-shell { position:relative; z-index:1; }
.esm-resources-hero h1 { max-width:930px; }
.esm-resources-byline { margin:26px 0 0; color:#657766; font-size:.8rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.esm-resources-library { padding:90px 0 98px; background:#f7f9f6; }
.esm-resources-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,340px); gap:46px; align-items:start; }
.esm-resources-main__heading { margin-bottom:30px; }
.esm-resources-main__heading h2 { max-width:720px; margin-bottom:0; }
.esm-resource-featured { overflow:hidden; border:1px solid var(--home-line); border-radius:20px; background:#fff; box-shadow:0 18px 48px rgba(10,56,89,.08); }
.esm-resource-featured--with-image { display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); }
.esm-resource-featured .esm-resource-card__media { min-height:370px; height:100%; }
.esm-resource-featured .esm-resource-card__image { height:100%; min-height:370px; }
.esm-resource-featured__body { padding:34px 36px 38px; }
.esm-resource-featured h3 { margin:0 0 15px; font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.12; }
.esm-resource-featured h3 a { color:var(--home-navy); }
.esm-resource-featured h3 a:hover { color:var(--home-blue); }
.esm-resource-featured__body > p { max-width:720px; margin:0 0 24px; color:var(--home-muted); font-size:1rem; line-height:1.7; }
.esm-resources-recent-heading { margin:55px 0 24px; }
.esm-resources-recent-heading h2 { margin-bottom:0; font-size:clamp(1.7rem,3vw,2.25rem); }
.esm-resources-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.esm-resource-card { overflow:hidden; border:1px solid var(--home-line); border-radius:17px; background:#fff; box-shadow:0 14px 38px rgba(10,56,89,.065); }
.esm-resource-card__media { min-height:205px; display:block; overflow:hidden; background:linear-gradient(135deg,var(--home-navy),var(--home-blue)); }
.esm-resource-card__image { width:100%; height:205px; display:block; object-fit:cover; transition:transform .25s ease; }
.esm-resource-card:hover .esm-resource-card__image { transform:scale(1.025); }
.esm-resource-card__placeholder { height:205px; display:grid; place-items:center; color:rgba(255,255,255,.72); }
.esm-resource-card__placeholder svg { width:72px; height:72px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.esm-resource-card__body { padding:24px; }
.esm-resource-card__meta { display:flex; justify-content:space-between; gap:14px; margin-bottom:14px; color:var(--home-muted); font-size:.7rem; font-weight:800; }
.esm-resource-card__meta span { color:#486f48; letter-spacing:.05em; text-transform:uppercase; }
.esm-resource-card h3 { margin-bottom:12px; font-size:1.28rem; }
.esm-resource-card h3 a { color:var(--home-navy); }
.esm-resource-card h3 a:hover { color:var(--home-blue); }
.esm-resource-card p { margin-bottom:20px; color:var(--home-muted); font-size:.9rem; }
.esm-resource-card__link { display:inline-flex; gap:7px; align-items:center; color:var(--home-blue); font-size:.87rem; font-weight:900; }
.esm-resource-card__link:hover span { transform:translateX(3px); }
.esm-resource-card__link span { transition:transform .18s ease; }
.esm-resources-sidebar { position:sticky; top:24px; display:grid; gap:20px; }
.esm-resource-widget { padding:25px 24px; border:1px solid var(--home-line); border-radius:16px; background:#fff; box-shadow:0 12px 34px rgba(10,56,89,.055); }
.esm-resource-widget .esm-home-eyebrow { margin-bottom:7px; font-size:.69rem; }
.esm-resource-widget h3 { margin:0 0 17px; color:var(--home-navy); font-size:1.28rem; }
.esm-resource-topic-list { display:grid; }
.esm-resource-topic-list a { display:flex; justify-content:space-between; gap:14px; padding:11px 2px; border-bottom:1px solid #e1e9e5; color:var(--home-muted); font-size:.87rem; font-weight:750; line-height:1.35; }
.esm-resource-topic-list a:last-child { border-bottom:0; }
.esm-resource-topic-list a b { color:var(--home-sage); transition:transform .18s ease; }
.esm-resource-topic-list a:hover,.esm-resource-topic-list a.is-active { color:var(--home-blue); }
.esm-resource-topic-list a:hover b { transform:translateX(3px); }
.esm-resource-topic-list a.is-active { font-weight:900; }
.esm-resource-interest-list { margin:0; padding:0; list-style:none; }
.esm-resource-interest-list li { padding:0 0 16px; margin:0 0 16px; border-bottom:1px solid #e1e9e5; }
.esm-resource-interest-list li:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.esm-resource-interest-list a { display:block; margin-bottom:5px; color:var(--home-navy); font-size:.9rem; font-weight:850; line-height:1.4; }
.esm-resource-interest-list a:hover { color:var(--home-blue); }
.esm-resource-interest-list span { color:#657766; font-size:.68rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.esm-resource-widget--question { border-color:#bfd4ba; background:var(--home-sage-light); }
.esm-resource-widget--question p { margin:0 0 14px; color:var(--home-muted); font-size:.86rem; }
.esm-resource-widget--question > a { color:#3f6d40; font-size:.86rem; font-weight:900; }
.esm-resources-empty { padding:44px; border:1px dashed #aec2cc; border-radius:17px; background:#fff; text-align:center; }
.esm-resources-empty h3 { color:var(--home-navy); }
.esm-resources-empty p { max-width:720px; margin:10px auto 0; color:var(--home-muted); }
.esm-resources-pagination { margin-top:38px; }
.esm-resources-pagination .page-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:0; padding:0; list-style:none; }
.esm-resources-pagination a,.esm-resources-pagination .current { min-width:38px; height:38px; display:grid; place-items:center; padding:0 10px; border:1px solid #c9d8df; border-radius:8px; background:#fff; color:var(--home-navy); font-weight:850; }
.esm-resources-pagination .current { border-color:var(--home-navy); background:var(--home-navy); color:#fff; }
.esm-resources-cta { padding:88px 0 94px; background:var(--home-cream); text-align:center; }
.esm-resources-cta h2 { max-width:800px; margin-inline:auto; }
.esm-resources-cta > .esm-home-shell > p:not(.esm-home-eyebrow) { max-width:720px; margin:0 auto 28px; color:var(--home-muted); font-size:1.05rem; }
.esm-resources-cta .esm-home-actions { justify-content:center; }

@media (max-width:980px) {
    .esm-resources-layout { grid-template-columns:1fr; }
    .esm-resources-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .esm-resource-widget--question { grid-column:1/-1; }
}
@media (max-width:720px) {
    .esm-resources-hero { padding:68px 0 62px; }
    .esm-resources-library { padding:68px 0; }
    .esm-resources-grid,.esm-resources-sidebar { grid-template-columns:1fr; }
    .esm-resource-featured--with-image { grid-template-columns:1fr; }
    .esm-resource-featured .esm-resource-card__media { height:235px; min-height:235px; }
    .esm-resource-featured .esm-resource-card__image { height:235px; min-height:235px; }
    .esm-resource-featured__body { padding:27px 23px 30px; }
    .esm-resources-empty { padding:32px 22px; }
}
.esm-resource-article { background: #f5f8f8; }
.esm-resource-article .content-container { max-width: 1240px; }
.esm-resource-article article.single-entry { border: 1px solid #dce6e8; border-radius: 20px; box-shadow: 0 12px 36px rgba(29, 51, 65, .06); overflow: hidden; }
.esm-resource-article article.single-entry .entry-content-wrap { padding: clamp(24px, 4vw, 52px); }
.esm-resource-article .entry-header .entry-title { color: #1b2e3d; font-size: clamp(2rem, 3.2vw, 2.8rem); line-height: 1.15; letter-spacing: -.035em; }
.esm-resource-article .entry-content.single-content { color: #30495b; font-size: 1.08rem; line-height: 1.75; }
.esm-resource-article .entry-content.single-content h2,
.esm-resource-article .entry-content.single-content h3 { color: #1b2e3d; line-height: 1.25; }
.esm-resource-article .entry-content.single-content h2 { margin-top: 2.2em; }
.esm-resource-article .entry-content.single-content a { color: #075f65; text-underline-offset: 3px; }
.esm-resource-article .entry-content.single-content a:hover { color: #dd744d; }
.esm-resource-article .entry-content.single-content figure.wp-block-image img { border-radius: 14px; }
.esm-resource-article .primary-sidebar { align-self: start; }
.esm-resource-article .ezsm-resource-aside { background: #fff; border: 1px solid #dce6e8; border-radius: 18px; padding: 24px; box-shadow: 0 12px 36px rgba(29, 51, 65, .05); color: #30495b; }
.esm-resource-article .ezsm-resource-aside__eyebrow { margin: 0 0 6px; color: #0d6b6a; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.esm-resource-article .ezsm-resource-aside h2 { margin: 0 0 18px; color: #1b2e3d; font-size: 1.4rem; line-height: 1.2; }
.esm-resource-article .ezsm-resource-aside nav a { display: flex; justify-content: space-between; gap: 8px; padding: 11px 0; border-bottom: 1px solid #e7eef0; color: #284457; font-weight: 650; line-height: 1.35; text-decoration: none; }
.esm-resource-article .ezsm-resource-aside nav a:hover { color: #08746f; }
.esm-resource-article .ezsm-resource-aside nav a span { color: #dd744d; }
.esm-resource-article .ezsm-resource-aside__cta { margin-top: 24px; padding: 20px; border-radius: 14px; background: #e9f5ed; }
.esm-resource-article .ezsm-resource-aside__cta strong { display: block; color: #174a39; font-size: 1.1rem; line-height: 1.3; }
.esm-resource-article .ezsm-resource-aside__cta p { margin: 8px 0 16px; font-size: .93rem; line-height: 1.5; }
.esm-resource-article .ezsm-resource-aside__cta a { display: inline-block; padding: 10px 16px; border-radius: 9px; background: #277a58; color: #fff; font-weight: 750; text-decoration: none; }
.esm-resource-article .ezsm-resource-aside__cta a:hover { background: #175d42; color: #fff; }
@media (max-width: 767px) { .esm-resource-article article.single-entry .entry-content-wrap { padding: 22px; } .esm-resource-article .ezsm-resource-aside { margin-top: 24px; } }
