:root{
  --bg:#fbfaf6;
  --ink:#1a1a1a;
  --muted:#5a5a5a;
  --rule:#dcd6c8;
  --accent:#7a1d1d;
  --accent-soft:#b89f6b;
  --card-bg:#ffffff;
  --max:880px;
  --max-wide:1140px;
  font-size:17px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:"Source Sans 3","Source Sans Pro",Inter,system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
@font-face{font-family:"Libre Baskerville";src:url(/fonts/LibreBaskerville-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(/fonts/LibreBaskerville-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(/fonts/LibreBaskerville-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
h1,h2,h3,h4{font-family:"Libre Baskerville",Georgia,"Times New Roman",serif;line-height:1.25;color:#0e0e0e;margin:1.6em 0 .5em}
h1{font-size:2.2rem;letter-spacing:-0.01em;margin-top:0}
h2{font-size:1.5rem;border-bottom:1px solid var(--rule);padding-bottom:.3rem;margin-top:2rem}
h3{font-size:1.2rem}
a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:#5a1010}
p{margin:1em 0}
p.lead{font-size:1.18rem;color:#3a3a3a;border-left:3px solid var(--accent-soft);padding-left:1rem;margin:1.5em 0}
p.lead em{font-style:italic}
ul,ol{margin:1em 0;padding-left:1.4em}
li{margin:.35em 0}
header.site{border-bottom:1px solid var(--rule);background:#fff}
header.site .inner,main.wrap,footer.site .inner{max-width:var(--max);margin:0 auto;padding:0 1.2rem}
header.site .inner{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem;gap:1.5rem;flex-wrap:wrap}
header.site .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
header.site .brand img{height:36px;width:auto}
header.site .brand-text{font-family:"Libre Baskerville",serif;font-weight:700;font-size:1.25rem;line-height:1}
header.site .brand-text small{display:block;font-family:"Source Sans 3",sans-serif;font-weight:400;font-size:.72rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:.2rem}
header.site nav a{color:var(--muted);text-decoration:none;margin-left:1.2rem;font-weight:600;font-size:.95rem}
header.site nav a:hover{color:var(--accent)}
main.wrap{padding-top:2rem;padding-bottom:3rem}
.hero{padding:2.5rem 0 1rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
.hero h1{font-size:2.4rem;margin-bottom:.5rem}
.hero .kicker{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin-bottom:.5rem}
.hero p.lead{border:0;padding:0;margin-top:.5rem;font-size:1.15rem}
.article-list{list-style:none;padding:0;margin:0}
.article-list li{padding:1.4rem 0;border-bottom:1px solid var(--rule)}
.article-list li:last-child{border-bottom:0}
.article-list .cat{display:inline-block;color:var(--accent);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.article-list h2{font-size:1.45rem;margin:.1rem 0 .3rem;border:0;padding:0}
.article-list h2 a{color:var(--ink);text-decoration:none}
.article-list h2 a:hover{color:var(--accent);text-decoration:underline}
.article-list .meta{color:var(--muted);font-size:.88rem}
.article-list .summary{margin:.4rem 0 0;color:#333}
article.post .post-meta{color:var(--muted);font-size:.92rem;margin-bottom:.4rem}
article.post .post-meta a{color:var(--muted)}
article.post .cat{display:inline-block;color:var(--accent);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}
.author-block{display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--rule);background:var(--card-bg);padding:1.2rem;margin:2.5rem 0 0;border-radius:4px}
.author-block .avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#b89f6b,#7a1d1d);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Libre Baskerville",serif;font-weight:700;font-size:1.5rem;flex-shrink:0}
.author-block .author-meta{flex:1}
.author-block .author-meta strong{font-family:"Libre Baskerville",serif;font-size:1.05rem;display:block;margin-bottom:.15rem}
.author-block .author-meta .role{color:var(--muted);font-size:.88rem;margin:.2rem 0 .4rem}
.author-block .author-meta p{margin:0;font-size:.95rem;color:#333}
.author-block .author-meta a{font-size:.9rem;font-weight:600}
footer.site{border-top:1px solid var(--rule);background:#f3efe5;color:var(--muted);margin-top:3rem;padding:2rem 0;font-size:.92rem}
footer.site .inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
footer.site a{color:var(--muted)}
footer.site .legal a{margin-left:1.2rem}
@media (max-width:600px){
  .hero h1{font-size:1.8rem}
  h1{font-size:1.7rem}
  header.site nav a{margin-left:.8rem;font-size:.9rem}
  footer.site .inner{flex-direction:column}
  footer.site .legal a{margin-left:0;margin-right:1rem;display:inline-block}
}

/* Z3 Forum cross-promotion CTA (added 2026-05-26) */
.forum-cta-block {
  background: linear-gradient(135deg, #1a1a22 0%, #14141a 60%, #2a1810 100%);
  color: #fafaf9;
  border-radius: 10px;
  padding: 32px 40px;
  margin: 40px auto;
  max-width: 880px;
  position: relative;
  overflow: hidden;
}
.forum-cta-block::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,138,74,0.12), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(181,74,24,0.10), transparent 50%);
  pointer-events: none;
}
.forum-cta-inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr auto; gap: 32px;
  align-items: center;
}
.forum-cta-copy h3 { margin: 0 0 8px; font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -0.020em; }
.forum-cta-copy p { margin: 0; color: #d4d4d8; font-size: 15px; line-height: 1.55; }
.forum-cta-button {
  display: inline-flex; align-items: center;
  padding: 14px 26px;
  background: #b54a18; color: #fff !important;
  border-radius: 8px; font-weight: 700; font-size: 15px;
  border-bottom: none; letter-spacing: 0.015em;
  box-shadow: 0 4px 14px rgba(181,74,24,0.40);
  transition: transform .12s ease, box-shadow .15s ease;
  white-space: nowrap;
}
.forum-cta-button:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(181,74,24,0.55); }
@media (max-width: 760px) {
  .forum-cta-block { padding: 24px 22px; margin: 32px 16px; }
  .forum-cta-inner { grid-template-columns: 1fr; gap: 20px; text-align: center; }
}
.forum-cta {
  display: inline-flex; align-items: center;
  padding: 8px 16px;
  background: #b54a18; color: #fff !important;
  border-radius: 6px;
  font-weight: 700; font-size: 13.5px;
  border-bottom: none; letter-spacing: 0.015em;
  box-shadow: 0 2px 8px rgba(181,74,24,0.30);
  transition: background .15s ease, transform .12s ease;
}
.forum-cta:hover { background: #842f0a; transform: translateY(-1px); }
