:root{--pub-ink:#16232c;--pub-muted:#66747d;--pub-line:#dfe5e8;--pub-paper:#f6f8f7;--pub-accent:#9a1f3d;--pub-teal:#087e8b;--pub-cyan:#65d6e7}
.publication-hero{background:radial-gradient(circle at 86% 30%,rgba(101,214,231,.2),transparent 24%),linear-gradient(135deg,#111f29 0%,#243843 58%,#672038 100%)}
.publication-hero .page-hero-inner{min-height:360px;display:flex;flex-direction:column;justify-content:center}.publication-hero h1{max-width:900px}.publication-hero p:last-child{max-width:780px}
.publication-overview{padding-top:86px;padding-bottom:92px}.overview-heading,.directory-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:60px;align-items:end;margin-bottom:34px}.overview-heading h2,.directory-heading h2,.sources-intro h2{margin:4px 0 0;color:var(--pub-ink);font-size:clamp(2rem,4vw,3.25rem)}.overview-heading>p,.directory-heading>p,.sources-intro>p{color:var(--pub-muted);line-height:1.7;margin:0}
.publication-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 22px}.publication-metrics article{min-height:178px;padding:24px;border:1px solid var(--pub-line);border-radius:18px;background:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.publication-metrics article:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--pub-accent),var(--pub-cyan))}.publication-metrics span{color:var(--pub-muted);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.publication-metrics strong{color:var(--pub-ink);font-size:clamp(2.7rem,5vw,4.4rem);letter-spacing:-.05em;line-height:1;margin:auto 0 8px}.publication-metrics small{color:var(--pub-muted)}
.publication-charts{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.chart-card{margin:0;border-radius:22px;background:var(--pub-ink);color:#fff;padding:28px;min-height:370px}.chart-card h3{margin:3px 0 26px;font-size:1.45rem}.chart-kicker{color:var(--pub-cyan);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin:0}.year-chart{height:245px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:12px;padding-top:22px;border-bottom:1px solid rgba(255,255,255,.24)}.year-column{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.year-column strong{font-size:.88rem}.year-column i{width:min(52px,75%);height:var(--height);min-height:3px;background:linear-gradient(180deg,var(--pub-cyan),#2d90a3);border-radius:7px 7px 0 0;transition:height .5s ease}.year-column span{font-size:.78rem;color:#d4dde1;padding-bottom:10px}.member-chart{display:grid;gap:12px}.member-bar{display:grid;grid-template-columns:130px 1fr 42px;align-items:center;gap:12px;font-size:.82rem}.member-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-bar div{height:9px;border-radius:10px;background:rgba(255,255,255,.12);overflow:hidden}.member-bar i{display:block;height:100%;width:var(--width);border-radius:inherit;background:linear-gradient(90deg,var(--pub-accent),var(--pub-cyan))}.member-bar strong{text-align:right}.chart-footnote{color:#b8c4ca;font-size:.75rem;line-height:1.5;margin:18px 0 0}.counting-note{margin-top:22px;padding:18px 22px;border-left:4px solid var(--pub-accent);background:#f4ecef;color:#4d3c42;line-height:1.65}
.publication-directory{background:var(--pub-paper);padding:86px 0 96px}.directory-heading>p{text-align:right;font-weight:700}.publication-filters{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:12px;align-items:end;padding:20px;border:1px solid var(--pub-line);background:#fff;border-radius:18px;position:sticky;top:10px;z-index:4;box-shadow:0 10px 34px rgba(22,35,44,.07)}.publication-filters label{display:grid;gap:7px;color:#4e5d65;font-size:.76rem;font-weight:800;letter-spacing:.03em}.publication-filters input,.publication-filters select{width:100%;height:45px;border:1px solid #cbd5d9;border-radius:9px;background:#fff;color:var(--pub-ink);padding:0 12px;font:inherit;font-weight:500}.publication-filters input:focus,.publication-filters select:focus{outline:3px solid rgba(8,126,139,.2);border-color:var(--pub-teal)}.publication-filters button,.load-more{height:45px;border:0;border-radius:9px;background:var(--pub-ink);color:#fff;padding:0 20px;font-weight:800;cursor:pointer}.publication-filters button:hover,.load-more:hover{background:var(--pub-accent)}.active-filter-note{margin:18px 0 0;color:var(--pub-muted);font-size:.9rem}.publication-list{display:grid;gap:12px;margin-top:26px}.publication-item{display:grid;grid-template-columns:92px minmax(0,1fr) 160px;gap:22px;padding:24px;background:#fff;border:1px solid var(--pub-line);border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.publication-item:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,35,44,.08)}.publication-date{border-right:1px solid var(--pub-line);display:flex;flex-direction:column}.publication-date strong{color:var(--pub-accent);font-size:1.35rem}.publication-date span{color:var(--pub-muted);font-size:.76rem;margin-top:4px}.publication-copy h3{font-size:1.07rem;line-height:1.42;color:var(--pub-ink);margin:0 0 10px}.publication-copy h3 a{color:inherit;text-decoration:none}.publication-copy h3 a:hover{color:var(--pub-accent);text-decoration:underline}.publication-authors,.publication-venue{color:var(--pub-muted);font-size:.82rem;line-height:1.55;margin:0}.publication-venue{margin-top:7px}.publication-venue em{color:var(--pub-ink);font-style:normal;font-weight:700}.publication-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.publication-tags span{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:#eef3f4;color:#3b515a;font-size:.68rem;font-weight:800}.publication-tags .member-tag{background:#f5e8ec;color:#7d1d37}.publication-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.publication-side .type-label{color:var(--pub-teal);text-transform:capitalize;font-size:.73rem;font-weight:800}.publication-side a{margin-top:auto;color:var(--pub-accent);font-size:.8rem;font-weight:800;text-decoration:none}.publication-side a:hover{text-decoration:underline}.load-more-wrap{display:flex;justify-content:center;margin-top:28px}.load-more{min-width:250px}.empty-message,.error-message{text-align:center;padding:48px 24px;color:var(--pub-muted);background:#fff;border:1px dashed #b9c4c8;border-radius:16px}
.member-sources{padding-top:88px;padding-bottom:96px}.sources-intro{max-width:860px;margin-bottom:34px}.sources-intro>p:last-child{margin-top:16px}.member-source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.member-source-card{border:1px solid var(--pub-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;min-height:160px}.member-source-card span{color:var(--pub-accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.member-source-card strong{color:var(--pub-ink);margin:10px 0}.member-source-card small{color:var(--pub-muted)}.member-source-card a{color:var(--pub-teal);margin-top:auto;font-size:.8rem;font-weight:800;text-decoration:none}.source-note{margin-top:30px;display:grid;grid-template-columns:280px 1fr;gap:40px;padding:30px;color:#fff;border-radius:18px;background:linear-gradient(135deg,#7c1b35,#16232c)}.source-note h3{margin:3px 0 0;font-size:1.5rem}.source-note p:last-child{margin:0;line-height:1.7;color:#e4e9eb}
@media(max-width:1050px){.publication-metrics{grid-template-columns:repeat(2,1fr)}.publication-charts{grid-template-columns:1fr}.publication-filters{grid-template-columns:2fr 1fr 1fr;position:static}.publication-filters label:nth-of-type(4){grid-column:1/2}.member-source-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.publication-hero .page-hero-inner{min-height:310px}.publication-overview,.publication-directory,.member-sources{padding-top:58px;padding-bottom:62px}.overview-heading,.directory-heading,.source-note{grid-template-columns:1fr;gap:18px}.directory-heading>p{text-align:left}.publication-metrics{grid-template-columns:1fr}.publication-metrics article{min-height:145px}.publication-filters{grid-template-columns:1fr}.publication-filters label:nth-of-type(4){grid-column:auto}.publication-item{grid-template-columns:64px minmax(0,1fr);gap:15px;padding:18px}.publication-side{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.publication-side a{margin-top:0;margin-left:auto}.member-source-grid{grid-template-columns:1fr}.member-bar{grid-template-columns:105px 1fr 34px}}
@media(prefers-reduced-motion:reduce){.publication-item,.year-column i{transition:none}}
