@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}body{font-family:Cormorant Garamond,serif;color:#333;line-height:1.6;background-color:#d2b476;overflow-x:hidden;width:100%}a{text-decoration:none;color:#d2b476;transition:color .3s ease}a:hover{color:#e0c68e}img{max-width:100%;height:auto}.container{width:90%;max-width:1200px;margin:0 auto;padding:0 15px}.site-header{text-align:center;padding:40px 0 20px;position:relative}.couple-names-container{margin-top:40px;margin-bottom:45px}.couple-names{font-size:4rem;margin-bottom:10px;font-weight:300;letter-spacing:2px;text-transform:uppercase;line-height:.9}.and,.couple-names{color:#fff;position:relative;z-index:1}.and{font-size:2.5rem;font-style:italic;display:block;margin:10px 0;line-height:1}.header-leaf{position:absolute;z-index:10;pointer-events:none;top:0}.left-leaf{left:0;top:-5px;transform:translateX(-5%);width:60%}.right-leaf{right:0;transform:translateX(5%);width:60%}.header-leaf img{width:100%!important;height:auto!important;-o-object-fit:contain;object-fit:contain;opacity:.8}.main-navigation{background-color:transparent;text-align:center;padding:15px 0;position:relative;z-index:1}.main-navigation ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap}.main-navigation li{margin:0 15px;position:relative}.main-navigation a{font-size:1rem;text-transform:uppercase;letter-spacing:1px;padding:5px 0;position:relative;color:#fff}.main-navigation a:after{content:"";position:absolute;width:0;height:1px;bottom:0;left:0;background-color:#fff;transition:width .3s ease}.main-navigation a.active:after,.main-navigation a:hover:after{width:100%}.dropdown{position:relative}.dropdown-arrow{font-size:.7rem;margin-left:5px;transition:transform .3s ease}.dropdown.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background-color:#d2b476;min-width:180px;padding:10px 0;border-radius:4px;box-shadow:0 5px 15px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:all .3s ease;z-index:100;margin-top:10px}.dropdown-menu.show{opacity:1;visibility:visible}.dropdown-menu li{margin:0;display:block;width:100%}.dropdown-menu a{display:block;padding:8px 15px;text-align:left;white-space:nowrap}.dropdown-menu a:hover{background-color:rgba(255,255,255,.1)}.dropdown-menu a:after{display:none}.site-content{padding:0 0 60px;background-color:#fff;width:100%;max-width:100vw;overflow-x:hidden}.page-header{text-align:center;margin:60px 0 30px;padding-top:40px}.page-title{font-size:3rem;color:#d2b476;font-family:Cormorant Garamond,serif;font-weight:600;position:relative;display:inline-block;margin-bottom:0;text-align:center}.decorative-divider{margin-top:-10px;margin-bottom:20px}.gallery-section,.story-section,.welcome-section{margin-bottom:80px;text-align:center}.countdown-section{margin-bottom:25px}.welcome-section{text-align:center;max-width:800px;margin:0 auto;padding:60px 0}.welcome-text{margin-bottom:40px;font-size:1.1rem;line-height:1.8}.welcome-image{margin:40px auto;display:flex;justify-content:center;width:100%}.portrait-frame{width:800px;max-width:100%;margin:0 auto;padding:15px;background-color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.1);border:1px solid rgba(210,180,118,.5);border-radius:5px}.engagement-photo{width:100%;height:auto;display:block}.section-title{font-size:2.5rem;color:#d2b476;margin-bottom:30px;font-family:Cormorant Garamond,serif;font-weight:600;text-align:center}.story-content{max-width:800px;margin:0 auto;padding:40px 0;text-align:left;line-height:1.8;font-size:1.1rem}.story-intro{font-size:1.3rem;font-style:italic;color:#d2b476;margin-bottom:30px;text-align:center;font-family:Cormorant Garamond,serif}.story-content p{margin-bottom:25px}.story-content .welcome-image{margin:40px auto}.countdown-timer{display:flex;justify-content:center;margin:20px 0 30px}.countdown-item{margin:0 20px;min-width:80px}.countdown-number{font-size:2.5rem;color:#d2b476;font-weight:300}.countdown-label{font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.wedding-date{text-align:center;font-size:2rem;color:#d2b476;font-style:italic;margin:10px 0 20px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:40px}.gallery-item{overflow:hidden;border:1px solid rgba(210,180,118,.3)}.gallery-image{height:250px;background-color:#f9f5ed;display:flex;align-items:center;justify-content:center;color:#d2b476;font-style:italic}.event-details{justify-content:center;flex-wrap:wrap;gap:40px;margin-top:40px}.event-detail{flex:1;min-width:250px;max-width:400px;padding:30px;background-color:#f9f5ed;border:1px solid rgba(210,180,118,.3)}.btn{display:inline-block;padding:12px 30px;background-color:#d2b476;color:#fff;border:none;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:1rem;text-transform:uppercase;letter-spacing:1px;transition:background-color .3s ease;margin-top:20px}.btn:hover{background-color:#c0a56a;color:#fff}.rsvp-button-container{margin:20px 0}.rsvp-btn{background-color:#d2b476;color:#fff;padding:12px 30px;font-size:1.1rem;letter-spacing:2px;transition:all .3s ease}.rsvp-btn:hover{background-color:#c0a56a;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.site-footer{text-align:center;padding:40px 0;background-color:#d2b476;color:#fff}.footer-names{font-size:2rem;margin-bottom:10px}.footer-date{font-style:italic;margin-bottom:20px}@media (max-width:768px){.couple-names{font-size:3rem}.main-navigation li{margin:0 10px}.countdown-item{margin:10px}.profile-indicator{position:relative;top:0;right:0;justify-content:center;margin-top:10px}.corner-decoration{display:none}.site-header,body{background-color:#d2b476}#content,.site-header{width:100%}#content{background-color:#fff;margin:0 auto;overflow:hidden}.container{width:100%;padding:0 15px}}@media screen and (max-width:768px){.main-navigation{padding:10px 0}.main-navigation ul{flex-wrap:wrap;justify-content:center;gap:5px}.main-navigation li{margin:5px}.main-navigation a{font-size:.9rem;padding:5px 8px}.dropdown-menu{min-width:160px}.couple-names{font-size:2.5rem}.and{font-size:1.8rem;margin:5px 0}.site-header .container{padding:10px}.couple-names-container{margin:20px 0}}.placeholder{padding:20px;text-align:center;background:rgba(210,180,118,.1);border:1px dashed rgba(210,180,118,.5);width:80%;height:80%;display:flex;align-items:center;justify-content:center}.story-image{height:300px;margin:30px 0}.decorative-divider{display:flex;align-items:center;justify-content:center;margin:10px 0}.divider-line{height:2px;background-color:rgba(255,255,255,.8);width:100px;display:inline-block}.icon-container{margin:0 10px}.leaf-icon,.leaf-icon-placeholder{display:flex;align-items:center;justify-content:center;width:60px;height:60px}.countdown-section .decorative-divider{margin-top:-10px;margin-bottom:30px}.hero-image{width:100%;height:80vh;position:relative;overflow:hidden}.hero-image-full{width:100%!important;height:100%!important;-o-object-fit:cover;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f9f5ed;color:#d2b476;font-style:italic;font-size:1.2rem}.corner-decoration{position:absolute;top:0;left:0;width:400px;height:400px;pointer-events:none;z-index:100;background-repeat:no-repeat;background-size:contain;mix-blend-mode:soft-light;opacity:.9}.top-left{top:0;left:0}.top-right{top:0;right:0;transform:scaleX(-1)}.gold-bar-container{display:block;width:100%;margin:0;padding:0;line-height:0;height:3px}.gold-bar-container img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fallback-background{background:linear-gradient(135deg,#d2b476,#e0c68e);left:0}.fallback-background,.leaf-fallback{width:100%;height:100%;position:absolute;top:0}.leaf-fallback.left{background:linear-gradient(90deg,rgba(210,180,118,.5),transparent);left:0}.leaf-fallback.right{background:linear-gradient(270deg,rgba(210,180,118,.5),transparent);right:0}.gold-bar-fallback{width:100%;height:12px;background-color:#d2b476}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-control{width:100%;padding:10px;border:1px solid rgba(210,180,118,.5);font-family:Cormorant Garamond,serif;font-size:1rem}.form-control:focus{outline:none;border-color:#d2b476}.form-row{display:flex;flex-wrap:wrap;margin:0 -10px}.form-col{flex:1;padding:0 10px;min-width:250px}textarea.form-control{min-height:150px;resize:vertical}.radio-group{display:flex;gap:20px}.radio-item{display:flex;align-items:center}.radio-item input{margin-right:5px}.registry-section{text-align:center}.registry-items,.section-intro{margin-bottom:40px}.registry-items{display:flex;flex-direction:column;align-items:center;gap:30px}.registry-item{background-color:#f9f5ed;padding:30px;border-radius:8px;width:100%;max-width:400px;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:transform .3s ease}.registry-item:hover{transform:translateY(-5px)}.registry-item h3{font-size:1.8rem;margin-bottom:20px;color:#000}.registry-item .btn{margin-top:20px;background-color:#d2b476;color:white;border:none;padding:12px 30px;border-radius:4px;font-weight:700;transition:background-color .3s ease}.registry-item .btn:hover{background-color:#c2a366}.hotel-item h3.hotel-name{font-weight:700;font-size:1.2rem;margin-bottom:5px;color:#d2b476}.hotel-item p.hotel-address{font-style:italic;color:#666;margin-bottom:10px}.hotel-list{display:flex;flex-direction:column;gap:30px;margin-top:40px}.hotel-item{margin-bottom:40px;text-align:left}.hotel-item,.transportation-info{padding:30px;background-color:#f9f5ed;border:1px solid rgba(210,180,118,.3)}.transportation-info{margin-top:40px}.transportation-info ul{margin-top:10px;margin-left:20px}.qa-list{margin-top:40px}.qa-item{margin-bottom:30px;text-align:left}.qa-question{color:#d2b476;margin-bottom:10px;font-weight:600}.wedding-party-columns{flex-wrap:wrap;justify-content:center}.party-grid,.wedding-party-columns{display:flex;gap:40px;margin:40px 0}.party-grid{flex-direction:column;align-items:center;width:100%}.party-column{flex:1;min-width:300px;max-width:500px;display:flex;flex-direction:column;align-items:center}.party-column-title,.party-member{text-align:center;margin-bottom:30px}.party-member{max-width:300px;flex-direction:column;width:100%}.party-member,.party-photo{display:flex;align-items:center}.party-photo{width:300px;height:300px;margin:0 auto 20px;background-color:#f9f5ed;justify-content:center;border-radius:50%;border:1px solid rgba(210,180,118,.3);overflow:hidden}.party-member-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.party-name{font-size:1.8rem;color:#d2b476;font-family:Cormorant Garamond,serif}.party-name,.party-role{margin-bottom:10px;width:100%}.party-role{font-style:italic;color:#666;font-size:1.2rem}.party-bio{font-size:1.1rem;line-height:1.5;width:100%}@media (max-width:768px){.wedding-party-columns{flex-direction:column}.party-column{width:100%}}.secure-entry-page{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden}.background-image-container{z-index:0}.background-image-container,.overlay{position:absolute;top:0;left:0;width:100%;height:100%}.overlay{background-color:rgba(0,0,0,.3);z-index:1}.welcome-container{text-align:center;position:relative;z-index:2;color:#fff;max-width:600px;padding:25px}.welcome-container h1{font-size:3.5rem;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.welcome-container p{font-size:1.5rem;margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-button{background-color:rgba(210,180,118,.9);color:#fff;border:none;padding:12px 35px;font-size:1.2rem;font-family:Cormorant Garamond,serif;cursor:pointer;transition:all .3s ease;margin-top:15px;text-transform:uppercase;letter-spacing:1px}.login-button:hover{background-color:rgba(210,180,118,1);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.secure-entry-container{background-color:rgba(255,255,255,.95);padding:40px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:500px;width:90%;text-align:center;position:relative;overflow:hidden;z-index:2;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.secure-entry-container h1{color:#d2b476;margin-bottom:20px}.secure-entry-container p{margin-bottom:30px}.password-form{margin-top:30px}.password-input{width:100%;padding:12px;margin-bottom:20px;border:1px solid rgba(210,180,118,.5);font-family:Cormorant Garamond,serif;font-size:1.1rem;text-align:center}.password-input:focus{outline:none;border-color:#d2b476}.error-message{color:#e74c3c;margin-top:10px}.bottom-right{bottom:-100px;right:-100px;transform:rotate(180deg)}.form-buttons{display:flex;justify-content:space-between;margin-bottom:20px}.cancel-btn{background-color:#f1f1f1;color:#333}.cancel-btn:hover{background-color:#e1e1e1}.photo-sharing{margin-top:40px;text-align:center}.wedding-hashtag{font-size:1.5rem;color:#d2b476;margin:20px 0;font-weight:600}.submission-message{background-color:#f9f5ed;padding:30px;border:1px solid rgba(210,180,118,.3);margin:40px 0;text-align:center}.submission-message h2{color:#d2b476;margin-bottom:15px}.section-intro{margin-bottom:30px;max-width:800px;margin-left:auto;margin-right:auto}.event-timeline{margin-top:20px}.event-item,.event-timeline{display:flex;flex-direction:column;align-items:center}.event-item{margin-bottom:20px;width:100%;max-width:800px}.event-date{margin-bottom:10px;width:100%}.event-details{padding:15px;border-radius:4px}.event-name{margin-top:0;margin-bottom:5px}.event-date h3{color:#d2b476;margin-bottom:20px;text-align:center;font-size:2rem}.event-details{background-color:#f9f5ed;padding:30px;border:1px solid rgba(210,180,118,.3);margin-bottom:30px;width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center}.event-name{color:#d2b476;margin-bottom:15px;font-size:1.8rem;text-align:center;width:100%}.event-address,.event-attire,.event-description,.event-location,.event-time{margin-bottom:5px;text-align:center;width:100%}.event-location,.event-time{font-size:2.2rem}.event-time span{font-size:1.2rem;text-transform:uppercase;vertical-align:text-top;margin-left:3px}.event-time span.time-number{font-size:1.5rem;font-weight:500;position:relative;top:-5px}.event-address{font-size:1.4rem}.event-location{font-style:italic;color:#d2b476;font-weight:500}.event-description{line-height:1.6;max-width:700px;margin:5px auto 10px;font-size:1.4rem}.event-attire{font-weight:600;margin-bottom:10px}.event-attire,.event-details p,.event-details p strong{font-size:1.3rem}.event-details p strong+span,.event-details p:has(strong){font-size:1.1rem;line-height:1.4;display:block;margin-top:5px;color:#666}.event-note{font-size:1.1rem!important;line-height:1.4;color:#666;margin-top:5px}.section-intro p{text-align:center;max-width:800px;margin:0 auto 30px;font-size:1.4rem;line-height:1.6}.event-date{text-align:center;font-size:1.5rem;color:#666;margin-bottom:15px;font-style:italic}.event-schedule{margin-top:15px;width:100%;padding-left:30px}.event-schedule li{font-size:1.2rem;margin-bottom:8px;line-height:1.5}.additional-info{margin-top:40px;text-align:center}.additional-info p{text-align:center;font-size:1.3rem;line-height:1.6;margin-bottom:15px}.dress-code-items{margin-top:40px}.dress-code-item{margin-bottom:40px}.dress-code-description{text-align:center;margin-bottom:20px;font-size:1.4rem}.dress-code-details{display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.dress-code-column{flex:1;min-width:250px;background-color:#f9f5ed;padding:25px;border:1px solid rgba(210,180,118,.3)}.dress-code-column h3{color:#d2b476;margin-bottom:15px;text-align:center;font-size:1.8rem}.dress-code-column ul{margin-left:20px}.dress-code-column li{margin-bottom:12px;font-size:1.3rem;line-height:1.5}.dress-code-column a{font-size:1.3rem;color:#d2b476;text-decoration:underline}.dress-code-note{margin-top:20px;padding:15px;background-color:rgba(210,180,118,.1);border-left:3px solid #d2b476;font-size:1.2rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;position:fixed;top:0;left:0;background-color:rgba(255,255,255,.9);z-index:9999}.minimal-loading{height:100vh;width:100%;background-color:#fff}.loading-spinner{width:50px;height:50px;border-radius:50%;border:5px solid rgba(210,180,118,.3);border-top-color:#d2b476;animation:spin 1s ease-in-out infinite;margin-bottom:20px}.loading-screen p{font-size:1.2rem;color:#666;font-family:Cormorant Garamond,serif}@keyframes spin{to{transform:rotate(1turn)}}.countdown-section{text-align:center;padding:20px 0;margin-top:20px}.event-details-section{text-align:center;padding:60px 0;margin-top:40px}.profile-indicator{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:10px;z-index:100}.profile-badge{background-color:#d2b476;color:#fff;border-radius:4px}.logout-btn,.profile-badge{padding:5px 10px;font-size:.9rem;letter-spacing:1px}.logout-btn{background-color:transparent;border:1px solid #d2b476;color:#d2b476;border-radius:4px;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background-color:#d2b476;color:#fff}.event-location,.event-venue{font-weight:700;font-size:1.2rem;margin-bottom:0!important;line-height:1.2;display:block}.event-address{font-style:italic;color:#666;margin-top:-5px!important;margin-bottom:10px;line-height:1.2;display:block;padding-left:0}.event-location:after{content:none}.travel-section{text-align:center}.travel-option{margin-bottom:15px}.travel-option h3{margin-bottom:5px;color:#000}.travel-option p{margin-top:0}.restaurants-section h2.section-title,.travel-section h2.section-title{margin-top:40px;margin-bottom:20px;color:#d2b476;font-size:2rem}.attractions-list{list-style-type:none;padding-left:0;margin:0 auto}.attractions-list li{margin-bottom:10px}.restaurant-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:40px 0}.restaurant-item{background-color:#f9f5ed;padding:20px;border:1px solid rgba(210,180,118,.3);border-radius:4px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.restaurant-item:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.restaurant-name{color:#d2b476;margin:0;font-size:1.4rem;line-height:1.4}@media (max-width:768px){.restaurant-list{grid-template-columns:1fr;gap:15px;margin:30px 0}.restaurant-name{font-size:1.2rem}}