/* base.css — medex-landing. PAGE-SCAFFOLD (driver, 2026-09-15).
   The ONLY place for the reset, body, img defaults and .container. Section CSS never redefines these. */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  overflow-x: clip;                 /* clip, not hidden — keeps position: sticky working (project rule) */
  -webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }  /* brief-page §8.2.6 — the page's only motion */
}

body {
  overflow-x: clip;
  min-width: 320px;
  max-width: var(--container-max);  /* page cap binds the bleed bars too (brief-page §1b, FD-W) */
  margin-inline: auto;
  font-family: var(--font-sans);
  font-size: var(--text-lead);
  line-height: var(--lh-lead);
  color: var(--c-text);
  background: var(--c-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

ul, ol { list-style: none; }

a {
  color: inherit;
  text-decoration: none;
}

img, video, svg, picture {
  max-width: 100%;
  height: auto;
  display: block;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  text-align: inherit;
}

input, textarea, select {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
  text-transform: inherit;
  letter-spacing: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*:focus { outline: none; }
*:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; }

/* in-page anchors land below nothing sticky (header is not sticky, BA-4) — small breathing room */
[id] { scroll-margin-top: 16px; }

/* CONTAINER — defined ONLY here. Vertical padding is per section (longhands only, never a shorthand). */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* Bleed override — keeps the 1920 cap, removes the horizontal padding. Never max-width: none. */
.container--bleed {
  padding-left: 0;
  padding-right: 0;
}
