/* THE BITCOIN GROUP — newspaper hub stylesheet
   Dark newsprint: 1n2.org coal-black base, TBG signature red kept (lifted
   for contrast). Typography and rules unchanged — underground-press look.
*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&family=PT+Serif:ital,wght@0,400;0,700;1,400&family=Special+Elite&display=swap');

:root{
  --paper:#0a0a0a;
  --paper-dim:#171410;
  --ink:#e9e4d6;
  --ink-soft:#c9c3b2;
  --muted:#948d79;
  --rule:#4d4636;
  --rule-soft:#2e2a20;
  --accent:#cb5a40;          /* masthead red, lifted for dark */
  --link:#9eb3e0;
  --link-hover:#cb5a40;
  --pull:#bfb39d;
  --shadow:rgba(0,0,0,.5);
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--paper);color:var(--ink)}
body{
  font-family:'PT Serif', 'Old Standard TT', Georgia, 'Times New Roman', serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background-image:
    radial-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 3px 3px, 7px 7px;
  background-position: 0 0, 2px 4px;
}
a{color:var(--link);text-decoration:none;border-bottom:1px solid transparent}
a:hover{color:var(--link-hover);border-bottom-color:var(--link-hover)}
img{max-width:100%;height:auto;display:block}

/* ====== Masthead ====== */
.masthead{
  border-bottom:3px double var(--ink);
  padding:18px 0 14px;
  margin-bottom:14px;
}
.masthead .top-rule{
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  font-family:'Old Standard TT', serif;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  padding:5px 0;
  color:var(--ink-soft);
}
.masthead h1{
  font-family:'Old Standard TT','Playfair Display',serif;
  font-weight:700;
  font-size:clamp(2.2rem,7.5vw,5.4rem);
  letter-spacing:.012em;
  text-align:center;
  margin:8px 0 2px;
  line-height:1;
}
.masthead h1 a{color:var(--ink);border:none}
.masthead h1 a:hover{color:var(--accent)}
.masthead .dek{
  text-align:center;
  font-style:italic;
  color:var(--ink-soft);
  font-size:.95rem;
  margin-bottom:10px;
}
.masthead .by-rule{
  border-top:1px solid var(--ink);
  border-bottom:3px double var(--ink);
  padding:5px 0;
  display:flex;
  justify-content:space-between;
  font-family:'Old Standard TT', serif;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

/* ====== Section headers ====== */
.section-header{
  font-family:'Old Standard TT', serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  color:var(--accent);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:5px 0;
  margin:18px 0 12px;
  text-align:center;
}

/* ====== Front-page columns ====== */
.front{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap:22px;
  border-top:1px solid var(--rule);
  padding-top:14px;
}
.front .lede{
  border-right:1px solid var(--rule);
  padding-right:22px;
}
.front .feat-2{
  border-right:1px solid var(--rule);
  padding-right:22px;
}

/* ====== Hed + dek ====== */
.hed{
  font-family:'Playfair Display','Old Standard TT',serif;
  font-weight:900;
  line-height:1.05;
  color:var(--ink);
  margin:0 0 .35em;
}
.lede .hed{font-size:clamp(1.7rem, 3.6vw, 3rem);}
.feat-2 .hed{font-size:1.45rem;}
.feat-3 .hed{font-size:1.2rem;}
.hed a{color:var(--ink);border:none}
.hed a:hover{color:var(--accent)}

.dek{
  font-family:'PT Serif',serif;
  font-style:italic;
  color:var(--ink-soft);
  font-size:1.05rem;
  line-height:1.4;
  margin-bottom:.7em;
}
.feat-2 .dek, .feat-3 .dek{font-size:.92rem;}

.byline{
  font-family:'Old Standard TT', serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:var(--muted);
  margin:.4em 0 1em;
}
.byline strong{font-weight:700;color:var(--ink-soft)}

/* ====== Body copy ====== */
.body p{
  margin-bottom:.7em;
  text-align:justify;
  hyphens:auto;
}
.body p:first-of-type::first-letter{
  font-family:'Playfair Display', serif;
  font-weight:900;
  float:left;
  font-size:3.6em;
  line-height:.85;
  padding:.05em .08em 0 0;
  color:var(--accent);
}
.body p:first-of-type{ text-indent:0 }
.body p + p{ text-indent:1.2em }
.body blockquote{
  font-family:'PT Serif',serif;
  font-style:italic;
  color:var(--pull);
  border-left:3px solid var(--accent);
  padding:.4em 0 .4em 1em;
  margin:.9em 0 .9em -1em;
  font-size:1.05em;
  line-height:1.45;
}
.body blockquote cite{
  display:block;
  font-style:normal;
  font-family:'Old Standard TT',serif;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.4em;
}
.body h2{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.25rem;
  margin:1em 0 .25em;
  color:var(--ink);
}
.body h3{
  font-family:'Old Standard TT',serif;
  font-weight:700;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin:.9em 0 .2em;
  color:var(--accent);
}
.cover-img{
  border:1px solid var(--rule);
  margin:0 0 .35em;
  filter:saturate(.92) contrast(1.02);
}
figure.cover{margin:0 0 .6em}
figure.cover figcaption{
  font-family:'Old Standard TT',serif;
  font-size:.78rem;
  font-style:italic;
  color:var(--muted);
  border-bottom:1px solid var(--rule-soft);
  padding:4px 0;
}

.read-more{
  display:inline-block;
  font-family:'Old Standard TT',serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  color:var(--accent);
  border-bottom:1px solid var(--accent);
  margin-top:.4em;
}

/* ====== Episode-page layout ====== */
.article-page{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:32px;
  border-top:1px solid var(--rule);
  padding-top:18px;
}
.article-page main.article{min-width:0}
aside.sidebar{
  font-size:.88rem;
  border-left:1px solid var(--rule);
  padding-left:22px;
}
aside.sidebar .sb-block{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--rule-soft);
}
aside.sidebar .sb-block:last-child{border-bottom:none}
aside.sidebar h4{
  font-family:'Old Standard TT',serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  color:var(--accent);
  margin-bottom:.4em;
}
aside.sidebar ul{list-style:none}
aside.sidebar li{margin-bottom:.25em}
aside.sidebar .kv{display:flex;justify-content:space-between;gap:8px;margin-bottom:.2em}
aside.sidebar .kv .k{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
aside.sidebar .kv .v{font-weight:700;color:var(--ink)}

.article-hed{
  font-family:'Playfair Display','Old Standard TT',serif;
  font-weight:900;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1.04;
  margin-bottom:.25em;
}
.article-dek{
  font-family:'PT Serif',serif;
  font-style:italic;
  color:var(--ink-soft);
  font-size:1.2rem;
  line-height:1.4;
  margin-bottom:.6em;
  border-bottom:1px solid var(--rule-soft);
  padding-bottom:.7em;
}
.article-byline{
  font-family:'Old Standard TT',serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:1em;
}
.article-byline strong{color:var(--ink-soft);font-weight:700}

/* ====== Cards / below-the-fold ====== */
.below-fold{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:22px;
  margin:24px 0;
  border-top:3px double var(--ink);
  padding-top:18px;
}
.below-fold .col h3{
  font-family:'Old Standard TT',serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  color:var(--accent);
  border-bottom:1px solid var(--ink);
  padding-bottom:4px;
  margin-bottom:8px;
}
.below-fold ul{list-style:none}
.below-fold li{
  font-size:.88rem;
  border-bottom:1px dotted var(--rule-soft);
  padding:6px 0;
}
.below-fold li:last-child{border-bottom:none}
.below-fold li .meta{color:var(--muted);font-size:.7rem;display:block}

/* ====== Footer ====== */
.paper-footer{
  border-top:3px double var(--ink);
  margin-top:22px;
  padding:18px 0 28px;
  font-family:'Old Standard TT',serif;
  font-size:.82rem;
  color:var(--ink-soft);
}
.paper-footer nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  justify-content:center;
  margin-bottom:10px;
}
.paper-footer nav a{color:var(--ink-soft)}
.paper-footer .colophon{
  text-align:center;
  font-style:italic;
  color:var(--muted);
  font-size:.78rem;
}

