/* ===========================================================================
   Asunshine MedSpa — Base element styles & a few brand utilities.
   Light-touch reset + sensible defaults wired to the tokens. No fonts ship:
   Georgia + Arial are system fonts.
   =========================================================================== */

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text-primary);
  font: var(--type-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headlines — Georgia, near-black, calm */
h1, h2, h3, h4 {
  margin: 0 0 var(--space-4);
  color: var(--text-primary);
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
}
h1 { font-size: var(--text-2xl); }
h2 { font-size: var(--text-xl); }
h3 { font-size: var(--text-lg); letter-spacing: var(--tracking-normal); }

p { margin: 0 0 var(--space-4); line-height: var(--leading-normal); text-wrap: pretty; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-hover); }

img { max-width: 100%; display: block; }

hr {
  border: 0;
  height: var(--border-width);
  background: var(--border-hairline);
  margin: var(--space-6) 0;
}

::selection { background: var(--accent-wash); color: var(--text-primary); }

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ---- Brand utilities ---- */
.eyebrow {
  font: var(--type-eyebrow);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--accent-hover);
}
.disclaimer {            /* "Individual results may vary." */
  font-size: var(--text-xs);
  color: var(--text-secondary);
  font-style: italic;
}
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--content-gutter); }
.container-narrow { max-width: var(--container-narrow); margin-inline: auto; padding-inline: var(--content-gutter); }
.section { padding-block: var(--space-9); }
.section-soft { background: var(--surface-soft); }
