/* Physical stage. Keep every 3D ancestor unflattened (especially on Safari). */
:root{--book-angle:30deg;--popup-angle:-65deg;--book-yaw:-4deg}
html,body{background:#dce5d8}
.invitation-scene{background:radial-gradient(ellipse at 12% 8%,#fff1cd 0%,transparent 48%),linear-gradient(#acc9d2 0%,#e4e8d9 52%,#c4cfaa 78%,#a8b78d 100%)!important}
.background-far,.background-mid,.background-front{position:absolute;inset:0;pointer-events:none;animation:environment-in 1s ease both}
.landscape{position:absolute;bottom:12%;width:110%;height:55%;left:-5%;filter:blur(3px);opacity:.38}
.sun-glow{position:absolute;top:8%;left:12%;width:clamp(100px,16vw,210px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffe4a0 10%,#f4d39b 62%,transparent 72%);filter:blur(5px);animation:sun-breathe 18s ease-in-out infinite alternate}
.cloud{position:absolute;width:clamp(160px,24vw,380px);height:75px;border-radius:70% 80% 45% 45%;background:#fff4de;filter:blur(6px);opacity:.6;box-shadow:36px -20px 0 -9px #fff4de,-40px -8px 0 -12px #fff4de;animation:cloud-drift 28s ease-in-out infinite alternate}
.cloud-one{top:17%;left:-5%}.cloud-two{top:9%;right:-4%;animation-delay:-12s;transform:scale(.8)}
.distant-grove{position:absolute;bottom:13%;left:-6%;width:112%;height:22%;background:radial-gradient(ellipse at 7% 100%,#7b9369 0 14%,transparent 15%),radial-gradient(ellipse at 93% 100%,#718b69 0 18%,transparent 19%);filter:blur(9px);opacity:.4}
.foreground-fern{position:absolute;bottom:-12%;width:clamp(150px,24vw,330px);height:46%;filter:blur(5px);opacity:.48;transform-origin:50% 100%;animation:leaf-breathe 12s ease-in-out infinite alternate}
.fern-left{left:-9%;rotate:24deg}.fern-right{right:-9%;scale:-1 1;rotate:-18deg;animation-delay:-6s}
.background-front{z-index:2}
.book-stage{z-index:3;align-items:center!important;padding:0 0 90px!important;perspective:1800px!important;perspective-origin:50% 42%!important}
.book-arrival{position:relative;top:0;transform-style:preserve-3d;pointer-events:none;animation:book-arrive 1.25s cubic-bezier(.22,.8,.3,1) both}
[data-ref="bookRef"]{width:min(80vw,1050px,calc((100dvh - 160px)/.65))!important;aspect-ratio:100/60!important;transform:rotateX(var(--book-angle)) rotateZ(var(--book-yaw))!important}
.book-cover{background:linear-gradient(130deg,#92a575,#6c8754 65%,#4e6d46)!important;transform:translateZ(-12px)!important;box-shadow:inset 0 0 0 2px #d0cf9e,inset 0 0 0 6px #587347,0 3px 0 #3f5938!important}
.cover-lip{height:19px!important;background:linear-gradient(#78905a,#405b37)!important;box-shadow:inset 0 2px 1px #bac39a}
.book-shadow{inset:-8% -14%!important;transform:translateZ(-48px)!important;background:radial-gradient(ellipse at 50% 65%,#34402b66,transparent 66%)!important;filter:blur(12px)!important}
.paper-edge{height:14px!important;background:repeating-linear-gradient(0deg,#b8aa89 0 1px,#f9f1dc 1px 3px,#e0d4b8 3px 4px)!important;box-shadow:0 2px 0 #afaa83}
.paper-side{position:absolute;top:0;bottom:0;width:12px;background:repeating-linear-gradient(90deg,#d8c9a6 0 1px,#fbf3df 1px 3px);transform-origin:0 50%;transform:rotateY(90deg);pointer-events:none}
.paper-side-left{left:0}.paper-side-right{left:100%}
:is([data-ref="s0"],[data-ref="s1"],[data-ref="s2"],[data-ref="s3"])::after{content:"";position:absolute;top:100%;left:0;right:0;height:2px;transform-origin:50% 0;transform:rotateX(-90deg);background:#d4c3a0;pointer-events:none;backface-visibility:visible}
:is([data-ref="s0"],[data-ref="s1"],[data-ref="s2"],[data-ref="s3"])>div:first-child{box-shadow:inset 0 1px 0 #fffdf5,inset 0 -2px 3px #cbbd9466,0 2px 5px #71633d22!important}
[data-ref^="g"]{top:8%!important;height:58%!important;left:2%!important;right:auto!important;width:46%!important}
[data-ref="sd0"]{left:4%!important;right:4%!important;top:44%!important;height:20%!important;filter:blur(6px)}
[data-ref="g0"]>[data-click="tapDino"]{left:53%!important;width:72%!important}
[data-ref="g1"]>[data-click="tapDino"]{width:70%!important}
[data-ref="g2"]>[data-click="tapDino"]{width:80%!important}
[data-ref="g3"]>[data-click="tapDino"]{width:75%!important}
.scene-navigation{z-index:4;color:#435c43;background:linear-gradient(transparent,#edf0da88);padding-top:10px}
.scene-navigation [data-ui="hint"]>div{color:#435c43!important}
.scene-navigation [data-click]>div,.sound-control{background:#526d4be6!important;box-shadow:inset 0 0 0 1.5px #f3ecdab3,0 3px 8px #43533222!important}
[data-pop][style*="translateZ(36px)"]{--pop-depth:36px}
@keyframes popin{0%{transform:translateZ(var(--pop-depth,0px)) translateY(12px) scale(.94);opacity:0}70%{transform:translateZ(var(--pop-depth,0px)) translateY(-2px) scale(1.01);opacity:1}100%{transform:translateZ(var(--pop-depth,0px)) translateY(0) scale(1);opacity:1}}
@keyframes environment-in{from{opacity:0}to{opacity:1}}
@keyframes book-arrive{0%{transform:translate3d(0,24px,0) rotateX(3deg)}70%{transform:translate3d(0,-3px,0) rotateX(-.5deg)}100%{transform:translate3d(0,0,0) rotateX(0)}}
@keyframes cloud-drift{from{translate:-6px 0}to{translate:8px 0}}
@keyframes sun-breathe{from{opacity:.75}to{opacity:.9}}
@keyframes leaf-breathe{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
/* Paper feet stay anchored; the life director and sound handlers stay intact. */
@keyframes dinoidle{from{transform:rotate(-.4deg) scaleY(1)}to{transform:rotate(.7deg) scaleY(1.015)}}
@keyframes boing{0%,100%{transform:scale(1)}30%{transform:scale(.97,1.04) rotate(-2deg)}55%{transform:scale(1.03,.97) rotate(1deg)}75%{transform:scale(.99,1.01)}}
@keyframes dinorunR{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(2%) rotate(-2deg)}50%{transform:translateX(4%) rotate(2deg) scaleY(.98)}75%{transform:translateX(2%) rotate(-1deg)}}
@keyframes dinorunL{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2%) rotate(2deg)}50%{transform:translateX(-4%) rotate(-2deg) scaleY(.98)}75%{transform:translateX(-2%) rotate(1deg)}}
@keyframes dinotwirl{0%,100%{transform:rotateY(0)}40%{transform:rotateY(-12deg) rotate(-2deg)}70%{transform:rotateY(10deg) rotate(1deg)}}
@keyframes dinoclapA{0%,100%{transform:rotate(0)}28%,76%{transform:rotate(3deg) scaleY(1.015)}52%{transform:rotate(.5deg)}}
@keyframes dinoclapB{0%,100%{transform:rotate(0)}28%,76%{transform:rotate(-3deg) scaleY(1.015)}52%{transform:rotate(-.5deg)}}

/* A spread with a central spine; the original four sheets now pivot on Y. */
.page-left{inset:0 auto 0 0!important;width:50%;height:100%!important;border-radius:12px 0 0 12px!important}
.page-right{left:50%!important;top:0!important;bottom:0;height:100%!important;border-radius:0 12px 12px 0!important}
.book-spine{left:calc(50% - 10px)!important;right:auto!important;top:0!important;bottom:0;width:20px;height:auto!important;background:linear-gradient(90deg,transparent,#89754833 48%,#fffaf044 52%,transparent)!important;transform:translateZ(11px);pointer-events:none}
.book-spine::after{content:"";position:absolute;left:9px;top:4%;bottom:4%;width:1px;background:#bcaa76;box-shadow:1px 0 0 #fff4d3}
.page-cast-shadow{position:absolute;left:25%;top:1.5%;width:50%;height:97%;background:linear-gradient(90deg,transparent,#51463055 35%,#51463066 65%,transparent);transform:translateZ(10px);opacity:0;pointer-events:none}
@keyframes cast-page{0%{transform:translateZ(10px) translateX(50%) scaleX(.15);opacity:0}45%{transform:translateZ(10px) translateX(0) scaleX(1);opacity:.38}100%{transform:translateZ(10px) translateX(-50%) scaleX(.15);opacity:0}}
.turning-sheet{left:50%!important;right:1.5%!important;top:1.5%!important;height:97%!important;transform-origin:0% 50%!important}
.turning-sheet>div:first-child{border-radius:0 12px 12px 0!important}
.turning-sheet>div:nth-child(2){border-radius:12px 0 0 12px!important}
.turning-sheet [data-shade]{background:linear-gradient(90deg,#5d513c66,transparent 75%)!important}
.turning-sheet::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#77674418,transparent 15%,#fffef155 78%,#b29d711c);pointer-events:none;transform:translateZ(.1px);backface-visibility:hidden}
.turning-sheet::after{content:"";left:100%!important;top:0!important;bottom:0;right:auto!important;width:2px;height:100%!important;transform-origin:0 50%!important;transform:rotateY(90deg)!important;background:#d1c09a}
.left-imprint{position:absolute;left:4%;width:42%;top:75%;text-align:center;transform:translateZ(7px);pointer-events:none;color:#4f7049}
.left-imprint>[data-print]:last-child{font-size:clamp(9px,1.2vw,13px)!important;letter-spacing:.14em!important}
.left-imprint>[data-print]:first-child{font-size:clamp(28px,4.5vw,62px)!important}
.page-copy{position:absolute;inset:7% 9%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;color:#4f7049;pointer-events:auto}
.page-copy [data-print]{animation:none!important;max-width:100%;box-sizing:border-box}


.last-leaf{position:absolute;left:50%;right:1.5%;top:1.5%;height:97%;transform:translateZ(.5px);transform-style:preserve-3d;visibility:hidden;pointer-events:none}
.page-copy .btn-mapa,.page-copy .btn-wa{box-shadow:none!important;transform:none!important;min-height:44px;box-sizing:border-box}
.page-copy .ribbon{box-shadow:none!important}
.page-copy-2>[data-print]:first-child,.page-copy-3>[data-print]:first-child,.page-copy-4>[data-print]:first-child{background:none!important;padding:0!important}
.turning-sheet>div:first-child>:not(.page-copy):not([data-shade]){opacity:.12;pointer-events:none}
[data-mini]{visibility:hidden}
[data-ui="tapHint"]{top:auto!important;bottom:8%;pointer-events:none}
[data-ui="tapHint"]>div{white-space:normal!important;text-align:center;padding:8px 12px!important;font-size:11px!important}
.paper-garden svg{display:block;filter:drop-shadow(0 3px 4px #34432833)}
[data-ref="g3"] .garden-tree{display:none}

@media(max-width:600px){
 :root{--book-yaw:-1deg}
 .book-stage{padding-bottom:65px!important;perspective:1600px!important}
 [data-ref="bookRef"]{width:min(92vw,calc((100dvh - 155px)/1.04))!important;aspect-ratio:100/110!important}
 .book-cover{inset:-7px!important}.cover-lip{height:13px!important}
 .page-copy{inset:5% 6%;gap:10px}
 .page-copy [style*="letter-spacing"]{letter-spacing:.06em!important}
 .page-copy-0 [style*="font-size:min(21px"]{font-size:18px!important;gap:6px!important}
 .page-copy-1 [style*="font-size:42px"]{font-size:32px!important;gap:1px!important}
 .page-copy-1 [style*="font-size:12.5px"]{font-size:11px!important}
 .page-copy-1 .ribbon{font-size:15px!important;padding:8px 12px!important}
 .page-copy-2>[data-print][style*="gap:14px"]{flex-direction:column!important;gap:12px!important}
 .page-copy-2 [style*="width:86px"]{width:65px!important}
 .page-copy-2 [style*="font-size:12.5px"]{font-size:11px!important}
 .page-copy-2 [style*="font-size:20px"]{font-size:16px!important;white-space:normal!important}
 .page-copy-2 [style*="gap:7px"]>div[style*="display:flex;gap:7px"]{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important}
 .page-copy-2 [style*="width:52px"]{width:46px!important;padding:4px 0!important;background:none!important}
 .page-copy-2 [style*="font-size:10px"]{font-size:9px!important;text-align:center}
 .page-copy-2 [style*="font-size:21px"]{font-size:20px!important}
 .page-copy-2>[style*="border-top"]{display:none}
 .page-copy-3 [style*="font-size:22px"]{font-size:21px!important;text-align:center}
 .page-copy-3 [style*="font-size:14px"]{font-size:13px!important}
 .page-copy-3 [style*="width:36px"]{width:28px!important}
 .page-copy-4 [style*="font-size:24px"]{font-size:21px!important}
 .page-copy .btn-wa,.page-copy .btn-mapa{font-size:12px!important;padding:9px 8px!important;white-space:normal!important;text-align:center;justify-content:center;width:100%;gap:5px!important}
 .page-copy .btn-wa svg{width:18px!important;height:18px!important}
 .page-copy-4 [style*="font-size:11px"]{text-align:center}
 .foreground-fern{opacity:.3}
}
@media(max-height:500px) and (min-width:601px){
 .book-stage{padding-bottom:45px!important}
 [data-ref="bookRef"]{width:min(72vw,calc((100dvh - 115px)/.65))!important}
 .page-copy{gap:6px;inset:5% 7%}
 .page-copy-2 [style*="width:86px"]{width:60px!important}
 .page-copy-2 [style*="font-size:20px"]{font-size:16px!important}
 .page-copy-2 [style*="width:52px"]{width:40px!important;padding:3px 0!important}
 .page-copy-3 [style*="width:36px"]{width:24px!important}
 .page-copy-4 [style*="font-size:24px"]{font-size:21px!important}
 .scene-navigation [data-ui="hint"]{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Abertura editorial: tinta no papel, pequenos símbolos e ritmo entre as frases. */
.page-copy-0{gap:clamp(12px,2vw,24px);padding-bottom:12%}
.first-year-heading{width:76%;display:flex;flex-direction:column;align-items:center;gap:14px}
.first-year-heading svg{width:100%;height:auto;opacity:.85}
.first-year-heading span{font-size:clamp(9px,1vw,12px);font-weight:900;letter-spacing:.18em;color:#7d8960;white-space:nowrap}
.first-year-verses{width:100%;max-width:330px;font-family:'Baloo 2',cursive}
.first-year-verse{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:9px 0;border-bottom:1px dashed #aab68b66}
.first-year-verse:last-child{border-bottom:0}
.year-number{font-size:clamp(32px,4.2vw,52px);font-weight:800;line-height:1;color:#bc842b;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.year-word{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:clamp(16px,2.1vw,25px);font-weight:800;line-height:1.2;color:#4f7049}
.year-word svg{width:19px;height:19px;flex-shrink:0;color:#b39558;opacity:.7}
.first-year-note{margin:0;text-align:center;font-size:clamp(11px,1.2vw,14px);line-height:1.6;font-weight:700;color:#7b805d;font-style:italic}
@media(max-width:600px){
 .page-copy-0{gap:18px;padding-bottom:18%}
 .first-year-heading{width:90%;gap:12px}
 .first-year-heading span{font-size:9px}
 .first-year-verse{gap:8px;padding:12px 0}
 .year-number{font-size:34px}
 .year-word{font-size:14px;flex-direction:column;align-items:flex-start;gap:4px}
 .year-word svg{width:15px;height:15px}
 .first-year-note{font-size:11px}
}
@media(max-width:360px){.year-number{font-size:28px}.year-word{font-size:12px}.first-year-verse{gap:6px}.page-copy-0{gap:12px}}
@media(max-height:500px) and (min-width:601px){.page-copy-0{gap:8px}.first-year-heading{gap:4px;width:60%}.first-year-heading svg{max-height:18px}.first-year-verse{padding:4px 0;gap:8px}.year-number{font-size:27px}.year-word{font-size:14px}.year-word svg{width:13px;height:13px}.first-year-note{font-size:10px}}

/* O convite complementa a identidade impressa na página esquerda. */
.page-copy-1{gap:clamp(12px,1.8vw,22px);text-align:center}
.invite-bunting{width:76%;height:auto;opacity:.8}
.invite-eyebrow{margin:0;font-size:clamp(9px,1vw,12px);line-height:1.6;letter-spacing:.15em;font-weight:900;color:#7b8960}
.invite-title{margin:0;font-family:'Baloo 2',cursive;font-size:clamp(22px,3.3vw,40px);font-weight:800;line-height:1.15;color:#4f7049}
.invite-title em{font-style:normal;color:#bc842b}
.invite-trail{width:45%;display:flex;align-items:center;justify-content:center;gap:12px;color:#b39558}
.invite-trail svg{width:20px;height:20px;fill:currentColor;opacity:.6;transform:rotate(-16deg)}
.invite-trail svg:last-child{transform:rotate(16deg)}
.invite-trail span{flex:1;border-top:1px dashed #b3955870}
.invite-message{margin:0;font-size:clamp(13px,1.6vw,18px);font-weight:700;line-height:1.7;color:#647754}
.invite-closing{margin:0;font-size:clamp(11px,1.2vw,14px);font-style:italic;line-height:1.6;color:#818161}
@media(max-width:600px){.page-copy-1{gap:17px}.invite-bunting{width:90%}.invite-title{font-size:24px}.invite-message{font-size:13px}.invite-eyebrow{font-size:9px}.invite-closing{font-size:11px}.invite-trail{width:66%}}
@media(max-width:360px){.page-copy-1{gap:10px}.invite-title{font-size:18px}.invite-message{font-size:12px}.invite-closing{font-size:10px}}
@media(max-height:500px) and (min-width:601px){.page-copy-1{gap:7px}.invite-bunting{max-height:18px}.invite-title{font-size:21px}.invite-eyebrow{font-size:8px}.invite-trail svg{width:12px;height:12px}.invite-message{font-size:11px;line-height:1.4}.invite-closing{font-size:9px}}

/* Jardim de papel em camadas: cenário restrito à página ilustrada. */
.paper-garden .garden-landscape{position:absolute;left:2%;bottom:0;width:96%;height:43%;opacity:.65;filter:none}
.paper-garden .garden-canopy{position:absolute;right:3%;bottom:3%;width:27%}
.paper-garden .garden-tree{left:4%!important;width:28%!important}
.paper-garden .garden-bush{right:28%!important;width:25%!important}
.paper-garden .garden-frond{position:absolute;bottom:0;width:16%}
.garden-frond-left{left:0;rotate:-12deg}.garden-frond-right{right:0;transform:scaleX(-1);rotate:12deg}
.paper-garden .garden-leaves{position:absolute;bottom:-1%;left:21%;width:20%}
.paper-garden .garden-rocks{position:absolute;bottom:-2%;right:16%;width:19%}
.paper-garden .garden-flower{position:absolute;bottom:2%;width:7%}
.garden-flower-left{left:15%;rotate:-9deg}.garden-flower-right{right:24%;rotate:8deg}
[data-ref="g3"] .garden-canopy{right:64%;width:25%}
[data-ref="g4"] .party-dinos{height:78%;left:2%!important;right:2%!important;display:block!important;transform:translateZ(16px)!important}
.party-dinos>[data-click="tapDino"]{position:absolute!important;bottom:0}
.party-dinos>[data-click="tapDino"]:nth-child(1){left:0;width:33%!important;bottom:22%}
.party-dinos>[data-click="tapDino"]:nth-child(2){left:4%;width:38%!important;bottom:0;z-index:2}
.party-dinos>[data-click="tapDino"]:nth-child(3){left:30%;width:45%!important;bottom:18%;z-index:1}
.party-dinos>[data-click="tapDino"]:nth-child(3)>.dino-picture{width:95%!important}
.party-dinos>[data-click="tapDino"]:nth-child(4){right:0;width:43%!important;bottom:0;z-index:2}
[data-ref="g4"] .garden-canopy{bottom:4%;width:29%;opacity:.8}

/* Profundidade ambiental: horizonte suave, bosque, margem e folhagem próxima. */
.background-near{position:absolute;inset:-3%;pointer-events:none;z-index:1}
.background-far .landscape{bottom:26%;height:58%;opacity:.65;filter:blur(2px)}
.sun-glow{top:4%;left:9%;opacity:.9}
.valley-mist{position:absolute;left:-5%;right:-5%;top:39%;height:18%;background:linear-gradient(transparent,#f0edd8aa,transparent);filter:blur(14px)}
.forest-ridge{position:absolute;left:-5%;width:110%;height:28%;bottom:23%;opacity:.55;filter:blur(2px)}
.forest-ground{position:absolute;left:-5%;right:-5%;bottom:-3%;height:38%;background:radial-gradient(ellipse at 40% 0,#dce0b6,transparent 60%),linear-gradient(#a6b783,#81965e);border-radius:50% 60% 0 0 / 18% 22% 0 0}
.valley-river{position:absolute;bottom:-3%;left:0;width:100%;height:35%;opacity:.7;filter:blur(1px)}
.forest-tree{position:absolute;bottom:21%;width:clamp(170px,23vw,340px);height:65%;filter:blur(1px);opacity:.62}
.tree-left{left:-10%;rotate:9deg}.tree-right{right:-11%;transform:scaleX(-1);rotate:-8deg}
.forest-shrub{position:absolute;bottom:6%;width:clamp(180px,25vw,360px);opacity:.65;filter:blur(2px)}
.shrub-left{left:-10%}.shrub-right{right:-8%;transform:scaleX(-1)}
.background-front{z-index:5}
.foreground-fern{width:clamp(170px,23vw,350px);height:44%;bottom:-14%;opacity:.78;filter:blur(2px)}
.fern-left{left:-11%}.fern-right{right:-11%}
.canopy-frame{position:absolute;top:-12%;width:clamp(200px,24vw,370px);height:36%;opacity:.65;filter:blur(3px)}
.canopy-left{left:-12%;rotate:140deg}.canopy-right{right:-13%;rotate:220deg}
.foreground-stones{position:absolute;bottom:-7%;right:6%;width:18%;opacity:.65;filter:blur(2px)}
@media(max-width:600px){
 .background-far .landscape{bottom:36%;height:46%}
 .forest-ridge{bottom:28%;height:22%}
 .forest-ground{height:35%}
 .forest-tree{width:43vw;height:55%;bottom:27%;opacity:.5}
 .tree-left{left:-27%}.tree-right{right:-27%}
 .forest-shrub{width:45vw;bottom:9%}
 .shrub-left{left:-23%}.shrub-right{right:-23%}
 .foreground-fern{width:42vw;height:33%;bottom:-8%;opacity:.66}
 .fern-left{left:-25%}.fern-right{right:-25%}
 .canopy-frame{width:50vw;height:25%;top:-10%;opacity:.55}
 .canopy-left{left:-30%}.canopy-right{right:-30%}
 .foreground-stones{right:-8%;width:30%;bottom:-3%}
}

/* Primeira folha direita: paisagem nas margens, texto no centro do papel. */
.turning-sheet>div:first-child>.page-story-scenery{opacity:1!important;position:absolute;inset:0;pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.page-story-scenery svg{position:absolute;display:block;pointer-events:none}
.story-sky{top:3%;left:3%;width:94%;height:20%;opacity:.58}
.story-hills{bottom:0;left:0;width:100%;height:15%;opacity:.64;border-radius:0 0 12px 0}
.story-sprout{bottom:1%;filter:drop-shadow(0 2px 1px #63744c22)}
.story-sprout-left{left:1%;width:15%;height:12%;rotate:-12deg}
.story-sprout-right{right:0;width:13%;height:19%;rotate:9deg}
.story-flower{bottom:2%;left:14%;width:6%;height:11%}
.page-copy-0 .first-year-verses{position:relative;z-index:1}
[data-ref="s0"] [data-ui="tapHint"]{bottom:4%!important}
@media(max-width:600px){
 .page-copy-0{inset:8% 9% 15%;gap:12px;padding:0;justify-content:center}
 .page-copy-0 .first-year-heading{width:90%;flex-shrink:0}
 .page-copy-0 .first-year-verses{width:100%}
 .page-copy-0 .first-year-verse{display:flex;flex-direction:column;gap:0;padding:7px 0;text-align:center}
 .page-copy-0 .year-number{font-size:32px;line-height:1}
 .page-copy-0 .year-word{display:block;font-size:16px;line-height:1.25}
 .page-copy-0 .year-word svg{display:none}
 .page-copy-0 .first-year-note{font-size:10px;line-height:1.45}
 .story-sky{top:2%;height:18%}
 .story-hills{height:11%}
 .story-sprout-right{height:14%}
 [data-ref="s0"] [data-ui="tapHint"]{bottom:3%!important;z-index:1}
 [data-ref="s0"] [data-ui="tapHint"]>div{font-size:9px!important;padding:5px 9px!important}
}
@media(max-width:360px){.page-copy-0{inset:6% 8% 16%;gap:8px}.page-copy-0 .first-year-verse{padding:5px 0}.page-copy-0 .year-number{font-size:28px}.page-copy-0 .year-word{font-size:14px}.page-copy-0 .first-year-note{font-size:9px}}

/* Margem ilustrada mais rica, em torno da área de leitura. */
.story-sky{opacity:.82}
.story-hills{height:22%;opacity:.82}
.story-tree{bottom:3%;left:0;width:24%;height:25%;filter:drop-shadow(1px 2px 1px #63744c22)}
.story-bush{right:0;bottom:1%;width:23%;height:13%}
.story-stones{left:24%;bottom:1%;width:13%;height:5%}
.story-small-flower{right:17%;bottom:5%;width:5%;height:10%;rotate:12deg}
.story-butterfly{left:2%;top:40%;width:7%;height:5%;rotate:-18deg;opacity:.75}
.story-sprout-left{left:2%;height:9%;width:12%}
.story-sprout-right{right:1%;height:20%;width:12%}
.story-flower{left:18%;bottom:3%;height:11%;width:6%}
@media(max-width:600px){.story-hills{height:20%}.story-tree{height:22%;width:25%}.story-sprout-right{height:18%}.story-bush{height:11%}.story-small-flower{height:9%}.story-butterfly{top:36%;width:7%}}

/* Céu pintado nas folhas: o azul se dissolve no papel junto aos textos. */
.page-left.current-left,
[data-ref="s0"]>.sheet-face.front,
[data-ref="s0"]>.sheet-face.back,
[data-ref="s1"]>.sheet-face.front{
 background:linear-gradient(180deg,#c9e3ec 0%,#e2edf0 23%,#f5f3e8 48%,#fbf7ec 65%)!important;
}
.page-copy-0,.page-copy-1{z-index:1}
.story-sky{opacity:1}
.story-hills{height:31%;opacity:.9}
.story-tree{height:32%;width:27%;bottom:2%}
.story-bush{width:27%;height:15%}
.story-sprout-right{height:23%;width:14%}
.story-small-flower{height:13%;bottom:4%}
[data-ref="g0"] .garden-landscape,[data-ref="g1"] .garden-landscape{height:55%;opacity:.78}
[data-ref="g0"] .garden-canopy,[data-ref="g1"] .garden-canopy{width:32%;bottom:2%}
@media(max-width:600px){
 .story-hills{height:27%}
 .story-tree{height:29%;width:24%}
 .story-bush{height:13%;width:26%}
 .story-sprout-right{height:21%;width:13%}
 .story-small-flower{height:11%}
}

/* Identidade festiva impressa, com letras coloridas e acabamento de costura. */
.left-imprint.birthday-imprint{left:3%;width:44%;top:69%;height:28%;display:flex;align-items:center;justify-content:center}
.birthday-lettering{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 0 #98754322)}
.page-copy-0 .year-number{font-size:clamp(40px,4.8vw,60px)}
.page-copy-0 .year-word{font-size:clamp(19px,2.5vw,30px)}
.page-copy-0 .first-year-note{font-size:clamp(13px,1.4vw,17px);line-height:1.5}
@media(max-width:600px){
 .page-copy-0{inset:7% 7% 22%;gap:10px}
 .page-copy-0 .first-year-verse{padding:6px 0}
 .page-copy-0 .year-number{font-size:39px}
 .page-copy-0 .year-word{font-size:19px}
 .page-copy-0 .first-year-note{font-size:12px;line-height:1.4}
}
@media(max-width:360px){.page-copy-0{inset:6% 6% 23%;gap:7px}.page-copy-0 .first-year-verse{padding:4px 0}.page-copy-0 .year-number{font-size:33px}.page-copy-0 .year-word{font-size:16px}.page-copy-0 .first-year-note{font-size:10.5px}}
@media(max-height:500px) and (min-width:601px){.page-copy-0 .year-number{font-size:29px}.page-copy-0 .year-word{font-size:15px}.page-copy-0 .first-year-note{font-size:10px}}

/* Festa estampada na folha; apenas os personagens e o jardim ganham volume. */
.left-page-print{position:absolute;left:3%;top:3%;width:44%;height:52%;transform:translateZ(7px);pointer-events:none;backface-visibility:hidden}
.left-page-print svg{display:block;filter:none;animation:none}
.left-page-print .printed-flags{position:absolute;left:4%;top:20%;width:92%;height:auto}
.title-meadow{position:absolute;left:1%;width:47%;bottom:1%;height:9%;transform:translateZ(7px);pointer-events:none;backface-visibility:hidden}

/* Segundo capítulo: bosque e lagoa, com a festa impressa na folha. */
[data-ref="s0"]>.sheet-face.back,[data-ref="s1"]>.sheet-face.front{background:linear-gradient(180deg,#cce5df,#e7eee0 34%,#fbf7ec 65%)!important}
.second-page-print .printed-flags{top:16%;left:4%;width:92%}
[data-ref="g1"] .garden-tree{display:none}
[data-ref="g1"] .garden-landscape{height:58%;opacity:.9}
[data-ref="g1"] .garden-canopy{right:3%;width:34%;bottom:4%}
[data-ref="g1"] .garden-bush{right:65%!important;bottom:6%!important;width:29%!important}
[data-ref="g1"] .garden-frond-left{width:20%;bottom:0}

/* Convite com leitura mais confortável na folha direita. */
.page-copy-1 .invite-eyebrow{font-size:clamp(10px,1.15vw,14px)}
.page-copy-1 .invite-title{font-size:clamp(24px,3.6vw,44px)}
.page-copy-1 .invite-message{font-size:clamp(14px,1.75vw,20px)}
.page-copy-1 .invite-closing{font-size:clamp(12px,1.35vw,16px)}
@media(max-width:600px){.page-copy-1{gap:15px}.page-copy-1 .invite-eyebrow{font-size:10px}.page-copy-1 .invite-title{font-size:26px}.page-copy-1 .invite-message{font-size:14px}.page-copy-1 .invite-closing{font-size:12px}}
@media(max-width:360px){.page-copy-1{gap:9px}.page-copy-1 .invite-eyebrow{font-size:9px}.page-copy-1 .invite-title{font-size:20px}.page-copy-1 .invite-message{font-size:13px}.page-copy-1 .invite-closing{font-size:11px}}
@media(max-height:500px) and (min-width:601px){.page-copy-1{gap:6px}.page-copy-1 .invite-eyebrow{font-size:9px}.page-copy-1 .invite-title{font-size:22px}.page-copy-1 .invite-message{font-size:12px}.page-copy-1 .invite-closing{font-size:10px}}

/* Capítulo da data: prado florido, trilha clara e céu azulado. */
[data-ref="s1"]>.sheet-face.back,[data-ref="s2"]>.sheet-face.front{background:linear-gradient(180deg,#cedfed,#e8eef0 30%,#fbf7ec 65%)!important}
.third-page-print .printed-flags{top:20%;left:4%;width:92%}
[data-ref="g2"] .garden-tree{display:none}
[data-ref="g2"] .garden-landscape{height:65%;opacity:.9}
[data-ref="g2"] .garden-canopy{left:0;right:auto;bottom:4%;width:34%}
[data-ref="g2"] .garden-bush{right:2%!important;bottom:7%!important;width:25%!important}
[data-ref="g2"] .meadow-flower{position:absolute;width:7%;height:20%;bottom:6%}
.meadow-flower-one{left:21%;rotate:-12deg}.meadow-flower-two{right:4%;bottom:9%!important;rotate:8deg}.meadow-flower-three{left:34%;width:5%!important;height:14%!important;bottom:8%!important}

/* Data com hierarquia editorial ampla e contador integrado ao papel. */
.date-page{inset:6% 8%;gap:clamp(14px,2vw,26px);text-align:center;justify-content:center}
.date-heading{margin:0;color:#bc842b;font-size:clamp(13px,1.4vw,17px);font-weight:900;letter-spacing:.16em}
.date-calendar{position:relative;width:125px;background:#fffdf5;border-radius:13px;padding:31px 0 12px;border:1px solid #e4d8bc;box-shadow:0 3px 0 #b4a78922}
.calendar-binding{position:absolute;inset:0 0 auto;height:27px;background:#e7a251;border-radius:12px 12px 0 0}
.calendar-binding::before,.calendar-binding::after{content:"";position:absolute;top:-6px;width:6px;height:16px;border-radius:4px;background:#aaad91}
.calendar-binding::before{left:25%}.calendar-binding::after{right:25%}
.calendar-date{font-family:'Baloo 2',cursive;font-size:65px;line-height:1;font-weight:800;color:#537ba4}
.calendar-month{font-size:13px;font-weight:900;letter-spacing:.1em;color:#7f8063;line-height:1.5}
.date-schedule{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%}
.date-weekday{font-size:17px;font-weight:900;color:#6a8b50;letter-spacing:.07em}
.date-time{display:flex;align-items:baseline;justify-content:center;gap:9px;color:#bc842b;font-family:'Baloo 2',cursive;line-height:1}
.date-time span{font-size:22px;font-weight:700}.date-time strong{font-size:38px;font-weight:800}
.date-countdown{width:100%;max-width:330px;display:flex;flex-direction:column;gap:12px;border-top:1px dashed #b6bd9a;padding-top:16px}
.countdown-heading{font-size:12px;font-weight:900;letter-spacing:.08em;color:#7e8064}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0}
.countdown-unit strong{font-family:'Baloo 2',cursive;font-size:38px;line-height:1;font-weight:800;color:#537ba4;font-variant-numeric:tabular-nums}
.countdown-unit:nth-child(2) strong{color:#7e9e57}.countdown-unit:nth-child(3) strong{color:#ce8c3e}
.countdown-unit span{font-size:11px;font-weight:900;color:#7e8064;letter-spacing:.06em}
@media(max-width:600px){
 .date-page{inset:6% 7%;gap:15px}
 .date-heading{font-size:13px}
 .date-calendar{width:90px;padding:25px 0 8px}
 .calendar-binding{height:20px}.calendar-date{font-size:49px}.calendar-month{font-size:10px}
 .date-weekday{font-size:13px}.date-schedule{gap:7px}
 .date-time{gap:5px;flex-wrap:wrap}.date-time span{font-size:15px}.date-time strong{font-size:29px}
 .date-countdown{gap:9px;padding-top:12px}.countdown-heading{font-size:10px;letter-spacing:0}
 .countdown-grid{grid-template-columns:1fr 1fr;gap:9px 6px}
 .countdown-unit{padding:4px 0}.countdown-unit strong{font-size:32px}.countdown-unit span{font-size:10px}
}
@media(max-width:360px){
 .date-page{inset:5% 7%;gap:9px}.date-heading{font-size:11px}
 .date-calendar{width:76px;padding:23px 0 6px}.calendar-date{font-size:40px}.calendar-month{font-size:9px}
 .date-weekday{font-size:11px}.date-schedule{gap:6px}.date-time span{font-size:13px}.date-time strong{font-size:24px}
 .date-countdown{gap:5px;padding-top:9px}.countdown-heading{font-size:9px}.countdown-grid{gap:5px}
 .countdown-unit strong{font-size:27px}.countdown-unit span{font-size:9px}
}
@media(max-height:500px) and (min-width:601px){
 .date-page{gap:6px;inset:5% 7%}.date-heading{font-size:10px}.date-calendar{width:65px;padding:17px 0 4px}.calendar-binding{height:14px}.calendar-date{font-size:32px}.calendar-month{font-size:8px}.date-schedule{gap:4px}.date-weekday{font-size:10px}.date-time span{font-size:12px}.date-time strong{font-size:21px}.date-countdown{padding-top:6px;gap:4px}.countdown-heading{font-size:8px}.countdown-unit strong{font-size:22px}.countdown-unit span{font-size:8px}
}

/* Local da festa: vale com cachoeira e um caminho ilustrado até o encontro. */
[data-ref="s2"]>.sheet-face.back,[data-ref="s3"]>.sheet-face.front{background:linear-gradient(180deg,#cde5eb,#e5efe6 32%,#fbf7ec 66%)!important}
.fourth-page-print .printed-flags{top:20%;left:4%;width:92%}
[data-ref="g3"] .garden-landscape{height:63%;opacity:.9}
[data-ref="g3"] .garden-canopy{display:none}
[data-ref="g3"] .garden-bush{right:3%!important;width:22%!important;bottom:7%!important}
.page-copy-3{inset:12% 8% 25%;gap:18px;z-index:1}
.page-copy-3 .venue-eyebrow{font-size:14px!important;letter-spacing:.16em!important}
.page-copy-3 .venue-pin{width:44px!important}
.venue-info{gap:12px!important}
.page-copy-3 .venue-name{font-size:29px!important;line-height:1.15!important}
.page-copy-3 .venue-address{font-size:17px!important;line-height:1.6!important;color:#53779a!important}
.page-copy-3 .btn-mapa{width:100%;max-width:280px;justify-content:center;padding:13px 14px!important;font-size:15px!important;background:#537e9e!important}
.venue-sky{top:0;left:3%;width:94%;height:15%}
.venue-route{bottom:0;left:0;width:100%;height:21%;opacity:.85}
.venue-leaf{left:1%;bottom:2%;width:15%;height:12%}
.venue-flower{right:6%;bottom:4%;width:6%;height:13%}
@media(max-width:600px){.page-copy-3{inset:14% 7% 24%;gap:14px}.page-copy-3 .venue-eyebrow{font-size:12px!important}.page-copy-3 .venue-pin{width:34px!important}.page-copy-3 .venue-name{font-size:24px!important}.page-copy-3 .venue-address{font-size:14px!important;line-height:1.45!important}.venue-info{gap:9px!important}.page-copy-3 .btn-mapa{font-size:13px!important;padding:11px 8px!important}}
@media(max-width:360px){.page-copy-3{gap:10px;inset:12% 7% 23%}.page-copy-3 .venue-name{font-size:21px!important}.page-copy-3 .venue-address{font-size:12px!important}.page-copy-3 .venue-pin{width:28px!important}.page-copy-3 .btn-mapa{font-size:12px!important}}
@media(max-height:500px) and (min-width:601px){.page-copy-3{gap:6px;inset:8% 7% 22%}.page-copy-3 .venue-eyebrow{font-size:9px!important}.page-copy-3 .venue-pin{width:23px!important}.page-copy-3 .venue-name{font-size:18px!important}.page-copy-3 .venue-address{font-size:11px!important;line-height:1.3!important}.venue-info{gap:5px!important}.page-copy-3 .btn-mapa{padding:8px!important;font-size:11px!important}}

/* Caminho apoiado no relevo, com margem contínua até a borda da folha. */
.venue-route{height:28%}
.venue-leaf{bottom:3%;height:14%}
.venue-flower{bottom:7%;height:15%}
@media(max-width:600px){.venue-route{height:26%}.venue-leaf{height:12%}.venue-flower{height:13%;bottom:6%}}

/* Encerramento festivo: céu no papel, jardim e confirmação em destaque. */
[data-ref="s3"]>.sheet-face.back,.last-leaf{background:linear-gradient(180deg,#cee4ea,#e8eedf 33%,#fbf7ec 65%)!important}
.last-leaf{border-radius:0 12px 12px 0}
.fifth-page-print .printed-flags{top:20%;left:4%;width:92%}
[data-ref="g4"] .garden-landscape{height:56%;opacity:.85}
.page-copy-4{inset:14% 8% 25%;gap:24px;z-index:1}
.page-copy-4 .rsvp-eyebrow{font-size:14px!important;letter-spacing:.16em!important;color:#6b8e4e!important}
.page-copy-4 .rsvp-title{font-size:32px!important;line-height:1.2!important;color:#537b9f!important}
.page-copy-4 .btn-wa{width:100%;max-width:290px;justify-content:center;white-space:normal!important;text-align:center;font-size:16px!important;padding:15px!important;background:#638550!important}
.rsvp-note{margin:0;font-size:19px;font-weight:700;line-height:1.45;text-align:center;color:#7c805e;font-style:italic}
.rsvp-scenery{position:absolute;inset:0;pointer-events:none;backface-visibility:hidden}
.rsvp-scenery svg{position:absolute;display:block;pointer-events:none}
.rsvp-sky{top:0;left:3%;width:94%;height:15%}
.rsvp-meadow{bottom:0;left:0;width:100%;height:23%;opacity:.85}
.rsvp-plant{bottom:2%;left:1%;width:15%;height:11%}
.rsvp-flower{bottom:4%;right:6%;width:6%;height:14%}
@media(max-width:600px){.page-copy-4{inset:15% 7% 25%;gap:18px}.page-copy-4 .rsvp-eyebrow{font-size:12px!important}.page-copy-4 .rsvp-title{font-size:25px!important}.page-copy-4 .btn-wa{font-size:14px!important;padding:13px 8px!important}.rsvp-note{font-size:15px}.rsvp-meadow{height:22%}}
@media(max-width:360px){.page-copy-4{gap:13px}.page-copy-4 .rsvp-title{font-size:21px!important}.page-copy-4 .rsvp-eyebrow{font-size:11px!important}.page-copy-4 .btn-wa{font-size:12px!important;padding:10px 7px!important}.rsvp-note{font-size:13px}}
@media(max-height:500px) and (min-width:601px){.page-copy-4{inset:12% 7% 22%;gap:9px}.page-copy-4 .rsvp-title{font-size:21px!important}.page-copy-4 .rsvp-eyebrow{font-size:10px!important}.page-copy-4 .btn-wa{padding:9px!important;font-size:12px!important}.rsvp-note{font-size:13px}}

/* Folhas cartonadas: o corte do miolo se distribui entre os dois lados. */
.book-cover{transform:translateZ(-26px)!important}
.paper-edge{display:none}
.board-stack{position:absolute;top:0;height:100%;width:50%;transform:translateZ(-.5px);transform-style:preserve-3d;pointer-events:none;--pile-depth:4px;--pile-transition:0s}
.board-stack-left{left:0}.board-stack-right{left:50%;--pile-depth:20px}
.board-stack::after,.board-stack::before{content:"";position:absolute;pointer-events:none;backface-visibility:visible;transition:height var(--pile-transition) cubic-bezier(.4,.9,.35,1),width var(--pile-transition) cubic-bezier(.4,.9,.35,1);background:repeating-linear-gradient(0deg,#a99974 0 1px,#e1d5b8 1px 2px,#fcf4df 2px 4px);box-shadow:inset 0 -1px 0 #a4946d,0 2px 3px #5b503722}
.board-stack::after{left:0;right:0;top:100%;height:var(--pile-depth);transform-origin:50% 0;transform:rotateX(-90deg);border-radius:0 0 4px 4px}
.board-stack::before{top:0;bottom:0;width:var(--pile-depth);transform-origin:0 50%;transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#a99974 0 1px,#e1d5b8 1px 2px,#fcf4df 2px 4px)}
.board-stack-left::before{left:0}.board-stack-right::before{left:100%}
.turning-sheet::after{width:4px!important;transform:translateZ(2px) rotateY(90deg)!important;background:linear-gradient(90deg,#fbf4df,#d0bf98 48%,#f9efd6)}
@media(prefers-reduced-motion:reduce){.board-stack::before,.board-stack::after{transition:none}}

/* A decoração das folhas de base não intercepta os controles da folha ativa. */
.current-left,.current-right,.current-left *,.current-right *{pointer-events:none}

/* Convite: papel festivo com ilustrações apenas nas margens da leitura. */
[data-ref="s1"]>.sheet-face.front{background:linear-gradient(180deg,#f3e5cf,#fbf7ec 28%,#fbf7ec 74%,#f4e9d1)!important}
.turning-sheet>div:first-child>.invite-party-print{position:absolute;inset:0;opacity:1!important;pointer-events:none;backface-visibility:hidden}
.invite-party-print svg{position:absolute;display:block;pointer-events:none}
.invite-party-border{inset:0;width:100%;height:100%;opacity:.5}
.invite-party-footer{bottom:0;left:0;width:100%;height:20%;opacity:.8}
@media(max-height:500px) and (min-width:601px){.invite-party-footer{height:16%;opacity:.6}}

.page-copy-1{inset:5% 9% 22%}
@media(max-width:600px){.page-copy-1{inset:4% 8% 21%;gap:8px}.page-copy-1 .invite-title{font-size:22px}.page-copy-1 .invite-message{font-size:13px;line-height:1.6}.page-copy-1 .invite-closing{font-size:11px}.page-copy-1 .invite-eyebrow{font-size:9px}.page-copy-1 .invite-trail svg{width:12px;height:12px}.invite-bunting{max-height:20px;flex-shrink:0}}
@media(max-width:360px){.page-copy-1{inset:3% 7% 20%;gap:5px}.page-copy-1 .invite-title{font-size:18px}.page-copy-1 .invite-message{font-size:11.5px}.page-copy-1 .invite-closing{font-size:10px}.page-copy-1 .invite-eyebrow{font-size:8px}.invite-bunting{max-height:16px}}

/* Calendário festivo: fitas de papel e estrelinhas impressas nas margens. */
[data-ref="s2"]>.sheet-face.front{background:linear-gradient(180deg,#dce8ef,#fbf7ec 31%,#fbf7ec 84%,#eaf0df)!important}
.turning-sheet>div:first-child>.date-party-print{position:absolute;inset:0;opacity:1!important;pointer-events:none;backface-visibility:hidden}
.date-party-print svg{position:absolute;display:block;pointer-events:none}
.date-party-border{inset:0;width:100%;height:100%;opacity:.55}
.date-page{z-index:1}
.date-countdown .countdown-unit{background:#fffdf488;border-radius:10px;box-shadow:inset 0 0 0 1px #c3d1d044}
.date-countdown .countdown-unit:nth-child(2){background:#eef2e288;box-shadow:inset 0 0 0 1px #b7c89f44}
.date-countdown .countdown-unit:nth-child(3){background:#f9edda88;box-shadow:inset 0 0 0 1px #dbbb8c44}
.calendar-binding{background:linear-gradient(110deg,#e7a251,#f1c37e)}
