: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-list{list-style:none;margin:0;padding:0;width:100%;max-width:460px;display:grid;grid-template-columns:max-content 1px minmax(0,1fr);column-gap:24px;row-gap:30px;text-align:left}.schedule-item{display:contents}.schedule-time{grid-column:1;justify-self:end;align-self:center;font-family:Cinzel Decorative,serif;font-weight:400;font-size:clamp(1.6rem,4.4vw,2em);line-height:1.1;letter-spacing:1.5px;color:var(--text-dark);white-space:nowrap}.schedule-divider{grid-column:2;align-self:stretch;width:1px;background:var(--text-date);opacity:.35}.schedule-desc{grid-column:3;align-self:center;font-family:Recoleta;font-weight:400;font-size:clamp(1.2rem,3.1vw,1.5rem);line-height:1.5;letter-spacing:.2px;color:var(--text-dark)}.schedule-note{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(1rem,3vw,1.15rem);line-height:1.5;color:var(--text-date);margin:3em 0 0;max-width:420px}@media screen and (max-width:768px){.schedule{padding:8vh 10vw}.schedule-list{column-gap:18px;row-gap:26px}}.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-venue{font-size:clamp(2rem,3.8vw,2.4rem)}.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:700;font-size:24px;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}}.order-section{width:100%;background:#fff;color:#000;padding:72px 20px}.order-inner{max-width:560px;margin:0 auto}.order-heading{font-size:clamp(1.8rem,6vw,2.6rem);text-align:center;margin:0 0 12px;letter-spacing:.5px;font-family:Playfair Display,serif}.order-subheading{text-align:center;color:#555;margin:0 0 36px;font-size:.95rem;line-height:1.5}.order-form{display:flex;flex-direction:column;gap:20px;width:100%}.order-field{display:flex;flex-direction:column;gap:8px}.order-label{font-size:.9rem;font-weight:600;letter-spacing:.3px}.order-input,.order-textarea{font-family:inherit;width:100%;box-sizing:border-box;padding:14px 16px;font-size:1rem;color:#000;background:#fff;border:1px solid #cccccc;border-radius:10px;transition:border-color .2s ease,box-shadow .2s ease}.order-input:focus,.order-textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #00000014}.order-input:disabled,.order-textarea:disabled{opacity:.6}.order-textarea{min-height:90px;resize:vertical}.order-methods{display:flex;gap:8px;flex-wrap:wrap}.order-method{flex:1;min-width:100px;padding:12px 10px;text-align:center;font-size:.9rem;color:#000;background:#fff;border:1px solid #cccccc;border-radius:10px;cursor:pointer;transition:all .2s ease}.order-method input{display:none}.order-method:hover{border-color:#000}.order-method.is-active{background:#000;color:#fff;border-color:#000}.order-submit{margin-top:8px;padding:16px;font-size:1rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-family:inherit;color:#fff;background:#000;border:none;border-radius:10px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:opacity .2s ease,transform .1s ease}.order-submit:hover{opacity:.85}.order-submit:active{transform:scale(.99)}.order-submit:disabled{opacity:.5;cursor:not-allowed}.order-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:order-spin .8s linear infinite}@keyframes order-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.order-privacy{text-align:center;font-size:.8rem;color:#555;margin:4px 0 0}.order-privacy a{color:#000;text-decoration:underline}.order-success{text-align:center;padding:48px 20px}.order-success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:18px;font-size:1.6rem;color:#fff;background:#000;border-radius:50%}.order-success p{font-size:1rem;line-height:1.6;margin:0 0 12px}@media(min-width:640px){.order-section{padding:96px 20px}}.order-subheading,.order-form,.order-label,.order-input,.order-textarea,.order-method,.order-submit,.order-privacy{font-family:Manrope,sans-serif}.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}}
