:root {
  font-family: Arial, Helvetica, sans-serif;
  color: #161616;
  background: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

.site-header {
  height: min(112px, 5.834vw);
  min-height: 42px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-inline: 6.25vw;
  background: #fff;
}

.brand { justify-self: start; width: min(286px, 14.9vw); }
.brand img { width: 100%; }
.site-header nav { grid-column: 2; display: flex; align-items: center; gap: min(176px, 9.17vw); }
.site-header nav a { font-size: min(17px, 0.886vw); font-weight: 500; letter-spacing: .01em; text-transform: uppercase; }

.hero { height: min(966px, 50.31vw); overflow: hidden; }
.hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; filter: grayscale(1); }

.biography {
  min-height: min(724px, 37.71vw);
  padding: min(74px, 3.85vw) 7vw min(70px, 3.65vw);
  background: #f0f0f0;
  text-align: center;
}

.bio-logo { width: min(570px, 29.69vw); margin: 0 auto min(68px, 3.54vw); }
.biography p {
  max-width: min(1620px, 84.38vw);
  margin: 0 auto min(50px, 2.6vw);
  font-size: min(18px, .938vw);
  line-height: 1.68;
}

.publications { padding-top: min(10px, .52vw); text-align: center; }
.publications-image {
  width: min(1008px, 52.5vw);
  aspect-ratio: 1.4 / 1;
  object-fit: cover;
  margin: 0 auto;
  filter: grayscale(1);
}

.publication-notes { padding: min(112px, 5.83vw) 0 min(116px, 6.04vw); }
.publication-notes p { margin: 0 0 min(58px, 3.02vw); font-size: min(18px, .938vw); line-height: 1.65; }
.publication-notes p:last-child { margin-bottom: 0; }

.books { width: min(1456px, 75.83vw); margin: 0 auto; }
.book-card {
  display: grid;
  grid-template-columns: min(634px, 33.02vw) 1fr;
  align-items: center;
  column-gap: min(82px, 4.27vw);
  margin-bottom: min(58px, 3.02vw);
}

.book-cover-wrap {
  height: min(718px, 37.4vw);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f1f1;
}

.book-cover {
  width: auto;
  height: min(570px, 29.69vw);
  box-shadow: 0 min(18px, .94vw) min(28px, 1.46vw) rgba(0, 0, 0, .32);
}

.book-copy { padding-bottom: min(20px, 1.04vw); }
.book-copy h2 {
  max-width: min(680px, 35.42vw);
  margin: 0 0 min(48px, 2.5vw);
  font-family: Georgia, "Times New Roman", serif;
  font-size: min(38px, 1.98vw);
  line-height: 1.03;
}

.book-copy dl { margin: 0; }
.book-copy dl div {
  display: grid;
  grid-template-columns: min(250px, 13.02vw) 1fr;
  margin-bottom: min(24px, 1.25vw);
  font-size: min(18px, .938vw);
  line-height: 1.1;
}
.book-copy dt { font-weight: 700; }
.book-copy dd { margin: 0; color: #444; }

.contact {
  width: min(1680px, 87.5vw);
  margin: min(176px, 9.17vw) auto 0;
  padding: min(116px, 6.04vw) 0 min(105px, 5.47vw);
  border-top: 1px solid #999;
  text-align: center;
}

.contact h2 { margin: 0 0 min(42px, 2.19vw); font-size: min(30px, 1.563vw); line-height: 1; }
.contact a { font-size: min(16px, .833vw); }

footer {
  height: min(119px, 6.2vw);
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #303030;
  color: #fff;
  font-size: min(12px, .625vw);
  font-weight: 700;
}

@media (max-width: 560px) {
  .site-header { height: 64px; padding-inline: 20px; }
  .brand { width: 125px; }
  .site-header nav { gap: 24px; }
  .site-header nav a { font-size: 10px; }
  .hero { height: 54vw; }
  .biography { padding: 46px 22px 34px; }
  .bio-logo { width: 230px; margin-bottom: 28px; }
  .biography p, .publication-notes p { max-width: 100%; font-size: 12px; line-height: 1.65; }
  .biography p { margin-bottom: 24px; }
  .publications { padding-top: 0; }
  .publications-image { width: 78vw; }
  .publication-notes { padding: 42px 22px 50px; }
  .publication-notes p { margin-bottom: 22px; }
  .publication-notes br { display: none; }
  .books { width: calc(100% - 40px); }
  .book-card { grid-template-columns: 1fr; row-gap: 28px; margin-bottom: 58px; }
  .book-cover-wrap { height: 108vw; }
  .book-cover { height: 88vw; max-height: 420px; box-shadow: 0 12px 22px rgba(0, 0, 0, .28); }
  .book-copy { padding: 0 8px; }
  .book-copy h2 { max-width: 100%; margin-bottom: 24px; font-size: 25px; line-height: 1.06; }
  .book-copy dl div { grid-template-columns: 132px 1fr; margin-bottom: 14px; font-size: 14px; }
  .contact { width: calc(100% - 40px); margin-top: 80px; padding: 60px 0; }
  .contact h2 { margin-bottom: 28px; font-size: 26px; }
  .contact a { font-size: 13px; }
  footer { height: 64px; font-size: 9px; }
}
