* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: #000;
  background: #fff;
}

.container {
  max-width: 900px;
  margin: 0 auto;
  padding: 50px 30px 60px;
}

/* ── Name ── */
h1 {
  text-align: center;
  font-size: 2em;
  font-weight: 700;
  margin-bottom: 40px;
}

/* ── Bio section: two-column ── */
.bio-section {
  display: flex;
  gap: 48px;
  align-items: flex-start;
  margin-bottom: 60px;
}

.bio-left {
  flex: 1 1 0;
  min-width: 0;
}

.bio-left p {
  margin-bottom: 18px;
}

.bio-right {
  flex: 0 0 42%;
  max-width: 42%;
}

.bio-right img {
  width: 100%;
  display: block;
}

/* ── CV button ── */
.cv-button {
  display: inline-block;
  background: #888;
  color: #fff;
  text-decoration: none;
  padding: 7px 22px;
  font-size: 0.9em;
  margin-top: 6px;
  border-radius: 2px;
}

.cv-button:hover {
  background: #666;
  color: #fff;
}

/* ── Section headings ── */
h2 {
  font-size: 1.05em;
  font-weight: 700;
  margin-bottom: 20px;
}

/* ── Paper entries ── */
.paper {
  margin-bottom: 22px;
  line-height: 1.6;
}

/* ── Links ── */
a,
a:link,
a:visited,
a:hover,
a:active {
  color: #000;
}

/* ── Mobile ── */
@media (max-width: 620px) {
  .bio-section {
    flex-direction: column;
  }
  .bio-right {
    flex: unset;
    max-width: 100%;
    width: 100%;
  }
}
