.library-hero{padding:clamp(105px,12vw,165px) 0 68px;background:linear-gradient(180deg,var(--paper),var(--paper-2));border-bottom:1px solid var(--line)}
.library-hero__inner{max-width:980px}.library-hero .display{max-width:15ch}.library-hero .lede{max-width:72ch;margin-top:22px}
.library-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.library-section{padding:clamp(72px,8vw,110px) 0;border-bottom:1px solid var(--line-soft)}
.library-head{max-width:780px;margin-bottom:30px}.library-head .lede{margin-top:14px}
.series-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.series-card{display:flex;flex-direction:column;min-height:290px;padding:clamp(26px,3vw,38px);background:var(--paper);text-decoration:none;color:inherit}
.series-card__meta{display:flex;justify-content:space-between;gap:14px;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.series-card h3{font-size:clamp(1.45rem,2.4vw,2rem);margin:18px 0 10px;color:var(--navy)}
.series-card p{color:var(--ink-soft);line-height:1.65}.series-card small{margin-top:auto;padding-top:24px;color:var(--gold);font-size:.78rem;font-weight:700}
.archive-controls{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(160px,.28fr)) minmax(140px,.22fr);gap:12px;padding:16px;border:1px solid var(--line);background:var(--paper-2);margin-bottom:18px}
.archive-controls label{display:grid;gap:6px;font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.archive-controls input,.archive-controls select{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
.archive-count{font-size:.82rem;color:var(--muted);margin:14px 0}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.archive-card{background:var(--paper);padding:clamp(24px,3vw,34px);min-height:300px;display:flex;flex-direction:column}
.archive-card[hidden]{display:none}.archive-card__meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}
.archive-card h3{font-size:1.35rem;margin:16px 0 8px}.archive-card h3 a{color:var(--navy)}
.archive-card__subtitle{font-weight:600;color:var(--ink);line-height:1.5}.archive-card__summary{color:var(--ink-soft);line-height:1.65;margin-top:10px}
.archive-card__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:22px}.archive-card__tags span{border:1px solid var(--line-soft);padding:5px 7px;font-size:.61rem;color:var(--muted)}
.archive-card__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:17px}.archive-card__actions a{font-size:.78rem;font-weight:700}
.archive-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:28px}
.archive-pagination button{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--navy);padding:8px 11px;cursor:pointer}
.archive-pagination button.is-active{background:var(--navy);color:#fff}.archive-pagination button:disabled{opacity:.35;cursor:default}
.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.latest-card{background:var(--paper);padding:28px;min-height:270px;display:flex;flex-direction:column}.latest-card span{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.latest-card h3{font-size:1.4rem;margin:14px 0 10px}.latest-card p{color:var(--ink-soft);line-height:1.65}.latest-card a{margin-top:auto;padding-top:20px;font-size:.8rem;font-weight:700}
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.program-card{display:block;background:var(--paper);padding:clamp(26px,3vw,38px);min-height:250px;color:inherit;text-decoration:none}
.program-card__num{font-size:.64rem;letter-spacing:.14em;color:var(--gold)}.program-card__kind{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:9px}.program-card h3{font-size:1.5rem;margin:14px 0 10px;color:var(--navy)}.program-card p{color:var(--ink-soft);line-height:1.65}.program-card small{display:block;margin-top:20px;color:var(--gold);font-weight:700}
.program-grid--series .program-card{min-height:290px}
.route-card{background:var(--paper);padding:clamp(26px,3vw,38px)}.route-card__num{font-size:.64rem;letter-spacing:.14em;color:var(--gold)}.route-card h3{font-size:1.45rem;margin:14px 0 9px}.route-card>p{color:var(--ink-soft);line-height:1.65}.route-card ol{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line-soft)}.route-card li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.route-card li a{color:var(--navy);font-weight:600}.route-card li span{font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.series-card-grid,.archive-grid,.program-grid{grid-template-columns:1fr}.latest-grid{grid-template-columns:1fr}.archive-controls{grid-template-columns:1fr}}
