.landing-page.is-booktree {overflow:hidden}
.landing-page.is-booktree .site-header {display:none}
.landing-page.is-destination main > #books {padding:0;margin:0;max-width:none;height:100dvh;overflow:hidden}
.booktree-stage {position:relative;width:100%;height:100%}
.booktree-stage picture {display:block;width:100%;height:100%}
.booktree-scene {display:block;width:100%;height:100%;object-fit:fill}
.booktree-back {
  position:absolute;top:max(14px,env(safe-area-inset-top));left:18px;padding:12px 20px;z-index:2;min-height:44px;
  background:linear-gradient(170deg,#edc07c,#b98443);border:2px solid #83562d;border-radius:8px 5px 10px 6px;
  color:#422d17;font:500 clamp(15px,1.5vw,22px) Fredoka,sans-serif;text-decoration:none;
  box-shadow:0 3px 0 #734920,0 5px 12px #38231155;transform:rotate(-2deg);
}
.booktree-note {position:absolute;left:5%;top:20%;width:24%;padding:14px 18px;color:#47311c;background:linear-gradient(165deg,#edc88c,#d5a261);border:2px solid #9a6a36;border-radius:6px 9px 5px 8px;box-shadow:0 4px 8px #38231155;transform:rotate(-2deg)}
.booktree-note h2 {font:500 clamp(24px,3vw,42px) Fredoka,sans-serif;letter-spacing:0;line-height:1;margin:0 0 10px}
.booktree-note p {font:500 clamp(12px,1.4vw,19px) Fredoka,sans-serif;line-height:1.3;margin:0}
.booktree-audiobooks {
  position:absolute;left:45%;top:66%;width:28%;min-height:44px;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:4px;box-shadow:none;
  transform:rotate(3deg);cursor:pointer;
}
.booktree-audiobooks img {display:block;width:100%;height:auto;filter:drop-shadow(1px 4px 3px #38231166)}
.booktree-audiobooks:hover {background:transparent;transform:rotate(3deg);filter:brightness(1.06)}
.booktree-audiobooks:focus-visible {outline:3px solid #fff0ad;outline-offset:4px}
.audiobook-dialog {width:min(94vw,1080px);max-height:92dvh;padding:40px 24px 24px;background:linear-gradient(115deg,#fff7df,#f0dfb4);border:2px solid #9a6a36;border-radius:10px;box-shadow:0 20px 70px #27130999;overflow:auto;color:#47311c}
.audiobook-dialog::backdrop {background:#263019b8}
.audiobook-dialog > h2 {margin:0 0 24px;font:500 clamp(28px,4vw,40px) Fredoka,sans-serif;text-align:center;color:#465b30}
.audiobook-sample {max-width:520px;margin:0 auto 24px;text-align:center}
.audiobook-sample p {margin:0 0 8px;font:500 18px Fredoka,sans-serif;color:#465b30}
.audiobook-sample audio {display:block;width:100%;min-height:44px}
.audiobook-sample-status {font-size:14px;color:#655035}
.audiobook-packs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.audiobook-pack {text-align:center;min-width:0}
.audiobook-pack > img,.audiobook-purchase > img {display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:5px;background:#fff9e9}
.audiobook-purchase {display:block;color:inherit;text-decoration:none;border-radius:5px}
.audiobook-purchase:focus-visible {outline:3px solid #547445;outline-offset:5px}
.audiobook-buy {display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:16px;padding:10px 18px;background:#547445;border-radius:6px;color:#fff8df;font:500 17px Fredoka,sans-serif}
.audiobook-purchase:hover .audiobook-buy {background:#3f5c32}
.audiobook-pack h3 {font:500 22px Fredoka,sans-serif;margin:16px 0 8px;color:#465b30}
.audiobook-pack p {font-size:14px;line-height:1.5;margin:0}
@media (max-width:600px) {.audiobook-packs {grid-template-columns:1fr}.audiobook-dialog {width:min(94vw,420px)}}
.booktree-music {
  position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:18%;min-height:44px;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:4px;box-shadow:none;
  transform:rotate(3deg);cursor:pointer;
}
.booktree-music img {display:block;width:100%;height:auto;filter:drop-shadow(1px 4px 3px #38231166)}
.booktree-music:hover {background:transparent;transform:rotate(3deg);filter:brightness(1.06)}
.booktree-music:focus-visible {outline:3px solid #fff0ad;outline-offset:4px}
.booktree-stage .song-controls {
  position:fixed;left:50%;bottom:14px;top:auto;transform:translateX(-50%);
  max-width:calc(100vw - 24px);z-index:8;background:rgba(255,253,247,.95);
}
.booktree-shelves {
  position:absolute;left:38%;top:17%;width:41%;height:48.5%;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,11.5fr) minmax(0,11.5fr) minmax(0,11.5fr) minmax(0,14fr);
  gap:0 7%;align-items:end;justify-items:center;
}
.booktree-book {
  display:flex;position:relative;align-items:center;justify-content:flex-end;flex-direction:column;
  height:100%;width:100%;max-width:8vw;min-width:44px;min-height:44px;
  border:0;padding:0;margin:0;background:transparent;border-radius:2px;cursor:pointer;
  box-shadow:none;transform:none;
}
.booktree-book img {display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(3px 4px 3px #25170aa0)}
.booktree-book:hover {background:transparent;transform:translateY(-5px)}
.booktree-book:focus-visible {outline:3px solid #ffe9a8;outline-offset:3px}
.booktree-upcoming {cursor:default;transform:none}
.booktree-upcoming:hover {transform:none}
.booktree-upcoming figcaption {position:absolute;bottom:7%;left:0;right:0;padding:5px 2px;background:#fff3ce;color:#5e482a;font:500 clamp(10px,1vw,15px) Fredoka,sans-serif;box-shadow:0 2px 4px #27180b50;text-align:center;transform:rotate(-5deg)}
.booktree-dialog {width:min(90vw,850px);max-height:92dvh;padding:36px;background:linear-gradient(115deg,#fff7df,#f0dfb4);border:0;border-radius:4px;box-shadow:0 20px 70px #27130999;overflow:auto}
.booktree-dialog::backdrop {background:#263019b8}
.booktree-close {position:absolute;top:8px;right:10px;background:transparent;border:0;color:#604a2d;font:28px Fredoka,sans-serif;min-width:44px;min-height:44px;padding:0;cursor:pointer}
.booktree-reading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.booktree-selected-cover {width:100%;max-height:65dvh;object-fit:contain;filter:drop-shadow(4px 8px 6px #49371855)}
.booktree-description h2 {font:500 clamp(24px,3vw,38px) Fredoka,sans-serif;color:#465b30;line-height:1.12;margin:0 0 16px}
.booktree-edition {font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#7b5b30;margin:0 0 10px}
.booktree-summary {font-size:16px;line-height:1.6;color:#655035;margin:0 0 25px}
.booktree-bookmark {display:block;padding:18px 18px 28px;background:#547445;color:#fff8df;font:500 18px Fredoka,sans-serif;text-align:center;clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);text-decoration:none}
.booktree-bookmark:focus-visible {outline:3px solid #cb8844;outline-offset:3px;clip-path:none}
@media (orientation:portrait) {
  .booktree-note {left:10%;top:10%;width:80%;text-align:center}
  .booktree-note h2 {font-size:clamp(24px,5vw,40px);margin-bottom:5px}
  .booktree-note p {font-size:14px}
  .booktree-shelves {left:23%;top:25.5%;width:60%;height:37%;gap:0 2%;grid-template-rows:minmax(0,8fr) minmax(0,10fr) minmax(0,9.5fr) minmax(0,9.5fr)}
  .booktree-book {max-width:15vw}
  .booktree-back {padding:10px 15px;font-size:15px;left:12px}
  .booktree-audiobooks {left:33%;top:63%;width:52%}
  .booktree-music {width:32%}
  .booktree-reading {grid-template-columns:1fr;gap:20px;text-align:center}
  .booktree-selected-cover {max-height:42dvh}
  .booktree-dialog {padding:42px 24px 24px}
}
@media (orientation:landscape) and (max-height:500px) {
  .booktree-back {font-size:14px;padding:8px 12px;top:8px}
  .booktree-note h2 {font-size:25px}
  .booktree-dialog {padding:32px 24px 18px}
  .booktree-summary {font-size:14px;margin-bottom:12px}
}
/* Keep the signs above the shelf when a phone is short or browser-zoomed. */
@media (orientation:portrait) and (max-height:700px) {
  .booktree-back {top:8px;padding:8px 12px;font-size:14px}
  .booktree-note {top:60px;left:10%;width:80%;padding:5px 10px;transform:none}
  .booktree-note h2 {font-size:20px;line-height:1;margin-bottom:4px}
  .booktree-note p {font-size:11px;line-height:1.2}
}
@media (max-width:319px) {
  .booktree-note h2 {font-size:18px}
  .booktree-book {min-width:32px;min-height:32px}
}
@media (orientation:landscape) and (max-height:380px) {
  .booktree-book img {height:calc(100% - 8px)}
}
@media (prefers-reduced-motion:no-preference) {.booktree-book{transition:transform .18s}}

.booktree-guide-link{display:block;margin-top:16px;text-decoration:underline;text-underline-offset:4px;color:#31583c}
