@font-face{font-family:Book;src:url('assets/serif.otf')}@font-face{font-family:Book;src:url('assets/italic.otf');font-style:italic}*{box-sizing:border-box} :root{--ink:#4f6d85;--blue:#abc2d5;--paper:#fffdf9;--line:#becbd5;--shadow:0 10px 22px #46627922,0 1px 3px #56718a18}body{margin:0;background:#e8edf0;color:var(--ink);font-family:Book,Georgia,serif}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #557a9b;outline-offset:5px}button{border:0}p,h1,h2,h3{margin:0}h2{font-size:30px;font-weight:400;line-height:1.12}h2 em{display:block;font-size:30px}a{color:inherit}em{font-weight:400}.tiny,.eyebrow,.chapter-label,.page-top,.scroll-note,.button,.cover-date,.opening-note,.closing-date,.brand{font-family:Arial,sans-serif;font-size:11.67px;font-weight:400;letter-spacing:2px;line-height:1.7}.eyebrow{font-size:11.67px;letter-spacing:1.6px}.cross{font-size:42px;font-weight:normal;color:#9caeb9;line-height:1.2}.name{font-size:60px;font-style:italic;line-height:1.2}.paper{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2398958e' opacity='.055' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");box-shadow:var(--shadow)}.pattern{background:url('assets/safari.jpg') center/300px auto}.book{width:390px;margin:auto;background:#fcfcf9;overflow:hidden;box-shadow:0 0 80px #4c6b7a18;transform-origin:top center}.scene{position:relative;isolation:isolate}.chapter-label{position:absolute;left:28px;top:28px;font-size:10.67px;letter-spacing:1.7px}.cover{position:fixed;inset:0;z-index:100;overflow:auto;background:#f6f7f5;transition:opacity .7s ease,visibility .7s;display:grid;place-items:center}.cover-pattern{position:absolute;inset:0;background:linear-gradient(#ffffff99,#ffffffcc),url('assets/safari.jpg') center/420px;opacity:.8}.cover-content{position:relative;width:390px;min-height:720px;text-align:center;padding:48px 0 28px;overflow:hidden}.cover-content>.cross{margin-top:38px}.cover-content>.eyebrow{margin-top:12px;font-size:11.67px}.cover h1{font-size:78px;font-style:italic;font-weight:400;line-height:1.25}.cover-date{margin-top:9px;letter-spacing:3px}.envelope{display:block;position:relative;width:310px;height:208px;margin:42px auto 22px;background:#e9e8e1;box-shadow:0 17px 25px #58657535,0 1px 4px #89939755;perspective:1000px;border-radius:2px;transform:rotate(-3deg)}.envelope-lining{position:absolute;inset:4px;background:url('assets/safari.jpg') center/240px}.letter-peek{position:absolute;inset:15px 15px 0;background:#fffdf7;padding:20px;font-style:italic;font-size:32px;transition:transform 1s}.env-left,.env-right,.env-bottom,.env-flap{position:absolute;inset:0;filter:drop-shadow(0 1px 1px #74808a44)}.env-left{background:linear-gradient(130deg,#faf9f4,#e7e7e2);clip-path:polygon(0 0,56% 60%,0 100%)}.env-right{background:linear-gradient(260deg,#fcfcf8,#e3e4df);clip-path:polygon(100% 0,44% 60%,100% 100%)}.env-bottom{background:linear-gradient(15deg,#f8f8f2,#fffefa);clip-path:polygon(0 100%,0 98%,50% 44%,100% 98%,100% 100%)}.env-flap{background:linear-gradient(155deg,#fffefb 20%,#f0f0e8 90%);clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top center;transition:transform 1s;z-index:3}.wax{display:block;width:80px;height:80px;position:absolute;filter:drop-shadow(2px 5px 3px #58657444);z-index:5}.wax img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);clip-path:ellipse(39% 39% at 50% 49%)}.envelope>.wax{left:115px;top:76px;transition:opacity .3s,transform .5s}.opening-note{font-size:11.67px;letter-spacing:1.5px}.cover-footer{margin-top:30px;font-style:italic;font-size:19px;line-height:1.3}.cover.opening .env-flap{transform:rotateX(180deg);z-index:0}.cover.opening .wax{opacity:0;transform:translateY(30px)}.cover.opening .letter-peek{transform:translateY(-60px)}.cover.opened{opacity:0;visibility:hidden}.music-toggle{position:fixed;right:max(14px,calc((100vw - 390px)/2 + 14px));bottom:18px;width:42px;height:42px;z-index:30;border-radius:50%;border:1px solid #b6c9d5;background:#fffdf5ee;box-shadow:0 3px 15px #4d718022;font-size:22px}.intro{height:820px}.intro-pattern{position:absolute;top:0;left:0;width:100%;height:260px;opacity:.75;mask-image:linear-gradient(#000 60%,transparent)}.page-top{position:absolute;top:23px;width:100%;text-align:center;font-size:9.67px;letter-spacing:1.5px}.page-top span{padding:0 10px}.open-envelope{position:absolute;top:139px;left:25px;width:260px;height:350px;transform:rotate(-7deg);filter:drop-shadow(0 8px 8px #50647a25)}.open-lining{position:absolute;inset:0;background:url('assets/safari.jpg') center/240px;border:7px solid #eeefea;clip-path:polygon(0 34%,50% 0,100% 34%,100% 100%,0 100%)}.open-pocket{position:absolute;inset:33% 0 0;background:linear-gradient(140deg,#fffefa,#e5e8e5);clip-path:polygon(0 0,50% 39%,100% 0,100% 100%,0 100%)}.mono{position:absolute;bottom:29px;left:30px;font-size:28px;font-style:italic;opacity:.4}.invitation-paper{position:absolute;top:257px;right:23px;width:261px;height:370px;transform:rotate(3deg);text-align:center;padding:24px 13px}.border-line{position:absolute;inset:9px;border:1px solid #c2ced4;pointer-events:none}.invitation-paper .cross{font-size:36px;margin:0 0 13px}.invitation-paper h2{font-size:28px;margin-top:14px}.invitation-paper h2 em{font-size:23px}.invitation-paper .name{font-size:58px;margin-top:10px}.hairline{width:45px;height:1px;background:#b7c6ce;margin:17px auto}.date-line{font-size:13.67px;line-height:1.8;letter-spacing:1.5px}.date-line strong{font-size:14px;font-weight:normal}.small{font-size:12.67px;margin-top:6px}.oval{position:absolute;left:18px;top:532px;width:132px;height:189px;border-radius:50%;padding:12px;transform:rotate(-8deg);display:grid;place-items:center;background-color:#e9eff2;text-align:center;z-index:4}.oval:before{content:'';position:absolute;inset:7px;border:1px solid #b9c8d2;border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff77}.oval span{font-style:italic;font-size:15px;line-height:1.5}.safari-stamp{position:absolute;top:659px;right:42px;border:1px solid #afc1cd;border-radius:50%;width:90px;height:90px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:26px;font-style:italic;transform:rotate(11deg);opacity:.7}.safari-stamp small{font:7.67px Arial;letter-spacing:1px}.scroll-note{position:absolute;bottom:14px;width:100%;text-align:center;font-size:9.67px}.scroll-note span{display:block;font-size:20px}.portrait-scene{height:575px}.portrait-pattern{position:absolute;width:255px;height:430px;right:-55px;top:60px;opacity:.6;transform:rotate(8deg)}.photo-frame{background:#fffefa;padding:9px 9px 28px;box-shadow:var(--shadow);position:absolute}.photo-frame img{display:block;width:100%;height:calc(100% - 4px);object-fit:cover}.photo-frame span{display:block;text-align:center;font-size:14.67px;font-style:italic;line-height:28px}.hero-photo{left:37px;top:75px;width:245px;height:347px;transform:rotate(-6deg)}.hero-photo img{object-position:center 40%}.year{position:absolute;top:320px;right:25px;width:110px;height:150px;text-align:center;padding-top:18px;transform:rotate(8deg);border-radius:55px 55px 3px 3px}.year span{display:block;font-size:13px;font-style:italic}.year strong{font-weight:normal;font-size:72px;line-height:.95;display:block}.year em{font-size:20px}.portrait-caption{position:absolute;bottom:25px;left:43px;font-size:28px;line-height:1.2}.family{height:670px}.ribbon{position:absolute;left:52px;top:20px;width:31px;height:550px;background:linear-gradient(90deg,#bccfdd,#dfebf1 45%,#b1c6d8);transform:rotate(-13deg);box-shadow:3px 0 4px #7b8d9c11}.family-paper{position:absolute;left:63px;top:69px;width:280px;padding:54px 22px 35px;text-align:center;transform:rotate(2deg)}.small-wax{width:70px;height:70px;top:-32px;left:105px}.family-paper h2{font-size:31px;font-style:italic;margin:17px 0}.family-name{font-size:18px;line-height:1.3}.amp{font-style:italic;font-size:18px;display:block;margin:5px 0}.family-paper .hairline{margin:24px auto}.family-aside{position:absolute;bottom:25px;left:30px;font-size:18px;line-height:1.3;font-style:italic}.family-pattern{position:absolute;left:-70px;bottom:10px;width:200px;height:270px;z-index:-1;opacity:.7;mask-image:linear-gradient(90deg,#000,transparent)}.day{height:730px}.day>h2{position:absolute;top:65px;left:31px;font-size:28px}.day>h2 em{display:inline}.date-block{position:absolute;right:29px;top:138px;display:flex;gap:15px;align-items:center}.date-block span{font-family:Arial;font-size:10.67px;letter-spacing:1.5px;line-height:1.6}.date-block strong{font-size:65px;font-weight:normal;line-height:1}.venue{position:absolute;top:223px;left:27px;width:302px;min-height:372px;text-align:center;padding:18px 25px 26px;transform:rotate(-2deg)}.venue-pattern{position:absolute;inset:9px;border:1px solid #cad4d8;opacity:.15;mask-image:linear-gradient(#000,transparent 65%);z-index:-1}.venue .cross{font-size:27px;margin-bottom:10px}.event-time{display:inline-flex;flex-direction:column;width:48%;gap:6px}.event-time>span{font:10.67px Arial;letter-spacing:1.5px}.event-time strong{font-size:25px;font-weight:normal}.event-time small{font-size:13px}.venue h3{font-size:25px;font-weight:400;margin:25px 0 12px}.venue p{font-size:13px;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:#7796ae;color:white;min-height:43px;padding:10px 18px;text-decoration:none;letter-spacing:1.3px;font-size:11.67px;border:1px solid #7796ae}.venue .button{margin-top:17px}.venue .valet{font:10.67px Arial;margin-top:14px;letter-spacing:1px}.calendar-tag{position:absolute;right:15px;bottom:27px;width:157px;padding:17px 14px;text-align:center;transform:rotate(7deg);background-color:#ecf1f3}.calendar-tag em{font-size:23px;line-height:1}.text-button{background:transparent;border-bottom:1px solid #b7c9d5;font:9.67px Arial;letter-spacing:1px;padding:12px 0 7px;width:100%}.memories{height:665px}.memories-pattern{position:absolute;left:0;top:80px;width:390px;height:430px;opacity:.6;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}.memory-one{width:215px;height:290px;left:23px;top:35px;transform:rotate(-8deg)}.memory-two{width:205px;height:280px;right:22px;top:258px;transform:rotate(7deg)}.memories-caption{position:absolute;left:33px;bottom:28px;line-height:1.5;font-size:20px}.memories-caption em{font-size:27px}.dress{height:760px}.dress-label{position:absolute;top:78px;left:36px;z-index:2}.dress-label h2{font-size:39px;font-style:italic}.dress-label em{font-size:17px}.dress-paper{position:absolute;top:122px;right:25px;width:276px;padding:55px 28px 27px;transform:rotate(3deg);font-size:15px;line-height:1.5}.swatches{display:flex;justify-content:center;gap:7px;margin-top:20px}.swatches i{border:1px solid #d2d7da;background:#d8e6ef;width:29px;height:29px;border-radius:50%}.swatches i:nth-child(2){background:white}.swatches i:nth-child(3){background:#e8dfce}.swatches i:nth-child(4){background:#b9cddc}.swatches i:nth-child(5){background:#e8e6e0}.gift-envelope{position:absolute;left:28px;top:384px;width:203px;height:230px;transform:rotate(-9deg);filter:drop-shadow(0 6px 5px #3e5e761e)}.gift-lining{position:absolute;inset:0;clip-path:polygon(0 32%,50% 0,100% 32%,100% 100%,0 100%);border:5px solid #e2e9ec}.gift-fold{position:absolute;inset:32% 0 0;background:linear-gradient(145deg,#d3e0e8,#f2f5f5);clip-path:polygon(0 0,50% 40%,100% 0,100% 100%,0 100%)}.gift-envelope>span{position:absolute;bottom:22px;left:30px;font-size:27px;font-style:italic;opacity:.6}.gift-note{position:absolute;right:23px;top:502px;width:246px;padding:26px 23px;transform:rotate(4deg);text-align:center}.gift-note h2{font-size:26px;margin:14px 0}.gift-note h2 em{font-size:27px}.gift-note p:not(.eyebrow){font-size:14px;line-height:1.45}.count-scene{height:315px;padding-top:35px}.count-pattern{position:absolute;inset:10px 0;opacity:.7}.count-paper{position:relative;margin:auto;width:338px;padding:30px 16px;text-align:center;transform:rotate(-2deg)}.count-paper h2{font-size:25px;margin-top:10px}.count-paper h2 em{display:inline;font-size:27px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:9px;margin:24px 0 16px}.countdown b{font-weight:400;display:block;font-size:31px;min-width:40px;font-variant-numeric:tabular-nums}.countdown span{font:9.67px Arial;letter-spacing:1.4px;display:block;margin-top:5px}.countdown i{font-size:24px;font-style:normal}.count-paper>p:last-child{font-size:14.67px;font-style:italic}.rsvp{padding:82px 28px 50px;min-height:700px}.rsvp-heading{text-align:center}.rsvp-heading h2{font-size:31px}.rsvp-heading h2 em{display:inline;font-size:33px}.rsvp-heading>p{margin-top:17px;font-size:15px;line-height:1.5}.rsvp-heading strong{font-weight:normal}.rsvp-paper{padding:29px 24px 24px;margin-top:28px;position:relative}.rsvp-paper>.eyebrow{text-align:center;margin-bottom:22px}.rsvp-paper label{display:block;font-size:13px;margin:16px 0 7px}.rsvp-paper label span{font-size:12.67px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #bfccd3;background:#eaf0f240;border-radius:0;padding:10px;font-size:14px;min-height:40px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#788c9c;font-size:13px}.rsvp-paper .button{width:100%;margin-top:23px;font-size:10.67px;letter-spacing:1px}.form-note{font-size:12.67px;line-height:1.4;text-align:center;margin-top:11px}.rsvp-seal{width:57px;height:57px;bottom:25px;right:13px;transform:rotate(15deg)}#passes-label,#guest-label{text-align:center;font-size:17px;margin:10px 0}.closing{height:525px;text-align:center;padding-top:40px}.closing-pattern{position:absolute;inset:110px 0 0;opacity:.5;mask-image:linear-gradient(transparent,#000);z-index:-1}.closing-photo{width:120px;height:155px;border:7px solid #fffdf7;outline:1px solid #b6c9d3;border-radius:60px 60px 5px 5px;margin:auto;overflow:hidden;box-shadow:var(--shadow);transform:rotate(-4deg)}.closing-photo img{width:100%;height:100%;object-fit:cover}.closing>p:not(.name){margin-top:25px;font-size:20px;font-style:italic;line-height:1.3}.closing .name{font-size:56px;margin-top:13px}.closing-date{font-size:11.67px}.brand{display:block;font-size:10.67px;letter-spacing:4px;margin-top:36px}@media(min-width:700px){.cover-content{min-height:780px;padding-top:68px}.book{margin-top:25px;margin-bottom:25px}.music-toggle{bottom:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Ajustes editoriales: oro suave, fotografía final y pases. */
:root{--gold:#a27b36;--gold-light:#c4a465}
.name,.cover h1,.family-paper h2,.dress-label h2,.gift-note h2 em,.date-block strong,.count-paper h2 em,.rsvp-heading h2 em{color:var(--gold)}
.cross,.amp{color:var(--gold-light)}
.hairline{background:var(--gold-light)}
.border-line{border-color:#c7b58b}
.invitation-paper{height:385px}
.invitation-paper .small{font-size:12.67px;line-height:1.3;margin-top:8px}
.invitation-paper .eyebrow{font-size:11.67px;letter-spacing:1px}
.invitation-paper .hairline{margin:12px auto}
.oval{top:550px}.opening-note{color:#536b7e}
.venue{min-height:392px;padding-bottom:25px}.day{height:755px}
.calendar-tag{bottom:17px}.text-button{line-height:1.5}
.count-paper{padding:28px 16px}.countdown{gap:8px}
.cover-content>.eyebrow{letter-spacing:1.2px}
.sample-tag{position:fixed;top:14px;right:14px;z-index:130;background:#fffdf4ed;border:1px solid #c2a366;color:#8d672c;font:11px Arial,sans-serif;letter-spacing:2px;padding:8px 12px;pointer-events:none;box-shadow:0 2px 10px #536c7a13}
.sample-watermarks{position:fixed;inset:0;pointer-events:none;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:space-around;overflow:hidden}
.sample-watermarks[hidden],.sample-tag[hidden]{display:none}
.sample-watermarks span{font:25px Arial,sans-serif;letter-spacing:8px;color:#607587;opacity:.13;transform:rotate(-24deg);user-select:none}
.passes-ticket{padding:19px 12px 18px;border-top:1px solid #cbb68d;border-bottom:1px solid #cbb68d;margin:18px 0 25px;background:#f7f3e9;text-align:center}
.passes-ticket strong{display:block;font-weight:400;font-size:48px;line-height:1.2;color:var(--gold)}
.passes-ticket>span:not(.eyebrow){display:block;font:12px Arial;letter-spacing:2px;color:var(--gold)}
.passes-ticket small{display:block;font-size:12px;line-height:1.4;margin-top:12px}
.rsvp-paper .button{font-size:10.67px;line-height:1.5;letter-spacing:.7px;padding:12px 8px}
.closing{height:665px;padding-top:30px}
.closing-photo{position:relative;width:326px;height:420px;border:8px solid #fffdf7;border-radius:160px 160px 5px 5px;transform:rotate(-3deg);isolation:isolate}
.closing-photo img{object-position:center center}
.closing-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#162a3bd9);z-index:1;pointer-events:none}
.closing-photo p{position:absolute;bottom:27px;left:12px;right:12px;z-index:2;color:#fffaf0;text-shadow:0 1px 4px #0007;font-size:25px;font-style:italic;line-height:1.3;margin:0}
.closing .name{margin-top:22px}.closing .brand{margin-top:22px}

/* Cruz vectorial: conserva el dorado sin depender de fuentes o emojis. */
.cross svg{display:inline-block;width:.6em;height:1em;vertical-align:middle;color:inherit;overflow:visible}
