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

body {
  font-family: 'Georgia', serif;
  color: #222;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 60px 24px 80px;
}

.container {
  max-width: 900px;
  width: 100%;
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.headshot {
  width: 400px;
  min-width: 400px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.text {
  flex: 1;
}

h1 {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.title {
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 28px;
  font-style: italic;
}

.bio {
  font-size: 1.3rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 36px;
}

.contact {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.contact a {
  color: #222;
  text-decoration: none;
  font-size: 1.1rem;
  padding-bottom: 1px;
  border-bottom: 1px solid #999;
  transition: border-color 0.2s;
}

.contact a:hover {
  border-color: #222;
}

@media (max-width: 680px) {
  body { padding: 32px 16px; }
  .container { flex-direction: column; }
  .headshot { width: 100%; min-width: unset; }
  h1 { font-size: 2rem; }
  h1, .title {text-align: center;}
  .bio {text-align: left;}
  .text { text-align: center;}
  .contact { justify-content: center; }
}