/* Report library has its own controls and image grid, separate from portfolio. */
body.page-report-library { --ra-ink:#181818; --ra-muted:#666b70; --ra-line:#dedfdf; --ra-blue:#114167; background:#fff; }
body.page-report-library .site-main { padding:104px 0 80px; }
body.page-report-library .an-header { background:#fff; }
body.page-report-library .site-main>.container { width:auto; max-width:1800px; margin-inline:auto; padding-inline:clamp(20px,3vw,64px); }
.ra-library,.ra-library * { box-sizing:border-box; }
.ra-library { color:var(--ra-ink); font-family:"Aeonikpro","Helvetica Neue",Arial,sans-serif; }
.ra-library [hidden] { display:none!important; }
.ra-library :is(h1,h2,p,figure) { margin:0; }
.ra-library :is(button,input,select) { font:inherit; letter-spacing:0; }
.ra-library button { cursor:pointer; }
.ra-library :is(button,input,select,a):focus-visible { outline:2px solid #2677b5; outline-offset:4px; }
.ra-library a { color:inherit; text-decoration:none; }
.ra-library :is(input,select) { min-width:0; width:100%; border:1px solid #c9cdcf; border-radius:4px; min-height:46px; padding:10px 12px; background:#fff; color:var(--ra-ink); box-shadow:none; }
.ra-library input::placeholder { color:#747a7f; opacity:1; }
.ra-library button:disabled { opacity:.42; cursor:default; }
.ra-library select { padding-right:28px; }
body.page-report-library .ra-hero { padding:8px 0 26px; max-width:1040px; }
.ra-library .ra-eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; color:var(--ra-muted); }
.ra-eyebrow span { display:inline-grid; place-items:center; min-width:34px; padding:3px 7px; border:1px solid var(--ra-line); border-radius:20px; letter-spacing:0; }
body.page-report-library .ra-hero h1 { font-family:inherit; font-size:clamp(38px,4.2vw,58px); font-weight:400; line-height:1.06; letter-spacing:-.045em; margin:12px 0 16px; }
.ra-library .ra-intro { max-width:850px; font-size:clamp(17px,1.6vw,21px); line-height:1.45; color:var(--ra-ink); }
.ra-library .ra-note { max-width:810px; margin-top:12px; font-size:13px; line-height:1.5; color:var(--ra-muted); }
.ra-tools { border-block:1px solid var(--ra-line); padding:20px 0 16px; }
.ra-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
body.page-report-library .ra-library :is(.ra-filter-heading,.ra-views) h2 { font:500 15px/1.4 "Aeonikpro","Helvetica Neue",Arial,sans-serif; letter-spacing:0; }
.ra-reset { border:0; background:none; color:var(--ra-muted); padding:5px 0; font-size:13px!important; text-decoration:underline; text-underline-offset:4px; }
.ra-filters { display:grid; grid-template-columns:minmax(210px,1.7fr) minmax(95px,.6fr) minmax(150px,1fr) minmax(150px,1fr) minmax(160px,1fr); gap:12px; align-items:end; }
.ra-field { display:grid; gap:8px; min-width:0; font-size:14px; }
.ra-field>span { color:var(--ra-muted); font-size:12px; }
.ra-active { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.ra-active button { border:0; border-radius:3px; background:#edf2f5; color:var(--ra-blue); padding:7px 10px; font-size:12px; }
.ra-views { margin-top:22px; padding-top:18px; border-top:1px solid var(--ra-line); }
.ra-view-buttons { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.ra-view-buttons button { display:flex; gap:10px; align-items:center; border:1px solid var(--ra-line); background:#fff; border-radius:4px; padding:10px 12px; min-height:42px; font-size:13px; color:var(--ra-ink); white-space:nowrap; }
.ra-view-buttons [data-ra-count] { color:var(--ra-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.ra-view-buttons button[aria-pressed="true"] { background:var(--ra-blue); border-color:var(--ra-blue); color:#fff; }
.ra-view-buttons button[aria-pressed="true"] [data-ra-count] { color:#d1e2ef; }
.ra-view-buttons button:not(:disabled):hover { border-color:var(--ra-blue); }
.ra-library .ra-hint { color:var(--ra-muted); font-size:12px; line-height:1.5; margin-top:10px; }
.ra-results { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; scroll-margin-top:85px; }
.ra-library .ra-results>p { font-size:13px; line-height:1.4; font-variant-numeric:tabular-nums; }
.ra-display { display:flex; gap:20px; align-items:center; }
.ra-sort { width:168px; }
.ra-library .ra-sort select { border:0; min-height:38px; padding-left:0; font-size:13px; }
.ra-density { display:flex; border:1px solid var(--ra-line); border-radius:4px; padding:3px; }
.ra-density button { border:0; background:#fff; color:var(--ra-muted); border-radius:2px; padding:7px 10px; font-size:12px; min-height:32px; }
.ra-density [aria-pressed="true"] { background:#edf0f2; color:var(--ra-ink); }
.ra-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 20px; align-items:start; }
.ra-grid[data-size="large"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
.ra-card { min-width:0; }
.ra-card__image { display:flex; align-items:center; justify-content:center; position:relative; aspect-ratio:10/7; padding:16px; background:#f1f2f2; border:1px solid #eceeee; border-radius:2px; overflow:hidden; }
.ra-card__image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.ra-card__zoom { position:absolute; right:8px; bottom:8px; display:grid; place-items:center; width:26px; height:26px; background:#fff; border-radius:50%; color:var(--ra-blue); font-size:16px; opacity:0; transition:opacity .15s; }
.ra-card__image:hover .ra-card__zoom,.ra-card__target:focus-visible .ra-card__zoom { opacity:1; }
.ra-card__unavailable { font-size:13px; color:var(--ra-muted); }
.ra-card__meta { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:12px; color:var(--ra-muted); font-size:11px; line-height:1.4; }
.ra-card__meta span:last-child { flex-shrink:0; font-variant-numeric:tabular-nums; }
body.page-report-library .ra-card h2 { font-family:inherit; font-size:18px; line-height:1.25; letter-spacing:-.02em; font-weight:500; margin:5px 0 6px; overflow-wrap:anywhere; }
.ra-card__target:hover h2 { text-decoration:underline; text-underline-offset:4px; }
.ra-card .ra-card__link { display:inline-flex; align-items:center; gap:7px; min-height:32px; font-size:12px; color:var(--ra-muted); }
.ra-card__link:hover { color:var(--ra-blue); }
.ra-pagination { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:6px; margin-top:44px; }
.ra-pagination button { min-width:40px; min-height:40px; padding:8px; background:#fff; border:1px solid var(--ra-line); border-radius:3px; color:var(--ra-ink); }
.ra-pagination [aria-current] { color:#fff; background:var(--ra-blue); border-color:var(--ra-blue); }
.ra-pagination span { padding:5px; }
.ra-collections { display:flex; gap:12px 20px; flex-wrap:wrap; margin-top:40px; padding-top:20px; border-top:1px solid var(--ra-line); font-size:12px; color:var(--ra-muted); }
.ra-collections a { text-decoration:underline; text-underline-offset:4px; }
.ra-empty { padding:60px 20px; background:#f5f6f6; text-align:center; }
body.page-report-library .ra-empty h2 { font:400 26px/1.2 "Aeonikpro","Helvetica Neue",Arial,sans-serif; letter-spacing:-.02em; }
.ra-library .ra-empty p { font-size:15px; line-height:1.5; margin:12px auto 20px; max-width:520px; color:var(--ra-muted); }
.ra-empty>div { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ra-empty button { padding:10px 15px; border:1px solid var(--ra-line); background:white; border-radius:3px; }
.ra-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(min-width:1600px) { .ra-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:1100px) { .ra-filters { grid-template-columns:repeat(4,minmax(0,1fr)); } .ra-search { grid-column:1/-1; } .ra-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  body.page-report-library .site-main { padding-top:88px; padding-bottom:60px; }
  body.page-report-library .ra-hero { padding-top:8px; padding-bottom:24px; }
  .ra-library .ra-eyebrow { font-size:10px; letter-spacing:.025em; }
  .ra-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .ra-library :is(input,select) { font-size:16px; }
  .ra-view-buttons { gap:7px; }
  .ra-view-buttons button { padding:9px 10px; font-size:12px; gap:7px; }
  .ra-results { flex-direction:column; align-items:stretch; gap:12px; }
  .ra-display { justify-content:space-between; gap:8px; }
  .ra-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; }
  .ra-grid[data-size="large"] { grid-template-columns:1fr; gap:30px; }
  .ra-card__image { padding:8px; }
  body.page-report-library .ra-card h2 { font-size:16px; }
  .ra-card__meta { font-size:10px; gap:5px; }
}
@media(prefers-reduced-motion:reduce) { .ra-library * { scroll-behavior:auto!important; transition:none!important; } }

.ra-card__target { display:block; height:100%; }
