/* ============================================================
   Capital Rights Lab — "The Brief" design system
   Shared stylesheet for all standard pages (replaces per-page
   inlined <style> blocks). Fonts load via vendor/fonts.css.
   ============================================================ */

:root{
  --cream:#faf4e4;   /* primary background */
  --paper:#ece1c4;   /* cream tonal */
  --paper-2:#e0d3b1; /* muted body on dark */
  --sand:#ede2c5;
  --navy:#1f2a44;    /* primary ink, nav bar */
  --navy-2:#162038;
  --navy-3:#0f192e;  /* footer / signup ground */
  --navy-soft:#34405c;
  --red:#b8241f;     /* CTA / accent */
  --red-dk:#8e1a16;
  --red-lt:#d04841;  /* accent on dark */
  --ink:#1c1a17;
  --line:rgba(31,42,68,.18);
  --line-2:rgba(31,42,68,.25);
  --src:#6f6650;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--cream);color:var(--navy);font-family:"Inter Tight",sans-serif;}
a{color:inherit;}
::selection{background:var(--red);color:var(--cream);}
img{max-width:100%;display:block;}

/* ---- Nav (navy bar) ---- */
.nav{display:flex;justify-content:space-between;align-items:center;padding:18px 48px;background:var(--navy);}
.nav .logo{font-family:"EB Garamond",serif;font-weight:500;font-size:21px;color:var(--cream);text-decoration:none;letter-spacing:-.01em;}
.nav .logo em{font-style:italic;color:var(--red-lt);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-cta{background:var(--red);color:var(--cream);padding:11px 20px;font-family:"Big Shoulders Display",sans-serif;font-weight:800;letter-spacing:.07em;font-size:13px;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
.nav-cta:hover{background:var(--red-dk);}
.nav-give{font-family:"Big Shoulders Display",sans-serif;font-weight:800;letter-spacing:.07em;font-size:13px;text-transform:uppercase;text-decoration:none;color:var(--cream);border:2px solid var(--navy-soft);padding:9px 18px;white-space:nowrap;}
.nav-give:hover{border-color:var(--cream);}

/* ---- Hero: briefing cover ---- */
.hero{padding:64px 48px 52px;border-bottom:1px solid var(--line-2);}
.hero-rule{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--navy);padding-bottom:16px;margin-bottom:32px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-soft);}
.hero-rule .doc{color:var(--red);}
.hero .kicker{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:18px;}
.hero h1{font-family:"EB Garamond",serif;font-weight:500;font-size:56px;line-height:1.03;letter-spacing:-.025em;max-width:18ch;margin:0 0 22px;color:var(--navy);}
.hero h1 em{font-style:italic;font-weight:400;}
.hero .lede{font-size:18px;line-height:1.6;color:var(--navy-soft);max-width:60ch;margin:0;}

/* ---- Exhibits (stat row) ---- */
.exhibits{padding:44px 48px;border-bottom:1px solid var(--line-2);}
.exhibits .eyebrow{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy-soft);margin-bottom:18px;}
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ex{border:2px solid var(--navy);padding:22px 22px 18px;}
.ex .label{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px;}
.ex .val{font-family:"EB Garamond",serif;font-weight:500;font-size:42px;line-height:1;letter-spacing:-.02em;color:var(--navy);}
.ex .desc{font-family:"Inter Tight",sans-serif;font-size:13px;line-height:1.45;color:var(--navy-soft);margin-top:10px;}
.ex .src{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--src);margin-top:12px;}

/* ---- Numbered article sections ---- */
.article{padding:8px 48px;}
.article.tight{max-width:840px;margin:0 auto;}
.sec{padding:48px 0 44px;border-top:2px solid var(--red);}
.sec:last-child{padding-bottom:56px;}
.sec-meta{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;}
.sec-num{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;color:var(--red);text-transform:uppercase;}
.sec-sep{font-size:9px;color:var(--line-2);}
.section-label{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy-soft);margin-bottom:10px;}
.sec-meta .section-label{margin-bottom:0;}
h2{font-family:"EB Garamond",serif;font-weight:500;font-size:34px;line-height:1.12;letter-spacing:-.02em;color:var(--navy);margin-bottom:16px;}
h2 em{font-style:italic;}
.sec h2{font-size:44px;line-height:1.04;letter-spacing:-.028em;max-width:22ch;margin-bottom:24px;}
h3{font-family:"EB Garamond",serif;font-weight:500;font-size:23px;line-height:1.2;letter-spacing:-.015em;color:var(--navy);margin:28px 0 12px;}
h3 em{font-style:italic;}
.sec p,.prose p{font-family:"Inter Tight",sans-serif;font-size:17px;line-height:1.7;color:var(--navy-soft);margin-bottom:14px;}
.sec p{font-size:18px;line-height:1.75;max-width:600px;}
.sec p:last-child{margin-bottom:0;}
.sec p strong,.prose p strong{color:var(--navy);font-weight:600;}
.sec ul.bul,.prose ul.bul{list-style:none;margin:4px 0 14px;}
.sec ul.bul li,.prose ul.bul li{position:relative;padding-left:22px;margin-bottom:8px;font-size:16px;line-height:1.6;color:var(--navy-soft);}
.sec ul.bul li::before,.prose ul.bul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--red);}

