@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#171714;--cream:#f1eadc;--gold:#d8b887;--muted:#b5aa99}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:30px 6%;font-size:12px;letter-spacing:.2em}.brand{font-family:Georgia,serif;font-size:19px}.brand span{color:var(--gold);margin:0 5px}.switch{display:flex;gap:8px;align-items:center}.switch button{border:0;background:none;color:#aaa;cursor:pointer;padding:8px}.switch button[aria-pressed=true]{color:white}.hero{min-height:790px;height:100svh;position:relative;display:flex;align-items:end}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,13,.8),rgba(14,14,13,.15) 75%),linear-gradient(0deg,rgba(14,14,13,.75),transparent 55%)}.hero-copy{position:relative;margin:0 10% 12vh;max-width:800px}.eyebrow,.chapter-head>p:first-of-type{font-size:10px;letter-spacing:.26em;color:var(--gold);font-weight:600}.hero h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:.95;letter-spacing:-.025em}.hero h1{font-size:clamp(72px,10vw,150px);margin:28px 0}.hero h1 em,h2 em{font-weight:400;color:var(--gold)}.lead{font-size:16px;line-height:1.8;max-width:400px}.hero-link,.closing a{display:inline-block;margin-top:35px;font-size:10px;letter-spacing:.2em;border-bottom:1px solid var(--gold);padding-bottom:12px}.vertical{position:absolute;right:4%;bottom:12%;writing-mode:vertical-rl;letter-spacing:.22em;font-size:9px;color:#eee}.intro,.closing{text-align:center;max-width:750px;margin:auto;padding:150px 24px}.intro h2,.closing h2{font-size:clamp(52px,7vw,92px);margin:35px 0}.intro>p:last-child,.closing>p:not(.eyebrow):not(.signature){font-size:15px;line-height:2;color:#c9c0b3;max-width:570px;margin:auto}.chapter{padding:100px 8% 110px}.chapter.light{background:#e9e2d5;color:#292824}.chapter.light .desc{color:#655e54}.chapter.light h2 em{color:#a2774c}.chapter-head{max-width:690px;margin-bottom:65px}.chapter-head>span{font-size:10px;letter-spacing:.2em;color:#9d917e}.chapter-head>p:first-of-type{margin:30px 0 20px}.chapter h2{font-size:clamp(58px,7vw,105px);margin:0}.desc{color:#bcb3a6;line-height:1.9;font-size:14px;max-width:470px;margin:28px 0 0}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:stretch}.gallery figure{margin:0;overflow:hidden;background:#34312c;grid-column:span 4;height:420px}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.gallery figure:hover img{transform:scale(1.035)}.g1 figure:first-child{grid-column:span 5}.g1 figure:nth-child(2){grid-column:span 3}.g2 figure:first-child{grid-column:span 6}.g2 figure:nth-child(2),.g2 figure:nth-child(3){grid-column:span 3}.g2 figure:nth-child(n+4){grid-column:span 4}.g3 figure:first-child{grid-column:span 6}.g3 figure:nth-child(2),.g3 figure:nth-child(3){grid-column:span 3}.g3 figure:nth-child(n+4){grid-column:span 3}blockquote{text-align:center;margin:110px auto 0;max-width:750px}blockquote p{font:italic clamp(26px,3.2vw,43px)/1.2 'Cormorant Garamond',Georgia,serif;margin:0 0 24px}cite{font-style:normal;font-size:9px;letter-spacing:.2em;color:#ad906b}.closing{padding-top:170px;padding-bottom:140px}.signature{font:italic 30px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--gold);margin:55px 0 0}footer{border-top:1px solid #4b473f;display:flex;justify-content:space-between;padding:30px 8%;font-size:9px;letter-spacing:.15em;color:#9d9588}@media(max-width:700px){.hero{min-height:650px}.hero-copy{margin:0 8% 13vh}.hero>img{object-position:55% center}.hero h1{font-size:70px}.vertical{display:none}.intro,.closing{padding:100px 25px}.chapter{padding:80px 6%}.chapter-head{margin-bottom:40px}.gallery{gap:9px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4){grid-column:span 6;height:270px}.gallery figure:first-child{grid-column:span 12!important;height:390px}blockquote{margin-top:75px}footer{gap:20px;line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}
@media(max-width:700px){.hero-copy{width:84%;max-width:84%}.hero h1{font-size:clamp(42px,12vw,64px);overflow-wrap:anywhere}.hero .lead{font-size:14px}.chapter h2{font-size:clamp(48px,10vw,68px)}}
/* Las fotografías mantienen sus proporciones originales. */
.gallery{display:block;columns:3;column-gap:18px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4){display:inline-block;width:100%;height:auto;margin:0 0 18px;break-inside:avoid;cursor:zoom-in;background:transparent}.gallery img{width:100%;height:auto;object-fit:contain}.gallery figure:focus-visible{outline:3px solid #c29b6b;outline-offset:4px}.gallery-hint{font-size:10px!important;letter-spacing:.18em;color:#b99872!important;margin:35px auto 20px!important}.music-trigger{border:1px solid #ddc5a4;color:#fff;background:rgba(20,20,18,.55);padding:14px 18px;margin-top:20px;font-size:10px;letter-spacing:.15em;cursor:pointer}.hero-link{margin-top:25px}.music-panel{padding:60px 8%;background:#25231e}.music-panel[hidden]{display:none}.music-heading{display:flex;justify-content:space-between;gap:25px}.music-heading h2{font-size:clamp(40px,5vw,70px);margin:14px 0}.music-heading h2 span{font-size:.45em;color:#ceb99d}.music-heading p:not(.eyebrow){color:#c4b9a9;font-size:14px}.music-heading button{align-self:start;color:#eee;background:none;border:0;cursor:pointer;letter-spacing:.12em;font-size:11px}.music-panel iframe{width:100%;max-width:900px;aspect-ratio:16/9;border:0;margin-top:25px}.music-panel>a{display:block;margin-top:20px;font-size:10px;letter-spacing:.15em}.lightbox{border:0;padding:20px;background:#141412;color:#f5eee4;width:100vw;max-width:none;height:100dvh;max-height:none}.lightbox::backdrop{background:rgba(0,0,0,.92)}.lightbox-bar{height:45px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.15em;font-size:11px;color:#d9c6aa}.lightbox button{background:none;border:0;color:white;cursor:pointer}.lightbox-bar button{font-size:38px;line-height:1}.lightbox-view{height:calc(100% - 95px);display:flex;align-items:center;justify-content:center;gap:16px}.lightbox-view img{max-width:calc(100% - 120px);max-height:100%;object-fit:contain}.lightbox-view button{font:50px Georgia,serif;padding:10px}.lightbox p{text-align:center;color:#b9ad9d;font-size:12px}.hero>img{object-position:center 35%}@media(max-width:700px){.gallery{columns:2;column-gap:10px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4),.gallery figure:first-child{height:auto!important;margin-bottom:10px}.hero>img{object-fit:contain;object-position:center top;background:#191b18}.hero{min-height:700px;height:100svh}.shade{background:linear-gradient(0deg,#171714 6%,rgba(23,23,20,.78) 42%,rgba(23,23,20,.08) 80%)}.hero-copy{margin-bottom:9vh}.lightbox{padding:12px}.lightbox-view{gap:0}.lightbox-view img{max-width:calc(100% - 68px)}.lightbox-view button{font-size:36px;padding:5px}.music-heading{display:block}.music-heading button{margin-top:15px}}
.music-panel iframe{aspect-ratio:auto;height:152px;border-radius:12px}
.playlist-label{margin:42px 0 14px;color:#d7b78c;font-size:10px;letter-spacing:.18em}.song-list{max-width:900px;border-top:1px solid #514a40}.song-list a{display:grid;grid-template-columns:45px 1fr 25px;align-items:center;gap:10px;padding:17px 8px;border-bottom:1px solid #514a40;transition:background .2s}.song-list a:hover,.song-list a:focus-visible{background:#38342e}.song-list a>span{font-size:11px;color:#c1a583}.song-list strong{font-weight:500;font-size:15px}.song-list small{display:block;color:#a9a096;font-size:12px;font-weight:400;margin-top:5px}.music-note{color:#a9a096;font-size:12px;margin-top:22px}.timeline{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;padding:26px 6%;border-block:1px solid #4b473f}.timeline>span{font-size:10px;letter-spacing:.18em;color:#c5a578}.timeline a{font-size:10px;color:#c5a578;letter-spacing:.1em}.timeline b{font-size:12px;font-weight:400;color:#e6dfd4;margin-left:5px}.timeline a:hover b{text-decoration:underline}.letter-open{margin-top:45px;color:#e6d4bc;border:1px solid #9a8367;background:transparent;cursor:pointer;padding:15px 18px;font-size:10px;letter-spacing:.15em}.letter{margin:30px auto 0;padding:30px;max-width:500px;border:1px solid #625647;background:#25231f}.letter[hidden]{display:none}.letter p{font:italic 25px/1.4 'Cormorant Garamond',Georgia,serif;color:#eadbca;margin:0}.lightbox-bar #slideshow{font-size:10px;letter-spacing:.12em;padding:12px;color:#dfc8a7}.lightbox-bar #photo-count{min-width:65px}.lightbox-bar #photo-close{margin-left:auto}@media(max-width:700px){.timeline{gap:16px;justify-content:flex-start}.timeline>span{width:100%}.song-list a{grid-template-columns:30px 1fr 20px}.lightbox-bar #slideshow{font-size:9px;letter-spacing:.04em}}
/* Álbum de recuerdos: fotografías completas, marcos y composición de collage. */
.music-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:36px}.music-card{min-width:0}.music-panel .music-card iframe{display:block;width:100%;height:152px;margin:0;border:0;border-radius:12px}.music-heading h2 em{color:var(--gold)}.gallery{columns:3;column-gap:24px;padding:22px 6px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4){padding:9px 9px 4px;background:#eee9de;color:#55493b;box-shadow:0 12px 24px #0003;margin-bottom:27px;transform:rotate(-1deg);transition:transform .25s,box-shadow .25s}.gallery figure:nth-child(3n+2){transform:rotate(1.2deg);background:#f8f3e9}.gallery figure:nth-child(3n){transform:rotate(-.35deg);background:#e2d9c9}.gallery figure:hover,.gallery figure:focus-visible{transform:rotate(0) translateY(-5px);box-shadow:0 18px 34px #0005}.gallery figure:hover img{transform:none}.gallery figcaption{display:flex;align-items:center;justify-content:space-between;padding:9px 4px 6px;font-size:10px;letter-spacing:.18em;color:#8a7259}.gallery figcaption span{font-size:13px}.chapter.light .gallery figure{box-shadow:0 10px 24px #5b4e3e30}@media(max-width:700px){.music-grid{grid-template-columns:1fr}.gallery{columns:2;column-gap:15px;padding:12px 3px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4),.gallery figure:first-child{padding:6px 6px 3px;margin-bottom:17px!important}.gallery figcaption{padding:6px 3px 4px}}
.welcome{position:fixed;inset:0;z-index:20;display:grid;place-items:center;text-align:center;background:radial-gradient(ellipse at 50% 36%,#514134,#211d19 52%,#141412 100%);padding:25px;transition:opacity .7s,visibility .7s}.welcome.is-open{opacity:0;visibility:hidden;pointer-events:none}.welcome-inner{max-width:760px}.welcome-star{display:block;color:#e6c89a;font-size:38px;margin-bottom:25px}.welcome h1{font:400 clamp(60px,8vw,110px)/.98 'Cormorant Garamond',Georgia,serif;margin:25px 0}.welcome h1 em{color:#dfbd8d;font-weight:400}.welcome-inner>p:not(.eyebrow){color:#e1d6c9;line-height:1.8;font-size:15px}.welcome button,.surprise-copy button{margin-top:26px;border:1px solid #e2c394;background:#e2c394;color:#29211c;padding:17px 26px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.18em;cursor:pointer}.welcome button:hover,.surprise-copy button:hover{background:#f4dfbd}.welcome-date{display:block;margin:50px auto 0;font-size:10px;color:#bfab8f;letter-spacing:.3em}.confetti-layer{position:fixed;inset:0;overflow:hidden;z-index:50;pointer-events:none}.confetti-piece{position:absolute;top:-20px;width:8px;height:13px;background:#dfba84;animation:confetti-fall 3.6s ease-in forwards}@keyframes confetti-fall{to{transform:translate3d(var(--drift),105vh,0) rotate(680deg);opacity:.2}}.birthday-surprise{background:#e9dfd0;color:#312820;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:110px 10%}.birthday-surprise .eyebrow,.little-moments .eyebrow{color:#a4774d}.surprise-copy h2,.little-moments h2{font-size:clamp(58px,7vw,100px);margin:25px 0}.surprise-copy h2 em,.little-moments h2 em{color:#a77552}.surprise-copy>p:not(.eyebrow){max-width:380px;line-height:1.8;color:#6c5e53;font-size:15px}.surprise-copy .wish-message{font:italic 28px/1.25 'Cormorant Garamond',Georgia,serif!important;color:#8d5f43!important;margin-top:30px}.wish-message[hidden]{display:none}.cake-scene{position:relative;min-height:390px;display:grid;place-items:center}.cake{width:260px;position:relative;padding-top:95px}.candles{height:85px;display:flex;justify-content:center;gap:37px;align-items:end}.candles i{width:12px;height:60px;background:repeating-linear-gradient(45deg,#e9b3a6 0 5px,#fff5e8 5px 10px);position:relative;border-radius:3px}.candles b{position:absolute;left:0;top:-27px;width:12px;height:22px;background:#df9862;border-radius:80% 10% 70% 30%;transform:rotate(45deg);box-shadow:0 0 20px #e6a86b;animation:flame 1s ease-in-out infinite alternate}.candles.is-out b{opacity:0;animation:none}@keyframes flame{to{transform:rotate(50deg) scale(.8)}}.cake-body{height:140px;background:#c8877a;border-radius:10px 10px 18px 18px;display:grid;place-items:center;color:#f7dfd1;letter-spacing:.2em;font-size:18px}.icing{height:28px;background:#f8e8d9;border-radius:50% 50% 30% 30%;margin-bottom:-15px;position:relative;z-index:1}.plate{height:14px;background:#b99571;border-radius:50%;margin:-3px -25px 0}.sparkle{position:absolute;color:#c79b6a;font-size:35px}.sparkle-a{top:20%;left:15%}.sparkle-b{top:13%;right:14%;font-size:48px}.sparkle-c{bottom:19%;right:10%}.cake-caption{position:absolute;bottom:10px;font-size:9px;letter-spacing:.22em;color:#9b8069}.little-moments{padding:130px 8%;text-align:center;background:#24211d}.memory-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1050px;margin:60px auto 0;text-align:left}.memory-card{min-height:230px;padding:30px;text-align:left;background:#efe7da;color:#372d27;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:18px;transition:transform .25s}.memory-card:nth-child(2){background:#d9c3b4;transform:translateY(15px)}.memory-card:nth-child(3){background:#ded5c3}.memory-card:hover{transform:translateY(-5px)}.memory-card>span:first-child{font-size:11px;letter-spacing:.2em;color:#9d7155}.memory-card strong{font:400 34px 'Cormorant Garamond',Georgia,serif}.memory-card .memory-detail{font-size:13px;line-height:1.7;color:#67564a}.memory-card .memory-detail[hidden]{display:none}.memory-card small{font-size:9px;letter-spacing:.13em;margin-top:auto;color:#92735d}@media(max-width:700px){.welcome h1{font-size:clamp(50px,12vw,70px)}.birthday-surprise{grid-template-columns:1fr;padding:80px 7%;gap:15px}.cake-scene{min-height:350px}.little-moments{padding:85px 7%}.little-moments h2{font-size:55px}.memory-cards{grid-template-columns:1fr;gap:12px;margin-top:40px}.memory-card,.memory-card:nth-child(2){transform:none;min-height:170px}.memory-card:hover{transform:none}}@media(prefers-reduced-motion:reduce){.candles b{animation:none}.welcome,.memory-card{transition:none}.confetti-piece{animation-duration:.01ms}}
[hidden]{display:none!important}.welcome-languages{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 25px;color:#c1b09d;font-size:11px}.welcome .welcome-languages button{margin:0;padding:8px;background:transparent;border:0;color:#aa9c8b;letter-spacing:.12em}.welcome .welcome-languages button[aria-pressed=true]{color:#fff;border-bottom:1px solid #dcb888}.welcome button:focus-visible,.memory-card:focus-visible,.surprise-copy button:focus-visible,.switch button:focus-visible,.lightbox button:focus-visible,.music-heading button:focus-visible{outline:3px solid #d8aa73;outline-offset:3px}@media(max-width:700px){.welcome-languages{margin-bottom:12px}.welcome-star{margin-bottom:12px}.welcome-date{margin-top:25px}.welcome h1{font-size:clamp(43px,10vw,64px)}.welcome-inner>p:not(.eyebrow){font-size:14px}.welcome button{margin-top:16px}}
/* Controles de exploración y orden visual de los recuerdos. */
.journey-actions{text-align:center;padding:0 24px 45px}.journey-actions button{background:#d4b189;color:#211b17;border:1px solid #d4b189;padding:16px 22px;letter-spacing:.13em;font:600 10px 'DM Sans',sans-serif;cursor:pointer}.journey-actions button:hover{background:#f0d4ae}.journey-actions span{display:block;margin-top:14px;color:#a89b89;font-size:12px}.journey-actions button:focus-visible{outline:3px solid #d8aa73;outline-offset:4px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4){display:block;margin:0;width:100%;grid-column:auto}.gallery figure:nth-child(3n+2){margin-top:20px}.lightbox-view{touch-action:pan-y}.surprise-copy #candles-reset{background:transparent;color:#75553d;border-color:#a88668}.surprise-copy #candles-reset:hover{background:#f5eade}@media(max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4),.gallery figure:first-child{grid-column:auto!important;margin:0!important}.gallery figure:nth-child(even){margin-top:14px!important}}
.film-trigger{border:1px solid #d8b887;color:#fff;background:rgba(20,20,18,.55);padding:14px 18px;margin:20px 0 0 10px;font-size:10px;letter-spacing:.15em;cursor:pointer}.film-trigger:hover,.music-trigger:hover{background:#f1dfc7;color:#29211c}.film-trigger:focus-visible,.photo-footer button:focus-visible{outline:3px solid #d8aa73;outline-offset:3px}.photo-footer{height:90px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.photo-footer p{margin:0;font-size:12px;line-height:1.3}.photo-progress{width:min(340px,65vw);height:2px;background:#51483b}.photo-progress span{height:100%;display:block;background:#d9b784;transition:width .25s}.photo-footer button{font-size:9px;letter-spacing:.13em;color:#d9c2a0;padding:5px}.lightbox-view{height:calc(100% - 140px)}@media(max-width:700px){.film-trigger{display:block;margin:10px 0 0}.hero-copy{margin-bottom:5vh}.hero-link{margin-top:18px}.photo-footer p{font-size:11px}}
/* Un libro de recuerdos que se puede escribir y guardar. */
.guestbook{position:relative;overflow:hidden;padding:135px 9%;background:#e8dcd0;color:#3b302a;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px}.guestbook:before{content:'';position:absolute;right:4%;top:40px;color:#c9a787;font-size:65px;opacity:.55}.guestbook-heading{max-width:480px}.guestbook .eyebrow{color:#946d50}.guestbook h2{font-size:clamp(58px,6vw,92px);margin:25px 0}.guestbook h2 em{color:#aa765a}.guestbook-heading>p:last-child{color:#6d5d52;line-height:1.9;max-width:360px}.guestbook form{background:#fbf7ef;padding:32px;box-shadow:0 18px 45px #6a493020;transform:rotate(.5deg);align-self:start}.guestbook label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#826851;margin-bottom:13px}.guestbook textarea{width:100%;resize:vertical;min-height:150px;padding:15px;border:1px solid #cfbdae;background:#fffdf8;color:#382d27;font:16px/1.6 'DM Sans',sans-serif;border-radius:0}.guestbook textarea:focus{outline:2px solid #a97755;outline-offset:2px}.guest-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.guest-actions button,.guest-entry button{border:1px solid #956e53;background:#956e53;color:#fffaf4;padding:14px 17px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.1em;cursor:pointer}.guest-actions button+button,.guest-entry button{background:transparent;color:#70513d}.guest-privacy{font-size:12px;line-height:1.6;color:#705f51;margin:20px 0 0}.guestbook #guest-status{font-size:13px;color:#735139;min-height:1em}.guestbook #guest-entries{grid-column:2;display:grid;gap:14px;margin-top:-25px}.guest-entry{background:#fbf7ef;padding:22px 28px;border-left:3px solid #c69e80}.guest-entry time{display:block;font-size:10px;letter-spacing:.12em;color:#907560}.guest-entry p{font:italic 23px/1.4 'Cormorant Garamond',Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}.guest-entry button{font-size:9px;padding:9px 12px}.hero-copy .eyebrow:before{content:'';font-size:17px;margin-right:12px;color:#e7c390}.hero h1 em{text-shadow:0 0 28px #deb57b35}.journey-actions button{box-shadow:0 8px 30px #bc926125}.journey-actions button:active{transform:scale(.98)}@media(max-width:700px){.guestbook{grid-template-columns:1fr;padding:85px 7%;gap:30px}.guestbook h2{font-size:clamp(48px,10vw,68px)}.guestbook form{padding:22px;transform:none}.guestbook #guest-entries{grid-column:1;margin-top:0}.guestbook:before{font-size:40px}}
.companion{display:grid;grid-template-columns:110px minmax(0,1fr);gap:42px;align-items:start;padding:110px 10%;background:radial-gradient(circle at 14% 30%,#604536 0,#29231e 36%,#1c1a18 80%)}.companion-icon{width:100px;height:100px;border:1px solid #b99876;border-radius:50%;display:grid;place-items:center;font-size:48px;color:#edc995;box-shadow:0 0 55px #e4b17e24;animation:guide-glow 4s ease-in-out infinite alternate}.companion h2{font-size:clamp(52px,6vw,88px);margin:26px 0}.companion p:not(.eyebrow){font-size:14px;line-height:1.8;color:#d5c5b5;max-width:530px;min-height:3em}.companion-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.companion-actions button,.companion-actions a{border:1px solid #aa8967;background:transparent;color:#f1ddc5;padding:15px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.1em;cursor:pointer}.companion-actions button:hover,.companion-actions a:hover{background:#e4c49d;color:#2e241b}.companion-actions button:focus-visible,.companion-actions a:focus-visible{outline:3px solid #e4c49d;outline-offset:3px}@keyframes guide-glow{to{box-shadow:0 0 70px #e4b17e50;transform:rotate(15deg)}}@media(max-width:700px){.companion{grid-template-columns:1fr;padding:80px 7%;gap:24px}.companion-icon{width:70px;height:70px;font-size:34px}.companion h2{font-size:clamp(43px,9vw,62px)}.companion-actions{display:grid;grid-template-columns:1fr}.companion-actions button,.companion-actions a{text-align:center}}@media(prefers-reduced-motion:reduce){.companion-icon{animation:none}}
.memory-game{background:#302623;color:#f5eee5;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:55px;align-items:center;padding:120px 9%;overflow:hidden}.memory-game-intro h2{font-size:clamp(57px,6vw,96px);margin:25px 0}.memory-game-intro>p:not(.eyebrow){max-width:390px;line-height:1.8;color:#d6c5b7;font-size:14px}.memory-game-intro #game-status{min-height:3em;color:#e6c398;font-size:13px;margin-top:20px}.memory-game-intro button{background:#dfbf9a;border:1px solid #dfbf9a;color:#31251f;padding:16px 20px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.14em;cursor:pointer;margin-top:15px}.memory-game-intro button:hover{background:#f5dfc3}.game-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;max-width:650px}.game-card{position:relative;aspect-ratio:4/5;border:1px solid #b99373;background:linear-gradient(145deg,#775d50,#4b3931);border-radius:3px;overflow:hidden;cursor:pointer;padding:0;box-shadow:0 8px 18px #140d0b45;transition:transform .2s,box-shadow .2s}.game-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 22px #140d0b70}.game-card:focus-visible,.memory-game-intro button:focus-visible{outline:3px solid #f4d8a7;outline-offset:3px}.game-card img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s}.game-card.is-open img,.game-card.is-matched img{opacity:1}.game-card.is-matched{border:3px solid #f1cf99}.game-card:disabled{cursor:default}.game-card .card-mark{position:absolute;inset:0;display:grid;place-items:center;font:34px Georgia,serif;color:#e8c49a}.game-card .card-mark:after{content:'B · J';position:absolute;bottom:15%;font:9px 'DM Sans',sans-serif;letter-spacing:.2em}.game-card.is-open .card-mark,.game-card.is-matched .card-mark{opacity:0}@media(max-width:700px){.memory-game{grid-template-columns:1fr;padding:85px 7%;gap:30px}.memory-game-intro h2{font-size:clamp(47px,10vw,65px)}.game-board{gap:7px}.game-card .card-mark{font-size:25px}.game-card .card-mark:after{font-size:8px}}@media(prefers-reduced-motion:reduce){.game-card,.game-card img{transition:none}}
.game-card img{object-fit:contain;background:#f1e8dc}
/* Película corta con textos y fotografías completas. */
.story-dialog{padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#151411;color:#f7ede0}.story-dialog::backdrop{background:#000d}.story-stage{position:relative;width:100%;height:100%;overflow:hidden;background:#171614}.story-stage>img{width:100%;height:100%;object-fit:contain;display:block}.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,15,.78) 0,rgba(17,16,15,.25) 70%),linear-gradient(0deg,rgba(17,16,15,.88) 0,transparent 70%);pointer-events:none}.story-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px 6%;font-size:11px;letter-spacing:.2em}.story-top button{border:0;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer}.story-content{position:absolute;bottom:8%;left:8%;right:8%;max-width:820px}.story-content #story-text{font:italic clamp(31px,4.3vw,57px)/1.12 'Cormorant Garamond',Georgia,serif;color:#fff5e8;margin:20px 0 25px;text-shadow:0 2px 15px #000b}.story-controls{display:flex;align-items:center;gap:12px}.story-controls button{border:1px solid #dbc19d;color:#fff;background:#171512ad;min-height:46px;padding:10px 18px;cursor:pointer;font:600 10px 'DM Sans',sans-serif;letter-spacing:.12em}.story-controls button:first-child,.story-controls button:last-child{font-size:19px}.story-controls button:hover{background:#f2ddbc;color:#2b221b}.story-controls button:focus-visible,.story-top button:focus-visible{outline:3px solid #e4c49d;outline-offset:3px}.story-progress{height:3px;max-width:400px;background:#ffffff55;margin:22px 0 12px}.story-progress span{display:block;height:100%;background:#e7c795;transition:width .3s}.story-music-note{font-size:11px;color:#dfd0bd;line-height:1.5}.letter p+p{margin-top:22px}@media(max-width:700px){.story-content{left:7%;right:7%;bottom:6%}.story-stage>img{object-fit:contain;object-position:center 30%}.story-shade{background:linear-gradient(0deg,#171614 4%,rgba(23,22,20,.84) 40%,rgba(23,22,20,.15) 75%)}.story-content #story-text{font-size:clamp(29px,7vw,42px)}.story-top{padding:18px 5%}.story-music-note{font-size:10px}.story-controls button{min-height:44px}}@media(prefers-reduced-motion:reduce){.story-progress span{transition:none}}
/* Sobres con palabras compartidas, desplegables sin depender de JavaScript. */
.our-words{background:#eee5da;color:#302923;padding:115px 8%;overflow:hidden}.words-intro{text-align:center;max-width:760px;margin:auto}.words-intro .eyebrow{color:#a47653}.words-intro h2{font-size:clamp(55px,6.5vw,90px);margin:25px 0}.words-intro h2 em{color:#a87759}.words-intro>p:last-child{max-width:550px;margin:0 auto;color:#716156;line-height:1.9;font-size:14px}.words-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;max-width:1200px;margin:55px auto 0}.word-envelope{background:#fbf7ef;box-shadow:0 14px 36px #5c3c2b20;position:relative;min-width:0;transition:transform .25s}.word-envelope:nth-child(2){background:#e4cfc1;transform:translateY(18px)}.word-envelope:nth-child(3){background:#e7ddce}.word-envelope summary{list-style:none;min-height:215px;padding:25px;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer}.word-envelope summary::-webkit-details-marker{display:none}.word-envelope summary:focus-visible{outline:3px solid #93684e;outline-offset:4px}.envelope-number{font-size:10px;letter-spacing:.14em;color:#8b6d58}.envelope-icon{font-size:30px;color:#af7f61;margin:20px 0 12px}.word-envelope strong{font:400 31px/1.05 'Cormorant Garamond',Georgia,serif}.envelope-invitation{font-size:9px;letter-spacing:.13em;color:#8b6d58;margin-top:auto;padding-top:20px}.word-envelope[open] .envelope-invitation{opacity:.65}.word-inside{border-top:1px solid #bfa998;padding:25px}.word-inside blockquote{text-align:left;margin:0;font:italic 29px/1.2 'Cormorant Garamond',Georgia,serif}.word-inside p{font-size:9px;letter-spacing:.12em;color:#8b6d58;margin:15px 0 25px}.word-inside p:last-child{margin-bottom:0}@media(max-width:700px){.our-words{padding:80px 7%}.words-grid{grid-template-columns:1fr;gap:12px;margin-top:38px}.word-envelope:nth-child(2){transform:none}.word-envelope summary{min-height:150px}.envelope-icon{margin:12px 0 8px}.word-envelope strong{font-size:28px}}
/* Álbum con composiciones variadas y fotografías sin recorte. */
.gallery{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2.2vw,30px);align-items:start;padding:30px 10px 42px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4){grid-column:span 4;display:block;width:100%;height:auto;padding:10px 10px 7px;margin:0!important;background:#f5efe5;transform:rotate(-1.6deg);box-shadow:0 15px 35px #09070655;position:relative;z-index:1;transition:transform .3s,box-shadow .3s}.gallery figure:nth-child(6n+1),.gallery figure:nth-child(6n+6){grid-column:span 5;transform:rotate(-2deg)}.gallery figure:nth-child(6n+2),.gallery figure:nth-child(6n+4){grid-column:span 4;transform:rotate(1.4deg);margin-top:32px!important}.gallery figure:nth-child(6n+3),.gallery figure:nth-child(6n+5){grid-column:span 3;transform:rotate(-1deg);margin-top:55px!important}.gallery figure:nth-child(4n+2){background:#e8dacc}.gallery figure:nth-child(5n){background:#f9f4e8}.gallery figure:nth-child(6n+1):before,.gallery figure:nth-child(6n+4):before{content:'';position:absolute;z-index:2;top:-10px;left:38%;width:26%;height:20px;background:#dfc8a0aa;transform:rotate(-4deg);box-shadow:0 1px 3px #563d2922;pointer-events:none}.gallery figure:nth-child(6n+3):after{content:'';position:absolute;right:-12px;bottom:12px;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#b88771;color:#fff7ed;font-size:18px;box-shadow:0 4px 12px #0003;pointer-events:none}.gallery img{width:100%;height:auto;object-fit:contain}.gallery figure:hover,.gallery figure:focus-visible{transform:rotate(0) translateY(-6px);z-index:3;box-shadow:0 22px 45px #09070670}.gallery figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px 5px 8px;color:#826a55;font-size:10px;letter-spacing:.1em}.gallery .scrap-mark{font-size:14px;color:#b47e5d}.gallery .scrap-date{font:italic 18px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:0;text-align:center;color:#765b49}.gallery .scrap-number{font-size:9px;letter-spacing:.16em}.chapter.light .gallery figure{box-shadow:0 14px 32px #6e514330}.chapter-undated .gallery figure{background:#f2e9dc}@media(max-width:700px){.gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:15px 11px;padding:20px 4px 32px}.gallery figure,.g1 figure:first-child,.g1 figure:nth-child(2),.g2 figure:first-child,.g2 figure:nth-child(2),.g2 figure:nth-child(3),.g2 figure:nth-child(n+4),.g3 figure:first-child,.g3 figure:nth-child(2),.g3 figure:nth-child(3),.g3 figure:nth-child(n+4),.gallery figure:first-child{grid-column:span 6!important;margin:0!important;padding:6px 6px 4px}.gallery figure:nth-child(4n+1),.gallery figure:nth-child(4n+4){grid-column:span 7!important}.gallery figure:nth-child(4n+2),.gallery figure:nth-child(4n+3){grid-column:span 5!important;margin-top:16px!important}.gallery figcaption{padding:8px 2px 5px;gap:5px}.gallery .scrap-date{font-size:14px}.gallery figure:nth-child(6n+1):before,.gallery figure:nth-child(6n+4):before{height:13px;top:-7px}.gallery figure:nth-child(6n+3):after{width:25px;height:25px;right:-7px;font-size:14px}}@media(prefers-reduced-motion:reduce){.gallery figure{transition:none}}
/* Un recuerdo en movimiento, sin reproducción automática. */
.moving-memory{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:clamp(35px,8vw,120px);align-items:center;padding:115px 12%;background:radial-gradient(circle at 80% 38%,#513547,#272027 45%,#191819 100%);color:#f6ede3}.moving-copy{max-width:550px}.moving-copy h2{font-size:clamp(58px,7vw,100px);margin:28px 0}.moving-copy>p:not(.eyebrow):not(.moving-note){color:#ded0c8;line-height:1.9;font-size:15px;max-width:420px}.moving-copy .moving-note{margin-top:35px;color:#d5b394;letter-spacing:.18em;font-size:10px}.moving-frame{justify-self:center;width:min(100%,330px);padding:10px 10px 25px;background:#eee1d7;transform:rotate(2deg);box-shadow:0 25px 55px #0007}.moving-frame video{width:100%;display:block;aspect-ratio:9/16;object-fit:contain;background:#171219}.moving-frame:after{content:'    ';display:block;text-align:center;letter-spacing:.4em;color:#a17c6c;font-size:12px;margin-top:15px}@media(max-width:700px){.moving-memory{grid-template-columns:1fr;padding:85px 8%;gap:35px}.moving-copy h2{font-size:clamp(48px,11vw,68px)}.moving-frame{width:min(88%,300px);transform:rotate(1deg)}}@media(prefers-reduced-motion:reduce){.moving-frame{transform:none}}
/* Un recorrido continuo desde la canción hasta el cierre. */
.music-continue{margin:30px 0 10px;padding:20px 24px;border-left:2px solid #d4b18b;background:#ffffff09}.music-continue p{color:#d7c7b8;font-size:13px;line-height:1.6;margin:0 0 14px}.music-continue button,.story-finish button{border:1px solid #d8b98e;background:#d8b98e;color:#29211b;padding:13px 17px;cursor:pointer;font:600 10px 'DM Sans',sans-serif;letter-spacing:.11em}.music-continue button:hover,.story-finish button:hover{background:#f2dfc1}.music-continue button:focus-visible,.story-finish button:focus-visible{outline:3px solid #f1d8af;outline-offset:3px}.story-finish{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.story-finish button+button{background:#211b18b5;color:#f4e8d9}.story-finish button+button:hover{background:#f2dfc1;color:#29211b}@media(max-width:700px){.story-finish{gap:7px;margin-top:12px}.story-finish button{padding:10px;font-size:9px}.story-content{bottom:4%}.story-content #story-text{margin:13px 0 16px}.story-progress{margin:14px 0 8px}}
.moving-copy .moving-audio-hint{font-size:12px!important;line-height:1.6!important;color:#d8c7bc!important;max-width:390px;margin-top:15px}
.music-fallback{display:inline-block;padding:10px 4px;color:#d8c0a6;font-size:9px;letter-spacing:.12em}.music-fallback:hover{text-decoration:underline;color:#fff}.music-fallback:focus-visible{outline:3px solid #d8aa73;outline-offset:2px}
/* Una portada con el carácter de un regalo: fotografía, papel y luz. */
.welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;justify-items:center;gap:3vw;overflow-y:auto;padding:5vh 7%;background:radial-gradient(circle at 78% 38%,#8c5860 0,#5a323b 32%,#281c22 76%,#1d171c 100%)}
.welcome-inner{position:relative;z-index:2;text-align:left;max-width:620px;width:100%;padding:2vh 0}.welcome-languages{justify-content:flex-start;margin-bottom:clamp(18px,4vh,50px)}.welcome-star{color:#efc0ae;margin-bottom:20px}.welcome .eyebrow{color:#e8c4ae}.welcome h1{font-size:clamp(58px,6.8vw,104px);line-height:.94;margin:20px 0 25px}.welcome h1 em{color:#f0bdad}.welcome-inner>p:not(.eyebrow){color:#f3e1da;max-width:370px}.welcome #open-gift{background:#edc3b2;border-color:#edc3b2;color:#40242c;padding:18px 25px;box-shadow:0 12px 32px #140a1238;transition:transform .2s,background .2s}.welcome #open-gift:hover{transform:translateY(-3px);background:#f8dbca}.welcome-date{margin:clamp(24px,5vh,58px) 0 0;color:#e0b9a3;letter-spacing:.24em}.welcome-date span{margin:0 8px;color:#fae3d5}.cover-art{position:relative;z-index:1;width:min(100%,570px);height:min(75vh,680px);min-height:420px}.cover-photo{position:absolute;background:#f2e7dd;box-shadow:0 25px 55px #160b1280;padding:10px 10px 30px}.cover-photo img{width:100%;height:100%;object-fit:contain;display:block;background:#37282c}.cover-photo-main{width:75%;height:76%;top:8%;right:8%;transform:rotate(5deg)}.cover-photo-small{width:43%;height:43%;bottom:0;left:2%;padding:8px 8px 25px;transform:rotate(-9deg);z-index:2}.cover-stamp{position:absolute;z-index:3;top:1%;left:0;display:grid;place-items:center;width:93px;height:93px;border-radius:50%;background:#edc4b2;color:#623e42;font:26px 'Cormorant Garamond',Georgia,serif;transform:rotate(-13deg);box-shadow:0 8px 25px #25101755}.cover-stamp i{font-size:17px;font-style:normal;color:#a35a69}.cover-handwriting{position:absolute;z-index:3;right:3%;bottom:5%;color:#f3d5c4;font:italic 34px 'Cormorant Garamond',Georgia,serif;transform:rotate(-7deg)}.cover-spark{position:absolute;color:#f1c6a7;font-size:35px;animation:cover-sparkle 3s ease-in-out infinite alternate}.cover-spark-one{top:0;right:0}.cover-spark-two{bottom:36%;left:-3%;font-size:25px;animation-delay:1s}@keyframes cover-sparkle{from{transform:scale(.85) rotate(-10deg);opacity:.55}to{transform:scale(1.1) rotate(15deg);opacity:1}}
.hero{background:radial-gradient(circle at 78% 40%,#4c3940,#251e24 50%,#171719 100%);min-height:760px}.hero>img{inset:auto;right:5%;top:12%;width:53%;height:76%;object-fit:contain;object-position:center;background:transparent;filter:drop-shadow(0 25px 35px #0007)}.hero .shade{background:linear-gradient(90deg,#211a20 0%,#211a20ed 36%,#211a2066 66%,#211a200a 100%),linear-gradient(0deg,#171719b8,transparent 35%)}.hero-copy{width:55%;max-width:720px;margin:0 0 12vh 8%;z-index:2}.hero-edition{display:block;color:#d7ada3;font-size:9px;letter-spacing:.22em;margin-bottom:30px}.hero h1{font-size:clamp(70px,8vw,118px)}.hero h1 em{color:#edb9aa}.hero-photo-accent{position:absolute;right:3%;bottom:8%;width:clamp(120px,15vw,210px);padding:7px 7px 21px;background:#efe1d5;transform:rotate(8deg);box-shadow:0 12px 35px #0007;z-index:1}.hero-photo-accent img{width:100%;height:auto;display:block}.hero-photo-accent span{position:absolute;bottom:1px;right:8px;color:#a86d72;font-size:17px}.hero .vertical{color:#e5bcb0}.music-trigger,.film-trigger{border-color:#e5b7a7;background:#2d2029bd}.music-trigger:hover,.film-trigger:hover{background:#f2d4c5;color:#34222a}
.intro{position:relative}.intro-ornament{display:block;color:#d5aa94;font-size:32px;margin-bottom:26px}.chapter-head>span{display:inline-block;padding:9px 12px;border:1px solid #a57f71;color:#d5b6a4}.chapter.light .chapter-head>span{color:#886958;border-color:#c5ad9f}.chapter h2 em{color:#e8b5a5}.chapter.light h2 em{color:#a96c6b}.timeline{background:#2a2026;border-color:#71545d}.timeline a{padding:7px 0}.companion{background:radial-gradient(circle at 12% 30%,#784b55 0,#3b2931 40%,#211b20 85%)}.companion-icon{color:#f0c0ad;border-color:#d6a899}.our-words{background:#f1e3dd}.word-envelope:nth-child(2){background:#ead2cc}.birthday-surprise{background:#eedcd5}.cake-body{background:#be8187}.little-moments{background:#2d2228}.guestbook{background:#ead9d3}.closing{position:relative}.closing:before{content:'';display:block;color:#d4a692;font-size:32px;margin-bottom:24px}
@media(max-width:700px){.welcome{display:flex;flex-direction:column-reverse;justify-content:center;gap:8px;padding:22px 7%;min-height:0}.welcome-inner{text-align:center;padding:0;max-width:520px}.welcome-languages{justify-content:center;margin:0 0 8px}.welcome-star{display:none}.welcome .eyebrow{font-size:9px}.welcome h1{font-size:clamp(39px,10vw,60px);line-height:.98;margin:11px 0}.welcome-inner>p:not(.eyebrow){margin:8px auto;font-size:13px;line-height:1.45}.welcome #open-gift{margin-top:8px;padding:14px 22px}.welcome-date{margin:13px auto 0;font-size:9px}.cover-art{width:min(74vw,360px);height:clamp(155px,28vh,230px);min-height:0;margin:5px auto}.cover-photo-main{width:70%;height:88%;top:3%;right:11%;padding:5px 5px 15px}.cover-photo-small{width:34%;height:60%;bottom:-3%;left:4%;padding:5px 5px 13px}.cover-stamp{width:47px;height:47px;font-size:16px;top:0;left:0}.cover-stamp i{font-size:11px}.cover-handwriting{font-size:21px;right:2%;bottom:0}.cover-spark{font-size:20px}.hero{min-height:730px;height:auto;display:flex;align-items:flex-end;padding:0 0 55px}.hero>img{top:6%;right:4%;width:92%;height:46%;object-position:center}.hero .shade{background:linear-gradient(0deg,#211a20 6%,#211a20ee 37%,#211a2066 70%,#211a2011 100%)}.hero-copy{width:86%;max-width:none;margin:300px auto 0}.hero-edition{font-size:8px;margin-bottom:17px}.hero h1{font-size:clamp(47px,11vw,70px);margin:20px 0}.hero-photo-accent{width:105px;right:7%;top:30%;bottom:auto}.hero .lead{max-width:330px}.chapter-head>span{padding:7px 10px}.intro-ornament{font-size:27px}}
@media(max-width:380px) and (max-height:700px){.cover-art{height:145px}.welcome h1{font-size:39px}.welcome-inner>p:not(.eyebrow){font-size:12px}.welcome .welcome-languages button{padding:5px}.welcome-date{margin-top:8px}.hero{min-height:690px}.hero-copy{margin-top:290px}}
@media(prefers-reduced-motion:reduce){.cover-spark{animation:none}.welcome #open-gift{transition:none}}
/* El contenido mantiene su orden, con un ritmo visual más editorial. */
.music-panel{background:linear-gradient(135deg,#36242e,#251e25);padding:85px 8%}.music-heading h2 em{color:#efb8ab}.music-grid{gap:18px}.music-card{padding:8px 8px 2px;background:#ffffff0c;border:1px solid #e5c4b01c;border-radius:15px}.music-fallback{padding:10px 6px 12px}.timeline{justify-content:flex-start;gap:10px;padding:25px 8%;background:#35252d}.timeline>span{width:100%;margin-bottom:5px;color:#e5bbae}.timeline a{padding:10px 14px;border:1px solid #ae8581;border-radius:30px;color:#e4c3b7;transition:background .2s,color .2s}.timeline a:hover,.timeline a:focus-visible{background:#f1d1c2;color:#3c2930}.timeline a:hover b,.timeline a:focus-visible b{color:#3c2930;text-decoration:none}.chapter{position:relative;padding-top:120px}.chapter-head{position:relative;max-width:760px}.chapter-head>span{border:0;padding:0;margin-bottom:12px;font:italic 28px 'Cormorant Garamond',Georgia,serif;letter-spacing:0;color:#dcb2a4}.chapter-head:after{content:'';position:absolute;right:3%;top:3%;font-size:32px;color:#bc8f83}.chapter.light .chapter-head>span{border:0;color:#ad7e76}.chapter h2{font-size:clamp(60px,8vw,110px)}.chapter blockquote{position:relative;padding:28px 8%}.chapter blockquote:before{content:'“';display:block;color:#d3a293;font:90px/.6 'Cormorant Garamond',Georgia,serif;margin-bottom:22px}.chapter.light blockquote:before{color:#b88179}.memory-game{background:radial-gradient(circle at 80% 40%,#704651,#34242c 50%,#261e23)}.memory-game .game-card{border-color:#d4a9a1}.guestbook{background:linear-gradient(140deg,#f1e3dc,#e2cbc6)}.guestbook form{box-shadow:0 22px 55px #714c3b30}.story-dialog{background:#251c22}.story-shade{background:linear-gradient(90deg,#22181fcc 0,#21182044 70%),linear-gradient(0deg,#171114e8 0,transparent 70%)}@media(max-width:700px){.music-panel{padding:65px 7%}.timeline{padding:22px 7%;gap:8px}.timeline a{font-size:9px;padding:8px 11px}.chapter{padding-top:85px}.chapter h2{font-size:clamp(48px,10vw,69px)}.chapter-head:after{right:0;font-size:23px}.chapter blockquote{padding:15px 4%}.story-shade{background:linear-gradient(0deg,#1d151b 4%,#1d151bdc 40%,#1d151b26 75%)}}@media(prefers-reduced-motion:reduce){.timeline a{transition:none}}
.cover-photo-main{animation:cover-drift-main 6s ease-in-out infinite alternate}.cover-photo-small{animation:cover-drift-small 7s ease-in-out infinite alternate}.cover-stamp{animation:cover-stamp-breathe 4s ease-in-out infinite alternate}@keyframes cover-drift-main{from{transform:rotate(5deg) translateY(0)}to{transform:rotate(4deg) translateY(-7px)}}@keyframes cover-drift-small{from{transform:rotate(-9deg) translateY(0)}to{transform:rotate(-7deg) translateY(6px)}}@keyframes cover-stamp-breathe{from{box-shadow:0 8px 25px #25101755}to{box-shadow:0 10px 36px #f0b9a64a}}@media(prefers-reduced-motion:reduce){.cover-photo-main,.cover-photo-small,.cover-stamp{animation:none}}
/* Márgenes seguros y tipografía adaptada a móviles estrechos. */
html,body{max-width:100%;overflow-x:hidden}body,main,section,nav,header,footer{min-width:0}img,video,iframe{max-width:100%}h1,h2,p,blockquote,button,a,summary{min-width:0;overflow-wrap:anywhere}h1,h2{hyphens:auto}button,a{max-width:100%}.timeline a,.companion-actions a,.companion-actions button,.story-controls button,.story-finish button,.music-continue button{min-width:0;white-space:normal}.gallery,.words-grid,.memory-cards,.game-board,.music-grid,.guestbook,.birthday-surprise,.moving-memory,.companion{min-width:0}.gallery figure{min-width:0}.hero-copy,.welcome-inner,.chapter-head,.moving-copy,.guestbook-heading,.memory-game-intro,.music-heading>div{min-width:0;max-width:100%}.welcome-star,.cover-spark,.intro-ornament,.chapter-head:after,.closing:before,.gallery figure:after,.moving-frame:after{display:none}.hero-copy .eyebrow:before{content:none}.companion-icon{position:relative;font-size:0}.companion-icon:before{content:'';width:38%;height:38%;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 12px #f0c0ad22}.card-mark{font-family:'Cormorant Garamond',Georgia,serif!important;letter-spacing:0}.cover-stamp{display:flex;justify-content:center;align-items:center;gap:5px}.cover-stamp i{font-size:19px}.gallery figcaption{grid-template-columns:auto 1fr auto}.gallery .scrap-mark:before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#b47e5d}.story-content{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}.lightbox,.story-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh}.photo-footer p{max-width:90%;overflow-wrap:anywhere}.word-envelope,.word-inside,.letter,.guest-entry{min-width:0;overflow-wrap:anywhere}
@supports(overflow:clip){html,body{overflow-x:clip}}
@media(max-width:700px){.hero-copy{width:min(86%,100%)}.welcome-inner{width:100%}.welcome h1{font-size:clamp(34px,9vw,58px);line-height:1.02}.story-content{left:6%;right:6%;bottom:max(3%,env(safe-area-inset-bottom));max-height:calc(100dvh - 70px)}.story-content #story-text{font-size:clamp(25px,7vw,40px)}.story-controls{flex-wrap:wrap}.story-finish{max-width:100%}.lightbox{padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.lightbox-bar{gap:4px}.lightbox-bar #photo-count{min-width:50px}.lightbox-bar #slideshow{min-width:0;padding:8px;font-size:9px}.guestbook form{width:100%}.moving-frame{max-width:100%}}
@media(max-width:380px) and (max-height:700px){.welcome h1{font-size:clamp(32px,9vw,38px)}.cover-art{height:130px}.story-content #story-text{font-size:25px}.story-controls button{min-height:40px;padding:8px 12px}.story-progress{margin:10px 0 6px}}
/* Mantener los títulos dentro de sus márgenes sin partir palabras innecesariamente. */
h1,h2{hyphens:manual;overflow-wrap:break-word;word-break:normal}.welcome h1{font-size:clamp(54px,6vw,90px)}@media(max-width:700px){.welcome h1{font-size:clamp(34px,9vw,58px)}}@media(max-width:380px) and (max-height:700px){.welcome h1{font-size:clamp(32px,9vw,38px)}}

.apology{max-width:650px;margin:36px auto;text-align:left;border-top:1px solid #cbb39a70;border-bottom:1px solid #cbb39a70}.apology summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font-size:11px;letter-spacing:.16em}.apology summary::-webkit-details-marker{display:none}.apology summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.apology-sign:after{content:"+";font-size:22px}.apology[open] .apology-sign:after{content:"−"}.apology-body{padding:0 0 20px;overflow-wrap:anywhere}.apology-body h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,5vw,36px);line-height:1.2}.apology-body p{line-height:1.8}

.date-gift{max-width:540px;margin-top:24px}.date-gift[hidden]{display:none}.date-gift label{display:block;font-size:14px;line-height:1.5;color:#f6e8da}.date-hint{font-size:12px;line-height:1.5;color:#d9c2bd;margin:8px 0 14px}.date-row{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}.welcome .date-row input{min-width:0;max-width:100%;padding:12px;color:#2b2023;background:#f8efe5;border:1px solid #dfbdad;border-radius:0;font:inherit}.welcome .date-row button{margin:0;padding:14px 16px}.date-row input:focus-visible{outline:3px solid #d8aa73;outline-offset:3px}#date-error{color:#f6d1c5;min-height:1.5em;margin:10px 0 0;font-size:12px;line-height:1.5}

/* Calendario legible y centrado en pantallas pequeñas. */
.welcome .date-row input{color-scheme:dark;background:#3b2930;color:#fff5ec;border-color:#e6c7b9}
@media(max-width:700px){.welcome{justify-content:safe center}.date-gift{margin:20px auto 0}.date-row{justify-content:center}}

.story-swipe{display:none}@media(max-width:700px){.story-content .story-swipe{display:block;font-size:10px;letter-spacing:.08em;color:#e7d7cb;margin:7px 0 0}}

.chapter-shortcut{position:fixed;z-index:10;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));padding:12px 15px;border:1px solid #e4c3b7;border-radius:24px;background:#35252df2;color:#fff4ed;box-shadow:0 5px 20px #140a1266;font-size:10px;letter-spacing:.12em;line-height:1.2}.chapter-shortcut[hidden]{display:none}.chapter-shortcut:focus-visible{outline:3px solid #f0c6ac;outline-offset:3px}

.music-card .music-memory{margin:12px 6px 0;color:#e8cdc2;font-size:10px;letter-spacing:.08em;line-height:1.5}

.music-card .music-credit{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin:12px 6px 0;color:#fff5ed;line-height:1.4;font-size:13px;overflow-wrap:anywhere}.music-credit strong{font-weight:600}.music-credit span{color:#d9c0b8;font-size:12px}

.music-youtube{margin-left:12px}

.music-card .music-fallback{display:inline-flex;align-items:center;min-height:44px;padding:10px 6px;font-size:10px}

/* En móvil, fotografías destacadas marcan pausas dentro del orden cronológico. */
@media(max-width:700px){.gallery figure,.gallery figure:nth-child(n){grid-column:span 6!important;margin-top:0!important}.gallery figure.feature-photo{grid-column:1 / -1!important;max-width:100%;padding:8px 8px 5px!important}.gallery figure.feature-photo .scrap-date{font-size:16px}}