/* ====== About essay box ====== */
.about-essay{
  background:var(--paper-dim);
  padding:18px 22px;
  margin:18px 0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.about-essay .label{
  font-family:'Old Standard TT',serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  color:var(--accent);
  margin-bottom:6px;
}
.about-essay p{font-size:.94rem;line-height:1.55;margin-bottom:.5em}
.about-essay p:last-child{margin-bottom:0}

/* ====== Mobile ====== */
@media (max-width:880px){
  body{font-size:15px}
  .front{grid-template-columns:1fr;gap:14px}
  .front .lede,.front .feat-2{border-right:none;padding-right:0;border-bottom:1px solid var(--rule);padding-bottom:14px}
  .below-fold{grid-template-columns:repeat(2,1fr);gap:14px}
  .article-page{grid-template-columns:1fr;gap:18px}
  aside.sidebar{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:14px}
  .masthead h1{font-size:2.2rem}
  .body blockquote{margin-left:0}
}
@media (max-width:560px){
  .below-fold{grid-template-columns:1fr}
  .masthead .top-rule,.masthead .by-rule{font-size:.65rem;letter-spacing:.1em}
  .body p:first-of-type::first-letter{font-size:2.8em}
}

/* ====== Print: back to light so paper isn't a wall of ink ====== */
@media print{
  :root{
    --paper:#fff; --paper-dim:#f0ead9; --ink:#181815; --ink-soft:#3a3a36;
    --muted:#6b6657; --rule:#b4ad97; --rule-soft:#d8d1bb;
    --accent:#7a1d12; --link:#1c2e5a; --link-hover:#7a1d12; --pull:#54473b;
  }
  body{background:white;background-image:none}
  .paper-footer{display:none}
}