/* ---- Pull quote ---- */
.pull{border-left:4px solid var(--red);padding:8px 0 8px 24px;margin:28px 0 0;font-family:"EB Garamond",serif;font-style:italic;font-size:22px;line-height:1.4;color:var(--navy);max-width:560px;}
.pull cite{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-soft);margin-top:12px;}

/* ---- Timeline as table ---- */
.tl{display:grid;grid-template-columns:68px 1fr;gap:0 20px;margin-top:4px;max-width:600px;}
.tl .yr{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--red);padding:14px 0;border-top:1px solid var(--line);}
.tl .ev{font-family:"EB Garamond",serif;font-size:18px;line-height:1.45;color:var(--navy);padding:14px 0;border-top:1px solid var(--line);}
.tl .yr.last,.tl .ev.last{border-bottom:1px solid var(--line);}
.tl em{font-style:italic;}

/* ---- Link list (e.g. our-work highlights) ---- */
.linklist{list-style:none;}
.linklist li{border-top:1px solid var(--line);}
.linklist li:last-child{border-bottom:1px solid var(--line);}
.linklist a{display:block;padding:20px 0;text-decoration:none;}
.linklist .m{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.linklist .t{font-family:"EB Garamond",serif;font-size:22px;color:var(--navy);letter-spacing:-.012em;line-height:1.18;}
.linklist .t em{font-style:italic;}
.linklist .d{font-size:14px;line-height:1.55;color:var(--navy-soft);margin-top:7px;max-width:64ch;}
.linklist a:hover .t{color:var(--red);}

/* ---- Contact line (about) ---- */
.contact-line{display:flex;gap:18px;padding:14px 0;border-top:1px solid var(--line);align-items:baseline;}
.contact-line .k{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);width:110px;flex:0 0 auto;}
.contact-line .v{font-family:"EB Garamond",serif;font-size:19px;color:var(--navy);}
.contact-line a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line-2);}
.contact-line a:hover{color:var(--red);}

/* ---- Inline action link ---- */
.act-link{display:inline-block;font-family:"Big Shoulders Display",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:13px;color:var(--red);text-decoration:none;margin-top:6px;}
.act-link:hover{color:var(--red-dk);}

/* ---- PDF / download strip (paper, testimony) ---- */
.pdf-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.pdf-link{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--navy);padding:12px 18px;text-decoration:none;font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);}
.pdf-link:hover{background:var(--navy);color:var(--cream);}
.pdf-link .x{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;color:var(--red);}
.pdf-link:hover .x{color:var(--red-lt);}

/* ---- FOIA agency blocks ---- */
.agency{border-top:1px solid var(--line);padding:24px 0;}
.agency .ag-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
.agency .ag-name{font-family:"EB Garamond",serif;font-size:22px;color:var(--navy);}
.badge{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--navy-soft);color:var(--navy-soft);white-space:nowrap;}
.badge.sent{border-color:var(--red);color:var(--red);}
.badge.resp{border-color:#2f6b3d;color:#2f6b3d;}
.agency .req,.agency .resp{font-size:15px;line-height:1.6;color:var(--navy-soft);margin-top:6px;}
.agency .req strong,.agency .resp strong{color:var(--navy);font-weight:600;}

/* ---- Press-release list (work) ---- */
.pr-item{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:120px 1fr;gap:24px;}
.pr-item:last-child{border-bottom:1px solid var(--line);}
.pr-kicker{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);line-height:1.6;}
.pr-type{display:block;color:var(--navy-soft);margin-top:4px;}
.pr-header{font-family:"EB Garamond",serif;font-weight:500;font-size:28px;line-height:1.1;letter-spacing:-.02em;color:var(--navy);margin-bottom:8px;}
.pr-header em{font-style:italic;}
.pr-deck{font-size:16px;line-height:1.6;color:var(--navy-soft);margin-bottom:12px;max-width:62ch;}
.pr-cta{font-family:"Big Shoulders Display",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:13px;color:var(--red);text-decoration:none;}
.pr-cta:hover{color:var(--red-dk);}

