.resources-hero {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:center;
    gap:60px;
    padding-block:72px 64px;
}
.resources-hero h1 {
    font-size:clamp(38px,4.8vw,64px);
    line-height:1.08;
    max-width:700px;
    letter-spacing:-1.7px;
    margin:16px 0 22px;
}
.resources-lead {
    max-width:580px;
    color:#4c5770;
    margin-bottom:28px;
    font-size:19px;
    line-height:1.7;
}
.resources-hero .button {
    display:inline-flex;
    align-items:center;
    gap:18px;
}
.resources-hero .button::after, .resource-search .button::after {
    content:none;
}
.resources-art {
    position:relative;
    min-height:300px;
    background:radial-gradient(ellipse at 70% 20%,#e7dcff,transparent 60%),linear-gradient(135deg,#f0f5ff,#e2edfc);
    border:1px solid #d7e3f7;
    border-radius:32px;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}
.resource-paper {
    width:137px;
    height:182px;
    background:#fff;
    border:1px solid #b6cae8;
    border-radius:14px;
    padding:22px;
    box-shadow:0 20px 40px #16396914;
    display:flex;
    flex-direction:column;
    color:#0c4da2;
}
.paper-back {
    position:absolute;
    transform:rotate(13deg) translateX(35px);
    color:#514286;
    background:#f5efff;
}
.paper-front {
    z-index:1;
    transform:rotate(-9deg) translateX(-26px);
}
.paper-front>svg {
    width:36px;
    height:36px;
    margin-bottom:12px;
}
.resource-paper>span {
    font-weight:700;
    font-size:18px;
}
.resource-paper i {
    height:4px;
    background:#d3e1f5;
    border-radius:5px;
    margin-top:12px;
}
.resource-paper i:last-child {
    width:55%;
}
.resource-art-label {
    position:absolute;
    right:24px;
    bottom:22px;
    border:1px solid #cad9ef;
    background:#fff;
    border-radius:99px;
    padding:8px 16px;
    font-size:14px;
    color:#173963;
    font-weight:600;
    z-index:2;
}
.resource-shortcuts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    padding-bottom:64px;
}
.resource-shortcut {
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:24px;
    border:1px solid #d8e0ed;
    border-radius:20px;
    text-decoration:none;
    color:#17253c;
    background:#fff;
    box-shadow:0 8px 20px #0c234005;
}
.resource-shortcut:hover {
    border-color:#0c4da2;
    background:#f7faff;
}
.resource-shortcut>svg {
    width:20px;
    height:20px;
    flex-shrink:0;
    margin-left:auto;
    color:#0c4da2;
    margin-top:4px;
}
.resource-shortcut-icon {
    color:#0c4da2;
    background:#eef4fd;
    border-radius:12px;
    display:flex;
    padding:10px;
    flex-shrink:0;
}
.resource-shortcut strong {
    display:block;
    font-size:17px;
    line-height:1.55;
    margin:5px 0 8px;
}
.resource-shortcut small {
    font-size:13px;
    color:#526078;
}
.resource-kicker {
    font-size:13px;
    font-weight:600;
    color:#4b5b73;
    display:block;
    line-height:1.5;
}
.resource-library {
    padding-bottom:76px;
    scroll-margin-top:28px;
}
.resource-library-heading {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}
.resource-library-heading h2 {
    font-size:36px;
    margin:0 0 12px;
}
.resource-total {
    font-family:Inter,Arial,sans-serif;
    font-size:46px;
    font-weight:600;
    color:#bbc8df;
}
.resource-archive-notice {
    font-size:15px;
    color:#45566b;
    line-height:1.65;
    background:#f2f5fa;
    border-left:3px solid #6b82aa;
    padding:16px 20px;
    margin:14px 0 30px;
    border-radius:0 12px 12px 0;
    max-width:none;
}
.resource-search label {
    font-size:16px;
    font-weight:600;
    display:block;
    margin-bottom:10px;
}
.resource-search-row {
    display:flex;
    align-items:stretch;
    gap:12px;
}
.resource-input-wrap {
    position:relative;
    flex:1;
    min-width:0;
}
.resource-input-wrap>svg {
    position:absolute;
    left:18px;
    top:17px;
    color:#516784;
    pointer-events:none;
}
.resource-input-wrap input {
    box-sizing:border-box;
    width:100%;
    padding:15px 18px 15px 54px;
    border:1px solid #7f93af;
    border-radius:12px;
    background:#fff;
    color:#1a273c;
    font:inherit;
    font-size:17px;
    min-height:58px;
}
.resource-input-wrap input::placeholder {
    color:#57647a;
}
.resource-search .button {
    min-width:145px;
    border:0;
    cursor:pointer;
    font:inherit;
    font-weight:600;
}
.resource-formats {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:20px 0 24px;
}
.resource-formats a {
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    border:1px solid #b5c4d9;
    border-radius:99px;
    padding:8px 18px;
    color:#293b55;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    background:#fff;
}
.resource-formats a[aria-current] {
    background:#eaf1fc;
    color:#0c438e;
    border-color:#0c4da2;
}
.resource-formats span {
    font-size:13px;
    color:inherit;
    opacity:.9;
}
.resource-result-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:14px;
    border-bottom:1px solid #d8e0ed;
}
.resource-result-bar p {
    margin:0;
    font-size:15px;
    color:#42536c;
}
.resource-result-bar a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:14px;
    font-weight:600;
    text-underline-offset:4px;
    color:#0c4da2;
}
.resource-document-list {
    list-style:none;
    padding:0;
    margin:0;
}
.resource-document {
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    gap:22px;
    align-items:center;
    padding:25px 4px;
    border-bottom:1px solid #d8e0ed;
}
.resource-document h3 {
    font-size:17px;
    font-weight:600;
    line-height:1.6;
    margin:4px 0 0;
    overflow-wrap:anywhere;
}
.resource-document h3 a {
    color:#202f46;
    text-decoration:none;
}
.resource-document h3 a:hover {
    text-decoration:underline;
    text-underline-offset:4px;
}
.resource-file-icon {
    width:52px;
    min-height:64px;
    border-radius:10px;
    background:#edf3fc;
    color:#0c4da2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
}
.resource-file-icon small {
    font-size:10px;
    font-weight:700;
    line-height:1.2;
}
.resource-open {
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    color:#0c4da2;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    padding:8px 12px;
    border-radius:99px;
    border:1px solid #b5c6df;
    white-space:nowrap;
}
.resource-open:hover {
    background:#edf3fc;
}
.resource-library-note {
    font-size:16px;
    line-height:1.7;
    color:#42536c;
    margin-top:28px;
}
.resource-library-note a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    color:#0c4da2;
    font-weight:600;
}
.resource-empty {
    padding:44px 20px;
    text-align:center;
    background:#f6f8fc;
    border-radius:18px;
    margin-top:20px;
    color:#42536c;
}
.resource-empty>svg {
    width:32px;
    height:32px;
}
.resource-empty h3 {
    color:#17253c;
    font-size:23px;
    margin:12px 0 6px;
}
.resource-empty p {
    margin:0;
    max-width:none;
    font-size:16px;
}
.resource-filter-error {
    border:1px solid #b34242;
    color:#802222;
    background:#fff4f4;
    border-radius:12px;
    padding:16px;
}
.resource-library a:focus-visible,.resource-library button:focus-visible,.resource-library input:focus-visible,.resource-shortcuts a:focus-visible {
    outline:3px solid #0c4da2;
    outline-offset:4px;
}
@media(max-width:980px) {
    .resources-hero {
        gap:30px;
    }
    .resource-shortcuts {
        grid-template-columns:1fr;
    }
    .resource-shortcut {
        align-items:center;
    }
    .resource-shortcut strong {
        margin:3px 0;
    }
    .resources-art {
        min-height:270px;
    }
}
@media(max-width:640px) {
    .resources-hero {
        grid-template-columns:1fr;
        gap:28px;
        padding-block:36px 30px;
    }
    .resources-hero h1 {
        font-size:38px;
        letter-spacing:-1px;
        margin:12px 0 18px;
    }
    .resources-lead {
        font-size:17px;
        line-height:1.65;
        margin-bottom:22px;
    }
    .resources-art {
        min-height:220px;
    }
    .resource-paper {
        width:112px;
        height:150px;
        padding:18px;
    }
    .paper-front>svg {
        width:28px;
        height:28px;
        margin-bottom:6px;
    }
    .resource-art-label {
        font-size:12px;
        right:16px;
        bottom:14px;
    }
    .resource-shortcuts {
        padding-bottom:40px;
        gap:12px;
    }
    .resource-shortcut {
        padding:18px;
        gap:12px;
    }
    .resource-shortcut strong {
        font-size:16px;
    }
    .resource-shortcut-icon {
        padding:8px;
    }
    .resource-library-heading h2 {
        font-size:30px;
    }
    .resource-total {
        font-size:38px;
    }
    .resource-archive-notice {
        font-size:14px;
        padding:14px 16px;
    }
    .resource-search-row {
        flex-direction:column;
    }
    .resource-search .button {
        min-height:48px;
    }
    .resource-formats {
        gap:8px;
    }
    .resource-formats a {
        padding:8px 14px;
        gap:8px;
        font-size:14px;
    }
    .resource-result-bar {
        align-items:flex-start;
    }
    .resource-result-bar p {
        font-size:14px;
        padding-top:10px;
    }
    .resource-result-bar a {
        font-size:13px;
    }
    .resource-document {
        grid-template-columns:42px minmax(0,1fr);
        gap:14px;
        padding:22px 0;
    }
    .resource-file-icon {
        width:42px;
        min-height:58px;
        align-self:start;
    }
    .resource-document h3 {
        font-size:16px;
    }
    .resource-open {
        grid-column:2;
        justify-self:end;
        font-size:13px;
        margin-top:0;
    }
    .resource-open svg {
        width:20px;
        height:20px;
    }
    .resource-library {
        padding-bottom:48px;
    }
}
