@import"https://fonts.googleapis.com/css2?family=Cormorant:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500&family=Alex+Brush&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;background-color:#fff;color:#000;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{position:relative;width:100%;height:100vh;height:calc(var(--vh, 1vh) * 100);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;perspective:2500px}.page-wrapper{display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:#fff}.nav-dots{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:50;margin-top:20px}.nav-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:#d1d5db;border:none;cursor:pointer;transition:all .3s ease}.nav-dot:hover{background-color:#9ca3af}.nav-dot.active{width:2rem;background-color:#000}.nav-arrow{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:#000;cursor:pointer;z-index:50;transition:color .3s ease;padding:.5rem}.nav-arrow:hover{color:#4b5563}.nav-arrow-left{left:1rem}.nav-arrow-right{right:1rem}.arrow-icon{width:2rem;height:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes drawLine{0%{height:0}to{height:100%}}.page-home{background-color:#fff}.home-content{text-align:center;max-width:42rem}.home-logo{font-family:Cormorant,serif;font-size:8rem;font-weight:300;letter-spacing:-.05em;margin-bottom:4rem;line-height:1;opacity:0;animation:fadeInUp .8s ease-out forwards}.home-logo .heart{font-style:italic;font-size:.9em}.home-details{opacity:0;animation:fadeInUp .8s ease-out .3s forwards}.home-names{font-family:Cormorant,serif;font-size:2.5rem;font-weight:300;letter-spacing:.05em;margin-bottom:1rem}.home-date{font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:300;letter-spacing:.2em;color:#666}.home-logo img{max-width:500px;text-align:center}@media (max-width: 768px){.home-logo img{max-width:300px}}.page-dresscode{background-color:#fff}.dresscode-content{max-width:42rem;width:100%;padding:0 2em}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:3rem;opacity:0;animation:slideInFromLeft .8s ease-out forwards}.section-header-center{justify-content:center}.header-line{width:4rem;height:1px;background-color:#000}.section-title{font-family:Cormorant,serif;font-size:4rem;font-weight:300;letter-spacing:-.02em;line-height:1}.dresscode-body{display:flex;flex-direction:column;gap:2rem}.dresscode-text{opacity:0;animation:fadeInUp .8s ease-out .2s forwards}.dresscode-subtitle{font-family:Cormorant,serif;font-size:2rem;font-weight:300;margin-bottom:.75rem}.dresscode-description{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:300;line-height:1.6;color:#333}.color-palette{display:flex;flex-direction:column;gap:1rem}.color-bar{height:4rem;opacity:0;animation:fadeIn .6s ease-out forwards;transition:transform .3s ease}.color-bar:hover{transform:scale(1.02)}.color-black{background-color:#000}.color-white{background-color:#fff;border:2px solid #000000}.color-beige{background-color:#d4c4a8}.color-gray{background-color:#c5c5c5}.color-sage{background-color:#7a8b78}.page-timeline{background-color:#fff;padding:4rem 2rem}.timeline-content{max-width:50rem;width:100%;padding:0 2em}.timeline-events{position:relative;padding-left:9rem}.timeline-line{position:absolute;left:4.5rem;top:0;width:1px;height:0;background-color:#000;animation:drawLine 1.5s ease-out .2s forwards}.timeline-event{position:relative;margin-bottom:3rem;opacity:0;animation:fadeInUp .8s ease-out forwards}.event-circle{position:absolute;left:-9rem;top:0;width:9rem;height:9rem;border-radius:50%;border:2px solid #000000;background-color:#fff;display:flex;align-items:center;justify-content:center;z-index:10}.event-icon{width:3rem;height:3rem}.event-details{padding-top:1.5rem;margin-left:2em}.event-time-title{display:flex;flex-direction:column;font-family:inherit;font-size:1.5rem;font-weight:300;margin-bottom:.5rem}.event-description{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:300;line-height:1.6;color:#333;max-width:28rem}.timeline-dot{position:absolute;left:-4.625rem;bottom:-1.5rem;width:.5rem;height:.5rem;background-color:#000;border-radius:50%;z-index:10}.event-title-text{margin:0}.page-invitation{background-color:#fff}.invitation-content{max-width:42rem;width:100%}.exclamation{font-size:3.5rem}.invitation-body{display:flex;flex-direction:column;gap:3rem}.invitation-text{text-align:center;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:300;line-height:1.6;color:#333;opacity:0;animation:fadeInUp .8s ease-out .2s forwards}.invitation-image{width:20rem;height:22rem;margin:0 auto;border-radius:12.5rem;overflow:hidden;background-color:#e5e5e5;opacity:0;animation:scaleIn .6s ease-out .4s forwards}.invitation-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.invitation-image:hover img{transform:scale(1.05)}.invitation-footer{text-align:center;opacity:0;animation:fadeInUp .8s ease-out .6s forwards}.footer-names{font-family:Cormorant,serif;font-size:2.5rem;font-weight:300;letter-spacing:.05em;margin-bottom:.5rem}.footer-date{font-family:Montserrat,sans-serif;font-size:1.125rem;font-weight:300;letter-spacing:.15em;color:#666}@media (max-width: 768px){.home-logo{font-size:6rem;margin-bottom:3rem}.home-names{font-size:2rem}.home-date{font-size:1rem}.section-title{font-size:3.5rem}.header-line{width:3rem}.dresscode-subtitle{font-size:1.75rem}.dresscode-description{font-size:.95rem}.color-bar{height:3.5rem}.timeline-events{padding-left:8rem}.event-circle{left:-8rem;width:8rem;height:8rem}.event-icon{width:2.5rem;height:2.5rem}.timeline-line{left:4rem}.timeline-dot{left:-4.125rem}.event-time-title{font-size:1rem}.event-description{font-size:.8rem}.exclamation{font-size:2.5rem}.invitation-text{font-size:.95rem}.invitation-image{width:16rem;height:18rem;border-radius:11.25rem}.footer-names{font-size:2rem}.footer-date{font-size:1rem}}@media (max-width: 480px){.page{padding:1rem 3rem 2.5rem}.home-logo{font-size:4.5rem;margin-bottom:2rem}.home-names{font-size:1.75rem}.home-date{font-size:.9rem}.section-header{gap:.75rem;margin-bottom:1rem;justify-content:flex-start}.section-title{font-size:2.5rem}.header-line{width:2.5rem}.dresscode-subtitle{font-size:1.5rem}.dresscode-description{font-size:.9rem}.color-bar{height:3rem}.page-timeline{padding:3rem 1rem}.timeline-events{padding-left:5.75rem}.timeline-event{margin-bottom:10px}.event-circle{left:-5.5rem;width:5rem;height:5rem}.timeline-line{left:2.75rem}.timeline-dot{left:-3.25rem}.event-time-title{font-size:1.1rem}.event-description{font-size:.7rem}.event-details{margin-left:1em}.event-title{margin-bottom:-10px}.exclamation{font-size:2rem}.invitation-body{gap:2rem}.invitation-text{font-size:.9rem}.invitation-image{width:14rem;height:16rem;border-radius:10rem}.footer-names{font-size:1.75rem}.footer-date{font-size:.95rem}.nav-arrow{padding:.25rem}.arrow-icon{width:1.5rem;height:1.5rem}.nav-arrow-left{left:.5rem}.nav-arrow-right{right:.5rem}.nav-dots{bottom:1.5rem}}.page-timer{min-height:90vh;display:flex;justify-content:center;align-items:center;background-color:#fff;background-image:url('data:image/svg+xml,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(0,0,0,0.03)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');background-size:contain;background-position:center;background-repeat:no-repeat}.timer-container{display:flex;flex-direction:column;align-items:center;text-align:left;padding:3rem;border-radius:20px;max-width:50rem;width:100%;opacity:0;animation:fadeInUp .8s ease-out forwards;gap:50px}.page-timer .section-header{margin-bottom:0}.timer-title-main{white-space:nowrap}.timer-flex{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;width:100%;opacity:0;animation:fadeIn .8s ease-out .3s forwards}.timer-box{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3rem;cursor:pointer;transition:transform .3s ease;width:100%}.timer-box:hover{transform:translate(10px)}.timer-circle{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timer-svg{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.timer-circle-bg{fill:none;stroke:#00000014;stroke-width:2}.timer-circle-progress{fill:none;stroke:#000;stroke-width:2;stroke-linecap:round;stroke-dasharray:565.49;transition:stroke-dashoffset 1s linear}.timer-content{position:relative;z-index:1;text-align:center}.timer-number{font-size:2.5rem;font-weight:700;margin:0;color:#000;line-height:1;transition:all .3s ease}.timer-unit{font-family:Cormorant,serif;font-size:2rem;font-weight:300;text-align:left;color:#333;margin:0;letter-spacing:.5px;min-width:150px}@media (max-width: 768px){.timer-title-main{font-size:3.5rem;white-space:normal}.timer-container{align-items:center;padding:2rem 1rem;gap:40px}.page-timer .section-header{justify-content:center}.timer-flex{align-items:center;gap:1.5rem}.timer-box{gap:2rem;justify-content:center}.timer-circle{width:140px;height:140px}.timer-number{font-size:3rem}.timer-unit{font-size:1.75rem;min-width:120px}}@media (max-width: 480px){.timer-title-main{font-size:2.5rem}.timer-flex{gap:1.2rem}.timer-box{gap:1.5rem;flex-direction:row}.timer-circle{width:100px;height:100px}.timer-number{font-size:2rem}.timer-unit{font-size:1.3rem;min-width:90px}.timer-container{gap:30px}}.page-rsvp{background-color:#fff;display:block;padding:4rem 2rem;min-height:100%;align-items:flex-start;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rsvp-wrapper{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center}.rsvp-header-wrapper{width:100%;max-width:700px;margin-bottom:3rem;opacity:0;animation:fadeInUp .8s ease-out forwards}.page-rsvp .section-header{margin-bottom:2rem}.rsvp-additional-text{font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:400;font-style:italic;color:#000;margin-bottom:.5rem;line-height:1.4}.rsvp-date{font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:400;font-style:italic;color:#000;margin-top:0}.rsvp-container{max-width:700px;width:100%;margin:0 auto;padding:0;border-radius:0;font-family:Montserrat,sans-serif;opacity:0;animation:fadeInUp .8s ease-out .2s forwards}.rsvp-form{display:flex;flex-direction:column}.rsvp-form input[type=text]{margin-bottom:2.5rem;padding:1rem 1.25rem;border-radius:0;border:1px solid #000000;font-family:Montserrat,sans-serif;font-size:1.125rem;font-weight:300;background-color:#fff;color:#999}.rsvp-form input[type=text]:focus{outline:none;border-color:#000;color:#000}.rsvp-form input[type=text]::placeholder{color:#999;font-weight:300}.rsvp-form button{margin-top:2rem;padding:1.5rem;border:none;background-color:#000;color:#fff;cursor:pointer;border-radius:0;font-family:Montserrat,sans-serif;letter-spacing:.1em;font-size:1rem;font-weight:400;transition:background-color .3s ease;text-transform:none;margin-bottom:2em}.rsvp-form button:hover{background-color:#333}.rsvp-form button:disabled{background-color:#999;cursor:not-allowed}.rsvp-label{font-size:1.375rem;margin:0 0 1.5rem;font-family:Montserrat,sans-serif;font-weight:400;color:#000;line-height:1.4}.rsvp-form .radio input[type=radio],.rsvp-form .checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;margin:0;width:22px;height:22px;border:1.5px solid #000000;transform:translateY(0);display:inline-grid;place-content:center;margin-right:1rem;cursor:pointer;flex-shrink:0}.rsvp-form .radio input[type=radio]{border-radius:50%}.rsvp-form .checkbox input[type=checkbox]{border-radius:0}.rsvp-form .radio input[type=radio]:before,.rsvp-form .checkbox input[type=checkbox]:before{content:"";width:12px;height:12px;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em #000}.rsvp-form .radio input[type=radio]:before{border-radius:50%}.rsvp-form .checkbox input[type=checkbox]:before{border-radius:0}.rsvp-form .radio input[type=radio]:checked:before,.rsvp-form .checkbox input[type=checkbox]:checked:before{transform:scale(1)}.rsvp-form .radio,.rsvp-form .checkbox{font-size:1.125rem;color:#000;display:flex;align-items:center;margin-bottom:1.25rem;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:300;line-height:1.6}.rsvp-error{color:#b70000;font-family:Montserrat,sans-serif;font-size:1rem;margin-top:-1rem;margin-bottom:1.5rem;font-weight:300}.submission-status{text-align:center;margin-top:2rem;font-family:Montserrat,sans-serif;font-size:1.125rem;color:#2d7a2d;font-weight:400}.loader{border:3px solid #f3f3f3;border-top:3px solid #000000;border-radius:50%;width:15px;height:15px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.page-rsvp{padding:3rem}.page-rsvp .section-title{font-size:3.5rem}.rsvp-additional-text,.rsvp-date{font-size:1.125rem}.rsvp-container{padding:0}.rsvp-label{font-size:1.25rem}.rsvp-form .radio,.rsvp-form .checkbox,.rsvp-form input[type=text]{font-size:1rem}}@media (max-width: 480px){.page-rsvp{padding:2rem 2.5rem}.page-rsvp .section-title{font-size:2.5rem}.rsvp-additional-text,.rsvp-date{font-size:1rem}.rsvp-label{font-size:1.125rem}.rsvp-form .radio,.rsvp-form .checkbox{font-size:.95rem}.rsvp-form input[type=text]{font-size:.95rem;padding:.875rem 1rem}.rsvp-form button{font-size:.95rem;padding:1.25rem}}.event-time{font-size:1.5em;font-weight:400}.invitation-logo{min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:2rem;opacity:0;animation:fadeInUp .8s ease-out .8s forwards}.invitation-logo a{display:inline-block;transition:transform .3s ease,opacity .3s ease}.invitation-logo a:hover{transform:scale(1.05);opacity:.8}.logo img{max-width:300px}@media (max-width: 768px){.logo img{max-width:300px}}.book-container{position:relative;width:100%;height:100%;perspective:2500px;perspective-origin:center center}.page-base,.page-current{position:absolute;top:0;left:0;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.page-flip{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 40px #0003;z-index:10}.page-flip-front,.page-flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto;overflow-x:hidden;background-color:#fff}.page-flip-front{transform:rotateY(0)}.page-flip-back{transform:rotateY(180deg)}.app-container{position:relative;width:100%;height:100vh;height:calc(var(--vh, 1vh) * 100);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
