@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&display=swap";:root{--color-text: #3d3d3d;--color-text-light: #3d3d3d;--color-line: #b8b8b8;--color-circle: #6e6e6e}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%;height:100dvh;background-color:#d6cfc6}body{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-text);min-height:100%;line-height:1.5;overflow-x:hidden;overscroll-behavior-y:none}.app{min-height:100vh;min-height:100dvh;position:relative;display:flex;align-items:center;justify-content:center}.bg-video{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;object-fit:cover;z-index:0;pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0)}.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:#ffffff73;z-index:1}.content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 40px 40px;flex:1}.form-container{display:flex;flex-direction:column;align-items:center;gap:25px;width:380px}.field{width:100%;border-bottom:1px solid var(--color-line)}.field input,.field select{width:100%;border:none;background:transparent;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;color:var(--color-text);padding:8px 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:text}.field select{cursor:pointer;padding-right:20px}.dropdown-arrow{font-size:1.1rem;color:var(--color-text-light);transition:transform .3s ease;transform:rotate(-90deg);margin-right:5px}.dropdown-arrow.open{transform:rotate(-270deg)}.field input:focus,.field select:focus{outline:none}.field input::placeholder{color:var(--color-text-light)}.field.dropdown{position:relative}.dropdown-trigger{width:100%;border:none;background:transparent;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;color:var(--color-text-light);padding:8px 0;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dropdown-trigger.has-value{color:var(--color-text)}.dropdown-trigger:focus{outline:none}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-line);margin-top:4px;z-index:100;animation:dropdownOpen .2s ease;transform-origin:top}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-option{width:100%;border:none;background:transparent;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;color:var(--color-text);padding:12px 16px;text-align:left;cursor:pointer;transition:background .2s ease;position:relative}.dropdown-option:not(:last-child):after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:var(--color-line)}.dropdown-option:hover{background:#0000000d}.dropdown-option.selected{color:var(--color-text);font-style:italic}.attendance-options{display:flex;gap:30px;justify-content:center;margin-top:10px}.attendance-btn{position:relative;background:transparent;border:none;padding:12px 20px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;color:var(--color-text);cursor:pointer}.attendance-btn span{position:relative;z-index:1}.hand-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:140%;pointer-events:none;opacity:0;transition:opacity .25s ease}.hand-circle path{fill:none;stroke:var(--color-circle);stroke-width:1;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .4s ease}.attendance-btn:hover .hand-circle{opacity:1}.attendance-btn:hover .hand-circle path{stroke-dashoffset:0}.attendance-btn.selected .hand-circle{opacity:1}.attendance-btn.selected .hand-circle path{stroke-dashoffset:0}.form-actions{width:100%;display:flex;justify-content:center;align-items:center;margin-top:30px}.submit-btn{display:block;background:transparent;border:1px solid var(--color-text);padding:14px 50px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:400;letter-spacing:normal;color:var(--color-text);cursor:pointer;opacity:.5;transition:all .3s ease;text-decoration:none;text-align:center}.form-actions .submit-btn,.guests-list+.submit-btn,.landing-nav .submit-btn{width:100%}.guests-list+.submit-btn{margin-top:10px}.submit-btn:disabled{cursor:not-allowed}.submit-btn.active{opacity:1}.submit-btn.active:hover{background:#3d3d3d14}.line-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:none;padding:10px 30px;cursor:pointer;opacity:.5;transition:all .3s ease}.line-btn:disabled{cursor:not-allowed}.line-btn.active,.thank-you-screen .line-btn{opacity:1}.line-btn:hover:not(:disabled){opacity:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.line-btn-line{width:120px;height:1px;background:var(--color-text)}.line-btn-text{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:400;color:var(--color-text);letter-spacing:.05em}.thank-you-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.thank-you-text{font-size:2.2rem;font-weight:400;font-style:italic;color:var(--color-text);margin-bottom:10px}.thank-you-subtext{font-size:1.1rem;font-weight:400;color:var(--color-text-light);margin-bottom:50px;line-height:1.7}.thank-you-buttons{display:flex;flex-direction:column;gap:15px;width:100%;max-width:280px}.guests-list{width:100%;display:flex;flex-direction:column}.guest-form-wrapper{width:100%;padding-bottom:20px}.guest-form-wrapper.animate-in{animation:fadeSlideIn .4s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.guest-form{position:relative;width:100%;background:url(/paper.jpg) center/cover;border-radius:4px;padding:20px 16px;box-shadow:0 2px 6px #0000001a,0 6px 20px #00000012;display:flex;flex-direction:column;align-items:center}.guest-form-ribbon{width:auto;height:50px;margin-bottom:4px;opacity:.85}.guest-form-header{position:absolute;top:10px;right:12px}.remove-guest-btn{background:transparent;border:none;font-size:1.2rem;font-weight:400;color:var(--color-text-light);cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease;font-family:Cormorant Garamond,Georgia,serif}.remove-guest-btn:hover{color:var(--color-text)}.guest-fields{padding:16px;display:flex;flex-direction:column;gap:20px}.field-wrapper{width:100%}.field.has-error{border-bottom-color:#8b2020}.field-error{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;color:#8b2020;margin-top:6px}.error-message{width:100%;text-align:center;color:#a04040;font-family:Cormorant Garamond,Georgia,serif;font-size:.95rem;padding:12px;background:#a0404014;border:1px solid rgba(160,64,64,.2);margin-top:15px}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--color-line);border-top-color:var(--color-text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page{position:relative;z-index:2;width:100%;min-height:100vh;display:flex;flex-direction:column;animation:pageFade .5s ease both}@keyframes pageFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.main-nav{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;padding-top:calc(20px + env(safe-area-inset-top));font-family:Cormorant Garamond,Georgia,serif;font-size:1rem}.nav-link{color:var(--color-text-light);text-decoration:none;transition:color .2s ease;letter-spacing:.05em;padding:8px 12px}.nav-link-inner{position:relative;display:inline-block;padding:4px 8px}.nav-link-inner>span{position:relative;z-index:1}.nav-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110%;height:140%;pointer-events:none;opacity:0;transition:opacity .25s ease}.nav-circle path{fill:none;stroke:var(--color-circle);stroke-width:1;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;transition:stroke-dashoffset .4s ease}.nav-link:hover{color:var(--color-text)}.nav-link:hover .nav-circle{opacity:1}.nav-link:hover .nav-circle path{stroke-dashoffset:0}.nav-link.active{color:var(--color-text)}.nav-link.active .nav-circle{opacity:1}.nav-link.active .nav-circle path{stroke-dashoffset:0}.nav-separator{color:var(--color-line)}.burger-btn,.nav-close-btn{display:none}.nav-links{display:flex;align-items:center;gap:15px}.landing-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px;max-width:900px}.landing-header{display:flex;flex-direction:column;align-items:center;gap:15px}.couple-names{font-family:Cormorant Garamond,Georgia,serif;font-size:3rem;font-weight:400;font-style:italic;color:var(--color-text);letter-spacing:.05em}.wedding-date{display:flex;flex-direction:column;align-items:center;gap:10px}.date-text{font-size:1.3rem;color:var(--color-text);letter-spacing:.1em}.calendar-btn{background:transparent;border:none;font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;color:var(--color-text-light);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.calendar-btn:hover{color:var(--color-text)}.landing-nav{display:flex;flex-direction:column;gap:15px;width:100%;max-width:380px}.landing-details{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:20px}.details-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:400;color:var(--color-text);letter-spacing:.1em}.locations-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:40px;width:100%;border:1px solid #1a1a1a;padding:25px 35px}.location-item{display:flex;flex-direction:column;align-items:center;gap:5px}.location-name{font-size:1.15rem;color:var(--color-text);text-align:center;line-height:1.4}.maps-link{font-size:.85rem;color:var(--color-text-light);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.maps-link:hover{color:var(--color-text)}.faq-container{display:flex;flex-direction:column;align-items:center;max-width:450px;width:100%;margin-top:0;padding-bottom:40px}.faq-list{display:flex;flex-direction:column;gap:35px;width:100%}.faq-item{text-align:left}.faq-item:not(:last-child):after{content:"";display:block;width:60px;height:1px;background:var(--color-line);margin:35px auto 0}.faq-card{width:100%;background:url(/paper.jpg) center/cover;border-radius:4px;padding:24px 28px;box-shadow:0 2px 6px #0000001a,0 6px 20px #00000012;display:flex;flex-direction:row;align-items:flex-start;gap:24px}.faq-card-icon{width:150px;aspect-ratio:1 / 1;object-fit:contain;opacity:.85;flex-shrink:0;margin-top:24px}.faq-card-content{display:flex;flex-direction:column;gap:8px;flex:1}.faq-question{font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-weight:400;color:var(--color-text);margin-bottom:8px;letter-spacing:.05em}.faq-answer{font-size:1.05rem;font-weight:400;color:var(--color-text-light);line-height:1.7}.color-palette{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:auto;padding-top:14px}.color-swatch{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(140,118,96,.35);flex-shrink:0}.program-container{display:flex;flex-direction:column;align-items:center;max-width:400px;width:100%;margin-top:-20px}.program-title{align-self:flex-start;margin-left:0;font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;font-weight:400;font-style:italic;color:var(--color-text);margin-bottom:5px}.program-date{align-self:flex-start;margin-left:0;font-size:1.1rem;color:var(--color-text-light);margin-bottom:24px}.program-card{position:relative;width:100%;background:url(/paper.jpg) center/cover;border-radius:4px;padding:28px 32px;display:flex;flex-direction:column;gap:0;box-shadow:0 2px 6px #0000001a,0 6px 20px #00000012}.program-event{display:flex;flex-direction:row;align-items:stretch;gap:24px;padding:16px 0}.program-event-content{display:flex;flex-direction:column;gap:2px}.program-card-title-row{display:flex;align-items:center}.program-event-icon{width:90px;aspect-ratio:1 / 1;object-fit:contain;opacity:.85;flex-shrink:0;align-self:center}.program-card-time{font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;font-weight:400;color:var(--color-text-light);letter-spacing:.04em}.program-card-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--color-text)}.program-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.program-card-location{font-size:.9rem;color:var(--color-text-light)}.program-card-map-btn{font-size:.85rem;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-text);white-space:nowrap;align-self:flex-start}.timeline{width:100%;display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;align-items:flex-start;gap:20px;position:relative;padding-bottom:30px}.timeline-item:last-child{padding-bottom:0}.timeline-time{font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;color:var(--color-text-light);min-width:50px;text-align:right}.timeline-dot{width:8px;height:8px;background:var(--color-text);border-radius:50%;margin-top:6px;flex-shrink:0;position:relative}.timeline-item:not(:last-child) .timeline-dot:after{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:1px;height:calc(100% + 22px);background:var(--color-line)}.timeline-content{flex:1}.timeline-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-weight:400;color:var(--color-text);margin-bottom:2px}.timeline-description{font-size:.95rem;color:var(--color-text-light)}.timeline-location{font-size:.9rem;color:var(--color-text-light);text-decoration:underline;text-underline-offset:3px}@media (max-width: 420px){.content{padding:24px 32px}.form-container,.faq-container,.program-container{width:100%;max-width:100%;padding:0}.faq-card{flex-direction:column;align-items:flex-start}.faq-card-icon{order:1;margin-top:16px;align-self:center}.faq-card-content{order:0}.attendance-options{flex-direction:column;gap:10px;align-items:center}.attendance-btn{padding:10px 20px}.hand-circle{width:115%}.line-btn-line{width:100px}.guest-fields{padding:14px;gap:16px}.couple-names{font-size:2.2rem}.landing-container{gap:30px}.locations-row{flex-direction:column;gap:20px}.timeline-item{gap:15px}.timeline-time{min-width:45px;font-size:.95rem}.page{animation:none}}@media (max-width: 600px){.main-nav{justify-content:flex-end}.burger-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:1001}.burger-icon{display:flex;flex-direction:column;gap:5px}.burger-icon span{display:block;width:22px;height:1px;background:var(--color-text);transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s ease}.burger-icon.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger-icon.open span:nth-child(2){opacity:0}.burger-icon.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;z-index:999}.nav-links{position:fixed;top:0;right:0;width:55%;height:100vh;height:100dvh;background:#f5f0e8;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;padding:calc(56px + env(safe-area-inset-top)) 24px calc(40px + env(safe-area-inset-bottom));gap:28px;box-shadow:-6px 0 24px #00000021;transform:translate(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}.nav-links.open{transform:translate(0)}.nav-links .nav-separator,.nav-close-btn{display:none}.nav-links .nav-link{font-size:1.15rem;padding:4px 8px}}
