@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Lato:wght@300;400&family=Allura&family=Tangerine:wght@400;700&family=Alex+Brush&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:Cormorant Garamond,Georgia,serif;line-height:1.7;color:#4a5568;background:linear-gradient(to bottom,#fdfbf7,#f5f1e8);overflow-x:hidden}#root{width:100%;min-height:100vh}.navigation{background:linear-gradient(to bottom,#fdfbf7fa,#fffffff2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;padding:1.2rem 0;box-shadow:0 2px 20px #4758770d}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;width:100%}.nav-logo{text-decoration:none;transition:all .3s ease;position:relative;display:flex;align-items:center;border-bottom:none}.nav-logo:hover{border-bottom:none}.nav-logo:hover:before{display:none}.logo-image{height:70px;width:auto;transition:transform .3s ease,filter .3s ease}.nav-logo:hover .logo-image{transform:scale(1.05);filter:brightness(1.1) drop-shadow(0 0 8px rgba(212,165,184,.6)) drop-shadow(0 0 16px rgba(212,165,184,.4)) drop-shadow(0 0 24px rgba(212,165,184,.2))}.nav-links{display:flex;gap:3rem;align-items:center}.nav-link{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#3d4a5e;transition:all .3s ease;position:relative;padding:.3rem 0;border-bottom:1px solid transparent}.nav-link:hover,.nav-link.active{color:#475877;border-bottom-color:transparent;text-shadow:0 0 8px rgba(220,150,170,.9),0 0 20px rgba(220,150,170,.6),0 0 40px rgba(220,150,170,.3)}.nav-link:hover:before,.nav-link.active:before{display:none}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:101;transition:transform .3s ease}.hamburger span{width:100%;height:3px;background:#475877;border-radius:3px;transition:all .3s ease;transform-origin:center}.hamburger:hover span{background:#5a6b8a}.hamburger.active span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.active span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}@media (max-width: 1100px) and (min-width: 769px){.nav-links{gap:1.5rem;margin-left:2rem}.nav-link{font-size:1rem}}@media (max-width: 768px){.nav-container{padding:0 1.5rem}.hamburger{display:flex}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:70%;max-width:300px;background:linear-gradient(to bottom,#fdfbf7fa,#fffffffa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:right .4s cubic-bezier(.4,0,.2,1);box-shadow:-5px 0 30px #4758771a;border-left:2px solid rgba(71,88,119,.3)}.nav-links.active{right:0}.nav-link{font-size:1.3rem;padding:1rem 2rem;width:100%;text-align:center;border-bottom:none}.nav-link:before{display:none}.nav-link:hover,.nav-link.active{color:#475877;border-bottom-color:transparent;text-shadow:0 0 10px rgba(201,167,112,.4),0 0 20px rgba(201,167,112,.2)}.logo-image{height:50px}}.footer{background:linear-gradient(135deg,#475877,#5a6b8a);color:#fff;padding:1rem 2rem 1.5rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:3rem;flex-wrap:wrap;margin-bottom:1.5rem}.footer-brand h3{font-family:Playfair Display,serif;font-size:1.6rem;margin-bottom:.5rem;font-weight:600;letter-spacing:.03em;color:#fff}.footer-tagline{font-family:Lato,sans-serif;font-size:.95rem;color:#ffffffd9;font-style:italic;margin:0}.footer-links{display:flex;gap:2rem;flex-wrap:wrap}.footer-links a{font-family:Lato,sans-serif;color:#ffffffd9;text-decoration:none;font-size:.95rem;transition:all .3s ease;border-bottom:1px solid transparent}.footer-links a:hover{color:#fff;border-bottom-color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);text-align:center}.footer-bottom p{font-family:Lato,sans-serif;font-size:.85rem;color:#ffffffb3;margin:0}@media (max-width: 768px){.footer{padding:1rem 1.5rem 1.25rem}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:2rem}.footer-brand h3{font-size:1.4rem}.footer-links{display:none}}.password-gate-overlay{position:fixed;inset:0;background:#475877bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.password-gate-content{background:linear-gradient(145deg,#fff,#fdfbf7);padding:3rem;border-radius:20px;border:2px solid rgba(71,88,119,.35);box-shadow:0 20px 60px #4758774d,inset 0 1px #ffffffe6;max-width:500px;width:100%;position:relative;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.password-gate-content h1{font-family:Alex Brush,cursive;color:#475877;font-size:3.5rem;margin-bottom:1rem;text-align:center;font-weight:400}.password-gate-description{font-family:Cormorant Garamond,serif;color:#3d4a5e;font-size:1.2rem;text-align:center;margin-bottom:2.5rem;line-height:1.7;font-style:italic}.password-gate-form{width:100%}.password-gate-form .form-group{margin-bottom:2rem}.password-gate-form label{display:block;margin-bottom:.8rem;color:#475877;font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.2rem;letter-spacing:.02em}.password-gate-form input{width:100%;padding:1.1rem;border:2px solid rgba(71,88,119,.3);border-radius:12px;font-size:1.05rem;font-family:Lato,sans-serif;transition:all .3s ease;background:linear-gradient(145deg,#fdfbf7,#fff);color:#3d4a5e}.password-gate-form input:focus{outline:none;border-color:#5a6b8a;box-shadow:0 0 0 3px #5a6b8a26,0 4px 12px #47587714;background:#fff}.password-gate-button{width:100%;background:linear-gradient(135deg,#5a6b8a,#475877);color:#fff;padding:1.3rem 2.5rem;border:none;border-radius:35px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #5a6b8a4d;position:relative;overflow:hidden}.password-gate-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.password-gate-button:hover:before{left:100%}.password-gate-button:hover:not(:disabled){background:linear-gradient(135deg,#475877,#5a6b8a);transform:translateY(-3px);box-shadow:0 8px 25px #5a6b8a66}.password-gate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.password-gate-error{padding:1rem;margin-bottom:1.5rem;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;font-family:Lato,sans-serif;font-size:.95rem;text-align:center}@media (max-width: 768px){.password-gate-overlay{padding:.5rem}.password-gate-content{padding:2rem 1.5rem;margin:0;max-width:100%;border-radius:16px}.password-gate-content h1{font-size:2.5rem;margin-bottom:.8rem}.password-gate-description{font-size:1rem;margin-bottom:1.5rem}.password-gate-form .form-group{margin-bottom:1.5rem}.password-gate-form label{font-size:1.1rem;margin-bottom:.6rem}.password-gate-form input{padding:.9rem;font-size:1rem}.password-gate-button{padding:1rem 1.5rem;font-size:1.1rem}.password-gate-error{padding:1rem;margin-bottom:1rem;font-size:.9rem}}@media (max-width: 480px){.password-gate-content{padding:1.5rem 1rem;border-radius:12px}.password-gate-content h1{font-size:2rem}.password-gate-description{font-size:.95rem}.password-gate-form input{padding:.8rem;font-size:.95rem}.password-gate-button{padding:.9rem 1.2rem;font-size:1rem}}.home{min-height:calc(100vh - 80px);background:linear-gradient(to bottom,#fdfbf7,#f5f1e8)}.hero{position:relative;background:linear-gradient(135deg,#4758774d,#5a6b8a40),url(/assets/faq-DzoNIM6r.jpg);background-size:cover;background-position:center 40%;background-repeat:no-repeat;min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;border-bottom:3px solid rgba(71,88,119,.3)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(71,88,119,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(90,107,138,.15) 0%,transparent 50%);pointer-events:none}.hero-content{max-width:900px;position:relative;z-index:1;background:#ffffff26;padding:3rem;border-radius:20px;border:2px solid rgba(255,255,255,.3);box-shadow:0 15px 50px #47587733}.couple-names{font-family:Alex Brush,cursive;font-size:7rem;font-weight:400;color:#fff;margin-bottom:1.5rem;letter-spacing:.03em;text-shadow:2px 2px 8px rgba(71,88,119,.7),0 0 40px rgba(90,107,138,.4),4px 4px 12px rgba(0,0,0,.3);line-height:1.3;font-style:normal}.wedding-date{font-family:Cormorant Garamond,serif;font-size:2rem;color:#fffffff2;margin-bottom:1.2rem;font-style:italic;font-weight:400;text-shadow:1px 1px 3px rgba(71,88,119,.5);letter-spacing:.05em}.tagline{font-family:Lato,sans-serif;font-size:1.3rem;color:#fffffffa;font-weight:300;line-height:1.7;max-width:650px;margin:0 auto 2rem;text-shadow:1px 1px 3px rgba(71,88,119,.5);letter-spacing:.02em}.rsvp-button{display:inline-block;padding:1rem 3rem;background-color:#fff3;border:2px solid white;color:#fff;text-decoration:none;font-family:Lato,sans-serif;font-size:1.1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:50px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #4758774d}.rsvp-button:hover{background-color:#fff;color:#2f3640;transform:translateY(-2px);box-shadow:0 6px 20px #f5d7e366,0 4px 15px #0003;border-color:#f5d7e380}.detail-section{padding:7rem 2rem;position:relative}.section-content{max-width:1000px;margin:0 auto;text-align:center}.section-content h2{font-family:Playfair Display,serif;color:#2f3640;font-size:3.5rem;margin-bottom:3rem;font-weight:600;position:relative;letter-spacing:.05em}.section-content h2:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(to right,transparent,rgba(245,215,227,.6),#2f3640,rgba(245,215,227,.6),transparent)}.when-section{position:relative;background:linear-gradient(to bottom,#ffffff4d,#fdfbf7cc),url(/assets/whenphoto-DMqH2k5M.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.countdown-container{display:flex;justify-content:center;margin:3rem 0}.countdown-box{background:#ffffff4d;padding:3rem 4rem;border-radius:30px;border:3px solid rgba(71,88,119,.3);box-shadow:0 15px 50px #4758771f,inset 0 1px #ffffffe6;text-align:center;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.countdown-box:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(to right,#2f3640,#4a5568,#2f3640)}.countdown-number{font-family:Playfair Display,serif;font-size:6rem;font-weight:700;color:#2f3640;line-height:1;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(71,88,119,.1)}.date-break{display:none}.countdown-date{font-family:Cormorant Garamond,serif;font-size:2.4rem;color:#2f3640;font-weight:700;font-style:italic;letter-spacing:.05em;margin-bottom:1.5rem}.countdown-label{font-family:Cormorant Garamond,serif;font-size:1.6rem;color:#4a5568;font-weight:600;font-style:italic;letter-spacing:.03em}.when-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;margin-top:4rem}.when-detail-item{background:#ffffff4d;padding:2.5rem 2rem;border-radius:20px;border:2px solid rgba(71,88,119,.25);box-shadow:0 10px 30px #47587714,inset 0 1px #fffc;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.when-detail-item h3{font-family:Playfair Display,serif;color:#2f3640;font-size:1.8rem;margin-bottom:1rem;font-weight:600;letter-spacing:.02em}.detail-text{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:#4a5568;font-weight:600;margin-bottom:.5rem;letter-spacing:.02em}.detail-subtext{font-family:Lato,sans-serif;font-size:1.05rem;color:#374151;line-height:1.6;margin:0}.where-section{position:relative;background:linear-gradient(to bottom,#ffffff4d,#fdfbf7cc),url(/assets/coupledogs-qb7Lu--u.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.where-details{max-width:700px;margin:0 auto;background:#ffffff4d;padding:3.5rem 3rem;border-radius:25px;border:2px solid rgba(71,88,119,.3);box-shadow:0 15px 50px #4758771a,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.where-details .venue-name{font-family:Playfair Display,serif;font-size:2.2rem;color:#2f3640;font-weight:600;margin-bottom:1.2rem;letter-spacing:.02em}.where-details .venue-address{font-family:Lato,sans-serif;font-size:1.2rem;color:#4a5568;line-height:1.8;margin-bottom:2rem}.venue-description{font-family:Lato,sans-serif;font-size:1.1rem;color:#374151;line-height:1.9;margin-bottom:2.5rem;text-align:center}.directions-button{display:inline-block;background:linear-gradient(135deg,#4a5568,#2f3640);color:#fff;padding:1rem 3rem;border-radius:35px;font-family:Lato,sans-serif;font-size:1.1rem;font-weight:500;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 20px #5a6b8a4d;border:none;letter-spacing:.05em}.directions-button:hover{background:linear-gradient(135deg,#2f3640,#4a5568);transform:translateY(-3px);box-shadow:0 6px 25px #5a6b8a66;color:#fff}.dresscode-section{position:relative;background:linear-gradient(to bottom,#ffffff4d,#fdfbf7cc),url(/assets/dresscodephoto-0JKIQXMy.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.dresscode-details{max-width:800px;margin:0 auto}.dresscode-main{background:#ffffff4d;padding:3rem 2.5rem;border-radius:25px;border:2px solid rgba(71,88,119,.3);box-shadow:0 15px 50px #4758771a,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);margin-bottom:3rem}.dresscode-main h3{font-family:Playfair Display,serif;color:#2f3640;font-size:2.5rem;margin-bottom:1rem;font-weight:600;letter-spacing:.03em}.dresscode-subtitle{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:#4a5568;font-style:italic;margin:0}.dresscode-suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2.5rem}.dresscode-suggestion-item{background:#ffffff4d;padding:2.5rem 2rem;border-radius:20px;border:2px solid rgba(71,88,119,.25);box-shadow:0 10px 30px #47587714,inset 0 1px #fffc;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.dresscode-suggestion-item h4{font-family:Playfair Display,serif;color:#2f3640;font-size:1.6rem;margin-bottom:1rem;font-weight:600;font-style:italic;letter-spacing:.02em}.dresscode-suggestion-item p{font-family:Lato,sans-serif;font-size:1.1rem;color:#374151;line-height:1.8;margin:0}.dresscode-note{font-family:Lato,sans-serif;font-size:1.05rem;color:#4a5568;line-height:1.8;text-align:center;background:#ffffff4d;padding:1.8rem 2rem;border-radius:15px;border:2px solid rgba(71,88,119,.2);box-shadow:0 8px 25px #4758770f,inset 0 1px #fffc;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-style:italic}.couple-photos{padding:7rem 2rem;background:linear-gradient(to bottom,#fffffff2,#fdfbf7f2),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(71,88,119,.02) 10px,rgba(71,88,119,.02) 20px);position:relative}.photos-content{max-width:1200px;margin:0 auto}.photos-content h2{font-family:Cormorant Garamond,serif;text-align:center;color:#2f3640;font-size:3rem;margin-bottom:3.5rem;font-weight:600;position:relative;letter-spacing:.05em}.photos-content h2:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(to right,transparent,#2f3640,transparent)}.photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:2rem}.photo-card{background:linear-gradient(145deg,#fff,#fdfbf7);padding:2rem;border-radius:20px;border:2px solid rgba(71,88,119,.3);box-shadow:0 10px 35px #47587714,inset 0 1px #fffc;text-align:center;position:relative;overflow:hidden;display:block;text-decoration:none;color:inherit}.story-card-interactive{transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.story-card-interactive:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,#2f3640,#4a5568);transform:scaleX(0);transition:transform .4s ease;will-change:transform}.story-card-interactive:after{content:"";position:absolute;inset:0;border-radius:20px;border:2px solid rgba(90,107,138,.5);box-shadow:0 20px 50px #47587726,inset 0 1px #ffffffe6;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1);pointer-events:none}.story-card-interactive:hover:before{transform:scaleX(1)}.story-card-interactive:hover:after{opacity:1}.story-card-interactive:hover{transform:translateY(-10px)}.photo-placeholder{width:100%;aspect-ratio:3 / 4;background:linear-gradient(135deg,#2f3640,#4a5568);border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative;overflow:hidden}.photo-placeholder.couple-photo{aspect-ratio:4 / 3;background:linear-gradient(135deg,#4a5568,#2f3640)}.photo-placeholder span{font-family:Lato,sans-serif;color:#ffffffe6;font-size:1rem;font-weight:400;text-align:center;padding:1rem;background:#0003;border-radius:10px}.photo-card h3{font-family:Playfair Display,serif;color:#2f3640;font-size:1.8rem;margin-bottom:.75rem;font-weight:600;letter-spacing:.03em}.photo-description{font-family:Lato,sans-serif;color:#4a5568;font-size:1.1rem;margin:0}.story-link{color:#4a5568;font-weight:500;transition:color .3s ease;border-bottom:2px solid transparent;padding-bottom:2px;display:inline-block}.story-card-interactive:hover .story-link{color:#2f3640;border-bottom-color:#2f3640}.details,.faq{padding:7rem 2rem;background:linear-gradient(to bottom,#fffffff2,#fdfbf7f2),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(71,88,119,.02) 10px,rgba(71,88,119,.02) 20px);position:relative}.faq-content{max-width:1100px;margin:0 auto}.faq-content h2{font-family:Playfair Display,serif;text-align:center;color:#2f3640;font-size:3rem;margin-bottom:3.5rem;font-weight:600;position:relative;letter-spacing:.05em}.faq-content h2:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(to right,transparent,#2f3640,transparent)}.faq-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:2.5rem}.faq-item{background:linear-gradient(145deg,#fff,#fdfbf7);padding:2.5rem;border-radius:15px;border:2px solid rgba(71,88,119,.2);box-shadow:0 8px 25px #4758770f,inset 0 1px #ffffffe6;position:relative}.faq-item h4{font-family:Playfair Display,serif;color:#2f3640;font-size:1.4rem;margin-bottom:1rem;font-weight:600;letter-spacing:.02em}.faq-item p{font-family:Lato,sans-serif;color:#374151;line-height:1.8;margin:0;font-size:1.05rem}.details-content{max-width:900px;margin:0 auto;display:flex;justify-content:center}.story-card{max-width:700px;width:100%}.detail-card{text-align:center;padding:3rem;border:2px solid rgba(71,88,119,.3);border-radius:20px;background:linear-gradient(145deg,#fff,#fdfbf7);box-shadow:0 10px 40px #47587714,inset 0 1px #ffffffe6;transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative;will-change:transform}.detail-card:after{content:"";position:absolute;inset:0;border-radius:20px;border:2px solid rgba(90,107,138,.5);box-shadow:0 15px 50px #4758771f,inset 0 1px #fff;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1);pointer-events:none}.detail-card:hover{transform:translateY(-8px)}.detail-card:hover:after{opacity:1}.detail-card h3{font-family:Playfair Display,serif;color:#2f3640;margin-bottom:2rem;font-size:2.2rem;font-weight:600;letter-spacing:.03em}.detail-card p{font-family:Lato,sans-serif;color:#374151;line-height:1.9;font-size:1.1rem;text-align:justify;text-align-last:center}@media (max-width: 768px){.hero{min-height:60vh;padding:5rem 1rem 3rem}.couple-names{font-size:3.5rem}.wedding-date{font-size:1.2rem}.tagline{font-size:1.1rem}.rsvp-button{padding:.9rem 2.5rem;font-size:1rem}.detail-section{padding:4rem 1rem}.section-content h2{font-size:2.2rem;margin-bottom:2rem}.date-break{display:inline}.countdown-box{padding:2rem 2.5rem}.countdown-number{font-size:4rem}.countdown-label{font-size:1.2rem}.when-details{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}.when-detail-item{padding:2rem 1.5rem}.when-detail-item h3{font-size:1.5rem}.detail-text{font-size:1.2rem}.detail-subtext{font-size:1rem}.where-details{padding:2.5rem 2rem}.where-details .venue-name{font-size:1.8rem}.where-details .venue-address{font-size:1.1rem}.venue-description{font-size:1rem;margin-bottom:2rem}.directions-button{padding:.9rem 2.5rem;font-size:1rem}.dresscode-main{padding:2.5rem 2rem}.dresscode-main h3{font-size:2rem}.dresscode-subtitle{font-size:1.2rem}.dresscode-suggestions{grid-template-columns:1fr;gap:1.5rem}.dresscode-suggestion-item{padding:2rem 1.5rem}.dresscode-suggestion-item h4{font-size:1.4rem}.dresscode-suggestion-item p{font-size:1rem}.dresscode-note{font-size:1rem;padding:1.5rem}.couple-photos{padding:4rem 1rem}.photos-content h2{font-size:2rem}.photos-grid{grid-template-columns:1fr;gap:2rem}.photo-card{padding:1.5rem}.photo-card h3{font-size:1.5rem}.photo-description{font-size:1rem}.details{padding:4rem 1rem}.details-content{gap:2rem}.detail-card{padding:1.5rem}.faq{padding:4rem 1rem}.faq-content h2{font-size:2rem}.faq-list{grid-template-columns:1fr;gap:1.5rem}.faq-item{padding:1.5rem}.faq-item h4{font-size:1.2rem}}.modal-overlay{position:fixed;inset:0;background:#475877bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:linear-gradient(145deg,#fff,#fdfbf7);padding:3rem;border-radius:20px;border:2px solid rgba(71,88,119,.35);box-shadow:0 20px 60px #4758774d,inset 0 1px #ffffffe6;max-width:500px;width:100%;position:relative;animation:modalFadeIn .3s ease-out}.modal-close-button{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2.5rem;color:#3d4a5e;cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;line-height:1;padding:0;z-index:10}.modal-close-button:hover{background:#f5d7e333;color:#475877;transform:rotate(90deg) scale(1.1)}.modal-close-button:active{transform:rotate(90deg) scale(.95)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{font-family:Playfair Display,serif;color:#475877;font-size:2.5rem;margin-bottom:1rem;font-weight:600;text-align:center;letter-spacing:.02em}.modal-description{font-family:Cormorant Garamond,serif;color:#3d4a5e;font-size:1.2rem;text-align:center;margin-bottom:2.5rem;line-height:1.7;font-style:italic}.lookup-form{width:100%}.lookup-form .form-group{margin-bottom:2rem}.lookup-form label{display:block;margin-bottom:.8rem;color:#475877;font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.2rem;letter-spacing:.02em}.lookup-form input{width:100%;padding:1.1rem;border:2px solid rgba(71,88,119,.3);border-radius:12px;font-size:1.05rem;font-family:Lato,sans-serif;transition:all .3s ease;background:linear-gradient(145deg,#fdfbf7,#fff);color:#3d4a5e}.lookup-form input:focus{outline:none;border-color:#5a6b8a;box-shadow:0 0 0 3px #5a6b8a26,0 4px 12px #47587714;background:#fff}.lookup-button{width:100%;background:linear-gradient(135deg,#5a6b8a,#475877);color:#fff;padding:1.3rem 2.5rem;border:none;border-radius:35px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #5a6b8a4d;position:relative;overflow:hidden}.lookup-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.lookup-button:hover:before{left:100%}.lookup-button:hover:not(:disabled){background:linear-gradient(135deg,#475877,#5a6b8a);transform:translateY(-3px);box-shadow:0 8px 25px #5a6b8a66}.lookup-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{padding:1rem;margin-bottom:1.5rem;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;font-family:Lato,sans-serif;font-size:.95rem;text-align:center}.not-found-message{padding:1.5rem;margin-bottom:1.5rem;background:linear-gradient(145deg,#fce4ec,#f8bbd0);border:1px solid #f48fb1;border-radius:12px;text-align:center}.not-found-message p{font-family:Lato,sans-serif;color:#880e4f;font-size:1rem;margin:0 0 .8rem;line-height:1.6}.not-found-message p:last-child{margin-bottom:0}.contact-info{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.05rem}.matches-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;max-height:400px;overflow-y:auto}.match-item{background:linear-gradient(145deg,#fff,#fdfbf7);border:2px solid rgba(71,88,119,.3);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.match-item:hover{border-color:#5a6b8a;background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #5a6b8a33}.match-name{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;color:#475877;margin-bottom:.5rem}.match-email{font-family:Lato,sans-serif;font-size:1rem;color:#3d4a5e}.back-button{width:100%;background:transparent;color:#5a6b8a;padding:1rem 2rem;border:2px solid #5a6b8a;border-radius:35px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .3s ease}.back-button:hover{background:#5a6b8a;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #5a6b8a33}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-content{padding:2rem 1.5rem;margin:0;max-width:100%;border-radius:16px}.modal-close-button{top:.75rem;right:.75rem;font-size:2rem;width:2rem;height:2rem}.modal-content h2{font-size:1.8rem;margin-bottom:.8rem}.modal-description{font-size:1rem;margin-bottom:1.5rem}.lookup-form .form-group{margin-bottom:1.5rem}.lookup-form label{font-size:1.1rem;margin-bottom:.6rem}.lookup-form input{padding:.9rem;font-size:1rem}.lookup-button{padding:1rem 1.5rem;font-size:1.1rem}.matches-list{max-height:300px}.match-item{padding:1rem}.match-name{font-size:1.15rem}.match-email{font-size:.9rem}.back-button{padding:.9rem 1.5rem;font-size:1rem}.error-message,.not-found-message{padding:1rem;margin-bottom:1rem;font-size:.9rem}.not-found-message p{font-size:.95rem}.contact-info{font-size:1rem}}@media (max-width: 480px){.modal-content{padding:1.5rem 1rem;border-radius:12px}.modal-content h2{font-size:1.5rem}.modal-description{font-size:.95rem}.lookup-form input{padding:.8rem;font-size:.95rem}.lookup-button{padding:.9rem 1.2rem;font-size:1rem}}.rsvp{background:linear-gradient(to bottom,#fdfbf7fa,#f5f1e8f2),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(71,88,119,.02) 80px,rgba(71,88,119,.02) 82px);position:relative}.rsvp-main{padding:3rem 2rem;transition:filter .3s ease}.rsvp-main.blurred{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.rsvp-header{text-align:center;max-width:800px;margin:0 auto 5rem;position:relative}.rsvp-header h1{font-family:Playfair Display,serif;color:#475877;font-size:4rem;margin-bottom:1.5rem;font-weight:600;letter-spacing:.05em;position:relative}.rsvp-header h1:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:150px;height:2px;background:linear-gradient(to right,transparent,#475877,transparent)}.rsvp-header p{font-family:Cormorant Garamond,serif;color:#3d4a5e;font-size:1.4rem;font-style:italic;line-height:1.8;margin-top:2rem;font-weight:400}.rsvp-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}.thank-you-container{text-align:center;background:linear-gradient(145deg,#fff,#fdfbf7);padding:5rem 3rem;border-radius:20px;border:2px solid rgba(71,88,119,.25);box-shadow:0 12px 40px #4758771a,inset 0 1px #ffffffe6;max-width:700px;margin:0 auto}.thank-you-icon{display:inline-flex;align-items:center;justify-content:center;width:90px;height:90px;background:linear-gradient(135deg,#5a6b8a,#475877);color:#fff;font-size:3.5rem;font-weight:700;border-radius:50%;margin-bottom:2rem;box-shadow:0 8px 25px #5a6b8a4d;animation:checkmarkPop .5s ease-out}@keyframes checkmarkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.thank-you-container h2{font-family:Playfair Display,serif;color:#475877;font-size:3rem;margin-bottom:1.5rem;font-weight:600;letter-spacing:.05em}.thank-you-container p{font-family:Cormorant Garamond,serif;color:#3d4a5e;font-size:1.4rem;line-height:1.8;margin-bottom:.5rem}.thank-you-subtext{font-style:italic;font-size:1.3rem!important;color:#5a6b8a!important;margin-top:1rem!important}.rsvp-form{background:linear-gradient(145deg,#fff,#fdfbf7);padding:3.5rem;border-radius:20px;border:2px solid rgba(71,88,119,.25);box-shadow:0 12px 40px #4758771a,inset 0 1px #ffffffe6;position:relative}.form-group{margin-bottom:2.2rem}.form-group label{display:block;margin-bottom:.8rem;color:#475877;font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.2rem;letter-spacing:.02em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1.1rem;border:2px solid rgba(71,88,119,.3);border-radius:12px;font-size:1.05rem;font-family:Lato,sans-serif;transition:all .3s ease;background:linear-gradient(145deg,#fdfbf7,#fff);color:#3d4a5e}.form-group input:disabled,.form-group input[readonly]{background:linear-gradient(145deg,#f5f1e8,#fdfbf7);color:#5a6b8a;border-color:#47587733;cursor:not-allowed;opacity:.8}.attendance-list{display:flex;flex-direction:column;gap:1rem}.attendance-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:linear-gradient(145deg,#fff,#fdfbf7);border:3px solid rgba(71,88,119,.3);border-radius:12px;transition:all .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-shadow:0 2px 6px #47587714}.attendance-item.attending{border-color:#5a6b8a80;box-shadow:0 2px 8px #5a6b8a26}.attendance-item.not-attending{border-color:#47587759;box-shadow:0 2px 6px #47587714}.attendance-item:hover{transform:translateY(-3px);box-shadow:0 6px 16px #47587726;border-width:3px}.attendance-item.attending:hover{border-color:#5a6b8ab3;box-shadow:0 6px 16px #5a6b8a40}.attendance-item.not-attending:hover{border-color:#5a6b8a73;box-shadow:0 6px 16px #47587726}.attendance-item:active{transform:translateY(-1px);transition:all .1s ease}.person-name{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;color:#475877;flex:1}.attendance-badge-small{padding:.4rem 1rem;border-radius:20px;font-family:Lato,sans-serif;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.attendance-badge-small.attending{background-color:#d4edda;color:#155724}.attendance-badge-small.not-attending{background-color:#f8d7da;color:#721c24}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#5a6b8a;box-shadow:0 0 0 3px #5a6b8a26,0 4px 12px #47587714;background:#fff}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.rsvp-submit{width:100%;background:linear-gradient(135deg,#5a6b8a,#475877);color:#fff;padding:1.3rem 2.5rem;border:none;border-radius:35px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #5a6b8a4d;position:relative;overflow:hidden}.rsvp-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.rsvp-submit:hover:before{left:100%}.rsvp-submit:hover{background:linear-gradient(135deg,#475877,#5a6b8a);transform:translateY(-3px);box-shadow:0 8px 25px #5a6b8a66}.rsvp-info{background:linear-gradient(145deg,#fff,#fdfbf7);padding:3rem;border-radius:20px;border:2px solid rgba(71,88,119,.25);box-shadow:0 12px 40px #4758771a,inset 0 1px #ffffffe6;height:fit-content;position:sticky;top:2rem}.rsvp-info h3{font-family:Playfair Display,serif;color:#475877;font-size:1.9rem;margin-bottom:1.8rem;font-weight:600;letter-spacing:.02em;text-align:center}.rsvp-info p{font-family:Lato,sans-serif;color:#3d4a5e;font-size:1.05rem;line-height:1.8;margin-bottom:1.2rem}.rsvp-info p:last-child{margin-bottom:0}.rsvp-info strong{font-family:Cormorant Garamond,serif;color:#475877;font-weight:600;font-size:1.1rem}.field-description{font-family:Lato,sans-serif;color:#5a6b8a;font-size:1rem;margin-bottom:1rem;font-style:italic}.radio-group{display:flex;flex-direction:row;gap:1rem}.radio-option{display:flex;align-items:center;flex:1;padding:1rem 1.2rem;background:linear-gradient(145deg,#fff,#fdfbf7);border:2px solid rgba(71,88,119,.3);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.radio-option:hover{border-color:#5a6b8a80;background:linear-gradient(145deg,#f0f8f4,#fdfbf7);transform:translateY(-2px)}.radio-option input[type=radio]{width:auto;margin-right:.8rem;cursor:pointer;accent-color:#5a6b8a}.radio-option span{font-family:Lato,sans-serif;color:#3d4a5e;font-size:1.05rem}.field-hint{font-family:Lato,sans-serif;color:#5a6b8a;font-size:.9rem;margin-top:.5rem;font-style:italic}.nested-field{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(71,88,119,.2)}.nested-field label{display:block;margin-bottom:.8rem;color:#475877;font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.1rem;letter-spacing:.02em}.nested-field input{width:100%;padding:1.1rem;border:2px solid rgba(71,88,119,.3);border-radius:12px;font-size:1.05rem;font-family:Lato,sans-serif;transition:all .3s ease;background:linear-gradient(145deg,#fdfbf7,#fff);color:#3d4a5e}.nested-field input:focus{outline:none;border-color:#5a6b8a;box-shadow:0 0 0 3px #5a6b8a26,0 4px 12px #47587714;background:#fff}@media (max-width: 768px){.rsvp-main{padding:0}.rsvp{padding:3rem 1rem}.rsvp-header{margin-bottom:2rem}.rsvp-header h1{font-size:2.8rem}.rsvp-header p{font-size:1.1rem}.rsvp-content{grid-template-columns:1fr;gap:3rem}.rsvp-form{padding:2rem}.rsvp-info{position:static;padding:2rem}.form-group input,.form-group select,.form-group textarea{padding:.8rem}.rsvp-submit{padding:1rem 1.5rem;font-size:1.1rem}.attendance-item{padding:1.2rem}.person-name{font-size:1.15rem}.attendance-badge-small{font-size:.85rem;padding:.3rem .8rem}.thank-you-container{padding:2.5rem 1.5rem;margin-bottom:2rem}.thank-you-icon{width:70px;height:70px;font-size:2.5rem;margin-bottom:1.5rem}.thank-you-container h2{font-size:2.2rem;margin-bottom:1rem}.thank-you-container p{font-size:1.2rem}.thank-you-subtext{font-size:1.1rem!important}.radio-group{flex-direction:column;gap:.8rem}.radio-option{transform:none}.radio-option:hover{transform:translateY(-2px)}}.story-page{min-height:100vh}.story-hero{background:linear-gradient(135deg,#00000080 0% 100%),url(/assets/engagement-2-3c7Pdr.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;min-height:500px;padding:120px 20px;text-align:center;display:flex;align-items:center;justify-content:center}.story-hero-content h1{font-family:Alex Brush,cursive;font-size:5rem;margin-bottom:1rem;font-weight:400;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 20px rgba(255,255,255,.3)}.story-subtitle{font-size:1.3rem;font-style:italic;color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.8),0 0 15px rgba(255,255,255,.3)}.story-content{max-width:900px;margin:0 auto;padding:60px 20px}.story-section{margin-bottom:60px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.story-section:hover{transform:translateY(-5px);box-shadow:0 8px 15px #00000026}.story-section h2{color:#667eea;font-size:2rem;margin-bottom:1.5rem;font-weight:600}.story-section p{font-size:1.1rem;line-height:1.8;color:#555}.story-photo{margin-top:40px;text-align:center}.story-photo img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.photo-caption{margin-top:16px;font-family:Playfair Display,serif;font-size:1.2rem;font-style:italic;color:#475877;font-weight:500}@media (max-width: 768px){.story-hero{min-height:300px;padding:80px 20px}.story-hero-content h1{font-size:2rem}.story-subtitle{font-size:1.1rem}.story-section{padding:30px 20px;margin-bottom:40px}.story-section h2{font-size:1.5rem}.story-section p{font-size:1rem}}.wedding-party{min-height:calc(100vh - 80px);background:linear-gradient(to bottom,#fdfbf7,#f5f1e8)}.wedding-party-hero{background:linear-gradient(135deg,#00000080 0% 100%),url(/assets/weddingparty-_TKL_hqn.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;min-height:600px;padding:150px 20px;text-align:center;display:flex;align-items:center;justify-content:center}.wedding-party-hero-content h1{font-family:Alex Brush,cursive;font-size:5rem;margin-bottom:1rem;font-weight:400;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 20px rgba(255,255,255,.3)}.wedding-party-subtitle{font-size:1.3rem;font-style:italic;color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.8),0 0 15px rgba(255,255,255,.3)}.wedding-party-tagline{font-family:Lato,sans-serif;font-size:1.2rem;color:#fff;margin-top:1rem;font-weight:300;letter-spacing:.02em;text-shadow:1px 1px 3px rgba(0,0,0,.8),0 0 15px rgba(255,255,255,.3)}.party-section{padding:5rem 2rem;position:relative}.bridesmaids-section{background:linear-gradient(to bottom,#fffffff2,#fdfbf7f2),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(71,88,119,.02) 10px,rgba(71,88,119,.02) 20px)}.groomsmen-section{background:linear-gradient(to bottom,#f5f1e8fa,#fdfbf7f2)}.special-roles-section{background:linear-gradient(to bottom,#fffffff2,#fdfbf7f2),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(71,88,119,.02) 10px,rgba(71,88,119,.02) 20px)}.party-content{max-width:1200px;margin:0 auto}.party-title{font-family:Playfair Display,serif;text-align:center;color:#475877;font-size:2.8rem;margin-bottom:3.5rem;font-weight:600;position:relative;letter-spacing:.05em}.party-title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:100px;height:2px;background:linear-gradient(to right,transparent,#475877,transparent)}.party-section-subtitle{text-align:center;color:#6b7c93;font-style:italic;font-size:1rem;margin-top:-2rem;margin-bottom:3rem}.pups-section .party-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-content:center;max-width:500px;margin-left:auto;margin-right:auto}@media (max-width: 1024px){.pups-section .party-grid{max-width:100%}}.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:2rem}.party-member{background:linear-gradient(145deg,#fff,#fdfbf7);padding:2rem;border-radius:20px;border:2px solid rgba(71,88,119,.3);box-shadow:0 10px 35px #47587714,inset 0 1px #fffc;text-align:center;position:relative;overflow:hidden}.party-photo{width:100%;aspect-ratio:3 / 4;border-radius:15px;overflow:hidden;margin-bottom:1.5rem;position:relative}.party-photo img{width:100%;height:100%;object-fit:cover;display:block}.party-photo .photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#475877,#5a6b8a);display:flex;align-items:center;justify-content:center}.party-photo .photo-placeholder span{font-family:Lato,sans-serif;color:#ffffffe6;font-size:1rem;font-weight:400;text-align:center;padding:1rem;background:#0003;border-radius:10px}.party-name{font-family:Playfair Display,serif;color:#475877;font-size:1.8rem;margin-bottom:.5rem;font-weight:600;letter-spacing:.03em}.party-role{font-family:Cormorant Garamond,serif;color:#5a6b8a;font-size:1.3rem;margin-bottom:1rem;font-weight:600;font-style:italic;letter-spacing:.02em}.party-description{font-family:Lato,sans-serif;color:#3d4a5e;font-size:1.05rem;line-height:1.7;margin:0}@media (max-width: 768px){.wedding-party-hero{min-height:300px;padding:80px 20px}.wedding-party-hero-content h1{font-size:3rem}.wedding-party-subtitle{font-size:1.1rem}.party-section{padding:3rem 1rem}.party-title{font-size:2rem;margin-bottom:2.5rem}.party-grid{grid-template-columns:1fr;gap:2rem}.party-member{padding:1.5rem}.party-name{font-size:1.5rem}.party-role{font-size:1.1rem}.party-description{font-size:1rem}}.wedding-weekend-page{min-height:calc(100vh - 80px);background:linear-gradient(to bottom,#fdfbf7,#f5f1e8)}.weekend-banner{position:relative;width:100%;height:60vh;min-height:400px;max-height:600px;overflow:hidden;margin-bottom:4rem}.weekend-banner img{width:100%;height:100%;object-fit:cover;display:block}.weekend-banner .weekend-header{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;width:100%;max-width:1200px;padding:0 2rem}.weekend-banner:after{content:"";position:absolute;inset:0;background:#0000004d;z-index:1}.weekend-header{text-align:center;max-width:1200px;margin:0 auto 6rem}.weekend-header h1{font-family:Alex Brush,cursive;color:#fff;font-size:5rem;margin-bottom:1rem;font-weight:400;letter-spacing:.02em;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.weekend-subtitle{font-family:Lato,sans-serif;color:#fff;font-size:1.2rem;font-weight:300;letter-spacing:.02em;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.weekend-container{max-width:1200px;margin:0 auto;padding:0 2rem 4rem;display:grid;grid-template-columns:repeat(12,1fr);gap:3rem;row-gap:4rem}.event-section{display:grid;grid-template-columns:subgrid;position:relative;align-items:center;gap:2rem}.event-section.friday{grid-column:1 / 13}.event-section.friday .event-content{grid-column:1 / 7}.event-section.friday .event-image{grid-column:7 / 13}.event-section.saturday{grid-column:1 / 13;margin-top:4rem}.event-section.saturday .event-image{grid-column:1 / 8}.event-section.saturday .event-content{grid-column:8 / 13}.event-section.after-party{grid-column:1 / 13;margin-top:4rem}.event-section.after-party .event-content{grid-column:2 / 8}.event-section.after-party .event-image{grid-column:8 / 13}.event-date-large{font-family:Playfair Display,serif;font-size:6rem;font-weight:700;color:#dc96af59;line-height:1;letter-spacing:-.02em;grid-column:1 / -1;pointer-events:none;z-index:0}.event-image{position:relative;width:100%;height:auto;max-height:500px;overflow:hidden;align-self:stretch}.event-image img{width:100%;height:100%;object-fit:cover;display:block;box-shadow:0 8px 24px #4758771f}.event-content{background:#fff;padding:3rem;position:relative;z-index:1;border-radius:2px;box-shadow:0 8px 24px #47587714}.event-content h2{font-family:Playfair Display,serif;color:#475877;font-size:2.5rem;margin-bottom:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.2}.event-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.meta-item{font-family:Lato,sans-serif;color:#5a6b8a;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;font-weight:500}.meta-divider{color:#dc96af;font-size:.7rem}.event-description{font-family:Lato,sans-serif;color:#3d4a5e;line-height:1.8;font-size:1.05rem;margin:0}.event-content.ceremony{background:linear-gradient(135deg,#fff,#fffbf5);padding:3.5rem;border-left:4px solid #dc96af}.ceremony-header{margin-bottom:2rem}.full-date{font-family:Lato,sans-serif;color:#dc96af;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;margin:.5rem 0 0;font-weight:600}.ceremony-details{display:flex;flex-direction:column;gap:1.5rem}.detail-group{display:flex;align-items:baseline;gap:1rem}.detail-label{font-family:Lato,sans-serif;color:#5a6b8a;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.detail-value{font-family:Playfair Display,serif;color:#475877;font-size:1.75rem;font-weight:600}.detail-note{font-family:Lato,sans-serif;color:#5a6b8a;font-size:.95rem;font-style:italic;line-height:1.6;margin-top:-.5rem}.event-tip{font-family:Lato,sans-serif;color:#3d4a5e;line-height:1.8;font-size:1.05rem;margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid #f5f1e8}.event-tip strong{color:#dc96af;font-weight:600}@media (max-width: 1024px){.weekend-container{display:flex;flex-direction:column;gap:3rem}.event-section{display:flex;flex-direction:column;gap:2rem}.event-section.friday,.event-section.saturday,.event-section.after-party{grid-column:auto;margin-top:0!important}.event-section.friday .event-content,.event-section.friday .event-image,.event-section.saturday .event-content,.event-section.saturday .event-image,.event-section.after-party .event-content,.event-section.after-party .event-image{grid-column:auto}.event-date-large{font-size:4rem;margin-bottom:-2rem}.event-image{min-height:300px}}@media (max-width: 768px){.weekend-banner{height:50vh;min-height:300px;max-height:400px;margin-bottom:3rem}.weekend-header{margin-bottom:4rem}.weekend-header h1{font-size:3.5rem}.weekend-subtitle{font-size:1rem}.weekend-container{gap:2.5rem;padding:0 1.5rem 3rem}.event-content{padding:2rem}.event-content.ceremony{padding:2.5rem}.event-content h2{font-size:1.75rem}.event-date-large{font-size:3rem;margin-bottom:-1.5rem}.event-image{min-height:250px}.meta-item{font-size:.85rem}.event-description{font-size:1rem}.detail-value{font-size:1.5rem}.detail-note{font-size:.9rem}.event-tip{font-size:1rem}}.faq-page{min-height:calc(100vh - 80px);background:linear-gradient(to bottom,#fdfbf7,#f5f1e8)}.faq-hero{background:linear-gradient(135deg,#00000080 0% 100%),url(/assets/000000200011-BWqS2AQX.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;min-height:500px;padding:120px 20px;text-align:center;display:flex;align-items:center;justify-content:center}.faq-hero-content h1{font-family:Alex Brush,cursive;font-size:5rem;margin-bottom:1rem;font-weight:400;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 20px rgba(255,255,255,.3)}.faq-subtitle{font-size:1.3rem;font-style:italic;color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.8),0 0 15px rgba(255,255,255,.3)}.faq-container{max-width:900px;margin:0 auto;padding:4rem 2rem;display:flex;flex-direction:column;gap:2rem}.faq-question{background:#fff;padding:2rem 2.5rem;border-radius:12px;border-left:4px solid #d4a5b8;box-shadow:0 2px 8px #d4a5b814;transition:all .3s ease}.faq-question:hover{box-shadow:0 4px 16px #d4a5b833;transform:translate(4px);border-left-color:#c48fa8}.faq-question h3{font-family:Playfair Display,serif;color:#475877;font-size:1.5rem;margin-bottom:.75rem;font-weight:600;letter-spacing:.01em}.faq-question p{font-family:Lato,sans-serif;color:#3d4a5e;line-height:1.8;margin:0;font-size:1.05rem}.hotel-list{margin-top:1rem;margin-left:1.5rem;list-style-type:none}.hotel-list li{font-family:Lato,sans-serif;color:#3d4a5e;line-height:1.8;font-size:1.05rem;margin-bottom:.5rem;position:relative;padding-left:1.5rem}.hotel-list li:before{content:"•";color:#d4a5b8;font-weight:700;font-size:1.3rem;position:absolute;left:0}.hotel-list a{color:#5a6b8a;text-decoration:underline;text-decoration-color:#5a6b8a66;text-underline-offset:2px;transition:all .3s ease;font-weight:500}.hotel-list a:hover{color:#c48fa8;text-decoration-color:#c48fa8;text-underline-offset:4px}@media (max-width: 768px){.faq-hero{min-height:300px;padding:80px 20px}.faq-hero-content h1{font-size:3rem}.faq-subtitle{font-size:1.1rem}.faq-container{padding:3rem 1.5rem;gap:1.5rem}.faq-question{padding:1.5rem}.faq-question h3{font-size:1.25rem}.faq-question p{font-size:1rem}}.admin{min-height:100vh;padding:2rem;background-color:#f5f5f5}.admin-login{max-width:400px;margin:100px auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-login h1{margin-bottom:1.5rem;text-align:center;color:#333}.login-form .form-group{margin-bottom:1rem}.login-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.login-form input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.name-input-group{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center}.name-input-group input{flex:1}.remove-name-button{padding:.5rem 1rem;background-color:#f44336;color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background-color .2s}.remove-name-button:hover{background-color:#d32f2f}.add-name-button{width:100%;padding:.75rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background-color .2s}.add-name-button:hover{background-color:#1976d2}.login-button{width:100%;padding:.75rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.login-button:hover{background-color:#45a049}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #ddd}.admin-header h1{color:#333;margin:0}.logout-button{padding:.5rem 1rem;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.logout-button:hover{background-color:#da190b}.admin-content{display:flex;flex-direction:column;gap:2rem}.admin-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.admin-section h2{margin-top:0;margin-bottom:1rem;color:#333}.toggle-form-button{padding:.5rem 1rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s;margin-bottom:1rem}.toggle-form-button:hover{background-color:#0b7dda}.blank-rsvp-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.blank-rsvp-form .form-group{margin-bottom:1rem}.blank-rsvp-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.blank-rsvp-form input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.submit-button{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.submit-button:hover{background-color:#45a049}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{padding:.75rem;margin:1rem 0;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px}.success-message{padding:.75rem;margin:1rem 0;background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px}.rsvps-list{overflow-x:auto}.rsvps-table{width:100%;border-collapse:collapse;margin-top:1rem}.rsvps-table th,.rsvps-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.rsvps-table th{background-color:#f8f9fa;font-weight:600;color:#333}.rsvps-table tr:hover{background-color:#f5f5f5}.guest-names-cell{display:flex;flex-direction:column;gap:.5rem}.guest-name-row{display:flex;align-items:center;gap:.5rem}.guest-name{font-weight:500}.mini-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.75rem;font-weight:700}.mini-badge.attending{background-color:#d4edda;color:#155724}.mini-badge.not-attending{background-color:#f8d7da;color:#721c24}.attendance-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.attendance-badge.yes{background-color:#d4edda;color:#155724}.attendance-badge.no{background-color:#f8d7da;color:#721c24}.attendance-badge:not(.yes):not(.no){background-color:#fff3cd;color:#856404}.template-badge,.submitted-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.template-badge{background-color:#e7f3ff;color:#06c}.submitted-badge{background-color:#e8f5e9;color:#2e7d32}.statistics{margin-top:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.stat-card{padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;text-align:center;color:#fff}.stat-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-card:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.stat-card.highlight{background:linear-gradient(135deg,#5a6b8a,#475877);box-shadow:0 4px 12px #4758774d}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.875rem;opacity:.9;font-weight:500}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.edit-button,.delete-button,.save-button,.cancel-button{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.edit-button{background-color:#2196f3;color:#fff}.edit-button:hover{background-color:#1976d2}.delete-button{background-color:#f44336;color:#fff}.delete-button:hover{background-color:#d32f2f}.delete-button:disabled{background-color:#ccc;cursor:not-allowed}.save-button{background-color:#4caf50;color:#fff}.save-button:hover{background-color:#45a049}.save-button:disabled{background-color:#ccc;cursor:not-allowed}.cancel-button{background-color:#9e9e9e;color:#fff}.cancel-button:hover{background-color:#757575}.edit-input,.edit-input-sm,.edit-select,.edit-textarea{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;font-family:inherit;width:100%}.edit-input-sm{max-width:100px}.edit-textarea{resize:vertical;min-height:60px}.edit-names-field{display:flex;flex-direction:column;gap:.5rem}.editing-row{background-color:#f0f8ff!important}.editing-row:hover{background-color:#e6f3ff!important}@media (max-width: 768px){.admin{padding:1rem}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}.rsvps-table{font-size:.875rem}.rsvps-table th,.rsvps-table td{padding:.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}.logo-hover-demo{min-height:100vh;background:linear-gradient(135deg,#fdfbf7,#f5f3ef);padding:3rem 2rem}.demo-header{text-align:center;margin-bottom:4rem}.demo-header h1{font-family:Cormorant Garamond,serif;font-size:2.5rem;color:#475877;margin-bottom:.5rem}.demo-header p{font-size:1.1rem;color:#5a6b8a;margin-bottom:1.5rem}.back-link{display:inline-block;padding:.75rem 1.5rem;background:#475877;color:#fff;text-decoration:none;border-radius:8px;transition:all .3s ease}.back-link:hover{background:#3d4a5e;transform:translateY(-2px)}.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;max-width:1400px;margin:0 auto}.demo-item{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #4758771a;display:flex;flex-direction:column;align-items:center;gap:2rem}.demo-label{text-align:center}.demo-label h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:#475877;margin-bottom:.5rem}.demo-label p{color:#5a6b8a;font-size:.95rem}.demo-nav{background:linear-gradient(to bottom,#fdfbf7fa,#fffffff2);padding:1rem 1.5rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;width:100%;gap:1rem}.demo-logo{display:flex;align-items:center;cursor:pointer;text-decoration:none;border-bottom:0px;flex-shrink:0}.demo-logo:hover:before{display:none}.demo-logo img{height:55px;width:auto}.demo-nav-links{display:flex;gap:1.2rem;align-items:center}.demo-nav-link{font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#3d4a5e;text-decoration:none;padding:.2rem 0;transition:all .3s ease}.demo-nav-link:hover:before{display:none}.option-1 .demo-nav-link{transition:transform .3s ease;display:inline-block}.option-1 .demo-nav-link:hover{transform:scale(1.08)}.option-2 .demo-nav-link{transition:opacity .3s ease}.option-2 .demo-nav-link:hover{opacity:.75}.option-3 .demo-nav-link{transition:filter .3s ease}.option-3 .demo-nav-link:hover{filter:brightness(1.15);color:#6a7fa0}.option-4 .demo-nav-link{transition:all .3s ease;display:inline-block}.option-4 .demo-nav-link:hover{transform:translateY(-4px);text-shadow:0 4px 8px rgba(71,88,119,.2)}.option-5 .demo-nav-link{transition:all .3s ease}.option-5 .demo-nav-link:hover{color:#475877;text-shadow:0 0 8px rgba(245,215,227,.9),0 0 16px rgba(245,215,227,.6),0 0 24px rgba(71,88,119,.3)}.option-6 .demo-nav-link{transition:transform .3s ease;display:inline-block}.option-6 .demo-nav-link:hover{transform:rotate(-2deg) scale(1.05)}.option-7 .demo-nav-link{transition:all .3s ease;display:inline-block}.option-7 .demo-nav-link:hover{transform:scale(1.06);opacity:.85}.option-9 .demo-nav-link{transition:all .3s ease;display:inline-block}.option-9 .demo-nav-link:hover{transform:scale(1.04);color:#6a7fa0}.option-10 .demo-nav-link:hover{animation:pulse 1s ease-in-out infinite;display:inline-block}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.option-11 .demo-nav-link{transition:all .3s ease}.option-11 .demo-nav-link:hover{text-shadow:0 6px 16px rgba(71,88,119,.25);color:#475877}.option-12 .demo-nav-link{transition:filter .3s ease}.option-12 .demo-nav-link:hover{filter:blur(.4px) brightness(1.05)}.option-13 .demo-nav-link{transition:all .3s ease}.option-13 .demo-nav-link:hover{color:#8b7355;filter:sepia(.4)}.option-14 .demo-nav-link{transition:all .3s ease}.option-14 .demo-nav-link:hover{color:#1a2535;font-weight:600}.option-15 .demo-nav-link{transition:all .3s ease}.option-15 .demo-nav-link:hover{color:#7a5a8a;letter-spacing:.1em}.option-16 .demo-nav-link{transition:transform .4s ease;display:inline-block}.option-16 .demo-nav-link:hover{transform:translateY(-2px)}.option-17 .demo-nav-link{transition:all .3s ease}.option-17 .demo-nav-link:hover{animation:shimmer-text .6s ease forwards}@keyframes shimmer-text{0%{color:#3d4a5e}50%{color:#8a9ab8}to{color:#6a7fa0}}.option-18 .demo-nav-link{transition:transform .3s ease;display:inline-block}.option-18 .demo-nav-link:hover{transform:scale(1.03)}.option-19 .demo-nav-link{transition:all .3s ease}.option-19 .demo-nav-link:hover{filter:hue-rotate(10deg);color:#6a7fa0}.option-20 .demo-nav-link{transition:all .3s ease;display:inline-block}.option-20 .demo-nav-link:hover{transform:translateY(-3px);color:#6a7fa0}@media (max-width: 768px){.demo-grid{grid-template-columns:1fr;gap:2rem}.demo-header h1{font-size:2rem}}.app{width:100%;min-height:100vh;background:linear-gradient(to bottom,#fdfbf7,#f5f1e8);display:flex;flex-direction:column}h1,h2,h3{font-family:Playfair Display,serif;font-weight:500;letter-spacing:.03em;color:#4a5568}h1{font-size:3.5rem;margin-bottom:1rem;font-weight:600}h2{font-size:2.5rem;margin-bottom:.8rem;font-weight:500}h3{font-size:1.8rem;margin-bottom:.6rem}p{font-family:Lato,sans-serif;font-size:1.1rem;line-height:1.9;margin-bottom:1rem;color:#4a5568}a{color:#5a6b8a;text-decoration:none;transition:all .3s ease;border-bottom:1px solid transparent;position:relative}a:hover{color:#4a5568;border-bottom-color:#f5d7e399}a:hover:before{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,rgba(245,215,227,.4),transparent);z-index:-1}@media (max-width: 768px){h1{font-size:2.5rem}h2{font-size:1.8rem}p{font-size:1rem}}
