/* Base — element-level resets + typography defaults.
 * Scoped via [data-mr="1"] so v1 pages remain unaffected.
 */

[data-mr="1"] {
  font-family: var(--mr-font-sans);
  font-size: var(--mr-fs-body);
  line-height: var(--mr-lh-body);
  letter-spacing: var(--mr-tr-body);
  color: var(--mr-text-primary);
  background-color: var(--mr-surface-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

[data-mr="1"] *,
[data-mr="1"] *::before,
[data-mr="1"] *::after {
  box-sizing: border-box;
}

[data-mr="1"] img,
[data-mr="1"] svg,
[data-mr="1"] video,
[data-mr="1"] picture {
  max-width: 100%;
  height: auto;
  display: block;
}

[data-mr="1"] a {
  color: var(--mr-text-link);
  text-decoration: none;
  transition: color var(--mr-dur-short) var(--mr-ease-soft);
}

[data-mr="1"] a:hover {
  color: var(--mr-text-link-hover);
}

[data-mr="1"] h1,
[data-mr="1"] h2,
[data-mr="1"] h3,
[data-mr="1"] h4,
[data-mr="1"] h5,
[data-mr="1"] h6 {
  margin: 0;
  font-family: var(--mr-font-sans);
  font-weight: var(--mr-fw-bold);
  color: var(--mr-text-primary);
  letter-spacing: var(--mr-tr-h2);
}

[data-mr="1"] h1 {
  font-size: var(--mr-fs-h1);
  line-height: var(--mr-lh-tight);
  letter-spacing: var(--mr-tr-h1);
}

[data-mr="1"] h2 {
  font-size: var(--mr-fs-h2);
  line-height: var(--mr-lh-snug);
  letter-spacing: var(--mr-tr-h2);
}

[data-mr="1"] h3 {
  font-size: var(--mr-fs-h3);
  line-height: var(--mr-lh-heading);
  letter-spacing: var(--mr-tr-h3);
  font-weight: var(--mr-fw-semi);
}

[data-mr="1"] h4 {
  font-size: var(--mr-fs-h4);
  line-height: var(--mr-lh-heading);
  letter-spacing: var(--mr-tr-h3);
  font-weight: var(--mr-fw-semi);
}

[data-mr="1"] h5 {
  font-size: var(--mr-fs-h5);
  line-height: var(--mr-lh-heading);
  font-weight: var(--mr-fw-semi);
}

[data-mr="1"] h6 {
  font-size: var(--mr-fs-h6);
  line-height: var(--mr-lh-heading);
  font-weight: var(--mr-fw-semi);
}

[data-mr="1"] p {
  margin: 0;
  font-size: var(--mr-fs-body);
  line-height: var(--mr-lh-body);
  color: var(--mr-text-secondary);
}

[data-mr="1"] .mr-display {
  font-size: var(--mr-fs-display);
  line-height: var(--mr-lh-tight);
  letter-spacing: var(--mr-tr-display);
  font-weight: var(--mr-fw-bold);
}

[data-mr="1"] .mr-body-lg {
  font-size: var(--mr-fs-body-lg);
  line-height: var(--mr-lh-body);
}

[data-mr="1"] .mr-body-sm {
  font-size: var(--mr-fs-body-sm);
  line-height: 1.7;
}

[data-mr="1"] .mr-caption {
  font-size: var(--mr-fs-caption);
  line-height: 1.5;
  color: var(--mr-text-muted);
}

[data-mr="1"] .mr-eyebrow {
  display: inline-block;
  font-size: var(--mr-fs-eyebrow);
  font-weight: var(--mr-fw-semi);
  letter-spacing: var(--mr-tr-eyebrow);
  text-transform: uppercase;
  color: var(--mr-teal-700);
  line-height: 1.4;
}

[data-mr="1"] .mr-mono {
  font-family: var(--mr-font-mono);
  font-size: var(--mr-fs-body-sm);
  font-weight: var(--mr-fw-medium);
}

/* Smooth-scroll for hash links, with offset for sticky nav. */
[data-mr="1"] {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

@media (prefers-reduced-motion: reduce) {
  [data-mr="1"] {
    scroll-behavior: auto;
  }
}

/* Global focus ring — keyboard only via :focus-visible. */
[data-mr="1"] :focus-visible {
  outline: none;
  box-shadow: var(--mr-shadow-glow-teal);
  border-radius: var(--mr-radius-sm);
  transition: box-shadow var(--mr-dur-short) var(--mr-ease-soft);
}

/* Selection. */
[data-mr="1"] ::selection {
  background-color: var(--mr-teal-100);
  color: var(--mr-teal-700);
}
