.resources-hero{padding:24px 0 36px;background:var(--paper);border-bottom:1px solid var(--line)}
.resources-hero h1{max-width:850px;font-size:clamp(32px,4.5vw,52px);margin:14px 0 18px}
.resources-hero .hero-description{font-size:16px;max-width:720px}
.resource-counts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.resource-counts a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:500;text-decoration:none;color:var(--muted)}
.resource-counts strong{color:var(--blue);font-weight:700}
.resource-counts a:hover{border-color:var(--blue);color:var(--blue)}
.resource-main{padding-block:38px 64px}
.how-to{padding:24px;background:var(--pale-blue);border:1px solid #d4e4ef;border-radius:14px;margin-bottom:48px}
.how-to h2{font-size:18px;margin-bottom:20px}
.how-to ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.how-to li{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:var(--navy)}
.how-to li>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--blue);font-size:11px;font-weight:700}
.resource-section{margin-bottom:54px;scroll-margin-top:115px}
.resource-section .section-heading{margin-bottom:16px}
.resource-section .section-description{max-width:820px;margin-bottom:24px}
.resource-section h2{font-size:clamp(22px,2.7vw,28px)}
.resource-section .eyebrow{font-size:10px}
.library-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;background:var(--navy);border-radius:14px;color:#fff;margin-bottom:20px}
.library-banner h3{font-size:19px;color:#fff;margin-bottom:8px}
.library-banner p{font-size:13px;color:#d3deea;line-height:1.8;max-width:650px}
.library-banner .button{flex-shrink:0;font-size:13px;background:white;color:var(--navy)}
.featured-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.book-card{display:flex;flex-direction:column;padding:23px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:white;min-height:190px}
.book-card:hover{border-color:var(--blue);background:#f9fbfd}
.file-badge{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:1px}
.file-badge .icon{width:18px;height:18px}
.book-card h3{font-size:16px;line-height:1.6;margin:16px 0 18px;overflow-wrap:anywhere}
.card-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--blue);margin-top:auto}
.card-link .icon{width:16px;height:16px}
.library-directory{border:1px solid var(--line);border-radius:13px;overflow:hidden}
.library-directory summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 23px;cursor:pointer;color:var(--navy);font-size:14px;font-weight:600;list-style:none;background:var(--paper)}
.library-directory summary::-webkit-details-marker{display:none}
.library-directory summary .icon{transform:rotate(90deg)}
.library-directory[open] summary .icon{transform:rotate(-90deg)}
.directory-content{padding:22px}
.library-search{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:8px}
#book-search{display:block;width:100%;min-height:48px;padding:11px 14px;border:1px solid #64748b;background:#fff;border-radius:8px;font-size:16px;color:var(--ink)}
.library-search-wrap{width:100%;margin-bottom:18px}
.library-search-wrap>div{width:100%}
.library-result{font-size:12px;color:var(--muted);margin-top:9px}
.book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0;margin:0;list-style:none}
.book-list li{min-width:0;border-bottom:1px solid var(--line)}
.book-list a{display:flex;align-items:center;gap:12px;min-height:68px;padding:13px 0;text-decoration:none;font-size:13px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.book-list a:hover{color:var(--blue);text-decoration:underline}
.book-list .file-type{flex-shrink:0;font-size:9px;letter-spacing:.5px;color:var(--blue);background:var(--pale-blue);padding:4px 6px;border-radius:4px}
.book-list .icon{margin-left:auto;flex-shrink:0;width:15px;height:15px;color:var(--blue)}
.empty-library{padding:20px 0;color:var(--muted);font-size:14px}
.worksheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.worksheet-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:white;display:flex;flex-direction:column}
.worksheet-cover{display:block;background:#edf0f3;padding:14px;position:relative}
.worksheet-cover img{display:block;width:100%;height:auto;aspect-ratio:1.54;object-fit:contain}
.worksheet-cover:hover{background:#e4ebf1}
.worksheet-body{padding:23px;display:flex;flex-direction:column;flex:1}
.worksheet-body h3{font-size:17px;margin-bottom:10px}
.worksheet-body p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:18px}
.worksheet-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:auto}
.worksheet-actions .button{font-size:12px;min-height:44px;padding:10px 14px}
.worksheet-actions .card-link{min-height:44px;margin-top:0}
.authorship-note{font-size:12px;line-height:1.9;color:var(--muted);padding:18px 21px;border-left:3px solid var(--blue);background:var(--paper);margin-top:24px;border-radius:0 9px 9px 0}
.resource-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.resource-video-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.resource-video-cover{position:relative;display:block;aspect-ratio:16/9;background:var(--navy);overflow:hidden}
.resource-video-cover img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86}
.resource-video-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#00003f50,transparent 70%)}
.resource-play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid #ffffffaa;border-radius:50%;background:#00003fba;color:white;display:flex;justify-content:center;align-items:center}
.resource-play .icon{width:20px;height:20px;fill:currentColor}
.resource-video-cover:hover .resource-play{background:var(--blue)}
.resource-video-body{display:flex;flex-direction:column;padding:20px;flex:1}
.resource-video-number{font-size:10px;letter-spacing:1px;font-weight:600;color:var(--blue);margin-bottom:10px}
.resource-video-body h3{font-size:14px;line-height:1.7;margin-bottom:12px}
.resource-video-author{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.resource-video-body .card-link{padding-top:8px}
.resources-closing{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pale-blue);padding:28px;border-radius:14px;border:1px solid #d4e4ef}
.resources-closing h2{font-size:21px;margin-bottom:10px}
.resources-closing p{color:var(--muted);font-size:14px;line-height:1.8;max-width:700px}
.resources-closing .button{flex-shrink:0;font-size:13px}
.resource-dialog{width:min(1040px,calc(100% - 32px));max-height:92vh;margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);overflow:auto}
.resource-dialog::backdrop{background:#000022c9}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}
.dialog-heading h2{font-size:17px;line-height:1.6}
.dialog-close{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:8px;color:var(--navy);font-size:26px;line-height:1}
.dialog-content{background:var(--paper)}
.dialog-content img{display:block;width:100%;max-height:70vh;object-fit:contain;padding:16px}
.dialog-content iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--navy)}
.dialog-footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line)}
.dialog-footer .button{font-size:13px}
@media(max-width:1023px){
 .featured-books{gap:12px}.book-card{padding:18px}
 .resource-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .how-to ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .resources-hero{padding:20px 0 28px}.resources-hero .hero-description{font-size:15px}
 .resource-main{padding-block:28px 40px}.resource-section{margin-bottom:38px;scroll-margin-top:100px}
 .how-to{padding:20px;margin-bottom:34px}.how-to ol{gap:16px}.how-to li{font-size:12px;gap:9px}
 .library-banner{flex-direction:column;align-items:flex-start;padding:22px;gap:18px}
 .featured-books{grid-template-columns:1fr}.book-card{min-height:0;padding:20px}
 .book-card h3{margin-block:12px}.book-list{grid-template-columns:1fr}
 .directory-content{padding:18px}.library-directory summary{padding:18px;font-size:13px}
 .worksheet-grid{grid-template-columns:1fr;gap:20px}.worksheet-body{padding:20px}
 .resource-video-grid{gap:16px}.resource-video-body{padding:16px}.resource-video-body h3{font-size:13px}
 .resources-closing{flex-direction:column;align-items:flex-start;padding:22px;gap:18px}
 .dialog-heading{padding:14px}.dialog-heading h2{font-size:14px}
 .dialog-content img{padding:6px}.dialog-footer{padding:12px}
}
@media(max-width:479px){
 .resource-video-grid{grid-template-columns:1fr}.how-to ol{grid-template-columns:1fr}
 .resource-counts{gap:8px}.resource-counts a{font-size:11px;padding:8px 10px}
}
@media print{.resource-dialog,.resource-video-cover,.resource-counts,.library-search-wrap{display:none!important}.worksheet-grid,.featured-books{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-section{break-inside:auto}.worksheet-card,.resource-video-card{break-inside:avoid}}
