:root {
  --paper:#fff8f5;
  --ink:#421f32;
  --rose:#a52a56;
  --pink:#f5bed0;
  --line:#dbc4ca;
  --serif:Georgia,'Times New Roman',serif}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:18px/1.65 'PT Sans',sans-serif}
a {
  color:inherit}
img {
  max-width:100%;
  height:auto;
  display:block}
button,input {
  font:inherit}
a,button,input,summary {
  -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--rose);
  outline-offset:6px}
main:focus {
  outline:none}
.wrap {
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto}
.site-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:30px;
  border-bottom:1px solid var(--line);
  gap:28px}
.wordmark {
  font:26px/1.2 var(--serif);
  text-decoration:none;
  white-space:nowrap}
.wordmark span {
  display:block;
  font:11px/1.6 'PT Sans',sans-serif;
  text-transform:uppercase;
  letter-spacing:2px;
  margin-top:8px}
nav {
  display:flex;
  gap:34px;
  align-items:center;
  font-size:15px}
nav a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:none}
nav a:hover,.text-link:hover {
  text-decoration:underline;
  text-underline-offset:6px}
.nav-letter {
  border-bottom:1px solid var(--ink);
  padding-bottom:5px}
.nav-letter span {
  margin-left:20px}
.hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:center;
  gap:25px;
  padding-block:80px 90px}
.eyebrow {
  font-size:11px;
  letter-spacing:2.3px;
  text-transform:uppercase;
  font-weight:bold;
  margin:0 0 26px}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-3px;
  margin:0 0 30px}
h1 {
  font-size:clamp(56px,5.8vw,86px)}
h2 {
  font-size:clamp(52px,5vw,72px)}
em {
  font-weight:400;
  color:var(--rose)}
.hero-description {
  max-width:400px;
  margin-bottom:30px;
  color:#694b59;
  font-size:19px}
.button {
  display:inline-flex;
  align-items:center;
  gap:32px;
  background:var(--ink);
  color:var(--paper);
  padding:16px 25px;
  border-radius:3px;
  text-decoration:none;
  font-size:15px;
  transition:background .2s,transform .2s}
.button:hover {
  background:var(--rose);
  transform:translateY(-2px)}
.small-note {
  font-size:12px;
  color:#735967;
  margin-top:15px}
.hero-art {
  position:relative;
  isolation:isolate;
  min-height:480px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#f9dce5;
  border-radius:48% 48% 4px 4px;
  overflow:hidden;
  padding:32px 0}
.hero-art:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('assets/cropped-background.273fab3d790d.png') center/cover;
  opacity:.25}
.art-orbit {
  position:absolute;
  inset:22px;
  border:1px solid #b9688559;
  border-radius:48% 48% 0 0;
  z-index:-1}
.hero-art img {
  width:100%;
  filter:drop-shadow(0 25px 15px #5c173922);
  transform:rotate(-5deg)}
.art-caption,.art-footnote {
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase}
.art-footnote {
  font-family:var(--serif);
  font-size:17px;
  letter-spacing:.2px;
  text-transform:none;
  font-style:italic}
.interlude {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:60px;
  padding:24px;
  background:#f2c8d5;
  border-block:1px solid #e1acbf;
  font:italic 22px var(--serif)}
.interlude i {
  font-size:20px;
  font-style:normal}
.section {
  padding-block:105px}
.book-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px}
.title-period {
  color:var(--rose)}
.book-meta {
  font-size:14px;
  margin:0 0 28px}
.book-copy {
  padding-top:45px}
.large-copy {
  font:30px/1.3 var(--serif);
  letter-spacing:-.5px}
.book-copy>p:not(.large-copy) {
  color:#694b59;
  max-width:480px}
.excerpt {
  margin-top:35px;
  border-block:1px solid var(--line)}
summary {
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  padding:20px 0;
  font-size:15px;
  list-style:none}
summary::-webkit-details-marker {
  display:none}
summary span {
  font-size:23px;
  line-height:1}
.excerpt[open] summary span {
  transform:rotate(45deg)}
blockquote {
  margin:5px 0 20px;
  font:italic 22px/1.65 var(--serif)}
.about-section {
  background:#f4e7e9;
  padding-block:95px}
.about-grid {
  display:grid;
  grid-template-columns:.9fr 1fr;
  gap:100px;
  align-items:center}
.about-image {
  position:relative;
  margin-right:20px}
.about-image>img {
  width:100%;
  max-height:620px;
  object-fit:cover;
  border-radius:48% 48% 2px 2px}
.image-caption {
  position:absolute;
  bottom:24px;
  left:20px;
  right:20px;
  color:white;
  text-align:center;
  font:italic 25px var(--serif);
  text-shadow:0 1px 8px #000}
.about-copy>p:not(.eyebrow):not(.large-copy) {
  color:#694b59;
  font-size:17px}
.signature {
  width:225px;
  margin:26px 0 20px;
  mix-blend-mode:multiply}
.text-link {
  font-size:14px;
  text-underline-offset:6px}
.text-link span {
  margin-left:15px}
.newsletter-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:90px}
.newsletter-section h2 {
  font-size:clamp(48px,4.6vw,65px)}
