/* ═══════════════════════════════════════════════════
   Manatee Capital 海牛資本 — Ghost Theme Stylesheet
   Design system: trillion-dollar cluster + terafab proven
   ═══════════════════════════════════════════════════ */

/* ── CSS RESET ─────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote {
  margin: 0;
  padding: 0;
}
img, picture { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; }

/* ── ROOT VARIABLES ────────────────────────────── */
:root {
  --ink: #0a0f1a;
  --paper: #f4f1eb;
  --paper-en: #f7f5f0;
  --accent: #1a6b5a;
  --accent-light: #2a9d8f;
  --accent-deep: #0f4a3f;
  --gold: #c9a84c;
  --gold-dim: #a8893e;
  --gold-deep: #7d6520;
  --warn: #a03a28;
  --warn-deep: #8a2e1f;
  --muted: #6b7280;
  --border: #d4cfc6;
  --card-bg: #fffdf8;
  --deep-bg: #0d1117;
  --glow: rgba(26, 107, 90, 0.08);
}

/* ── TYPOGRAPHY BASE ───────────────────────────── */
body {
  font-family: 'Noto Serif TC', Georgia, serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body[data-lang="en"] {
  font-family: 'Source Sans 3', 'Helvetica Neue', sans-serif;
  background: var(--paper-en);
  line-height: 1.75;
}

/* ═══════════════════════════════════════════════════
   TOP BAR / NAVIGATION
   ═══════════════════════════════════════════════════ */
.site-header {
  background: var(--deep-bg);
  color: #e8e4dd;
  padding: 14px 0;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 2px solid var(--gold-dim);
}
.site-header-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
  color: #f0ece4;
}
.brand-icon { font-size: 22px; }
.brand-name-en {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--gold);
  font-size: 13px;
  margin-left: 4px;
}
body[data-lang="en"] .brand {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
}
.site-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.site-nav a {
  color: #b0a998;
  padding: 6px 12px;
  font-size: 13px;
  transition: color 0.2s;
}
.site-nav a:hover { color: var(--gold); }
.nav-lang-switch {
  font-size: 12px !important;
  color: #5a6370 !important;
  border: 1px solid #2a3040;
  border-radius: 3px;
  padding: 5px 10px !important;
}
.nav-lang-switch:hover { border-color: #4a5570; color: #8a9baa !important; }
.nav-subscribe {
  background: var(--gold) !important;
  color: var(--deep-bg) !important;
  border-radius: 3px;
  font-weight: 700;
  font-size: 12px !important;
  letter-spacing: 0.5px;
  padding: 7px 18px !important;
  margin-left: 4px;
  transition: background 0.2s;
}
.nav-subscribe:hover { background: #d4b55a !important; }

/* Mobile hamburger */
.nav-toggle {
  display: none;
  background: transparent;
  border: none;
  color: #b0a998;
  font-size: 22px;
  padding: 4px 8px;
}

/* ═══════════════════════════════════════════════════
   HERO (HOMEPAGE)
   ═══════════════════════════════════════════════════ */
.home-hero {
  background: linear-gradient(170deg, #0d1117 0%, #0f2920 40%, #132a23 60%, #0d1117 100%);
  padding: 100px 24px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body[data-lang="en"] .home-hero {
  background: linear-gradient(170deg, #0d1117 0%, #1a1612 35%, #211c14 55%, #0d1117 100%);
}
.home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(26,107,90,0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 70% 70%, rgba(201,168,76,0.08) 0%, transparent 50%);
  pointer-events: none;
}
body[data-lang="en"] .home-hero::before {
  background:
    radial-gradient(ellipse at 30% 40%, rgba(201,168,76,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 70%, rgba(26,107,90,0.06) 0%, transparent 45%);
}
.hero-icon {
  font-size: 64px;
  margin-bottom: 20px;
  position: relative;
  animation: float 5s ease-in-out infinite;
  display: inline-block;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.hero-title {
  font-family: 'Noto Serif TC', serif;
  font-size: clamp(32px, 6vw, 52px);
  font-weight: 900;
  color: #f0ece4;
  line-height: 1.3;
  max-width: 700px;
  margin: 0 auto 12px;
  position: relative;
}
body[data-lang="en"] .hero-title {
  font-family: 'Playfair Display', serif;
}
.hero-title em {
  font-style: italic;
  color: var(--gold);
}
.hero-en-name {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(16px, 2.5vw, 22px);
  color: var(--gold);
  margin-bottom: 24px;
  position: relative;
}
.hero-tagline {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 16px;
  color: #8a9b92;
  max-width: 560px;
  margin: 0 auto 36px;
  line-height: 1.7;
  position: relative;
}
.hero-cta {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  padding: 16px 44px;
  border-radius: 4px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: all 0.3s;
  position: relative;
}
.hero-cta:hover {
  background: var(--accent-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(26,107,90,0.35);
}
body[data-lang="en"] .hero-cta {
  background: var(--gold);
  color: var(--deep-bg);
}
body[data-lang="en"] .hero-cta:hover {
  background: #d4b55a;
  box-shadow: 0 8px 30px rgba(201,168,76,0.3);
}
.hero-stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-top: 48px;
  position: relative;
  flex-wrap: wrap;
}
.hero-stat { text-align: center; }
.hero-stat .num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 28px;
  font-weight: 700;
  color: var(--gold);
  display: block;
}
.hero-stat .label {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: #6b7b72;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 4px;
}

/* ═══════════════════════════════════════════════════
   SECTION LAYOUT
   ═══════════════════════════════════════════════════ */
.section {
  max-width: 1080px;
  margin: 0 auto;
  padding: 72px 24px;
}
.section-header {
  text-align: center;
  margin-bottom: 48px;
}
.section-overline {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-dim);
  font-weight: 700;
  margin-bottom: 12px;
}
.section-title {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 900;
  line-height: 1.35;
  margin-bottom: 12px;
}
body[data-lang="en"] .section-title {
  font-family: 'Playfair Display', serif;
}
.section-sub {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  color: var(--muted);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════
   POST CARDS (INDEX + TAG PAGES)
   ═══════════════════════════════════════════════════ */
.post-feed {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}
.post-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  color: inherit;
}
.post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
  border-color: var(--accent);
}
body[data-lang="en"] .post-card:hover { border-color: var(--gold-dim); }

.post-card-banner { height: 6px; width: 100%; }
.banner-green { background: linear-gradient(90deg, var(--accent), var(--accent-light)); }
.banner-gold { background: linear-gradient(90deg, var(--gold-dim), var(--gold)); }
.banner-dark { background: linear-gradient(90deg, #2c3e50, #4a6274); }
.banner-warn { background: linear-gradient(90deg, var(--warn-deep), var(--warn)); }

.post-card-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.post-card-series {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gold-dim);
  font-weight: 700;
  margin-bottom: 10px;
}
.post-card-title {
  font-size: 19px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 8px;
}
body[data-lang="en"] .post-card-title {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}
.post-card-excerpt {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.65;
  flex: 1;
  margin-bottom: 16px;
}
.post-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border);
  padding-top: 14px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: var(--muted);
}
.post-card-tag {
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 2px;
  font-weight: 600;
}
.tag-free { background: rgba(26,107,90,0.1); color: var(--accent); }
.tag-paid { background: rgba(201,168,76,0.15); color: var(--gold-dim); }
.tag-members { background: rgba(42,157,143,0.15); color: var(--accent-light); }

/* Featured card (full width, first post on homepage) */
.featured-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 2px solid var(--gold-dim);
  border-radius: 8px;
  overflow: hidden;
  background: var(--card-bg);
  cursor: pointer;
  transition: all 0.3s;
  color: inherit;
}
.featured-card:hover { border-color: var(--gold); }
.featured-left {
  background: var(--deep-bg);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.featured-left::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 70%, rgba(26,107,90,0.12) 0%, transparent 60%);
  pointer-events: none;
}
body[data-lang="en"] .featured-left::before {
  background: radial-gradient(ellipse at 30% 70%, rgba(201,168,76,0.08) 0%, transparent 55%);
}
.featured-badge {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 14px;
  position: relative;
}
.featured-badge::before { content: '★ '; }
.featured-left .post-card-series {
  color: var(--gold-dim);
  position: relative;
}
.featured-left .post-card-title {
  color: #f0ece4;
  font-size: 24px;
  position: relative;
}
.featured-left .post-card-excerpt {
  color: #8a9b92;
  position: relative;
}
.featured-right {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured-right .peek-title {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 16px;
}
body[data-lang="en"] .featured-right .peek-title { color: var(--gold-dim); }
.featured-read-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 28px;
  background: var(--accent);
  color: #fff;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  font-weight: 700;
  border-radius: 3px;
  transition: all 0.25s;
  align-self: flex-start;
}
body[data-lang="en"] .featured-read-btn {
  background: var(--gold-dim);
  color: var(--deep-bg);
}

