:root{--ink:#111;--paper:#f4f1e9;--card:#fff;--muted:#6f6c64;--line:#d9d4c8;--accent:#a51f24;--dark:#191919;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px max(22px,calc((100vw - var(--max))/2));background:rgba(244,241,233,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--dark);color:white;font-family:"Libre Franklin";font-weight:800}.brand strong{display:block;font-family:"Libre Franklin";letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:.68rem}.site-header nav{display:flex;gap:24px}.site-header nav a{text-decoration:none;font-size:.9rem;font-weight:600}.menu-button{display:none}.hero{padding:95px max(22px,calc((100vw - var(--max))/2)) 54px;background:linear-gradient(135deg,#191919 0 62%,#272727 62%);color:white}.eyebrow,.section-kicker{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#c85f63}.hero h1{margin:18px 0 20px;max-width:900px;font-family:"Libre Franklin";font-size:clamp(2.8rem,7vw,6rem);line-height:.95;letter-spacing:-.06em}.hero h1 span{color:#ccc}.hero-copy{max-width:730px;font-size:1.1rem;line-height:1.7;color:#c9c9c9}.search-shell{margin-top:38px;max-width:900px}.search-shell label{display:block;margin-bottom:8px;font-size:.78rem;color:#aaa}.search-row{display:flex;background:white;padding:7px}.search-row input{flex:1;border:0;padding:17px;font:inherit;font-size:1rem;outline:none}.search-row button{border:0;background:#ece9e1;padding:0 20px;font-weight:700;cursor:pointer}.hero-stats{display:flex;gap:50px;margin-top:40px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-family:"Libre Franklin";font-size:1.8rem}.hero-stats span{font-size:.76rem;color:#aaa;text-transform:uppercase;letter-spacing:.1em}.toolbar,.section-heading{max-width:var(--max);margin:auto}.toolbar{display:flex;justify-content:space-between;align-items:end;padding:68px 22px 25px}.toolbar h2,.section-heading h2{font-family:"Libre Franklin";font-size:clamp(2rem,4vw,3.3rem);margin:7px 0}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid var(--line);background:transparent;padding:10px 13px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.filter.active{background:var(--dark);color:white;border-color:var(--dark)}.results-summary{max-width:var(--max);margin:auto;padding:0 22px 14px;display:flex;gap:10px;color:var(--muted);font-size:.8rem}.document-grid{max-width:var(--max);margin:auto;padding:0 22px 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.doc-card{display:flex;flex-direction:column;min-height:360px;background:var(--card);border:1px solid var(--line);padding:24px;transition:.2s}.doc-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(0,0,0,.08)}.doc-top{display:flex;justify-content:space-between;gap:15px}.doc-type{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.vault-id{font-family:monospace;font-size:.68rem;color:var(--muted)}.doc-card h3{font-family:"Libre Franklin";font-size:1.35rem;line-height:1.15;margin:23px 0 12px}.doc-card p{color:#555;line-height:1.55;font-size:.9rem}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{background:#efede7;padding:6px 8px;font-size:.68rem}.doc-meta{margin-top:auto;padding-top:20px;border-top:1px solid #eee;display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.open-record{margin-top:16px;border:0;background:var(--dark);color:white;padding:12px;font:inherit;font-weight:700;cursor:pointer}.empty-state{text-align:center;padding:50px}.timeline-section{background:#e7e2d7;padding:80px 22px}.section-heading p:not(.section-kicker){max-width:680px;line-height:1.65;color:var(--muted)}.timeline-list{max-width:900px;margin:40px auto 0;border-left:2px solid #bbb}.timeline-item{position:relative;padding:0 0 32px 28px}.timeline-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent)}.timeline-date{font-weight:800;font-size:.78rem;color:var(--accent)}.timeline-item h3{margin:5px 0;font-family:"Libre Franklin"}.timeline-item p{margin:0;color:var(--muted)}.method-section{padding:85px 22px}.method-grid{max-width:var(--max);margin:40px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.method-grid article{background:var(--card);padding:28px}.method-grid span{font-family:"Libre Franklin";font-size:2rem;color:#c7c1b5}.method-grid h3{font-family:"Libre Franklin"}.method-grid p{color:var(--muted);line-height:1.6;font-size:.88rem}dialog{width:min(840px,92vw);max-height:90vh;border:0;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(0,0,0,.72)}.modal-close{position:sticky;float:right;top:12px;right:12px;width:40px;height:40px;border:0;background:var(--dark);color:white;font-size:1.4rem;cursor:pointer}.modal-inner{padding:45px}.modal-inner h2{font-family:"Libre Franklin";font-size:2.3rem;line-height:1.05}.modal-label{color:var(--accent);font-weight:800;letter-spacing:.13em;font-size:.7rem}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.record-box{background:#f3f1eb;padding:18px}.record-box strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:5px}.assertions{padding-left:20px}.assertions li{margin:10px 0;line-height:1.5}.source-link{display:inline-block;margin-top:18px;background:var(--accent);color:white;text-decoration:none;padding:13px 16px;font-weight:700}footer{background:var(--dark);color:white;padding:50px max(22px,calc((100vw - var(--max))/2))}footer strong{font-family:"Libre Franklin";letter-spacing:.12em}footer p,footer small{color:#aaa}@media(max-width:850px){.document-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.site-header nav{display:none}.site-header nav.open{display:flex;position:absolute;top:67px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column}.menu-button{display:block}.toolbar{align-items:start;flex-direction:column;gap:20px}}@media(max-width:560px){.document-grid,.method-grid{grid-template-columns:1fr}.hero{padding-top:65px}.hero-stats{gap:20px}.search-row{flex-direction:column}.search-row button{padding:13px}.record-grid{grid-template-columns:1fr}.modal-inner{padding:32px 22px}.document-grid{padding-left:14px;padding-right:14px}}


/* White House Release featured shelf */
.release-shelf {
  background: #f7f7f5;
  border-bottom: 1px solid var(--line, #d9d9d4);
  padding: clamp(2.25rem, 5vw, 4.5rem) clamp(1.25rem, 6vw, 6rem);
}

.release-shelf-heading {
  max-width: 760px;
  margin: 0 auto 1.75rem;
  text-align: center;
}

.release-shelf-heading h2 {
  margin: .25rem 0 .5rem;
  color: #111827;
  font-family: "Libre Franklin", sans-serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.release-shelf-heading p:last-child {
  margin: 0;
  color: #5b6472;
  font-size: 1rem;
}

.release-card-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.release-card {
  appearance: none;
  width: 100%;
  min-height: 230px;
  padding: 1.4rem;
  border: 1px solid #d7d9dd;
  border-radius: 4px;
  background: #fff;
  color: #111827;
  text-align: left;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.release-card:hover,
.release-card:focus-visible {
  transform: translateY(-3px);
  border-color: #111827;
  box-shadow: 0 14px 30px rgba(17, 24, 39, .10);
  outline: none;
}

.release-number {
  padding-bottom: .8rem;
  border-bottom: 1px solid #e2e4e8;
  color: #737b88;
  font-family: "Libre Franklin", sans-serif;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.release-title {
  margin-top: 1.15rem;
  font-family: "Libre Franklin", sans-serif;
  font-size: clamp(1.04rem, 1.5vw, 1.27rem);
  font-weight: 800;
  line-height: 1.28;
}

.release-action {
  margin-top: auto;
  padding-top: 1.25rem;
  color: #4b5563;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.release-card:hover .release-action,
.release-card:focus-visible .release-action {
  color: #111827;
}

@media (max-width: 980px) {
  .release-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .release-card-grid { grid-template-columns: 1fr; }
  .release-card { min-height: 185px; }
}

.release-card h3{font-family:"Libre Franklin",sans-serif;font-size:1.12rem;line-height:1.3;margin:1.1rem 0 .65rem}.release-card p{color:#5b6472;line-height:1.55;font-size:.86rem;margin:0}.release-links{margin-top:auto;padding-top:1.15rem;display:flex;gap:.55rem;flex-wrap:wrap}.release-links a,.release-links button{border:1px solid #111827;background:#111827;color:#fff;text-decoration:none;padding:.72rem .82rem;font:inherit;font-size:.73rem;font-weight:800;cursor:pointer}.release-links a+ a,.release-links button+ a{background:#fff;color:#111827}.release-card{min-height:290px}

.index-note{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;max-width:680px}.source-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.secondary-source{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)}

/* Trump signed-laws shelf */
.laws-shelf{max-width:1180px;margin:0 auto;padding:34px 24px 14px;border-top:1px solid #dfe3e8}
.laws-shelf[hidden]{display:none}
.laws-shelf-heading{max-width:760px;margin-bottom:20px}
.laws-shelf-heading h2{margin:4px 0 8px;font-family:"Libre Franklin",sans-serif;font-size:clamp(1.75rem,3vw,2.5rem);color:#101820}
.laws-shelf-heading p:last-child{color:#56616d;line-height:1.65}
.laws-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.law-term-card{text-align:left;background:#fff;border:1px solid #cfd6dd;border-radius:4px;padding:22px;cursor:pointer;box-shadow:0 5px 16px rgba(20,31,43,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.law-term-card:hover,.law-term-card:focus-visible{transform:translateY(-2px);border-color:#25384a;box-shadow:0 9px 22px rgba(20,31,43,.10)}
.law-term-label{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#6b7580;margin-bottom:13px}
.law-term-card strong{display:block;font-family:"Libre Franklin",sans-serif;font-size:1.35rem;color:#152536;margin-bottom:5px}
.law-term-count{display:block;font-size:1rem;font-weight:700;color:#8a1c1c;margin-bottom:10px}
.law-term-card small{display:block;color:#66717c;line-height:1.45}
@media(max-width:720px){.laws-term-grid{grid-template-columns:1fr}}

/* Judicial Vault */
.judicial-vault{max-width:1180px;margin:0 auto;padding:40px 24px 26px;border-top:1px solid var(--line)}
.judicial-vault[hidden]{display:none}
.judicial-heading{max-width:850px;margin-bottom:24px}
.judicial-heading h2{font-family:"Libre Franklin";font-size:clamp(2.2rem,5vw,4rem);margin:5px 0 10px;letter-spacing:-.04em}
.judicial-heading p:last-child{color:var(--muted);line-height:1.65}
.judicial-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px}
.judicial-admin{background:#fff;border:1px solid #ccd2d8;padding:20px;text-align:left;cursor:pointer;display:flex;flex-direction:column;min-height:145px;transition:.18s}
.judicial-admin:hover,.judicial-admin:focus-visible{transform:translateY(-2px);border-color:#111827;box-shadow:0 9px 22px rgba(0,0,0,.08)}
.judicial-admin.active{background:#111827;color:#fff;border-color:#111827}
.judicial-admin span{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#737b88}
.judicial-admin.active span,.judicial-admin.active small{color:#b8c0ca}
.judicial-admin strong{font-family:"Libre Franklin";font-size:1.55rem;margin-top:auto}
.judicial-admin small{margin-top:4px;color:#66717c}
.judicial-court-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:6px 0 14px}
.judicial-court-heading h3{font-family:"Libre Franklin";font-size:1.55rem;margin:4px 0}
.judicial-reset{border:1px solid #111827;background:#fff;padding:9px 12px;font-weight:800;cursor:pointer}
.circuit-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.circuit-button{border:1px solid #d4d8dc;background:#fff;padding:12px 8px;min-height:72px;cursor:pointer;text-align:center}
.circuit-button strong{display:block;font-family:"Libre Franklin";font-size:1.02rem}
.circuit-button span{display:block;margin-top:3px;font-size:.67rem;color:#6f7780;text-transform:uppercase;letter-spacing:.08em}
.circuit-button.active,.circuit-button:hover{background:#1c2936;color:#fff;border-color:#1c2936}
.circuit-button.active span,.circuit-button:hover span{color:#c8d0d7}
.district-directory{margin-top:13px;padding:14px 16px;background:#f1efe9;border-left:3px solid #1c2936;color:#53606c;font-size:.8rem;line-height:1.6}
.district-directory:empty{display:none}
.judicial-result-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:30px 0 14px;padding-bottom:12px;border-bottom:1px solid #cfd3d7}
.judicial-result-bar strong{font-family:"Libre Franklin";font-size:1.25rem}
.judicial-result-bar span{font-size:.8rem;color:var(--muted)}
.judicial-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.judicial-case-card{background:#fff;border:1px solid #d7dade;padding:22px;display:flex;flex-direction:column;min-height:260px}
.judicial-case-top{display:flex;justify-content:space-between;gap:10px;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#6f7780}
.judicial-case-card h3{font-family:"Libre Franklin";font-size:1.35rem;line-height:1.2;margin:18px 0 8px}
.judicial-case-card p{color:#56616d;line-height:1.55;font-size:.88rem}
.judicial-case-decision{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}
.judicial-case-decision div{background:#f1efe9;padding:10px}
.judicial-case-decision strong{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:#737b88;margin-bottom:3px}
.open-case{margin-top:12px;background:#111827;color:#fff;border:0;padding:12px;font-weight:800;cursor:pointer}
.judicial-empty{padding:32px;text-align:center;background:#f1efe9;color:#5e6872;display:flex;flex-direction:column;gap:5px}
.judicial-empty[hidden]{display:none}
.case-jacket{padding:44px}
.case-breadcrumb{font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7a838d}
.case-jacket h2{font-family:"Libre Franklin";font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:12px 0 8px}
.case-subhead{color:#58636e;margin-bottom:25px}
.case-fast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 24px}
.case-fast-grid div{background:#f0eee8;padding:13px}
.case-fast-grid strong{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:#6f7780;margin-bottom:4px}
.case-section{border-top:1px solid #d8dadd;padding-top:18px;margin-top:18px}
.case-section h3{font-family:"Libre Franklin";margin:0 0 8px}
.case-section p{line-height:1.65;color:#424b55}
.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.case-column{background:#f6f5f1;padding:16px}
.case-column strong{display:block;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:#737b88;margin-bottom:7px}
.procedural-path{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.path-step{background:#eef0f2;padding:9px 11px;font-size:.78rem}
.path-arrow{color:#8b929a}
.case-file-list{display:flex;flex-wrap:wrap;gap:8px}
.case-file-list a{background:#111827;color:#fff;text-decoration:none;padding:10px 12px;font-weight:800;font-size:.78rem}
@media(max-width:900px){.circuit-grid{grid-template-columns:repeat(5,1fr)}.judicial-case-grid{grid-template-columns:1fr}.case-fast-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.judicial-admin-grid{grid-template-columns:1fr}.circuit-grid{grid-template-columns:repeat(3,1fr)}.judicial-court-heading{align-items:start;flex-direction:column}.case-jacket{padding:34px 22px}.case-columns{grid-template-columns:1fr}}
