/* Can't Afford Wilson — evidence-file design system */

:root{
  --black:#0a0a0a;
  --charcoal:#161616;
  --charcoal-2:#1e1e1e;
  --line:#3a3a3a;
  --off-white:#f0ede6;
  --dim:#a8a39a;
  --red:#b81c1c;
  --red-bright:#d42424;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --mono: 'Courier New', Courier, monospace;
  --max: 1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--black);
  color:var(--off-white);
  font-family:var(--serif);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--off-white);}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}

/* ---------- Nav ---------- */
header.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,10,.92);
  backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:var(--max); margin:0 auto; padding:16px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{
  font-family:var(--mono); letter-spacing:.04em; font-weight:700;
  color:var(--off-white); text-decoration:none; font-size:15px;
  text-transform:uppercase;
}
.brand span{color:var(--red-bright);}
nav.links{display:flex; gap:28px;}
nav.links a{
  font-family:var(--sans); font-size:13px; letter-spacing:.06em;
  text-transform:uppercase; text-decoration:none; color:var(--dim);
  border-bottom:1px solid transparent; padding-bottom:3px;
}
nav.links a:hover, nav.links a.active{color:var(--off-white); border-color:var(--red);}
.nav-toggle{display:none; background:none; border:1px solid var(--line); color:var(--off-white); padding:8px 12px; font-family:var(--mono);}
@media (max-width:760px){
  nav.links{display:none; position:absolute; top:100%; left:0; right:0; background:var(--black); flex-direction:column; gap:0; border-bottom:1px solid var(--line);}
  nav.links.open{display:flex;}
  nav.links a{padding:14px 24px; border-bottom:1px solid var(--line);}
  .nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
  padding:72px 0 56px;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%),
    var(--black);
}
.kicker{
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.12em;
  color:var(--red-bright); font-size:13px; margin:0 0 18px;
}
.kicker::before{content:"◆ "; }
h1{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(34px, 6vw, 62px); line-height:1.06; margin:0 0 24px;
  letter-spacing:-.01em;
}
.subhead{
  font-family:var(--sans); font-size:18px; color:#d8d4cb; max-width:760px;
  margin:0 0 32px; line-height:1.65;
}
.subhead .note{color:var(--dim); font-size:14px; font-style:italic;}
.cta-row{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
  font-family:var(--sans); font-weight:700; font-size:14px;
  letter-spacing:.03em; text-transform:uppercase;
  padding:15px 26px; text-decoration:none; display:inline-block;
  border:1px solid var(--off-white); color:var(--off-white);
  transition:background .15s, color .15s, border-color .15s;
}
.btn:hover{background:var(--off-white); color:var(--black);}
.btn.primary{background:var(--red); border-color:var(--red); color:var(--off-white);}
.btn.primary:hover{background:var(--red-bright); border-color:var(--red-bright); color:var(--off-white);}