/* ═══════════════════════════════════════════════════
   POST PAGE
   ═══════════════════════════════════════════════════ */
.post-hero {
  background: linear-gradient(165deg, #0d1117 0%, #132a23 50%, #0d1117 100%);
  padding: 80px 24px 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body[data-lang="en"] .post-hero,
.post-hero[data-variant="en"] {
  background: linear-gradient(170deg, #0d1117 0%, #1a1612 40%, #211c14 60%, #0d1117 100%);
}
.post-hero[data-variant="warn"] {
  background: linear-gradient(165deg, #0d1117 0%, #1a2319 50%, #0d1117 100%);
}
.post-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(26,107,90,0.12) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 80%, rgba(201,168,76,0.08) 0%, transparent 50%);
  pointer-events: none;
}
.post-series {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  position: relative;
}
.post-series::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--gold-dim);
  margin: 12px auto 0;
}
.post-title {
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 900;
  color: #f0ece4;
  line-height: 1.35;
  max-width: 760px;
  margin: 0 auto 18px;
  position: relative;
}
body[data-lang="en"] .post-title {
  font-family: 'Playfair Display', serif;
  line-height: 1.25;
}
.post-title em {
  font-style: italic;
  color: var(--gold);
}
.post-subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(15px, 2.5vw, 19px);
  color: var(--accent-light);
  max-width: 600px;
  margin: 0 auto 24px;
  line-height: 1.5;
  position: relative;
}
.post-meta {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  color: #7a8b82;
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  position: relative;
}
.post-meta > span { display: inline-flex; align-items: center; gap: 5px; }

/* Tag chips row */
.tag-row {
  max-width: 720px;
  margin: 20px auto 0;
  padding: 0 24px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.chip {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius: 2px;
  background: var(--deep-bg);
  color: var(--gold);
  border: 1px solid rgba(201,168,76,0.3);
}

/* TOC */
.post-toc {
  max-width: 720px;
  margin: 36px auto 0;
  padding: 24px 28px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-left: 4px solid var(--gold);
  border-radius: 0 6px 6px 0;
}
.post-toc-title {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-dim);
  font-weight: 700;
  margin-bottom: 14px;
}
.post-toc ol {
  list-style: none;
  counter-reset: toc-counter;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  line-height: 1.9;
  column-count: 2;
  column-gap: 32px;
  padding: 0;
}
.post-toc ol li {
  counter-increment: toc-counter;
  padding: 2px 0;
}
.post-toc ol li::before {
  content: counter(toc-counter, cjk-decimal) "、";
  color: var(--accent);
  font-weight: 700;
  margin-right: 4px;
}
body[data-lang="en"] .post-toc ol li::before {
  content: counter(toc-counter) ". ";
}
.post-toc ol li a {
  color: #333;
  transition: color 0.2s;
}
.post-toc ol li a:hover { color: var(--accent); }

