/* Bio page: editorial, quiet, readable. */
.bio-page { cursor: auto; }
.bio-page a, .bio-page button { cursor: pointer; }
.bio { max-width: 720px; margin: 0 auto; padding: 150px 20px 40px; }
.bio-hero { margin-bottom: 64px; }
.bio-avatar {
  width: 88px; height: 88px; border-radius: 24px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff;
  font-weight: 700; font-size: 30px; letter-spacing: -0.04em; margin-bottom: 28px;
  box-shadow: 0 20px 50px -20px var(--accent);
}
.bio-kicker { color: var(--accent-2); font-size: 13px; letter-spacing: .04em; }
.bio-hero h1 { font-size: clamp(44px, 8vw, 76px); line-height: 1; letter-spacing: -0.045em; margin: 14px 0 18px; }
.bio-lead { font-family: "Newsreader", Georgia, serif; font-style: italic; font-size: clamp(21px, 2.6vw, 26px); color: var(--text); opacity: .85; line-height: 1.4; }

.bio-text h2 { font-size: 13px; font-family: "JetBrains Mono", monospace; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; margin: 56px 0 16px; }
.bio-text p { font-family: "Newsreader", Georgia, serif; font-size: clamp(19px, 2.1vw, 21px); line-height: 1.7; color: #d9d9e6; margin-bottom: 20px; }
.bio-text strong { color: var(--text); font-weight: 600; }
.bio-list { list-style: none; display: grid; gap: 16px; }
.bio-list li { font-family: "Newsreader", Georgia, serif; font-size: 19px; line-height: 1.6; color: #d9d9e6; padding-left: 20px; border-left: 2px solid var(--border); }
.bio-list b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 16px; color: var(--text); margin-bottom: 2px; }
.bio-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; }
.bio-facts div { background: var(--bg-2); padding: 18px 20px; }
.bio-facts dt { font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.bio-facts dd { font-size: 16px; font-weight: 500; }

.bio-cta { margin: 80px 0 40px; padding-top: 40px; border-top: 1px solid var(--border); }
.bio-cta p { font-size: 22px; letter-spacing: -0.02em; margin-bottom: 20px; }
.bio-cta .cta { display: flex; gap: 12px; flex-wrap: wrap; }
.bio-page footer { max-width: 720px; margin: 40px auto 0; }

@media (max-width: 600px) {
  .bio { padding-top: 120px; }
  .bio-facts { grid-template-columns: 1fr; }
  .bio-cta .btn { flex: 1 1 100%; justify-content: center; }
}

/* portrait */
.bio { max-width: 980px; }
.bio-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: end; }
.bio-text, .bio-cta { max-width: 720px; }
.bio-photo { position: relative; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 5; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 40px 90px -40px var(--accent); }
.bio-photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); pointer-events: none; }
/* object-position keeps the face; the crop hides the bottom-right corner of the original */
.bio-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; filter: saturate(.95) contrast(1.03); }
.bio-photo-fallback { display: none; }
.bio-photo.no-photo img { display: none; }
.bio-photo.no-photo .bio-photo-fallback { display: grid; place-items: center; height: 100%; color: #fff; font-size: 72px; font-weight: 700; letter-spacing: -0.05em; }
@media (max-width: 760px) {
  .bio-hero { grid-template-columns: 1fr; gap: 28px; }
  .bio-photo { order: -1; width: min(280px, 75%); }
}
