:root{--ink:#171717;--cream:#fbf8f1;--blue:#265cff;--acid:#d8ff3e;--muted:#68665f;--rule:rgba(21,21,21,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#292725;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}
.fixed-background{position:fixed;inset:0;overflow:hidden;background:linear-gradient(145deg,#3b3835,#242220)}.fixed-background img{position:absolute;width:min(70vw,950px);opacity:.22;filter:grayscale(1) brightness(.32)}.fixed-background img:first-child{left:-13vw;top:-15vh;transform:rotate(-12deg)}.fixed-background img:last-child{right:-16vw;bottom:-20vh;transform:rotate(15deg)}
.site-shell{position:relative;width:min(100% - 32px,1500px);margin:auto;background:rgba(248,245,237,.93);box-shadow:0 0 70px rgba(0,0,0,.45)}
header{height:90px;padding:0 34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--rule)}.brand img{width:125px;height:72px;object-fit:contain}nav{display:flex;gap:34px;font-size:13px;font-weight:800}.find-link{justify-self:end;font-size:13px;font-weight:900}.find-link span{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:12px;border-radius:50%;background:var(--ink);color:#fff}
.hero{min-height:690px;padding:70px 5vw;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden}.eyebrow{margin:0 0 28px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:900}h1,h2{margin:0;font:400 clamp(64px,7.8vw,124px)/.9 Georgia,serif;letter-spacing:-.06em}em{font-weight:400;color:var(--blue)}.hero-copy>p:not(.eyebrow){max-width:570px;margin:38px 0;font-size:22px;line-height:1.5}.button{display:inline-block;padding:19px 25px;background:var(--ink);color:white;font-size:13px;font-weight:900}
.hero-books{height:520px;position:relative}.hero-circle{position:absolute;left:50%;top:50%;width:430px;height:430px;border-radius:50%;background:var(--acid);transform:translate(-50%,-50%)}.sample-cover{position:absolute;z-index:2;width:230px;aspect-ratio:.73;padding:20px;border:1px solid;box-shadow:18px 22px 20px rgba(0,0,0,.22);display:flex;align-items:flex-end;font:30px/.9 Georgia,serif}.c1{left:35%;top:8%;background:#aa93f0;transform:rotate(-2deg);z-index:4}.c2{right:4%;top:18%;background:#ec5a33;transform:rotate(14deg)}.c3{left:5%;top:24%;background:#f2ca3f;transform:rotate(-15deg)}
.ticker{min-height:64px;padding:14px 28px;background:var(--blue);color:white;display:flex;justify-content:space-around;align-items:center;gap:24px;white-space:nowrap;overflow:hidden;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900}.ticker i{color:var(--acid)}
.books-section{padding:110px 3.2vw 135px;background:rgba(251,248,241,.97)}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10%;margin-bottom:65px}.section-heading>p{max-width:480px;margin:0 0 6px auto;color:var(--muted);font-size:18px;line-height:1.55}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px clamp(22px,3vw,45px)}
.book-image{min-height:520px;padding:52px 14%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e6e0d6;cursor:ew-resize}.number{position:absolute;left:20px;top:18px;font:16px Georgia,serif}.cover-placeholder{width:min(100%,285px);aspect-ratio:.73;padding:22px 20px 18px;border:1px solid;box-shadow:15px 20px 25px rgba(0,0,0,.2);display:flex;flex-direction:column;transform:rotate(-1.5deg)}.cover-placeholder strong{margin-top:auto;font:34px/.92 Georgia,serif;letter-spacing:-.04em}.cover-placeholder small{font-size:7px;font-weight:900;letter-spacing:.13em}.cover-placeholder small:last-child{margin-top:16px;padding-top:9px;border-top:1px solid}.theme-purple .cover-placeholder{background:#aa93f0}.theme-orange .cover-placeholder{background:#ec5a33}.theme-yellow .cover-placeholder{background:#f2ca3f}.theme-green .cover-placeholder{background:#66b69e}.theme-pink .cover-placeholder{background:#e58bb2}.theme-blue .cover-placeholder{background:#79a9df}
.cover{position:absolute;z-index:3;width:min(72%,285px);aspect-ratio:.73;object-fit:cover;box-shadow:15px 20px 25px rgba(0,0,0,.2);opacity:0}.cover.loaded{opacity:1}
.page-overlay{position:absolute;z-index:7;inset:0;padding:30px 0 24px;background:rgba(18,18,18,.94);color:white;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s}.book-image:hover .page-overlay,.book-image.touch-open .page-overlay{opacity:1;visibility:visible}.page-overlay>p{margin:0 0 17px;text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:900}.page-window{height:420px;overflow:hidden}.page-track{height:100%;display:flex;align-items:center;gap:18px;padding:0 28%;will-change:transform;transform:translate3d(var(--track-x,0px),0,0);transition:transform .09s linear}
.page-track figure{position:relative;flex:0 0 46%;height:88%;margin:0;background:#f9f7f1;border:7px solid white;box-shadow:12px 15px 24px rgba(0,0,0,.4);transform:rotate(-2deg);transition:transform .15s}.page-track figure:nth-child(even){transform:rotate(2deg) translateY(8px)}.page-track figure span{position:absolute;z-index:1;right:10px;bottom:8px;color:#222;font:23px Georgia,serif}.page-track figure img{width:100%;height:100%;object-fit:cover;opacity:0}.page-track figure img.loaded{opacity:1}.position-bar{width:58%;height:2px;margin:14px auto 0;background:#666}.position-bar span{display:block;width:22%;height:100%;background:white;transform:translateX(var(--bar-x,0%))}
.book-copy{padding-top:24px}.detail{margin:0 0 14px!important;text-transform:uppercase;letter-spacing:.12em;font-size:9px!important;font-weight:900}.book-copy h3{margin:0;font:31px/1 Georgia,serif;letter-spacing:-.04em}.book-copy>p{min-height:70px;color:var(--muted);font-size:14px;line-height:1.55}.store{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--rule);font-size:12px;font-weight:900}.store:last-child{border-bottom:1px solid var(--rule)}.blue{color:var(--blue)}
.about,.puzzles{min-height:680px;padding:95px 7vw;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:9%}.about{background:rgba(23,23,23,.97);color:white}.about em{color:var(--acid)}.about-mark{justify-self:center;width:290px;height:290px;border:1px solid #777;border-radius:50%;display:grid;place-items:center;color:var(--acid);font:130px Georgia,serif}.about>div:last-child>p:last-child{max-width:720px;font-size:25px;line-height:1.45}.puzzles{grid-template-columns:1fr 1fr;background:rgba(233,228,216,.96)}.puzzle-art{aspect-ratio:1;max-width:520px;background:var(--blue);color:white;box-shadow:22px 25px 0 var(--acid);display:grid;place-items:center;text-align:center;font:italic clamp(46px,5vw,76px)/.82 Georgia,serif;transform:rotate(-2deg)}
footer{padding:45px 4vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:40px;background:#171717;color:#aaa;font-size:12px}footer img{width:120px;filter:invert(1)}
@media(max-width:1050px){.book-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-books{display:none}}
@media(max-width:720px){.site-shell{width:100%}header{grid-template-columns:1fr auto;padding:0 18px}nav{display:none}.find-link{font-size:0}.hero{padding:60px 20px}.hero h1{font-size:clamp(58px,18vw,84px)}.ticker{justify-content:flex-start}.section-heading,.book-grid,.about,.puzzles{grid-template-columns:1fr}.book-grid{gap:62px}.books-section{padding:85px 20px}.book-image{min-height:500px}.page-track{padding:0 24%;}.page-track figure{flex-basis:56%}.about,.puzzles{gap:65px;padding:80px 25px}.about-mark{grid-row:2;width:240px;height:240px}.puzzle-art{grid-row:2}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* 12-book edition: refined previews */
.hero-books img.sample-cover{padding:0;object-fit:cover;display:block}
.page-overlay{pointer-events:none}
.book-image:hover .page-overlay,.book-image:focus-within .page-overlay,.book-image.preview-active .page-overlay{pointer-events:auto}
.preview-open{position:absolute;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);border:0;border-radius:999px;padding:10px 16px;background:#111;color:#fff;font:700 12px/1 Arial,sans-serif;letter-spacing:.04em;cursor:pointer}
.preview-close{position:absolute;z-index:12;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#111;color:#fff;font-size:25px;line-height:1;cursor:pointer}
.preview-arrow{position:absolute;z-index:11;top:50%;transform:translateY(-50%);width:42px;height:52px;border:0;border-radius:8px;background:rgba(17,17,17,.78);color:#fff;font-size:34px;line-height:1;cursor:pointer}.preview-arrow.previous{left:8px}.preview-arrow.next{right:8px}
.page-track{will-change:transform;transform:translate3d(var(--track-x,0),0,0);transition:none}.page-track figure{flex:0 0 72%;height:94%}.page-track figure span{display:none}.page-track img{object-fit:contain;background:#fff}
@media (hover:hover) and (pointer:fine){.preview-open,.preview-close{display:none}.preview-arrow{opacity:0;transition:opacity .2s}.book-image:hover .preview-arrow{opacity:1}}
@media (hover:none),(pointer:coarse){.book-image:hover .page-overlay{opacity:0;visibility:hidden}.book-image.preview-active .page-overlay{opacity:1;visibility:visible}.page-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}.page-track{transform:none!important;width:max-content;height:100%;gap:14px;padding:3% 12%}.page-track figure{flex:0 0 min(72vw,330px);scroll-snap-align:center;scroll-snap-stop:always}.position-bar{display:none}.preview-instruction{font-size:11px}.preview-open{display:block}.preview-arrow{display:block}.book-image.preview-active .cover,.book-image.preview-active .cover-placeholder{opacity:0}.book-image.preview-active{touch-action:auto}}
@media (min-width:900px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Wider carousel pages */
.page-track {
  padding-left: 10%;
  padding-right: 10%;
}

.page-track figure {
  flex-basis: 75%;
  height: 96%;
}

/* Show the complete page without cropping */
.page-track figure img {
  object-fit: contain;
  background: white;
}

/* Remove carousel page numbers */
.page-track figure span {
  display: none;
}

/* Fix excessive white space around mobile carousel pages */
@media (hover: none), (pointer: coarse) {

  .page-window {
    width: 100%;
    padding: 0 !important;
    overflow-x: auto;
  }

  .page-track {
    padding: 0 !important;
    gap: 10px !important;
  }

  .page-track figure {
    flex: 0 0 min(84vw, 360px) !important;
    width: min(84vw, 360px) !important;
    margin: 0 !important;
  }

  .page-track figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
