/* Una tarjeta con hojas: solo se muestra un momento a la vez. */
body{background:#e7d9ce;background-image:radial-gradient(ellipse at 20% 15%,#f6eee6,transparent 65%);min-height:100svh}
main{min-height:100svh;display:grid;place-items:center;padding:24px}
.entrance{width:min(850px,100%);min-height:0;padding:0;background:var(--paper);box-shadow:0 25px 80px #54352b20;border:1px solid #d9c9b9;border-radius:5px 15px 15px 5px;overflow:hidden}
.entry-art{min-height:610px}.entry-copy{padding:35px}.entry-copy h1{font-size:55px}.entry-copy .eyebrow{font-size:8px}.entry-note{font-size:9px}.envelope{transform:rotate(-9deg) scale(.8)}.art-caption{font-size:21px}
#celebration{width:min(860px,100%);height:min(760px,calc(100svh - 48px));min-height:520px;display:flex;flex-direction:column;background:var(--paper);border:1px solid #d4c2b1;border-radius:5px 15px 15px 5px;box-shadow:4px 4px 0 #eee5d9,7px 7px 0 #cdbdaf,0 25px 70px #54352b25;position:relative;overflow:hidden}
#celebration:before{content:'';position:absolute;left:10px;top:0;bottom:0;border-left:1px solid #d9cbb954;pointer-events:none;z-index:2}
.topbar{width:100%;padding:18px 30px;flex-shrink:0;border-bottom:1px solid #e4dbcf}.topbar>.tiny{display:none}.wordmark{font-size:11px}.topbar .text-button{font-size:10px}
.card-stage{flex:1;min-height:0;position:relative;perspective:1400px;overflow:hidden}
.card-page{height:100%;width:100%;max-width:none;margin:0;padding:35px 55px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5aca1 transparent;transform-origin:left center;animation:page-in .48s cubic-bezier(.2,.7,.2,1) both}
.card-page.backwards{animation-name:page-back}.card-page h1:focus,.card-page h2:focus{outline:none}
.hero{display:flex;align-items:center;justify-content:center;text-align:center}.hero-copy{max-width:560px}.hero h1{font-size:clamp(56px,7vw,76px);margin-bottom:20px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.heading-star{font-size:40px;margin-left:15px}.hero-description{margin:0 auto;max-width:370px;font-size:13px}.birthday-greeting{font-size:19px}.hero-copy>.button{display:none}
.candle-page{display:flex;align-items:center;justify-content:center;text-align:center}.hero-art{min-height:0;width:360px;height:100%;max-height:475px;padding:20px;background:#ecdfce}.cake-scene{margin-top:25px;flex-shrink:0}.cake-caption{font-size:28px;margin:12px 0}.cake-label{margin-top:10px}.wish-button{min-height:44px}
.letter-section{display:block;padding:30px 65px}.letter-section .eyebrow{margin-bottom:12px}.letter-section h2{font-size:36px;margin-bottom:20px}.letter-section h2 br{display:none}.ink-flower{display:none}.letter-body{font-size:13px}.letter-body p{margin-bottom:16px}.letter-body .letter-lead{font-size:22px;line-height:1.4}.signature{margin-top:15px}.signature span{font-size:25px}
.wishes-section{background:var(--paper);padding:35px}.wishes-heading{display:block;text-align:center;margin-bottom:25px}.wishes-heading .eyebrow{margin-bottom:12px}.wishes-heading h2{font-size:40px}.wishes-heading p{margin:15px 0 0;font-size:11px}.wish-grid{gap:12px}.wish-card{padding:18px;min-height:245px}.card-symbol{font-size:46px;margin:15px 0}.card-title{font-size:23px}.card-prompt{font-size:8px}.card-reveal{font-size:12px}
.book-section{grid-template-columns:1fr 1fr;gap:30px;padding:35px;align-items:center}.book-section h2{font-size:36px}.book-section .eyebrow{font-size:8px;margin-bottom:18px}.book-copy p{font-size:12px}.book-copy .book-footnote{font-size:10px}.voucher{padding:18px;margin:0;width:100%}.voucher h3{font-size:29px}.voucher .eyebrow{margin-bottom:12px}.voucher-top .tiny{font-size:7px}.book-icon{margin:12px auto 22px}.voucher-bottom{margin-top:15px;padding-top:15px}
.footer{border:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px}.footer h2{font-size:52px}.footer-bottom{margin:35px 0 0;justify-content:center;border:0;padding:0}.footer-bottom a{display:none}.footer>.button{font-size:12px}.ticker{display:none}
.page-navigation{border-top:1px solid #e4dbcf;padding:16px 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;flex-shrink:0;background:var(--paper);position:relative;z-index:3}.page-navigation button{min-height:44px}.page-prev{justify-self:start;border:0;background:none;color:var(--wine);font-size:12px;padding:8px}.page-prev:disabled{opacity:.3;cursor:default}.page-next{justify-self:end;font-size:12px;padding:12px 20px}.page-position{text-align:center}.page-count{display:block;font-size:9px;letter-spacing:.1em;color:var(--muted)}.page-dots{display:flex;gap:6px;justify-content:center;margin-bottom:6px}.page-dot{width:5px;height:5px;border-radius:50%;background:#dbcdc2}.page-dot.active{background:var(--wine);transform:scale(1.4)}
@keyframes page-in{from{opacity:0;transform:rotateY(-12deg) translateX(18px)}to{opacity:1;transform:none}}@keyframes page-back{from{opacity:0;transform:rotateY(10deg) translateX(-18px)}to{opacity:1;transform:none}}
@media(max-width:650px){main{padding:12px}.entrance{max-width:430px;display:block}.entry-art{min-height:200px;height:200px}.entry-art .envelope{transform:rotate(-9deg) scale(.52);margin:70px 0 0}.entry-copy{padding:27px}.entry-copy h1{font-size:46px}.entry-copy h1 br:last-of-type{display:none}.entry-copy .intro{font-size:12px;margin-bottom:20px}.entry-note{margin-top:15px}#celebration{height:calc(100svh - 32px);min-height:400px;max-height:850px}.topbar{padding:12px 22px}.card-page{padding:25px}.hero h1{font-size:clamp(47px,12vw,64px)}.hero-copy .eyebrow{font-size:8px}.heading-star{font-size:30px}.hero-description{font-size:12px}.hero-art{width:100%;max-width:320px;padding:18px 6px}.cake-label{font-size:8px}.cake-scene{margin-top:20px}.cake-caption{font-size:28px}.letter-section h2{font-size:31px}.letter-body{font-size:12px}.letter-body .letter-lead{font-size:21px}.letter-body p{margin-bottom:16px}.wishes-heading h2{font-size:34px}.wish-grid{grid-template-columns:1fr;gap:10px}.wish-card{min-height:0;display:grid;grid-template-columns:35px 1fr;gap:3px 12px;padding:15px}.card-top{display:none}.card-symbol,.wish-card[aria-expanded=true] .card-symbol{grid-row:1/3;font-size:31px;margin:0;align-self:center}.card-title{font-size:23px}.card-prompt{margin:4px 0 0;font-size:7px}.card-reveal{grid-column:1/-1;margin-top:10px}.wishes-heading{margin-bottom:20px}.wishes-heading .eyebrow{font-size:7px}.book-section{display:block}.book-section h2{font-size:32px}.book-copy p{font-size:12px}.book-copy .book-footnote{margin:15px 0}.voucher{max-width:290px;margin:25px auto 15px;width:calc(100% - 15px);transform:rotate(2deg)}.footer h2{font-size:40px}.footer-bottom{font-size:7px}.footer>.button{font-size:10px;padding:15px}.page-navigation{padding:12px 18px;gap:8px}.page-prev{font-size:11px}.page-next{padding:12px;font-size:11px}.page-count{font-size:8px}.page-dots{gap:5px}}
@media(prefers-reduced-motion:reduce){.card-page{animation:none}}
.gentle-compliment{color:var(--wine)}
.literary-quote{margin:12px 0 18px;padding:18px 0 0;border-top:1px solid var(--line);max-width:100%;flex-shrink:0}
.literary-quote blockquote{margin:0 0 10px;font:italic 24px/1.4 var(--serif);color:var(--wine)}
.literary-quote figcaption{font-size:10px;color:var(--muted);line-height:1.6}
.literary-quote cite{font-style:normal}.literary-quote a{text-underline-offset:3px}
.footer{justify-content:safe center}.footer>*{flex-shrink:0}.footer .footer-bottom{margin-top:22px}
@media(max-width:650px){.literary-quote{margin:8px 0 12px;padding-top:14px}.literary-quote blockquote{font-size:21px}.footer h2{font-size:35px}.footer>span{margin-bottom:12px}.footer h2{margin-bottom:18px}}
