/* ============================================================================
   Montivory — base element defaults & shared helpers.
   Light reset plus sensible document defaults so raw HTML picks up the brand.
   ============================================================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-family-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-primary);
  background: var(--color-background-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-heading);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-3);
  text-wrap: balance;
}
h1 { font-size: var(--text-heading-1-size); font-weight: var(--text-heading-1-weight); line-height: var(--text-heading-1-leading); }
h2 { font-size: var(--text-heading-2-size); font-weight: var(--text-heading-2-weight); line-height: var(--text-heading-2-leading); }
h3 { font-size: var(--text-heading-3-size); font-weight: var(--text-heading-3-weight); line-height: var(--text-heading-3-leading); }
h4 { font-size: var(--text-heading-4-size); font-weight: var(--text-heading-4-weight); line-height: var(--text-heading-4-leading); }

p { margin: 0 0 var(--spacing-4); text-wrap: pretty; }

a {
  color: var(--color-text-accent);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-standard);
}
a:hover { color: var(--color-accent-hover); text-decoration: underline; }

code, pre, kbd {
  font-family: var(--font-family-code);
  font-size: var(--text-code-size);
}

::selection { background: var(--mtvr-mont-blue-20); color: var(--mtvr-navy-100); }

input::placeholder, textarea::placeholder { color: var(--color-text-placeholder); opacity: 1; }

:focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: var(--radius-element); }

/* Utility surface class handy in specimen cards and prototypes */
.mtvr-surface {
  background: var(--color-background-card);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-container);
  box-shadow: var(--shadow-low);
}