/* Article content */
.post-content {
  max-width: 720px;
  margin: 0 auto;
  padding: 32px 24px 40px;
}
.post-content h2 {
  font-size: 24px;
  font-weight: 900;
  margin: 56px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--accent);
  color: var(--ink);
  scroll-margin-top: 80px;
}
body[data-lang="en"] .post-content h2 {
  font-family: 'Playfair Display', serif;
}
.post-content h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 36px 0 14px;
  color: var(--accent);
}
.post-content p {
  margin-bottom: 18px;
  font-size: 16.5px;
}
body[data-lang="zh"] .post-content p,
body:not([data-lang]) .post-content p {
  text-align: justify;
}
.post-content strong { color: var(--accent-deep); font-weight: 700; }
.post-content em { font-style: italic; color: #444; }
.post-content ul, .post-content ol {
  margin: 12px 0 22px 0;
  padding-left: 22px;
}
.post-content ul li, .post-content ol li {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.75;
}
.post-content ul li::marker { color: var(--gold-dim); }
.post-content a {
  color: var(--accent);
  border-bottom: 1px solid rgba(26,107,90,0.3);
  transition: border-color 0.2s;
}
.post-content a:hover { border-bottom-color: var(--accent); }
.post-content blockquote {
  border-left: 4px solid var(--gold);
  padding: 8px 20px;
  margin: 24px 0;
  color: #555;
  font-style: italic;
}
.post-content figure { margin: 28px 0; }
.post-content figcaption {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: var(--muted);
  text-align: center;
  font-style: italic;
  margin-top: 10px;
}
.post-content img { border-radius: 4px; }

/* ── THREE-TIER CHAPTER COLORING ── */
/* action (gold) — wrap in div.action-section */
.post-content h2.action,
.post-content .action-section h2 {
  border-bottom-color: var(--gold);
}
.post-content h2.action::before,
.post-content .action-section h2::before {
  content: '★';
  color: var(--gold);
  font-size: 16px;
  margin-right: 10px;
  vertical-align: middle;
}
.post-content .action-section strong { color: var(--gold-deep); }

/* warning (red) — wrap in div.warning-section */
.post-content h2.warning,
.post-content .warning-section h2 {
  border-bottom-color: var(--warn);
}
.post-content h2.warning::before,
.post-content .warning-section h2::before {
  content: '⚠';
  color: var(--warn);
  font-size: 16px;
  margin-right: 10px;
  vertical-align: middle;
}
.post-content .warning-section strong { color: var(--warn-deep); }
.post-content .warning-section h3 { color: var(--warn); }

/* ═══════════════════════════════════════════════════
   CUSTOM CONTENT BOXES (HTML cards in editor)
   ═══════════════════════════════════════════════════ */

/* Manatee insight box */
.mc-insight {
  background: linear-gradient(135deg, #f9f7f2 0%, #eef5f2 100%);
  border-left: 4px solid var(--gold);
  padding: 22px 26px;
  margin: 32px 0;
  border-radius: 0 6px 6px 0;
  font-size: 15.5px;
  line-height: 1.8;
}
.mc-insight-label {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 8px;
  font-weight: 700;
}
.mc-insight p { margin-bottom: 12px; font-size: 15.5px; }
.mc-insight p:last-child { margin-bottom: 0; }

/* Deep water zone */
.mc-deepwater {
  background: var(--deep-bg);
  color: #d4cfc6;
  padding: 26px 28px;
  margin: 36px 0;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.2);
}
.mc-deepwater::before {
  content: '🌊 海牛深水區';
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: 14px;
  font-weight: 700;
}
body[data-lang="en"] .mc-deepwater::before {
  content: '⚡ CONTRARIAN NOTE';
}
.mc-deepwater p {
  font-size: 15px;
  line-height: 1.85;
  color: #c0bab0;
  margin-bottom: 12px;
}
.mc-deepwater p:last-child { margin-bottom: 0; }
.mc-deepwater strong { color: var(--gold); }

/* Wafer Zen box */
.mc-zen {
  background: linear-gradient(135deg, #1a2a24 0%, #0f2920 100%);
  color: #d4cfc6;
  padding: 26px 28px;
  margin: 36px 0;
  border-radius: 4px;
  border: 1px solid rgba(42,157,143,0.25);
}
.mc-zen::before {
  content: '🔬 晶禪廠內觀點';
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--accent-light);
  margin-bottom: 14px;
  font-weight: 700;
}
body[data-lang="en"] .mc-zen::before {
  content: '🔬 WAFER ZEN — INSIDE VIEW';
}
.mc-zen p {
  font-size: 15px;
  line-height: 1.85;
  color: #b8c7c0;
  margin-bottom: 12px;
}
.mc-zen p:last-child { margin-bottom: 0; }
.mc-zen strong { color: var(--accent-light); }

/* Takeaway box */
.mc-takeaway {
  background: var(--card-bg);
  border: 2px solid var(--accent);
  padding: 28px 30px;
  margin: 40px 0;
  border-radius: 6px;
}
.mc-takeaway::before {
  content: '⚓ 核心結論';
  display: block;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 14px;
}
body[data-lang="en"] .mc-takeaway::before {
  content: '⚓ KEY TAKEAWAYS';
}
.mc-takeaway ol {
  padding-left: 20px;
  margin: 0;
}
.mc-takeaway ol li {
  margin-bottom: 12px;
  font-size: 15.5px;
  line-height: 1.75;
}
.mc-takeaway ol li::marker {
  color: var(--accent);
  font-weight: 700;
}

/* Claim vs Reality comparison */
.mc-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 28px 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}
.mc-comparison-col {
  padding: 20px 22px;
}
.mc-comparison-col.claim {
  background: #f5f0e6;
  border-right: 1px solid var(--border);
}
.mc-comparison-col.reality {
  background: #f5eae6;
}
.mc-comparison-label {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}
.mc-comparison-col.claim .mc-comparison-label { color: var(--gold-dim); }
.mc-comparison-col.reality .mc-comparison-label { color: var(--warn); }
.mc-comparison-text {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14.5px;
  line-height: 1.7;
  color: #333;
}

/* Data tables */
.mc-table-wrap {
  overflow-x: auto;
  margin: 24px 0;
}
.mc-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
}
.mc-table thead {
  background: var(--deep-bg);
  color: var(--gold);
}
.mc-table th {
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 12px;
  text-transform: uppercase;
  white-space: nowrap;
}
.mc-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.mc-table tbody tr:hover { background: var(--glow); }
.mc-table .num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--accent);
  font-weight: 700;
}
.mc-table-caption {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: var(--muted);
  text-align: center;
  font-style: italic;
  margin-top: 8px;
}

/* ═══════════════════════════════════════════════════
   PAYWALL / MEMBERS CTA
   ═══════════════════════════════════════════════════ */
.gh-post-upgrade-cta {
  background: var(--card-bg);
  border: 2px solid var(--gold);
  border-radius: 8px;
  padding: 44px 40px;
  max-width: 500px;
  margin: 48px auto;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0,0,0,0.1), 0 0 0 1px rgba(201,168,76,0.1);
}
.gh-post-upgrade-cta::before {
  content: '🔒';
  display: block;
  font-size: 36px;
  margin-bottom: 12px;
}
.gh-post-upgrade-cta h2, .paywall-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  margin-bottom: 6px !important;
  color: var(--ink) !important;
  border: none !important;
  padding: 0 !important;
}
body[data-lang="en"] .gh-post-upgrade-cta h2 {
  font-family: 'Playfair Display', serif;
}
.paywall-subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 18px;
}
.paywall-desc {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
  margin-bottom: 24px;
}
.paywall-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 40px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 4px;
}
body[data-lang="en"] .paywall-price { color: var(--gold-dim); }
.paywall-price-unit {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 22px;
}
.paywall-btn {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  padding: 14px 44px;
  border-radius: 4px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: all 0.25s;
}
.paywall-btn:hover {
  background: var(--accent-light);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(26,107,90,0.3);
}
body[data-lang="en"] .paywall-btn { background: var(--gold-dim); color: var(--deep-bg); }
body[data-lang="en"] .paywall-btn:hover { background: var(--gold); box-shadow: 0 6px 20px rgba(201,168,76,0.3); }

