:root {
  --ink: #111;
  --paper: #fff;
  --footer: #000;
  --footer-ink: #f6f6f6;
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--paper); color: var(--ink); }
body { font-family: var(--font); font-weight: 400; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; text-underline-offset: .12em; }

/* Shared masthead */
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 44px 70px 0;
  width: auto;
  font-size: 20px;
  line-height: 1.2;
}
.brand { font-weight: 400; }

/* Home */
.home-main { padding-top: 82px; }
.home-intro {
  width: calc(100% - 256px);
  margin-left: 128px;
  font-size: 20px;
  line-height: 1.68;
  letter-spacing: -0.012em;
}
.home-intro p { margin: 0; }
.home-intro em, .submissions-main em { font-family: Georgia, "Times New Roman", serif; font-size: 1.02em; }

.book-feature {
  display: flex;
  align-items: flex-start;
  gap: 91px;
  margin: 44px 0 0 151px;
}
.book-cover {
  display: block;
  width: 270px;
  height: auto;
  box-shadow: -10px 14px 18px rgba(0,0,0,.14);
}
.book-cover-link { display: block; }
.book-cover-link:focus-visible { outline: 2px solid #777; outline-offset: 4px; }
.book-meta {
  padding-top: 70px;
  width: 420px;
  font-size: 20px;
  line-height: 1.25;
}
.book-title { font-style: italic; }
.book-author { margin-top: 2px; }
.book-actions {
  display: flex;
  justify-content: space-between;
  width: 334px;
  margin-top: 28px;
}
.book-actions a { white-space: nowrap; }

.site-footer {
  height: 222px;
  margin-top: 98px;
  background: var(--footer);
  color: var(--footer-ink);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 70px 70px 0;
  font-size: 20px;
  line-height: 1.35;
}
.footer-home { display: block; color: inherit; }
.footer-nav { text-align: right; margin-right: 0; }
.footer-nav a { display: block; margin-bottom: 0; }

/* Submissions */
.submissions-main {
  width: calc(100% - 256px);
  margin: 76px 0 92px 128px;
  font-size: 18px;
  line-height: 1.28;
  letter-spacing: -0.008em;
}
.submissions-main p { margin: 0 0 25px; }
.submissions-main .lead { margin-bottom: 27px; }
.submissions-main .compact { margin-bottom: 24px; }
.submission-structure { margin: 0 0 26px; }
.submission-row { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .35em; margin: 0; }
.submission-number { white-space: nowrap; }
.submission-sublist { margin: 4px 0 2px 31px; padding-left: 0; list-style-position: outside; }
.submission-sublist li { margin: 1px 0; padding-left: 1px; }
.submissions-main .last { margin-bottom: 0; }
.submissions-main .email-link { text-decoration: none; }
.submissions-main .email-link:hover, .submissions-main .email-link:focus-visible { text-decoration: underline; }

/* Prototype-only muted links. They become live during plumbing. */
[data-placeholder="true"] { cursor: default; }

@media (max-width: 760px) {
  .site-header {
    margin: 26px 22px 0;
    width: auto;
    font-size: 16px;
  }
  .home-main { padding-top: 54px; }
  .home-intro {
    width: auto;
    margin: 0 24px;
    font-size: 17px;
    line-height: 1.52;
    letter-spacing: -0.01em;
  }
  .book-feature {
    display: block;
    margin: 52px 24px 0;
  }
  .book-cover {
    width: min(76vw, 300px);
    margin: 0;
    box-shadow: -8px 12px 16px rgba(0,0,0,.14);
  }
  .book-meta {
    width: auto;
    padding-top: 33px;
    font-size: 18px;
  }
  .book-actions {
    width: min(100%, 330px);
    margin-top: 24px;
  }
  .site-footer {
    height: 190px;
    margin-top: 62px;
    padding: 44px 24px 0;
    font-size: 17px;
  }
  .footer-nav { margin-right: 0; }
  .submissions-main {
    width: auto;
    margin: 58px 24px 72px;
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: 0;
  }
  .submissions-main p { margin-bottom: 22px; }
  .submission-sublist { margin-left: 24px; }
}

@media (max-width: 430px) {
  .site-header { align-items: flex-start; gap: 18px; }
  .site-header .contact { text-align: right; }
  .book-actions { justify-content: flex-start; gap: 58px; }
  .site-footer { padding-right: 22px; }
}


/* Atopos */
.atopos-link {
  color: inherit;
  text-decoration: none;
}

.atopos-main {
  width: 100%;
  margin: 76px 0 92px;
  padding: 0 22px;
  display: flex;
  justify-content: center;
  font-family: Baskerville, "Baskerville Old Face", "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.45;
  letter-spacing: -0.004em;
}

.dictionary-entry {
  width: 100%;
  max-width: 520px;
  margin: 0;
}

.dictionary-entry strong {
  font-weight: 700;
}

.dictionary-entry em,
.dictionary-entry .pronunciation {
  font-style: italic;
}

@media (max-width: 760px) {
  .atopos-main {
    width: 100%;
    margin: 54px 0 72px;
    padding: 0 22px;
    font-size: 17px;
    line-height: 1.45;
  }

  .dictionary-entry {
    max-width: none;
  }
}


/* Atopos sticky footer */
.atopos-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.atopos-page .site-footer {
  margin-top: auto;
}

/* Compact homepage book presentation */
.book-feature {
  display: block;
  width: 162px;
}

.book-cover {
  width: 162px;
}

.book-meta {
  width: 162px;
  padding-top: 16px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

.book-title,
.book-author {
  font-weight: 400;
}

.book-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 162px;
  margin-top: 16px;
}

.book-actions a {
  display: block;
  box-sizing: border-box;
  border: 1px solid currentColor;
  padding: 7px 4px;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .book-feature {
    width: min(45.6vw, 180px);
  }

  .book-cover,
  .book-meta,
  .book-actions {
    width: min(45.6vw, 180px);
  }

  .book-meta {
    padding-top: 14px;
    font-size: 14px;
  }

  .book-actions {
    margin-top: 14px;
    gap: 7px;
  }

  .book-actions a {
    font-size: 12px;
    padding: 7px 3px;
  }
}
