/* The Armstrong Economic Code — shared styles for the explainer pages.
   Same tokens as the landing page so the deep dives read as one site. */
:root{
  --ink:#15120F;
  --ink-2:#1D1913;
  --panic:#A32A1D;
  --panic-bright:#C8402F;
  --cream:#EFE7D3;
  --cream-dim:#B9AF97;
  --gold:#C89B4C;
  --rule:#3A322A;
  --maxw:1180px;
  --prose:68ch;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:'Source Serif 4', Georgia, serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--panic); color:var(--cream);}
a{color:inherit;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.mono{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11.5px;
}
h1,h2,h3{font-family:'Fraunces', Georgia, serif; font-weight:600; margin:0; color:var(--cream);}

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(21,18,15,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 32px;}
.nav-mark{
  font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:16px;
  letter-spacing:.02em; text-decoration:none; color:var(--cream);
}
.nav-mark em{color:var(--panic-bright); font-style:normal;}
.nav-links{display:flex; gap:26px; align-items:center;}
.nav-links a{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; color:var(--cream-dim); transition:color .2s ease;
}
.nav-links a:hover{color:var(--gold);}
.nav-links a.buy{color:var(--gold); border:1px solid var(--rule); padding:8px 14px;}
.nav-links a.buy:hover{border-color:var(--gold);}
@media (max-width:760px){ .nav-links a:not(.buy){display:none;} }

/* ---------- BREADCRUMB ---------- */
.crumbs{border-bottom:1px solid var(--rule);}
.crumbs ol{
  list-style:none; margin:0; padding:16px 32px;
  max-width:var(--maxw); margin:0 auto;
  display:flex; gap:10px; flex-wrap:wrap;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cream-dim);
}
.crumbs a{text-decoration:none; color:var(--cream-dim);}
.crumbs a:hover{color:var(--gold);}
.crumbs li::after{content:'/'; margin-left:10px; color:var(--rule);}
.crumbs li:last-child::after{content:'';}
.crumbs li[aria-current]{color:var(--cream);}

/* ---------- ARTICLE HEAD ---------- */
.art-head{padding:72px 0 44px; border-bottom:1px solid var(--rule);}
.eyebrow{color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--gold); display:inline-block;}
.art-head h1{
  font-size:clamp(2.1rem,4.6vw,3.5rem);
  line-height:1.02; letter-spacing:-.01em; max-width:24ch;
}
.art-head h1 em{color:var(--panic-bright); font-style:italic; font-weight:450;}
.art-head .dek{
  font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:450;
  font-size:1.28rem; color:var(--cream-dim);
  margin:22px 0 0; max-width:52ch;
}
.art-meta{
  margin-top:26px; display:flex; gap:18px; flex-wrap:wrap;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--cream-dim);
}

/* ---------- PROSE ---------- */
.prose{padding-top:60px; padding-bottom:20px;}
.prose > *{max-width:var(--prose);}
.prose h2{
  font-size:clamp(1.5rem,2.8vw,2.05rem); line-height:1.12;
  margin:52px 0 18px; letter-spacing:-.005em;
}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.18rem; margin:36px 0 12px;}
.prose p{color:var(--cream-dim); margin:0 0 18px;}
.prose strong{color:var(--cream); font-weight:600;}
.prose em{font-style:italic;}
.prose a{color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(200,155,76,.35);}
.prose a:hover{border-bottom-color:var(--gold);}
.prose ul,.prose ol{color:var(--cream-dim); margin:0 0 20px; padding-left:22px;}
.prose li{margin-bottom:10px;}
.prose li strong{color:var(--cream);}

/* Key-figure callout */
.figure-note{
  border-left:2px solid var(--panic-bright);
  padding:4px 0 4px 22px;
  margin:30px 0 30px;
}
.figure-note .k{
  display:block; font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin-bottom:8px;
}
.figure-note .v{
  font-family:'Fraunces', Georgia, serif; font-weight:600;
  font-size:1.6rem; color:var(--cream); display:block; line-height:1.1;
}
.figure-note p{margin:8px 0 0; font-size:15.5px;}

/* Cycle table */
.cyc-table{width:100%; border-collapse:collapse; margin:28px 0 32px; max-width:var(--prose);}
.cyc-table th,.cyc-table td{
  text-align:left; padding:14px 16px 14px 0;
  border-bottom:1px solid var(--rule); font-size:15.5px; color:var(--cream-dim);
}
.cyc-table th{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold);
  border-bottom-color:var(--rule);
}
.cyc-table td:first-child{color:var(--cream); font-weight:600;}
.cyc-table caption{
  caption-side:bottom; text-align:left; padding-top:14px;
  font-size:14px; color:var(--cream-dim); font-style:italic;
}

/* Even-handed / caveat block */
.caveat{
  background:var(--ink-2);
  border:1px solid var(--rule);
  padding:28px 30px;
  margin:38px 0;
  max-width:var(--prose);
}
.caveat .k{
  display:block; font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cream-dim); margin-bottom:12px;
}
.caveat h3{font-size:1.1rem; margin:0 0 10px;}
.caveat p{margin:0 0 12px; font-size:15.5px; color:var(--cream-dim);}
.caveat p:last-child{margin-bottom:0;}

/* ---------- BOOK CTA ---------- */
.book-cta{
  background:var(--ink-2);
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  padding:64px 0;
  margin-top:64px;
}
.book-cta .mono{color:var(--gold); display:block; margin-bottom:14px;}
.book-cta h2{font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.1; max-width:26ch;}
.book-cta p{color:var(--cream-dim); margin:18px 0 0; max-width:56ch;}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px;}
.btn{
  display:flex; flex-direction:column; gap:2px;
  padding:14px 22px; border:1px solid var(--rule);
  text-decoration:none; color:var(--cream);
  transition:border-color .2s ease, background .2s ease;
}
.btn:hover{border-color:var(--gold);}
.btn .fmt{font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:15px;}
.btn small{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--cream-dim);
}
.btn.primary{background:var(--panic); border-color:var(--panic);}
.btn.primary:hover{background:var(--panic-bright); border-color:var(--panic-bright);}
.btn.primary small{color:rgba(239,231,211,.75);}

/* ---------- RELATED ---------- */
.related{padding:64px 0;}
.related .mono{color:var(--gold); display:block; margin-bottom:26px;}
.related-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule);}
@media (max-width:760px){ .related-grid{grid-template-columns:1fr;} }
.related-card{background:var(--ink); padding:30px 28px; text-decoration:none; display:block; transition:background .2s ease;}
.related-card:hover{background:var(--ink-2);}
.related-card h3{font-size:1.15rem; margin-bottom:8px; line-height:1.2;}
.related-card p{color:var(--cream-dim); font-size:14.8px; margin:0;}
.related-card .go{
  display:block; margin-top:16px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--cream-dim);
}
.related-card:hover .go{color:var(--gold);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--rule); padding:44px 0;}
.foot-nav{
  display:flex; gap:24px; flex-wrap:wrap;
  padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid var(--rule);
}
.foot-nav a{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; color:var(--cream-dim); transition:color .2s ease;
}
.foot-nav a:hover{color:var(--gold);}
.foot-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.foot-grid .mono{color:var(--cream-dim);}
.foot-grid a{text-decoration:none; color:var(--cream-dim);}
.foot-grid a:hover{color:var(--gold);}
.disclaimer{
  max-width:var(--prose); margin:26px auto 0; padding:0 32px;
  font-size:13.5px; color:#7C736A; line-height:1.6;
}
