/* One publication: shared visual language for evidence, proposals and public work. */
:root { --section-space:clamp(58px,7vw,110px); --card-space:clamp(24px,3vw,46px); }
main { min-width:0; }
main :is(p,li,dd) { text-wrap:pretty; }
:is(.record-ribbon,.library-overview,.atlas-total,.atlas-allocation,.legislation-entry-stats,.brief-meta) { font-variant-numeric:tabular-nums; }
.content-section { padding-block:var(--section-space); }
.section-index { line-height:1.65; }
.section-headline { gap:clamp(28px,5vw,80px); }
:is(.section-headline,.split-section,.media-split,.pillar-mandate-layout)>* { min-width:0; }
.record-ribbon { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 var(--gutter); border-block:1px solid var(--line); }
.record-ribbon>a { display:flex; align-items:center; gap:22px; padding:26px 24px; min-width:0; transition:background .25s,color .25s; }
.record-ribbon>a:first-child { padding-left:0; }
.record-ribbon>a+ a { border-left:1px solid var(--line); }
.record-ribbon strong { font:400 clamp(2.9rem,4.2vw,5.2rem)/1 var(--display); letter-spacing:-.05em; color:var(--accent); }
.record-ribbon>a>span { font-size:.82rem; font-weight:600; line-height:1.55; }
.record-ribbon small { display:block; margin-top:6px; font-size:.66rem; line-height:1.6; font-weight:400; color:var(--muted); }
.record-ribbon a:hover { background:var(--surface); }
.record-ribbon small>span { display:inline-block; margin-left:5px; }
.proposal-atlas { background:var(--surface); }
.atlas-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:8vw; align-items:end; margin-bottom:44px; }
.atlas-heading h2 { font-size:clamp(3.2rem,5.4vw,6rem); }
.atlas-heading h2 em,.evidence-trail h2 em { color:var(--accent); }
.atlas-heading>p { font-size:.95rem; line-height:1.85; max-width:48ch; }
.atlas-proposal-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; }
.atlas-proposal { padding:var(--card-space); background:var(--paper); color:var(--ink); min-width:0; display:flex; flex-direction:column; border-top:3px solid var(--accent); }
.atlas-proposal--mineral { --atlas-color:var(--mineral-blue); border-color:var(--mineral-blue); }
.atlas-proposal--stone { --atlas-color:var(--accent); }
.atlas-card-top { display:flex; justify-content:space-between; gap:20px; font-size:.62rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.atlas-proposal h3 { margin:27px 0 29px; font-size:clamp(2.2rem,3.8vw,4.4rem); }
.atlas-proposal h3 a { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.atlas-proposal h3 a>span { font:400 1.5rem var(--sans); color:var(--atlas-color); }
.atlas-total { display:flex; align-items:center; gap:26px; padding:12px 0 32px; }
.atlas-total>strong { font:400 clamp(4.6rem,8vw,9rem)/.9 var(--display); letter-spacing:-.06em; color:var(--atlas-color); white-space:nowrap; }
.atlas-total>span { padding-top:8px; font-size:.86rem; line-height:1.7; }
.atlas-duration { display:grid; grid-template-columns:repeat(var(--contribution-years,30),minmax(0,1fr)); gap:4px; height:46px; }
.atlas-duration i { background:var(--atlas-color); }
.atlas-duration i:nth-child(5n) { opacity:.65; }
.atlas-duration-key { display:flex; justify-content:space-between; gap:12px; font-size:.58rem; color:var(--muted); margin-top:10px; }
.atlas-allocation-title { display:flex; justify-content:space-between; gap:15px; font-size:.64rem; letter-spacing:.025em; margin-top:38px; color:var(--muted); }
.atlas-allocation { margin:12px 0 35px; }
.atlas-allocation>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 20px; margin:18px 0 0; }
.atlas-allocation dt { font-size:.77rem; line-height:1.65; }
.atlas-allocation dd { margin:0; font-size:.84rem; line-height:1.6; font-weight:600; white-space:nowrap; }
.atlas-allocation dd>span { display:inline-block; width:40px; text-align:right; color:var(--muted); font-size:.66rem; font-weight:400; }
.atlas-allocation i { grid-column:1/-1; height:4px; background:var(--line); position:relative; }
.atlas-allocation i::after { content:''; position:absolute; inset:0 auto 0 0; width:var(--bar-share); background:var(--atlas-color); }
.atlas-card-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px 25px; margin-top:auto; border-top:1px solid var(--line); padding-top:22px; }
.atlas-card-actions a { display:flex; align-items:center; gap:16px; font-size:.73rem; min-height:34px; }
.atlas-card-actions a:first-child { font-weight:600; }
.atlas-card-actions a>span { color:var(--atlas-color); }
.atlas-card-actions a:hover { text-decoration:underline; text-underline-offset:5px; }
.atlas-disclosure { display:grid; grid-template-columns:150px 1fr; gap:30px; max-width:none; margin:27px 0 0; font-size:.72rem; color:var(--muted); line-height:1.8; }
.atlas-disclosure>span { color:var(--ink); text-transform:uppercase; font-size:.64rem; letter-spacing:.08em; padding-top:2px; }
.library-overview { display:grid; grid-template-columns:1fr 1.1fr; gap:7vw; padding:42px var(--gutter); background:var(--surface); border-bottom:1px solid var(--line); }
.library-overview-total { display:flex; align-items:center; gap:28px; }
.library-overview-total>strong { font:400 clamp(4.5rem,7vw,7.5rem)/1 var(--display); letter-spacing:-.06em; color:var(--accent); }
.library-overview-total span { display:block; font-size:1rem; }
.library-overview-total p { font-size:.72rem; color:var(--muted); margin-top:9px; max-width:34ch; }
.library-overview-chart>p { display:flex; justify-content:space-between; gap:24px; font-size:.7rem; max-width:none; }
.library-overview-chart>p>span { color:var(--muted); text-align:right; }
.library-topic-bars { display:flex; height:30px; gap:4px; margin:17px 0; }
.library-topic-bars>span { flex:var(--topic-share) 1 0; background:var(--mineral-blue); opacity:calc(1 - var(--topic-index) * .09); }
.library-overview-chart ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 24px; }
.library-overview-chart li { margin:0; display:flex; gap:12px; font-size:.66rem; }
.library-overview-chart li b { color:var(--accent); }
.evidence-trail { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:7vw; padding:var(--section-space) var(--gutter); background:var(--surface); border-block:1px solid var(--line); }
.evidence-trail>div>p:last-child { margin-top:24px; font-size:.82rem; line-height:1.8; max-width:40ch; }
.evidence-trail h2 { font-size:clamp(2.7rem,4.2vw,5rem); }
.evidence-trail nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.evidence-trail nav>a { background:var(--paper); padding:28px; display:flex; flex-direction:column; gap:20px; min-width:0; }
.evidence-trail nav>a:last-child:nth-child(odd) { grid-column:1/-1; }
.evidence-trail nav>a>span { font-size:.6rem; letter-spacing:.07em; text-transform:uppercase; color:var(--accent); }
.evidence-trail nav h3 { font-size:clamp(1.8rem,2.2vw,2.6rem); }
.evidence-trail nav p { font-size:.78rem; color:var(--muted); line-height:1.8; }
.evidence-trail nav b { display:flex; justify-content:space-between; font-size:.73rem; font-weight:500; margin-top:auto; padding-top:10px; }
.home-gift-verification { font-size:.7rem!important; line-height:1.8; color:#f3efe7!important; padding-top:20px; border-top:1px solid #ffffff55; max-width:38ch; }
.home-gift-ledger .home-gift-verification+ a { margin-top:16px; }
/* Content cards share the same typography and tactile inset across page families. */
:is(.program-card,.feature-row,.brief-implications>article,.brief-method-grid>article,.rule-list>article) { background:var(--surface); padding:clamp(24px,3vw,42px); border:0; }
:is(.program-card,.feature-row,.brief-implications>article,.brief-method-grid>article) h3 { font-size:clamp(1.9rem,2.6vw,3rem); }
:is(.program-card,.feature-row,.brief-implications>article,.brief-method-grid>article) p { font-size:.88rem; line-height:1.85; }
.muted-band :is(.program-card,.feature-row) { background:var(--paper); }
.work-grid { gap:18px; }
.brief-findings { gap:18px; }
.brief-finding { padding:34px; background:var(--surface); border:0; }
.brief-finding>span { color:var(--accent); }
.brief-source-list>li,.investment-sources>li,.world-sources>li { scroll-margin-top:calc(var(--reading-offset,150px) + 22px); }
:is(.brief-source-list,.investment-sources) a:hover { color:var(--accent); }
.page-research .research-item { padding-inline:24px; transition:background .25s; }
.page-research .research-item.is-published { background:var(--surface); margin-bottom:12px; border-top:0; }
.page-research .research-item.is-published a { text-decoration:underline; text-underline-offset:5px; }
.legislation-entry { transition:background .25s; }
.legislation-entry:hover,.legislation-entry:focus-within { background:var(--surface); }
@media(min-width:1500px) {
 .page-hero:not(.home-hero) .page-hero-copy { max-width:780px; }
 .record-ribbon,.proposal-atlas,.evidence-trail,.library-overview { padding-inline:max(var(--gutter),calc((100vw - 1600px) / 2)); }
 .record-ribbon { margin:0; }
}
@media(max-width:1100px) {
 .record-ribbon>a { gap:14px; padding:23px 16px; }
 .record-ribbon>a>span { font-size:.72rem; }
 .record-ribbon small { font-size:.59rem; }
 .atlas-heading { gap:40px; }
 .atlas-total { gap:20px; }
 .atlas-total>strong { font-size:clamp(4.8rem,9vw,7rem); }
 .atlas-total>span { font-size:.75rem; }
 .evidence-trail { grid-template-columns:1fr; gap:35px; }
 .evidence-trail nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .evidence-trail nav>a:last-child:nth-child(odd) { grid-column:auto; }
 .library-overview { gap:35px; }
}
@media(max-width:760px) {
 .record-ribbon { grid-template-columns:1fr 1fr; }
 .record-ribbon>a { padding:22px 14px; }
 .record-ribbon>a:nth-child(odd) { border-left:0; padding-left:0; }
 .record-ribbon>a:nth-child(n+3) { border-top:1px solid var(--line); }
 .record-ribbon strong { font-size:3.5rem; }
 .record-ribbon>a>span { font-size:.75rem; }
 .record-ribbon small { font-size:.62rem; }
 .atlas-heading { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
 .atlas-heading h2 { font-size:3.5rem; }
 .atlas-heading>p { font-size:.86rem; }
 .atlas-proposal-grid { grid-template-columns:1fr; }
 .atlas-proposal { padding:28px; }
 .atlas-total>strong { font-size:6.5rem; }
 .atlas-total>span { font-size:.84rem; }
 .atlas-proposal h3 { font-size:2.9rem; }
 .atlas-disclosure { grid-template-columns:1fr; gap:9px; }
 .library-overview { grid-template-columns:1fr; gap:28px; padding-block:30px; }
 .library-overview-total>strong { font-size:5.5rem; }
 .library-overview-chart>p { font-size:.63rem; }
 .evidence-trail nav { grid-template-columns:1fr; }
 .evidence-trail nav>a { padding:26px; gap:14px; }
 .brief-finding { padding:24px; }
 .page-research .research-item { padding-inline:20px; }
}
@media(max-width:380px) {
 .atlas-proposal { padding:22px; }
 .atlas-card-top { font-size:.56rem; gap:10px; }
 .atlas-proposal h3 { font-size:2.5rem; }
 .atlas-total { gap:15px; }
 .atlas-total>strong { font-size:5.2rem; }
 .atlas-total>span { font-size:.75rem; }
 .atlas-allocation>div { gap:7px 10px; }
 .atlas-allocation dt { font-size:.7rem; }
 .atlas-allocation dd { font-size:.74rem; }
 .atlas-allocation dd>span { width:30px; }
 .record-ribbon strong { font-size:3rem; }
 .record-ribbon>a { gap:10px; }
}
@media print {
 .record-ribbon,.evidence-trail { display:none; }
 .atlas-proposal { break-inside:avoid; border:1px solid #999; }
 .atlas-proposal-grid { display:block; }
 .atlas-duration i,.library-topic-bars>span { print-color-adjust:exact; }
}
/* The collection extends the Foundation's editorial experience. */
.home-collection-heading { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; margin-bottom:44px; }
.collection-eyebrow { margin-bottom:22px; color:var(--accent); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.home-collection h2 { font-size:clamp(52px,6.2vw,96px); }
.home-collection h2 em { color:var(--accent); font-weight:400; }
.home-collection-intro>p:first-child { max-width:46ch; font-size:15px; }
.home-collection-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:25px; }
.home-collection-actions .button { gap:30px; }
.home-collection .collection-preview-note { margin-top:17px; color:var(--muted); font-size:10px; }
.home-collection-objects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.home-collection-object { display:block; min-width:0; }
.home-collection-image { aspect-ratio:1; overflow:hidden; background:var(--surface); }
.home-collection-image img { width:100%; height:100%; object-fit:cover; }
.home-collection-caption { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 0 20px; border-bottom:1px solid var(--line); }
.home-collection-caption>div>span { font-size:9px; letter-spacing:.04em; color:var(--muted); }
.home-collection-caption h3 { margin-top:7px; font-size:clamp(28px,2.7vw,40px); }
.home-collection-caption>span { color:var(--accent); font-size:24px; }
.home-collection-object:hover h3 { color:var(--accent); }
.home-collection-purpose { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 0 0; }
.home-collection-purpose p { max-width:70ch; font-size:12px; }
.home-collection-purpose strong { color:var(--accent); }
.home-collection-purpose a { display:flex; align-items:center; gap:24px; flex-shrink:0; min-height:44px; border-bottom:1px solid var(--line); font-size:11px; }
.collection-image-note { margin-top:20px; color:var(--muted); font-size:9px; }
@media (max-width:950px) {
  .home-collection-heading { gap:30px; }
  .home-collection-intro>p:first-child { font-size:13px; }
  .home-collection-objects { gap:18px; }
}
@media (max-width:760px) {
  .home-collection-heading { grid-template-columns:1fr; gap:26px; margin-bottom:32px; }
  .home-collection h2 { font-size:clamp(50px,10vw,72px); }
  .home-collection-intro>p:first-child { font-size:14px; }
  .home-collection-objects { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .home-collection-object:first-child { grid-column:1/-1; }
  .home-collection-object:first-child .home-collection-image { aspect-ratio:4/3; }
  .home-collection-caption { gap:8px; padding:14px 0; }
  .home-collection-caption h3 { font-size:28px; }
  .home-collection-caption>div>span { font-size:8px; }
  .home-collection-purpose { align-items:flex-start; flex-direction:column; gap:12px; }
}
