/* Pep Master — base element styles & a few opt-in utility classes */

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings default to the display serif */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: var(--fw-bold);
  line-height: var(--lh-snug);
  margin: 0 0 0.5em;
}
h1 { font-size: var(--fs-h1); line-height: var(--lh-tight); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }

p { margin: 0 0 1em; text-wrap: pretty; }
a { color: var(--text-link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---- Opt-in utility classes (brand signatures) ---- */

/* Eyebrow — the PHARMACEUTICALS treatment: uppercase, widely tracked */
.pm-eyebrow {
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--tracking-eyebrow);
  color: var(--text-muted);
}

/* Display wordmark-style heading */
.pm-display {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-strong);
}

/* Gradient ink — rose→lilac, as in the wordmark */
.pm-ink-gradient {
  background: var(--grad-rose-lilac-deep);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Card signature: white surface, soft tinted shadow, generous radius */
.pm-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

/* Soft page wash background */
.pm-wash { background: var(--grad-page-wash); }

/* Hairline divider with metallic ends, echoing the logo lockup rule */
.pm-rule {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);
}
