.resource-hero-art { width:100%;height:365px;object-fit:contain;transform:scale(1.2); }
.resource-library { scroll-margin-top:25px; }
.resource-library-header { display:flex;align-items:center;justify-content:space-between;gap:30px; }
.resource-library h2,.resource-help h2 { font-family:Fredoka,Jakarta,sans-serif;color:#080808;font-size:42px;font-weight:500;line-height:1.15;letter-spacing:-.025em; }
.resource-search { position:relative;width:360px;flex-shrink:0; }
.resource-search>svg { position:absolute;left:17px;top:15px;color:#687887;pointer-events:none; }
.resource-search>button { display:grid;place-items:center;position:absolute;left:5px;top:5px;width:40px;height:40px;padding:10px;border:0;border-radius:100px;background:transparent;color:#687887; }
.resource-search>button:hover { background:#e8f6ff; }
.resource-search input { width:100%;height:50px;border:1px solid #d8e0e7;border-radius:100px;padding:12px 18px 12px 47px;background:#fff;font-size:14px; }
.resource-search input:focus-visible { outline:3px solid #2367ac;outline-offset:3px; }
.resource-filters { display:flex;gap:12px;flex-wrap:wrap;margin-top:22px; }
.resource-filters button { border:1px solid #d8e0e7;border-radius:100px;background:#fff;min-height:42px;padding:8px 23px;font-size:14px;font-weight:500;transition:background .2s; }
.resource-filters button[aria-pressed="true"] { background:#cdeeff;border-color:#cdeeff;color:#152630; }
.resource-filters button:hover { background:#e8f6ff; }
.resource-results { font-size:12px;margin:14px 0 17px; }
.resource-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.resource-card { border:1px solid #dfe5ec;background:#fff;border-radius:24px;padding:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s; }
.resource-card:hover { box-shadow:0 6px 24px #283e5910; }
.resource-cover { display:block;overflow:hidden;border-radius:16px; }
.resource-cover img { width:100%;height:180px;object-fit:cover;object-position:center; }
.resource-card-content { padding:18px 8px 10px;display:flex;flex-direction:column;flex:1; }
.resource-card-content>span { font-size:11px;color:#657382;font-weight:600; }
.resource-card h3 { font-family:Fredoka,Jakarta,sans-serif;color:#111;font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.025em;margin-top:8px; }
.resource-card h3 a:hover { text-decoration:underline;text-underline-offset:4px; }
.resource-card p { font-size:14px;line-height:1.65;margin-top:10px; }
.resource-read { display:inline-flex;align-items:center;align-self:flex-start;gap:10px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px;margin-top:auto;padding-top:20px; }
.resource-empty { text-align:center;padding:55px 20px;border:1px dashed #d6e0e8;border-radius:24px; }
.resource-empty h3 { font-family:Fredoka,Jakarta,sans-serif;font-size:32px;font-weight:500; }
.resource-empty p { margin:16px 0 24px; }
.resource-help { position:relative;isolation:isolate;display:flex;align-items:center;min-height:220px;overflow:hidden;padding:32px 38px;background:#d4efff;border-radius:26px;margin-top:36px; }
.resource-help>div { position:relative;z-index:1;max-width:calc(100% - 240px); }
.resource-help h2 { font-size:36px; }
.resource-help p { margin-top:12px;font-size:15px; }
.resource-help .button { margin-top:22px; }
.resource-help>img { position:absolute;right:40px;bottom:-50px;width:180px;height:250px;object-fit:contain; }
@media(max-width:1050px) { .resource-library h2 { font-size:36px; }.resource-search { width:290px; } }
@media(max-width:900px) { .resource-hero-art { height:280px;max-width:430px;margin:auto; }.resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.resource-library-header { align-items:flex-start;flex-direction:column;gap:20px; }.resource-search { width:100%; }.resource-help h2 { font-size:32px; } }
@media(max-width:600px) { .resource-hero-art { height:245px;transform:none; }.resource-grid { grid-template-columns:1fr; }.resource-cover img { height:210px; }.resource-library h2 { font-size:32px; }.resource-filters { gap:8px; }.resource-filters button { padding-inline:20px; }.resource-help { padding:28px;min-height:260px; }.resource-help>div { max-width:100%; }.resource-help>img { display:none; }.resource-help h2 { font-size:30px; } }
