@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600&display=swap');
:root{--black:#141414;--ivory:#f5f2e9;--gold:#bea36c;--ink:#30342d;--line:#cbbb95}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ink);font:13px/1.9 'Montserrat',sans-serif}body.closed{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h2,h3,.cover-names,.closing-names{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h2{font-size:clamp(42px,5vw,60px);line-height:1.15;margin:16px 0 28px}h3{font-size:30px;line-height:1.15}.eyebrow{display:block;font-size:9px;letter-spacing:.25em;font-weight:500;line-height:1.9}.small-spaced{font-size:11px;letter-spacing:.34em}.ivory{background:var(--ivory)}.dark{background:var(--black);color:var(--ivory)}section{padding:85px 28px;text-align:center}main{max-width:1080px;margin:auto;overflow:hidden}.svg-defs{position:absolute;width:0;height:0}.sample{position:fixed;top:18px;left:-34px;width:145px;transform:rotate(-35deg);background:#a9905b;color:#fff;text-align:center;font-size:10px;letter-spacing:3px;z-index:60;pointer-events:none;opacity:.85}.envelope-screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 30%,#30302e 0%,#181818 48%,#101010);color:var(--ivory);transition:opacity .8s,visibility .8s;overflow:hidden}.envelope-screen:before{content:'';position:absolute;inset:20px;border:1px solid #b49b6050;pointer-events:none}.envelope-intro{text-align:center;margin-bottom:52px}.envelope-intro .eyebrow{color:var(--gold)}.cover-names{font-size:clamp(42px,7vw,62px);line-height:1.6}.cover-names i{font-size:.7em;color:var(--gold);padding:0 10px;font-weight:400}.envelope{position:relative;width:min(78vw,420px);height:250px;background:none;border:0;padding:0;perspective:900px;filter:drop-shadow(0 20px 35px #0008)}.env-back{position:absolute;inset:0;background:#2c2c2b;border:1px solid #aa916748}.env-front{position:absolute;inset:0;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);background:linear-gradient(33deg,#232323,#363634 50%,#282827);z-index:3}.env-front:after{content:'';position:absolute;bottom:-160px;left:15%;width:70%;height:290px;transform:rotate(45deg);border:1px solid #c3a76a35}.env-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 56%);background:linear-gradient(#424240,#292929);transform-origin:top;transition:transform 1s;z-index:4}.letter{position:absolute;inset:12px 15px 20px;background:var(--ivory);display:grid;place-items:center;color:#837046;font-family:Georgia,serif;font-style:italic;font-size:19px;transition:transform 1s .25s;z-index:2}.seal{position:absolute;top:41%;left:calc(50% - 35px);z-index:5;width:70px;height:70px;border-radius:48% 52% 47% 50%;background:radial-gradient(at 32% 25%,#e1cb8f,#b89a55 50%,#8c703a);box-shadow:0 4px 8px #0006,inset 0 0 0 4px #d6ba7955,inset 0 0 0 6px #7b632a77;display:flex;align-items:center;justify-content:center;font:27px Georgia,serif;color:#6f572b;text-shadow:0 1px #e9d7a1;transition:opacity .3s}.seal span{font-size:15px;padding:0 2px}.open-hint{margin-top:32px;font-size:8px;letter-spacing:.26em;color:#c6bb9f}.cover-location{margin-top:32px;font-family:Georgia,serif;font-size:17px;font-style:italic;color:#9f9e8f}.opening .env-flap{transform:rotateX(180deg);z-index:1}.opening .seal{opacity:0}.opening .letter{transform:translateY(-70px)}.opened{opacity:0;visibility:hidden}.hero{height:820px;min-height:680px;position:relative;background:radial-gradient(ellipse at center,#282826,#141414 75%);color:var(--ivory);text-align:center;isolation:isolate}.topline{display:flex;justify-content:space-between;padding:28px 35px;font-size:8px;letter-spacing:.22em;color:#c8b88e}.hero-frame{position:absolute;inset:105px 20%;border:1px solid #b99d6255;border-radius:50% 50% 0 0;z-index:-1}.hero-frame:after{content:'';position:absolute;inset:9px;border:1px solid #b99d6225;border-radius:50% 50% 0 0}.hero-content{padding-top:100px;position:relative}.hero .eyebrow{font-size:8px;color:var(--gold)}h1{font:400 112px/.83 'Cormorant Garamond',Georgia,serif;margin:38px 0 30px}h1 span{display:block;font-size:45px;font-style:italic;color:var(--gold);margin:12px 0}.hero-date{display:flex;align-items:center;justify-content:center;gap:19px;margin-top:40px}.hero-date span{font-size:9px;letter-spacing:.2em;line-height:1.7}.hero-date strong{font:400 48px Georgia,serif;border-left:1px solid #bfa16c70;border-right:1px solid #bfa16c70;padding:0 22px}.hero-quote{font:italic 22px/1.5 'Cormorant Garamond',Georgia,serif;color:#d4cfbe;margin:28px 0 16px}.scroll-link{font-size:25px;color:var(--gold)}.botanical{position:absolute;width:210px;height:410px;color:#bca46c;opacity:.75;z-index:-1}.botanical-left{left:3%;top:280px;transform:rotate(-20deg)}.botanical-right{right:3%;top:105px;transform:rotate(155deg)}.intro>p{margin-bottom:12px}.ivory .eyebrow{color:#8c7449}.gold-rule{width:42px;height:1px;background:var(--gold);margin:38px auto}.parents{display:flex;align-items:center;justify-content:center;gap:40px;margin-top:32px}.parents small{font-size:8px;letter-spacing:.18em;color:#8c7449}.parents p{font:22px/1.6 'Cormorant Garamond',Georgia,serif;margin-top:10px}.tiny-star{width:22px;height:22px;color:var(--gold);display:block;margin:0 auto 24px}.parents .tiny-star{width:15px;height:15px;margin:0}.countdown .eyebrow,.dark .eyebrow{color:var(--gold)}.clock{display:flex;justify-content:center;align-items:flex-start;gap:25px;margin:32px 0}.clock div{min-width:60px}.clock strong{font:400 58px/1.2 'Cormorant Garamond',Georgia,serif;font-variant-numeric:tabular-nums}.clock span{display:block;font-size:8px;letter-spacing:.17em;color:#bfb9a8}.clock b{font:25px Georgia,serif;color:var(--gold);padding-top:15px}.countdown>p{font-size:10px;color:#bfb9a8}.places-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px}.places article{padding:0 20px}.places article+article{border-left:1px solid #bba67a55}.venue-icon{height:78px;width:78px;display:block;margin:0 auto 20px;color:#9e8351}.places h3{margin-top:18px}.time{font:26px 'Cormorant Garamond',Georgia,serif;margin:20px 0}.address{font-size:10px;line-height:1.9;min-height:55px}.button{border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:center;padding:13px 27px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;min-height:45px;background:transparent;color:inherit;transition:background .2s,color .2s}.button:hover{background:#bca46c28}.places .button{margin-top:22px}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-left:75px;padding-right:75px;text-align:left}.schedule p{color:#bdbbaa;font-size:11px}.schedule ol{padding:0;margin:0;list-style:none;border-left:1px solid #bda26555}.schedule li{position:relative;padding:0 0 25px 30px;display:flex;flex-direction:column}.schedule li:last-child{padding-bottom:0}.schedule li:before{content:'';position:absolute;left:-4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.schedule time{font-size:9px;letter-spacing:.1em;color:var(--gold)}.schedule li span{font:26px/1.3 'Cormorant Garamond',Georgia,serif}.schedule small{display:block;font:9px/2 'Montserrat',sans-serif;color:#bdbbaa}.dress{padding-bottom:55px}.dress h3{font-size:27px;margin-bottom:15px}.dress>p{font-size:11px}.gifts{border-top:1px solid #baa36c44;margin-top:0;padding-top:55px}.gift-actions{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:30px}.gift-label{font-size:9px;letter-spacing:.18em}.rsvp{position:relative;isolation:isolate}.rsvp-sprig{right:-55px;bottom:5px;transform:rotate(-20deg);opacity:.23}.pass-count{display:block;font:32px 'Cormorant Garamond',Georgia,serif;color:#e2cd9b;margin-top:10px}.text-button{background:none;border:0;color:#bfa66f;text-decoration:underline;text-underline-offset:5px;font-size:10px;margin-top:16px;padding:8px}.deadline{font-size:11px;margin:30px 0}.deadline strong{font-weight:500}.filled{background:#bca36d;color:#171912;border-color:#bca36d}.filled:hover{background:#dbc591}.rsvp-note{font-size:8px;letter-spacing:.12em;margin-top:20px;color:#b7b5a7}footer{text-align:center;padding:65px 25px 25px}.closing-names{font-size:48px;margin:22px 0}footer>p:not(.closing-names){font-size:10px;line-height:2}.footer-date{display:block;letter-spacing:.25em;font-size:9px;margin-top:25px}.brand{font:italic 18px Georgia,serif;color:#9d8758;margin-top:45px}.music-toggle{position:fixed;bottom:20px;right:20px;z-index:20;display:flex;align-items:center;gap:8px;background:#f5f2e9ee;color:#615536;border:1px solid var(--gold);border-radius:40px;padding:10px 15px;box-shadow:0 3px 15px #0002;font-size:9px}.music-toggle[hidden]{display:none}#music-symbol{font-size:20px;line-height:1}dialog{border:1px solid var(--gold);background:var(--ivory);color:var(--ink);padding:48px 28px 35px;max-width:390px;width:calc(100% - 40px);text-align:center;box-shadow:0 20px 70px #0005}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:40px}dialog p{font-size:11px;margin:15px 0}.close-modal{position:absolute;right:10px;top:5px;background:none;border:0;font-size:28px;color:#76633f}.ticket-count{font:80px/1.2 'Cormorant Garamond',Georgia,serif;color:#9a7e48;margin:20px 0 5px}.modal-note{font-size:9px!important}.bank-number{font-size:18px!important;letter-spacing:.06em}#copy-status{min-height:20px;font-size:10px}body.closed main{visibility:hidden}
@media(max-width:600px){section{padding:65px 27px}.envelope{height:210px}.envelope-intro{margin-bottom:42px}.cover-names{font-size:47px}.envelope-screen:before{inset:12px}.hero{height:760px;min-height:0}.topline{padding:25px 23px;font-size:6px}.hero-frame{inset:100px 38px 65px}.hero-content{padding-top:100px}h1{font-size:97px}.hero .eyebrow{font-size:7px;letter-spacing:.2em}.botanical{width:145px;height:300px}.botanical-left{left:-40px;top:340px;opacity:.5}.botanical-right{right:-40px;top:140px;opacity:.5}.hero-date{margin-top:35px}.hero-quote{font-size:21px}.intro p{font-size:11px}.parents{flex-direction:column;gap:24px}.parents p{font-size:22px}.parents .tiny-star{height:12px;width:12px}.clock{gap:11px}.clock div{min-width:47px}.clock strong{font-size:45px}.clock b{font-size:18px;padding-top:12px}.clock span{font-size:7px}.places-grid{grid-template-columns:1fr;gap:45px}.places article{padding:0}.places article+article{border-left:0;border-top:1px solid #bba67a55;padding-top:40px}.places h3{font-size:31px}.address{min-height:0}.schedule{grid-template-columns:1fr;gap:35px;padding:65px 48px}.schedule h2{margin-bottom:18px}.schedule li{padding-bottom:25px}.schedule li span{font-size:27px}.dress h3{font-size:25px}.gift-actions{flex-direction:column;gap:20px}.gifts p{font-size:11px}.gifts{padding-top:50px}.music-toggle{right:12px;bottom:12px;padding:9px 12px}#music-label{max-width:90px}.closing-names{font-size:45px}.rsvp-sprig{right:-35px;bottom:50px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Edición fotográfica · Jeisel & Julio */
:root{--ivory:#f6f1e7;--gold:#c9ab70}.envelope-screen{background:linear-gradient(#0003,#0002),url('assets/floral.png') center 48%/cover no-repeat #0b0a09}.envelope-screen:before{inset:22px;border-color:#d5b77966}.envelope-intro{position:relative;z-index:1;text-shadow:0 2px 18px #000;margin-bottom:48px}.cover-names{font-size:66px}.envelope-intro .eyebrow{color:#ecd8ac}.envelope{width:min(80vw,440px);height:270px;filter:drop-shadow(0 18px 20px #000b);transform:rotate(-3deg)}.env-back{background:#20201f}.env-front{background:linear-gradient(32deg,#171717,#33312d 49%,#1f1e1d);box-shadow:inset 0 0 40px #0006}.env-flap{background:linear-gradient(145deg,#3b3934,#1b1b1a);filter:drop-shadow(0 3px 2px #000)}.seal{width:112px;height:112px;left:calc(50% - 56px);top:34%;background:transparent;border-radius:0;box-shadow:none;filter:drop-shadow(1px 7px 5px #0009);transform:rotate(3deg)}.seal img{width:100%;height:100%;object-fit:contain}.open-hint{color:#f5e6c8;text-shadow:0 2px 8px #000}.cover-location{color:#eadbc1;text-shadow:0 2px 8px #000}.hero{background:#0c0b0a url('assets/floral.png') center 52%/cover no-repeat;height:920px}.hero-shade{position:absolute;inset:0;background:linear-gradient(#0001,#0002 65%,#0000)}.topline{position:relative;z-index:1;color:#f2d8a4}.hero-content{padding-top:145px;text-shadow:0 3px 18px #000}.hero .eyebrow{color:#ead1a0}h1{font-size:124px}.hero-date{margin-top:40px}.hero-quote{color:#f2e5cc}.intro{position:relative;padding-top:78px;background:radial-gradient(ellipse at top,#fffdf9,var(--ivory) 70%)}.intro-jewel{height:95px;margin-top:-125px;position:relative;z-index:2;margin-bottom:25px;filter:drop-shadow(0 7px 10px #4e361634)}.intro-jewel img{height:100%}.countdown{background:linear-gradient(#15120eee,#15120ee8),url('assets/reception.png') center/cover}.places{padding:70px 0 65px}.places-grid{gap:0}.places article{padding:0 26px}.places article+article{border:0}.venue-photo{height:280px;margin:0 -26px 5px;position:relative;overflow:hidden}.venue-photo img{width:100%;height:100%;object-fit:cover}.venue-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,var(--ivory) 100%)}.places article .eyebrow{position:relative;margin-top:-5px}.places h3{font-size:33px}.schedule{position:relative;background:linear-gradient(90deg,#100d08ed,#100d08d9),url('assets/reception.png') center/cover}.schedule li:before{box-shadow:0 0 10px #e6c58066}.dress{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0;overflow:hidden}.dress-photo{height:590px;position:relative}.dress-photo img{width:100%;height:100%;object-fit:cover}.dress-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 80%,var(--ivory))}.dress-copy{padding:50px 35px 50px 25px}.dress-copy h2{font-size:49px}.dress-copy p{font-size:11px}.gifts{padding:0 0 65px;border:0}.gift-photo{height:360px;position:relative}.gift-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.gift-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,var(--ivory))}.gift-copy{position:relative;margin-top:-10px;padding:0 25px}.rsvp{background:linear-gradient(#0c0b0aca,#0c0b0a99),url('assets/floral.png') center 70%/cover;padding-top:85px;padding-bottom:85px}.rsvp h2{text-shadow:0 3px 15px #000}.rsvp .eyebrow{color:#e5c891}.rsvp-note{color:#e5d9c4}footer{background:radial-gradient(ellipse at top,#fffdfa,var(--ivory))}.button{border-color:#a88b50}.filled{background:#d5b77b}.hero-content,.envelope-intro{animation:softArrival 1.5s ease both}@keyframes softArrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:601px){.envelope-screen{background-size:auto 145%;background-repeat:repeat-x}.envelope-screen:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#0000 20%,#0005);z-index:-1}.hero{background-size:100% auto;background-position:center 48%}}
@media(max-width:600px){.envelope-screen{background-position:center;background-size:100% 100%}.envelope-screen:before{inset:12px}.envelope-intro{margin-bottom:35px}.cover-names{font-size:49px}.envelope{height:215px;width:82vw}.seal{width:100px;height:100px;left:calc(50% - 50px);top:31%}.cover-location{margin-top:28px}.hero{height:870px;background-position:center;background-size:100% 100%}.hero-content{padding-top:145px}h1{font-size:106px}.hero-date{margin-top:35px}.hero-quote{margin-top:30px}.hero .eyebrow{font-size:7px}.hero-date strong{font-size:44px}.topline{font-size:6px;padding-top:28px}.intro{padding-top:62px}.intro-jewel{height:82px;margin-top:-103px;margin-bottom:28px}.places{padding-top:60px;padding-bottom:60px}.places-grid{gap:40px;margin-top:30px}.places article{padding:0 27px}.places article+article{border:0;padding-top:0}.venue-photo{height:265px;margin:0 -27px 5px}.places h3{font-size:32px}.schedule{padding:65px 40px}.dress{display:block;padding:0}.dress-photo{height:360px}.dress-photo img{object-position:center 42%}.dress-photo:after{background:linear-gradient(transparent 65%,var(--ivory))}.dress-copy{position:relative;margin-top:-8px;padding:0 28px 50px}.dress-copy h2{font-size:43px}.dress-copy h3{font-size:26px}.gifts{padding:0 0 60px}.gift-photo{height:285px}.gift-copy{margin-top:-3px}.rsvp{padding:70px 25px;background-position:center;background-size:cover}.parents{gap:23px}.rsvp .eyebrow{font-size:8px}}
@media(max-height:700px) and (max-width:600px){.envelope-intro{margin-bottom:20px}.cover-names{font-size:40px}.envelope{height:185px}.open-hint{margin-top:24px}.cover-location{margin-top:18px}.seal{height:88px;width:88px;left:calc(50% - 44px)}}
@media(min-width:601px){.envelope-screen{background-size:cover;background-repeat:no-repeat;background-position:center 48%}}
.hero-shade{background:linear-gradient(90deg,#0001,#0007 28%,#0008 65%,#0001)}.hero-quote{color:#fff6e6;text-shadow:0 2px 6px #000,0 0 18px #000}.hero-date{color:#fff9ed;text-shadow:0 2px 6px #000}.hero .eyebrow{color:#f2dfb9}
