@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#493526;--brown:#76513a;--cream:#fff8ec;--paper:#fffaf1;--gold:#d9b47b;--green:#53694d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#f2e5cf}
a{color:inherit}.home{background:#182d29;min-height:100vh}.cover{height:100svh;min-height:500px;position:relative;display:grid;place-items:center;overflow:hidden;background:#243c34}.cover-art{width:100%;height:100%;object-fit:contain;display:block}.language-picks{position:absolute;bottom:clamp(15px,3vh,32px);left:50%;transform:translateX(-50%);display:flex;gap:clamp(12px,2vw,24px)}.flag{width:clamp(44px,5.5vw,66px);height:clamp(44px,5.5vw,66px);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:clamp(26px,3.3vw,39px);background:#fff;border:3px solid white;box-shadow:0 4px 14px #0005;transition:transform .2s}.flag:hover{transform:translateY(-4px) scale(1.05)}
.site{min-height:100vh;background:radial-gradient(ellipse at top,#fff8ed 0,#f2e5cf 70%)}.site-header{max-width:1120px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}.wordmark{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--brown);text-decoration:none}.header-actions{display:flex;align-items:center;gap:14px}.lang-switch{display:flex;gap:8px}.lang-switch a{text-decoration:none;font-size:21px}.home-link{font-size:14px;color:var(--brown)}main{max-width:1050px;margin:auto;padding:10px 28px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:#9a7857}.page-title{font:600 clamp(30px,5vw,48px) 'Playfair Display',serif;color:var(--brown);margin:8px 0 12px}.lead{font-size:17px;line-height:1.7;max-width:720px;color:#705c4b}.section{margin:42px 0}.section-title{font:600 26px 'Playfair Display',serif;color:var(--brown)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.character-card,.story-card,.about-card{background:#fffaf2;border:1px solid #ead9c2;border-radius:20px;overflow:hidden;box-shadow:0 9px 26px #74533712}.character-card img{width:100%;height:230px;object-fit:cover;object-position:center 28%;display:block}.character-copy{padding:18px}.character-copy h3{font:600 23px 'Playfair Display',serif;margin:0 0 8px;color:var(--brown)}.character-copy p{font-size:14px;line-height:1.65;margin:0;color:#6e5b4b}.story-list{display:grid;gap:14px}.story-card{text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.story-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #74533720}.story-card{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.story-card h3{font:600 22px 'Playfair Display',serif;margin:0 0 5px}.story-card p{margin:0;color:#806c59;font-size:14px}.pill{white-space:nowrap;border-radius:999px;background:#efe0c9;padding:8px 13px;font-size:12px;color:#77583d}.about-card{padding:26px;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.contact-links a{background:#76513a;color:white;text-decoration:none;border-radius:999px;padding:11px 16px;font-size:14px}.site-footer{text-align:center;padding:20px;color:#927d68;font-size:12px}
.book-shell{margin:28px auto 0;max-width:900px}.book-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.book-topline a{color:var(--brown);font-size:14px}.book{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:490px;perspective:1800px;filter:drop-shadow(0 18px 22px #63452b22)}.book-page{background:var(--paper);padding:clamp(22px,4vw,46px);position:relative;overflow:hidden;min-width:0}.book-page.left{border-radius:14px 0 0 14px;border-right:1px solid #e5d4bb;background:linear-gradient(90deg,#f1e5d2 0,#fffaf1 5%,#fffaf1 100%)}.book-page.right{border-radius:0 14px 14px 0;background:linear-gradient(90deg,#fffaf1 0,#fffaf1 95%,#f1e5d2 100%)}.book-page h2{font:600 clamp(23px,3vw,32px) 'Playfair Display',serif;color:var(--brown);margin:0 0 18px}.book-page p{font:16px/1.85 'Playfair Display',serif;white-space:pre-line}.book-page img{width:100%;max-height:285px;object-fit:contain;border-radius:10px}.book-page .page-number{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:11px;color:#a28b70}.book-page.flip{transform-origin:left center;animation:turn .65s ease both;z-index:3;backface-visibility:hidden}@keyframes turn{0%{transform:rotateY(0);box-shadow:0 0 0 #0000}45%{box-shadow:-18px 4px 26px #55351e33}100%{transform:rotateY(-180deg);box-shadow:0 0 0 #0000}}.book-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin:20px 0}.book-controls button{border:0;background:var(--brown);color:white;padding:12px 20px;border-radius:999px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}.book-controls button:disabled{opacity:.35;cursor:not-allowed}.book-counter{font-size:13px;color:#846e58;min-width:76px;text-align:center}.reader-cover{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;gap:14px}.reader-cover img{width:100%;height:100%;max-height:420px;object-fit:contain}.reader-cover h2{margin:0}.empty-note{background:#f7eddd;border-radius:12px;padding:16px;font-size:14px;line-height:1.6}
@media(max-width:700px){.site-header{padding:17px 18px}.wordmark{font-size:25px}main{padding:10px 18px 48px}.card-grid{grid-template-columns:1fr;gap:14px}.character-card{display:grid;grid-template-columns:116px 1fr}.character-card img{height:100%;min-height:155px}.character-copy{padding:15px}.book{grid-template-columns:1fr;min-height:460px}.book-page.left{display:none}.book-page.right{border-radius:14px;background:var(--paper)}.book-page{padding:26px 23px}.book-page p{font-size:17px}.book-controls{gap:9px}.book-controls button{padding:11px 14px}.story-card{padding:17px;align-items:flex-start}.pill{font-size:11px}}

.book{transition:transform .3s ease}.book.turn-forward{animation:bookForward .42s ease}.book.turn-back{animation:bookBack .42s ease}@keyframes bookForward{0%{transform:perspective(1200px) rotateY(0)}45%{transform:perspective(1200px) rotateY(-4deg)}100%{transform:perspective(1200px) rotateY(0)}}@keyframes bookBack{0%{transform:perspective(1200px) rotateY(0)}45%{transform:perspective(1200px) rotateY(4deg)}100%{transform:perspective(1200px) rotateY(0)}}.book-inner{height:100%;padding-bottom:30px}.book-inner img{display:block;width:100%;max-height:250px;object-fit:contain;margin:10px auto}.book-inner h2{font:600 clamp(23px,3vw,32px) 'Playfair Display',serif;color:var(--brown);margin:0 0 16px}.book-inner p{font:16px/1.85 'Playfair Display',serif;white-space:pre-line}.book-page-empty{height:100%}.reader-cover img{width:100%;max-height:320px;object-fit:contain}

/* Realistic paper-sheet turn: the current page rotates over the next page. */
.book{position:relative;overflow:visible;transform-style:preserve-3d}
.turn-sheet{position:absolute;top:0;bottom:0;z-index:10;transform-style:preserve-3d;pointer-events:none}
.turn-sheet.desktop{left:50%;width:50%;transform-origin:left center}
.turn-sheet.mobile{left:0;width:100%;transform-origin:left center}
.turn-sheet .turn-face{position:absolute;inset:0;overflow:hidden;padding:clamp(22px,4vw,46px);background:#fffaf1;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 0 18px #6b4b2b0b}
.turn-sheet .turn-face.front{border-radius:0 14px 14px 0;background:linear-gradient(90deg,#f1e5d2 0,#fffaf1 8%)}
.turn-sheet .turn-face.back{transform:rotateY(180deg);border-radius:14px 0 0 14px;background:linear-gradient(90deg,#fffaf1 92%,#e9dac4 100%)}
.turn-sheet.turning{transition:transform .72s cubic-bezier(.2,.72,.25,1);transform:rotateY(-180deg)}
.turn-sheet.reverse{left:0;transform-origin:right center}
.turn-sheet.reverse .turn-face.front{border-radius:14px 0 0 14px}
.turn-sheet.reverse .turn-face.back{border-radius:0 14px 14px 0}
.turn-sheet.reverse.turning{transform:rotateY(180deg)}
.turn-sheet .book-inner{height:100%;overflow:hidden}
.turn-sheet .book-inner p{font-size:clamp(14px,1.8vw,17px)}
@media(max-width:700px){.turn-sheet.desktop{display:none}.turn-sheet.mobile{left:0;width:100%}.turn-sheet .turn-face{padding:26px 23px}.book{overflow:hidden}}
