/* ==========================================================================
   Typography & Design Tokens
   Core design tokens, variables, and global text styles.
   ========================================================================== */

:root {
  --c-carbon-black: #1a1a1a;
  --c-coffee-bean: #6b4f3a;
  --c-faded-copper: #a67f5b;
  --c-pale-oak: #d4c2a8;
  --c-parchment: #f3f0eb;
  --content-max-width: 75rem;
  --font-primary: 'Inter', sans-serif;
  --font-serif: 'Noto Serif JP', serif;
  --lh-base: 1.6;
  --lh-tight: 1.25;
  --section-spacing: 6rem;
  --space-unit: 1rem;
}

/* ==========================================================================
   1. Base Text Styles
   ========================================================================== */

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: var(--c-carbon-black);
  font-family: var(--font-primary);
  line-height: var(--lh-base);
}

p {
  margin-bottom: 1.5rem;
}

/* Inline Elements */
.highlight {
  color: var(--c-faded-copper);
  font-weight: 600;
}

.small-text {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* ==========================================================================
   2. Headings
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--c-carbon-black);
  font-family: var(--font-primary);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: var(--lh-tight);
  margin-bottom: 1.5rem;
  margin-top: 0;
  text-align: center;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 2.5rem;
  letter-spacing: -0.02em;
}

@media (max-width: 48rem) {
  h1 {
    font-size: 2.8rem;
  }

  h2 {
    font-size: 2.2rem;
  }
}

h3 {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ==========================================================================
   3. Main Content Layout (Wrappers)
   ========================================================================== */

.content-wrapper {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 65rem;
  padding: 0 2rem;
  width: 100%;
}

/* Responsive adjustments for the wrapper */
@media (max-width: 48rem) {
  .content-wrapper {
    padding: 0 1.5rem;
  }
}
