/* =============================================================================
   blog.css — GEX Levels blog (index + posts)
   Scoped under body.page-blog so it only affects /blog and /blog/*. Reuses the
   landing-2026 design tokens (--ld-bg, --ld-ink, --ld-gold, --ld-sp-*, etc.)
   defined in landing.css, which must be loaded before this file on every blog
   page (same convention as the other page-specific stylesheets on this site).
   ========================================================================== */

/* ----- Post hero breadcrumb -------------------------------------------------- */
body.page-blog .ld-eyebrow__link { color: inherit; text-decoration: none; }
body.page-blog .ld-eyebrow__link:hover { text-decoration: underline; }

/* ----- Post index grid ----------------------------------------------------- */
body.page-blog .ld-blog-grid {
  display: grid;
  gap: var(--ld-sp-5);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 780px) {
  body.page-blog .ld-blog-grid { grid-template-columns: 1fr; }
}

body.page-blog .ld-blog-card {
  display: flex;
  flex-direction: column;
  gap: var(--ld-sp-3);
  padding: var(--ld-sp-6) var(--ld-sp-5);
  border: 1px solid var(--ld-line);
  border-radius: var(--ld-r-3);
  background: var(--ld-surface);
  text-decoration: none;
  transition: border-color 180ms var(--ld-ease), transform 180ms var(--ld-ease);
}
body.page-blog .ld-blog-card:hover {
  border-color: var(--ld-line-2);
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  body.page-blog .ld-blog-card:hover { transform: none; }
}
body.page-blog .ld-blog-card__meta {
  font-family: var(--ld-font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ld-ink-fade);
}
body.page-blog .ld-blog-card__title {
  margin: 0;
  font-size: 20px;
  line-height: 1.32;
  letter-spacing: -.01em;
  color: var(--ld-ink);
}
body.page-blog .ld-blog-card__excerpt {
  margin: 0;
  color: var(--ld-ink-dim);
  font-size: 14.5px;
  line-height: 1.6;
}
body.page-blog .ld-blog-card__read {
  margin-top: auto;
  color: var(--ld-gold);
  font-size: 13.5px;
  font-weight: 600;
}

/* ----- Article body --------------------------------------------------------- */
body.page-blog .ld-article {
  max-width: 720px;
  margin: 0 auto;
}
body.page-blog .ld-article__meta {
  display: flex;
  gap: var(--ld-sp-3);
  align-items: center;
  flex-wrap: wrap;
  font-family: var(--ld-font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ld-ink-fade);
  margin: 0 0 var(--ld-sp-4);
}
body.page-blog .ld-article__lede {
  font-size: 18px;
  line-height: 1.6;
  color: var(--ld-ink-dim);
  margin: 0 0 var(--ld-sp-6);
}
body.page-blog .ld-article h2 {
  font-size: clamp(22px, 2.6vw, 28px);
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--ld-ink);
  margin: var(--ld-sp-8) 0 var(--ld-sp-3);
}
body.page-blog .ld-article h3 {
  font-size: 18px;
  line-height: 1.3;
  color: var(--ld-ink);
  margin: var(--ld-sp-6) 0 var(--ld-sp-2);
}
body.page-blog .ld-article p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ld-ink-dim);
  margin: 0 0 var(--ld-sp-4);
}
body.page-blog .ld-article strong { color: var(--ld-ink); font-weight: 600; }
body.page-blog .ld-article em { color: var(--ld-ink); font-style: italic; }
body.page-blog .ld-article a {
  color: var(--ld-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page-blog .ld-article ul,
body.page-blog .ld-article ol {
  margin: 0 0 var(--ld-sp-4);
  padding-left: 1.3em;
  color: var(--ld-ink-dim);
  font-size: 16px;
  line-height: 1.7;
  display: grid;
  gap: 6px;
}
body.page-blog .ld-article li::marker { color: var(--ld-gold); }
body.page-blog .ld-article table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--ld-sp-5);
  font-size: 14.5px;
}
body.page-blog .ld-article th,
body.page-blog .ld-article td {
  border: 1px solid var(--ld-line);
  padding: 10px 12px;
  text-align: left;
  color: var(--ld-ink-dim);
  vertical-align: top;
}
body.page-blog .ld-article th {
  color: var(--ld-ink);
  font-weight: 600;
  background: var(--ld-surface);
}
body.page-blog .ld-article hr {
  border: 0;
  border-top: 1px solid var(--ld-line);
  margin: var(--ld-sp-7) 0;
}
body.page-blog .ld-article-nav {
  display: flex;
  gap: var(--ld-sp-3);
  flex-wrap: wrap;
  margin-top: var(--ld-sp-6);
}