.newsletter-section>div>p:last-child {
  color:#694b59}
.newsletter-panel {
  border:1px solid var(--line);
  padding:32px;
  background:#fffdfb}
.newsletter-copy {
  display:none}
.newsletter-form fieldset {
  border:0;
  margin:0;
  padding:0;
  min-width:0}
.newsletter-form label {
  display:block;
  font-size:14px;
  margin-bottom:12px}
.newsletter-controls {
  display:flex;
  flex-wrap:wrap;
  gap:12px}
.newsletter-form input[type=email] {
  width:100%;
  min-width:0;
  border:1px solid #ac8a98;
  background:transparent;
  padding:13px 16px;
  border-radius:2px;
  color:var(--ink)}
.newsletter-form button {
  width:100%;
  padding:13px 20px;
  background:var(--rose);
  color:#fff;
  border:0;
  border-radius:2px;
  font-size:15px;
  cursor:pointer}
.newsletter-form button:hover {
  background:var(--ink)}
.newsletter-form fieldset:disabled {
  opacity:.6}
.newsletter-form fieldset:disabled button {
  cursor:not-allowed}
.newsletter-form #newsletter-consent,.provider-credit {
  font-size:12px;
  color:#735967;
  line-height:1.6}
.provider-credit {
  margin-bottom:0}
.signup-status {
  font-size:14px;
  color:var(--rose);
  margin-top:0}
.site-footer {
  border-top:1px solid var(--line);
  padding-block:35px;
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap}
.site-footer .wordmark {
  font-size:23px}
.footer-links {
  display:flex;
  gap:25px;
  margin-left:auto;
  font-size:13px}
.site-footer>p {
  width:100%;
  font-size:11px;
  color:#735967;
  margin:0}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:10;
  background:var(--ink);
  color:white;
  padding:12px}
.skip-link:focus {
  top:12px}
.text-page {
  padding:30px}
.text-page main {
  max-width:760px;
  margin:40px auto}
.text-page h1 {
  margin-top:45px;
  font-size:60px}
.text-page h2 {
  font-size:32px;
  letter-spacing:-1px;
  margin-top:40px}
.text-page a {
  color:var(--rose)}

@media(min-width:1600px) {
  .hero {
  padding-block:100px 110px}
}

@media(max-width:1000px) {
  .wrap {
  width:calc(100% - 56px)}
nav {
  gap:20px}
.hero {
  gap:20px}
.hero-art {
  min-height:400px}
h1 {
  font-size:62px}
.book-section,.about-grid,.newsletter-section {
  gap:45px}
.interlude {
  gap:30px}
.about-image {
  margin:0}
.section {
  padding-block:75px}
}

@media(max-width:700px) {
  .wrap {
  width:calc(100% - 40px)}
.site-header {
  flex-direction:column;
  align-items:flex-start;
  padding-block:22px;
  gap:24px}
.wordmark {
  font-size:25px}
nav {
  width:100%;
  justify-content:space-between;
  gap:12px;
  font-size:13px}
.nav-letter span {
  margin-left:6px}
.hero {
  grid-template-columns:1fr;
  padding-block:48px;
  gap:32px}
h1 {
  font-size:clamp(48px,10vw,68px);
  letter-spacing:-2px}
.hero-description {
  font-size:18px}
.hero-art {
  min-height:0;
  max-width:440px;
  width:100%;
  margin:auto;
  padding-block:25px}
.hero-art img {
  max-width:410px}
.eyebrow {
  font-size:10px;
  margin-bottom:20px}
.interlude {
  gap:18px;
  padding:20px 12px;
  font-size:17px}
.interlude span:last-child,.interlude i:last-of-type {
  display:none}
.book-section,.about-grid,.newsletter-section {
  grid-template-columns:1fr;
  gap:35px}
.section {
  padding-block:60px}
h2 {
  font-size:57px;
  letter-spacing:-2px}
.book-copy {
  padding:0}
.large-copy {
  font-size:28px}
.about-section {
  padding-block:55px}
.about-image {
  max-width:420px;
  width:100%;
  margin:auto}
.about-image>img {
  max-height:460px;
  object-position:center 38%}
.about-copy {
  padding-top:5px}
.newsletter-panel {
  padding:23px}
.site-footer {
  align-items:flex-start}
.footer-links {
  margin-left:0;
  width:100%;
  flex-wrap:wrap}
.button {
  gap:20px;
  font-size:14px}
.text-page {
  padding:20px}
.text-page h1 {
  font-size:48px}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*::before,*::after {
  transition:none!important;
  animation:none!important}
}

.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.hero-actions .text-link, .footer-links a { display:inline-flex; align-items:center; min-height:44px; }
nav { flex-wrap:wrap; }

.signup-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.newsletter-form .consent-label { display: block; font-size: inherit; font-weight: normal; }
.newsletter-form input[type=checkbox] { accent-color: #ad2859; }
.newsletter-form button:disabled { opacity: .6; cursor: wait; }
#signup-status { min-height: 1.5em; }
