@font-face{font-family:Bricolage;src:url(assets/BricolageGrotesque-Variable.woff2)}@font-face{font-family:Satoshi;src:url(assets/Satoshi-Variable.woff2)}@font-face{font-family:Azeret;src:url(assets/AzeretMono-Variable.woff2)}*{box-sizing:border-box}html{background:#07070c;color:#f6efdf;overflow-x:clip}body{margin:0;font-family:Satoshi,sans-serif;min-height:100svh;overflow-x:clip;background:radial-gradient(ellipse at 70% 50%,#21142555,transparent 60%)}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:active{scale:.97}button:focus-visible,a:focus-visible{outline:2px solid #f6cf8d;outline-offset:7px}h1:focus,h2:focus{outline:none}#space,.nebula{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.nebula{background:radial-gradient(ellipse at 75% 46%,#62436f24,transparent 40%),radial-gradient(ellipse at 20% 95%,#8d633a1c,transparent 40%);filter:blur(35px)}header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:32px 5vw}.brand{color:#f5ecd7;text-decoration:none;font:650 20px Bricolage;letter-spacing:.13em}.brand span{display:block;font:7px Azeret;letter-spacing:.32em;margin-top:7px;text-align:center}.music{border:1px solid #e2ceab30;color:#d9c7b0;background:#ffffff05;border-radius:100px;min-height:44px;padding:10px 18px;font-size:12px;backdrop-filter:blur(15px)}main{position:relative;z-index:2;max-width:1440px;margin:auto}.chapter{display:none;min-height:calc(100svh - 190px);padding:36px 7vw 50px;animation:arrive 1.1s both}.chapter.active{display:flex}.intro,.portrait{align-items:center;gap:20px}.intro-copy,.copy{width:49%;z-index:3}.eyebrow{font:10px Azeret;letter-spacing:.2em;color:#ccb99e;line-height:1.8;margin:0 0 25px}h1,h2{font:400 clamp(44px,5.6vw,86px)/1.03 Bricolage;letter-spacing:-.05em;margin:0 0 28px}em{font-style:normal;background:linear-gradient(110deg,#fff4d7,#d2a66c 75%,#8f6750);background-clip:text;color:transparent}.lead{font-size:18px;line-height:1.6;color:#b8b1bf;letter-spacing:-.015em}.whisper{font-size:12px;color:#95869d;margin-top:40px}.stage{position:relative;width:55%;aspect-ratio:1;perspective:900px;transform:translate3d(var(--px,0px),var(--py,0px),0)}.bella{position:absolute;width:65%;left:-5%;top:2%;z-index:3;filter:drop-shadow(0 0 40px #cd4a9219);animation:float 6s ease-in-out infinite}.gift{position:absolute;width:41%;height:44%;left:49%;top:40%;background:none;border:0;padding:0;z-index:5;filter:drop-shadow(0 15px 45px #f1b56a26);transition:filter .4s}.gift img{position:absolute;width:100%;left:0;pointer-events:none}.gift .base{bottom:0}.gift .lid{top:0;transition:transform 1.1s cubic-bezier(.17,.8,.2,1),opacity 1s}.gift:hover{filter:drop-shadow(0 0 30px #f8c27a60)}.gift.bump{animation:bump .4s}.gift.open .lid{transform:translateY(-90%) rotate(-18deg);opacity:0}.giftlight{position:absolute;inset:0;background:#ffe7b4;filter:blur(35px);opacity:0;transition:opacity .8s}.gift.open .giftlight{opacity:1}.orbit{position:absolute;border:1px solid #dab77d35;border-radius:50%;width:100%;height:42%;top:36%;transform:rotate(-24deg);box-shadow:0 0 35px #d3a87909}.orbit.two{transform:rotate(22deg);width:115%;left:-5%;border-color:#998bb522}.groundlight{position:absolute;bottom:15%;left:10%;width:90%;height:12%;background:#a5669a28;filter:blur(25px);border-radius:50%}.goldstar{position:absolute;width:12%;filter:drop-shadow(0 0 12px #ffd17b22);animation:float 5s ease-in-out infinite;pointer-events:none}.s1{left:3%;top:17%;width:9%}.s2{right:0;top:23%;animation-delay:-2s}.s3{left:35%;bottom:8%;width:6%;animation-delay:-3s}.gift-hint{position:absolute;bottom:-11%;right:0;width:65%;text-align:center}.gift-hint p{font:400 21px Bricolage;margin:0 0 9px}.gift-hint span{font-size:11px;color:#8f8398}.taps{display:flex;justify-content:center;gap:8px;margin-top:17px}.taps i{width:5px;height:5px;background:#ffffff25;border-radius:100%}.taps i.on{background:#f6cc8c;box-shadow:0 0 12px #ffe3a8}.planet{position:fixed;border-radius:50%;pointer-events:none}.pearl{width:250px;height:250px;right:-95px;top:-90px;background:radial-gradient(circle at 30% 25%,#fff5d9,#bdab9e 25%,#62546b 52%,#14111c 72%);box-shadow:inset -20px -15px 30px #000b,0 0 70px #a88e6c14;transform:rotate(-25deg)}.ring{position:absolute;inset:35% -40%;border:11px double #ddc8ab88;border-radius:50%;transform:rotate(-15deg);box-shadow:0 2px 12px #c3a27922}.plum{width:170px;height:170px;bottom:-80px;left:-70px;background:radial-gradient(circle at 70% 20%,#a98caa,#4d2c51 35%,#100d18 70%);box-shadow:0 0 60px #88508620}.comet{position:fixed;z-index:1;left:0;top:15%;width:240px;height:2px;background:linear-gradient(90deg,transparent,#eed2a2);opacity:0;transform:rotate(25deg);pointer-events:none}.comet:after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff8db;box-shadow:0 0 18px 5px #ebc48a88}.comet.fly{animation:shoot 2.8s cubic-bezier(.2,.2,.6,1)}.primary{color:#f3ddba;background:linear-gradient(120deg,#ead2a015,#b788b410);border:1px solid #e7c99745;border-radius:100px;padding:16px 24px;font-size:13px;margin-top:24px;backdrop-filter:blur(15px);min-height:48px}.primary span{margin-left:25px}.photo-world{position:relative;width:48%;padding:25px;perspective:1000px}.hero-photo{margin:0 auto;width:78%;aspect-ratio:.69;padding:8px;border:1px solid #d3b98e55;border-radius:180px 180px 22px 22px;background:linear-gradient(150deg,#ffedc21c,#9a6d9c0a);transform:rotate(5deg);box-shadow:0 30px 100px #0009,0 0 80px #bd95af12;overflow:hidden}.hero-photo img{height:92%;width:100%;object-fit:cover;object-position:center 58%;border-radius:170px 170px 12px 12px;animation:photoIn 1.6s both}.hero-photo figcaption{font:7px Azeret;letter-spacing:.12em;text-align:center;padding:16px 0;color:#d1b994}.photo-orbit{position:absolute;inset:10% -2%;border:1px solid #e8c99c33;border-radius:50%;transform:rotate(-25deg)}.photo-star{right:0;top:15%}.memories.active{display:block;text-align:center}.memories h2{font-size:clamp(40px,4vw,60px)}.memory-grid{display:flex;justify-content:center;gap:42px;margin:40px auto 0;max-width:740px}.memory-grid figure{width:45%;margin:0;border:1px solid #cfb39540;border-radius:20px;overflow:hidden;background:#ffffff04;transform:rotate(-4deg)}.memory-grid figure+figure{transform:rotate(5deg) translateY(20px)}.memory-grid img{display:block;width:100%;height:280px;object-fit:cover;object-position:center 40%}.memory-grid figcaption{padding:24px 12px}.memory-grid figcaption span{font:8px Azeret;color:#c5aa85;letter-spacing:.1em}.memory-grid p{font-size:16px;line-height:1.5}.memories .primary{margin-top:55px}.letter.active{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:860px;margin:auto}.letter h2{font-size:clamp(44px,5vw,72px)}.letter-star{font-size:32px;color:#edce96;text-shadow:0 0 30px #ebbf7377;margin:0 0 20px}.letter-copy{max-width:560px;color:#bfb4c5;font-size:17px;line-height:1.8}.closing{color:#f3e6d3!important;font-size:23px;line-height:1.5!important;margin:30px 0}.signature{font-size:14px;color:#debc91;margin:12px 0 28px}.signature span{display:block;font:8px Azeret;margin-top:18px;color:#897d91}.restart,.back{border:0;background:none;color:#b7a9c1;min-height:44px;font-size:12px}.restart{text-decoration:underline;text-underline-offset:7px}footer{position:relative;padding:28px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3}.progress{display:flex;gap:7px}.progress span{width:22px;height:2px;background:#ffffff20;transition:background .5s}.progress .selected{background:#e6c38d}.footer-note{font:8px Azeret;letter-spacing:.2em;color:#8d8196}.back[hidden]{display:none}@keyframes float{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes shoot{0%{transform:translate(-35vw,-5vh) rotate(25deg);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translate(110vw,65vh) rotate(25deg);opacity:0}}@keyframes arrive{from{opacity:0;transform:translateY(22px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}@keyframes photoIn{from{scale:1.12;opacity:.3}to{scale:1;opacity:1}}@keyframes bump{40%{transform:scale(.94) rotate(-5deg)}75%{transform:scale(1.03) rotate(3deg)}}@keyframes flash{0%,100%{opacity:0}40%{opacity:.9}}
@media(max-width:700px){header{padding:22px 22px}.brand{font-size:15px}.music{padding:9px 13px;font-size:11px}.chapter{padding:25px 24px 35px;min-height:calc(100svh - 150px)}.intro.active,.portrait.active{flex-direction:column;gap:0}.intro-copy,.copy{width:100%;text-align:center}.eyebrow{font-size:8px;margin-bottom:17px}h1,h2{font-size:46px;margin-bottom:20px}.lead{font-size:15px}.whisper{display:none}.stage{width:min(100%,420px);margin-top:3px;aspect-ratio:1.03;margin-bottom:52px}.bella{width:63%;left:0;top:0}.gift{width:39%;left:49%;top:39%}.gift-hint{bottom:-13%;width:100%;right:0}.gift-hint p{font-size:19px}.pearl{width:160px;height:160px;right:-95px;top:80px;opacity:.6}.plum{width:140px;height:140px;bottom:-60px}.photo-world{width:min(100%,380px);padding:18px;margin-top:24px;order:0}.portrait .copy{order:1;margin-top:25px}.portrait .photo-world{order:0}.portrait h2{font-size:48px}.hero-photo{width:76%;max-height:380px}.hero-photo figcaption{font-size:6px;padding:10px 0}.primary{margin-top:15px}.memory-grid{gap:20px;flex-direction:column;align-items:center;margin-top:30px}.memory-grid figure{width:85%;max-width:300px}.memory-grid figure+figure{transform:rotate(4deg)}.memory-grid img{height:300px}.memories .primary{margin-top:35px}.letter-copy{font-size:16px}.closing{font-size:21px}.footer-note{font-size:7px}footer{padding:22px}.letter.active{padding-top:35px}.ring{border-width:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.stage{transform:none}.comet{display:none}}
/* La tapa comparte perspectiva con el borde de la caja. */
main{overflow:clip}.gift{height:auto;aspect-ratio:1}.gift .lid{top:-27%;width:105%;left:-2.5%}
@media(max-width:700px){h1{font-size:clamp(35px,10.5vw,46px)}}
/* Constellation edition: light travels through the letters, not over the scene. */
.shine-word{position:relative;display:inline-block;background-image:linear-gradient(105deg,#d2a66c 0%,#f7ddaa 38%,#fff 45%,#fff8df 48%,#d5ae79 55%,#b38760 100%);background-size:260% 100%;animation:letter-shimmer 6s ease-in-out infinite}.letter-glint{position:absolute;right:22%;top:0;font:27px Satoshi;color:#fff9e7;text-shadow:0 0 12px #ffeac7,0 0 28px #bba2df;animation:letter-spark 6s ease-in-out infinite;pointer-events:none}.deep-stars{position:fixed;inset:0;pointer-events:none;z-index:1}.deep-stars span{position:absolute;left:var(--x);top:var(--y);font-size:var(--s);color:#e6d2b8;opacity:.4;filter:drop-shadow(0 0 5px #c5b3dc);animation:space-twinkle 7s ease-in-out infinite;animation-delay:var(--delay)}.planet.pearl{animation:planet-breathe 18s ease-in-out infinite}.planet.plum{animation:moon-drift 22s ease-in-out infinite}.star-burst{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.star-burst span{position:absolute;color:#eee4ff;text-shadow:0 0 9px #e8d2ff,0 0 18px #c5a8ef;animation:stardust-release 1.7s cubic-bezier(.15,.6,.25,1) both;animation-delay:var(--wait)}.giftlight{display:none}.gift.open{filter:drop-shadow(0 0 15px #d7b9ff50)}
.stellar-seal{position:absolute;width:198px;height:198px;left:-13px;bottom:0;z-index:3;isolation:isolate;animation:seal-hover 8s ease-in-out infinite}.seal-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:seal-revolve 65s linear infinite}.seal-orbits circle,.seal-orbits ellipse{fill:none;stroke:#d9bf8c;stroke-width:.6}.seal-orbits ellipse{stroke:#b9a2cf;stroke-width:1}.seal-orbits text{fill:#e9d6b8;font:8px Azeret;letter-spacing:2.3px}.seal-orbits .seal-satellite{fill:#fff0ce;stroke:none;filter:drop-shadow(0 0 5px #ffe7b7)}.seal-core{position:absolute;inset:22%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle,#1e152ded,#0c0b14f5 65%,#302133a0);box-shadow:0 0 35px #c5a6ec15,inset 0 0 30px #cbb6e011}.seal-core>span{font-size:39px;line-height:1;color:#ffe7b4;text-shadow:0 0 20px #ffe0ab66;animation:star-turn 12s ease-in-out infinite}.seal-core strong{font:500 11px/1.2 Bricolage;letter-spacing:.09em;color:#f7e8d1;margin:5px 0}.seal-core small{font:6px Azeret;letter-spacing:.18em;color:#b6a3c4}.memory-universe{position:relative;perspective:1400px;max-width:1000px;margin:auto;padding:30px 0 45px}.memory-grid{position:relative;z-index:2;gap:65px;transform-style:preserve-3d}.memory-grid figure{animation:memory-orbit-a 18s ease-in-out infinite;backface-visibility:hidden;box-shadow:0 25px 65px #0007}.memory-grid figure+figure{animation:memory-orbit-b 18s ease-in-out infinite}.memory-grid figure:hover{animation-play-state:paused}.memory-rings{position:absolute;inset:7% -6%;pointer-events:none;transform:rotate(-14deg)}.memory-rings i{position:absolute;inset:18% 0;border:1px solid #d4b58c30;border-radius:50%;box-shadow:0 0 20px #c7a4de08}.memory-rings i+i{inset:5% 10%;transform:rotate(35deg);border-color:#bea5d72b}.memory-rings span{position:absolute;left:50%;top:50%;font-size:23px;color:#e6d6ff;text-shadow:0 0 20px #d4b4ff;animation:memory-satellite 16s linear infinite}.memories .primary{margin-top:15px}
@keyframes letter-shimmer{0%,25%{background-position:100% 0}65%,100%{background-position:0 0}}@keyframes letter-spark{0%,35%,75%,100%{opacity:0;transform:scale(.2) rotate(0)}52%{opacity:1;transform:scale(1) rotate(90deg)}65%{opacity:0;transform:scale(.3) rotate(150deg)}}@keyframes space-twinkle{0%,100%{opacity:.15;transform:translateY(0) scale(.7) rotate(0)}50%{opacity:.8;transform:translateY(-12px) scale(1.1) rotate(20deg)}}@keyframes planet-breathe{50%{transform:translate(-10px,18px) rotate(-18deg)}}@keyframes moon-drift{50%{transform:translate(18px,-15px) rotate(12deg)}}@keyframes stardust-release{0%{opacity:0;transform:translate(0,0) scale(.2)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.5)}}@keyframes seal-revolve{to{transform:rotate(360deg)}}@keyframes seal-hover{50%{transform:translateY(-9px)}}@keyframes star-turn{50%{transform:rotate(90deg);filter:brightness(1.3)}}@keyframes memory-orbit-a{0%,100%{transform:translate(-8px,10px) rotate(-7deg) rotateY(7deg)}25%{transform:translate(15px,-14px) rotate(-2deg) rotateY(-4deg)}50%{transform:translate(30px,8px) rotate(4deg) rotateY(-8deg)}75%{transform:translate(3px,28px) rotate(-1deg) rotateY(4deg)}}@keyframes memory-orbit-b{0%,100%{transform:translate(12px,-8px) rotate(6deg) rotateY(-6deg)}25%{transform:translate(-12px,16px) rotate(2deg) rotateY(5deg)}50%{transform:translate(-25px,2px) rotate(-4deg) rotateY(8deg)}75%{transform:translate(0,-22px) rotate(1deg) rotateY(-3deg)}}@keyframes memory-satellite{from{transform:rotate(0) translateX(340px) rotate(0)}to{transform:rotate(360deg) translateX(340px) rotate(-360deg)}}
@media(max-width:700px){.stellar-seal{width:154px;height:154px;left:-2px;bottom:-5px}.seal-core>span{font-size:29px}.seal-core strong{font-size:9px}.seal-core small{font-size:5px}.letter-glint{font-size:19px}.memory-grid{gap:48px}.memory-universe{padding:15px 8px 30px}.memory-grid figure{width:82%}.memory-rings{inset:8% 0;transform:rotate(-10deg)}.memory-rings i{inset:0 7%;transform:rotate(8deg)}.memory-rings span{animation-name:memory-satellite-mobile}@keyframes memory-satellite-mobile{from{transform:rotate(0) translateX(145px) rotate(0)}to{transform:rotate(360deg) translateX(145px) rotate(-360deg)}}}
@media(prefers-reduced-motion:reduce){.star-burst{display:none}.memory-grid figure{transform:rotate(-3deg)}.memory-grid figure+figure{transform:rotate(3deg)}.shine-word{background-position:0 0}.letter-glint{display:none}}
/* Cristal elegido y destellos ópticos azul hielo. */
.stellar-crystal{position:absolute;z-index:4;left:-5%;bottom:-3%;width:46%;pointer-events:none;animation:seal-hover 8s ease-in-out infinite;filter:drop-shadow(0 12px 25px #0009)}.stellar-crystal img{width:100%;height:auto;display:block}.crystal-glint{position:absolute;left:47%;top:27%;width:16px;height:16px;filter:drop-shadow(0 0 7px #c4faff) drop-shadow(0 0 15px #386cff);animation:letter-spark 7s ease-in-out infinite;background:#edffff;clip-path:polygon(50% 0,60% 38%,100% 50%,61% 60%,50% 100%,38% 62%,0 50%,38% 39%)}
.star-burst .ice-spark{width:var(--size);height:var(--size);background:transparent;color:transparent;filter:drop-shadow(0 0 4px #b9fbff) drop-shadow(0 0 10px #2369ff);text-shadow:none}.ice-spark:before,.ice-spark:after{content:'';position:absolute;inset:0;background:#dcffff;clip-path:polygon(47% 0,60% 34%,100% 47%,64% 62%,53% 100%,38% 67%,0 54%,35% 39%)}.ice-spark:after{inset:-40%;opacity:.32;transform:rotate(43deg);background:#317aff}.ice-spark:nth-child(3n):before{transform:rotate(32deg) scaleX(.65)}.ice-spark:nth-child(4n):before{clip-path:polygon(0 35%,30% 43%,43% 12%,58% 46%,100% 57%,65% 63%,52% 90%,38% 58%,5% 50%)}
.deep-stars span{color:#d3fbff;filter:drop-shadow(0 0 3px #7bd6ff) drop-shadow(0 0 9px #2944bc)}.deep-stars span:nth-child(3n){filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #3c66d7);font-size:calc(var(--s)*.6)}.letter-glint{color:#efffff;text-shadow:0 0 6px #b6f7ff,0 0 18px #447bff}.comet{background:linear-gradient(90deg,transparent,#7ca9ff77,#d3ffff)}.comet:after{background:#e2ffff;box-shadow:0 0 9px 2px #8be8ff,0 0 24px #3151d9}.gift.open{filter:drop-shadow(0 0 13px #75cfff55)}
@media(max-width:700px){.stellar-crystal{left:-2%;bottom:-3%;width:43%}.crystal-glint{width:11px;height:11px}}
.portrait-trail{position:absolute;inset:0;z-index:3;pointer-events:none}.portrait-trail .ice-spark{position:absolute;width:var(--size);height:var(--size);filter:drop-shadow(0 0 4px #82eaff) drop-shadow(0 0 9px #2147d2);animation:optical-glimmer 4.8s ease-in-out infinite;animation-delay:var(--delay)}@keyframes optical-glimmer{0%,100%{opacity:.1;transform:scale(.35) rotate(15deg)}45%{opacity:.85;transform:scale(1) rotate(30deg)}65%{opacity:.3;transform:scale(.6) rotate(40deg)}}
/* Reconocimiento secundario: la fotografía sigue siendo protagonista. */
.stellar-label{position:absolute;left:1%;bottom:8%;z-index:4;display:flex;align-items:center;gap:12px;max-width:270px;padding:10px 21px 10px 12px;border:1px solid #d8c2e63b;border-radius:8px 28px 28px 8px;background:linear-gradient(110deg,#181423f5,#191624ed);box-shadow:0 10px 32px #0005,inset 0 1px #ffffff12;backdrop-filter:blur(16px);transform:rotate(-3deg);isolation:isolate}.stellar-label:after{content:'';position:absolute;left:18px;right:35px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#c8b2e7aa,transparent)}.stellar-label-icon{width:49px;height:44px;position:relative;overflow:hidden;flex:none}.stellar-label-icon img{position:absolute;width:52px;height:52px;max-width:none;left:-1px;top:-2px;object-fit:contain;clip-path:inset(0 0 34% 0);transform:scale(1.17);transform-origin:50% 0}.stellar-label-copy span{display:block;color:#bea8cf;font:8px Azeret;letter-spacing:.16em;margin-bottom:5px}.stellar-label-copy strong{font:450 22px/1.05 Bricolage;color:#f5ebdb;letter-spacing:-.025em}.label-spark{position:absolute;right:-5px;top:-8px;font-size:17px;color:#d5f5ff;text-shadow:0 0 9px #7db2de;animation:optical-glimmer 6s ease-in-out infinite}
@media(max-width:700px){.stellar-label{left:0;bottom:7%;padding:9px 17px 9px 9px;gap:9px;max-width:230px}.stellar-label-copy span{font-size:7px;letter-spacing:.12em}.stellar-label-copy strong{font-size:20px}.stellar-label-icon{width:39px;height:37px}.stellar-label-icon img{width:44px;height:44px;left:-2px}}
/* La frase introductoria del retrato forma parte del mensaje principal. */
.portrait .copy>.eyebrow{font-family:Bricolage,sans-serif;font-size:clamp(19px,1.8vw,27px);font-weight:450;line-height:1.35;letter-spacing:.045em;max-width:430px;color:#ddd0bf;margin-bottom:24px;text-wrap:balance}
@media(max-width:700px){.portrait .copy>.eyebrow{font-size:21px;max-width:310px;margin:0 auto 22px;letter-spacing:.035em}}

/* Retrato sin pie de foto: aprovecha todo el marco. */
.hero-photo img{height:100%}

/* Tres recuerdos con aire y órbitas desfasadas. */
.memory-universe{max-width:1100px}.memory-grid{max-width:1040px;gap:35px;align-items:center}.memory-grid figure{width:30%;flex:0 0 30%}.memory-grid figure:nth-child(3){animation:memory-orbit-a 21s ease-in-out infinite;animation-delay:-7s}.memory-grid figure:hover{animation-play-state:paused}.memory-grid figure:nth-child(3) img{object-position:52% 45%}
@media(max-width:700px){.memory-grid{gap:48px}.memory-grid figure{width:82%;flex:auto}.memory-grid figure:nth-child(3){animation-duration:21s}}

/* Cuatro recuerdos: composición orbital en dos filas, sin miniaturizar fotos. */
.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:750px;gap:65px 65px;padding:15px 25px}.memory-grid figure{width:100%;max-width:none}.memory-grid figure:nth-child(4){animation:memory-orbit-b 23s ease-in-out infinite;animation-delay:-9s}.memory-grid figure:nth-child(4) img{object-position:50% 25%}.memory-grid figure:hover{animation-play-state:paused}
@media(max-width:700px){.memory-grid{display:flex;flex-direction:column;gap:48px;padding:0}.memory-grid figure{width:82%;max-width:300px}}