@media (max-width: 640px) {
  body.page-blog .ld-article h2 { margin-top: var(--ld-sp-6); }
}

/* module preview video embed */
.ld-section--video{padding-top:0}
.ld-yt-embed{max-width:860px;margin:0 auto;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#000}
.ld-yt-embed iframe{width:100%;height:100%;border:0;display:block}

.ld-buy-cta{margin:32px 0 24px;padding:26px 28px;border:1px solid rgba(200,168,120,.45);border-radius:14px;background:linear-gradient(180deg,rgba(200,168,120,.10),rgba(200,168,120,.04))}
.ld-buy-cta__eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c8a878}
.ld-buy-cta__title{margin:0 0 8px;font-size:18px;font-weight:800;color:#f4ede0}
.ld-buy-cta__lede{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:#c9c4b8}
.ld-buy-cta__actions{display:flex;gap:10px;flex-wrap:wrap}
.ld-buy-cta__primary{display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;background:#c8a878;color:#0b0805;text-decoration:none;font-size:14px;font-weight:700}
.ld-buy-cta__primary:hover{background:#d4b98a}
.ld-buy-cta__secondary{display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;border:1px solid rgba(200,168,120,.5);background:transparent;color:#e7e0d0;text-decoration:none;font-size:14px;font-weight:600}
.ld-buy-cta__secondary:hover{background:rgba(200,168,120,.10);border-color:rgba(200,168,120,.7)}
.ld-buy-cta__note{margin:12px 0 0;font-size:11px;color:#7d776c}
.ld-tour-cta{margin:32px 0 24px;padding:22px 24px;border:1px solid rgba(200,168,120,.28);border-radius:14px;background:linear-gradient(180deg,rgba(200,168,120,.06),rgba(200,168,120,.02));text-align:center}
.ld-tour-cta__eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c8a878}
.ld-tour-cta__lede{margin:0 0 14px;font-size:15px;line-height:1.55;color:#c9c4b8}
.ld-tour-cta__pill{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid rgba(200,168,120,.5);background:rgba(200,168,120,.08);color:#f4ede0;text-decoration:none;font-size:14px;font-weight:600}
.ld-tour-cta__pill:hover{background:rgba(200,168,120,.16);border-color:rgba(200,168,120,.7)}

.ticker-crosslinks{margin:24px 0 8px;font-size:14px;color:#a49f92}
.ticker-crosslinks strong{color:#c8a878}
.ticker-crosslinks a{color:#e2d0aa;text-decoration:underline;margin:0 2px}
.ticker-index-block{grid-column:1/-1;margin-bottom:16px;padding:22px 24px;border:1px solid rgba(200,168,120,.28);border-radius:14px;background:linear-gradient(180deg,rgba(200,168,120,.05),rgba(200,168,120,.02))}
.ticker-index-eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c8a878}
.ticker-index-title{margin:0 0 10px;font-size:18px;font-weight:800;color:#f4ede0}
.ticker-index-list{display:flex;flex-wrap:wrap;gap:8px}
.ticker-index-pill{display:inline-block;padding:6px 12px;border:1px solid rgba(200,168,120,.3);border-radius:999px;color:#e7e0d0;text-decoration:none;font-size:13px;font-weight:600}
.ticker-index-pill:hover{background:rgba(200,168,120,.14);border-color:rgba(200,168,120,.5)}

/* Related-reading mesh block (SEO internal linking) */
.blog-related { padding: 32px 20px 8px; }
.blog-related__inner { max-width: 760px; margin: 0 auto; border-top: 1px solid rgba(212,175,55,.25); padding-top: 24px; }
.blog-related__title { font-size: 1.05rem; letter-spacing: .04em; text-transform: uppercase; color: #d4af37; margin: 0 0 12px; }
.blog-related__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.blog-related__list a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(212,175,55,.35); }
.blog-related__list a:hover { color: #d4af37; }

/* ===== GEX THEMES (GENERATED - do not edit, run scripts/gen-themes.py) ===== */
/* -- theme dark -- */
html[data-theme="dark"] .ld-yt-embed { background: #040404; }
html[data-theme="dark"] .ld-buy-cta__primary { color: #000000; }
html[data-theme="dark"] .ld-buy-cta__note { color: #7d8590; }
/* -- theme white -- */
html[data-theme="white"] .ld-yt-embed { background: #f4f4f4; }
html[data-theme="white"] .ld-buy-cta { border-color: rgba(154, 116, 52, .45); }
html[data-theme="white"] .ld-buy-cta { background: linear-gradient(180deg,rgba(154, 116, 52, .10),rgba(154, 116, 52, .04)); }
html[data-theme="white"] .ld-buy-cta__eyebrow { color: #9a7434; }
html[data-theme="white"] .ld-buy-cta__title { color: #3a352b; }
html[data-theme="white"] .ld-buy-cta__lede { color: #807869; }
html[data-theme="white"] .ld-buy-cta__primary { background: #9a7434; }
html[data-theme="white"] .ld-buy-cta__primary { color: #faf8f4; }
html[data-theme="white"] .ld-buy-cta__secondary { color: #362e1c; }
html[data-theme="white"] .ld-buy-cta__secondary { border-color: rgba(154, 116, 52, .5); }
html[data-theme="white"] .ld-buy-cta__secondary:hover { background: rgba(154, 116, 52, .10); }
html[data-theme="white"] .ld-buy-cta__secondary:hover { border-color: rgba(154, 116, 52, .7); }
html[data-theme="white"] .ld-buy-cta__note { color: #8a8478; }
html[data-theme="white"] .ld-tour-cta { border-color: rgba(154, 116, 52, .28); }
html[data-theme="white"] .ld-tour-cta { background: linear-gradient(180deg,rgba(154, 116, 52, .06),rgba(154, 116, 52, .02)); }
html[data-theme="white"] .ld-tour-cta__eyebrow { color: #9a7434; }
html[data-theme="white"] .ld-tour-cta__lede { color: #807869; }
html[data-theme="white"] .ld-tour-cta__pill { background: rgba(154, 116, 52, .08); }
html[data-theme="white"] .ld-tour-cta__pill { color: #3a352b; }
html[data-theme="white"] .ld-tour-cta__pill { border-color: rgba(154, 116, 52, .5); }
html[data-theme="white"] .ld-tour-cta__pill:hover { background: rgba(154, 116, 52, .16); }
html[data-theme="white"] .ld-tour-cta__pill:hover { border-color: rgba(154, 116, 52, .7); }
html[data-theme="white"] .ticker-crosslinks { color: #2c2a25; }
html[data-theme="white"] .ticker-crosslinks strong { color: #9a7434; }
html[data-theme="white"] .ticker-crosslinks a { color: #372e1b; }
html[data-theme="white"] .ticker-index-block { border-color: rgba(154, 116, 52, .28); }
html[data-theme="white"] .ticker-index-block { background: linear-gradient(180deg,rgba(154, 116, 52, .05),rgba(154, 116, 52, .02)); }
html[data-theme="white"] .ticker-index-eyebrow { color: #9a7434; }
html[data-theme="white"] .ticker-index-title { color: #3a352b; }
html[data-theme="white"] .ticker-index-pill { color: #362e1c; }
html[data-theme="white"] .ticker-index-pill { border-color: rgba(154, 116, 52, .3); }
html[data-theme="white"] .ticker-index-pill:hover { background: rgba(154, 116, 52, .14); }
html[data-theme="white"] .ticker-index-pill:hover { border-color: rgba(154, 116, 52, .5); }
html[data-theme="white"] .blog-related__inner { border-top-color: rgba(143, 117, 20, .25); }
html[data-theme="white"] .blog-related__title { color: #8f7514; }
html[data-theme="white"] .blog-related__list a { border-bottom-color: rgba(143, 117, 20, .35); }
html[data-theme="white"] .blog-related__list a:hover { color: #8f7514; }
/* ===== END GEX THEMES ===== */













































