/* CryptoCapital.news — ledger / brass design system */
:root{
  --ink:#0E1A26; --ink2:#132434; --paper:#F3ECDD; --paper-dim:#E7DCC3;
  --brass:#C89B3C; --brass-dim:#8F6E28; --stamp:#9E2B25;
  --muted:#9BB0C2; --line: rgba(243,236,221,0.14);
  --display: 'Fraunces', Georgia, serif;
  --body: 'Source Serif 4', Georgia, serif;
  --mono: 'IBM Plex Mono', 'Courier New', monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--ink); color:var(--paper);
  font-family:var(--body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px}
a{color:var(--brass)}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--display); font-weight:700; margin:0 0 .5em; color:var(--paper)}
.on-paper h1,.on-paper h2,.on-paper h3{color:var(--ink)}
p{margin:0 0 1em}

/* for-sale banner */
.forsale-banner{
  background:var(--brass); color:var(--ink); text-align:center;
  font-family:var(--mono); font-size:13px; letter-spacing:.02em;
  padding:8px 16px; font-weight:600;
}
.forsale-banner a{color:var(--ink); text-decoration:underline}

/* header */
.site-header{border-bottom:1px solid var(--line); background:var(--ink)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 24px}
.brand{display:flex; align-items:center; gap:8px; text-decoration:none}
.brand-mark{color:var(--brass); font-size:10px}
.brand-name{font-family:var(--display); font-weight:700; font-size:20px; color:var(--paper)}
.brand-dot{color:var(--brass)}
.footer-brand{margin-bottom:10px}
.site-nav ul{list-style:none; display:flex; gap:28px; margin:0; padding:0}
.site-nav a{color:var(--muted); text-decoration:none; font-size:15px; font-weight:600}
.site-nav a:hover,.site-nav a.active{color:var(--brass)}

/* bookmark strip */
.bookmark-strip{
  background:var(--ink2); border-bottom:1px solid var(--line);
  text-align:center; padding:10px 16px; font-size:14px; color:var(--muted);
}
.bookmark-link{color:var(--brass); font-weight:700; text-decoration:none}
.bookmark-link:hover{text-decoration:underline}
.bookmark-sep{margin:0 10px; color:var(--line)}

/* share row */
.share-row{display:flex; gap:10px; flex-wrap:wrap; margin:18px 0}
.share-btn{
  display:flex; align-items:center; gap:6px; padding:8px 14px;
  border:1px solid var(--line); border-radius:999px; text-decoration:none;
  color:var(--paper); font-size:13px; font-weight:600; font-family:var(--mono);
}
.share-btn:hover{border-color:var(--brass); color:var(--brass)}
.on-paper .share-btn{color:var(--ink); border-color:rgba(14,26,38,.2)}
.on-paper .share-btn:hover{border-color:var(--brass-dim); color:var(--brass-dim)}

/* hero */
.hero{padding:56px 0 32px}
.hero .eyebrow{
  font-family:var(--mono); color:var(--brass); letter-spacing:.08em;
  text-transform:uppercase; font-size:13px; margin-bottom:14px; display:block;
}
.hero h1{font-size:clamp(34px,5vw,58px); line-height:1.05; max-width:820px}
.hero .sub{font-size:19px; color:var(--muted); max-width:640px}
.stat-strip{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px; background:var(--line); border:1px solid var(--line); margin-top:32px;
}
.stat-cell{background:var(--ink); padding:18px 20px}
.stat-cell .num{font-family:var(--mono); font-size:26px; color:var(--brass); font-weight:600}
.stat-cell .lbl{font-size:13px; color:var(--muted); margin-top:4px}

/* tool card */
.tool-section{padding:20px 0 60px}
.tool-card{
  background:var(--paper); color:var(--ink); border-radius:6px;
  padding:36px; box-shadow:0 30px 60px rgba(0,0,0,.35);
}
.tool-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px}
@media(max-width:820px){.tool-grid{grid-template-columns:1fr}}
.field{margin-bottom:16px}
.field label{display:block; font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--brass-dim); margin-bottom:6px; font-weight:600}
.field input[type=number],.field input[type=date],.field select{
  width:100%; padding:11px 12px; border:1.5px solid rgba(14,26,38,.25); border-radius:4px;
  font-family:var(--mono); font-size:15px; background:#fff; color:var(--ink);
}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.run-btn{
  background:var(--ink); color:var(--paper); border:none; padding:14px 26px;
  font-family:var(--mono); font-weight:600; font-size:15px; border-radius:4px;
  cursor:pointer; letter-spacing:.02em; width:100%; margin-top:8px;
}
.run-btn:hover{background:var(--ink2)}

