@import"https://fonts.googleapis.com/css2?family=Imperial+Script&family=Playfair+Display:wght@400;500;600&display=swap";:root{color-scheme:light;font-family:Playfair Display,serif;background-color:#f0f4e6;color:#1f2a24;--green-900: #182a20;--green-800: #243726;--green-700: #344a31;--green-600: #4a6039;--green-500: #5f7645;--sage-200: #e4ead8;--sage-100: #f2f6e8;--mint-200: #cfe0b9;--accent: #e4b455;--gold-200: #f6dfab;--gold-300: #d1a24a;--gold-400: #a87322;--shadow: 0 24px 60px rgba(24, 35, 24, .18)}*{box-sizing:border-box}body{margin:0;background-color:#2f462c;background-image:url(/assets/background.webp);background-size:cover;background-position:center;background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:none;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:none;pointer-events:none;z-index:0}body:has(.envelope-screen:not(.is-open)){overflow:hidden}h1,h2,h3{font-family:Imperial Script,cursive;font-weight:500;font-style:italic;font-size:1.35em;margin:0}p{margin:0;line-height:1.6;text-align:justify}.page{min-height:100vh;position:relative;z-index:1}.envelope-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/assets/background2.webp);background-size:cover;background-position:center;display:grid;place-items:center;padding-bottom:48px;gap:1px;z-index:100;transition:opacity .6s ease,visibility .6s ease;--open-progress: 0;touch-action:none}.envelope-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-size:360px 360px;background-repeat:repeat;opacity:.45;pointer-events:none;z-index:0}.envelope-screen>*{position:relative;z-index:1}.envelope-photo-stream{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.envelope-photo-stream .photo-float{position:absolute;left:50%;bottom:22%;width:140px;height:105px;padding:10px;border-radius:8px;background:#f7f4ec;box-shadow:0 12px 26px #201a1240;opacity:0;transform:translate3d(calc(-50% + var(--x)),40px,0) rotate(var(--rot)) scale(.75)}.envelope-photo-stream .photo-float img{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block}.envelope-photo-stream.is-active .photo-float{animation:float-out 3.4s ease-in-out forwards;animation-delay:var(--delay)}@keyframes float-out{0%{opacity:0;transform:translate3d(calc(-50% + var(--x)),40px,0) rotate(var(--rot)) scale(.7)}20%{opacity:1}70%{opacity:1;transform:translate3d(calc(-50% + var(--x)),-140px,0) rotate(var(--rot)) scale(.95)}to{opacity:0;transform:translate3d(calc(-50% + var(--x)),-260px,0) rotate(var(--rot)) scale(1)}}@media (max-width: 640px){.envelope-photo-stream .photo-float{width:110px;height:82px;bottom:20%}}.envelope-screen.is-dismissed{opacity:0;visibility:hidden;pointer-events:none}.envelope{position:relative;width:min(420px,86vw);height:min(280px,58vw);transform:translateY(calc(var(--open-progress) * -10px));transition:transform .3s ease;perspective:1200px}.envelope-body{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#dcc28d,#cfb07a);border-radius:16px;box-shadow:0 20px 30px #2c201a29;transition:box-shadow .3s ease;border:1px solid rgba(160,130,80,.4)}.envelope-body:before,.envelope-body:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:linear-gradient(135deg,transparent 49%,rgba(162,136,86,.55) 50%,transparent 51%),linear-gradient(225deg,transparent 49%,rgba(162,136,86,.55) 50%,transparent 51%);opacity:.7}.envelope-body:after{background:linear-gradient(315deg,transparent 49%,rgba(162,136,86,.4) 50%,transparent 51%),linear-gradient(45deg,transparent 49%,rgba(162,136,86,.4) 50%,transparent 51%);opacity:.45}.envelope-flap{position:absolute;left:0;right:0;top:0;height:60%;background:#a8966c;clip-path:polygon(2% 2%,98% 2%,50% 100%);border:0;transform-origin:top center;transform:rotateX(calc(var(--open-progress) * 170deg)) translateY(calc(var(--open-progress) * -6px)) scaleY(calc(1 + (var(--open-progress) * .02)));transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 calc(6px + var(--open-progress) * 18px) calc(14px + var(--open-progress) * 24px) #5a46284d;z-index:2;cursor:grab;transform-style:preserve-3d;backface-visibility:hidden}.envelope-screen.is-open .envelope-flap{transition:transform .6s ease}.envelope-card{position:absolute;top:18px;right:18px;bottom:18px;left:18px;background:#f8f3eae6;border-radius:16px;padding:22px;display:grid;gap:8px;text-align:center;justify-items:center;z-index:2;transform:translateY(calc(10% + (var(--open-progress) * -130%))) scale(calc(1 + var(--open-progress) * .05)) rotate(calc(var(--open-progress) * -1deg));transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 calc(8px + var(--open-progress) * 24px) calc(18px + var(--open-progress) * 32px) #2a1e1240;opacity:calc(var(--open-progress))}.envelope-screen.is-open .envelope-card,.envelope-screen.is-open .envelope{transition:transform .6s ease}.envelope-card p{text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;color:#6c5a46;text-align:center}.envelope-subtitle{text-transform:none;letter-spacing:.08em;font-size:.75rem;color:#6c5a46;text-align:center}.envelope-card h2{font-family:Imperial Script,cursive;font-size:1.9rem;color:#4e4033}.envelope-card h2 span{color:#3b5b3f}.envelope-seal{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#8bb78c,#6f9a70);color:#fff3f3;font-family:Imperial Script,cursive;display:grid;place-items:center;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%) scale(calc(1 - (var(--open-progress) * .15)));font-size:1.1rem;letter-spacing:.1em;box-shadow:0 12px 20px #223c2859;border:0;z-index:4;opacity:calc(1 - (var(--open-progress) * .5));transition:transform .3s ease,opacity .3s ease}.envelope-hint{position:absolute;left:50%;bottom:8%;transform:translate(-50%);font-size:.54rem;text-transform:uppercase;letter-spacing:.25em;color:#6c5a46;text-align:center;z-index:3;opacity:calc(1 - (var(--open-progress) * .7));transition:opacity .3s ease}@media (max-width: 520px){.envelope-seal{top:54%}.envelope-hint{bottom:8%;font-size:.68rem}}.hero{position:relative;padding:120px 8vw 100px;overflow:hidden}.hero:after,.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#f8fcf659,#e2eee233);z-index:0}.hero:before{background:linear-gradient(120deg,#0c120f33,#16221b1a),radial-gradient(circle at 20% 30%,rgba(34,52,40,.65),transparent 65%),linear-gradient(140deg,#2b3b2f,#415a45 40%,#7b9682);opacity:.5}.hero-photo{min-height:85vh;display:grid;align-items:end;color:#f3f7f2;background-image:url(/assets/boda.webp);background-size:cover;background-position:center;background-color:#2b3b2f}.hero-photo .hero-content{max-width:680px}.hero-photo .eyebrow,.hero-photo .lead{color:#f0f6f0d9;font-size:large}.hero-photo h1{color:#f8fbf6}.hero-content{position:relative;z-index:2;max-width:780px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--green-600);margin-bottom:100px;margin-top:0;text-align:center}.hero h1{font-size:clamp(3.4rem,6.2vw,5.2rem);color:var(--green-900);margin-bottom:18px}.hero h1 span{color:var(--accent);font-weight:400}.lead{font-size:1.1rem;color:var(--green-800);margin-bottom:32px}.lead-highlight{font-family:Imperial Script,cursive;font-size:clamp(2rem,4.2vw,2.9rem);color:var(--gold-600);margin:0 0 8px}.hero-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;padding:20px 24px;border-radius:20px;background:#ffffffb3;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid var(--gold-400);box-shadow:0 18px 36px #a8732240,var(--shadow)}.hero-meta span{display:block;font-size:.85rem;color:var(--green-600)}.hero-meta strong{font-weight:600;color:var(--green-900)}.hero-orb{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#56967073,#2a5c4438);top:-90px;right:12%;filter:blur(1.4px);box-shadow:0 0 110px #46826438;animation:float 14s ease-in-out infinite;z-index:1}.hero-orb.orb-small{width:180px;height:180px;top:55%;left:-60px;background:radial-gradient(circle at 35% 35%,#8cc4a066,#447a5e2e);box-shadow:0 0 90px #64967840;animation-duration:17s}.hero-orb.orb-soft{width:240px;height:240px;top:18%;right:-80px;background:radial-gradient(circle at 40% 40%,#bad8c659,#5a8c6e29);box-shadow:0 0 120px #78aa8c33;animation-duration:19s;animation-delay:1.5s}.hero-orb.orb-soft:after{content:"";position:absolute;top:28%;right:28%;bottom:28%;left:28%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e6f5ea80,#78aa8c26);filter:blur(6px)}.orb-secondary{width:360px;height:360px;top:120px;right:40px;background:radial-gradient(circle at 40% 40%,#d2e8d4f2,#528466a6);box-shadow:0 0 140px #6ea07880;animation-delay:3s}main{display:flex;flex-direction:column;gap:90px;padding:0 8vw}.section{background:#ffffffbf;border-radius:28px;padding:40px clamp(24px,4vw,60px);box-shadow:var(--shadow);position:relative;overflow:hidden;border:2px solid var(--gold-400)}#detalles,#programa{margin-top:48px}.paper{background:linear-gradient(160deg,#fffffff2,#f6f7f1e6);box-shadow:0 20px 50px #14231b1f}.paper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(0deg,rgba(34,54,40,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,54,40,.03) 1px,transparent 1px);background-size:26px 26px;opacity:.4;pointer-events:none}.section-heading{display:grid;gap:12px;margin-bottom:32px}.section-heading h2{font-size:clamp(2rem,3.5vw,3rem);color:var(--green-900)}.section-heading p{color:var(--green-700)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.detail-card{padding:22px;border-radius:20px;background:linear-gradient(160deg,#f9fbf7,#e3efe3);border:1px solid rgba(78,127,93,.15);min-height:140px;display:grid;gap:10px;border-color:#a8732299}.detail-card h3{font-size:1.3rem;color:var(--green-900)}.detail-card p{color:var(--green-700);font-size:.98rem}.timeline{display:grid;gap:16px;position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:12px;width:2px;background:linear-gradient(180deg,#a8732226,#a87322d9)}.timeline-item{display:grid;gap:8px;padding:18px 22px;border-radius:18px;background:#ffffffd9;box-shadow:var(--shadow);border:2px solid rgba(168,115,34,.6);position:relative}.timeline-item:before{content:"";position:absolute;left:-40px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--gold-400);box-shadow:0 0 0 6px #f6dfab99}.timeline-item span{display:inline-block;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600)}.timeline-item strong{display:block;font-size:1.2rem;color:var(--green-900);margin-top:6px}.timeline-item p{color:var(--green-700);margin:0}.rsvp-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-radius:22px;background:#ffffffd9;box-shadow:var(--shadow);border:2px solid rgba(168,115,34,.6)}.hotel-card{display:grid;gap:14px;background:#ffffffd9;border-radius:22px;padding:24px;box-shadow:var(--shadow);border:2px solid rgba(168,115,34,.6);color:var(--green-800)}.rsvp-card h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:var(--green-900);margin-bottom:6px}.rsvp-card p{color:var(--green-700)}.rsvp-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:var(--green-700);color:#f5faf5;text-decoration:none;font-weight:600;letter-spacing:.02em;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 14px 24px #21382a33;border:none;cursor:pointer}.rsvp-button:hover{transform:translateY(-2px);box-shadow:0 18px 26px #21382a40}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1418128c;display:grid;place-items:center;z-index:200;padding:24px}.modal-card{background:#fffffff2;border-radius:22px;padding:24px;width:min(360px,90vw);box-shadow:var(--shadow);border:2px solid rgba(168,115,34,.6);text-align:center}.modal-actions{display:grid;gap:12px;margin:18px 0}.modal-actions a{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;background:var(--green-700);color:#f5faf5;text-decoration:none;font-weight:600}.modal-close{background:transparent;border:1px solid rgba(168,115,34,.6);color:var(--green-800);padding:8px 16px;border-radius:999px;cursor:pointer}#countdown{background:radial-gradient(circle at 20% 20%,#f1f8f1e6,#d6e8dad9)}#countdown:before,#countdown:after{content:"";position:absolute;border-radius:50%;width:340px;height:340px;background:radial-gradient(circle at 30% 30%,#5e9a76,#30664ab3);top:-120px;right:-120px;filter:blur(.5px);box-shadow:0 0 160px #4682648c;animation:float 14s ease-in-out infinite;z-index:0}#countdown:after{width:260px;height:260px;top:120px;right:40px;background:radial-gradient(circle at 40% 40%,#d2e8d4f2,#528466a6);box-shadow:0 0 140px #6ea07880;animation-delay:3s}#countdown .section-heading{position:relative;z-index:1}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px;position:relative;z-index:1}.countdown-card{background:#ffffffd9;border-radius:18px;padding:18px;text-align:center;box-shadow:var(--shadow);border:2px solid rgba(168,115,34,.6)}.countdown-card span{display:block;color:var(--green-600);font-size:.85rem}.countdown-card strong{font-size:2rem;color:var(--green-900)}.calendar-card{display:grid;gap:16px;background:#ffffffd9;border-radius:22px;padding:24px;box-shadow:var(--shadow);position:relative;z-index:1;border:2px solid rgba(168,115,34,.6)}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header h3{font-size:1.4rem;color:var(--green-900)}.calendar-header span{font-size:2.2rem;color:var(--accent);font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{text-align:center;font-weight:600;color:var(--green-700);font-size:.9rem}.calendar-date{text-align:center;padding:10px 0;border-radius:12px;background:#e3efe399;color:var(--green-800);font-weight:500;min-height:36px}.calendar-date.is-selected{background:var(--green-700);color:#f6fbf6;box-shadow:0 10px 20px #2c4f3840}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.media-placeholder,.map-placeholder{border-radius:24px;border:1px dashed rgba(44,79,56,.35);background:linear-gradient(140deg,#d7e6d599,#f6faf4e6);color:var(--green-700);display:grid;place-items:center;text-align:center;font-weight:500}.media-placeholder{min-height:220px}.media-placeholder.media-image{padding:12px}.media-placeholder.media-image img{width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:18px}.vestimenta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;align-items:start}.vestimenta-text{font-size:1.05rem;color:var(--green-800)}.map-placeholder{min-height:300px;font-size:1.1rem}.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.map-card{background:#ffffffd9;border-radius:22px;padding:20px;box-shadow:var(--shadow);display:grid;gap:10px;border:2px solid rgba(168,115,34,.6)}.map-card h3{font-size:1.3rem;color:var(--green-900)}.map-card p{color:var(--green-700);font-size:.95rem}.map-embed{border-radius:18px;overflow:hidden;border:1px solid rgba(44,79,56,.2);min-height:240px}.map-embed iframe{width:100%;height:100%;min-height:240px;border:0;display:block}.photo-frame{border-radius:28px;padding:16px;background:#ffffffd9;border:2px solid rgba(168,115,34,.6);box-shadow:var(--shadow)}.photo-frame img{width:100%;height:auto;display:block;border-radius:20px;object-fit:cover}.footer{padding:0 8vw 32px;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:center}.footer h2{font-size:clamp(2rem,3vw,2.6rem);color:var(--green-900);margin-bottom:12px;text-align:center}.footer p{color:var(--green-700);text-align:justify}.footer-card{background:linear-gradient(150deg,#f4f8f2,#dbe7d7);padding:20px 28px;border-radius:22px;color:var(--green-900);box-shadow:var(--shadow);min-width:220px}.footer-card strong{display:block;font-size:1.1rem;margin-top:6px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(-20px,18px,0)}}@media (max-width: 720px){.hero{padding:100px 6vw 80px}.hero-meta{padding:18px}.section{padding:32px 22px}main{gap:60px;padding:0 6vw 0px}.footer{padding:60px 6vw 80px}}
