@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&display=swap";:root{--color-text: #1a1a1a;--color-text-light: #333333;--color-line: #6a6a6a}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-text);min-height:100vh;line-height:1.5}.app{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.bg-video{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffff59;z-index:1}.content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding: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-text);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:300;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:300;font-style:italic;color:var(--color-text);margin-bottom:10px}.thank-you-subtext{font-size:1.1rem;font-weight:300;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;gap:20px}.guest-form-wrapper{width:100%}.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{width:100%;background:transparent;border:1px solid rgba(90,75,65,.3);padding:12px}.guest-form-header{display:flex;justify-content:flex-end;padding:10px 12px 0}.remove-guest-btn{background:transparent;border:none;font-size:1.2rem;font-weight:300;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;min-height:100vh;display:flex;flex-direction:column}.main-nav{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem}.nav-link{position:relative;color:var(--color-text-light);text-decoration:none;transition:color .2s ease;letter-spacing:.05em;padding:8px 12px}.nav-link span{position:relative;z-index:1}.nav-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110%;height:120%;pointer-events:none;opacity:0;transition:opacity .25s ease}.nav-circle path{fill:none;stroke:var(--color-text);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)}.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:300;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 rgba(90,75,65,.3);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:-15vh}.faq-list{display:flex;flex-direction:column;gap:35px;width:100%}.faq-item{text-align:center}.faq-item:not(:last-child):after{content:"";display:block;width:60px;height:1px;background:var(--color-line);margin:35px auto 0}.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:300;color:var(--color-text-light);line-height:1.7}.program-container{display:flex;flex-direction:column;align-items:center;max-width:400px;width:100%}.program-title{font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;font-weight:300;font-style:italic;color:var(--color-text);margin-bottom:5px}.program-date{font-size:1.1rem;color:var(--color-text-light);margin-bottom:40px}.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)}@media (max-width: 420px){.form-container{width:300px}.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}.program-container{padding:0 10px}.timeline-item{gap:15px}.timeline-time{min-width:45px;font-size:.95rem}}
