*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter','Helvetica Neue',Arial,sans-serif;color:#1a1a1a;background:#fff;line-height:1.55;font-size:17px}
a{color:#c8102e;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
header.site{border-bottom:3px solid #c8102e;background:#fff;position:sticky;top:0;z-index:10}
header.site .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.brand{font-family:Georgia,'Times New Roman',serif;font-weight:900;font-size:30px;letter-spacing:-0.02em;color:#111}
.brand a{color:#111}
nav.main ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-weight:600;font-size:15px}
nav.main a{color:#222}
nav.main a:hover{color:#c8102e}
.hero{padding:36px 0 18px;border-bottom:1px solid #eee}
.hero h1{font-family:Georgia,serif;font-size:42px;line-height:1.15;margin:0 0 12px;letter-spacing:-0.01em}
.hero .lead{font-size:19px;color:#444;margin:0;max-width:760px}
section.feed{padding:30px 0 60px}
section.feed h2.section-title{font-family:Georgia,serif;font-size:24px;margin:0 0 22px;padding-bottom:8px;border-bottom:2px solid #111}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
article.card{display:flex;flex-direction:column;border-bottom:1px solid #e6e6e6;padding-bottom:22px}
article.card .cat{text-transform:uppercase;letter-spacing:0.08em;font-size:12px;color:#c8102e;font-weight:700;margin-bottom:8px}
article.card h3{font-family:Georgia,serif;font-size:22px;line-height:1.25;margin:0 0 10px}
article.card h3 a{color:#111}
article.card p.summary{color:#444;margin:0 0 12px;font-size:15px}
article.card .meta{font-size:13px;color:#777}
.author-block{margin-top:50px;padding:28px;background:#f6f6f6;border-left:4px solid #c8102e}
.author-block h3{margin:0 0 8px;font-family:Georgia,serif;font-size:20px}
.author-block p{margin:0;color:#444}
footer.site{border-top:1px solid #ddd;padding:30px 0 40px;color:#666;font-size:14px;background:#fafafa}
footer.site .row{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}
footer.site a{color:#555}
article.full{max-width:760px;margin:0 auto;padding:30px 0 60px}
article.full .cat{text-transform:uppercase;letter-spacing:0.08em;font-size:13px;color:#c8102e;font-weight:700;margin-bottom:10px}
article.full h1{font-family:Georgia,serif;font-size:38px;line-height:1.15;margin:0 0 14px;letter-spacing:-0.01em}
article.full .byline{color:#666;font-size:14px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #eee}
article.full .byline a{color:#666;text-decoration:underline}
article.full .lead{font-size:20px;line-height:1.5;color:#222;margin:0 0 22px;font-weight:500}
article.full h2{font-family:Georgia,serif;font-size:24px;line-height:1.25;margin:30px 0 12px}
article.full p{margin:0 0 16px}
article.full ul,article.full ol{padding-left:22px}
.legal{max-width:760px;margin:0 auto;padding:30px 0 60px}
.legal h1{font-family:Georgia,serif;font-size:32px;margin:0 0 18px}
.legal h2{font-family:Georgia,serif;font-size:20px;margin:24px 0 8px}
.legal p{margin:0 0 14px}
.bio{max-width:760px;margin:0 auto;padding:30px 0 60px}
.bio h1{font-family:Georgia,serif;font-size:34px;margin:0 0 14px}
.bio .sub{color:#666;font-size:15px;margin:0 0 24px}
.bio h2{font-family:Georgia,serif;font-size:22px;margin:26px 0 10px}
.bio p{margin:0 0 14px}
@media (max-width:680px){
  .hero h1{font-size:32px}
  article.full h1{font-size:30px}
  nav.main ul{gap:14px;font-size:13px}
  .brand{font-size:24px}
}


/* --- Forum CTA (Z3 Forum cross-link) --- */
.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(200,16,46,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: #c8102e; 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(200,16,46,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(200,16,46,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 header button --- */
.forum-cta {
  display: inline-flex; align-items: center;
  padding: 8px 16px;
  background: #c8102e; 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(200,16,46,0.30);
  transition: background .15s ease, transform .12s ease;
}
.forum-cta:hover { background: #8c0a20; transform: translateY(-1px); }

/* --- Footer Z3 link section --- */
footer.site .row .z3-link a { color: #c8102e; font-weight: 700; }
footer.site .row .z3-link a:hover { text-decoration: underline; }