.paywall-features {
  margin-top: 22px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  color: var(--muted);
  text-align: left;
  display: inline-block;
}
.paywall-features div { padding: 3px 0; }
.paywall-features div::before {
  content: '✓ ';
  color: var(--accent);
  font-weight: 700;
}

/* ═══════════════════════════════════════════════════
   SIGNUP / MEMBERS PAGES
   ═══════════════════════════════════════════════════ */
.members-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
}
.members-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 48px 40px;
  max-width: 520px;
  width: 100%;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0,0,0,0.08);
}
.members-card h1 {
  font-size: 26px;
  font-weight: 900;
  margin-bottom: 10px;
}
body[data-lang="en"] .members-card h1 { font-family: 'Playfair Display', serif; }
.members-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 24px;
}
.members-form input {
  padding: 14px 18px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  background: #fff;
}
.members-form input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(26,107,90,0.1);
}
.members-form button {
  padding: 14px 32px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  font-weight: 700;
  transition: all 0.2s;
}
.members-form button:hover { background: var(--accent-light); }

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
.site-footer {
  background: var(--deep-bg);
  color: #6b7280;
  padding: 40px 24px;
  text-align: center;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 13px;
  border-top: 2px solid var(--gold-dim);
}
.footer-brand {
  font-family: 'Noto Serif TC', serif;
  font-size: 18px;
  color: var(--gold);
  margin-bottom: 4px;
  font-weight: 700;
}
body[data-lang="en"] .footer-brand { font-family: 'Playfair Display', serif; }
.footer-en-name {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: #5a6370;
  font-size: 13px;
  margin-bottom: 16px;
}
.footer-links {
  margin: 12px 0;
}
.footer-links a {
  color: #5a6370;
  margin: 0 8px;
}
.footer-links a:hover { color: var(--gold-dim); }
.footer-disclaimer {
  max-width: 600px;
  margin: 16px auto 0;
  font-size: 11px;
  color: #4a5060;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════ */
.pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
  font-family: 'Source Sans 3', sans-serif;
}
.pagination a, .pagination span {
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--muted);
  background: var(--card-bg);
  transition: all 0.2s;
}
.pagination a:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.pagination .page-number {
  color: var(--ink);
}

/* ═══════════════════════════════════════════════════
   SUBSCRIBE / CTA BLOCK
   ═══════════════════════════════════════════════════ */
.subscribe-cta {
  background: linear-gradient(165deg, #0d1117, #132a23, #0d1117);
  text-align: center;
  padding: 80px 24px;
  color: #f0ece4;
}
body[data-lang="en"] .subscribe-cta {
  background: linear-gradient(165deg, #0d1117, #1a1612, #0d1117);
}
.subscribe-cta h2 {
  font-size: clamp(24px, 4vw, 34px);
  margin-bottom: 8px;
}
body[data-lang="en"] .subscribe-cta h2 { font-family: 'Playfair Display', serif; }
.subscribe-cta-en {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--accent-light);
  font-size: 17px;
  margin-bottom: 20px;
}
body[data-lang="en"] .subscribe-cta-en { color: var(--gold-dim); }
.subscribe-cta p {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 15px;
  color: #8a9b92;
  max-width: 480px;
  margin: 0 auto 32px;
  line-height: 1.7;
}
.subscribe-cta-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 44px;
  font-weight: 700;
  color: var(--gold);
}
.subscribe-cta-btn {
  display: inline-block;
  background: var(--gold);
  color: var(--deep-bg);
  padding: 16px 52px;
  border-radius: 4px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: all 0.3s;
  margin-top: 8px;
}
.subscribe-cta-btn:hover {
  background: #d4b55a;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(201,168,76,0.3);
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--deep-bg); flex-direction: column; padding: 16px 24px; border-top: 1px solid rgba(201,168,76,0.2); align-items: stretch; }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 10px 12px; }
  .nav-toggle { display: block; }
  .featured-card { grid-template-columns: 1fr; }
  .post-feed { grid-template-columns: 1fr; }
  .post-toc ol { column-count: 1; }
  .hero-stats { gap: 28px; }
  .mc-comparison { grid-template-columns: 1fr; }
  .mc-comparison-col.claim { border-right: none; border-bottom: 1px solid var(--border); }
  .post-content { padding: 24px 18px 40px; }
  .gh-post-upgrade-cta { padding: 32px 24px; }
}

/* ═══════════════════════════════════════════════════
   THREE STRUCTURAL LENSES (EN landing only)
   ═══════════════════════════════════════════════════ */
.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.pillar {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 32px 28px;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}
.pillar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--gold-dim), var(--gold));
    opacity: 0;
    transition: opacity 0.3s;
}
.pillar:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}
.pillar:hover::before { opacity: 1; }
.pillar-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--gold-dim);
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 1px;
}
.pillar-title {
    font-family: 'Playfair Display', serif;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.35;
}
.pillar-desc {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
}

/* ═══════════════════════════════════════════════════
   APPROACH SECTION (EN) / THREE COLUMN SERIES (ZH)
   ═══════════════════════════════════════════════════ */
