/* ==========================================================================
   Meridian — editorial-clean override layer on the core stylesheet.
   Loaded after main.css, so these unlayered rules win over the @layer base.
   ========================================================================== */

:root {
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: var(--font-body);
  --accent: #2f5bff;
  --bg: #f6f6f4; --bg-soft: #eeeeeb; --surface: #ffffff;
  --line: #e3e3df; --text: #16161a; --muted: #6a6a72;
  --radius: 0; --measure: 38rem;
  --step-4: clamp(2.6rem, 1.6rem + 4.6vw, 5.1rem);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f1013; --bg-soft: #16181c; --surface: #191b20;
    --line: #2a2d34; --text: #f0f0f2; --muted: #9a9ba3; --accent: #6f8bff;
  }
}
:root[data-theme="dark"] {
  --bg: #0f1013; --bg-soft: #16181c; --surface: #191b20;
  --line: #2a2d34; --text: #f0f0f2; --muted: #9a9ba3; --accent: #6f8bff;
}
:root[data-theme="light"] {
  --bg: #f6f6f4; --bg-soft: #eeeeeb; --surface: #ffffff;
  --line: #e3e3df; --text: #16161a; --muted: #6a6a72; --accent: #2f5bff;
}

h1, h2, h3, h4 { letter-spacing: -0.04em; font-weight: 680; }
.hero h1 { font-weight: 720; }
.eyebrow { letter-spacing: 0.14em; }
.logo { font-weight: 720; }

.button { border-radius: 0; font-weight: 600; }
.card, .entry { background: var(--surface); }
.card { border: 1px solid var(--line); }
.tag { border-radius: 0; }

/* underline the current nav item instead of shading it */
.nav a[aria-current="page"] { background: none; box-shadow: inset 0 -2px 0 var(--accent); }

/* theme catalogue cards inherit the crisp look */
.theme-card { border-color: var(--line); }

/* the card/entry are panels now, so inset the text (image stays full-bleed) */
.card { padding-bottom: 1.1rem; }
.card > :not(.card__media) { padding-inline: 1.1rem; }
.entry { padding-inline: clamp(1.1rem, 3vw, 1.4rem); }
