body {
  margin: 0;
  min-height: 100vh;
  padding: 0;
  opacity: 0;
  overflow-x: hidden;
  background: rgb(10,10,10);
  color: rgb(206,206,206);
  font-family: Arial, Helvetica, sans-serif;
  transition: opacity var(--ares-motion-deliberate, 900ms) ease, filter var(--ares-motion-deliberate, 900ms) ease;
  filter: blur(2px);
}
body.is-ready { opacity: 1; filter: blur(0); }
body.is-exiting { opacity: 0; filter: blur(1.5px); }
.person-overlay {
  min-height: 100vh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: linear-gradient(180deg, rgba(8,8,8,0.78), rgba(5,5,5,0.95)), var(--person-art) center / cover no-repeat fixed;
}
.person-panel {
  flex: 0 0 auto;
  width: min(940px, 100%);
  box-sizing: border-box;
  border: 1px solid var(--ares-border, rgba(255,255,255,0.18));
  background: var(--ares-overlay, rgba(18,18,18,0.94));
  box-shadow: 0 28px 80px rgba(0,0,0,0.72);
  padding: 22px;
}
.person-overlay > .seo-discovery {
  flex: 0 0 auto;
}
.person-grid { display: grid; grid-template-columns: minmax(270px, 0.8fr) minmax(0, 1.2fr); gap: 24px; align-items: start; }
.person-image { width: 100%; aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: center 20%; border: 1px solid var(--ares-border-soft, rgba(255,255,255,0.10)); background: rgb(8,8,8); }
.person-image.is-placeholder { box-sizing: border-box; object-fit: contain; object-position: center; padding: clamp(42px, 12vw, 88px); background: linear-gradient(145deg, rgb(18,18,18), rgb(5,5,5)); }
.person-kicker, .person-role-label, .person-facts dt { margin: 0; color: rgb(128,128,128); font-size: 9px; letter-spacing: 0.18em; line-height: 1.5; text-transform: uppercase; }
.person-kicker { margin-bottom: 7px; }
.person-title { margin: 0 0 18px; color: rgb(224,224,224); font-size: 22px; font-weight: normal; letter-spacing: 0.12em; line-height: 1.25; text-transform: uppercase; }
.person-role { margin-bottom: 16px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,0.10); border-bottom: 1px solid rgba(255,255,255,0.10); }
.person-role-value { display: block; margin-top: 3px; color: rgb(190,190,190); font-size: 12px; letter-spacing: 0.10em; line-height: 1.5; text-transform: uppercase; }
.person-copy { margin: 0 0 17px; color: rgb(168,168,168); font-size: 11px; letter-spacing: var(--ares-copy-letter-spacing, 0.035em); line-height: var(--ares-copy-line-height, 1.78); text-transform: uppercase; }
.person-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,0.10); }
.person-facts div { min-width: 0; }
.person-facts dd { margin: 4px 0 0; color: rgb(184,184,184); font-size: 10px; letter-spacing: 0.07em; line-height: 1.6; text-transform: uppercase; }
.person-record {
  margin-top: var(--ares-space-5, 20px);
  padding-top: var(--ares-space-5, 20px);
  border-top: 1px solid var(--ares-border-soft, rgba(255,255,255,0.10));
}
.person-record-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.person-record-heading p { margin: 0; color: rgb(132,132,132); font-size: 9px; letter-spacing: 0.20em; line-height: 1.5; text-transform: uppercase; }
.person-record-heading h2 { margin: 0; color: rgb(211,211,211); font-size: 14px; font-weight: normal; letter-spacing: 0.14em; line-height: 1.35; text-align: right; text-transform: uppercase; }
.person-record-snapshot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 16px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.08); }
.person-record-snapshot div { min-width: 0; padding: 12px; background: rgb(16,16,16); }
.person-record-snapshot dt, .person-record-period { margin: 0; color: rgb(132,132,132); font-size: 8px; letter-spacing: 0.16em; line-height: 1.5; text-transform: uppercase; }
.person-record-snapshot dd { margin: 5px 0 0; color: rgb(191,191,191); font-size: 10px; letter-spacing: 0.07em; line-height: 1.55; text-transform: uppercase; }
.person-record-sections { border-top: 1px solid rgba(255,255,255,0.10); }
.person-record-section { border-bottom: 1px solid rgba(255,255,255,0.10); }
.person-record-section summary { position: relative; cursor: pointer; list-style: none; padding: 13px 34px 13px 0; color: rgb(188,188,188); font-size: 9px; letter-spacing: 0.16em; line-height: 1.5; text-transform: uppercase; transition: color var(--ares-motion-brief, 240ms) ease; }
.person-record-section summary::-webkit-details-marker { display: none; }
.person-record-section summary::after { content: '+'; position: absolute; top: 10px; right: 2px; color: rgb(120,120,120); font-size: 16px; font-weight: 300; line-height: 1; }
.person-record-section[open] summary::after { content: '−'; }
.person-record-section summary:hover, .person-record-section summary:focus-visible { color: rgb(230,230,230); }
.person-record-section-body { padding: 1px 0 16px; }
.person-record-prose { max-width: 800px; }
.person-record-prose p, .person-record-timeline p, .person-record-cards article > p:last-child, .person-record-entries article > p { margin: 0; color: rgb(166,166,166); font-size: 10px; letter-spacing: 0.045em; line-height: 1.7; text-transform: uppercase; }
.person-record-prose p + p { margin-top: 10px; }
.person-record-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.person-record-timeline::before { content: ''; position: absolute; top: 6px; bottom: 7px; left: 5px; width: 1px; background: rgba(255,255,255,0.13); }
.person-record-timeline li { position: relative; padding: 0 0 15px 25px; }
.person-record-timeline li:last-child { padding-bottom: 0; }
.person-record-timeline li::before { content: ''; position: absolute; top: 4px; left: 2px; width: 7px; height: 7px; box-sizing: border-box; border: 1px solid rgb(145,145,145); background: rgb(18,18,18); border-radius: 50%; }
.person-record-timeline h3, .person-record-cards h3, .person-record-entries h3 { margin: 3px 0 5px; color: rgb(203,203,203); font-size: 10px; font-weight: normal; letter-spacing: 0.10em; line-height: 1.5; text-transform: uppercase; }
.person-record-timeline h3 { margin-top: 2px; }
.person-record-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.person-record-cards article, .person-record-entries article { min-width: 0; padding: 12px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.018); }
.person-record-entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.person-record-cards a, .person-record-entries a { color: rgb(210,210,210); text-decoration: none; }
.person-record-cards a:hover, .person-record-cards a:focus-visible, .person-record-entries a:hover, .person-record-entries a:focus-visible { color: rgb(245,245,245); text-decoration: underline; text-underline-offset: 3px; }
.person-record-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.person-record-links a { display: flex; align-items: center; min-height: 42px; box-sizing: border-box; padding: 9px 11px; border: 1px solid rgba(255,255,255,0.10); color: rgb(185,185,185); font-size: 9px; letter-spacing: 0.10em; line-height: 1.45; text-decoration: none; text-transform: uppercase; transition: border-color var(--ares-motion-brief, 240ms) ease, background var(--ares-motion-brief, 240ms) ease, color var(--ares-motion-brief, 240ms) ease; }
.person-record-links a:hover, .person-record-links a:focus-visible { border-color: rgba(255,255,255,0.34); background: rgba(255,255,255,0.045); color: rgb(230,230,230); }
.person-actions { margin-top: var(--ares-space-5, 20px); padding-top: var(--ares-space-4, 16px); border-top: 1px solid var(--ares-border-soft, rgba(255,255,255,0.10)); text-align: center; }
.person-return { display: inline-block; border: 1px solid var(--ares-border, rgba(255,255,255,0.18)); background: var(--ares-surface, rgb(14,14,14)); color: var(--ares-text-secondary, rgb(174,174,174)); padding: 11px 16px; font-size: 10px; letter-spacing: 0.14em; text-decoration: none; text-transform: uppercase; transition: border-color var(--ares-motion-brief, 240ms) ease, background var(--ares-motion-brief, 240ms) ease, color var(--ares-motion-brief, 240ms) ease; }
.person-return:hover, .person-return:focus, .person-return:focus-visible { border-color: rgba(255,255,255,0.38); background: rgb(22,22,22); color: rgb(222,222,222); outline: none; }
@media (max-width: 720px) {
  .person-overlay { align-items: flex-start; justify-content: flex-start; padding: 14px; }
  .person-panel { padding: 16px; }
  .person-grid { grid-template-columns: 1fr; }
  .person-image { width: min(100%, 390px); margin: 0 auto; }
  .person-record-heading { align-items: start; flex-direction: column; gap: 5px; }
  .person-record-heading h2 { text-align: left; }
  .person-record-snapshot { grid-template-columns: 1fr; }
  .person-record-cards, .person-record-entries { grid-template-columns: 1fr; }
  .person-record-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .person-facts { grid-template-columns: 1fr; }
  .person-record-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { body { transition-duration: 1ms; } }