.approach-section {
    background: var(--deep-bg);
    color: #d4cfc6;
    border-top: 2px solid rgba(201,168,76,0.15);
    border-bottom: 2px solid rgba(201,168,76,0.15);
}
.approach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.approach-text h3 {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    color: #f0ece4;
    margin-bottom: 16px;
    font-weight: 700;
}
.approach-text p {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 15px;
    color: #8a8578;
    line-height: 1.8;
    margin-bottom: 14px;
}
.approach-text strong { color: var(--gold); }
.approach-values {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.value-item {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(201,168,76,0.12);
    border-radius: 6px;
    padding: 22px 24px;
    transition: border-color 0.3s;
}
.value-item:hover { border-color: var(--gold-dim); }
.value-label {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 6px;
}
.value-desc {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 13.5px;
    color: #7a7568;
    line-height: 1.6;
}

/* ═══════════════════════════════════════════════════
   ZH SERIES CARDS (海牛研報 / 深水區 / 晶禪)
   ═══════════════════════════════════════════════════ */
.series-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.series-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 28px 24px;
    text-align: center;
    transition: all 0.3s;
}
.series-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}
.series-icon {
    font-size: 36px;
    margin-bottom: 14px;
}
.series-name {
    font-size: 17px;
    font-weight: 900;
    margin-bottom: 4px;
}
.series-name-en {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 12px;
}
.series-desc {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 13.5px;
    color: #666;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .pillars { grid-template-columns: 1fr; }
    .approach-grid { grid-template-columns: 1fr; gap: 36px; }
    .series-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   GHOST KOENIG EDITOR — CARD WIDTH CLASSES
   Required by Ghost editor for image/embed width controls
   ═══════════════════════════════════════════════════ */
.post-content .kg-width-wide {
    position: relative;
    width: 85vw;
    max-width: 1040px;
    min-width: 100%;
    margin-left: 50%;
    transform: translateX(-50%);
}
.post-content .kg-width-full {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}
.post-content .kg-width-full img {
    width: 100vw;
}

/* Koenig image card */
.post-content .kg-image-card {
    margin: 28px 0;
}
.post-content .kg-image-card img {
    margin: 0 auto;
    border-radius: 4px;
}
.post-content .kg-image-card figcaption {
    text-align: center;
    margin-top: 10px;
}

/* Koenig gallery card */
.post-content .kg-gallery-card {
    margin: 28px 0;
}
.post-content .kg-gallery-container {
    display: flex;
    flex-direction: column;
    max-width: 1040px;
    margin: 0 auto;
}
.post-content .kg-gallery-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}
.post-content .kg-gallery-image img {
    width: 100%;
    height: 100%;
    margin: 0;
}

/* Koenig embed card */
.post-content .kg-embed-card {
    margin: 28px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Koenig bookmark card */
.post-content .kg-bookmark-card {
    margin: 28px 0;
    width: 100%;
}
.post-content .kg-bookmark-container {
    display: flex;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s;
}
.post-content .kg-bookmark-container:hover {
    border-color: var(--accent);
}
.post-content .kg-bookmark-content {
    flex: 1;
    padding: 20px;
}
.post-content .kg-bookmark-title {
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 6px;
}
.post-content .kg-bookmark-description {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 12px;
    line-height: 1.5;
}
.post-content .kg-bookmark-metadata {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 12px;
    color: var(--muted);
}
.post-content .kg-bookmark-thumbnail img {
    max-width: 200px;
    height: 100%;
    object-fit: cover;
}

/* Koenig callout card */
.post-content .kg-callout-card {
    background: linear-gradient(135deg, #f9f7f2 0%, #eef5f2 100%);
    border-left: 4px solid var(--gold);
    padding: 22px 26px;
    margin: 28px 0;
    border-radius: 0 6px 6px 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.post-content .kg-callout-emoji {
    font-size: 22px;
    flex-shrink: 0;
}
.post-content .kg-callout-text {
    font-size: 15px;
    line-height: 1.7;
}

/* Koenig button card */
.post-content .kg-button-card {
    margin: 28px 0;
    display: flex;
    justify-content: center;
}
.post-content .kg-btn {
    display: inline-block;
    padding: 14px 32px;
    background: var(--accent);
    color: #fff;
    border-radius: 4px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 700;
    text-decoration: none;
    border: none;
    transition: all 0.2s;
}
.post-content .kg-btn:hover {
    background: var(--accent-light);
}
.post-content .kg-btn-accent {
    background: var(--gold);
    color: var(--deep-bg);
}

/* Koenig product card */
.post-content .kg-product-card {
    margin: 28px 0;
    padding: 24px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 6px;
}

/* Koenig toggle card */
.post-content .kg-toggle-card {
    margin: 24px 0;
    padding: 18px 22px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 6px;
}
.post-content .kg-toggle-heading {
    font-weight: 700;
    margin: 0;
}

/* Koenig header card */
.post-content .kg-header-card {
    padding: 60px 24px;
    text-align: center;
    background: var(--deep-bg);
    color: #f0ece4;
    margin: 28px 0;
    border-radius: 6px;
}

/* Audio + video cards */
.post-content .kg-audio-card,
.post-content .kg-video-card,
.post-content .kg-file-card {
    margin: 28px 0;
}

/* ═══════════════════════════════════════════════════
   FEATURED CARD — Inside This Report bullet list
   ═══════════════════════════════════════════════════ */
.featured-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 14px;
    color: #444;
    flex: 1;
}
.featured-bullets li {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    display: flex;
    gap: 10px;
    line-height: 1.55;
    align-items: flex-start;
}
.featured-bullets li:last-child {
    border-bottom: none;
}
.featured-bullet-arrow {
    color: var(--accent);
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}
body[data-lang="en"] .featured-bullet-arrow {
    color: var(--gold-dim);
}
.featured-bullet-fallback {
    border-bottom: none !important;
    color: var(--muted);
    font-style: italic;
    padding: 14px 0 !important;
    display: block !important;
}
.featured-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}
.featured-card-meta {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 12px;
    color: var(--muted);
}

/* ═══════════════════════════════════════════════════
   FIXES — Hero em color + TOC layout
   ═══════════════════════════════════════════════════ */

/* Fix 1: <em> in post hero title should be GOLD (was being overridden) */
.post-hero .post-title em,
.post-content .post-title em,
h1.post-title em {
    font-style: italic;
    color: var(--gold) !important;
}

/* Fix 2: TOC layout - ensure proper column widths and item spacing */
.post-toc {
    max-width: 720px;
    margin: 36px auto 0;
    padding: 24px 28px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-left: 4px solid var(--gold);
    border-radius: 0 6px 6px 0;
}
.post-toc-title {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold-dim);
    font-weight: 700;
    margin-bottom: 16px;
}
.post-toc ol {
    list-style: none;
    counter-reset: toc-counter;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 14.5px;
    line-height: 1.7;
    padding: 0;
    margin: 0;
    /* Use flex for cleaner two-column layout that handles long items */
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 36px;
    row-gap: 6px;
}
.post-toc ol li {
    counter-increment: toc-counter;
    padding: 4px 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    /* Prevent items from breaking across columns awkwardly */
    break-inside: avoid;
}
.post-toc ol li::before {
    content: counter(toc-counter, cjk-decimal) "、";
    color: var(--accent);
    font-weight: 700;
    flex-shrink: 0;
}
body[data-lang="en"] .post-toc ol li::before {
    content: counter(toc-counter) ". ";
}
.post-toc ol li a {
    color: #333;
    transition: color 0.2s;
    text-decoration: none;
    flex: 1;
    line-height: 1.55;
}
.post-toc ol li a:hover { color: var(--accent); }

