:root{--bg-sand: #e9dfcd;--bg-sand-soft: #efe6d6;--text-dark: #545454;--text-medium: #5a4a3a;--text-soft: #545454;--accent-brown: #8a6f5a;--line-soft: #c4b59c;--line-softer: #d4c6ae;--text-date: #737373}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-sand);color:var(--text-dark);font-family:Cormorant Garamond,serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}.calligraphy{font-family:Alex Brush,Tangerine,cursive;font-weight:400}@font-face{font-family:Gotham-Thin;src:url(/assets/Gotham-Thin-B1HqW72y.otf)}@font-face{font-family:Gotham-XLight;src:url(/assets/Gotham-XLight-DTDD_24f.otf)}@font-face{font-family:Gotham-Book;src:url(/assets/Gotham-Book-sprPKk5v.otf)}@font-face{font-family:Gotham-Medium;src:url(/assets/Gotham-Medium-DHa-K8AZ.otf)}@font-face{font-family:Gotham-Bold;src:url(/assets/Gotham-Bold-DnPUTuuR.otf)}@font-face{font-family:Gotham-Ultra;src:url(/assets/Gotham-Ultra-CLkTNdYg.otf)}@font-face{font-family:Recoleta;src:url(/assets/Recoleta-NhkXM1dP.otf)}.app{position:relative;min-height:100vh}.bg-video{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:-2;pointer-events:none}.bg-video-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#ffffff40;z-index:-1;pointer-events:none}.content{position:relative;z-index:1}.music-toggle{position:fixed;top:20px;right:20px;z-index:1000;width:46px;height:46px;padding:11px;border-radius:50%;background:#e9dfcd8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);color:var(--accent-brown);cursor:pointer;box-shadow:0 3px 12px #5a4a3a26;transition:all .3s ease}.music-toggle:hover{transform:scale(1.08);background:var(--bg-sand-soft)}.music-toggle svg{width:100%;height:100%}@media screen and (max-width:768px){.music-toggle{width:40px;height:40px;padding:10px;top:14px;right:14px}}.bg-video::-webkit-media-controls,.bg-video::-webkit-media-controls-start-playback-button,.bg-video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none}.bg-video{pointer-events:none}.intro{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:6vh 7vw;overflow:hidden;max-width:1200px;margin:0 auto}.intro-logo{position:absolute;top:10vh;right:12vw;max-width:120px;height:auto;object-fit:contain}.intro-container{width:100%;text-align:left}.intro-script{font-family:MonteCarlo,cursive;font-size:clamp(2.5rem,5.6vw,2.8rem);font-weight:400;line-height:1;color:var(--text-soft);letter-spacing:1px;margin:0 0 .35em .15em}.intro-title{display:flex;flex-direction:column;font-family:Recoleta;font-weight:400;color:var(--text-dark);margin:0}.intro-title-upper{font-size:clamp(3rem,9.5vw,4.6rem);line-height:1.15;text-transform:uppercase;letter-spacing:1px}.intro-title-lower{font-size:clamp(3rem,9.5vw,4.6rem);line-height:1.15;letter-spacing:.5px}.intro-date{position:absolute;right:9vw;bottom:16vh;font-family:Cinzel Decorative,serif;font-weight:400;font-size:clamp(2rem,5.2vw,2.6rem);letter-spacing:2px;color:var(--text-date);margin:0}@media screen and (min-width:900px){.intro{padding:8vh 12vw}.intro-logo{top:12vh;right:12vw;width:150px}.intro-date{right:12vw;bottom:14vh}}.greeting{display:flex;justify-content:center;padding:8vh 0}.greeting-arch{width:100%;max-width:760px;background-color:#311e0e99;border-radius:50%/22%;padding:18% 10% 16%;display:flex;justify-content:center;overflow:hidden}.greeting-container{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.greeting-title{font-family:MonteCarlo,cursive;font-weight:400;font-size:clamp(2.6rem,8vw,4rem);line-height:1;color:#faf7ec;letter-spacing:1px;margin:0 0 1.2em}.greeting-text-block{width:100%;margin-bottom:1.6em}.greeting-text{font-family:Recoleta;font-weight:400;font-size:clamp(1.2rem,3.6vw,1.6rem);line-height:1.5;color:#faf7ec;letter-spacing:.2px;margin:0 0 1.6em}.greeting-text:last-child{margin-bottom:0}.greeting-when{display:flex;flex-direction:column;align-items:center;gap:.25em}.greeting-date,.greeting-time{font-family:Recoleta;font-weight:500;font-size:clamp(2.1rem,6.4vw,3rem);line-height:1.2;color:#faf7ec;letter-spacing:.5px;margin:0}@media screen and (max-width:768px){.greeting{padding:4vh 0}.greeting-arch{padding:22% 9% 20%;border-radius:50%/20%}}.schedule{display:flex;justify-content:center;align-items:center;padding:10vh 9vw;width:100%}.schedule-inner{width:100%;max-width:620px;display:flex;flex-direction:column;align-items:center;text-align:center}.schedule-title{font-family:MonteCarlo,cursive;font-weight:400;font-size:clamp(3rem,9vw,4.4rem);line-height:1;letter-spacing:1px;color:var(--text-dark);margin:0 0 .9em}.schedule-text-block{width:100%}.schedule-text{font-family:Recoleta;font-weight:400;font-size:clamp(1.25rem,3.8vw,1.7rem);line-height:1.45;color:var(--text-dark);letter-spacing:.2px;margin:0 0 1.7em}.schedule-text:last-child{margin-bottom:0}@media screen and (max-width:768px){.schedule{padding:8vh 10vw}}.location{display:flex;justify-content:center;align-items:center;overflow:hidden;width:100%;padding:40px 0}.location-circle{width:108vw;max-width:900px;aspect-ratio:1;border-radius:45%;background-color:#311e0e99;display:flex;justify-content:center;align-items:center;flex-shrink:0}.location-container{width:72%;display:flex;flex-direction:column;align-items:center;text-align:center}.location-title{font-family:MonteCarlo,cursive;font-weight:400;font-size:clamp(3rem,9vw,4.4rem);line-height:1;color:#faf7ec;margin:0 0 1.1em}.location-address-block{margin-bottom:3.2em}.location-venue,.location-address{font-family:Recoleta;font-weight:400;font-size:clamp(1.25rem,3.8vw,1.7rem);line-height:1.5;color:#faf7ec;letter-spacing:.2px;margin:0 0 .55em}.location-address{margin-bottom:0}.location-map-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:250px;padding:.85em 1.5em;border-radius:15px;border:none;background-color:#311e0ecc;color:#ded6c8;font-family:Recoleta;font-weight:400;font-size:clamp(1.05rem,3.2vw,1.3rem);letter-spacing:.3px;text-decoration:none;cursor:pointer;transition:background-color .35s ease,color .35s ease}.location-map-btn:hover{background-color:#5c5549;color:#f4efe6}@media screen and (max-width:480px){.location-circle{width:118vw}.location-container{width:76%}}.rsvp{padding:70px 24px 90px;display:flex;justify-content:center}.rsvp-container{max-width:520px;width:100%;display:flex;flex-direction:column;align-items:center}.rsvp-title{font-family:MonteCarlo,cursive;font-weight:400;font-size:64px;line-height:1;color:var(--text-dark);margin-bottom:40px;text-align:center}.rsvp-deadline{font-family:Recoleta;font-weight:400;font-size:1.25rem;line-height:1.5;color:var(--text-dark);text-align:center;margin-bottom:50px}.rsvp-deadline-date{font-family:Cormorant Garamond,serif;font-weight:500;font-size:20px;color:var(--text-dark);margin-top:6px;display:inline-block}.rsvp-form{width:100%;display:flex;flex-direction:column;gap:32px}.rsvp-field{display:flex;flex-direction:column;gap:14px}.rsvp-label{font-family:Recoleta;font-weight:700;font-size:1.15rem;letter-spacing:.5px;color:var(--text-dark)}.rsvp-form input[type=text]{padding:14px 0;border:none;border-bottom:1.5px solid var(--accent-brown);background:transparent;font-family:Recoleta;font-size:1.2rem;color:var(--text-dark);transition:border-color .3s ease,opacity .3s ease}.rsvp-form input[type=text]:focus{outline:none;border-bottom-color:var(--accent-brown)}.rsvp-form input[type=text]:disabled{opacity:.35;cursor:not-allowed}.rsvp-radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:center;gap:12px;cursor:pointer;font-family:Recoleta;font-size:1.15rem;color:var(--text-dark);padding:6px 0}.radio-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.radio-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--accent-brown);border-radius:50%;flex-shrink:0;transition:all .25s ease;background:transparent}.radio-option input[type=radio]:checked+.radio-mark{background:var(--accent-brown);box-shadow:inset 0 0 0 3px var(--bg-sand)}.radio-option:hover .radio-mark{border-color:var(--text-dark)}.rsvp-checkbox-grid{display:flex;flex-direction:column;gap:12px}.checkbox-option{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-family:Recoleta;font-size:1.15rem;color:var(--text-dark);padding:6px 0;align-self:flex-start;-webkit-user-select:none;user-select:none}.checkbox-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--accent-brown);border-radius:2px;flex-shrink:0;transition:all .25s ease;background:transparent}.checkbox-option:hover .checkbox-mark{border-color:var(--text-dark)}.checkbox-option input[type=checkbox]:checked+.checkbox-mark{background:var(--accent-brown);border-color:var(--accent-brown)}.checkbox-option input[type=checkbox]:checked+.checkbox-mark:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:9px;border:solid var(--bg-sand);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.checkbox-option input[type=checkbox]:focus-visible+.checkbox-mark{outline:1px solid var(--accent-brown);outline-offset:2px}.rsvp-error-text{font-family:Recoleta;font-style:italic;font-size:1rem;color:#a85a3c;margin-top:4px}.rsvp-field.error .checkbox-mark{border-color:#a85a3c}.rsvp-info{font-family:Recoleta;font-style:italic;font-size:1.1rem;color:var(--text-medium);padding:14px 18px;border-left:2px solid var(--accent-brown);line-height:1.5;background:var(--bg-sand-soft)}.rsvp-extra{display:flex;flex-direction:column;gap:32px;overflow:hidden}.rsvp-submit{margin-top:16px;padding:18px 48px;border:1.5px solid var(--accent-brown);background:transparent;color:var(--text-dark);font-family:Recoleta;font-weight:500;font-size:1rem;letter-spacing:4px;cursor:pointer;transition:all .35s ease;min-width:220px;align-self:center;display:inline-flex;align-items:center;justify-content:center;height:56px}.rsvp-submit:hover:not(:disabled){background:var(--accent-brown);color:var(--bg-sand)}.rsvp-submit:disabled{opacity:.4;cursor:not-allowed}.rsvp-loader{width:18px;height:18px;border:2px solid var(--line-soft);border-top-color:var(--accent-brown);border-radius:50%;animation:rsvp-spin .9s linear infinite;display:inline-block}@keyframes rsvp-spin{to{transform:rotate(360deg)}}.rsvp-success{display:flex;flex-direction:column;align-items:center;padding:30px 20px;text-align:center;gap:20px}.rsvp-success svg{width:48px;height:48px;color:var(--accent-brown)}.rsvp-success p{font-family:Recoleta;font-size:1.35rem;color:var(--text-dark);line-height:1.5;max-width:380px}@media screen and (max-width:768px){.rsvp{padding:60px 26px 70px}.rsvp-title{font-size:48px;margin-bottom:30px}.rsvp-deadline{font-size:20px;margin-bottom:40px}.rsvp-form{gap:28px}.rsvp-label,.rsvp-form input[type=text]{font-size:1.1rem}.radio-option,.checkbox-option{font-size:1.05rem}.rsvp-submit{padding:16px 36px;font-size:.9rem;letter-spacing:3px;min-width:200px}}@media screen and (max-width:480px){.rsvp-title{font-size:48px}}.countdown{padding:70px 24px 90px;display:flex;justify-content:center}.countdown-container{max-width:560px;width:100%;display:flex;flex-direction:column;align-items:center}.countdown-caption{font-family:MonteCarlo;font-weight:400;font-size:3rem;color:var(--text-dark);margin-bottom:30px;text-align:center}.countdown-circles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;max-width:440px}.countdown-circle{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.circle-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--text-dark);opacity:.7}.circle-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;overflow:hidden;width:80%;height:80%}.circle-num{font-family:Recoleta;font-weight:500;font-size:2.2rem;line-height:1;color:var(--text-dark)}.circle-label{font-family:Recoleta;font-weight:400;font-size:.85rem;color:var(--text-medium);margin-top:4px;letter-spacing:1px}@media screen and (max-width:768px){.countdown{padding:60px 20px 70px}.countdown-caption{font-size:3rem;margin-bottom:24px}.circle-num{font-size:1.6rem}.circle-label{font-size:.72rem}.countdown-circles{gap:10px}}@media screen and (max-width:480px){.circle-num{font-size:1.3rem}.circle-label{font-size:.65rem}}.logo{text-align:center;padding:20px;opacity:.8;transition:opacity .3s ease}.logo:hover{opacity:1}.logo img{max-width:260px;height:auto}@media screen and (max-width:768px){.logo img{max-width:200px}}
