[hidden]{display:none!important}.books-hero{max-width:1400px;margin:auto;padding:65px 7%;display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;overflow:hidden}.books-hero h1{font-size:clamp(40px,4.5vw,63px);letter-spacing:-2.4px}.books-hero>div>p:not(.eyebrow){max-width:430px;color:var(--gray);font-size:14px}.hero-book{position:relative;perspective:1000px;width:260px;height:345px;justify-self:center;transform:rotate(-7deg)}.hero-book-cover{position:absolute;inset:0;z-index:2;background:#773242;color:#faf3e9;padding:25px 23px 25px 32px;border-left:8px solid #582733;box-shadow:3px 5px 0 #bba994,8px 12px 0 #d7ccba,15px 25px 30px #25212630;transform:rotateY(-13deg);transform-origin:left center;display:flex;flex-direction:column;justify-content:space-between}.hero-book-cover>span{font-size:9px;letter-spacing:2px}.hero-book-cover strong{font:700 32px/1.2 'Manrope',sans-serif;letter-spacing:-1px}.hero-book-cover b{font-size:60px;line-height:1;color:#dcb79d}.hero-book-cover small{font-size:7px;letter-spacing:2px}.books-collection{max-width:1320px;padding:55px 7% 75px;margin:auto;border-top:1px solid #ded8cd}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.collection-heading h2{font-size:37px;margin-bottom:0}.book-filters{display:flex;gap:8px;flex-wrap:wrap}.book-filters button{background:none;border:1px solid #d1cabe;border-radius:30px;padding:9px 18px;font:11px 'DM Sans',sans-serif;cursor:pointer}.book-filters .active{background:var(--ink);border-color:var(--ink);color:white}#books-status{font-size:11px;color:var(--gray);margin:20px 0}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 35px}.book-card{min-width:0}.book-card-display{background:#ebe7de;min-height:330px;display:grid;place-items:center;padding:35px;perspective:1000px;width:100%;border:0;cursor:pointer}.book-model{position:relative;width:170px;height:245px;transform:rotateY(-16deg) rotateZ(-3deg);transform-style:preserve-3d;transition:transform .35s}.book-card-display:hover .book-model{transform:rotateY(-6deg) rotateZ(0deg) translateY(-5px)}.book-model img{display:block;width:100%;height:100%;object-fit:cover;border-radius:1px 4px 4px 1px;box-shadow:1px 2px 0 #a8987f,4px 4px 0 #eee5d4,6px 7px 0 #c4b59c,12px 18px 23px #211a2333}.book-model:after{content:'';position:absolute;inset:0 auto 0 6px;width:5px;background:linear-gradient(90deg,#0003,#fff3);pointer-events:none}.book-card .eyebrow{font-size:8px;margin:22px 0 12px;letter-spacing:1.3px;color:var(--red)}.book-card h3{font-size:25px;margin-bottom:8px;overflow-wrap:anywhere}.book-card-author{font-size:11px;color:var(--gray)}.book-card-description{font-size:13px;color:var(--gray);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-card-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #d5cec2;padding-top:17px;margin-top:20px}.book-card-bottom>span{font-size:11px;color:var(--gray)}.book-preview-button{font:600 11px 'DM Sans',sans-serif;border:0;border-bottom:1px solid var(--ink);padding:0 0 5px;background:none;cursor:pointer;color:var(--ink)}.books-empty{text-align:center;padding:60px 20px;background:#eeebe4}.books-empty>span{font-size:60px;color:var(--red)}.books-empty h3{font-size:28px}.books-empty p{font-size:13px;color:var(--gray)}.books-note{background:#1b1c21;color:white;text-align:center;padding:55px 7%}.books-note h2{font-size:39px}.books-note h2 span{color:#e9aaa7}.books-note>p:not(.eyebrow){max-width:470px;margin:auto;color:#bfc0ca;font-size:13px}#book-reader{padding:30px;width:min(1120px,96vw);max-width:1120px;max-height:94dvh;overflow:auto;background:#eae4d8;color:var(--ink)}#book-reader::backdrop{background:#111218d9;backdrop-filter:blur(5px)}#book-reader .reader-close{position:sticky;top:0;left:100%;z-index:10;margin:-15px -10px 0 0;width:35px;height:35px;border-radius:50%;border:1px solid #bfb3a2;background:#faf7ef;font-size:25px;line-height:1;cursor:pointer;color:var(--ink)}.reader-top{text-align:center;margin:-10px 35px 25px}.reader-top .eyebrow{font-size:8px;margin-bottom:10px}.reader-top h2{font-size:26px;max-width:700px;margin:0 auto 8px;overflow-wrap:anywhere}.reader-top>p:last-child{font-size:11px;color:var(--gray);margin:0}.book-stage{display:grid;grid-template-columns:1fr 1fr;max-width:850px;margin:auto;perspective:1800px;filter:drop-shadow(0 17px 17px #3426172e)}.book-left,.book-right{min-width:0;position:relative;aspect-ratio:3/4;background:#fffcf4;border:1px solid #d1c6b3;box-shadow:0 4px 0 #ded5c4,0 8px 0 #cfc4b1}.book-left{border-radius:4px 0 0 4px;background:linear-gradient(90deg,#f8f2e6 94%,#c8bda8);overflow:hidden}.book-left>img{height:100%;width:100%;object-fit:contain;background:#f6f0e3;padding:0 10px 0 0}.book-right{border-radius:0 4px 4px 0;transform-style:preserve-3d;background:linear-gradient(90deg,#d7cdbb,#fffcf4 7%)}.book-inside-left{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:40px 25px;text-align:center;background:linear-gradient(90deg,#f8f2e6 94%,#c8bda8)}.book-inside-left>span:first-child{font-size:9px;letter-spacing:2px}.book-inside-left>span:nth-child(2){font-size:70px;color:#b9a48d}.book-inside-left p{font:500 20px/1.6 Georgia,serif;color:#85705d}.reader-sheet{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;z-index:3}.sheet-front,.sheet-back{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:linear-gradient(90deg,#ddd3c1,#fffcf4 7%);border-radius:0 4px 4px 0}.sheet-back{transform:rotateY(180deg);background:linear-gradient(90deg,#fffaf0 90%,#d5c8b1);display:grid;place-items:center;color:#c7b79e;font-size:65px}.sheet-front>img,.page-under>img{width:100%;height:100%;object-fit:contain;display:block}.reader-invitation,.reader-paywall{height:100%;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.reader-invitation .eyebrow,.reader-paywall .eyebrow{font-size:8px;letter-spacing:1.3px}.reader-invitation h3,.reader-paywall h3{font:500 29px/1.25 Georgia,serif;letter-spacing:-.6px}.reader-invitation p:not(.eyebrow),.reader-paywall p:not(.eyebrow){font-size:12px;color:#786957}.reader-invitation button,.reader-paywall button{border:0;border-bottom:1px solid var(--ink);background:none;cursor:pointer;font:600 11px 'DM Sans',sans-serif;padding:5px 0}.reader-paywall>span{font-size:45px;color:var(--red);margin-bottom:20px}.page-under{position:absolute;inset:0;overflow:hidden;background:#fffcf4}.reader-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin:27px auto 8px}.reader-controls button{width:42px;height:38px;border:1px solid #b9ac98;background:#faf6ed;color:var(--ink);font-size:22px;cursor:pointer}.reader-controls button:disabled{opacity:.35;cursor:default}.reader-controls p{font-size:11px;min-width:140px;text-align:center;margin:0}.reader-hint{text-align:center;max-width:650px;font-size:10px;color:#786f62;margin:10px auto 28px}.reader-purchase{border-top:1px solid #c7baa5;padding-top:25px;display:grid;grid-template-columns:1fr 2fr;gap:20px;max-width:850px;margin:auto}.reader-purchase h3{font-size:23px}.reader-purchase .eyebrow{font-size:8px}.reader-editions{display:flex;gap:12px;flex-wrap:wrap}.reader-editions>a,.reader-editions>div{flex:1;min-width:150px;border:1px solid #c7baa5;background:#fbf7ed;padding:17px}.reader-editions strong{display:block;font-size:13px;margin-bottom:4px}.reader-editions span{display:block;font-size:11px;color:#756552}.reader-editions small{display:block;font-size:10px;margin-top:12px;color:var(--red)}.reader-editions a:hover{border-color:var(--red)}.purchase-note{grid-column:1/-1;font-size:10px;color:#786f62;margin:0}.reader-purchase-highlight{outline:2px solid var(--red);outline-offset:7px}@media(max-width:1000px){.books-hero{gap:35px}.books-hero h1{font-size:47px}.hero-book{width:215px;height:300px}.hero-book-cover strong{font-size:28px}.book-grid{gap:25px}.book-card-display{padding:25px;min-height:285px}.book-model{width:145px;height:215px}.reader-invitation,.reader-paywall{padding:25px}.reader-invitation h3,.reader-paywall h3{font-size:25px}}@media(max-width:720px){.books-hero{grid-template-columns:1fr;padding:40px 6%;gap:45px}.books-hero h1{font-size:39px;letter-spacing:-1.5px}.hero-book{margin:0 0 25px;width:210px;height:290px}.books-collection{padding:40px 6%}.collection-heading{display:block}.collection-heading h2{font-size:31px}.book-filters{margin-top:25px}.book-grid{grid-template-columns:1fr}.book-card-display{min-height:340px}.book-model{width:180px;height:260px}.books-note h2{font-size:32px}#book-reader{padding:18px 13px}.reader-top{margin:0 25px 20px}.reader-top h2{font-size:21px}.book-stage{grid-template-columns:1fr;max-width:400px;perspective:1400px}.book-left{display:none}.book-right{aspect-ratio:3/4}.reader-sheet{transform-origin:left center}.reader-invitation,.reader-paywall{padding:35px}.reader-invitation h3,.reader-paywall h3{font-size:29px}.reader-invitation p:not(.eyebrow),.reader-paywall p:not(.eyebrow){font-size:13px}.reader-purchase{grid-template-columns:1fr;gap:10px}.reader-purchase h3{font-size:22px}.reader-controls{gap:18px}.reader-hint{font-size:9px}.book-inside-left{display:none}.reader-top .eyebrow{letter-spacing:1.5px}}

/* A separate leaf turns over the stationary right page. */
.book-stage {
  filter: none;
  box-shadow: 0 18px 25px -14px #34261766;
}
.book-left > .book-left-preview {
  position: absolute;
  inset: 0;
  padding: 0;
  background: #fffcf4;
}
.turning-leaf {
  z-index: 4;
  pointer-events: none;
}
.turning-leaf .sheet-back {
  display: block;
  border-radius: 4px 0 0 4px;
}
.turning-leaf .sheet-back > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.turning-leaf .sheet-front::after,
.turning-leaf .sheet-back::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #3b291d22, transparent 18%, transparent 85%, #ffffff40);
}
.turning-leaf .sheet-back::after {
  background: linear-gradient(270deg, #3b291d30, transparent 22%, transparent 86%, #ffffff30);
}
#reader-page { cursor: pointer; }

/* Open spreads share one image, clipped at the spine by the two page faces. */
.book-stage {
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 850px;
  perspective: 1400px;
  perspective-origin: 50% 46%;
  touch-action: pan-y;
}
.book-left,
.book-right {
  aspect-ratio: 3 / 4;
}
.book-left > .book-left-preview,
.sheet-front > img,
.turning-leaf .sheet-back > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 0;
  object-fit: contain;
  background: #fffcf4;
}
.book-left > .spread-half,
.sheet-front > .spread-half,
.turning-leaf .sheet-back > .spread-half {
  width: 200%;
}
.sheet-front > .spread-right {
  left: -100%;
}
.book-stage::after {
  content: '';
  position: absolute;
  inset: 0 auto 0 50%;
  width: 5%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #39261523 48%, #21130738 50%, transparent);
  pointer-events: none;
  z-index: 2;
}
.book-stage > .turning-leaf {
  inset: 0 0 0 50%;
  transform-origin: left center;
  z-index: 5;
  will-change: transform;
}
.turning-leaf .sheet-front::after {
  background: linear-gradient(90deg, #34200e48, transparent 20%, #ffffff18 76%, #fff9 98%, #66514040);
}
.turning-leaf .sheet-back::after {
  background: linear-gradient(270deg, #34200e55, transparent 22%, #ffffff18 75%, #fff8 98%, #66514040);
}
.book-closed {
  box-shadow: none;
}
.book-closed .book-left {
  visibility: hidden;
}
.book-closed::after {
  content: none;
}
.book-closed .reader-invitation {
  position: absolute;
  inset: auto 0 0;
  padding: 22px 12px 14px;
  height: auto;
  background: linear-gradient(transparent, #17120fe8);
}
.book-closed .reader-invitation > :not(button) {
  display: none;
}
.book-closed .reader-invitation button {
  color: white;
  border-color: white;
}
#reader-cover,
.book-left-preview {
  cursor: pointer;
}
@media (max-width: 720px) {
  .book-stage .book-left {
    display: block;
  }
  .book-inside-left {
    padding: 12px 6px;
  }
  .book-inside-left > span:nth-child(2) {
    font-size: 28px;
  }
  .book-inside-left p {
    font-size: 11px;
  }
  .reader-invitation,
  .reader-paywall {
    padding: 8px;
  }
  .reader-invitation h3,
  .reader-paywall h3 {
    font-size: clamp(13px, 4vw, 21px);
    margin-bottom: 5px;
  }
  .reader-invitation p:not(.eyebrow),
  .reader-paywall p:not(.eyebrow) {
    font-size: clamp(9px, 2.6vw, 11px);
    margin-bottom: 5px;
  }
  .reader-paywall > span {
    display: none;
  }
}

.reader-motion {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin: 8px auto;
  font-size: 11px;
  color: var(--ink);
}
.reader-motion input {
  accent-color: var(--red);
}

/* The reader fills the viewport while the spread keeps its paper proportions. */
#book-reader {
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  padding: 12px clamp(8px, 1.5vw, 24px) 24px;
  overscroll-behavior: contain;
}
#book-reader .reader-close {
  position: fixed;
  inset: 10px 12px auto auto;
  margin: 0;
}
#book-reader .reader-top {
  margin: 0 42px 10px;
}
#book-reader .reader-top .eyebrow {
  display: none;
}
#book-reader .reader-top h2 {
  font-size: clamp(16px, 2vw, 23px);
  margin-bottom: 3px;
}
#book-reader .book-stage {
  width: min(100%, max(240px, calc((100dvh - 132px) * 1.5)));
  max-width: none;
}
#book-reader .reader-controls {
  margin: 12px auto 4px;
}
#book-reader .reader-motion {
  margin: 3px auto;
}
#book-reader .reader-hint {
  margin: 8px auto 22px;
}