/* Mobile: stack TOC into one column */
@media (max-width: 640px) {
    .post-toc ol {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════
   FONT REINFORCEMENT — explicit font-family on key elements
   Prevents fallback to system fonts when Google Fonts are slow
   ═══════════════════════════════════════════════════ */

/* Force Noto Serif TC on Chinese article content */
body[data-lang="zh"] .post-content,
body[data-lang="zh"] .post-content p,
body[data-lang="zh"] .post-content li,
body:not([data-lang]) .post-content,
body:not([data-lang]) .post-content p,
body:not([data-lang]) .post-content li {
    font-family: 'Noto Serif TC', 'PingFang TC', 'Microsoft JhengHei', '微軟正黑體', Georgia, serif;
}

/* Force Noto Serif TC on Chinese article headings (was inheriting from body fine,
   but explicit override prevents flash-of-system-font when fonts load late) */
body[data-lang="zh"] .post-content h2,
body[data-lang="zh"] .post-content h3,
body:not([data-lang]) .post-content h2,
body:not([data-lang]) .post-content h3 {
    font-family: 'Noto Serif TC', 'PingFang TC', 'Microsoft JhengHei', '微軟正黑體', Georgia, serif;
    font-weight: 900;
}
body[data-lang="zh"] .post-content h3,
body:not([data-lang]) .post-content h3 {
    font-weight: 700;
}

/* Tag chips should use Source Sans 3 with proper Chinese fallback */
.chip {
    font-family: 'Source Sans 3', 'PingFang TC', 'Microsoft JhengHei', '微軟正黑體', sans-serif;
}

/* Section titles in Chinese should use Noto Serif TC */
body[data-lang="zh"] .section-title,
body:not([data-lang]) .section-title {
    font-family: 'Noto Serif TC', 'PingFang TC', 'Microsoft JhengHei', '微軟正黑體', Georgia, serif;
}

/* ═══════════════════════════════════════════════════
   GHOST KOENIG EDITOR — Force font inheritance
   When users type directly in Ghost editor, content gets wrapped in
   .kg-card divs that may have their own font-family. Force inheritance.
   ═══════════════════════════════════════════════════ */

/* Force ALL elements inside post-content to inherit fonts properly */
.post-content,
.post-content * {
    font-family: inherit;
}

/* Re-establish base font for the article container itself */
body[data-lang="zh"] .post-content,
body:not([data-lang]) .post-content {
    font-family: 'Noto Serif TC', 'PingFang TC', 'Microsoft JhengHei',
                 '微軟正黑體', Georgia, serif !important;
}

/* But keep specific UI elements as sans-serif (these are NOT body text) */
.post-content .post-card-series,
.post-content .post-meta,
.post-content .post-toc-title,
.post-content .post-toc ol,
.post-content .featured-bullets,
.post-content .featured-bullets li,
.post-content .featured-bullets span,
.post-content .featured-card-meta,
.post-content .featured-card-footer,
.post-content .mc-insight-label,
.post-content .mc-table,
.post-content .mc-table th,
.post-content .mc-table td,
.post-content .mc-table-caption,
.post-content .mc-comparison-label,
.post-content .mc-comparison-text,
.post-content .chip,
.post-content .post-card-tag,
.post-content .featured-badge,
.post-content .peek-title,
.post-content .featured-read-btn,
.post-content .read-btn {
    font-family: 'Source Sans 3', 'PingFang TC', 'Microsoft JhengHei',
                 '微軟正黑體', sans-serif !important;
}

/* Numbers stay monospace */
.post-content .num,
.post-content .mc-table .num {
    font-family: 'JetBrains Mono', monospace !important;
}

/* English-locale articles use Source Sans 3 for body */
body[data-lang="en"] .post-content,
body[data-lang="en"] .post-content p,
body[data-lang="en"] .post-content li {
    font-family: 'Source Sans 3', 'Helvetica Neue', sans-serif !important;
}
body[data-lang="en"] .post-content h2,
body[data-lang="en"] .post-content h3,
body[data-lang="en"] .post-content h1 {
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* ═══════════════════════════════════════════════════
   FORCE CHINESE FONT — overrides all locale variants
   This ensures Chinese characters always get a Chinese serif font,
   regardless of Ghost's publication language setting.
   ═══════════════════════════════════════════════════ */

/* Base font for ALL body text - works regardless of locale */
body,
.post-content,
.post-content p,
.post-content li,
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content blockquote,
.hero-title,
.section-title,
.post-title,
.post-subtitle,
.post-card-title,
.featured-card .post-card-title {
    font-family: 'Noto Serif TC', 'Source Han Serif TC', 'PingFang TC',
                 'Songti TC', 'Microsoft JhengHei', '微軟正黑體',
                 'Helvetica Neue', Georgia, serif !important;
}

/* UI elements that should remain sans-serif */
.chip,
.post-meta,
.post-meta span,
.post-card-series,
.post-card-tag,
.post-card-footer,
.post-card-excerpt,
.section-overline,
.featured-badge,
.peek-title,
.featured-bullets,
.featured-bullets li,
.featured-bullets span,
.featured-card-meta,
.featured-card-footer,
.featured-read-btn,
.read-btn,
.post-toc-title,
.post-toc ol,
.post-toc ol li,
.post-toc ol li a,
.mc-insight-label,
.mc-comparison-label,
.mc-comparison-text,
.mc-table,
.mc-table th,
.mc-table td,
.mc-table-caption,
.pillar-num,
.pillar-desc,
.value-label,
.value-desc,
.hero-tagline,
.hero-stat .label,
.hero-stat .num,
.hero-cta,
.subscribe-cta-btn,
.cta-btn,
.cta-btn-main,
.paywall-btn,
.nav-subscribe,
.nav-lang-switch,
.site-nav a,
.brand,
.section-sub,
.footer-links,
.footer-disclaimer,
.disclaimer {
    font-family: 'Source Sans 3', 'PingFang TC', 'Microsoft JhengHei',
                 '微軟正黑體', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Helvetica, Arial, sans-serif !important;
}

/* Numbers always monospace */
.num,
.mc-table .num,
.hero-stat .num,
.subscribe-cta-price,
.cta-price,
.paywall-price {
    font-family: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace !important;
}

/* Section titles get the serif treatment too */
body[data-lang="en"] .post-content h2,
body[data-lang="en"] .post-content h3,
body[data-lang="en"] .post-title,
body[data-lang="en"] .section-title {
    font-family: 'Playfair Display', 'Noto Serif TC', Georgia, serif !important;
}

/* ═══════════════════════════════════════════════════
   CUSTOM PAYWALL — Manatee Capital branded
   Matches design: gold border card, lock icon,
   Playfair title, price, gold CTA, checklist
   ═══════════════════════════════════════════════════ */

/* Hide Ghost's default paywall UI when our custom one is active */
.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
    display: none !important;
}

/* Our paywall card */
.mc-paywall {
    max-width: 580px;
    margin: 56px auto;
    padding: 56px 48px 48px;
    background: var(--card-bg);
    border: 2px solid var(--gold);
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.08),
                0 0 0 1px rgba(201, 168, 76, 0.1);
    position: relative;
}

.mc-paywall-icon {
    font-size: 44px;
    line-height: 1;
    margin-bottom: 28px;
    display: block;
}

.mc-paywall-title {
    font-family: 'Playfair Display', 'Noto Serif TC', Georgia, serif !important;
    font-size: clamp(26px, 3.5vw, 32px);
    font-weight: 900;
    line-height: 1.25;
    color: var(--ink);
    margin: 0 0 8px;
    padding: 0;
    border: none;
}
body[data-lang="zh"] .mc-paywall-title,
body:not([data-lang]) .mc-paywall-title {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
}

.mc-paywall-subtitle {
    font-family: 'Instrument Serif', 'Playfair Display', serif !important;
    font-style: italic;
    font-size: clamp(15px, 2vw, 17px);
    color: var(--muted);
    margin-bottom: 28px;
    font-weight: 400;
}

.mc-paywall-desc {
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    margin: 0 auto 32px;
    max-width: 440px;
    text-align: center;
}

.mc-paywall-price {
    margin: 28px 0 32px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
}
.mc-paywall-price-amount {
    font-family: 'JetBrains Mono', 'SF Mono', monospace !important;
    font-size: 52px;
    font-weight: 700;
    color: var(--gold-dim);
    line-height: 1;
    letter-spacing: -1px;
}
.mc-paywall-price-unit {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 16px;
    color: var(--muted);
    font-weight: 400;
}

.mc-paywall-btn {
    display: inline-block;
    background: var(--gold-dim);
    color: var(--deep-bg) !important;
    padding: 16px 48px;
    border-radius: 4px;
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.25s ease;
    border: none;
    cursor: pointer;
    margin-bottom: 32px;
    min-width: 280px;
}
.mc-paywall-btn:hover {
    background: var(--gold);
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(201, 168, 76, 0.35);
}

.mc-paywall-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    text-align: left;
}
.mc-paywall-features li {
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-size: 14px;
    color: var(--muted);
    line-height: 1.6;
    padding: 2px 0 2px 22px;
    position: relative;
    list-style: none;
    margin: 0;
}
.mc-paywall-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--gold-dim);
    font-weight: 700;
    font-size: 13px;
}
.mc-paywall-features li::marker {
    content: '';
}

