@font-face{font-family:Baloo;src:url('../assets/fonts/baloo2-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Andika;src:url('../assets/fonts/andika-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#0c1027;--surface:#131a36;--fg:#f6f1df;--muted:#bac0d4;--accent:#ffce5c;--border:#3b3e50;--radius:18px;--fast:160ms;--slow:480ms;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Andika,system-ui,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button{color:inherit}img{max-width:100%;object-fit:cover}.gold{color:var(--accent)}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--accent);color:var(--bg);z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:none}
.s-nav{position:relative;z-index:12;max-width:1440px;padding:24px 5.5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Baloo,system-ui,sans-serif;font-weight:700;font-size:32px;display:inline-flex;align-items:center;line-height:1;white-space:nowrap}.brand img{width:47px;height:44px;object-fit:contain;margin-right:9px}.s-nav nav{display:flex;gap:36px;margin-left:auto;margin-right:32px}.s-nav nav a{font-size:14px;min-height:44px;display:flex;align-items:center;color:var(--muted)}.s-nav nav a:hover{color:var(--fg)}.nav-cta{border:1px solid #75623b;border-radius:999px;background:transparent;padding:12px 22px;font-size:14px;color:var(--accent);min-height:46px}.nav-cta span{margin-left:15px}
.s-hero{position:relative;max-width:1600px;margin:auto;min-height:690px;height:calc(100svh - 94px);max-height:900px;isolation:isolate;overflow:hidden}.hero-art{position:absolute;right:-4%;top:0;width:75%;height:92%;z-index:-2;mask-image:linear-gradient(to right,transparent 0%,#000 32%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 32%,#000 90%,transparent 100%)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,transparent 29%,transparent 80%,var(--bg) 100%);pointer-events:none}.portal-poster,#portal-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}#portal-film{opacity:0;transition:opacity var(--slow)}body[data-film=playing] #portal-film,body[data-film=revealing] #portal-film{opacity:1}.hero-copy{padding:96px 0 110px;margin-left:max(5.5%,calc((100% - 1282px)/2));position:relative;max-width:650px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:400;color:var(--accent);margin:0 0 25px;line-height:1.6}.eyebrow span{font-size:15px;margin-right:10px}h1,h2{font-family:Baloo,system-ui,sans-serif;font-weight:700}h1{font-size:clamp(58px,5.7vw,86px);line-height:1.03;letter-spacing:-.035em;margin:0 0 24px;max-width:700px}h1 span{color:var(--accent)}.s-lead{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 30px}.hero-actions{display:flex;gap:28px;align-items:center}.primary{display:inline-flex;gap:14px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:999px;padding:16px 26px;background:var(--accent);color:var(--bg);font-weight:600;min-height:55px;transition:transform var(--fast),background var(--fast)}.primary:hover{background:#ffe094;transform:translateY(-2px)}.text-link{display:flex;gap:14px;align-items:center;min-height:48px;font-size:14px}.availability{font-size:11px;color:var(--muted);margin:12px 0 29px 4px}.trust{list-style:none;display:flex;gap:23px;padding:0;margin:0;color:var(--muted);font-size:12px}.trust span{color:var(--accent);margin-right:7px}.film-caption{position:absolute;right:9%;bottom:140px;display:flex;align-items:center;gap:14px;font-size:12px;line-height:1.6;color:var(--muted)}.caption-rule{width:30px;height:1px;background:var(--accent)}.film-caption strong{font-weight:400;color:var(--fg)}.film-controls{position:absolute;right:5.5%;bottom:52px;display:flex;gap:10px}.film-controls button{font-size:11px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:10px 14px;min-height:44px;color:var(--muted)}.film-controls button:hover{border-color:var(--accent);color:var(--fg)}.chapter-link{position:absolute;bottom:54px;left:5.5%;display:flex;align-items:center;gap:25px;min-height:44px;font-size:9px;letter-spacing:.19em;color:var(--muted)}.chapter-link>span:last-child{font-size:20px;color:var(--accent)}
.shelf-section{max-width:1440px;margin:auto;padding:46px 5.5% 90px;border-top:1px solid var(--border)}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}.shelf-heading .eyebrow{margin-bottom:7px}h2{font-size:clamp(32px,3.3vw,48px);line-height:1.15;margin:0;letter-spacing:-.025em}.shelf-heading>p{font-size:14px;line-height:1.8;color:var(--muted)}.books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.book{border:0;background:none;text-align:left;padding:0;display:block;min-width:0}.bind{display:block;aspect-ratio:16/10;border-radius:3px 12px 12px 3px;background:var(--leather,#182a5e);position:relative;overflow:hidden;isolation:isolate;box-shadow:0 12px 20px #0008,0 2px 4px #0006;transition:transform var(--slow) var(--ease)}.book:nth-child(2){--leather:#1f4d3a}.book:nth-child(3){--leather:#6b1f2e}.book:hover .bind{transform:translateY(-7px) rotate(-1deg)}.bind:before{content:'';position:absolute;inset:0;background:url('leather-grain.png');background-size:96px;opacity:.26;mix-blend-mode:overlay;z-index:1}.bind .art{position:absolute;left:14.5%;top:9.5%;width:78.5%;height:81%;border-radius:2px;z-index:2}.pages{position:absolute;right:0;top:3%;bottom:3%;width:2.6%;border-radius:0 5px 5px 0;z-index:2;background:repeating-linear-gradient(180deg,#f4edd9 0 2px,#d8ccae 2px 3px)}.spine{position:absolute;left:0;top:0;bottom:0;width:11%;z-index:3;background:linear-gradient(90deg,#0009,#0004 45%,#ffffff24 75%,#0004)}.spine:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 16%,#fff0b48c 16% 16.8%,#0007 16.8% 18.6%,#ffffff20 18.6% 19.4%,transparent 19.4% 20%)}.gilt{position:absolute;inset:4% 4.5% 4% 12%;z-index:4;border:3px double #c6a35d;border-radius:2px 8px 8px 2px}.age-stamp{position:absolute;top:36%;left:1%;width:9%;text-align:center;z-index:5;background:#201b13;border-block:1px solid #d9b46a;font-family:Baloo,sans-serif;font-size:12px;line-height:1.1;color:#f4dc8a;padding:3px 0}.cover-title{position:absolute;z-index:4;top:14%;left:18%;right:11%;text-align:center;font-family:Baloo,sans-serif;font-size:clamp(17px,1.8vw,25px);line-height:1.15;text-shadow:0 2px 3px #000,0 0 16px #000}.book-label{display:flex;justify-content:space-between;font-size:17px;font-family:Baloo,sans-serif;margin-top:20px}.book-label>span{color:var(--accent)}.book-note{display:block;font-size:12px;color:var(--muted);margin-top:3px}footer{max-width:1440px;margin:auto;border-top:1px solid var(--border);padding:30px 5.5%;display:flex;align-items:center;gap:28px}footer .brand{font-size:23px}footer p{color:var(--muted);font-size:12px;flex:1}footer>a:last-child{font-size:12px;min-height:44px;display:flex;align-items:center}
.light-bloom{position:fixed;left:var(--bloom-x,70%);top:var(--bloom-y,45%);width:36px;height:36px;border-radius:50%;background:#fff8dc;box-shadow:0 0 50px 25px #ffdc80;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;z-index:20}.brand-reveal{position:fixed;inset:0;z-index:21;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;opacity:0;background:var(--bg);visibility:hidden}.reveal-name{font-family:Baloo,sans-serif;font-size:clamp(65px,12vw,150px);line-height:1;color:var(--fg)}.reveal-name>span{color:var(--accent)}.reveal-caption{font-size:clamp(14px,2vw,22px);letter-spacing:.3em;margin-top:12px;color:var(--muted)}.reveal-star{color:var(--accent);font-size:26px;margin-top:36px}body[data-film=revealing] .light-bloom{animation:bloom 1.4s var(--ease) both}body[data-film=revealing] .brand-reveal{animation:brand-in 2.5s var(--ease) .6s both}@keyframes bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}35%{opacity:1}72%{opacity:1;transform:translate(-50%,-50%) scale(100)}100%{opacity:0;transform:translate(-50%,-50%) scale(100)}}@keyframes brand-in{0%{opacity:0;visibility:visible}22%,73%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}#cursor-trail{position:fixed;inset:0;pointer-events:none;z-index:30;width:100%;height:100%}#following-bug{position:fixed;top:0;left:0;pointer-events:none;z-index:31;opacity:0;object-fit:contain;will-change:transform}
dialog{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:24px;max-width:min(610px,calc(100% - 32px));padding:48px;text-align:center;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#050817d9;backdrop-filter:blur(7px)}dialog .eyebrow{margin:12px 0}dialog h2{font-size:36px}dialog p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:15px}dialog .primary{margin-top:14px}.close{position:absolute;right:12px;top:10px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:30px;color:var(--muted)}.dialog-mascot{object-fit:contain}#book-dialog{max-width:min(770px,calc(100% - 32px))}#book-image{margin-top:22px;width:100%;height:auto;border-radius:8px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero-copy{margin-left:9.9%}.hero-art{width:76%}.chapter-link{left:9.9%}}
@media(max-width:1000px){.s-nav{padding:20px 5%}.s-nav nav{gap:20px;margin-right:10px}.hero-copy{margin-left:5%;padding-top:85px;max-width:560px}.hero-art{right:-12%;width:86%;opacity:.8}.film-caption{display:none}.books{gap:20px}.trust{gap:15px}}
@media(max-width:650px){.s-nav{padding:18px 22px;gap:12px}.brand{font-size:27px}.brand img{width:36px;height:35px;margin-right:6px}.s-nav nav{display:none}.nav-cta{font-size:12px;padding:10px 15px;min-height:44px}.nav-cta span{margin-left:7px}.s-hero{height:auto;min-height:800px;max-height:none;display:flex;flex-direction:column}.hero-art{top:0;right:0;width:100%;height:340px;opacity:1;mask-image:none;-webkit-mask-image:none}.hero-art:after{background:linear-gradient(0deg,var(--bg),transparent 50%,transparent 87%,var(--bg))}.hero-art img,.hero-art video{object-fit:cover;object-position:center}.hero-copy{padding:304px 24px 132px;margin:0;max-width:none}.eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:19px}.eyebrow span{font-size:12px;margin-right:5px}h1{font-size:clamp(43px,11.6vw,65px);line-height:1.05;margin-bottom:18px}.s-lead{font-size:15px;line-height:1.7;margin-bottom:25px}.desktop-break{display:none}.hero-actions{gap:20px}.primary{padding:14px 20px;font-size:14px;gap:10px}.text-link{font-size:12px;gap:8px}.availability{font-size:10px;margin-bottom:24px}.trust{font-size:10px;gap:13px}.trust span{margin-right:4px}.film-controls{bottom:42px;right:22px;gap:6px}.film-controls button{font-size:10px;padding:9px 12px}.chapter-link{left:24px;bottom:90px;font-size:8px;gap:12px}.shelf-section{padding:35px 24px 50px}.shelf-heading{display:block;margin-bottom:26px}.shelf-heading>p{font-size:13px;margin-top:13px}.books{grid-template-columns:1fr;gap:32px}.book{width:100%;max-width:460px;margin:auto}.cover-title{font-size:24px}.book-label{font-size:20px;margin-top:15px}.book-note{font-size:13px}.age-stamp{font-size:15px}footer{padding:22px 24px;gap:16px;flex-wrap:wrap}footer p{flex-basis:100%;order:3;margin:0}footer>a:last-child{margin-left:auto}dialog{padding:42px 24px 30px}dialog h2{font-size:30px}dialog p:not(.eyebrow){font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#cursor-trail,#following-bug,.light-bloom,.brand-reveal{display:none!important}.book:hover .bind{transform:none}}
body.motion-off{scroll-behavior:auto}body.motion-off #cursor-trail,body.motion-off #following-bug,body.motion-off .light-bloom,body.motion-off .brand-reveal{display:none}body.motion-off *,body.motion-off *:before,body.motion-off *:after{animation:none!important;transition:none!important}
/* Readable supporting copy and consistent touch targets. */
.brand,.skip-link{min-height:44px}footer>a:last-child{min-width:44px}.availability,.film-controls button,.chapter-link{font-size:12px}.eyebrow{font-size:11px}.chapter-link{letter-spacing:.1em}.hero-art{right:0;width:71%}.film-controls button:disabled{opacity:.55;cursor:default}
@media(min-width:651px) and (max-width:1000px){.hero-art{right:0;width:80%}}
@media(max-width:650px){.hero-art{width:100%;height:310px}.hero-copy{padding-top:270px}.eyebrow{font-size:10px;letter-spacing:.09em}.shelf-heading .eyebrow{font-size:12px;letter-spacing:.06em}.trust{font-size:11px;gap:12px}.chapter-link{font-size:11px;bottom:91px}.film-controls button{font-size:12px}.availability{font-size:12px}.hero-actions{gap:16px}}
.bind .art{object-fit:contain}
.skip-link:not(:focus){visibility:hidden}
