/* ============================================================
   Journal (blog) + voice-reader controls
   ============================================================ */

.blog-hero { padding: 150px 0 60px; text-align: center; border-bottom: 1px solid var(--gold-hairline); }
.blog-hero .label { display: block; margin-bottom: 16px; }
.blog-hero h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.4rem, 5vw, 4rem); }
.blog-hero h1 em { font-style: italic; color: var(--gold-soft); }
.blog-hero p { color: var(--ivory-dim); max-width: 56ch; margin: 22px auto 0; line-height: 1.9; }

.post-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2px; }
.post-card { position: relative; display: block; text-decoration: none; padding: 44px 40px; min-height: 320px;
  border: 1px solid var(--gold-hairline); background: rgba(13,23,40,0.5); transition: background 0.4s; display: flex; flex-direction: column; }
.post-card:hover { background: rgba(200,164,92,0.05); }
.post-card .tag { font-size: 0.64rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); }
.post-card h2 { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; color: var(--ivory); line-height: 1.2; margin: 16px 0 14px; }
.post-card p { color: var(--ivory-dim); font-size: 0.9rem; line-height: 1.8; flex: 1; }
.post-card .go { margin-top: 20px; font-size: 0.66rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); transition: letter-spacing 0.4s; }
.post-card:hover .go { letter-spacing: 0.46em; }

/* ---- article ---- */
.article-wrap { max-width: 760px; margin: 0 auto; padding: 140px 28px 90px; }
.article-crumb { font-size: 0.66rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--muted); margin-bottom: 30px; }
.article-crumb a { color: var(--muted); text-decoration: none; } .article-crumb a:hover { color: var(--gold); }
.article-wrap .tag { font-size: 0.64rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); }
.article-wrap h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 4.6vw, 3.4rem); line-height: 1.12; margin: 16px 0 18px; }
.article-meta { color: var(--muted); font-size: 0.8rem; letter-spacing: 0.04em; padding-bottom: 26px; border-bottom: 1px solid var(--gold-hairline); margin-bottom: 40px; }
.article-body { color: var(--ivory-dim); font-size: 1.06rem; line-height: 2; }
.article-body p { margin-bottom: 24px; }
.article-body h2 { font-family: var(--serif); font-weight: 400; color: var(--ivory); font-size: 1.9rem; margin: 46px 0 18px; }
.article-body h3 { font-family: var(--serif); font-weight: 400; color: var(--ivory); font-size: 1.4rem; margin: 34px 0 14px; }
.article-body strong { color: var(--ivory); font-weight: 500; }
.article-body em { color: var(--gold-soft); }
.article-body a { color: var(--gold-soft); }
.article-body ul { margin: 0 0 24px 22px; } .article-body li { margin-bottom: 10px; }
.article-body blockquote { border-left: 2px solid var(--gold); margin: 30px 0; padding: 6px 0 6px 24px; font-family: var(--serif); font-style: italic; font-size: 1.35rem; color: var(--ivory); line-height: 1.5; }
.article-cta { margin-top: 56px; padding: 40px; border: 1px solid var(--gold-hairline); background: rgba(200,164,92,0.05); text-align: center; }
.article-cta h3 { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; color: var(--ivory); margin-bottom: 10px; }
.article-cta p { color: var(--muted); font-size: 0.9rem; margin-bottom: 22px; }
.article-disclaimer { margin-top: 40px; font-size: 0.76rem; color: var(--muted); line-height: 1.8; border-top: 1px solid rgba(243,239,230,0.08); padding-top: 22px; }

/* ---- voice reader controls ---- */
#vr-bar {
  position: sticky; top: 88px; z-index: 40; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 0 auto 30px; max-width: 760px; padding: 12px 16px;
  background: rgba(13,23,40,0.85); backdrop-filter: blur(8px);
  border: 1px solid var(--gold-hairline); border-radius: 10px;
}
.vr-btn { background: transparent; border: 1px solid var(--gold-faint); color: var(--gold); font-family: var(--sans);
  font-size: 0.72rem; letter-spacing: 0.06em; padding: 9px 16px; border-radius: 6px; cursor: pointer; transition: all 0.25s; }
.vr-btn:hover { background: rgba(200,164,92,0.12); }
.vr-btn.vr-main { background: var(--gold); color: var(--black); border-color: var(--gold); font-weight: 600; }
.vr-btn.vr-main:hover { background: var(--gold-soft); }
.vr-status { font-size: 0.72rem; color: var(--gold-soft); font-style: italic; font-family: var(--serif); }
#vr-sel { position: absolute; z-index: 9500; display: none; background: var(--gold); color: var(--black); border: none;
  border-radius: 6px; padding: 8px 14px; font-family: var(--sans); font-size: 0.72rem; font-weight: 600; cursor: pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,0.4); }
#vr-sel.show { display: block; }

@media (max-width: 720px) { #vr-bar { top: 0; } }
