body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--bg);
  background-image:
    radial-gradient(60% 50% at 10% 0%, rgba(226, 102, 92, 0.10) 0%, transparent 70%),
    radial-gradient(50% 40% at 100% 10%, rgba(42, 157, 143, 0.08) 0%, transparent 70%);
  background-attachment: fixed;
  color: var(--text-primary);
  font-size: var(--fs-base);
  overflow-x: hidden;
}

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

h1, h2, h3, h4 {
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

h2 {
  font-size: var(--fs-xl);
  margin-bottom: var(--space-lg);
}

p {
  color: var(--text-secondary);
  line-height: 1.7;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--accent-2);
  outline-offset: 3px;
  border-radius: 4px;
}

.section-label {
  font-size: var(--fs-sm);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--accent);
  font-weight: 600;
  margin-bottom: var(--space-sm);
}

.hero__name { font-size: var(--fs-hero); }
.hero__tagline {
  font-size: var(--fs-md);
  color: var(--text-secondary);
  margin-top: var(--space-sm);
  max-width: 40ch;
  margin-left: auto;
  margin-right: auto;
}
.hero__location {
  font-size: var(--fs-sm);
  color: var(--text-muted);
  margin-top: var(--space-xs);
  letter-spacing: 0.05em;
}
.about__text p + p { margin-top: var(--space-sm); }
