:root{--paper:#18081B;--ink:#FFF4FA;--wine:#FFF4FA;--wine-dark:#18081B;--muted:#EBD7E5;--line:#EFBF0440;--rose:#942222;--pink:#EFBF04;--olive:#C858A1;--night:#18081B;--gold:#EFBF04;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}button{cursor:pointer}.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{display:flex;gap:14px;align-items:center;color:var(--wine);font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.1}.wordmark svg{width:34px;height:34px;flex-shrink:0}.wordmark-sub{display:block;font-family:var(--sans);font-size:10px;letter-spacing:2.1px;line-height:2.4;font-weight:500}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px}.about-link:hover{color:var(--wine)}.nav-signup{background:var(--rose);border:1px solid var(--pink);color:var(--ink);padding:11px 23px;border-radius:3px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.nav-signup:hover{background:var(--ink);border-color:var(--ink);color:var(--night)}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:68px;align-items:center;padding-top:66px;padding-bottom:66px;min-height:765px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;color:var(--wine);display:flex;align-items:center;gap:13px;margin:0 0 27px}.short-line{width:26px;height:1px;background:var(--pink)}h1,h2,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(72px,8vw,120px);font-weight:400;line-height:.93;letter-spacing:-4px;margin-bottom:24px}h1 em{color:var(--pink);font-weight:400}em{font-weight:400}.subtitle{font-family:var(--serif);font-size:30px;font-style:italic;letter-spacing:.3px;color:var(--muted);margin-bottom:26px}.hero-description{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:31px}.signup-block{max-width:510px;scroll-margin-top:30px}.signup-block h2{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.3;margin-bottom:5px}.signup-intro{font-size:14px;color:var(--muted);margin-bottom:17px}.signup-fields{display:flex;gap:10px}.email-field{flex:1;min-width:0;position:relative;display:flex;align-items:center}.email-field svg{position:absolute;left:17px;width:19px;height:19px;color:var(--muted);pointer-events:none}input[type=email]{width:100%;min-width:0;border:1px solid var(--wine);border-radius:3px;height:54px;background:transparent;padding:0 12px 0 46px;font-size:14px;color:var(--ink)}input::placeholder{color:var(--muted)}input[aria-invalid=true]{border-color:var(--pink)}#signup-button,.bottom-cta{background:var(--pink);color:var(--ink);border:1px solid var(--pink);border-radius:3px;padding:13px 25px;font-size:19px;font-weight:700;transition:background .2s}#signup-button:hover,.bottom-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--night)}#signup-button:disabled{opacity:.7;cursor:wait}.signup-note{font-size:12px;color:var(--muted);line-height:1.6;max-width:470px;margin:12px 0 0}.signup-status{font-size:14px;min-height:24px;margin:10px 0 0;color:var(--wine)}.signup-status:not(:empty){padding:10px 12px;border-radius:3px;color:var(--night)}.signup-status:not(:empty):not(.error){background:var(--olive);color:var(--night)}.signup-status.error{background:var(--rose);color:var(--ink)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cover-scene{height:584px;background:var(--rose);position:relative;display:flex;align-items:center;justify-content:center;border-radius:170px 170px 4px 4px;isolation:isolate}.cover-scene:before{content:"";position:absolute;inset:27px;border:1px solid #EFBF0480;border-radius:147px 147px 0 0;z-index:-1}.release-label{position:absolute;top:35px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--ink);white-space:nowrap}.cover-frame{width:62%;aspect-ratio:2/3;border:1px solid #EFBF0480;background:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:14px 20px 28px #18081B66;position:relative;margin-top:7px}.cover-placeholder{position:absolute;inset:12px;border:1px dashed #EFBF0480;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-align:center;padding:20px}.cover-placeholder svg{width:36px;height:36px;margin-bottom:25px}.cover-placeholder p{font-family:var(--serif);font-size:34px;line-height:1.1;margin-bottom:30px}.cover-placeholder span{font-size:10px;letter-spacing:2px}.cover-frame img{width:100%;height:100%;object-fit:cover;display:block}.cover-caption{position:absolute;bottom:32px;display:flex;align-items:center;gap:14px}.caption-line{width:28px;height:1px;background:var(--pink)}.cover-caption p{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:18px;margin:0}.scene-number{position:absolute;bottom:10px;right:16px;font-family:var(--serif);font-size:64px;line-height:1;color:#EFBF0440}.chapter-band{background:var(--olive);color:var(--night);min-height:73px;display:flex;align-items:center;justify-content:center;gap:63px;font-size:11px;letter-spacing:2.2px;padding:20px 24px}.ornament{font-size:15px;color:var(--pink)}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:91px 0;border-bottom:1px solid var(--line)}.about-section .eyebrow,.release-section .eyebrow{font-size:11px;margin-bottom:21px}.about-heading h2,.release-section h2{font-family:var(--serif);font-weight:400;font-size:50px;line-height:1.08;letter-spacing:-1px;margin-bottom:0}.about-heading h2 em,.release-section h2 em{color:var(--pink)}.about-copy{max-width:470px;padding-top:4px}.dictionary-word{font-family:var(--serif);font-size:33px;margin-bottom:12px;color:var(--pink)}.dictionary-word span{font-family:var(--sans);font-size:12px;font-style:normal;color:var(--muted);margin-left:12px}.about-copy>p:not(.dictionary-word){font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:22px}.about-description{border-top:1px solid var(--line);padding-top:21px}.text-link{font-size:14px;color:var(--wine);border-bottom:1px solid var(--pink);padding-bottom:6px;display:inline-block}.text-link:hover{border-color:var(--wine)}.release-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:81px 0 85px}.release-section h2{font-size:43px;margin-bottom:23px}.release-section>div>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:27px}.bottom-cta{display:inline-block}.faq-list{padding-top:23px}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:22px;align-items:center;padding:24px 0;font-size:15px;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:400;color:var(--pink);line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:23px;padding-right:30px}.site-footer{padding:28px 0 34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted)}.footer-title{font-family:var(--serif);font-size:24px;color:var(--wine);line-height:1.2}.footer-title span{display:block;font-size:16px;font-style:italic;color:var(--muted);margin-top:2px}.site-footer>p{font-size:12px;margin:0}.footer-status{font-size:10px;letter-spacing:2px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:absolute;top:12px;left:12px;background:var(--ink);color:var(--night);padding:12px;z-index:10}
/* Polished gold glass: the original gold remains the base pigment. */
:root {
  --gold-light: color-mix(in srgb, var(--gold) 38%, var(--ink));
  --gold-shadow: color-mix(in srgb, var(--gold) 76%, var(--night));
}
.gold-glass,
#signup-button.gold-glass,
.bottom-cta.gold-glass {
  --gold-finish:
    radial-gradient(ellipse at var(--glow-x, 22%) var(--glow-y, 12%), #FFF4FA66 0%, #FFF4FA12 35%, transparent 65%),
    linear-gradient(128deg, var(--gold-light) 0%, color-mix(in srgb, var(--gold) 85%, transparent) 24%, var(--gold-shadow) 43%, color-mix(in srgb, var(--gold) 85%, transparent) 57%, var(--gold-light) 74%, color-mix(in srgb, var(--gold) 85%, transparent) 87%, var(--gold-shadow) 100%);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: color-mix(in srgb, var(--gold) 70%, transparent);
  background-image: var(--gold-finish);
  border: 1px solid color-mix(in srgb, var(--gold-light) 80%, transparent);
  box-shadow:
    inset 0 1px 1px #FFF4FACC,
    inset 1px 0 1px #FFF4FA66,
    inset 0 -2px 3px #18081B33,
    0 15px 40px #18081B40;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
}
.gold-glass::after {
  content: "";
  position: absolute;
  inset: -25%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 39%, #FFF4FA10 43%, #FFF4FA80 48%, #FFF4FA24 52%, transparent 58%);
  transform: translateX(-115%);
  animation: gold-glint 2.8s ease-in-out .5s 1 both;
}
.gold-glass:hover::after,
.gold-glass:focus-visible::after {
  animation: gold-glint-hover 2.4s ease-in-out 1 both;
}
#signup-button.gold-glass,
.bottom-cta.gold-glass { color: var(--night); }
#signup-button.gold-glass:hover,
.bottom-cta.gold-glass:hover {
  background-color: var(--gold);
  background-image: var(--gold-finish);
  border-color: var(--gold-light);
  color: var(--night);
}
.gold-text {
  --gold-text-light: color-mix(in srgb, var(--gold) 78%, var(--ink));
  --gold-text-highlight: color-mix(in srgb, var(--gold) 55%, var(--ink));
  color: var(--gold);
  /* The highlight rests outside the letters; the muted gold beneath stays still. */
  background-image:
    linear-gradient(110deg, transparent 40%, var(--gold-text-highlight) 50%, transparent 60%),
    linear-gradient(115deg, var(--gold-text-light) 5%, var(--gold) 25%, var(--gold-shadow) 42%, var(--gold-text-light) 52%, var(--gold) 65%, var(--gold-text-light) 95%);
  background-size: 300% 100%, 200% 100%;
  background-position: 100% 50%, 50% 50%;
  animation: gold-text-glint 12s ease-in-out infinite;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .gold-text {
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
  }
}
.dictionary-word {
  line-height: 1.2;
  margin-bottom: 6px;
}
.dictionary-word .dictionary-title {
  font-family: var(--sans);
  font-size: 28px;
  font-weight: 700;
  margin-left: 0;
}
.dictionary-pronunciation {
  font-size: 20px;
  line-height: 1.4;
  color: var(--muted);
  margin-bottom: 4px;
}
.dictionary-part-of-speech {
  font-size: 16px;
  line-height: 1.4;
  color: var(--muted);
  margin-bottom: 0;
}
.dictionary-divider {
  width: min(282px, 100%);
  border-top: 1px solid var(--gold);
  margin: 24px 0 32px;
}
.dictionary-definition {
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
  margin-bottom: 22px;
}
.dictionary-surface,
.dictionary-new {
  display: block;
}
.dictionary-new {
  margin-left: clamp(24px, 6vw, 72px);
}
@keyframes gold-text-glint {
  /* Six seconds crossing the lettering, then six seconds at rest. */
  0% { background-position: 100% 50%, 50% 50%; }
  50%, 100% { background-position: 0% 50%, 50% 50%; }
}
@keyframes gold-glint {
  from { transform: translateX(-115%); }
  to { transform: translateX(115%); }
}
@keyframes gold-glint-hover {
  from { transform: translateX(-115%); }
  to { transform: translateX(115%); }
}
@media (prefers-reduced-motion: reduce) {
  .gold-glass::after { display: none; }
}
@media(min-width:1500px){.hero{gap:100px}.cover-scene{height:610px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:38px;padding:55px 0;min-height:690px}h1{font-size:95px;letter-spacing:-3px}.cover-scene{height:525px}.cover-frame{width:68%}.about-section,.release-section{gap:45px}.signup-fields{gap:7px}#signup-button{padding:12px 18px}.cover-caption p{font-size:17px}.chapter-band{gap:38px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:90px;gap:15px}.wordmark{font-size:23px;gap:10px}.wordmark svg{width:28px;height:28px}.wordmark-sub{font-size:9px}.site-header nav{gap:0}.about-link{display:none}.nav-signup{padding:9px 13px;font-size:12px}.hero{grid-template-columns:1fr;gap:33px;padding:42px 0 40px}.hero-copy{max-width:550px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:26px}h1{font-size:clamp(58px,15.6vw,105px);line-height:.98;letter-spacing:-2px;margin-bottom:16px}.subtitle{font-size:28px;margin-bottom:24px}.hero-description{font-size:15px;margin-bottom:24px}.signup-block{max-width:none}.signup-block h2{font-size:25px}.signup-intro{font-size:13px}.signup-fields input{font-size:16px}.signup-note{font-size:12px}.cover-scene{height:490px;max-width:430px;width:100%;margin-inline:auto;border-radius:150px 150px 4px 4px}.cover-scene:before{border-radius:130px 130px 0 0;inset:22px}.cover-frame{width:57%;max-height:350px}.cover-caption{bottom:26px}.release-label{top:30px}.chapter-band{gap:21px;min-height:65px;font-size:9px;letter-spacing:1.3px}.chapter-band .ornament{font-size:12px}.about-section,.release-section{grid-template-columns:1fr;gap:35px;padding:55px 0}.about-heading h2{font-size:44px}.about-copy{max-width:none}.release-section h2{font-size:43px}.faq-list{padding-top:0}.site-footer{flex-wrap:wrap;padding:25px 0;row-gap:20px}.site-footer>p{display:none}.footer-status{font-size:9px}.desktop-break{display:none}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.nav-signup{max-width:115px;text-align:center;line-height:1.35;font-size:11px}.signup-fields{flex-direction:column;gap:8px}#signup-button{height:50px}.chapter-band{gap:12px;font-size:8px}.cover-scene{height:440px}.cover-placeholder p{font-size:30px}.cover-frame{width:60%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Store and privacy pages use the existing book palette. */
[hidden]{display:none!important}
.signup-block form>label{display:block;font-size:14px;margin-bottom:8px}
.signup-block .consent-label{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:15px 0 0}
.consent-label input{flex-shrink:0;margin-top:5px;width:18px;height:18px;accent-color:var(--gold)}
.signup-note{font-size:14px}
.signup-note a,.legal-page a,.policy-links a{text-decoration:underline;text-underline-offset:4px}
.signup-fields input[type=email]{padding-left:16px}
.policy-links{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:14px}
.legal-page{max-width:850px;padding-top:60px;padding-bottom:70px;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(40px,7vw,65px);letter-spacing:-1px;line-height:1.2;margin-bottom:24px}
.legal-page h2{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.3;margin:34px 0 14px}
.legal-page p{font-size:16px;color:var(--muted)}
@media(max-width:760px){.site-footer .policy-links{width:100%}}
.content-note{font-size:14px;color:var(--muted);line-height:1.7;border-left:2px solid var(--gold);padding-left:14px;max-width:510px;margin:0 0 28px}
.copyright-notice{font-size:12px;line-height:1.6;color:var(--muted);max-width:240px}
.cover-credit{position:absolute;bottom:24px;left:20px;right:20px;margin:0;font-size:12px;line-height:1.5;text-align:center;color:var(--ink)}
/* The title and subtitle share the proportions of a book's title page. */
.book-heading{margin-bottom:36px}
#book-title{font-size:clamp(58px,7.4vw,108px);line-height:1.08;letter-spacing:-.055em;margin:0 0 16px}
.title-prefix{display:block;font-size:clamp(19px,2vw,25px);line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-left:4px}
.title-name{display:block;width:fit-content;max-width:100%;padding-right:.07em;margin-left:-.035em}
.book-heading .subtitle{display:block;font-family:var(--serif);font-size:clamp(25px,2.4vw,30px);font-style:normal;font-weight:400;line-height:1.4;letter-spacing:.015em;color:var(--ink);text-wrap:balance;margin:0}
.book-heading .book-byline { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 9px; margin: 18px 0 0; line-height: 1.4; }
.book-byline .byline-label { font-family: var(--sans); font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.book-byline a { font-family: var(--serif); font-size: clamp(19px, 1.8vw, 23px); letter-spacing: .02em; color: var(--ink); }
.book-byline a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.hero-copy > .hero-description{font-family:var(--sans);font-size:clamp(17px,1.6vw,20px);line-height:1.5;letter-spacing:.01em;color:var(--muted);max-width:32ch;text-wrap:balance;margin-bottom:30px}
@media(max-width:760px){.book-heading{margin-bottom:30px}#book-title{font-size:clamp(52px,12vw,90px);margin-bottom:12px}.title-prefix{font-size:18px;margin-bottom:8px}.book-heading .subtitle{font-size:clamp(23px,5vw,28px)}}
.book-overview{display:block}
.book-overview .about-heading{margin-bottom:36px}
.overview-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.story-summary p,.author-copy p{font-size:16px;line-height:1.85;color:var(--muted);max-width:58ch;margin:0 0 20px}
.story-summary p:last-child{margin-bottom:0}
.book-overview .about-copy{max-width:none;padding:0 0 0 32px;border-left:1px solid var(--line)}
.dictionary-entry .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:18px}
.author-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:70px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}
.author-heading .eyebrow{font-size:11px;margin-bottom:21px}
.author-heading h2{font-family:var(--serif);font-size:clamp(36px,4vw,48px);font-weight:400;line-height:1.1;letter-spacing:-1px;margin:0}
.author-copy h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.3;color:var(--ink);margin:0 0 16px}
@media(max-width:1050px){.author-section{gap:45px}}
@media(max-width:760px){.overview-grid,.author-section{grid-template-columns:1fr;gap:32px}.book-overview .about-heading{margin-bottom:28px}.book-overview .about-copy{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.author-section{padding:55px 0}.site-header{height:auto;min-height:90px;flex-wrap:wrap;padding-block:20px;row-gap:18px}.site-header nav{width:100%;justify-content:space-between;gap:20px;font-size:13px}.site-header nav .about-link{display:inline-block}}
/* A flat cover with gently rounded corners. */
.cover-frame {
  width: min(62%, 320px);
  aspect-ratio: 806 / 1194;
  max-height: none;
  border: 0;
  border-radius: 8px;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}
.cover-frame img { object-fit: contain; border-radius: inherit; }
@media(max-width:1050px) { .cover-frame { width: min(68%, 270px); } }
@media(max-width:760px) { .cover-frame { width: min(57%, 230px); } }
@media(max-width:390px) { .cover-frame { width: 60%; } }
/* A single reading column, framed by wider panels and quiet contour details. */
.book-page {
  background-image:
    radial-gradient(ellipse at 0% 32%, #C858A11A, transparent 45%),
    radial-gradient(ellipse at 100% 72%, #94222220, transparent 48%);
}
.book-page .wrap { width: min(1100px, calc(100% - 80px)); }
.book-page .site-header {
  height: auto;
  min-height: 0;
  flex-direction: column;
  padding-block: 40px 24px;
  gap: 28px;
}
.book-page .site-header .book-heading { margin: 0; text-align: center; }
.book-page .wordmark { flex-direction: column; text-align: center; gap: 8px; }
.book-page .site-header nav { width: 100%; flex-direction: row; justify-content: center; gap: clamp(16px, 4vw, 48px); font-size: 15px; }
.book-page .site-header .about-link { display: inline-block; }
.book-page .site-header .about-link:hover { color: var(--gold); }
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-template-columns: 1fr;
  min-height: 0;
  gap: 48px;
  justify-items: center;
  padding-block: 64px;
}
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 700px;
  pointer-events: none;
  z-index: -1;
  border-radius: 50%;
  background: repeating-radial-gradient(ellipse at center, transparent 0 42px, #EFBF041A 43px 44px, transparent 45px 78px);
}
.hero::before { top: 280px; left: -260px; transform: rotate(-20deg); }
.hero::after { top: 70px; right: -260px; transform: rotate(20deg); }
.hero-copy { width: 100%; max-width: 54ch; font-size: 18px; text-align: left; }
.hero-copy > p { font-size: inherit; line-height: 1.75; color: var(--muted); margin-bottom: 24px; text-wrap: pretty; }
.hero-copy > p:last-child { margin-bottom: 0; }
.hero-copy .hero-ending { margin-top: 36px; }
.hero-build { display: block; }
.hero-question {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 18px;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  color: inherit;
}
.title-name { margin-inline: auto; }
.cover-scene { width: min(100%, 520px); height: 590px; margin-inline: auto; }
.cover-frame { width: min(70%, 320px); }
.book-heading { margin-bottom: 32px; }
.hero > .signup-block {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(100%, 560px);
  max-width: none;
  border-top: 1px solid var(--line);
  padding-top: 32px;
}
.hero > .signup-block h2 { font-size: 30px; text-align: center; }
.hero > .signup-block .signup-intro,
.hero > .signup-block > .signup-note { text-align: center; }
.signup-fields { flex-direction: column; gap: 12px; }
.signup-fields #signup-button { width: 100%; }
.title-section,
.book-overview,
.author-section,
.release-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: clamp(32px, 6vw, 72px);
  margin-block: 40px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(135deg, #C858A10C, #18081B66 60%);
}
.author-section { background: linear-gradient(225deg, #94222220, #18081B66 70%); }
.release-section { background: radial-gradient(ellipse at 50% 0%, #C858A11C, #18081B66 75%); }
.title-section > *,
.book-overview > *,
.author-section > *,
.release-section > * { width: 100%; max-width: 700px; }
.book-overview { font-size: 18px; }
.book-overview > * { max-width: 54ch; }
.book-overview .about-heading { margin-bottom: 0; }
.title-section .about-heading h2 { margin-bottom: 0; }
.title-section .eyebrow { font-size: 11px; margin-bottom: 21px; }
.overview-grid { display: flex; flex-direction: column; gap: 48px; }
.story-summary,
.book-overview .about-copy { width: 100%; }
.story-summary p,
.author-copy p { max-width: none; }
.story-summary p { font-size: inherit; line-height: 1.75; margin-bottom: 24px; text-wrap: pretty; }
.book-overview .about-copy {
  border-left: 0;
  border-top: 1px solid var(--line);
  padding: 32px 0 0;
}
.release-section .faq-list { padding-top: 0; }
.site-footer {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.site-footer .policy-links { flex-direction: column; gap: 10px; }
.site-footer .copyright-notice { max-width: none; }
.social-links { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; }
.social-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px; color: var(--ink); }
.social-links svg { width: 22px; height: 22px; flex: 0 0 22px; }
.social-links .social-handle { margin-left: 8px; color: var(--muted); }
.social-links a:hover,
.social-links a:hover .social-handle { color: var(--gold); }
.box-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 3px;
  color: var(--night);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.box-cta:hover { background-color: var(--gold); border-color: var(--gold-light); }
@media(max-width:760px) {
  .book-page .wrap { width: calc(100% - 40px); }
  .book-page .site-header { padding-block: 28px 20px; }
  .book-page .site-header nav { gap: clamp(12px, 4vw, 28px); font-size: 13px; }
  .hero { gap: 36px; padding-block: 40px; }
  .hero-copy,
  .book-overview { font-size: 17px; }
  .hero::before,
  .hero::after { display: none; }
  .cover-scene { max-width: 430px; height: 520px; }
  .cover-frame { width: min(70%, 280px); }
  .hero > .signup-block { padding-top: 28px; }
  .hero > .signup-block h2 { font-size: 27px; }
  .title-section,
  .book-overview,
  .author-section,
  .release-section { padding: 28px 24px; margin-block: 24px; border-radius: 12px; gap: 28px; }
  .site-footer { gap: 28px; }
}
@media(max-width:390px) {
  .book-page .wrap { width: calc(100% - 32px); }
  .title-section,
  .book-overview,
  .author-section,
  .release-section { padding-inline: 20px; }
  .cover-scene { height: 480px; }
}
/* Two type families, with the same reading rhythm throughout the book page. */
.book-page {
  --reading-size: 18px;
  --reading-leading: 1.75;
  --reading-measure: 54ch;
  --paragraph-gap: 24px;
  --section-heading-size: clamp(36px, 4vw, 44px);
  --secondary-heading-size: clamp(26px, 3vw, 30px);
  --supporting-size: 14px;
}
.book-page .hero-copy,
.book-page .title-section,
.book-page .book-overview,
.book-page .author-section {
  font-family: var(--sans);
  font-size: var(--reading-size);
  font-weight: 400;
  line-height: var(--reading-leading);
}
.book-page .hero-copy,
.book-page .title-section > *,
.book-page .book-overview > *,
.book-page .author-section > * { max-width: var(--reading-measure); }
.book-page .box-cta { width: auto; max-width: 100%; }
.book-page .hero-copy > p,
.book-page .story-summary p,
.book-page .dictionary-definition,
.book-page .author-copy p {
  font-family: var(--sans);
  font-size: inherit;
  font-weight: 400;
  line-height: var(--reading-leading);
  letter-spacing: normal;
  color: var(--muted);
  margin-bottom: var(--paragraph-gap);
  text-wrap: pretty;
}
.book-page .hero-copy > p:last-child,
.book-page .story-summary p:last-child,
.book-page .dictionary-definition,
.book-page .author-copy p:last-child { margin-bottom: 0; }
.book-page .about-heading h2,
.book-page .author-heading h2 {
  font-family: var(--serif);
  font-size: var(--section-heading-size);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
  margin: 0;
}
.book-page .dictionary-word .dictionary-title,
.book-page .author-copy h3,
.book-page .signup-block h2 {
  font-family: var(--serif);
  font-size: var(--secondary-heading-size);
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
}
.book-page .dictionary-pronunciation {
  font-family: var(--sans);
  font-size: var(--reading-size);
  line-height: 1.5;
}
.book-page .dictionary-part-of-speech { font-size: 16px; line-height: 1.5; }
.book-page .eyebrow:empty { display: none; }
.book-page .book-byline { font-family: var(--sans); line-height: 1.5; }
.book-page .book-byline .byline-label {
  font-size: var(--supporting-size);
  letter-spacing: normal;
}
.book-page .book-byline a { font-family: inherit; font-size: 16px; letter-spacing: normal; }
.book-page .signup-intro { font-size: var(--reading-size); line-height: var(--reading-leading); }
.book-page .signup-block form > label,
.book-page .signup-note,
.book-page .signup-status,
.book-page .policy-links,
.book-page .social-links {
  font-family: var(--sans);
  font-size: var(--supporting-size);
  line-height: 1.6;
}
.book-page #signup-button,
.book-page .box-cta { font-family: var(--sans); font-size: 16px; font-weight: 600; line-height: 1.4; }
.book-page .footer-title span { font-style: normal; letter-spacing: .015em; }
@media(max-width:760px) {
  .book-page { --reading-size: 17px; }
}
/* Native scroll snapping, with still reading time between theme changes. */
.chapter-band { --themes-visible: 4; position: relative; display: block; padding: 20px 24px; overflow: hidden; }
.theme-viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.theme-viewport::-webkit-scrollbar { display: none; }
.theme-viewport:focus-visible { outline: 2px solid var(--night); outline-offset: -3px; }
.theme-track { width: 100%; }
.theme-group { display: flex; align-items: stretch; width: 100%; list-style: none; padding: 0; margin: 0; }
.theme-group li { display: flex; align-items: center; justify-content: center; gap: 20px; flex: 0 0 calc(100% / var(--themes-visible)); min-width: 0; min-height: 64px; padding: 0 16px; white-space: normal; text-align: center; font-size: 18px; font-weight: 600; letter-spacing: .01em; line-height: 1.5; text-transform: none; scroll-snap-align: start; }
.theme-text { min-width: 0; overflow-wrap: anywhere; }
.theme-detail { display: block; font-size: 14px; font-weight: 400; line-height: 1.45; margin-top: 4px; }
.theme-group .ornament {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  font-size: 0;
  line-height: 1;
  background: var(--night);
  opacity: .7;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}
@media(max-width:1050px) { .chapter-band { --themes-visible: 3; } }
@media(max-width:760px) { .chapter-band { --themes-visible: 2; padding: 16px; }.theme-group li { font-size: 16px; padding-inline: 8px; gap: 12px; }.theme-text { font-size: 14px; }.theme-detail { font-size: 13px; } }
@media(prefers-reduced-motion:reduce) {
  .chapter-band { padding-inline: 24px; }
  .theme-viewport { overflow: visible; scroll-snap-type: none; }
  .theme-group { flex-wrap: wrap; justify-content: center; gap: 12px 24px; }
  .theme-group li { flex: 0 1 auto; min-height: 0; max-width: 100%; padding: 0; }
  .theme-group li[aria-hidden="true"] { display: none; }
}
