:root{font-family:Manrope,sans-serif;color:#f0eddf;background:#061510;font-synthesis:none;font-weight:400;--gold:#d6c08b;--muted:#b6bbae;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}html{scrollbar-width:thin;scrollbar-color:#7a785d #091b16}body.locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{touch-action:manipulation}a{color:inherit}::selection{background:#9e885d;color:#fff}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(2.8rem,4.5vw,4.8rem);line-height:1.05}h2 em{color:#e2d2a9;font-weight:400}p{line-height:1.75}.world,.world-loading,.fallback-world{position:fixed;top:0;right:0;bottom:0;left:0;background:#061510;transition:filter .6s}.world.defocused{filter:blur(9px) brightness(.55)}.world canvas{width:100%!important;height:100%!important;touch-action:pan-y}.fallback-world{background:radial-gradient(ellipse at 50% 20%,#4c5c48 0,transparent 45%),radial-gradient(ellipse at 40% 75%,#24483b 0,#061510 70%)}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,13,10,.65),transparent 25%,transparent 58%,rgba(2,12,9,.85)),radial-gradient(ellipse at center,transparent 25%,rgba(0,9,6,.45));z-index:1}.film-grain{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.025;pointer-events:none;z-index:10;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='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.9' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{position:fixed;z-index:12;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:27px 4.1vw}.monogram{font-family:var(--serif);font-size:33px;letter-spacing:-3px;text-decoration:none;line-height:1}.monogram span{font-size:25px;font-style:italic;color:var(--gold);margin:0 3px}.top-caption{font-size:11px;letter-spacing:.24em;color:#c5c6b9}.sound-button{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;padding:10px 0}.sound-button svg{color:var(--gold)}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;flex-direction:column;text-align:center;background:linear-gradient(180deg,rgba(1,10,7,.16),transparent 30%,rgba(1,10,7,.2))}.welcome-top{position:absolute;top:16%;display:flex;flex-direction:column;gap:13px;align-items:center}.tiny-star{font-size:32px;color:var(--gold)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.26em;color:var(--gold);line-height:1.7}.welcome-center{position:absolute;top:38%;left:15px;right:15px}.invitation-line{font-family:var(--serif);font-size:clamp(19px,2vw,25px);font-style:italic;color:#e2decf;margin-bottom:11px;text-shadow:0 2px 15px #03130b}h1{font-size:clamp(75px,10.8vw,162px);letter-spacing:-.055em;line-height:1.1;text-shadow:0 2px 40px #04180d}h1 span{font-size:.67em;font-style:italic;color:#d8c59b;margin:0 .11em}.wedding-label{font-size:11px;letter-spacing:.32em;margin-top:17px;color:#e2dfcb}.welcome-bottom{position:absolute;bottom:8%;display:flex;align-items:center;flex-direction:column}.enter-button{display:flex;gap:38px;align-items:center;border:1px solid #a38e5f;padding:17px 26px;background:#11281ce0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;letter-spacing:.08em;transition:background .35s,box-shadow .35s;min-height:54px}.enter-button:hover{background:#45503a;box-shadow:0 0 35px #d4c18a22}.button-star{font-size:18px;color:var(--gold)}.silent-enter{font-size:11px;color:#c9c9b8;margin-top:8px;padding:10px;text-decoration:underline;text-underline-offset:4px}.welcome-bottom>p{font-family:var(--serif);font-size:17px;font-style:italic;color:#a6b3a3;margin-top:22px}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#020805f2;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}.intro p{max-width:780px;font-family:var(--serif);font-size:clamp(32px,5vw,61px);line-height:1.3;color:#e8e0c8}.intro p span{display:inline-block;white-space:pre}.intro>button{position:absolute;bottom:9%;font-size:12px;color:var(--muted);padding:14px}.first-firefly{position:absolute;top:32%;left:49%;width:5px;height:5px;background:#ffe9a5;border-radius:50%;box-shadow:0 0 12px 4px #fbe1a577,0 0 60px 14px #e7d68622;animation:firefly 6s ease-in-out infinite}@keyframes firefly{0%,to{transform:translate(-100px,40px);opacity:.25}40%{transform:translate(80px,-70px);opacity:1}70%{transform:translate(160px,20px)}}.scroll-journey{position:relative;pointer-events:none}.scroll-space{height:720vh;height:720svh}.scroll-journey.waiting{height:100vh;overflow:hidden}.scene-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.scene-copy{position:absolute}.scene-copy button,.scene-copy a{pointer-events:auto}.scene-copy>p:not(.eyebrow){font-size:14px;color:#ced1c1;margin-top:20px;max-width:340px}.scene-copy .eyebrow{margin-bottom:22px}.entrance-copy{left:8%;bottom:18%;text-shadow:0 2px 35px #001b0e}.entrance-copy h2{font-size:clamp(50px,6vw,85px)}.scroll-prompt{display:flex;align-items:center;gap:24px;margin-top:32px;padding:12px 0;font-size:10px;letter-spacing:.18em;color:#e4d4a9}.scroll-prompt svg{animation:down 2s infinite}@keyframes down{50%{transform:translateY(6px)}}.chapter-nav{position:fixed;right:3.5%;top:50%;transform:translateY(-50%);z-index:8;display:flex;flex-direction:column;gap:9px}.chapter-nav button{display:flex;gap:14px;align-items:center;justify-content:flex-end;min-height:31px;min-width:38px}.chapter-dot{width:5px;height:5px;border-radius:100%;background:#b3b99877;position:relative;transition:background .4s}.chapter-dot:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid transparent;border-radius:100%;transition:border-color .4s}.chapter-nav .active .chapter-dot{background:#e9d49c}.chapter-nav .active .chapter-dot:after{border-color:#b6a57388}.chapter-name{font-size:11px;color:#bdbfaa;opacity:0;transition:opacity .3s;letter-spacing:.02em}.chapter-nav button:hover .chapter-name,.chapter-nav .active .chapter-name{opacity:1}.memory-heading{top:15%;left:7%}.memory-heading h2{font-size:clamp(34px,4vw,60px)}.memory-shortcuts{display:flex;gap:10px;margin-top:22px}.memory-shortcuts button{display:flex;align-items:center;gap:15px;border-bottom:1px solid #b3a37077;padding:12px 5px;font-size:12px;color:#d8c9a4}.memory-shortcuts button:hover{border-color:#f2d793;color:#fff}.photo-label{color:#f4e8cc;text-shadow:0 2px 8px #000}.photo-label span{font-size:11px;letter-spacing:.2em}.photo-label p{font-size:22px;font-family:var(--serif);line-height:1.3;margin-top:4px}.tree-copy{top:22%;left:8%;text-shadow:0 2px 20px #001108}.tree-copy h2{font-size:clamp(36px,4.5vw,64px)}.timeline{margin-top:35px}.timeline>div{display:flex;align-items:center;gap:16px;padding:15px 0;position:relative;color:#afb5a8;font-size:13px}.timeline-light{height:5px;width:5px;background:#747e63;border-radius:50%;position:relative}.timeline-light:after{position:absolute;content:"";height:48px;width:1px;left:2px;top:9px;background:#7f826644}.timeline>div:last-child .timeline-light:after{display:none}.timeline-year{font-family:var(--serif);font-size:23px;color:#b0b89d;margin-left:8px}.timeline .lit{color:#f5ead2}.timeline .lit .timeline-year{color:#f0d8a1}.timeline .lit .timeline-light{background:#f2da9c;box-shadow:0 0 16px 4px #f2da9c66}.sky-copy{top:17%;right:15%;bottom:15%;left:15%;text-align:center;display:flex;flex-direction:column;justify-content:space-between}.sky-copy h2{font-size:clamp(48px,6vw,82px)}.sky-copy p:not(.eyebrow){font-family:var(--serif);font-style:italic;font-size:23px;color:#c0c7c9;margin-top:12px}.event-copy{top:13%;right:13%;bottom:12%;left:13%;display:flex;justify-content:center;align-items:center;text-align:center}.event-details{width:min(700px,100%);padding:28px 40px 22px;background:linear-gradient(135deg,#0a211cc9,#071913c4);border-top:1px solid #c9b37c55;border-bottom:1px solid #c9b37c55;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 15px 80px #00130833}.event-details .eyebrow{margin-bottom:14px}.event-details h2{font-size:clamp(30px,3.3vw,46px);line-height:1.05}.event-details h2 em{font-size:.75em}.event-date{display:flex;align-items:center;justify-content:center;gap:24px;margin:12px 0 2px}.event-date strong{font-family:var(--serif);font-size:79px;font-weight:400;line-height:1}.event-date>span{font-size:11px;letter-spacing:.15em;text-align:left;line-height:1.8;width:85px}.event-date>span:first-child{text-align:right}.time{font-size:12px;color:#d4d8c8}.time>span{margin:0 10px;color:var(--gold)}.venues{display:flex;justify-content:center;gap:25px;align-items:center;margin-top:24px}.venues span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.venues h3{font-size:24px;margin-top:5px}.venues i{height:37px;width:1px;background:#a9996766}.countdown{display:flex;justify-content:center;gap:27px;margin:24px 0 13px}.countdown div{display:flex;flex-direction:column;gap:4px;min-width:42px}.countdown strong{font:400 31px var(--serif);color:#e3d3ae;line-height:1}.countdown span{font-size:8px;letter-spacing:.1em;color:#b6bcae}.text-button{display:inline-flex;align-items:center;gap:9px;padding:9px;font-size:12px;color:#dfcba3}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.journey-footer{position:fixed;bottom:31px;left:4.1%;right:4.1%;z-index:9;display:flex;align-items:center;gap:27px}.chapter-counter{font:20px var(--serif);color:#ded2b2}.chapter-counter>span{font-size:14px;color:#869582}.progress-track{height:1px;background:#ccd2b329;flex:1;max-width:200px}.progress-track>div{height:1px;background:#c5b37f;transform-origin:left;transition:transform .15s linear}.journey-footer>button{margin-left:auto;display:flex;align-items:center;gap:17px;font-size:10px;letter-spacing:.12em;padding:10px 0;color:#d0c7a8}.quality-toggle{position:fixed;bottom:31px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:6px;color:#95a58d;font-size:9px;letter-spacing:.1em;padding:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#04110cd4;display:flex;justify-content:center;align-items:center;padding:30px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.memory-dialog{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#10271e;width:min(880px,95vw);max-height:85dvh;border:1px solid #a38e6155;box-shadow:0 30px 100px #0008}.memory-dialog img{width:100%;height:100%;max-height:75dvh;object-fit:cover;min-height:0}.memory-copy{padding:55px 38px;display:flex;flex-direction:column;justify-content:center}.memory-copy h2{font-size:47px;margin:22px 0}.memory-copy p{color:#c4cdbb;font-size:14px}.icon-button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #c6b17d44;border-radius:50%;color:#dfd3b3}.icon-button:hover{background:#79826344}.close{position:absolute;right:12px;top:12px;z-index:2;background:#082014d9}.modal-nav{display:flex;align-items:center;gap:20px;margin-top:35px;font-size:12px;color:#d6c595}.fallback-canvas{min-height:100vh;background:#123126}@media(min-width:1500px){.welcome-center{top:37%}.welcome-top{top:18%}}@media(max-height:720px)and (min-width:761px){.welcome-top{top:13%}.welcome-center{top:31%}.welcome-bottom{bottom:6%}h1{font-size:100px}.welcome-bottom>p{display:none}.event-copy{top:11%;right:15%;bottom:10%;left:15%}.event-details{padding:18px 35px 12px}.event-details h2{font-size:34px}.event-date strong{font-size:60px}.venues{margin-top:14px}.countdown{margin-top:16px}.tree-copy{top:19%}.timeline{margin-top:18px}}@media(max-width:760px){.topbar{padding:24px}.top-caption{display:none}.monogram{font-size:30px}.sound-button{font-size:9px;gap:7px}.welcome-top{top:18%}.welcome-center{top:36%}h1{font-size:clamp(60px,12.5vw,95px);letter-spacing:-.045em}.invitation-line{font-size:19px}.wedding-label{font-size:9px;letter-spacing:.23em;margin-top:20px}.welcome-bottom{bottom:9%}.welcome-bottom>p{font-size:16px;margin-top:20px}.eyebrow{font-size:10px;letter-spacing:.22em}.chapter-nav{right:17px;gap:6px;top:48%}.chapter-name{display:none}.chapter-dot{width:4px;height:4px}.chapter-nav button{min-height:28px;min-width:28px}.entrance-copy{left:26px;right:55px;bottom:19%}.entrance-copy h2{font-size:52px}.scene-copy>p:not(.eyebrow){font-size:13px;max-width:270px;margin-top:15px}.scene-copy .eyebrow{margin-bottom:16px}.scroll-prompt{margin-top:24px;font-size:9px}.memory-heading{left:25px;top:14%;right:46px}.memory-heading h2{font-size:36px}.memory-heading>p:not(.eyebrow){font-size:12px;margin-top:12px}.memory-shortcuts{margin-top:8px;gap:14px}.memory-shortcuts button{font-size:11px;gap:12px}.tree-copy{left:25px;top:auto;bottom:17%;right:45px;background:linear-gradient(90deg,#051a11b0,transparent);padding:15px 0}.tree-copy h2{font-size:38px}.timeline{margin-top:20px}.timeline>div{font-size:12px;padding:11px 0;gap:12px}.timeline-year{font-size:21px}.timeline-light:after{height:37px}.sky-copy{top:17%;right:45px;bottom:21%;left:45px}.sky-copy h2{font-size:47px}.sky-copy p:not(.eyebrow){font-size:20px}.event-copy{top:13%;right:39px;bottom:13%;left:19px}.event-details{padding:23px 14px 14px}.event-details h2{font-size:31px}.event-details h2 em{font-size:.68em}.event-date{margin-top:15px;gap:15px}.event-date strong{font-size:73px}.event-date>span{font-size:9px;width:70px}.time{font-size:11px}.venues{gap:13px;margin-top:21px}.venues span{font-size:8px;letter-spacing:.15em}.venues h3{font-size:20px;line-height:1.05;max-width:140px}.venues i{height:33px}.countdown{gap:16px;margin-top:23px}.countdown strong{font-size:29px}.countdown span{font-size:7px}.journey-footer{bottom:23px;left:24px;right:23px;gap:13px}.progress-track{max-width:60px}.journey-footer>button{font-size:9px;gap:9px}.quality-toggle{bottom:70px;font-size:8px;left:24px;transform:none;padding:5px 0}.quality-toggle span{display:none}.memory-dialog{display:flex;flex-direction:column;width:min(410px,100%);overflow:auto;max-height:88dvh}.modal-backdrop{padding:18px}.memory-dialog img{height:43dvh;object-position:center 42%;flex-shrink:0}.memory-copy{padding:24px}.memory-copy h2{font-size:35px;margin:13px 0}.memory-copy p{font-size:13px}.modal-nav{margin-top:20px;justify-content:center}.photo-label p{font-size:18px}.intro p{font-size:36px}.intro{padding:25px}.enter-button{font-size:12px;padding:16px 24px}.welcome-bottom .silent-enter{font-size:11px}}@media(max-height:700px)and (max-width:760px){.welcome-top{top:14%}.welcome-center{top:31%}.welcome-bottom{bottom:8%}.welcome-bottom>p{display:none}.event-copy{top:12%;right:37px;bottom:12%;left:17px}.event-details{padding:16px 10px 10px}.event-details h2{font-size:27px}.event-date{margin-top:10px}.event-date strong{font-size:58px}.venues{margin-top:13px}.countdown{margin-top:17px;margin-bottom:5px}.tree-copy{bottom:14%}.tree-copy h2{font-size:32px}.timeline{margin-top:12px}.timeline>div{padding:8px 0}.timeline-light:after{height:31px}.memory-heading{top:15%}.memory-heading h2{font-size:31px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.opening-dark{position:fixed;top:0;right:0;bottom:0;left:0;background:#010403;z-index:25;pointer-events:none}.scroll-space{height:960vh;height:960svh}.physical-a11y{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}.physical-a11y:focus-visible{clip-path:none;width:auto;height:auto;padding:12px 18px;pointer-events:auto;background:#173c2e;color:#f5e8c7;font-size:14px;outline:2px solid #e1c589;outline-offset:3px}.rsvp-paper{width:320px;max-height:425px;overflow-y:auto;padding:19px 22px 12px;color:#3e4936;background:transparent;position:relative;font-family:Manrope,sans-serif;scrollbar-width:thin;scrollbar-color:#9b8e69 transparent;text-align:left;pointer-events:auto;touch-action:pan-y}.paper-monogram{font-family:var(--serif);display:block;font-size:18px;letter-spacing:.16em;color:#867046;text-align:center;line-height:1.1}.rsvp-paper h2{font-size:28px;text-align:center;color:#384a36;line-height:1.1;margin:5px 0 3px}.paper-intro{font-family:var(--serif);font-size:15px;text-align:center;line-height:1.3;margin-bottom:13px;color:#6a694f}.paper-close{position:absolute;right:4px;top:4px;min-width:36px;min-height:36px;font-size:25px;color:#6a6349;line-height:1;padding:0}.rsvp-paper label{display:block;font-size:12px;line-height:1.4;font-weight:600;margin-top:9px;color:#3f4936}.rsvp-paper label>span{font-size:11px;font-weight:400;color:#726f5d}.rsvp-paper input:not([type=radio]),.rsvp-paper select,.rsvp-paper textarea{font:400 16px Manrope,sans-serif;color:#263d30;background:#fffdf122;border:0;border-bottom:1px solid #8b8d705f;border-radius:0;width:100%;min-height:31px;padding:4px 3px;outline:none;box-shadow:none}.rsvp-paper textarea{resize:vertical;min-height:38px;max-height:80px;font-size:14px}.rsvp-paper input:focus,.rsvp-paper select:focus,.rsvp-paper textarea:focus{border-bottom-color:#436443;box-shadow:0 1px #436443}.rsvp-paper fieldset{padding:0;border:0;display:flex;gap:19px;margin:11px 0 0;min-width:0}.rsvp-paper legend{font-size:12px;font-weight:600;margin-bottom:5px}.rsvp-paper fieldset label{margin:0;font-size:12px;font-weight:400;display:flex;align-items:center;gap:6px;min-height:24px}.rsvp-paper input[type=radio]{accent-color:#3d6149;width:15px;height:15px;margin:0}.paper-submit{width:100%;background:#2c4c37;color:#f5e6c4;font-size:13px;min-height:37px;margin-top:12px;border:1px solid #7d8a5c;letter-spacing:.025em;transition:background .25s}.paper-submit:hover{background:#476447}.paper-submit:disabled{opacity:.65}.paper-error{font-size:12px;color:#8c372e;line-height:1.35;margin-top:8px}.paper-privacy{font-size:9px;line-height:1.4;color:#77735e;text-align:center;margin-top:7px}.rsvp-paper :focus-visible{outline:2px solid #657647;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fallback-event{top:16%;right:10%;bottom:16%;left:10%;overflow:auto;pointer-events:auto}.fallback-event a,.fallback-event>button{display:inline-block;margin:15px;padding:14px;border:1px solid #cab886}.fallback-event .rsvp-paper{background:#e6dfc7}@media(max-width:760px){.rsvp-paper{padding:17px 20px 10px}.rsvp-paper fieldset label{min-height:30px}.paper-submit{min-height:42px}.rsvp-paper input:not([type=radio]),.rsvp-paper select{min-height:35px}.paper-close{min-width:42px;min-height:42px}}@media(max-width:760px){.rsvp-paper fieldset label{min-height:44px}.rsvp-paper input:not([type=radio]),.rsvp-paper select{min-height:42px}.paper-submit{min-height:44px}}@font-face{font-family:Celestial Cormorant;src:url(/boda_inmersiva/fonts/cormorant-medium.ttf) format("truetype");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:Celestial Cormorant;src:url(/boda_inmersiva/fonts/cormorant-italic.ttf) format("truetype");font-weight:400 500;font-style:italic;font-display:swap}:root{--serif:"Celestial Cormorant","Cormorant Garamond",Georgia,serif}.memory-heading{top:11%;left:50%;right:auto;transform:translate(-50%)!important;width:min(680px,85vw);text-align:center}.memory-heading .eyebrow{margin-bottom:8px}.memory-heading h2{font-size:clamp(25px,3vw,39px)}.memory-heading>p:not(.eyebrow){max-width:none;margin-top:7px;font-size:13px}.memory-shortcuts{justify-content:center;gap:22px;margin-top:6px}.memory-shortcuts button{min-height:44px;padding:6px 8px;font-size:13px}.sky-copy{top:14%;right:9%;bottom:17%;left:9%}@media(max-width:760px){.memory-heading{top:11%;width:84vw}.memory-heading h2{font-size:26px}.memory-heading>p:not(.eyebrow){font-size:12px}.memory-heading .eyebrow{font-size:9px;margin-bottom:4px}.memory-shortcuts{margin-top:0;gap:15px}.memory-shortcuts button{font-size:12px;min-height:38px}.sky-copy>div>p{font-size:21px}}@media(max-height:700px){.memory-heading{top:12%}.memory-heading>p:not(.eyebrow){display:none}.memory-heading h2{font-size:24px}.memory-heading .eyebrow{display:none}.memory-shortcuts button{min-height:30px}}
