/* V3: the V2 storybook identity, with cinematic motion and a real book preview. */
:root{--magic-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:110px}body{overflow-x:clip}
.magic-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#ffc83d,#ff8fa3,#1672d8);transform-origin:left;transform:scaleX(0);z-index:60;pointer-events:none}
[data-aos]{opacity:1;transform:none}
.hero-section{isolation:isolate;position:relative;overflow:hidden;padding-bottom:110px}
.hero-section:after{content:'';position:absolute;left:-5%;right:-5%;bottom:-1px;height:92px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 110%,#fffdf7 0 48%,transparent 49%),radial-gradient(ellipse at 60% 120%,#fffdf7 0 50%,transparent 51%),radial-gradient(ellipse at 95% 105%,#fffdf7 0 45%,transparent 46%);transform:translateY(var(--cloud-shift,0px))}
.magic-sky{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.magic-sky i{position:absolute;width:250px;height:110px;border-radius:50%;background:radial-gradient(ellipse,#fff9 0,transparent 70%);transform:translate3d(var(--sky-x,0px),var(--sky-y,0px),0)}
.magic-sky i:nth-child(1){top:5%;left:4%}.magic-sky i:nth-child(2){bottom:14%;left:37%;width:360px}.magic-sky i:nth-child(3){right:-2%;top:16%;width:420px}
.hero-art{perspective:1300px;isolation:isolate}.hero-family-image{transform:rotateX(var(--art-x,0deg)) rotateY(var(--art-y,0deg));transition:transform 900ms var(--magic-ease);box-shadow:0 30px 60px #286da016;border:5px solid #ffffffa6}
.hero-art-accent{z-index:2;background:#fff5cfe8;border:1px solid #ffcf7270;border-radius:50%;width:47px;height:47px;top:-15px;right:25px;color:#d49a17;font-size:1.5rem}
.magic-orbit{position:absolute;bottom:-19px;left:20px;width:56px;height:56px;border-radius:50%;background:#ffffffd9;box-shadow:0 8px 26px #2d6c891a;z-index:1;pointer-events:none}
.magic-orbit:before{content:'♥';position:absolute;inset:0;display:grid;place-items:center;color:#ff8fa3;font-size:1.4rem}
.hero-copy h1{line-height:1.08}.hero-actions{align-items:center}.hero-actions .magic-peek-link{flex-basis:100%;text-align:left;margin-top:10px;padding-left:0}
.magic-peek-link{border:0;background:transparent;color:#125ead;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#1672d85c;font-size:.85rem;line-height:1.6;font-weight:800;padding:12px 0 2px;cursor:pointer;transition:color .25s,translate .35s var(--magic-ease)}
.magic-peek-link:hover{color:#143354;translate:3px 0}.magic-peek-link:focus-visible,.magic-book-object:focus-visible{outline:3px solid #1672d8;outline-offset:7px}
.book-card{transition:box-shadow .5s var(--magic-ease),border-color .5s}.book-card:hover{transform:none;border-color:#1672d826;box-shadow:0 22px 48px #1e466e1a}
.book-cover{transition:transform .7s var(--magic-ease),box-shadow .7s var(--magic-ease);transform-origin:50% 75%}
@media(hover:hover) and (pointer:fine){.book-card:hover .book-cover{transform:perspective(900px) translateY(-7px) rotateY(-5deg) rotateZ(-1deg);box-shadow:9px 17px 24px #193c5d20}.book-card:nth-child(even):hover .book-cover{transform:perspective(900px) translateY(-7px) rotateY(5deg) rotateZ(1deg)}}
.btn{transition:transform .35s var(--magic-ease),box-shadow .35s var(--magic-ease),background-color .25s}.btn:not(.disabled):hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.nav-link{position:relative}.nav-link:after{content:'';position:absolute;bottom:2px;left:20%;right:20%;height:2px;border-radius:2px;background:#1672d8;transform:scaleX(0);transition:transform .4s var(--magic-ease)}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}
.site-header{transition:background .4s,box-shadow .4s}.site-header.magic-scrolled{background:#fffffff2;box-shadow:0 8px 32px #1e466e12}
.magic-sample{position:relative;background:radial-gradient(ellipse at 20% 50%,#d8f1fa 0,transparent 55%),linear-gradient(110deg,#f7fcff,#fff7e5);overflow:hidden;padding:80px 0 90px}
.magic-sample-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}
.magic-book-stage{height:400px;display:grid;place-items:center;position:relative;perspective:1400px;isolation:isolate}
.magic-book-halo{position:absolute;width:345px;height:345px;background:radial-gradient(circle,#ffe5a08a,transparent 68%);border-radius:50%;z-index:-1}
.magic-book-object{position:relative;display:block;width:290px;height:290px;padding:0;border:0;background:transparent;transform:rotateY(-19deg) rotateX(7deg) rotateZ(-5deg);transform-style:preserve-3d;transition:transform 1s var(--magic-ease);cursor:pointer;box-shadow:12px 20px 24px #1b465536}
.magic-book-object img{position:relative;width:100%;height:100%;object-fit:contain;border-radius:3px 7px 7px 3px;background:#fff6d7;box-shadow:inset 10px 0 15px #0002;z-index:1}
.magic-book-object:before{content:'';position:absolute;left:7px;top:8px;right:-9px;bottom:-8px;border-radius:3px;background:repeating-linear-gradient(#fffdf6 0 2px,#d6cdb5 2px 3px);box-shadow:2px 3px 0 #bc8b3d;transform:translateZ(-10px)}
.magic-book-object:after{content:'';position:absolute;inset:0;z-index:2;border-radius:3px 7px 7px 3px;background:linear-gradient(90deg,#653d2726,transparent 4%,#ffffff50 6%,transparent 12%,#fff0 70%,#ffffff20);pointer-events:none}
.magic-book-object:hover{transform:rotateY(-5deg) rotateX(0deg) rotateZ(-2deg) translateY(-10px)}
.magic-book-shadow{position:absolute;bottom:13px;width:240px;height:20px;border-radius:50%;background:#28527923;filter:blur(10px);z-index:-1}
.magic-eyebrow{font-size:.8rem;letter-spacing:.08em;color:#9a7225;font-weight:900}.magic-sample-copy h2{font-family:'Coming Soon',cursive;font-size:clamp(2rem,3vw,2.8rem);font-weight:800;line-height:1.2;margin:20px 0;color:var(--ink)}
.magic-sample-copy>p{font-size:1.05rem;line-height:1.8;color:#52627a;max-width:480px}.magic-sample-copy .magic-sample-language{font-size:.78rem;font-weight:800;color:#7a653a;letter-spacing:.02em}
.magic-sample-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.magic-reader{border:0;border-radius:24px;padding:24px 30px;max-width:1160px;width:calc(100vw - 50px);max-height:calc(100dvh - 32px);background:#fffdf7;color:#132445;box-shadow:0 35px 120px #0a244970;overflow:auto;overscroll-behavior:contain}
.magic-reader::backdrop{background:#122848c7;backdrop-filter:blur(10px)}
.magic-reader-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.magic-reader h2{font-family:'Coming Soon',cursive;font-size:1.35rem;margin:0 0 6px;font-weight:800}.magic-reader-header p{font-size:.8rem;color:#65738b;margin:0}
.magic-reader-close{width:42px;height:42px;flex-shrink:0;border:1px solid #d5dfeb;border-radius:50%;font-size:1.7rem;background:white;color:#243957;line-height:1;cursor:pointer}.magic-reader-close:hover{background:#e9f5ff}
.magic-spread-stage{perspective:1600px;display:grid;place-items:center;border-radius:10px;background:#ecdfbf;padding:12px;overflow:hidden}
.magic-spread{position:relative;max-height:calc(100dvh - 290px);aspect-ratio:2;max-width:100%;box-shadow:0 10px 28px #5e482b30}
.magic-spread img{display:block;width:100%;height:100%;max-height:calc(100dvh - 290px);object-fit:contain;aspect-ratio:2;border-radius:3px}
.magic-spread:after{content:'';position:absolute;left:48.7%;width:2.6%;top:0;bottom:0;background:linear-gradient(90deg,transparent,#65472022,#fff4,transparent);pointer-events:none}
.magic-reader-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin:18px 0}.magic-reader-controls .btn{font-size:.78rem;min-width:110px}.magic-reader-controls .btn:disabled{opacity:.4;cursor:default;transform:none}.magic-reader-controls span{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:800;min-width:45px;text-align:center}
.magic-reader-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:14px;border-top:1px solid #e5ddc8}.magic-reader-footer p{margin:0;color:#617087;font-size:.9rem}.magic-reader-footer .btn{font-size:.85rem}
body.magic-reader-open{overflow:hidden}
@media(max-width:991px){.magic-sample-grid{gap:35px}.magic-book-object{width:250px;height:250px}.magic-book-stage{height:340px}}
@media(max-width:767px){html{scroll-padding-top:90px}.hero-section{padding-bottom:80px}.hero-art{margin:10px 10px 20px}.magic-orbit{width:43px;height:43px;bottom:-10px}.hero-family-image{border-width:3px}.hero-actions .magic-peek-link{text-align:center;padding:10px}.magic-sample{padding:45px 0 55px}.magic-sample-grid{grid-template-columns:1fr;gap:10px}.magic-book-stage{height:300px}.magic-book-object{width:220px;height:220px}.magic-book-shadow{bottom:12px}.magic-sample-copy{text-align:center}.magic-sample-copy>p{margin-left:auto;margin-right:auto}.magic-sample-actions{justify-content:center}.magic-reader{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 12px;border-radius:16px}.magic-reader h2{font-size:1rem}.magic-reader-header p{font-size:.7rem}.magic-reader-header{gap:10px}.magic-reader-close{width:34px;height:34px}.magic-spread-stage{padding:4px}.magic-spread,.magic-spread img{max-height:calc(100dvh - 300px)}.magic-reader-footer{flex-direction:column;gap:10px}.magic-reader-controls{gap:12px}.magic-reader-controls .btn{min-width:90px;font-size:.72rem}.magic-reader-footer .btn{width:100%}.magic-reader-footer p{font-size:.8rem}.magic-eyebrow{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-family-image{transform:none}.magic-progress{display:none}.magic-book-object:hover{transform:rotateY(-19deg) rotateX(7deg) rotateZ(-5deg)}.magic-sky i,.hero-section:after{transform:none}.book-card:hover .book-cover{transform:none}}
.magic-reader[data-single] .magic-spread,.magic-reader[data-single] .magic-spread img{aspect-ratio:1;max-height:calc(100dvh - 285px)}
.magic-reader[data-single] .magic-spread:after{display:none}
@media(max-width:600px){.magic-reader{max-width:460px}.magic-reader[data-single] .magic-spread{width:100%}}
/* Physical leaf: front, reverse, fixed half, cast shadow, and moving crease. */
.magic-spread{isolation:isolate;transform-style:preserve-3d;perspective:1900px;touch-action:pan-y pinch-zoom}
.magic-spread>img{position:relative;z-index:0}
.flip-overlay{pointer-events:none;position:absolute;top:0;height:100%;width:50%;}
.flip-overlay.left{left:0}.flip-overlay.right{left:50%}
.flip-static{z-index:2;overflow:hidden}
.flip-overlay img{display:block;width:100%;height:100%;max-height:none!important;aspect-ratio:auto!important;object-fit:fill;border-radius:0!important}
.flip-leaf{z-index:5;transform-style:preserve-3d;will-change:transform;backface-visibility:visible}
.flip-leaf.forward{left:50%;transform-origin:left center}
.flip-leaf.backward{left:0;transform-origin:right center}
.flip-face{inset:0;width:100%;height:100%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff1b5}
.flip-front{transform:rotateY(0deg);z-index:1}
.flip-back{transform:rotateY(180deg);box-shadow:inset 12px 0 22px #80562525}
.flip-sheen{position:absolute;inset:0;z-index:6;background:linear-gradient(90deg,#321a114d,transparent 13%,#fff7 60%,#241a133d);opacity:0;backface-visibility:hidden;pointer-events:none}
.flip-cast{z-index:3;opacity:0;background:linear-gradient(90deg,transparent,#392913);filter:blur(6px)}
.flip-cast.right{background:linear-gradient(90deg,#392913,transparent)}
.is-turning .magic-spread:after{opacity:0}
.magic-reader[data-single] .flip-leaf.single-sheet{left:0;width:100%}
.magic-reader[data-single] .flip-leaf.forward{transform-origin:left center}
.magic-reader[data-single] .flip-leaf.backward{transform-origin:right center}
.magic-reader[data-single] .flip-back{background:#ffedac}
.magic-reader[data-single] .flip-cast{width:100%;left:0}
@media(prefers-reduced-motion:reduce){.flip-overlay{display:none}.magic-spread{transform-style:flat}}
/* The Portuguese edition has no sample: retain its cover, hide every preview entry point. */
html[lang="pt"] #look-inside,
html[lang="pt"] [data-open-book]:not(.ribbon-cover-button),
html[lang="pt"] #empathy-preview{display:none!important}
html[lang="pt"] .ribbon-cover-button{cursor:default;pointer-events:none}
