:root{--cream:#faf6ef;--rose:#f0e5e1;--wine:#752e41;--ink:#483039;--muted:#7f676c;--line:#d9c5c1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 'Segoe UI',sans-serif}button,a,label{-webkit-tap-highlight-color:transparent}button,.button{font:inherit;color:inherit;cursor:pointer}button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 19px;min-height:44px}a{color:inherit}button:hover,.button:hover{background:#e9d9d6}button:focus-visible,a:focus-visible,label:focus-within{outline:3px solid var(--wine);outline-offset:5px}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:5}.monogram{font:29px Georgia,serif;text-decoration:none;letter-spacing:3px}.monogram i,footer i{color:var(--wine)}.header-note,.eyebrow,.tiny{font-size:10px;letter-spacing:3px}.header-note{color:var(--muted)}header button{font-size:12px}.hero{min-height:calc(100svh - 82px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:60px 10vw 75px;position:relative;overflow:hidden}.hero-copy{max-width:480px}.eyebrow{color:var(--wine);font-weight:600;margin:0 0 22px}h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15}h1{font-size:clamp(55px,6.5vw,100px);letter-spacing:-4px;margin:10px 0 22px}h1 span{display:block;font-size:.7em;font-style:italic;color:var(--wine);line-height:1.1}h2{font-size:clamp(37px,4.3vw,60px);margin:0 0 26px;letter-spacing:-1.8px}h2 em{color:var(--wine);font-weight:400}.subtitle{font:italic 27px Georgia,serif}.fine-line{height:1px;width:60px;background:var(--wine);margin:30px 0}.intro{color:var(--muted);max-width:295px}.primary{display:inline-flex;align-items:center;gap:28px;background:var(--wine);color:white;border-radius:40px;text-decoration:none;padding:16px 25px;margin:22px 0}.primary:hover{background:#5c2031}.primary span{font-size:23px}.tiny{font-size:9px;color:var(--muted)}.cover{margin:0;position:relative;transform:rotate(2deg);padding:12px 12px 0;background:#fffdf9;box-shadow:0 18px 55px #58313a20;max-width:450px;justify-self:center;width:100%}.cover img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.cover figcaption{font:italic 18px Georgia,serif;text-align:center;padding:20px 0 23px}.hero-mark{position:absolute;bottom:10px;left:47%;font:60px Georgia;color:#ba939a60}nav{display:flex;justify-content:center;gap:26px;overflow:auto;padding:22px 24px;border-block:1px solid var(--line);white-space:nowrap;background:var(--cream)}nav a{font-size:12px;text-decoration:none}nav a:hover{color:var(--wine);text-decoration:underline}.chapter{padding:90px max(7vw,24px);max-width:1500px;margin:auto;scroll-margin-top:20px}.tinted{background:var(--rose)}.beginning{text-align:center;padding-block:110px}.beginning blockquote{font-size:clamp(26px,3.4vw,43px);max-width:760px;margin:36px auto;line-height:1.5;font-style:italic}.editable-note{max-width:620px;margin:auto;color:var(--muted);font-size:14px}.ornament{display:block;font-size:30px;color:var(--wine);margin-top:35px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-heading>p{max-width:310px;font-size:14px;color:var(--muted)}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.photo{margin:0;min-width:0}.photo-open{padding:0;display:block;width:100%;border:0;border-radius:3px;overflow:hidden;background:#e1d1cc}.photo img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.photo-open:hover img{transform:scale(1.035)}.photo figcaption{font:italic 17px Georgia,serif;padding:13px 2px}.empty{border:1px dashed #b9959d;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:var(--muted);gap:10px;border-radius:3px}.empty .heart{font:45px Georgia;color:#b48b95}.empty small{font-size:12px}.add-photo{display:none;cursor:pointer;border:1px solid var(--line);padding:8px 16px;border-radius:22px;font-size:13px}.editing .add-photo{display:inline-block}.album-add{grid-column:1/-1}.memory-note{border-block:1px solid var(--line);display:flex;gap:35px;align-items:center;padding:30px 0;max-width:760px}.memory-note p{color:var(--muted)}.small-heart{font:60px Georgia;color:var(--wine)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.tabs [aria-selected=true],.filters [aria-pressed=true]{background:var(--wine);color:#fff;border-color:var(--wine)}h3{font-size:34px;margin:25px 0 10px}#trip-videos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}video{width:100%;max-height:400px;background:#34242a;border-radius:3px}.village{background:var(--wine);color:var(--cream)}.village em,.village .eyebrow{color:#e7b8bf}.village .empty,.village p{color:#ecd9de}.comparison{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;max-width:900px;margin:36px auto 0;gap:14px}.comparison figure{margin:0;background:white;padding:10px 10px 0;box-shadow:0 8px 30px #58313a10;transform:rotate(-2deg)}.comparison figure:last-child{transform:rotate(2deg)}.comparison img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.comparison figcaption{font:italic 20px Georgia;text-align:center;padding:22px 4px}.between{font:40px Georgia;color:var(--wine);text-align:center}.correfoc-intro{max-width:650px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:12px;padding:8px 16px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery .photo img{aspect-ratio:1}.letter-section{text-align:center;padding-block:100px}.envelope{width:min(430px,100%);min-height:210px;border-radius:4px;border-color:#d4b3b9;background:linear-gradient(150deg,#f6ece6,#eddbd7);box-shadow:0 15px 40px #58313a12;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;margin:30px auto}.envelope>span:first-child{font:45px Georgia;color:var(--wine)}.envelope strong{font:italic 28px Georgia}.letter{background:#fffdf8;text-align:left;max-width:650px;margin:35px auto 0;padding:clamp(25px,6vw,60px);box-shadow:0 10px 50px #58313a10;border-top:2px solid var(--wine)}.letter h2{font-size:33px}.letter p{white-space:pre-wrap;line-height:2}.signature{font:italic 27px Georgia!important;text-align:right;color:var(--wine);margin-top:35px}footer{text-align:center;border-top:1px solid var(--line);padding:45px 20px}footer>a{font:32px Georgia;text-decoration:none}footer p{font:italic 18px Georgia}footer small{font-size:10px;color:var(--muted);letter-spacing:2px}.editor{padding:14px 5vw;background:var(--wine);color:white;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px}.editor:not([hidden]){display:flex}.editor button,.editor .button{font-size:12px;border:1px solid #ba939a;padding:8px 15px;border-radius:25px}.editor button:hover,.editor .button:hover{background:#5c2031}.editor span{flex:1;min-width:180px}[contenteditable=true]{outline:1px dashed #a67382;outline-offset:6px;min-height:25px;cursor:text;white-space:pre-wrap}[contenteditable=true]:focus{outline:2px solid var(--wine);background:#fff5}dialog{padding:45px 20px 16px;border:0;background:#251b21;color:white;max-width:94vw;max-height:94svh;border-radius:5px}dialog::backdrop{background:#20131de8;backdrop-filter:blur(6px)}dialog img{display:block;max-width:85vw;max-height:74svh;object-fit:contain;margin:auto}dialog p{text-align:center;margin:12px 0;font-size:13px}#close-lightbox{position:absolute;right:5px;top:0;color:white;border:0;font-size:30px;line-height:1}#status{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--wine);color:white;border-radius:12px;max-width:90vw;width:max-content;padding:12px 20px;box-shadow:0 5px 20px #0002;font-size:13px;z-index:20;pointer-events:none}#status:empty{display:none}[hidden]{display:none!important}@media(min-width:1000px){.hero-copy{animation:rise .8s ease both}.cover{animation:appear 1s ease both}}@keyframes rise{from{opacity:0;translate:0 18px}to{opacity:1;translate:0}}@keyframes appear{from{opacity:0}to{opacity:1}}@media(max-width:700px){header{height:70px;padding:0 22px}.header-note{display:none}header button{font-size:11px;padding:9px 13px}.hero{padding:38px 26px 45px;grid-template-columns:1fr;gap:30px;text-align:center;min-height:auto}.hero-copy{max-width:none}.eyebrow{font-size:9px;letter-spacing:2.8px;margin-bottom:17px}h1{font-size:58px;letter-spacing:-2px;margin:0 0 14px}h1 span{display:inline;font-size:44px}.subtitle{font-size:24px;margin:10px 0}.fine-line{margin:22px auto}.intro{margin:0 auto;font-size:14px}.primary{margin:20px 0 12px;padding:13px 22px;font-size:14px}.hero .tiny{margin-bottom:0;font-size:8px;letter-spacing:2px}.cover{max-width:330px;padding:9px 9px 0}.cover figcaption{font-size:16px;padding:15px 0 18px}.hero-mark{display:none}nav{justify-content:start;gap:22px;padding:18px 22px}.chapter{padding:65px 23px}h2{font-size:39px;letter-spacing:-1.3px}.beginning{padding-block:75px}.beginning blockquote{font-size:28px;margin-block:25px}.section-heading{display:block}.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.empty{min-height:205px;padding:18px}.photos>.empty:only-child{grid-column:1/-1}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo figcaption{font-size:15px}.comparison{grid-template-columns:1fr 1fr;gap:16px}.between{display:none}.comparison figcaption{font-size:17px;padding:17px 2px}.comparison figure{padding:6px 6px 0}.memory-note{gap:20px}.small-heart{font-size:42px}#trip-videos{grid-template-columns:1fr}.letter-section{padding-block:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.album-group{grid-column:1/-1;font-size:26px;border-bottom:1px solid var(--line);padding-bottom:14px;margin:25px 0 0}

.words-section{background:#f5ede7}.words-intro{max-width:620px;color:var(--muted)}.words-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}.word-card{background:#fffaf4;padding:32px 27px;border-top:2px solid #c8a1aa;box-shadow:0 8px 25px #58313a08}.word-card h3{font:italic 26px/1.3 Georgia,serif;margin:10px 0 22px;color:var(--wine)}.word-card p{white-space:pre-wrap;line-height:1.9;font-size:15px}.word-mark{font:30px Georgia,serif;color:var(--wine)}.add-text{display:none;margin-top:30px}.editing .add-text{display:inline-block}@media(max-width:800px){.words-grid{grid-template-columns:1fr;gap:18px}.word-card{padding:28px 24px}}

.beginning-love{white-space:pre-line;max-width:740px;font-size:17px;line-height:1.95;color:var(--ink)}.beginning-photos{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin:45px auto 0;text-align:left;gap:26px}.beginning-photos .photo{background:#fffdf8;padding:10px 10px 0;box-shadow:0 8px 26px #58313a12}.beginning-photos .photo img{aspect-ratio:4/3;object-fit:contain;background:#eee4dd}.beginning-photos .photo figcaption{font-size:17px;line-height:1.5;padding:16px 8px 20px}@media(max-width:700px){.beginning-love{font-size:15px;text-align:left}.beginning-photos{grid-template-columns:1fr;gap:22px}.beginning-photos .photo figcaption{font-size:16px}}

.story-section{padding-block:90px}.story-section>h2{max-width:820px;margin-inline:auto;text-align:center}.story-section>.eyebrow{text-align:center}.story-section>.words-intro{max-width:680px;margin:0 auto 35px;text-align:center}.story-index{max-width:740px;margin:0 auto 45px;border-block:1px solid var(--line);padding:16px 0}.story-index summary{cursor:pointer;color:var(--wine);font-size:14px;min-height:32px;line-height:32px}.story-index>div{display:grid;gap:8px;padding:15px 0}.story-index a{font-size:14px;line-height:1.5;padding:7px 0;text-decoration:none}.story-index a:hover{text-decoration:underline}.story-reading{max-width:740px;margin:auto}.story-entry{padding:45px 0 55px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.story-entry:first-child{padding-top:10px}.story-entry h3{font:italic 25px/1.45 Georgia,serif;color:var(--wine);letter-spacing:-.25px;margin:0 0 30px}.story-body{white-space:pre-wrap;font-size:17px;line-height:1.95;margin:0;overflow-wrap:anywhere}.story-pending{font-size:12px;color:var(--muted);font-style:italic;margin:24px 0 0}.story-section #extra-texts{max-width:740px;margin-inline:auto;grid-template-columns:1fr}.story-section .add-text{display:none;margin:30px auto 0}.editing .story-section .add-text{display:block}@media(max-width:700px){.story-section{padding:65px 24px}.story-entry{padding:35px 0 42px}.story-entry h3{font-size:22px;margin-bottom:24px}.story-body{font-size:16px;line-height:1.9}.story-index a{font-size:13px}.story-section>h2{font-size:38px}}

.birthday-letter{max-width:780px}.birthday-letter h2{font-size:clamp(25px,3vw,35px);line-height:1.35}.birthday-letter p{font-size:16px;line-height:1.95}

.dates-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.dates-photos .photo{padding:9px 9px 0;background:#fffdf8;box-shadow:0 8px 26px #58313a10}.dates-photos .photo img{object-fit:contain;background:#eee4dd}.dates-photos .photo figcaption{padding:16px 6px 20px;line-height:1.5}@media(max-width:700px){.dates-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dates-photos .photo figcaption{font-size:15px}}@media(max-width:390px){.dates-photos{grid-template-columns:1fr}}

.correfoc-memory-title{font-size:clamp(30px,3.8vw,52px);line-height:1.25;max-width:950px}

.village .photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.village .photo{background:#fffaf4;padding:9px 9px 0;color:var(--ink)}.village .photo img{object-fit:contain;background:#eadfd8}.village .photo figcaption{padding:16px 8px 20px;line-height:1.5}@media(max-width:600px){.village .photos{grid-template-columns:1fr;gap:22px}}


/* Un álbum de amor: papel rosa, cereza y pequeños corazones. */
:root{--cream:#fff7f4;--rose:#fbe5e8;--wine:#a52948;--ink:#502b38;--muted:#805b67;--line:#e8bcc7}
body{background:#fff7f4;selection-background:#f4c2d0}
::selection{background:#f3c0cf;color:#602034}
header{background:#fff8f6;border-bottom:1px solid #edc4ce;box-shadow:0 3px 20px #a5294808}
.monogram{color:#90233e}.monogram i{color:#cc5272}.header-note{color:#ac526b}
header button{border-color:#e6b1bf;background:#fff1f3;color:#90233e}
.hero{background:radial-gradient(ellipse at 8% 20%,#f7d5de85,transparent 48%),radial-gradient(ellipse at 95% 80%,#f1bac866,transparent 48%),linear-gradient(135deg,#fff9f4,#fff1f4)}
.hero-copy,.hero>.cover{z-index:1}.hero-copy{position:relative}
.hero h1{color:#84273f;text-shadow:0 3px 0 #fff9}.hero h1 span{color:#c64c6c}
.hero .eyebrow{display:inline-block;border:1px solid #e8b1c0;border-radius:30px;padding:6px 15px;background:#fff8f5b3}
.subtitle{color:#ad3d5c}.fine-line{position:relative;width:90px;background:#c96882}.fine-line::after{content:'♥';position:absolute;left:38px;top:-14px;padding:0 5px;background:#fff3f4;color:#b83e5f;font-size:13px;line-height:27px}
.primary{background:linear-gradient(135deg,#b73254,#90233f);box-shadow:0 8px 25px #a529482b;border:1px solid #b33757;transition:transform .25s,box-shadow .25s}
.primary:hover{background:linear-gradient(135deg,#c14264,#9f2b49);transform:translateY(-2px);box-shadow:0 12px 28px #a5294838}
.cover{border:1px solid #f0d3d8;background:#fffdf8;box-shadow:0 20px 70px #a63d5a25;padding:15px 15px 0;transform:rotate(2deg);border-radius:3px}
.cover::before{content:'';position:absolute;width:105px;height:31px;left:calc(50% - 52px);top:-15px;background:repeating-linear-gradient(45deg,#ecd2bf99 0 3px,#f7e6d3c9 3px 6px);transform:rotate(-7deg);box-shadow:0 2px 4px #72324308;z-index:2}
.cover figcaption{color:#9e3b56}.cover::after{content:'♥';position:absolute;bottom:12px;right:19px;color:#bc3a5c;font-size:20px;transform:rotate(-12deg)}
.hero-mark{color:#c65f7a80;font-size:65px}
.love-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;user-select:none}
.love-confetti span{position:absolute;font-family:Georgia,serif;color:#c8527599;font-size:26px;animation:heart-drift 9s ease-in-out infinite}
.love-confetti span:nth-child(1){left:4%;top:13%;font-size:27px;rotate:-18deg}.love-confetti span:nth-child(2){left:44%;top:9%;font-size:18px;animation-delay:-2s}.love-confetti span:nth-child(3){right:4%;top:24%;font-size:37px;rotate:16deg;animation-delay:-5s}.love-confetti span:nth-child(4){left:5%;bottom:13%;font-size:18px;rotate:12deg;animation-delay:-3s}.love-confetti span:nth-child(5){left:44%;bottom:20%;font-size:24px;animation-delay:-6s}.love-confetti span:nth-child(6){right:7%;bottom:6%;font-size:19px;animation-delay:-1s}.love-confetti span:nth-child(7){left:56%;top:45%;font-size:15px;animation-delay:-4s}
@keyframes heart-drift{0%,100%{translate:0 0;opacity:.5}50%{translate:0 -13px;opacity:.9}}
nav{background:#fff0f2;border-block:1px solid #e8b9c5;gap:20px}nav a{color:#8f3a52;padding:3px 0}nav a:hover{color:#b5254c;text-decoration-color:#d96d8b;text-underline-offset:6px}
.chapter{position:relative}.chapter::before{content:'—  ♥  —';display:block;text-align:center;color:#c36c85;font:14px/1 Georgia,serif;letter-spacing:7px;margin-bottom:30px}
.eyebrow{color:#a62d4f}h2{color:#6f2c42}h2 em{color:#b73356}.tinted{background:linear-gradient(145deg,#fce9ec,#f8e0e6)}
.beginning{background:radial-gradient(ellipse at top,#fff0f4,transparent 70%)}.beginning blockquote{color:#9a3b57}.ornament{color:#bd4c6d}
.memory-note{border-color:#e7b7c5;padding-inline:23px;background:#fff2f4;border-radius:0 24px 0 24px}.small-heart{color:#b6375a}
.photo-open{border-radius:3px}.photos .photo{transition:box-shadow .3s,translate .3s}.photos .photo:hover{box-shadow:0 12px 30px #a529481c}
.photo figcaption{color:#8b3a53}.photos .photo img{background:#f6e7e6}.beginning-photos .photo,.dates-photos .photo{border:1px solid #edc7d0;background:#fffaf6;box-shadow:0 8px 28px #a5294812}.photo-open:focus-visible{outline-offset:4px}
.tabs button,.filters button{border-color:#dfa6b6;background:#fff8f6;color:#84384f}.tabs [aria-selected=true],.filters [aria-pressed=true]{background:linear-gradient(135deg,#b53458,#952541);border-color:#a52a4a;color:#fff;box-shadow:0 4px 12px #a5294820}
.village{background:radial-gradient(ellipse at 95% 5%,#bd4a6c40,transparent 65%),linear-gradient(135deg,#8d2947,#64253b);color:#fff5f3}.village::before{color:#e9acbf}.village h2{color:#fff7f3}.village h2 em{color:#f4b6c9}.village .photo{border:1px solid #f6c8d2;background:#fffaf6}.village .photo figcaption{color:#8c3650}.village p{color:#f7dee6}
.comparison figure{background:#fffbf8;border:1px solid #edc7d0;box-shadow:0 10px 30px #a5294815}.comparison figcaption{color:#9c3b56}.between{color:#bd375e}
.words-section{background:linear-gradient(135deg,#fbe9ed,#fff5f2)}.story-section::before{font-size:17px}.story-index{border-color:#e2a9ba;background:#fff8f480;padding:14px 20px;border-radius:6px}.story-index summary{color:#9b2a4b}.story-entry{border-bottom:0;position:relative;padding-bottom:80px}.story-entry:not(:last-child)::after{content:'♡';position:absolute;bottom:21px;left:calc(50% - 12px);color:#bd6881;font:27px Georgia,serif}.story-entry h3{color:#a53555}.story-body{color:#573540}
.word-card{border-color:#d57d96;background:#fffaf6}.word-card h3{color:#a53555}
.letter-section{background:radial-gradient(ellipse at center,#f8d3df66,transparent 72%)}
.envelope{position:relative;isolation:isolate;min-height:255px;background:linear-gradient(150deg,#fff0ee,#edbccb);border:1px solid #d994aa;border-radius:8px;box-shadow:0 20px 55px #a5294826;transition:transform .3s,box-shadow .3s;padding:30px 18px}
.envelope::before{content:'';position:absolute;inset:9px;border:1px solid #fff9;border-radius:4px;pointer-events:none;z-index:-1}
.envelope::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(150deg,transparent 49.7%,#c47e9430 50%,transparent 50.4%),linear-gradient(210deg,transparent 49.7%,#c47e9430 50%,transparent 50.4%);z-index:-1}
.envelope:hover{background:linear-gradient(150deg,#fff2f0,#f0c2d0);transform:translateY(-4px) rotate(-1deg);box-shadow:0 25px 65px #a5294833}
.envelope>span:first-child{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:35px;line-height:1;color:#ffe5eb;background:radial-gradient(circle at 35% 25%,#cf5a79,#9d2546 75%);border:3px double #e994ab;box-shadow:0 5px 10px #7e1c3a25;text-shadow:0 2px 2px #7d1738}
.envelope strong{color:#8b2c49}.envelope .tiny{color:#9b5066}.letter{background:#fffdf8;border:1px solid #e7b6c5;border-top:3px solid #b63357;border-radius:3px;box-shadow:0 15px 60px #a529481a;position:relative}.letter::before{content:'♥';display:block;text-align:center;color:#b63c5d;font-size:23px;margin-bottom:25px}.letter h2{color:#a13151}.letter p{color:#593640}
footer{background:linear-gradient(180deg,#fff0f3,#f9e0e7);border-top:1px solid #e4b2c0;color:#95344f}footer::before{content:'♥  ♡  ♥';display:block;letter-spacing:12px;color:#b74c6a;font-size:16px;margin:0 0 20px}footer p{color:#944159}footer small{color:#8e5265}
@media(max-width:700px){.hero{padding-top:38px;padding-bottom:48px}.cover{padding:10px 10px 0}.cover::before{width:85px;height:25px;left:calc(50% - 42px);top:-12px}.cover::after{font-size:15px;bottom:14px;right:12px}.hero .love-confetti span:nth-child(2){left:84%;top:8%}.hero .love-confetti span:nth-child(5){left:7%;bottom:35%}.chapter::before{margin-bottom:25px}.memory-note{padding-inline:16px}.envelope{min-height:240px}.story-entry{padding-bottom:65px}.story-entry:not(:last-child)::after{bottom:16px}}
@media(prefers-reduced-motion:reduce){.love-confetti span{animation:none;opacity:.6}.primary:hover,.envelope:hover{transform:none}}

/* La última página del regalo. */
.love-ending{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;background:radial-gradient(ellipse at center,#ffe6ec 0%,#f9d0dc 58%,#f2bdce 100%);border-top:1px solid #e0a3b6}.ending-halo{position:absolute;width:min(80vw,650px);aspect-ratio:1;border:1px solid #bc527127;border-radius:50%;z-index:-1}.ending-halo::before,.ending-halo::after{content:'';position:absolute;border:1px solid #bc52711c;border-radius:50%;inset:25px}.ending-halo::after{inset:-25px}.ending-dedication{font-size:11px;letter-spacing:4px;color:#9a3a57;margin:0 0 36px}.ending-message{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3.5vw,48px);font:400 clamp(58px,11.5vw,165px)/1.15 Georgia,serif;letter-spacing:-3px;color:#922340;margin:0;position:relative}.ending-heart{display:inline-block;color:#bf3359;font-size:.8em;text-shadow:0 8px 30px #a72d4e25;animation:last-heart 4s ease-in-out infinite}.ending-signature{font:italic clamp(20px,3vw,27px)/1.6 Georgia,serif;color:#984059;margin:36px 0 0}@keyframes last-heart{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@media(max-width:700px){.ending-message{font-size:clamp(54px,13vw,90px);letter-spacing:-2px;gap:15px}.ending-dedication{font-size:9px;letter-spacing:2.6px}.ending-signature{font-size:21px}.ending-halo{width:85vw}}@media(prefers-reduced-motion:reduce){.ending-heart{animation:none}}

.album-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:26px}.album-heading h2{margin:0;flex:1}.our-song{display:flex;gap:14px;align-items:center;background:#fff8f4;border:1px solid #e0a6b7;border-radius:20px;padding:16px 18px;box-shadow:0 8px 25px #a5294810}.song-note{font:30px Georgia,serif;color:var(--wine)}.our-song strong,.our-song small{display:block}.our-song strong{font:italic 21px/1.4 Georgia,serif;color:var(--wine)}.our-song small{font-size:9px;letter-spacing:1px;color:var(--muted)}.our-song button{font-size:12px;border-color:#d791a7;color:var(--wine);white-space:nowrap;padding:9px 14px}.song-panel{max-width:600px;margin:0 0 26px auto;background:#fff8f4;border:1px solid #e0a6b7;border-radius:16px;padding:14px}.song-panel iframe{display:block;border:0;border-radius:12px}.song-panel p{font-size:11px;color:var(--muted);margin:9px 0 0}@media(max-width:850px){.album-heading{align-items:flex-start;flex-direction:column;gap:20px}.our-song{width:100%;max-width:420px}.our-song button{margin-left:auto}.song-panel{margin-left:0;width:100%}}