/* ---------- Bands ---------- */
.band{padding:64px 0; border-bottom:1px solid var(--line);}
.band h2{
  font-family:var(--serif); font-size:clamp(26px,4vw,38px); margin:0 0 20px;
}
.band p{font-family:var(--sans); font-size:17px; color:#d8d4cb; max-width:760px;}
.band.alt{background:var(--charcoal);}

/* ---------- Receipt cards grid ---------- */
.cards{
  display:flex; flex-wrap:wrap; margin-top:32px;
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.card{
  background:var(--black); padding:28px 24px; text-decoration:none; color:var(--off-white);
  display:flex; flex-direction:column; gap:10px; transition:background .15s;
  flex:1 1 230px; min-width:230px;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.card:hover{background:var(--charcoal-2);}
.card .exhibit-tag{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--dim); text-transform:uppercase;
}
.card .big-number{
  font-family:var(--sans); font-weight:800; font-size:clamp(28px,4vw,36px); color:var(--red-bright);
}
.card .card-line{font-family:var(--sans); font-size:14px; color:#c9c4ba; line-height:1.5;}
.card .read-more{font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--off-white); margin-top:auto; padding-top:8px;}
.card .read-more::after{content:" →";}

/* ---------- Pull quote / document block ---------- */
.quote-block{
  border:1px solid var(--line); background:var(--charcoal); padding:40px;
  margin:40px 0; position:relative;
}
.quote-block::before{
  content:"EXHIBIT"; position:absolute; top:-12px; left:24px; background:var(--red);
  color:var(--off-white); font-family:var(--mono); font-size:11px; letter-spacing:.1em;
  padding:3px 10px; text-transform:uppercase;
}
.quote-block blockquote{
  font-family:var(--mono); font-size:19px; line-height:1.6; margin:0 0 14px; color:var(--off-white);
}
.quote-block cite{font-family:var(--sans); font-size:13px; color:var(--dim); font-style:normal;}

/* ---------- Exhibit / receipt pages ---------- */
.exhibit-header{
  border-bottom:3px double var(--line); padding-bottom:28px; margin-bottom:36px;
}
.exhibit-number{
  font-family:var(--mono); font-size:13px; letter-spacing:.12em; color:var(--red-bright);
  text-transform:uppercase; margin-bottom:14px;
  border:1px solid var(--red); display:inline-block; padding:4px 10px;
}
.exhibit-header h1{margin-bottom:12px;}
.dek{font-family:var(--sans); font-size:19px; color:#d8d4cb; max-width:720px;}

.exhibit-photo{
  border:1px solid var(--line); margin:0 0 36px; background:var(--charcoal);
}
.exhibit-photo img{filter:grayscale(100%) contrast(1.12) brightness(.92); width:100%;}
.exhibit-photo figcaption{
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--dim);
  padding:10px 14px; text-transform:uppercase; border-top:1px solid var(--line);
}

.exhibit-body{font-family:var(--sans); font-size:17px; color:#dcd8cf; max-width:760px;}
.exhibit-body p{margin:0 0 22px;}
.exhibit-body sup{color:var(--red-bright); font-weight:700; margin-left:1px;}
.exhibit-body .note{
  font-family:var(--mono); font-size:13px; color:var(--dim); border-left:2px solid var(--red);
  padding-left:14px; margin:28px 0;
}

.big-stat{
  font-family:var(--sans); font-weight:800; color:var(--red-bright);
  font-size:clamp(42px,8vw,86px); line-height:1; margin:36px 0 8px; letter-spacing:-.01em;
}
.big-stat + .big-stat-label{
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--dim); text-transform:uppercase; margin-bottom:40px;
}

table.data-table{
  width:100%; border-collapse:collapse; margin:32px 0; font-family:var(--sans); font-size:15px;
}
table.data-table th, table.data-table td{
  border:1px solid var(--line); padding:12px 14px; text-align:left;
}
table.data-table th{background:var(--charcoal); font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--dim);}
table.data-table td.num{color:var(--red-bright); font-weight:700; text-align:right;}
table.data-table tr:nth-child(even) td{background:rgba(255,255,255,.02);}

/* ---------- Share row ---------- */
.share-row{
  display:flex; gap:12px; flex-wrap:wrap; margin:40px 0; padding-top:28px; border-top:1px solid var(--line);
}
.share-row a.btn{font-size:12px; padding:12px 18px;}

/* ---------- Signup ---------- */
.signup{background:var(--charcoal); border:1px solid var(--line); padding:44px; margin:48px 0;}
.signup h2{margin:0 0 10px; font-size:28px;}
.signup p{font-family:var(--sans); color:#d8d4cb; margin:0 0 24px; max-width:640px;}
.signup form{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; max-width:620px;}
.signup form .full{grid-column:1 / -1;}
.signup input{
  background:var(--black); border:1px solid var(--line); color:var(--off-white);
  padding:14px 14px; font-family:var(--sans); font-size:15px; width:100%;
}
.signup input::placeholder{color:var(--dim);}
.signup .fine{font-family:var(--sans); font-size:12px; color:var(--dim); margin-top:14px;}
.thanks{display:none; font-family:var(--sans); color:var(--off-white); background:var(--black); border:1px solid var(--red); padding:20px; margin-top:18px;}
.thanks.show{display:block;}

/* ---------- Footnotes / sources ---------- */
.sources-list{font-family:var(--sans); font-size:15px; color:#d8d4cb; max-width:820px;}
.sources-list li{margin-bottom:14px; padding-left:4px;}
.sources-list .num{font-family:var(--mono); color:var(--red-bright); margin-right:10px;}

/* ---------- Footer ---------- */
footer{padding:48px 0 60px; border-top:1px solid var(--line); background:var(--black);}
footer .foot-links{display:flex; gap:24px; flex-wrap:wrap; margin-bottom:18px;}
footer .foot-links a{font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--dim); text-decoration:none;}
footer .foot-links a:hover{color:var(--off-white);}
footer .foot-line{font-family:var(--sans); font-size:13px; color:var(--dim); margin-bottom:10px;}
footer .disclaimer{
  font-family:var(--sans); font-size:12px; color:#6f6a62; border:1px dashed var(--line); padding:14px; margin-top:18px;
}

.breadcrumb{font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--dim); text-transform:uppercase; margin-bottom:28px;}
.breadcrumb a{color:var(--dim); text-decoration:none;}
.breadcrumb a:hover{color:var(--off-white);}

.next-exhibit{
  display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
  margin:50px 0 10px; padding-top:24px; border-top:1px solid var(--line);
}
.next-exhibit a{
  font-family:var(--mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; color:var(--off-white); border:1px solid var(--line); padding:14px 20px; flex:1; text-align:center;
}
.next-exhibit a:hover{border-color:var(--red); color:var(--red-bright);}

::selection{background:var(--red); color:var(--off-white);}
