/* Compact product document icons; certification styling stays in style.css. */
.downloads-section .download-documents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;max-width:1240px}
.downloads-section .download-document{display:flex;flex-direction:column;align-items:center;min-width:0;padding:8px 0;background:transparent;border:0}
.downloads-section .download-preview-open{display:flex;align-items:center;justify-content:center;width:104px;height:88px;min-height:0;margin:0 0 12px;padding:4px;border:0;border-radius:3px;background:transparent;color:var(--teal);cursor:zoom-in}
.downloads-section .download-preview-open img{display:block;width:auto;height:auto;max-width:96px;max-height:80px;object-fit:contain;box-shadow:0 2px 7px #102c3d20;transition:transform .2s ease}
.downloads-section .download-preview-open:hover{background:#f4f7f9}
.downloads-section .download-preview-open:hover img{transform:translateY(-2px)}
.downloads-section .download-preview-open:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.downloads-section .download-document-info{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;width:100%;padding:0;text-align:center}
.downloads-section .download-document h3{min-height:44px;max-width:220px;margin:0;font-size:16px;line-height:1.35;font-weight:500;letter-spacing:0;color:var(--navy)}
.downloads-section .download-document-footer{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:auto}
.downloads-section .download-document-meta{font-size:14px;line-height:1.5;color:var(--muted);white-space:nowrap}
.downloads-section .download-document-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;line-height:1.3;color:#087fa6;white-space:nowrap}
.downloads-section .download-document-link svg{width:17px;height:17px;flex-shrink:0}
.downloads-section .download-document-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.downloads-section .download-documents{gap:18px}}
@media(max-width:480px){.downloads-section .download-documents{grid-template-columns:1fr;gap:24px;max-width:220px}.downloads-section .download-document h3{min-height:0}}
@media(prefers-reduced-motion:reduce){.downloads-section .download-preview-open img{transition:none}}

/* YouTube resources use the same compact dimensions as the PDF cards. */
.downloads-section .download-preview-open.download-video-open{cursor:pointer}
.download-youtube-icon{display:block;width:72px;height:52px;transition:transform .2s ease}
.download-video-open:hover .download-youtube-icon{transform:translateY(-2px)}
.downloads-section .download-video-card h3 a:hover{color:#087fa6;text-decoration:underline;text-underline-offset:3px}
.download-video-dialog{width:min(960px,92vw);max-height:92vh;max-height:92dvh;padding:24px;border:0;border-radius:8px;background:#fff;color:var(--ink);overflow:auto;overscroll-behavior:contain}
.download-video-dialog::backdrop{background:rgba(10,20,30,.8)}
.download-video-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.download-video-heading h2{margin:0;font-size:1.5rem;line-height:1.3;letter-spacing:-.4px}
.download-video-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:0;border-radius:4px;background:transparent;color:var(--navy);cursor:pointer}
.download-video-close svg{width:24px;height:24px}
.download-video-close:hover{background:var(--pale)}
.download-video-player{aspect-ratio:16/9;background:#000}
.download-video-player iframe{display:block;width:100%;height:100%;border:0}
.download-video-external{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-top:14px;color:#087fa6;font-size:1rem;font-weight:600}
.download-video-external:hover{text-decoration:underline;text-underline-offset:4px}
html:has(.download-video-dialog[open]){overflow:hidden}
@media(max-width:1050px){.downloads-section .download-documents{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:100%}}
@media(max-width:600px){.download-video-dialog{padding:16px}.download-video-heading{gap:12px}.download-video-heading h2{font-size:1.25rem}}
@media(max-width:700px){.downloads-section .download-documents{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;max-width:100%}}
@media(max-width:480px){.downloads-section .download-documents{grid-template-columns:1fr;max-width:100%}}
@media(prefers-reduced-motion:reduce){.download-youtube-icon{transition:none}}

.downloads-section .download-preview-open[data-locked-document]{position:relative;cursor:pointer}
.download-lock-badge{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:#16384a;color:#fff;box-shadow:0 2px 5px #102c3d25}
.download-lock-badge svg{width:15px;height:15px}
.downloads-section button.download-document-link{padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer}
.downloads-section button.download-document-link:focus-visible{outline:2px solid #087fa6;outline-offset:3px}
.certificate-dialog.password-dialog{width:min(460px,92vw);padding:48px 28px 28px}
.password-dialog h2{margin-bottom:12px;font-size:24px;line-height:1.3}
.password-document-title{margin:0 0 24px;color:#536671;font-size:16px;line-height:1.5}
.pdf-password-form{display:flex;flex-direction:column;gap:10px}
.pdf-password-form label{font-size:16px;font-weight:600}
.pdf-password-form input{width:100%;box-sizing:border-box;min-height:48px;padding:10px 12px;border:1px solid #b7cbd5;border-radius:5px;background:#fff;color:#16384a;font:inherit;font-size:16px}
.pdf-password-form input:focus{outline:2px solid #0781ae;outline-offset:2px}
.pdf-password-form input[aria-invalid=true]{border-color:#a62c29}
.pdf-password-error{min-height:21px;margin:0;color:#a62c29;font-size:14px;line-height:1.5}
.pdf-password-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:6px}
.pdf-password-actions button{position:static;width:auto;height:auto;min-height:44px;padding:10px 18px;border:1px solid #c8d7de;border-radius:5px;background:#fff;color:#16384a;font:inherit;font-size:16px;cursor:pointer}
.pdf-password-actions button[type=submit]{border-color:#0781ae;background:#0781ae;color:#fff}
.pdf-password-actions button:focus-visible{outline:2px solid #0781ae;outline-offset:3px}
.pdf-password-actions button:disabled{opacity:.6;cursor:wait}

/* The home page mirrors the gallery; the dedicated page shows every resource. */
.downloads-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;margin-bottom:28px}
.downloads-heading-row h2{margin:0}
.downloads-heading-row h2 a:hover{color:#087fa6}
.downloads-heading-actions{display:flex;align-items:center;gap:24px;margin-left:auto}
.downloads-view-all,.downloads-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;font-weight:600;color:#087fa6}
.downloads-view-all:hover,.downloads-back:hover{text-decoration:underline;text-underline-offset:4px}
.downloads-heading-row .gallery-controls{margin:0}
.downloads-section .download-carousel{display:flex;flex-wrap:nowrap;align-items:stretch;gap:24px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#087fa6 #edf1f3;padding:6px 6px 16px}
.downloads-section .download-carousel>.download-document{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}
.download-carousel:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.downloads-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.downloads-page main{flex:1}
.downloads-page .downloads-back{margin-bottom:22px}
.downloads-page .downloads-page-heading{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.16;letter-spacing:-1.4px;margin:0 0 36px}
.downloads-page .download-documents{row-gap:40px}
.downloads-page nav a[aria-current=page]{color:#087fa6}
@media(max-width:1050px){.downloads-section .download-carousel>.download-document{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:760px){.downloads-section .download-carousel>.download-document{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:480px){.downloads-section .download-carousel{gap:16px}.downloads-section .download-carousel>.download-document{flex-basis:86%}.downloads-heading-actions{gap:18px}.downloads-page .downloads-page-heading{letter-spacing:-1px}}