/* Signup variant (for public posts asking for email signup) */
.mc-paywall-signup .mc-paywall-icon {
    font-size: 52px;
    animation: float 5s ease-in-out infinite;
}

/* Mobile */
@media (max-width: 640px) {
    .mc-paywall {
        padding: 40px 24px 32px;
        margin: 40px 16px;
    }
    .mc-paywall-icon {
        font-size: 36px;
        margin-bottom: 20px;
    }
    .mc-paywall-price-amount {
        font-size: 42px;
    }
    .mc-paywall-btn {
        padding: 14px 32px;
        font-size: 14px;
        min-width: 100%;
    }
}

/* ═══════════════════════════════════════════════════
   GHOST PORTAL — Override default styles
   Portal is Ghost's built-in modal for signup/signin.
   These overrides use specific selectors that Portal uses.
   Note: Many Portal styles are locked and use Ghost's accent color.
   For base button color, change Accent Color in Ghost Admin instead.
   ═══════════════════════════════════════════════════ */

/* Portal modal outer container */
.gh-portal-popup-container,
.gh-portal-popup {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    border-radius: 8px !important;
    border: 2px solid var(--gold) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.12), 0 0 0 1px rgba(201,168,76,0.1) !important;
}

/* Portal headings (e.g. "Manatee Capital" title) */
.gh-portal-main-title,
.gh-portal-popup h1,
.gh-portal-popup h2 {
    font-family: 'Playfair Display', 'Noto Serif TC', Georgia, serif !important;
    font-weight: 900 !important;
    color: var(--ink) !important;
    letter-spacing: -0.5px !important;
}

body[data-lang="zh"] .gh-portal-main-title,
body[data-lang="zh"] .gh-portal-popup h1,
body[data-lang="zh"] .gh-portal-popup h2 {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
}

/* Portal body text */
.gh-portal-popup p,
.gh-portal-popup label,
.gh-portal-popup .gh-portal-setting-data,
.gh-portal-popup input {
    font-family: 'Source Sans 3', 'PingFang TC', 'Microsoft JhengHei', sans-serif !important;
}

/* Portal email input */
.gh-portal-input,
.gh-portal-popup input[type="email"],
.gh-portal-popup input[type="text"] {
    border-radius: 4px !important;
    border: 1px solid var(--border) !important;
    transition: border-color 0.2s !important;
}
.gh-portal-input:focus,
.gh-portal-popup input:focus {
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 3px rgba(201,168,76,0.15) !important;
    outline: none !important;
}

/* Portal primary button (Signup / Signin) */
.gh-portal-btn-primary,
.gh-portal-popup .gh-portal-btn-primary,
.gh-portal-popup button[class*="btn-primary"] {
    background: var(--gold-dim) !important;
    color: var(--deep-bg) !important;
    border-radius: 4px !important;
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    padding: 14px 32px !important;
    border: none !important;
    transition: all 0.25s ease !important;
}
.gh-portal-btn-primary:hover,
.gh-portal-popup .gh-portal-btn-primary:hover {
    background: var(--gold) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 24px rgba(201,168,76,0.35) !important;
}

