/* A single open book: the grounded origin of every emerging idea. */
#website .book-hero{display:block;min-height:0;padding:20px 5% 48px;background:radial-gradient(ellipse at 50% 45%,#fffaf0 10%,#f3eddf 72%);overflow:hidden}#website .book-hero .book-intro{text-align:center;font-size:10px;letter-spacing:.22em;color:#89846b;margin:15px 0 0}#website .book-scene{height:570px;max-width:1080px;width:100%;margin:0 auto;transform:none;background:none;isolation:isolate}#website .book-scene:before{display:none}#website .open-book{position:absolute;z-index:1;left:12%;width:76%;height:76%;top:27%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 22px 17px #6c54331a);transform:perspective(1300px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .65s ease}#website .book-models{position:absolute;z-index:3;inset:0;pointer-events:none}#website .book-models canvas{display:block;width:100%;height:100%}#website .book-equations{position:absolute;inset:0;z-index:4;pointer-events:none}#website .book-equation{position:absolute;display:block;color:#8d6c36;font:italic 26px/1.2 'Plus Jakarta Sans',Inter,sans-serif;opacity:0;transform:translateY(110px) scale(.2);filter:blur(5px);transform-origin:50% 100%;text-shadow:0 2px 0 #fff8e8,0 9px 18px #846a3420}#website .book-equation small{display:block;font:8px/1.5 Inter,sans-serif;letter-spacing:.15em;color:#969075;margin-bottom:12px}#website .equation-derivative{left:13%;top:16%;--delay:100ms;--angle:-8deg}#website .equation-integral{left:37%;top:5%;font-size:23px;--delay:350ms;--angle:3deg}#website .equation-water{right:9%;top:23%;font-size:32px;--delay:600ms;--angle:7deg}#website .equation-energy{right:16%;top:55%;font-size:23px;--delay:800ms;--angle:9deg}#website .equation-geometry{left:14%;top:55%;font-size:22px;--delay:950ms;--angle:-7deg}#website .book-awake .book-equation{animation:ideaFromPage 1.5s cubic-bezier(.16,1,.3,1) var(--delay) both}@keyframes ideaFromPage{0%{opacity:0;transform:translateY(150px) scale(.15) rotate(0);filter:blur(5px)}65%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1) rotate(var(--angle));filter:blur(0)}}#website .book-invitation{text-align:center;position:relative;z-index:5;margin:0 auto;max-width:650px}#website .book-invitation>p{font:32px/1.2 'Plus Jakarta Sans',Inter,sans-serif;color:#465039;margin:0 0 22px;letter-spacing:-.025em}#website .book-invitation>p em{color:#a07b42;margin-left:8px;font-weight:400}#website .book-invitation .actions{justify-content:center;gap:25px;margin:0}#website .book-levels{display:block;font-size:9px;letter-spacing:.13em;color:#949079;margin-top:24px}#website #home.book-hero>.lumi-guide{bottom:22px;top:auto;right:20px}#website .book-hero .text-link{font-size:14px}@media(min-width:1500px){#website .book-scene{height:620px;max-width:1160px}}@media(max-width:760px){#website .book-hero{padding:12px 3% 105px}#website .book-intro{font-size:8px!important;letter-spacing:.14em!important;margin:18px 0 0!important}#website .book-scene{height:420px;width:100%;max-width:580px;margin:8px auto 0}#website .open-book{left:-4%;width:108%;top:31%;height:72%}#website .book-equation{font-size:18px}#website .book-equation small{display:none}#website .equation-derivative{left:4%;top:19%;font-size:19px}#website .equation-integral{left:29%;top:5%;font-size:17px}#website .equation-water{right:5%;top:25%;font-size:25px}#website .equation-energy{right:5%;top:54%;font-size:17px}#website .equation-geometry{left:3%;top:58%;font-size:17px}#website .book-invitation>p{font-size:26px;margin-bottom:20px}#website .book-invitation>p em{display:block;margin:6px 0 0}#website .book-invitation .actions{gap:18px}#website .book-invitation .button{padding:14px 18px;font-size:14px}#website .book-hero .text-link{font-size:12px}#website #home.book-hero>.lumi-guide{bottom:1px;right:8px}#website .book-levels{font-size:8px;margin-top:20px}}@media(prefers-reduced-motion:reduce){#website .book-equation,#website .book-awake .book-equation{opacity:1;transform:rotate(var(--angle));filter:none;animation:none}#website .open-book{transform:none;transition:none}}
#website .open-book{mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 76% 75% at 50% 52%,#000 55%,transparent 100%)}
/* Keep the companion inside the first viewport without changing the book composition. */
#website #home.book-hero>.lumi-guide{top:min(calc(100svh - var(--visible-header,90px) - 156px),calc(100% - 150px));bottom:auto;right:24px}@media(max-width:760px){#website #home.book-hero>.lumi-guide{top:min(calc(100svh - var(--visible-header,90px) - 145px),calc(100% - 138px));bottom:auto;right:8px;transform:scale(.85);transform-origin:top right}}
/* Ideas remain visible even if the reveal observer or WebGL is unavailable. */
#website .book-equation{opacity:1;transform:rotate(var(--angle));filter:none}

/* The book stays grounded while scrolling releases its ideas. */
#website #home.book-hero{height:175svh;min-height:900px;padding:0 5%;overflow:clip;position:relative}
#website .book-scroll-stage{position:sticky;top:var(--visible-header,90px);height:calc(100svh - var(--visible-header,90px));min-height:480px;display:flex;flex-direction:column;justify-content:center}
#website .book-scroll-stage .book-intro{flex:none;margin:8px 0}
#website .book-scroll-stage .book-scene{height:auto;min-height:0;flex:1;max-height:620px;margin:0 auto}
#website .book-scroll-stage .book-invitation{flex:none;padding:12px 0 30px}
#website .book-scroll-stage .book-levels{margin-top:16px}
#website .book-scroll-stage .book-equation,#website .book-awake .book-scroll-stage .book-equation{animation:none;opacity:var(--idea-opacity,0);filter:none;transform:translate(calc(var(--origin-x,0px) * (1 - var(--rise,0))),calc(var(--origin-y,180px) * (1 - var(--rise,0)))) scale(calc(.12 + var(--rise,0) * .88)) rotate(var(--angle));will-change:transform,opacity}
@media(max-width:760px){#website #home.book-hero{padding:0 3%;height:165svh;min-height:820px}#website .book-scroll-stage{min-height:420px}#website .book-scroll-stage .book-invitation{padding-bottom:45px}#website .book-scroll-stage .book-scene{max-height:540px}#website .book-scroll-stage .book-levels{margin-top:12px}}
@media(prefers-reduced-motion:reduce){#website #home.book-hero{height:auto;min-height:0}#website .book-scroll-stage{position:relative;top:0;height:calc(100svh - 90px);min-height:520px}#website .book-scroll-stage .book-equation{will-change:auto}}

/* Lumi stays at the same dock throughout the book's scroll timeline. */
#website #home .book-scroll-stage>.lumi-guide{position:absolute;top:auto;bottom:22px;right:0;left:auto;z-index:10}
#website #home .book-scroll-stage>.lumi-guide .guide-bubble{position:absolute;right:0;bottom:138px;margin:0;max-height:min(360px,55svh);overflow-y:auto}
@media(max-width:760px){#website #home .book-scroll-stage>.lumi-guide{bottom:8px;right:0;transform:scale(.85);transform-origin:bottom right}}