#book-reader {
  overflow: hidden;
  padding: 8px clamp(4px, 1vw, 16px) 12px;
}
#book-reader[open] {
  display: grid;
  grid-template: auto minmax(0, 1fr) / clamp(32px, 4vw, 56px) minmax(0, 1fr) clamp(32px, 4vw, 56px);
  column-gap: clamp(2px, .5vw, 8px);
}
#book-reader .reader-top {
  grid-area: 1 / 1 / 2 / -1;
  margin-bottom: 6px;
}
#book-reader .reader-close {
  top: 6px;
  right: 6px;
}
.reader-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 12px;
  margin-top: 4px;
  font-size: 11px;
}
.reader-options p {
  margin: 0;
}
#show-editions {
  padding: 3px 8px;
  border: 1px solid #b9ac98;
  background: #faf6ed;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}
.reader-stage-area {
  grid-area: 2 / 2;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  container-type: size;
}
#book-reader .book-stage {
  width: min(100cqw, 150cqh);
}
#book-reader .reader-controls {
  display: contents;
}
#book-reader .reader-controls button {
  width: 100%;
  align-self: center;
  z-index: 6;
}
#page-back { grid-area: 2 / 1; }
#page-next { grid-area: 2 / 3; }

#reader-purchase {
  position: fixed;
  inset: 8px 8px 8px auto;
  margin: 0;
  width: min(340px, calc(100% - 16px));
  max-height: calc(100dvh - 16px);
  overflow: auto;
  padding: 20px;
  border: 1px solid #c7baa5;
  background: #eae4d8;
  color: var(--ink);
  outline: none;
}
#reader-purchase:not([open]) { display: none; }
#reader-purchase[open] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#reader-purchase::backdrop { background: #15121966; }
#close-editions {
  align-self: end;
  padding: 0 8px;
  border: 1px solid #b9ac98;
  background: #faf6ed;
  color: var(--ink);
  font-size: 22px;
  cursor: pointer;
}
#reader-purchase .reader-editions { flex-direction: column; }

.book-card > .book-amazon-link {
  display: inline-block;
  margin-top: 14px;
  padding: 9px 13px;
  background: var(--ink);
  color: white;
  font-size: 12px;
  text-decoration: none;
}
.reader-editions .book-amazon-link {
  font-weight: 700;
}