/* Portal secondary links (e.g. "Already a member? Sign in") */
.gh-portal-btn-link,
.gh-portal-popup a {
    color: var(--gold-dim) !important;
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
}
.gh-portal-btn-link:hover,
.gh-portal-popup a:hover {
    color: var(--gold) !important;
}

/* Portal close button (X) */
.gh-portal-closeicon,
.gh-portal-popup button[class*="close"] {
    color: var(--muted) !important;
}
.gh-portal-closeicon:hover {
    color: var(--ink) !important;
}

/* Portal triggers on page (floating subscribe button bottom-right) */
.gh-portal-triggerbtn-wrapper {
    background: var(--gold-dim) !important;
    color: var(--deep-bg) !important;
    border-radius: 50% !important;
}
.gh-portal-triggerbtn-wrapper:hover {
    background: var(--gold) !important;
}

/* Portal account page (logged-in user view) */
.gh-portal-account-main h1,
.gh-portal-account-main h2 {
    font-family: 'Playfair Display', 'Noto Serif TC', serif !important;
}

/* ═══════════════════════════════════════════════════
   ABOUT US SECTION (在噪音中找到信號)
   ═══════════════════════════════════════════════════ */
.about-section {
    background: var(--deep-bg);
    color: #d4cfc6;
    border-top: 2px solid rgba(201, 168, 76, 0.2);
    border-bottom: 2px solid rgba(201, 168, 76, 0.2);
    position: relative;
    overflow: hidden;
}
.about-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(26, 107, 90, 0.1) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 70%, rgba(201, 168, 76, 0.06) 0%, transparent 50%);
    pointer-events: none;
}
.about-section .section-header {
    position: relative;
}
.about-section .section-title {
    color: #f0ece4 !important;
}

.about-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: start;
    position: relative;
}

.about-text p {
    font-family: 'Noto Serif TC', 'PingFang TC', Georgia, serif !important;
    font-size: 16px;
    color: #b0a998;
    line-height: 1.85;
    margin-bottom: 18px;
}
.about-text p:last-child { margin-bottom: 0; }
.about-text strong {
    color: var(--gold) !important;
    font-weight: 700;
}

/* Persona cards */
.persona-cards {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.persona {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(201, 168, 76, 0.15);
    border-radius: 8px;
    padding: 22px 24px;
    transition: all 0.25s;
}
.persona:hover {
    border-color: rgba(201, 168, 76, 0.4);
    background: rgba(255, 255, 255, 0.05);
}

.persona-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.persona-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}
.avatar-manatee {
    background: linear-gradient(135deg, rgba(26, 107, 90, 0.3), rgba(42, 157, 143, 0.2));
    border: 1px solid rgba(42, 157, 143, 0.3);
}
.avatar-zen {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.2), rgba(168, 137, 62, 0.15));
    border: 1px solid rgba(201, 168, 76, 0.3);
}

.persona-name {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    font-size: 17px;
    font-weight: 700;
    color: #f0ece4;
    line-height: 1.3;
}
.persona-name-en {
    font-family: 'Playfair Display', 'Instrument Serif', serif !important;
    font-style: italic;
    font-size: 13px;
    color: var(--gold-dim);
    margin-top: 2px;
}

.persona-desc {
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-size: 14px;
    color: #8a8578;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

/* ═══════════════════════════════════════════════════
   FREE PRICE LABEL adjustments
   When we use "Free / 現階段免費" instead of "$19", it's
   wider and longer than a number, so adjust sizing.
   ═══════════════════════════════════════════════════ */
.subscribe-cta-price {
    font-size: 32px !important;
    letter-spacing: -0.5px;
}
.mc-paywall-price-amount {
    font-size: 28px !important;
    letter-spacing: -0.3px;
}
body[data-lang="zh"] .mc-paywall-price-amount,
body:not([data-lang]) .mc-paywall-price-amount {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    font-weight: 700;
}
.mc-paywall-price {
    flex-direction: column !important;
    gap: 4px !important;
    align-items: center !important;
}
.mc-paywall-price-unit {
    font-size: 14px !important;
}

/* ═══════════════════════════════════════════════════
   MANIFESTO SECTION (品牌宣言)
   Strategic positioning piece - high stakes, lots of breathing room
   ═══════════════════════════════════════════════════ */
.manifesto-section {
    background: linear-gradient(180deg, var(--paper) 0%, #efebe0 100%);
    padding: 96px 24px 96px;
    position: relative;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    overflow: hidden;
}

.manifesto-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 20%, rgba(201, 168, 76, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 80%, rgba(26, 107, 90, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.manifesto-inner {
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
}

.manifesto-overline {
    font-family: 'Source Sans 3', 'PingFang TC', sans-serif !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--gold-dim);
    text-align: center;
    margin-bottom: 24px;
    position: relative;
}
.manifesto-overline::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--gold-dim);
    margin: 14px auto 0;
}

.manifesto-title {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 900;
    color: var(--ink);
    text-align: center;
    line-height: 1.45;
    max-width: 820px;
    margin: 0 auto 64px;
    letter-spacing: -0.3px;
}

.manifesto-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    margin-bottom: 56px;
}

.manifesto-block {
    background: var(--card-bg);
    padding: 32px 28px;
    border-radius: 6px;
    border-top: 3px solid var(--gold);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    transition: all 0.3s;
}
.manifesto-block:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.07);
}

.manifesto-block-title {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    font-size: 17px;
    font-weight: 900;
    color: var(--accent);
    line-height: 1.4;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}

.manifesto-block p {
    font-family: 'Noto Serif TC', 'PingFang TC', Georgia, serif !important;
    font-size: 15px;
    line-height: 1.85;
    color: #4a4a4a;
    margin: 0;
}

.manifesto-block strong {
    color: var(--gold-dim);
    font-weight: 700;
}

.manifesto-closing {
    font-family: 'Noto Serif TC', 'Playfair Display', Georgia, serif !important;
    font-size: clamp(15px, 2vw, 17px);
    line-height: 1.85;
    color: #555;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding-top: 32px;
    border-top: 1px solid var(--border);
}

.manifesto-emphasis {
    color: var(--ink);
    font-weight: 700;
    font-style: italic;
}

@media (max-width: 900px) {
    .manifesto-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .manifesto-section {
        padding: 64px 18px;
    }
    .manifesto-title {
        margin-bottom: 40px;
    }
}
