@font-face { font-family: Manrope; src: url('assets/fonts/manrope-variable.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; }
:root {
  --font-display: Manrope, sans-serif;
  --font-body: Manrope, sans-serif;
  --leading-copy: 1.65;
  --measure-copy: 66ch;
}
body { font-synthesis: none; font-kerning: normal; line-height: var(--leading-copy); }
strong, b { font-weight: var(--weight-strong); }
h1, h2, h3, h4 { font-family: var(--font-body); }
.profile h1, .profile-name { font-family: var(--font-body); font-size: clamp(32px, 2.4vw, 36px); font-weight: 600; line-height: 1.05; letter-spacing: -.04em; }
.profile-role { max-width: 30ch; margin-top: var(--space-4); font-family: var(--font-body); font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.profile .contact-card h2 { font-family: var(--font-body); font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.location-caption { font-family: var(--font-body); font-size: 12px; line-height: 1.5; letter-spacing: 0; }
.page-section > h2, .experience-heading, .case-title, .contact-card.is-wide h2 {
  font-family: var(--font-display); font-weight: 650; line-height: 1.15; letter-spacing: -.035em;
}
.case-title { line-height: 1.12; overflow-wrap: anywhere; }
.contact-card.is-wide h2 { font-size: clamp(30px, 4.3vw, 56px); }
.project-name, .skill h3, .book-list h4, .experience-row h3 { font-family: var(--font-body); font-weight: 600; }
.stat-value { font-family: var(--font-body); font-variant-numeric: tabular-nums; font-weight: 600; }
.case-summary, .case-block > p, .case-results > p { max-width: var(--measure-copy); text-wrap: pretty; }
.eyebrow, .section-count, .case-passport dt { font-weight: 500; }
@media (max-width: 900px) {
  .profile h1, .profile-name { font-size: clamp(28px, 4.5vw, 36px); }
  .profile-name-line { display: inline; }
}
@media (max-width: 520px) {
  .profile h1, .profile-name { font-size: 28px; }
  .page-section > h2, .experience-heading { font-size: 30px; }
  .case-title { font-size: clamp(32px, 8.5vw, 40px); }
}
