/* ============================================================
   core/typography.css
   Headings, body text, links
   ============================================================ */

.plx-text-body {
  font-size: var(--plx-font-size-md);
  color: var(--plx-text-soft);
}

.plx-text-sm { font-size: var(--plx-font-size-sm); }
.plx-text-xs { font-size: var(--plx-font-size-xs); }
.plx-text-muted { color: var(--plx-text-muted); }

/* Executive layered 3D heading layout */
.plx-title-premium {
  font-weight: 800;
  letter-spacing: -.04em;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  color: var(--plx-text-primary);
  text-shadow:
    0 1px 0 rgba(255,255,255,.04),
    0 8px 25px rgba(var(--plx-brand-primary-raw), 0.15),
    0 20px 40px rgba(0,0,0,.45);
}

/* Hero gradient title style */
.plx-title-hero {
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.05em;
  background: linear-gradient(180deg, #ffffff, #b7d8ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Section Headings */
.plx-heading-xl {
  font-size: var(--plx-font-size-3xl);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--plx-text-primary);
}

.plx-heading-lg { font-size: var(--plx-font-size-2xl); font-weight: 600; }
.plx-heading-md { font-size: var(--plx-font-size-xl); font-weight: 600; }

/* Global Anchor State Changes */
.plx-link {
  color: var(--plx-brand-primary);
  text-decoration: none;
  transition: color var(--plx-transition-fast);
}

.plx-link:hover {
  color: var(--plx-brand-secondary);
}