/* ---- Video feature (testimony-rcv) ---- */
.video-feature{padding:44px 48px;border-bottom:1px solid var(--line-2);}
.video-feature video,.video-feature .frame{width:100%;border:2px solid var(--navy);background:#000;}
.video-cap{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-soft);margin-top:12px;}

/* ---- Signup ---- */
.signup-wrap{padding:0;}
.signup-block{background:var(--navy);padding:56px 48px;text-align:center;}
.signup-block .eyebrow{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--red-lt);margin-bottom:12px;}
.signup-block h3{font-family:"EB Garamond",serif;font-weight:500;font-size:28px;color:var(--cream);margin-bottom:10px;}
.signup-block h3 em{font-style:italic;}
.signup-block p{font-size:15px;line-height:1.6;color:var(--paper-2);max-width:44ch;margin:0 auto 22px;}
.signup-form{display:flex;gap:8px;max-width:460px;margin:0 auto;flex-wrap:wrap;}
.signup-input{flex:1;min-width:200px;background:var(--navy-3);border:2px solid var(--navy-soft);color:var(--cream);padding:12px 16px;font-family:"Inter Tight",sans-serif;font-size:15px;outline:none;}
.signup-input::placeholder{color:var(--navy-soft);}
.signup-input:focus{border-color:var(--cream);}
.signup-btn{background:var(--red);color:var(--cream);border:none;padding:12px 22px;font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;white-space:nowrap;}
.signup-btn:hover{background:var(--red-dk);}
.signup-fine{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-2);margin-top:14px;}
.signup-success{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red-lt);margin-top:14px;display:none;}

/* ---- CTA band (split) ---- */
.cta-block{background:var(--red);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.cta-block .eyebrow{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);opacity:.85;margin-bottom:10px;}
.cta-block h2{font-family:"EB Garamond",serif;font-weight:500;font-size:34px;line-height:1.06;color:var(--cream);margin:0;max-width:30ch;}
.cta-block h2 em{font-style:italic;}
.cta-block p{color:var(--cream);opacity:.92;font-size:15px;max-width:42ch;margin:8px 0 0;}
.cta-btn{display:inline-block;background:var(--cream);color:var(--red);padding:15px 30px;text-decoration:none;font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.07em;box-shadow:5px 5px 0 var(--navy);white-space:nowrap;}
.cta-btn:hover{background:var(--paper);}

/* ---- Further reading ---- */
.further{padding:48px;max-width:840px;margin:0 auto;}
.further .section-label{margin-bottom:18px;}
.further ul{list-style:none;}
.further li{border-top:1px solid var(--line);padding:14px 0;}
.further li:last-child{border-bottom:1px solid var(--line);}
.further a{font-family:"Inter Tight",sans-serif;font-size:15px;color:var(--navy);text-decoration:none;}
.further a:hover{color:var(--red);}
.further .fr-src{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--src);display:block;margin-top:4px;}

/* ---- Footer ---- */
.footer{background:var(--navy-3);border-top:2px solid var(--navy-soft);padding:38px 48px;text-align:center;}
.footer .org{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-2);margin-bottom:12px;}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;}
.foot-links a{color:#8090ac;text-decoration:none;}
.foot-links a:hover{color:var(--paper-2);}

/* ---- Responsive ---- */
@media(max-width:820px){
  .nav{padding:16px 24px;}
  .hero{padding:48px 24px 40px;}
  .hero h1{font-size:40px;}
  .exhibits,.video-feature{padding:36px 24px;}
  .ex-grid{grid-template-columns:1fr;}
  .article{padding:0 24px;}
  .sec{padding:36px 0 32px;}
  .sec h2{font-size:32px;}
  .sec-meta{flex-wrap:wrap;}
  h2{font-size:28px;}
  .pr-item{grid-template-columns:1fr;gap:10px;}
  .signup-block{padding:40px 24px;}
  .signup-form{flex-direction:column;}
  .cta-block{padding:36px 24px;}
  .cta-block h2{font-size:28px;}
  .further,.footer{padding:36px 24px;}
}
@media(max-width:480px){
  .tl{grid-template-columns:54px 1fr;}
  .hero-rule{flex-direction:column;gap:6px;}
  .contact-line{flex-direction:column;gap:4px;}
  .contact-line .k{width:auto;}
}

@media(max-width:640px){
  .nav{padding:14px 20px;}
  .nav .logo{font-size:18px;}
  .nav-give,.nav .nav-cta:not(.crlnav-trigger){display:none;}
}
