@font-face {
  font-family: "GT America Trial";
  src: url("/assets/fonts/GT-America-Standard-Regular-Trial.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ABC Diatype";
  src: url("/assets/fonts/ABC-Diatype-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: dark;
  background: #000;
  color: #a0a0a0;
  font-family: "GT America Trial", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; font-size: 16px; line-height: 1.65; }
::selection { background: #ededed; color: #000; }
a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  opacity: 1;
  transition: opacity 150ms ease;
}
a:hover { opacity: 0.6; }
a:focus-visible { outline: 1px solid #ededed; outline-offset: 6px; }
h1, h2, h3, p, ul { margin: 0; }
h1, h2, h3 { font-weight: 400; }
.page { max-width: 784px; margin: 0 auto; padding: 48px 32px 36px; }
.page-nav, .page-footer, .eyebrow, h2, .role__tenure, .contact-links {
  font-family: "ABC Diatype", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.page-nav { display: flex; justify-content: space-between; gap: 24px; font-size: 14px; }
.page-nav a { min-height: 32px; display: inline-flex; align-items: center; gap: 8px; }
.intro { margin: 88px 0 0; }
.eyebrow { color: #929292; font-size: 13px; }
.eyebrow span { padding: 0 7px; }
h1 { margin-top: 20px; color: #ededed; font-size: clamp(30px, 4.6vw, 38px); line-height: 1.25; letter-spacing: -0.025em; }
h1 span { color: #a0a0a0; }
.intro__summary { margin-top: 18px; color: #b5b5b5; }
.intro__specialties { margin-top: 22px; font-size: 14px; color: #929292; }
.intro__specialties span { padding: 0 6px; color: #656565; }
.contact-links { display: flex; flex-wrap: wrap; column-gap: 22px; row-gap: 8px; margin-top: 24px; font-size: 14px; }
.cv-section { margin-top: 64px; }
h2 { margin-bottom: 25px; color: #929292; font-size: 13px; line-height: 1.5; }
.profile p + p { margin-top: 18px; }
.role + .role { margin-top: 46px; }
.role__heading { margin-bottom: 16px; }
h3 { color: #ededed; font-size: 20px; line-height: 1.4; letter-spacing: -0.02em; }
.role__title { margin-top: 4px; color: #d2d2d2; }
.role__tenure { margin-top: 5px; color: #929292; font-size: 13px; line-height: 1.6; }
.role ul { padding-left: 19px; margin-top: 17px; }
.role li { padding-left: 4px; }
.role li + li { margin-top: 9px; }
.role li::marker { color: #737373; font-size: 0.75em; }
.engagement + .engagement { margin-top: 30px; }
.engagement > p:last-child { margin-top: 12px; }
.expertise { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 7px 0; }
.expertise li { display: inline; }
.expertise li:not(:last-child)::after { content: "/"; margin: 0 12px; color: #656565; }
.education p + p { margin-top: 22px; }
.education p span { color: #d2d2d2; }
.page-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 88px; font-size: 14px; }
.skip-link { position: fixed; top: 12px; left: 16px; padding: 8px 12px; background: #ededed; color: #000; z-index: 2; transform: translateY(-150%); }
.skip-link:focus { transform: none; color: #000; }

@media (max-width: 600px) {
  .page { padding: 28px 24px; }
  .intro { margin-top: 64px; }
  h1 { max-width: 420px; }
  .intro__specialties { line-height: 1.8; }
  .contact-links { column-gap: 20px; }
  .contact-links > :first-child { flex-basis: 100%; }
  .cv-section { margin-top: 48px; }
  .role + .role { margin-top: 38px; }
  .page-footer { margin-top: 64px; }
}

@media screen {
  :root { color: #b5b5b5; }
  body { font-size: 18px; line-height: 1.4; }
  .page { max-width: 1200px; padding: 48px 40px 36px; }
  .page-nav { flex-wrap: wrap; gap: 12px 24px; font-size: 16px; line-height: 1.25; }
  .intro { margin-top: 48px; }
  .eyebrow { color: #a0a0a0; font-size: 15px; }
  h1 { margin-top: 16px; font-size: clamp(34px, 4.6vw, 56px); line-height: 1.1; }
  h1 span { color: #b5b5b5; }
  .intro__specialties { margin-top: 18px; font-size: 16px; line-height: 1.4; color: #a0a0a0; }
  .contact-links { gap: 6px 24px; margin-top: 20px; font-size: 16px; line-height: 1.4; }
  .contact-links a { overflow-wrap: anywhere; }
  .cv-section { margin-top: 40px; }
  h2 { margin-bottom: 16px; color: #a0a0a0; font-size: 16px; line-height: 1.25; }
  .profile p + p { margin-top: 14px; }
  .role + .role { margin-top: 32px; }
  .role__heading { margin-bottom: 14px; }
  h3 { font-size: 24px; line-height: 1.2; }
  .role__title { margin-top: 5px; color: #dedede; }
  .role__tenure { margin-top: 4px; color: #a0a0a0; font-size: 15px; line-height: 1.4; }
  .role ul { padding-left: 22px; margin-top: 14px; }
  .role li { line-height: 1.4; }
  .role li + li { margin-top: 6px; }
  .engagement + .engagement { margin-top: 30px; }
  .engagement > p:last-child { margin-top: 10px; }
  .expertise { gap: 6px 0; }
  .education p + p { margin-top: 16px; }
  .page-footer { margin-top: 48px; font-size: 16px; line-height: 1.25; }
}

@media screen and (max-width: 600px) {
  body { font-size: 16px; }
  .page { padding: 28px 22px 30px; }
  .page-nav { gap: 12px 16px; }
  .intro { margin-top: 36px; }
  .eyebrow { font-size: 14px; }
  h1 { max-width: none; font-size: clamp(34px, 7vw, 42px); }
  .intro__specialties { margin-top: 16px; font-size: 15px; line-height: 1.4; }
  .contact-links { column-gap: 20px; margin-top: 18px; }
  .cv-section { margin-top: 36px; }
  h2 { margin-bottom: 14px; }
  .role + .role { margin-top: 30px; }
  .role__heading { margin-bottom: 12px; }
  h3 { font-size: 22px; }
  .role__tenure { font-size: 14px; }
  .role ul { padding-left: 20px; margin-top: 12px; }
  .role li + li { margin-top: 5px; }
  .engagement + .engagement { margin-top: 26px; }
  .page-footer { gap: 20px; margin-top: 40px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } a { transition: none; } }

@media print {
  @page { size: letter; margin: 17mm 18mm; }
  :root { color-scheme: light; background: #fff; color: #292929; }
  body { font-size: 10pt; line-height: 1.45; }
  .page { padding: 0; max-width: none; }
  .page-nav, .page-footer, .skip-link { display: none; }
  .intro { margin-top: 0; }
  h1 { font-size: 25pt; margin-top: 10px; color: #000; }
  h1 span, h3, .role__title, .education p span { color: #000; }
  .eyebrow, h2, .intro__specialties, .role__tenure { color: #555; }
  .intro__specialties, .contact-links { margin-top: 12px; font-size: 9pt; }
  .cv-section { margin-top: 26px; }
  h2 { margin-bottom: 13px; font-size: 9pt; break-after: avoid; }
  h3 { font-size: 13pt; }
  .role__heading { break-inside: avoid; break-after: avoid; margin-bottom: 10px; }
  .role__tenure { font-size: 9pt; }
  .role + .role { margin-top: 24px; }
  .role ul { margin-top: 10px; }
  .role li + li { margin-top: 5px; }
  .role li, .engagement, .education p { break-inside: avoid; }
  .engagement + .engagement { margin-top: 18px; }
  .engagement > p:last-child { margin-top: 7px; }
  a { color: #292929; opacity: 1; }
  p { orphans: 3; widows: 3; }
}
