:root{color:#193d58;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--sand:#e8d9c3;--ocean:#193d58;--ivory:#f7f3eb;--caramel:#c58f67;--sunset:#ddaa83;--sea:#8aada9;--serif:Georgia, "Times New Roman", serif;background:#f7f3eb;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100svh}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,article:focus-visible{outline:3px solid var(--ocean);outline-offset:6px}h1,h2,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.couple-gallery{text-align:center;color:var(--ocean);padding:80px 20px}.couple-gallery h2{font-family:var(--serif);margin:14px 0 24px;font-size:clamp(34px,6vw,52px);font-weight:400}.couple-photo{background:var(--ivory);border:1px solid #d4bd8b;width:min(100%,380px);margin:40px auto 0;padding:12px 12px 22px;box-shadow:0 18px 40px #193d5824}.couple-photo img{width:100%;height:auto;display:block}.couple-photo figcaption{font-family:var(--serif);margin-top:20px;font-size:24px;font-style:italic}.couple-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 75%;width:100%;height:auto}.wedding-preview{background-image:radial-gradient(#7d634212 .6px,#0000 .6px);background-size:5px 5px;min-height:100svh;padding:0 24px}.preview-header{border-bottom:1px solid #193d581f;justify-content:space-between;align-items:center;gap:16px;max-width:1160px;min-height:88px;margin:auto;display:flex}.preview-label{letter-spacing:.13em;text-transform:uppercase;font-size:10px;line-height:1.8}.language-switch{align-items:center;gap:4px;display:flex}.language-switch button{min-width:44px;min-height:44px;color:var(--ocean);background:0 0;border:0;font-size:12px}.language-switch button[aria-pressed=true]{text-underline-offset:6px;font-weight:700;text-decoration:underline}.invitation-stage{text-align:center;width:min(100%,760px);margin:auto;padding:44px 0 52px}.shell{width:52px;height:44px;color:var(--caramel)}.intro .shell{margin-bottom:22px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:10px;line-height:1.8}h1,h2{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.04em;margin:15px 0 22px;font-size:clamp(34px,6vw,58px);line-height:1.12}.fine-line{background:var(--caramel);width:54px;height:1px;margin:0 auto}.envelope{isolation:isolate;background-color:var(--sand);perspective:1000px;background-image:radial-gradient(#6e52301a .6px,#0000 .6px);background-size:4px 4px;border:1px solid #7d63422e;width:min(100%,550px);height:clamp(220px,48vw,310px);margin:38px auto 0;position:relative;box-shadow:0 18px 38px #53402b1a}.envelope:before,.envelope:after{content:"";pointer-events:none;position:absolute;inset:0}.envelope:before{clip-path:polygon(0 0,52% 55%,0 100%);background:#f7f3eb3d}.envelope:after{clip-path:polygon(100% 0,48% 55%,100% 100%);background:#c58f6714}.envelope-fold{z-index:1;clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:top;backface-visibility:hidden;background:#efdfca;transition:transform .7s;position:absolute;inset:0}.is-open .envelope-fold{transform:rotateX(180deg)}.wax-seal{z-index:2;background:var(--ocean);width:88px;height:88px;color:var(--ivory);border:1px solid #f7f3eb26;border-radius:46% 54% 48% 52%/53% 46% 54% 47%;transition:opacity .25s,transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 5px #f7f3eb0f,inset 0 0 0 8px #0000001f,2px 6px 10px #193d5838}.wax-seal span{font-family:var(--serif);font-size:40px;font-style:italic}.wax-seal:hover{transform:translate(-50%,-50%)scale(1.05)}.is-open .wax-seal{opacity:0;pointer-events:none}.envelope-caption{font-family:var(--serif);font-size:15px;font-style:italic;position:absolute;bottom:24px;left:16px;right:16px}.opening-controls{margin-top:28px}.opening-controls p{letter-spacing:.04em;margin-bottom:18px;font-size:12px}.outline-button{border:1px solid var(--ocean);min-height:48px;color:var(--ocean);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:13px 24px;font-size:11px;transition:background .18s,color .18s}.outline-button:hover{background:var(--ocean);color:var(--ivory)}.invitation-letter{z-index:3;background:var(--ivory);border:1px solid #c58f6759;width:min(90%,480px);margin:-205px auto 0;padding:40px 32px;animation:.65s both reveal-letter;position:relative;box-shadow:0 16px 35px #53402b14}.invitation-letter h2{margin:14px 0 22px;font-size:clamp(30px,5vw,42px)}.letter-message{font-family:var(--serif);margin-top:26px;font-size:21px;line-height:1.65}.letter-details{margin-top:20px;font-size:12px;line-height:1.9}.invitation-letter .shell{width:38px;margin:26px auto;display:block}.preview-footer{text-align:center;padding-bottom:28px}.preview-footer svg{width:min(75%,260px);stroke:var(--sea);stroke-width:1px}@keyframes reveal-letter{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.wedding-preview{padding:0 18px}.preview-header{min-height:72px}.preview-label{max-width:170px;font-size:9px}.invitation-stage{padding-top:30px}.invitation-letter{margin-top:-170px;padding:30px 22px}.wax-seal{width:76px;height:76px}}.wax-seal{width:108px;height:108px;box-shadow:none;filter:drop-shadow(2px 5px 4px #193d5840);background:url(/sello-cera.png) 50%/contain no-repeat;border:0;border-radius:50%;padding:0}.wax-seal span{color:var(--ivory);text-shadow:0 1px 2px #0006;font-size:36px;display:block}@media (width<=480px){.wax-seal{width:92px;height:92px}}.wax-seal span{letter-spacing:2px;color:#e7c777;background:linear-gradient(135deg,#fff1b8 0%,#d4a545 35%,#fff0b0 50%,#b88029 75%,#eed28b 100%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 1px 1px #000000a6);-webkit-background-clip:text;background-clip:text;font-family:Georgia,Times New Roman,serif;font-size:30px;font-style:normal;font-weight:400;line-height:1}@media (width<=480px){.wax-seal span{font-size:25px}}.envelope{background:url(/papel-arena.png) 50%/cover;border:1px solid #cdb99b;box-shadow:0 18px 35px #503a2029,0 3px 6px #503a201f}.envelope:before{background:linear-gradient(110deg,#ffffff26,#71502b18),url(/papel-arena.png) 50%/cover}.envelope:after{background:linear-gradient(250deg,#71502b26,#ffffff08),url(/papel-arena.png) 50%/cover}.envelope-fold{background:linear-gradient(#ffffff30,#71502b14),url(/papel-arena.png) 50%/cover}.invitation-letter{background:linear-gradient(#f7f3ebf0,#f7f3ebf0),url(/papel-arena.png) 50%/cover;border:1px solid #d4bd8b;box-shadow:0 20px 45px #193d5824,inset 0 0 0 7px #f7f3eb,inset 0 0 0 8px #c59f5559}.invitation-letter h2{color:var(--ocean)}.invitation-letter .fine-line{background:linear-gradient(90deg,#0000,#bd944b,#0000);width:100px}.discover-button{background:var(--ocean);width:fit-content;color:var(--ivory);border:1px solid var(--ocean);text-transform:uppercase;letter-spacing:1.5px;justify-content:center;align-items:center;gap:14px;margin:22px auto 0;padding:16px 22px;font-size:11px;text-decoration:none;display:flex}.discover-button:hover{background:#285570}.discover-button:focus-visible{outline-offset:5px;outline:3px solid #bd944b}.wedding-film{isolation:isolate;background:#193d58;place-items:center;width:100%;min-height:clamp(420px,80svh,720px);margin-top:64px;scroll-margin-top:20px;display:grid;position:relative;overflow:hidden}.wedding-film-video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.wedding-film-shade{z-index:1;pointer-events:none;background:linear-gradient(#0c1e2c2e,#0c1e2c6b);position:absolute;inset:0}.wedding-film-content{z-index:2;color:#fff8e9;text-align:center;pointer-events:none;padding:60px 24px 90px;position:relative}.wedding-film-content h2{font-family:var(--serif);color:#fff8e9;text-shadow:0 2px 14px #00000059;margin:20px 0 28px;font-size:clamp(36px,7vw,68px);font-weight:400;line-height:1.15}.wedding-film-content .fine-line{background:#e7c777}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.wedding-film{border:0;border-radius:0;width:100vw;max-width:none;height:100svh;min-height:100svh;margin-top:64px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.wedding-film-video{object-fit:cover;pointer-events:none;width:100%;height:100%}.wedding-film-content{padding:40px 24px}.wedding-film-content h2{font-size:clamp(44px,8vw,100px)}#nuestra-boda{scroll-margin-top:0}.wedding-venue{text-align:center;padding:60px 0 80px}.wedding-venue h2{font-family:var(--serif);color:var(--ocean);margin:16px 0 28px;font-size:clamp(28px,5vw,44px);font-weight:400}.venue-logo{background:#fff;width:min(100%,340px);margin:0 auto 36px;padding:20px}.venue-logo img{width:100%;height:auto;display:block}.venue-photo{border:1px solid #d4bd8b;width:100%;height:auto;display:block;box-shadow:0 16px 36px #193d581f}.hotel-carousel{margin-top:24px}.hotel-carousel-photo{object-fit:contain;background:#e8d9c3;border:1px solid #d4bd8b;border-radius:8px;width:100%;height:clamp(280px,65vw,520px);display:block;box-shadow:0 10px 28px #193d581f}.hotel-carousel-controls{color:#193d58;justify-content:center;align-items:center;gap:24px;margin-top:18px;display:flex}.hotel-carousel-controls button{color:#f7f3eb;cursor:pointer;background:#193d58;border:1px solid #193d58;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;font-size:24px;display:grid}.hotel-carousel-controls button:hover{background:#285570}.hotel-carousel-controls button:focus-visible{outline-offset:4px;outline:3px solid #c58f67}.hotel-carousel-controls span{text-align:center;min-width:50px;font-size:14px}.hotel-links{text-align:center;color:#193d58;max-width:480px;margin:36px auto 0}.hotel-links p{font-size:16px;line-height:1.7}.hotel-link{color:#f7f3eb;background:#193d58;border:1px solid #193d58;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:48px;margin:20px auto 0;padding:14px 24px;font-size:14px;text-decoration:none;display:flex}.hotel-link:hover{background:#285570}.hotel-link:focus-visible{outline-offset:4px;outline:3px solid #c58f67}.hotel-link-map{color:#193d58;background:0 0;margin-top:12px}.hotel-link-map:hover{background:#e8d9c3}.hotel-links .hotel-location-text{margin-top:36px}.wedding-date{color:#f7f3eb;letter-spacing:1px;text-shadow:0 2px 8px #00000073;margin:0 0 28px;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,4vw,32px)}.rsvp-sea{isolation:isolate;box-sizing:border-box;color:#fff;background:radial-gradient(at 90% 10%,#21778a 0,#0000 50%),linear-gradient(155deg,#092c46,#124e68 65%,#176e80);width:100vw;margin:40px calc(50% - 50vw) 0;padding:80px 24px 120px;position:relative;overflow:hidden}.rsvp-heading{z-index:1;text-align:center;max-width:650px;margin:0 auto 36px;position:relative}.rsvp-eyebrow{color:#e5c997;letter-spacing:3px;font-size:11px}.rsvp-heading h2{color:#fff;margin:18px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,6vw,54px);font-weight:400;line-height:1.15}.rsvp-heading>p:last-child{color:#d9edf0;line-height:1.7}.rsvp-palm{color:#93cbd0;opacity:.15;pointer-events:none;width:clamp(150px,24vw,320px);position:absolute;top:20px;left:-30px;transform:rotate(-12deg)}.rsvp-card{z-index:1;box-sizing:border-box;color:#193d58;text-align:center;background:#fafcfb;border:1px solid #ddc599;border-radius:100px 100px 16px 16px;width:min(100%,600px);margin:0 auto;padding:36px 40px 44px;position:relative;box-shadow:0 25px 65px #031d394d}.rsvp-shell{color:#a78245;width:64px;height:52px;margin:0 auto 16px;display:block}.rsvp-card h3{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(27px,5vw,36px);font-weight:400;line-height:1.2}.rsvp-card-intro{color:#506a78;font-size:15px;line-height:1.7}.rsvp-form{text-align:left;gap:26px;margin-top:30px;display:grid}.rsvp-field{gap:10px;font-size:14px;font-weight:600;display:grid}.rsvp-field input{box-sizing:border-box;color:#163c53;width:100%;min-width:0;min-height:52px;font:inherit;background:#fff;border:1px solid #a9c3ce;border-radius:8px;padding:14px 16px;font-size:16px;font-weight:400}.rsvp-field input::placeholder{color:#6a7e89}.rsvp-field input:focus-visible{outline-offset:3px;outline:3px solid #319aaa}.rsvp-question{border:0;min-width:0;margin:0;padding:0}.rsvp-question legend{margin-bottom:12px;padding:0;font-size:14px;font-weight:600}.rsvp-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rsvp-choice{cursor:pointer;position:relative}.rsvp-choice input{opacity:0;width:1px;height:1px;position:absolute}.rsvp-choice span{box-sizing:border-box;color:#193d58;text-align:center;background:#eef5f7;border:1px solid #a9c3ce;border-radius:8px;justify-content:center;align-items:center;height:100%;min-height:52px;padding:12px;font-size:14px;display:flex}.rsvp-choice input:checked+span{color:#fff;background:#125c77;border-color:#125c77;box-shadow:inset 0 -3px #d8bd88}.rsvp-choice input:focus-visible+span{outline-offset:3px;outline:3px solid #319aaa}.rsvp-extra{gap:24px;display:grid}.rsvp-submit{color:#fff;cursor:pointer;background:linear-gradient(110deg,#103b57,#176b80);border:1px solid #123f59;border-radius:8px;min-height:56px;padding:16px 20px;font-size:16px}.rsvp-submit:hover{background:#103b57}.rsvp-submit:focus-visible{outline-offset:4px;outline:3px solid #a78245}.rsvp-preview-note{color:#526875;text-align:center;font-size:12px;line-height:1.6}.rsvp-review{text-align:left;overflow-wrap:anywhere;background:#e9f3f5;border:1px solid #a9c3ce;border-radius:8px;margin-top:24px;padding:20px}.rsvp-review h4{margin:0 0 12px}.rsvp-review p{margin:6px 0;font-size:14px;line-height:1.6}.rsvp-star{color:#a78245;pointer-events:none;font-size:30px;position:absolute;bottom:12px;right:18px}.rsvp-waves{pointer-events:none;width:100%;height:95px;position:absolute;bottom:0;left:0}@media (width<=540px){.rsvp-sea{padding:56px 18px 100px}.rsvp-card{border-radius:65px 65px 14px 14px;padding:32px 22px 38px}.rsvp-eyebrow{letter-spacing:2px}}
