/* Existing white / ink / blue design; the four brand colours stay inside the logo. */
.site-header{position:relative;align-items:center;padding-block:16px;gap:24px}
.site-header .brand{gap:20px;min-width:0}
.brand-logo{width:180px;height:180px;object-fit:contain;flex-shrink:0}
.site-header .brand>.brand-name{font-size:14px;line-height:1.8;max-width:140px;white-space:normal}
.brand-name .brand-word{display:block}
nav{gap:20px;flex-wrap:wrap;justify-content:flex-end}
nav .nav-contact{padding-left:0;border-left:0}
.library-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.library-intro h2{font-size:var(--text-heading)}
.library-routes{display:grid;grid-template-columns:1fr 1fr;margin:32px 0 24px;column-gap:48px}
.library-routes>a{display:grid;grid-template-columns:30px 1fr 20px;gap:16px;padding:24px 0;border-top:1px solid var(--line);font-size:18px;line-height:1.8}
.route-number{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.library-hero{padding-block:40px 48px}.library-hero h1{font-size:clamp(34px,4vw,52px)}
.library-body{padding-bottom:72px}.category-choices{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);column-gap:48px}
.category-choice{display:grid;grid-template-columns:28px 1fr auto;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;padding:24px 12px;color:var(--ink);min-width:0}
.category-choice strong{display:block;font-size:18px;line-height:1.8;font-weight:600}.category-choice small{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.category-choice[aria-pressed=true]{background:var(--blue);color:white}.category-choice[aria-pressed=true] :is(small,.route-number){color:white}
.category-count{font-size:14px;font-variant-numeric:tabular-nums;padding-top:3px;white-space:nowrap}
.library-tools{display:flex;gap:32px;align-items:end;justify-content:space-between;margin-block:48px}
.search-field{max-width:640px;width:100%}.search-field label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.search-field input{width:100%;background:white;color:var(--ink);border:1px solid var(--muted);border-radius:0;font:inherit;padding:12px 16px;min-height:48px}
.search-field input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.all-articles{border:0;border-bottom:1px solid var(--blue);border-radius:0;background:white;padding:12px 0;font-size:14px;white-space:nowrap;color:var(--blue);min-height:48px}
.library-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.library-list-heading h2{font-size:28px;line-height:1.6}.library-list-heading p{color:var(--muted);white-space:nowrap;font-size:14px}
.article-entry{display:grid;grid-template-columns:160px 1fr;gap:48px;padding:32px 0;border-top:1px solid var(--line)}
.article-entry time,.article-access{font-size:14px;color:var(--muted)}.article-access{display:block;margin-top:8px}
.article-entry h3{font-size:24px;line-height:1.65;margin-bottom:16px}.article-entry h3 a{color:var(--blue);text-underline-offset:5px}.article-entry h3 a:hover{text-decoration:underline}
.article-entry p{max-width:42em;margin-bottom:16px}.article-tags{display:flex;gap:12px 24px;flex-wrap:wrap}.article-tags span{font-size:14px;color:var(--muted)}
.article-source{display:inline-block;font-size:14px;color:var(--blue);padding-block:8px;text-decoration:underline;text-underline-offset:4px}
.library-source-note{border-top:1px solid var(--line);padding-top:32px;margin-top:48px;max-width:48em}
#empty-results,#load-error{padding-block:32px}#load-more{margin-top:24px}[hidden]{display:none!important}
@media(max-width:1100px){.site-header .brand>.brand-name{display:none}nav{gap:16px}.brand-logo{width:180px;height:180px}}
@media(max-width:900px){.site-header{align-items:flex-start}.menu-toggle{display:flex;margin-top:64px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 12px 20px #22262c0a}nav.open{display:flex}nav>a{padding:12px 0}.library-intro{gap:32px}}
@media(max-width:640px){.site-header{padding-inline:24px}.brand-logo{width:180px;height:180px}.site-header .brand{gap:0}.library-hero{padding-top:24px}.library-hero h1{font-size:34px}.library-intro,.library-routes,.category-choices{grid-template-columns:1fr}.library-intro{gap:12px}.library-routes>a{font-size:18px;padding-block:20px}.category-choice{gap:12px;padding:20px 8px}.category-choice strong{font-size:16px}.category-choice small{line-height:1.8}.library-tools{flex-direction:column;align-items:stretch;gap:20px;margin-block:32px}.all-articles{align-self:flex-start}.library-list-heading{display:block}.library-list-heading h2{font-size:24px;margin-bottom:12px}.article-entry{grid-template-columns:1fr;gap:12px;padding-block:28px}.article-entry h3{font-size:22px}.article-access{display:inline;margin-left:16px}.article-tags{gap:8px 16px}}
@media(max-width:359px){.site-header{padding-inline:20px}.brand-logo{width:172px;height:172px}.menu-toggle{margin-top:60px}.category-choice{grid-template-columns:24px 1fr;position:relative}.category-count{grid-column:2}.library-hero h1{font-size:30px}}