.result-panel{position:relative; border:1.5px dashed rgba(14,26,38,.25); border-radius:6px; padding:22px; min-height:220px}
.result-row{display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; border-bottom:1px solid rgba(14,26,38,.12)}
.result-row:last-child{border-bottom:none}
.result-row .k{color:#3a4956; font-size:14px}
.result-row .v{font-family:var(--mono); font-size:17px; font-weight:600}
.v.nominal{color:#3a4956; text-decoration:line-through; text-decoration-color:var(--stamp); text-decoration-thickness:2px}
.v.real{color:var(--stamp); font-size:20px}
.stamp{
  position:absolute; top:10px; right:14px; transform:rotate(-9deg);
  border:3px solid var(--stamp); color:var(--stamp); font-family:var(--mono);
  font-weight:700; letter-spacing:.08em; padding:4px 10px; font-size:13px;
  opacity:.9; border-radius:4px; pointer-events:none;
}
.result-empty{color:#7a8894; font-size:14px; font-style:italic}
.chart-wrap{margin-top:18px; height:180px}
.methodology-note{font-size:13px; color:#5a6774; margin-top:16px; border-top:1px solid rgba(14,26,38,.12); padding-top:12px}

/* comparison bars */
.bars{display:flex; flex-direction:column; gap:10px}
.bar-row{display:grid; grid-template-columns:110px 1fr 90px; align-items:center; gap:10px}
.bar-label{font-family:var(--mono); font-size:12.5px; color:#3a4956}
.bar-track{background:rgba(14,26,38,.08); border-radius:3px; height:14px; overflow:hidden}
.bar-fill{background:var(--brass-dim); height:100%; border-radius:3px}
.bar-value{font-family:var(--mono); font-size:12.5px; text-align:right; color:var(--ink)}

/* direct-answer / AI-citation block */
.direct-answer{
  background:var(--ink2); border-left:4px solid var(--brass); border-radius:4px;
  padding:22px 26px; margin:28px 0;
}
.direct-answer .q{font-family:var(--mono); color:var(--brass); font-size:13px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; display:block}
.direct-answer p{margin:0; font-size:17px}

/* generic sections on dark bg */
.section{padding:56px 0}
.section h2{font-size:30px}
.section-sub{color:var(--muted); max-width:640px; margin-bottom:28px}

/* faq */
.faq-item{border-bottom:1px solid var(--line); padding:18px 0}
.faq-item summary{cursor:pointer; font-weight:600; font-family:var(--display); font-size:18px; color:var(--paper); list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:before{content:"+ "; color:var(--brass)}
.faq-item[open] summary:before{content:"\2212 "}
.faq-item p{color:var(--muted); margin-top:10px}

/* facts ticker */
.facts-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-top:20px}
.fact-card{background:var(--ink2); border:1px solid var(--line); border-radius:6px; padding:16px 18px; font-size:14.5px}
.fact-num{font-family:var(--mono); color:var(--brass); font-weight:700; margin-right:6px}
.facts-refresh-note{font-family:var(--mono); font-size:12px; color:var(--muted); margin-top:14px}

/* card grid (articles/news) */
.card-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin-top:24px}
.card{background:var(--ink2); border:1px solid var(--line); border-radius:6px; padding:20px; display:flex; flex-direction:column}
.card .date{font-family:var(--mono); font-size:12px; color:var(--brass)}
.card h3{font-size:19px; margin:8px 0}
.card p{color:var(--muted); font-size:14.5px; flex:1}
.card a.readmore{font-family:var(--mono); font-size:13px; font-weight:600; text-decoration:none}

/* newsletter */
.newsletter-block{background:var(--paper); color:var(--ink); padding:56px 0; text-align:center}
.newsletter-block h2{color:var(--ink)}
.newsletter-block p{color:#3a4956; max-width:520px; margin:0 auto 20px}
.newsletter-form{display:flex; gap:10px; max-width:440px; margin:0 auto; flex-wrap:wrap; justify-content:center}
.newsletter-form input{flex:1; min-width:220px; padding:13px 14px; border:1.5px solid rgba(14,26,38,.25); border-radius:4px; font-family:var(--mono)}
.newsletter-form button{background:var(--ink); color:var(--paper); border:none; padding:13px 22px; border-radius:4px; font-family:var(--mono); font-weight:600; cursor:pointer}
.newsletter-fine{font-size:12px; color:#7a8894; margin-top:10px}

/* footer */
.site-footer{background:var(--ink); border-top:1px solid var(--line); padding-top:48px}
.footer-inner{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; padding-bottom:32px}
@media(max-width:720px){.footer-inner{grid-template-columns:1fr 1fr}}
.footer-col h3{font-family:var(--mono); font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--brass-dim); margin-bottom:12px}
.footer-col ul{list-style:none; margin:0; padding:0}
.footer-col li{margin-bottom:8px}
.footer-col a{color:var(--muted); text-decoration:none; font-size:14.5px}
.footer-col a:hover{color:var(--brass)}
.footer-disclaimer{font-size:13px; color:var(--muted); max-width:320px}
.footer-bottom{border-top:1px solid var(--line); padding:18px 24px; font-size:13px; color:var(--muted)}

/* article page */
.article-page{padding:48px 0 64px; max-width:760px; margin:0 auto}
.article-page h1{font-size:38px}
.article-meta{font-family:var(--mono); font-size:13px; color:var(--brass); margin-bottom:20px}
.article-page h2{font-size:24px; margin-top:36px}
.article-page p{color:var(--paper)}
.article-page .lede{font-size:19px; color:var(--muted)}
.back-link{display:inline-block; margin-bottom:24px; font-family:var(--mono); font-size:13px}

/* legal pages */
.legal-page{padding:48px 0 64px; max-width:760px; margin:0 auto}
.legal-page h1{font-size:34px}
.legal-page h2{font-size:22px; margin-top:30px}
.legal-page p,.legal-page li{color:var(--muted)}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
