:root {
  --bg: #131313;
  --surface: #2c2b2b;
  --border: #242424;
  --border-soft: rgba(255, 255, 255, 0.13);
  --muted: rgba(255, 255, 255, 0.7);
  --text: #ffffff;

  --font-sans: "Inter", sans-serif;
  --font-serif: "Newsreader", "Noto Serif", serif;
  --font-mono: "SFMono-Regular", Menlo, Consolas, monospace;
  --font-display: "Michroma", sans-serif;

  /* Shared type scale */
  --text-xs: 0.625rem; /* 10px */
  --text-sm: 0.75rem; /* 12px */
  --text-md: 0.8125rem; /* 13px */
  --text-base: 0.875rem; /* 14px */
  --text-lg: 1rem; /* 16px */
  --text-xl: 1.125rem; /* 18px */
  --text-2xl: 1.3125rem; /* 21px */
  --text-3xl: 1.75rem; /* 28px */
  --text-4xl: 2rem; /* 32px */
  --text-5xl: 2.625rem; /* 42px */
  --text-6xl: 3rem; /* 48px */
  --text-7xl: 3.375rem; /* 54px */

  --leading-tight: 1.12;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text);
  background: var(--bg);
}

h1,
.hero-copy h1,
.blogs-header h1,
.detail-intro h1 {
  font-family: var(--font-serif);
  font-size: clamp(var(--text-5xl), 5vw, var(--text-7xl));
  font-weight: 400;
  line-height: var(--leading-tight);
}

h2,
.section h2,
.ventures-top h2,
.faq h2,
.cta-content h2,
.blog-card-content h2,
.article-content h2 {
  font-family: var(--font-serif);
  font-size: clamp(var(--text-4xl), 4vw, var(--text-6xl));
  font-weight: 400;
  line-height: var(--leading-tight);
}

.blog-card-content h2 {
  font-size: clamp(var(--text-2xl), 2.4vw, var(--text-3xl));
  line-height: var(--leading-snug);
}

.article-content h2 {
  font-size: clamp(var(--text-3xl), 3vw, var(--text-4xl));
}

h3,
.info-card h3,
.venture-card h3,
.footer-card h3 {
  font-size: var(--text-4xl);
  font-weight: 400;
  line-height: var(--leading-snug);
}

.info-card h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2vw, 1.375rem);
}

.venture-card h3 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.5vw, 2.0625rem);
}

.footer-card h3 {
  font-family: var(--font-serif);
  font-size: var(--text-4xl);
}

p,
.hero-copy p,
.section-subtitle,
.ventures-top p,
.faq-head p,
.blog-card-content p,
.detail-intro p,
.article-content p,
.cta-content p,
.footer-card p {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--muted);
}

.hero-copy p,
.cta-content p {
  font-size: var(--text-xl);
  line-height: var(--leading-normal);
}

.section-subtitle,
.ventures-top p,
.faq-head p,
.blogs-header p,
.detail-intro p,
.blog-card-content p,
.read-tag,
.toc h3,
.toc div,
.meta,
.chip,
.legal,
.footer-card small,
.venture-card small {
  font-family: var(--font-mono);
}

.nav-links a,
.brand-pill span,
.talk-btn,
.primary-btn,
.solid-link,
.section-tag {
  font-size: var(--text-base);
}

.faq-list summary {
  font-family: var(--font-serif);
  font-size: clamp(var(--text-2xl), 2.5vw, var(--text-3xl));
}

.brand-lockup span {
  font-size: var(--text-2xl);
  font-weight: 500;
}

.cta-btn {
  font-size: var(--text-2xl);
  font-family: var(--font-serif);
}

.footer-card small,
.chip,
.venture-card small {
  font-size: var(--text-xs);
}

.legal {
  font-size: 8px;
  line-height: 1.4;
  letter-spacing: 0.6px;
}

.footer-card p {
  font-size: var(--text-md);
}

.info-card p {
  font-size: 12px;
}

.meta {
  font-size: var(--text-sm);
}

.toc h3 {
  font-size: var(--text-base);
}

.toc div {
  font-size: 0.6875rem;
}

@media (max-width: 640px) {
  .hero-copy p,
  .cta-content p {
    font-size: var(--text-lg);
  }

  .talk-btn {
    font-size: var(--text-sm);
  }

  .cta-btn {
    font-size: var(--text-lg);
  }

  .brand-lockup span {
    font-size: var(--text-xl);
  }
}
