:root {
  --bg: #faf8f5; --fg: #26231f; --muted: #6b645b; --accent: #2f5d50; --accent-fg: #fff; --line: #e4dfd7;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #171614; --fg: #ece8e1; --muted: #a39b8f; --accent: #7fb5a3; --accent-fg: #11201b; --line: #2e2b27; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 18px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  min-height: 100vh; display: flex; align-items: center;
}
main { width: 100%; max-width: 640px; margin: 0 auto; padding: 48px 20px; }
header { display: flex; align-items: center; gap: 24px; margin-bottom: 32px; }
.portrait { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; border: 3px solid var(--line); flex: none; }
h1 { font: 600 2.2rem/1.15 Georgia, "Times New Roman", serif; margin: 0; letter-spacing: -0.01em; }
.role { margin: 4px 0 0; color: var(--muted); font-size: 1.1rem; }
section p { margin: 0 0 1em; }
nav { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0; }
.btn {
  padding: 10px 18px; border-radius: 8px; border: 1.5px solid var(--accent);
  color: var(--accent); text-decoration: none; font-weight: 600; font-size: 0.95rem;
}
.btn.primary { background: var(--accent); color: var(--accent-fg); }
.btn:hover, .btn:focus-visible { filter: brightness(1.12); outline: 2px solid var(--accent); outline-offset: 2px; }
footer { display: flex; flex-direction: column; gap: 2px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.9rem; }
@media (max-width: 520px) {
  header { flex-direction: column; text-align: center; }
  h1 { font-size: 1.9rem; }
}
