.page-library{background:var(--bg-primary);--library-section-y: var(--space-12)}.page-library .hero.hero--centered.library-hero{position:relative;isolation:isolate;min-height:auto;justify-content:flex-start;padding:var(--hero-offset-top) var(--space-6) var(--space-6)}.library-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:url(/illustrations/compliance/hero-bg.webp);background-size:cover;background-position:50% -30%;background-repeat:no-repeat}.library-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 70%,var(--bg-primary) 100%);pointer-events:none}.library-hero .hero-content{margin:0 auto;max-width:860px;text-align:center}.page-library .library-hero h1{margin-top:var(--space-4);margin-bottom:var(--space-4)}.library-hero .hero-subtitle{max-width:560px;margin:0 auto}.library-featured{padding:0 0 var(--library-section-y)}.library-featured-card{display:grid;grid-template-columns:minmax(280px,1fr) 1.2fr;gap:var(--space-8);align-items:center;padding:var(--space-6);background:#ffffff08;border:1px solid var(--border-card);border-radius:var(--radius-3)}.library-featured-media img{display:block;width:100%;height:auto;border-radius:var(--radius-2);aspect-ratio:16 / 10;object-fit:cover}.library-featured-body h2{font-size:var(--font-size-24);font-weight:var(--font-weight-regular);line-height:var(--line-height-snug);margin:var(--space-4) 0 var(--space-3)}.library-featured-body p{font-size:var(--text-body-size);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-6)}.library-grid-section{padding-bottom:var(--space-section-y)}.library-grid-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}.library-grid-header h2{font-size:var(--font-size-20);font-weight:var(--font-weight-regular)}.library-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.library-filters-label{font-family:var(--font-mono);font-size:var(--font-size-12);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-tertiary);margin-right:var(--space-2)}.library-filter{appearance:none;border:1px solid var(--border-card);background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-12);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;transition:color var(--duration-160) var(--ease-out),border-color var(--duration-160) var(--ease-out),background var(--duration-160) var(--ease-out)}.library-filter:hover{color:var(--text-primary);border-color:#ffffff29}.library-filter.is-active{color:var(--text-primary);border-color:color-mix(in srgb,var(--color-purple-400) 35%,transparent);background:color-mix(in srgb,var(--color-purple-400) 10%,transparent)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.library-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:#ffffff05;border:1px solid var(--border-card);border-radius:var(--radius-2);text-decoration:none;color:inherit;transition:border-color var(--duration-160) var(--ease-out),transform var(--duration-160) var(--ease-out),background var(--duration-160) var(--ease-out)}.library-card:hover{border-color:#ffffff29;transform:translateY(-2px);background:#ffffff0a}.library-card.is-hidden{display:none}.library-card-media{overflow:hidden;border-radius:var(--radius-1);aspect-ratio:16 / 10}.library-card-media img{display:block;width:100%;height:100%;object-fit:cover}.library-card-body h3{font-size:var(--font-size-16);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);margin:var(--space-3) 0 var(--space-2)}.library-card-body p{font-size:var(--font-size-14);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.badge--report{border-color:color-mix(in srgb,var(--color-blue-400) 25%,transparent);background:color-mix(in srgb,var(--color-blue-400) 10%,transparent);color:var(--color-blue-300)}.badge--webinar{border-color:color-mix(in srgb,var(--color-yellow-500) 25%,transparent);background:color-mix(in srgb,var(--color-yellow-500) 10%,transparent);color:var(--color-yellow-400)}@media(max-width:991px){.library-featured-card{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.library-grid{grid-template-columns:1fr}.library-grid-header{flex-direction:column;align-items:flex-start}}
