@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&family=Josefin+Sans:wght@300;400&family=Cormorant+Garamond:wght@400;500;600&family=Great+Vibes&display=swap";:root,html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{min-height:100vh}:root,html,body,#root,.page,.hero,.card,.success-card,.bus-section,.guest-box,input,textarea,button{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;forced-color-adjust:none}html,body,#root{background:radial-gradient(circle at top,#5f6b5c0f,#0000 32%),linear-gradient(#f8f7f3 0%,#eef1ea 100%);min-height:100%;margin:0;padding:0}*{box-sizing:border-box}body{color:#2f3a2d;background:linear-gradient(#fff 0% 100%);margin:0;font-family:Cormorant Garamond,serif}.page{background:radial-gradient(circle at top,#ffffffe6,#0000 42%),linear-gradient(#fff 0%,#f7f6f1 24%,#e8ede3 100%);width:100%;min-height:100vh;padding:24px 16px}.hero{text-align:center;background:#fff;border:1px solid #2f3a2d40;border-radius:34px;max-width:760px;margin:0 auto 24px;padding:80px 70px;overflow:hidden;box-shadow:0 30px 90px #1e281e14,0 8px 24px #1e281e0d}.photo-hero{height:900px;margin:-80px -70px 60px;position:relative;overflow:hidden}.photo-hero img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.photo-hero:after{content:"";background:linear-gradient(#fff0 45%,#fff 100%);position:absolute;inset:0}.hero h1{color:#2f3a2d;text-transform:uppercase;letter-spacing:5px;margin:38px 0;font-family:Josefin Sans,sans-serif;font-size:clamp(32px,5vw,52px);font-weight:300;line-height:1.35}.hero h1 span{color:#2f3a2d;justify-content:center;align-items:center;gap:18px;margin:18px 0;font-family:Cormorant Garamond,serif;font-size:30px;font-style:italic;display:flex}.hero h1 span:before,.hero h1 span:after{content:"";background:#2f3a2d47;width:90px;height:1px}.script{color:#2f3a2d;font-family:Great Vibes,cursive;font-size:38px;line-height:1.4}.script:first-of-type{margin-top:10px;margin-bottom:26px}.script.big{margin-top:72px;margin-bottom:8px;font-size:42px}.date{letter-spacing:6px;color:#2f3a2d;margin:48px 0 70px;font-family:Josefin Sans,sans-serif;font-size:22px;font-weight:300}.days-counter{background:#2f3a2d06;border:1px solid #2f3a2d40;border-radius:999px;align-items:baseline;gap:8px;margin-top:-25px;margin-bottom:95px;padding:10px 22px;display:inline-flex}.days-counter span{letter-spacing:2px;color:#2f3a2d;font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:400}.days-counter p{letter-spacing:1px;color:#5f6b5c;margin:0;font-family:Josefin Sans,sans-serif;font-size:18px}.timeline-curved{width:100%;max-width:700px;height:360px;margin:40px auto 80px;position:relative;left:-20px}.timeline-path{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.timeline-path path{fill:none;stroke:#2f3a2d;stroke-width:2px;stroke-linecap:round;stroke-dasharray:.1 7}.svg-dot{fill:#2f3a2d}.timeline-icon{color:#5f6b5c;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}.church-icon{top:24px;left:50px}.wine-icon{bottom:59px;right:25px}.timeline-event{text-align:left;align-items:center;gap:18px;display:flex;position:absolute}.timeline-event.ceremony{top:-35px;left:110px}.timeline-event.dinner{text-align:right;flex-direction:row-reverse;bottom:-5px;right:80px}.timeline-event h3{color:#2f3a2d;margin:0 0 10px;font-size:24px;font-weight:500;line-height:1.2}.timeline-event p{color:#2f3a2d;margin:5px 0;font-size:17px;line-height:1.45}.map-link{color:#5f6b5c;border-bottom:1px dotted #5f6b5cb3;padding-bottom:1px;font-size:17px;text-decoration:none;transition:opacity .2s;display:inline-block}.map-link:hover{opacity:.7}.bus-section{background:#2f3a2d06;border:1px solid #2f3a2d40;border-radius:28px;margin:46px auto 28px;padding:34px 34px 26px}.bus-section h2{color:#2f3a2d;letter-spacing:4px;font-size:18px;font-weight:500}.map-placeholder{color:#5f6b5c;background:#2f3a2d06;border:1px dashed #2f3a2d40;border-radius:18px;justify-content:center;align-items:center;min-height:180px;margin:18px auto;display:flex}.map-wrapper{border-radius:28px;width:100%;max-width:560px;margin:30px auto 22px;padding:14px;overflow:hidden}.bus-map{border-radius:20px;width:100%;height:auto;display:block}.small-note{color:#5f6b5c;margin-top:18px;font-size:14px;line-height:1.6}.bus-section p{margin-bottom:18px}.card{background:#fff;border:1px solid #2f3a2d40;border-radius:28px;max-width:680px;margin:0 auto;padding:34px;box-shadow:0 18px 45px #1e281e14,0 2px 10px #1e281e0a}.form-group{margin-bottom:22px}.form-group h3{margin:0 0 18px}.question{color:#2f3a2d;margin-top:0;font-size:18px;font-weight:500}label{color:#2f3a2d;margin-bottom:8px;font-size:15px;display:block}input[type=text],textarea{resize:none;color:#2f3a2d;width:100%;font:inherit;background:#fff;border:1px solid #2f3a2d40;border-radius:14px;outline:none;padding:14px 16px}input[type=text]:focus,textarea:focus{border-color:#2f3a2d;box-shadow:0 0 0 3px #2f3a2d1f}.radio-row,.checkbox-row{align-items:center;gap:10px;margin:10px 0;font-family:Josefin Sans,sans-serif;font-size:15px;line-height:1.4;display:flex}.radio-row input,.checkbox-row input{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #5f6b5c;place-content:center;width:18px;height:18px;display:grid}.radio-row input{border-radius:50%}.checkbox-row input{border-radius:5px}.primary-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.success-card{animation:1.5s cubic-bezier(.22,1,.36,1) forwards successReveal}@keyframes successReveal{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.loading-dots{align-items:center;gap:6px;display:inline-flex}.loading-dots span{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite loadingBounce}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loadingBounce{0%,80%,to{opacity:.45;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.radio-row input:before,.checkbox-row input:before{content:"";background:#5f6b5c;width:10px;height:10px;transition:transform .12s ease-in-out;transform:scale(0)}.round-check,.round-check:before{border-radius:50%!important}.radio-row input:before{border-radius:50%}.checkbox-row input:before{border-radius:2px}.radio-row input:checked:before,.checkbox-row input:checked:before{transform:scale(1)}.guest-box{background:#2f3a2d06;border:1px solid #2f3a2d40;border-radius:18px;margin-bottom:14px;padding:14px}.bus-box{background:#2f3a2d09;border:1px solid #2f3a2d40;border-radius:20px;margin-bottom:22px;padding:18px;line-height:1.6}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:999px;font-family:inherit;transition:transform .15s,box-shadow .15s,opacity .15s}.primary-button{color:#fff;background:#2f3a2d;margin-top:34px;padding:14px 26px;font-size:16px;box-shadow:0 10px 25px #2f3a2d2e}.secondary-button{color:#fff;background:#2f3a2d;margin-left:auto;margin-right:auto;padding:10px 16px;font-size:14px;display:block}.input-helper{color:#6d786a;margin-top:-2px;margin-bottom:10px;font-size:14px;line-height:1.5}.primary-button:hover,.secondary-button:hover{opacity:.92;transform:translateY(-1px)}.full-width{width:100%;margin-top:6px}h2{color:#2f3a2d;margin:0 0 14px;font-size:22px;font-weight:400}.card{transition:opacity .45s,transform .45s}.card-closing{opacity:0;transform:translateY(14px)}.attending-content{animation:4s cubic-bezier(.16,1,.3,1) expandBlock;overflow:hidden}@keyframes expandBlock{0%{opacity:.92;max-height:0}to{opacity:1;max-height:1400px}}@media (width>=768px){.page{padding:48px 24px}.card{padding:34px}}input::placeholder,textarea::placeholder{color:#6d786a;font-family:Josefin Sans,sans-serif;font-size:15px;font-weight:400;line-height:1.4}.success-card{text-align:center;background:#2f3a2d;border:1px solid #2f3a2d40;border-radius:28px;max-width:680px;margin:0 auto 40px;padding:34px;box-shadow:0 18px 45px #1e281e14,0 2px 10px #1e281e0a}.success-card h2{color:#fff;margin-bottom:10px}.success-card p{color:#fff;margin:0}.success-note{color:#6d786a;font-size:15px;line-height:1.6;margin-top:16px!important}.mobile-timeline-path,.mobile-dot{display:none}.form-label-title{color:#2f3a2d;margin:0 0 14px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500;line-height:1.45;display:block}@media (width<=767px){.desktop-timeline-path{display:none}.mobile-timeline-path,.mobile-dot{display:block}.page{background:linear-gradient(#fff 0% 12%,#f7f6f1 32%,#e8ede3 72%,#f7f6f1 88%,#fff 100%);flex-direction:column;min-height:100svh;padding:0 0 24px;display:flex}.hero{z-index:1;background:#ffffffeb;border:1px solid #2f3a2d24;border-radius:26px;width:calc(100% - 32px);margin:18px auto 20px;padding:24px 18px;position:relative;overflow:hidden;box-shadow:0 10px 30px #1e281e0d,0 2px 10px #1e281e08}.hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at top,#fff 0%,#fffffff5 35%,#ffffff8c 62%,#fff0 100%);height:420px;position:absolute;top:-220px;left:-120px;right:-120px}.photo-hero{height:72vh;min-height:520px;margin:-24px -18px 36px}.photo-hero img{object-position:center top}.hero h1{letter-spacing:3px;margin:30px 0;font-size:34px;line-height:1.35}.hero h1 span{gap:12px;margin:14px 0;font-size:26px}.hero h1 span:before,.hero h1 span:after{width:52px}.script{font-size:29px;line-height:1.5}.script.big{margin-top:52px;font-size:34px}.date{letter-spacing:4px;margin:36px 0 44px;font-size:16px;line-height:1.6}.days-counter{margin-top:-20px;margin-bottom:58px;padding:9px 18px}.days-counter span,.days-counter p{font-size:15px}.timeline-curved{max-width:100%;height:430px;margin:34px auto 70px;padding:0;position:relative;left:0}.timeline-path{display:none}.timeline-path path{stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:.1 7;opacity:1}.timeline-curved:before{content:"";border-bottom:2px dotted #2f3a2d;border-left:2px dotted #2f3a2d;border-bottom-left-radius:50px;width:calc(100% - 78px);height:180px;position:absolute;top:20px;left:10px}.timeline-curved:after{content:"";border-top:2px dotted #2f3a2d;border-right:2px dotted #2f3a2d;border-top-right-radius:50px;width:52px;height:180px;position:absolute;top:200px;right:10px}.timeline-curved .mobile-line-dot{z-index:4;background:#2f3a2d;border-radius:50%;width:13px;height:13px;position:absolute}.mobile-line-dot.ceremony{top:86px;left:5px}.mobile-line-dot.dinner{top:300px;right:5px}.svg-dot{display:none}.church-icon{top:79px;left:30px}.wine-icon{top:295px;bottom:auto;right:30px}.timeline-event{width:auto;display:block;position:absolute}.timeline-event.ceremony{text-align:left;padding:0;top:20px;left:70px;right:12px}.timeline-event.dinner{text-align:right;padding:0;inset:230px 70px auto 12px}.timeline-event h3{margin-bottom:8px;font-size:21px;line-height:1.25}.timeline-event p{margin:4px 0;font-size:15.5px;line-height:1.45}.map-link{margin:4px 0;font-size:15.5px;display:inline-block}.bus-section{border-radius:24px;margin:36px auto 28px;padding:26px 18px 22px}.bus-section h2{letter-spacing:3px;font-size:16px;line-height:1.5}.bus-section p{font-size:16px;line-height:1.6}.map-wrapper{border-radius:22px;margin:22px auto 18px;padding:0}.bus-map{border-radius:18px}.small-note{font-size:14px}.primary-button{width:100%;padding:15px 24px;font-size:16px}.card,.success-card{border-radius:24px;width:calc(100% - 32px);margin:20px auto 34px;padding:24px 18px}.question{font-size:18px;line-height:1.45}input[type=text],textarea{padding:14px;font-size:16px}.radio-row,.checkbox-row{align-items:flex-start;font-size:15px;line-height:1.5}.radio-row input,.checkbox-row input{flex:0 0 18px;margin-top:2px}.guest-box,.bus-box{border-radius:18px;padding:14px}.secondary-button{margin-top:12px}}.hero{animation:3.6s cubic-bezier(.16,1,.3,1) both pageIntro}@keyframes pageIntro{0%{opacity:0;filter:blur();transform:translateY(34px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.reveal{opacity:0;transition:opacity 2.3s cubic-bezier(.16,1,.3,1),transform 2.3s cubic-bezier(.16,1,.3,1);transform:translateY(38px)}.reveal.active{opacity:1;transform:translateY(0)}.form-card{animation:1.1s cubic-bezier(.16,1,.3,1) both formOpen}@keyframes formOpen{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-names-group .script{margin-top:10px;margin-bottom:26px}
