@import url(https://fonts.googleapis.com/css2?family=Great+Vibes&family=Dancing+Script&family=Parisienne&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Dancing+Script&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800&family=Cormorant+Garamond:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Cormorant+Garamond:wght@400;500;600;700&family=Lora:wght@400;500;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.wedding-countdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f0080840;border:1px solid #d6c6e1;border-radius:1.5rem;box-shadow:0 8px 24px #8510d31a;font-family:Dancing Script,cursive;gap:2rem;padding:1.5rem}.countdown-unit{background:#e2ddddcc;border-radius:1rem;box-shadow:0 2px 6px #9682b433;font-family:Georgia,serif;padding:1rem;width:5rem}.countdown-value{color:#6b51b2;flex-wrap:wrap;font-family:Dancing Script,cursive;font-size:2.75rem;position:relative}.countdown-heading{-webkit-text-stroke:1px #722c56;background:linear-gradient(90deg,#6e6169,#e6b7d6);color:#b12a7b;font-family:Satisfy,cursive;font-size:2.7rem;font-weight:700;text-shadow:0 2px 8px #b8156f40,0 4px 16px #0000002e,1px 1px 0 #fff,0 0 2px #b8156f}.countdown-label{color:#555;flex-wrap:wrap;font-family:Dancing Script,cursive;font-size:1.875rem;position:relative}@media (max-width:768px){.wedding-countdown{gap:1rem;padding:1rem}.countdown-unit{padding:.75rem;width:4rem}.countdown-value{font-size:2rem}.countdown-label{font-size:1.25rem}.countdown-heading{font-size:2rem}}@media (max-width:480px){.wedding-countdown{gap:.5rem;padding:.75rem}.countdown-unit{padding:.5rem;width:3.5rem}.countdown-value{font-size:1.5rem}.countdown-label{font-size:1rem}.countdown-heading{font-size:1.5rem;margin-bottom:1rem;margin-top:1rem}}iframe.square-box{border:1px solid #ccc;border-radius:8px;height:400px}.center-content{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;padding:2rem;width:100%}.hero-wedding-bg{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 15% 20%,#d4af374d 0,#0000 30%),radial-gradient(circle at 85% 15%,#ffb6c140 0,#0000 35%),radial-gradient(circle at 50% 80%,#ba68f133 0,#0000 40%),linear-gradient(135deg,#fff0f54d,#f5dcf033 50%,#0000),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 400"><defs><pattern id="dots" x="0" y="0" width="80" height="80" patternUnits="userSpaceOnUse"><circle cx="40" cy="40" r="2" fill="rgba%28255,255,255,0.15%29"/><circle cx="20" cy="20" r="1.5" fill="rgba%28255,255,255,0.1%29"/><circle cx="60" cy="20" r="1.5" fill="rgba%28255,255,255,0.1%29"/><circle cx="20" cy="60" r="1.5" fill="rgba%28255,255,255,0.1%29"/><circle cx="60" cy="60" r="1.5" fill="rgba%28255,255,255,0.1%29"/></pattern><pattern id="lines" x="0" y="0" width="120" height="120" patternUnits="userSpaceOnUse"><line x1="0" y1="60" x2="120" y2="60" stroke="rgba%28212,175,55,0.08%29" stroke-width="1"/><line x1="60" y1="0" x2="60" y2="120" stroke="rgba%28212,175,55,0.08%29" stroke-width="1"/></pattern></defs><rect width="1000" height="400" fill="url%28%23dots%29"/><rect width="1000" height="400" fill="url%28%23lines%29"/><circle cx="100" cy="80" r="60" fill="none" stroke="rgba%28255,255,255,0.06%29" stroke-width="2"/><circle cx="900" cy="320" r="80" fill="none" stroke="rgba%28212,175,55,0.08%29" stroke-width="2"/><path d="M50 350 Q150 250 250 350" stroke="rgba%28255,182,193,0.1%29" stroke-width="2" fill="none"/><path d="M750 50 Q850 150 950 50" stroke="rgba%28212,175,55,0.1%29" stroke-width="2" fill="none"/></svg>'),linear-gradient(135deg,#ba68f1e0,#d761b6d9 50%,#f1e1ecd9);background-position:50%,50%,50%,50%,0 0,0 0;background-size:cover,cover,cover,cover,100%,100%;border:2px solid #ffffff4d;border-image:(135deg,#d1ab30f2,#ffdf7899) 1;border-radius:3rem;box-shadow:0 24px 64px 0 #b8156f47,0 12px 32px 0 #00000026,inset 0 1px 0 #ffffff4d,0 8px 30px #d4af370f;display:flex;flex-direction:column;justify-content:center;margin:1rem auto;min-height:120px;overflow:hidden;padding:3rem 2rem 4rem;position:relative;text-align:center;width:95vw;z-index:1}.hero-wedding-bg:before{background-image:radial-gradient(circle at 15% 20%,#d4af3740 0,#0000 30%),radial-gradient(circle at 85% 15%,#ffb6c133 0,#0000 35%),radial-gradient(circle at 50% 80%,#ba68f12e 0,#0000 40%),radial-gradient(ellipse at 20% 50%,#ffffff26 0,#0000 50%),radial-gradient(ellipse at 80% 50%,#ffe4c426 0,#0000 50%),linear-gradient(135deg,#fff0f540,#f5dcf026 50%,#0000),linear-gradient(45deg,#d4af3714,#0000 40%);background-position:50%,50%,50%,50%,50%,50%,50%;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-size:cover,cover,cover,cover,cover,cover,100%}.hero-wedding-bg:after,.hero-wedding-bg:before{border-radius:3rem;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.hero-wedding-bg:after{background:radial-gradient(ellipse at center,#fff0 0,#0000000f 85%),linear-gradient(120deg,#d4af370f,#d4af3705)}.hero-wedding-bg h1{color:#fff;font-family:Playfair Display,Great Vibes,cursive;font-size:5rem;font-weight:800;letter-spacing:4px;margin-bottom:.5rem;text-align:center;text-shadow:4px 4px 20px #0000004d,0 0 40px #b8156f4d,2px 2px 4px #fff3,0 0 12px #d4af3714}.hero-wedding-bg h1:after{background:linear-gradient(90deg,#ffdf78f2,#d4af37e6);border-radius:4px;box-shadow:0 6px 18px #d4af3714;content:"";display:block;height:6px;margin:1rem auto 0;opacity:.95;width:220px}.hero-wedding-bg p{color:#fff;font-family:Cormorant Garamond,Dancing Script,cursive;font-size:1.8rem;font-weight:500;letter-spacing:1px;margin-bottom:.3rem}.hero-wedding-bg .date{color:#fffbfe;font-family:Playfair Display,Dancing Script,cursive;font-size:2rem;font-weight:700;letter-spacing:1px;margin-bottom:0;position:relative;text-shadow:2px 2px 8px #0003,0 0 6px #d4af370a}.hero-wedding-bg .date:after{background:linear-gradient(90deg,#ffdf78e6,#d4af37b3);border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;opacity:.9;position:absolute;transform:translateX(-50%);width:80px}.flex.flex-col.items-center.mb-6{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;margin-bottom:0;width:100%}.timeline-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffffeb,#f7e3ef8c);border:2px solid #fff9;border-radius:2.5rem;box-shadow:0 20px 60px #b8156f2e,0 8px 24px #0000001a,inset 0 1px 0 #ffffff80;grid-column:1/-1;margin:0 auto;max-width:1050px;overflow:hidden;padding:3.5rem;position:relative;text-align:center;z-index:2}.timeline-card:before{background:linear-gradient(90deg,#b8156f00,#d4af3799,#b8156f00);content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:1}.timeline-card h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#5a2d4d,#b81e72 50%,#5a2d4d);-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,Great Vibes,cursive;font-size:2.8rem;font-weight:800;letter-spacing:1px;margin-bottom:2.5rem;position:relative;text-shadow:none;z-index:2}.timeline-list{display:flex;flex-direction:column;gap:1.8rem;list-style:none;margin:0 auto;max-width:620px;padding:0;position:relative;z-index:2}.timeline-list li{background:linear-gradient(135deg,#ffffffeb,#f7e3ef73);border:2px solid #b8156f1f;border-radius:1.2rem;box-shadow:0 4px 12px #b8156f0f;color:#3a3a3a;display:block;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:700;letter-spacing:.5px;padding:1.6rem 2rem;position:relative;text-align:center;transition:all .35s cubic-bezier(.34,1.56,.64,1)}.timeline-list li:hover{background:linear-gradient(135deg,#fffffffa,#f7e3efb3);border-color:#b8156f40;box-shadow:0 16px 40px #b8156f33,inset 0 1px 0 #fff6;transform:translateY(-6px) translateX(4px)}.timeline-list li:before{color:#d84c6f;content:"✦";font-size:1.6rem;font-weight:900;left:-1.5rem;position:absolute;text-shadow:0 2px 4px #d4af3733}.event-time{color:#a01860;font-size:1.55rem;font-weight:800;margin-right:.4rem}.time-period{font-size:.75em;font-weight:600;margin-left:.1rem;vertical-align:initial}.location-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #b8156f1a;border-radius:2rem;box-shadow:0 12px 40px #b8156f1f,0 4px 12px #00000014;grid-column:1/-1;margin:1rem auto;max-width:1400px;padding:3.5rem;width:90%}.location-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.location-info{padding-right:2rem}.location-info h2{color:#5a2d4d;font-family:Playfair Display,cursive;font-size:2.8rem;font-weight:700;margin-bottom:1.5rem;text-align:center;text-shadow:1px 1px 2px #0000000d}.location-info p{color:#2a2a2a;font-size:1.35rem;font-weight:500;line-height:2;margin-bottom:2rem;text-align:center}.directions-link,.location-info p{font-family:Cormorant Garamond,serif}.directions-link{background:linear-gradient(135deg,#d84c6f,#b8156f);border:2px solid #0000;border-radius:2rem;box-shadow:0 4px 16px #b8156f40;color:#fff;display:inline-block;font-weight:600;margin-left:1rem;padding:.7rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.directions-link:hover{background:linear-gradient(135deg,#b8156f,#8a0f54);box-shadow:0 8px 24px #b8156f59;transform:translateY(-3px)}.hotels-list{background:linear-gradient(135deg,#ffffffe6,#f7e3ef80);border:2px solid #b8156f1a;border-radius:1.5rem;box-shadow:0 6px 20px #0000000f;margin-top:1rem;padding:2.5rem}.hotels-list h3{color:#b8156f;font-family:Playfair Display,cursive;font-size:2rem;font-weight:700;margin-bottom:2rem;margin-top:-1rem;text-align:center;text-shadow:1px 1px 2px #0000000d}.hotels-list ul{display:flex;flex-direction:column;gap:1.2rem;list-style:none;margin:0;padding:0}.hotels-list li{background:linear-gradient(135deg,#fffffff2,#fffc);border:2px solid #b8156f1a;border-radius:1rem;padding:1.2rem 1.8rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hotels-list li:hover{background:linear-gradient(135deg,#fff,#d688b633);border-color:#b8156f4d;box-shadow:0 8px 24px #b8156f33;transform:translateY(-4px)}.hotels-list li a{color:#b81e72;display:block;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;text-align:center;text-decoration:none;transition:color .3s ease}.hotels-list li a:hover{color:#8a0f54}.map-container{border:2px solid #b8156f1a;border-radius:2.4rem;box-shadow:0 12px 32px #0000001f;flex:2 1;height:100%;min-height:450px;overflow:hidden;position:relative}iframe.square-box,img.square-box{border:none;border-radius:1.3rem;display:block;height:100%;min-height:400px;width:100%}img.square-box{object-fit:fill}.valet-note{background:linear-gradient(135deg,#6b103e14,#e6b7d626);border:2px solid #b8156f33;border-radius:1.2rem;margin-top:2.5rem;padding:1.8rem;text-align:center}.valet-note p{align-items:center;color:#3a3a3a;display:flex;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:500;gap:.8rem;justify-content:center;margin:0}@media (max-width:1024px){.location-content{gap:2rem;grid-template-columns:1fr}.location-info{padding-right:0}.map-container{min-height:350px}}@media (max-width:768px){.location-section{margin:1rem;padding:2rem}.location-info h2{font-size:2rem}.location-info p{font-size:1rem}.hotels-list{padding:1.5rem}.hotels-list h3{font-size:1.6rem}.valet-note p{font-size:1rem}.center-content{gap:2rem;padding:1rem}.hero-wedding-bg h1{font-size:3rem;letter-spacing:2px}.hero-wedding-bg p{font-size:1.3rem}.hero-wedding-bg .date{font-size:1.5rem}.timeline-card{padding:2rem}.timeline-card h2{font-size:2rem}}@media (max-width:480px){.location-section{padding:1rem;width:95%}.location-info h2{font-size:1.5rem}.location-info p{font-size:.9rem}.directions-link{display:block;margin:1rem 0 0;text-align:center}.hotels-list{padding:1rem}.hotels-list h3{font-size:1.4rem}.hotels-list li{padding:.8rem 1rem}.hotels-list li a{font-size:.95rem}.valet-note{padding:1rem}.valet-note p{font-size:.9rem}.center-content{gap:1.5rem;padding:.5rem}.hero-wedding-bg{border-radius:1.5rem;padding:1.5rem 1rem;width:92vw}.hero-wedding-bg h1{font-size:2rem;letter-spacing:1px}.hero-wedding-bg h1:after{height:4px;width:120px}.hero-wedding-bg p{font-size:1rem}.hero-wedding-bg .date{font-size:1.1rem}.timeline-card{padding:1.5rem}.timeline-card h2{font-size:1.5rem;margin-bottom:1.5rem}.timeline-list li{font-size:.95rem;gap:.8rem;padding:1rem 1.2rem}.map-container,iframe.square-box{min-height:280px}}.app-background,body{overflow-x:hidden}.app-background{width:100vw}@media (max-width:768px){.app-background{background-attachment:scroll;background-position:top;background-size:cover}}.countdown-heading{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#5a2d4d,#d84c6f);-webkit-background-clip:text;background-clip:text;color:#7a2757;font-family:Playfair Display,cursive;font-size:2.5rem;font-weight:800;letter-spacing:2px;margin-bottom:1.5rem;margin-top:1.5rem;text-align:center;text-shadow:0 2px 8px #b8156f33,0 4px 16px #0000001a}.wedding-countdown{align-items:center;animation:popIn 1.2s cubic-bezier(.68,-.55,.27,1.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff6fa,#e6b7d6 50%,#fff6fa);border:2px solid #b8156f33;border-radius:2rem;box-shadow:0 12px 40px #b8156f33,0 4px 12px #00000014,0 6px 20px #d4af370a;display:flex;flex-direction:row;flex-wrap:wrap;font-family:Cormorant Garamond,cursive;gap:1.5rem;justify-content:center;margin:1.5rem auto 2rem;max-width:750px;padding:1.5rem 2rem;position:relative}@keyframes popIn{0%{opacity:0;transform:scale(.95)}80%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}.wedding-countdown:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%27360%27 height=%2756%27 viewBox=%270 0 360 56%27><g fill=%27none%27 stroke=%27%23b81e72%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><path d=%27M20 28 C60 0 120 0 180 28 C240 56 300 56 340 28%27 opacity=%270.12%27 /><path d=%27M40 28 C80 8 120 8 180 28 C240 48 280 48 320 28%27 opacity=%270.24%27 /><g transform=%27translate%28160,0%29%27><path d=%27M20 10 C22 6 28 6 30 10 C32 14 28 18 26 20 C24 22 20 24 20 24 C20 24 16 22 14 20 C12 18 8 14 10 10 C12 6 18 6 20 10 Z%27 fill=%27%23d84c6f%27 opacity=%270.95%27/></g></g></svg>");background-repeat:no-repeat;background-size:contain;content:"";height:28px;left:50%;opacity:.95;pointer-events:none;position:absolute;top:-1.6rem;transform:translateX(-50%);width:180px;z-index:10}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.countdown-unit{align-items:center;background:linear-gradient(135deg,#e6b7d680,#fff9);border:2px solid #e6b7d666;border-radius:1.5rem;box-shadow:0 4px 12px #b8156f1f;box-shadow:inset 0 0 0 1px #d4af3708;display:flex;flex-direction:column;font-family:Cormorant Garamond,serif;justify-content:center;margin:0;padding:1.2rem 1.8rem;text-align:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:6rem}.countdown-unit:before{background:linear-gradient(90deg,#ffdf78f2,#d4af37d9);border-radius:4px;content:"";height:4px;left:12%;opacity:.8;position:absolute;right:12%;top:.6rem}.countdown-unit:hover{background:linear-gradient(135deg,#e6b7d6b3,#ffffffe6);border-color:#b8156f66;box-shadow:0 12px 32px #b8156f40;transform:translateY(-5px) scale(1.08)}.countdown-value{color:#7a2757;display:block;font-family:Playfair Display,cursive;font-size:2.8rem;font-weight:700;line-height:1;text-align:center;text-shadow:0 2px 6px #e6b7d680}.countdown-label{color:#5a2d4d;display:block;font-family:Cormorant Garamond,cursive;font-size:1rem;font-weight:500;letter-spacing:1px;margin-top:.5rem;text-align:center}.rsvp-container{background:#fffffffa;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:2rem auto;max-width:800px;overflow:hidden;padding:3rem;position:relative;text-align:center}.rsvp-container:before{background:linear-gradient(90deg,#b8156f,#e83e8c);content:"";height:4px;left:0;position:absolute;right:0;top:0}.rsvp-container h2{color:#2d3748;font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:1rem}.rsvp-container p{color:#4a5568;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.rsvp-iframe{background:#fff;border:none;border-radius:12px;box-shadow:0 2px 12px #0000000f;transition:transform .3s ease}.rsvp-iframe:hover{transform:translateY(-2px)}.rsvp-form{gap:1.5rem}.form-group,.rsvp-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#4a5568;font-weight:500}.form-input,.form-textarea,select{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,select:focus{border-color:#b8156f;box-shadow:0 0 0 3px #b8156f1a;outline:none}.form-textarea{min-height:100px;resize:vertical}.radio-group{display:flex;gap:1.5rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.submit-button{background-color:#b8156f;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.submit-button:hover{background-color:#9a125d}.submit-button:disabled{background-color:#cbd5e0;cursor:not-allowed}.loading-message{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#4a5568;font-size:1.1rem;padding:2rem}.error-message{background-color:#fff5f5;border:1px solid #feb2b2;border-radius:12px;color:#c53030;padding:2rem}.error-message a{color:#b8156f;text-decoration:underline;transition:color .2s ease}.error-message a:hover{color:#e83e8c}.success-message{background-color:#f0fff4;border:1px solid #9ae6b4;border-radius:.5rem;padding:2rem;text-align:center}.success-message h3{color:#2f855a;font-size:1.5rem;margin-bottom:1rem}.verification-message{background-color:#f0fff4;border:1px solid #9ae6b4;border-radius:.5rem;padding:2rem;text-align:center}.verification-message h3{color:#2f855a;font-size:1.5rem;margin-bottom:1rem}.edit-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:1.5rem auto 0;max-width:600px;padding:1.5rem;position:relative}.edit-info:before{background:#fff;content:"💌";font-size:1.2rem;left:50%;padding:0 1rem;position:absolute;top:-12px;transform:translateX(-50%)}.edit-info p{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0}@media (max-width:768px){.rsvp-container{margin:1rem;padding:1.5rem}.rsvp-container h2{font-size:2rem}.rsvp-iframe{height:900px}.edit-info{margin:1rem .5rem 0;padding:1rem}.radio-group{flex-wrap:wrap;gap:1rem}}@media (max-width:480px){.rsvp-container{border-radius:12px;margin:.5rem;padding:1rem}.rsvp-container h2{font-size:1.6rem}.rsvp-container p{font-size:1rem}.rsvp-iframe{height:850px}.edit-info{padding:.8rem}.edit-info p{font-size:.9rem}.form-input,.form-textarea,select{font-size:.95rem;padding:.6rem}.submit-button{font-size:.95rem;padding:.7rem 1.2rem}}.how-we-met-container{color:#333;margin:0 auto;max-width:1000px;padding:2rem}.story-header{margin-bottom:4rem;text-align:center}.story-header h1{color:#b8156f;font-family:Great Vibes,cursive;font-size:4rem;margin-bottom:1rem;text-shadow:2px 2px 4px #0000001a}.subtitle{color:#666;font-family:Dancing Script,cursive;font-size:1.8rem}.timeline{padding:2rem 0;position:relative;z-index:0}.timeline:before{animation:timeline-glow 2.5s ease-in-out infinite alternate;background:linear-gradient(180deg,#f5adc0,#b8156f);border-radius:3px;content:"";height:100%;left:50%;opacity:.5;position:absolute;transform:translateX(-50%);width:6px;@keyframes timeline-glow{0%{box-shadow:0 0 10px 2px #f5adc0}to{box-shadow:0 0 24px 8px #b8156f}}}.timeline-item{align-items:center;display:flex;justify-content:center;margin-bottom:3rem;position:relative;transition:transform .3s,box-shadow .3s;z-index:1}.timeline-item.zigzag-left{background:linear-gradient(90deg,#fff6fa 80%,#0000);border-radius:20px 0 0 20px}.timeline-item.zigzag-right{background:linear-gradient(270deg,#fff6fa 80%,#0000);border-radius:0 20px 20px 0}.timeline-item:hover{background:#ffe3f0;box-shadow:0 8px 32px #b8156f21;transform:translateY(-8px) scale(1.02)}.timeline-icon{align-items:center;background:linear-gradient(135deg,#fff6fa 60%,#f5adc0);border:3px solid #b8156f;border-radius:50%;box-shadow:0 4px 15px #b8156f21;display:flex;font-size:2.1rem;height:64px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .3s,box-shadow .3s;width:64px;z-index:2}.timeline-item:hover .timeline-icon{box-shadow:0 0 24px 4px #f5adc0;transform:scale(1.15) rotate(-8deg)}.timeline-content{animation:fadeInUp .7s;background:#fff;border:1.5px solid #f5adc0;border-radius:16px;box-shadow:0 4px 18px #b8156f14;margin-left:2rem;padding:1.7rem 1.5rem 1.5rem;position:relative;width:420px}.timeline-content:before{border-color:#0000 #fff6fa #0000 #0000;border-style:solid;border-width:10px 10px 10px 0;content:"";left:-10px;position:absolute;top:50%;transform:translateY(-50%)}.timeline-date{color:#b8156f;display:block;font-family:Dancing Script,cursive;font-size:1.2rem;margin-bottom:.5rem}.timeline-content h3{color:#333;font-family:Great Vibes,cursive;font-size:1.8rem;margin-bottom:.5rem}.timeline-content p{color:#666;font-size:1rem;line-height:1.6}.love-quote{background:#ffffffe6;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-top:4rem;padding:2rem;text-align:center}.love-quote p{color:#b8156f;font-family:Dancing Script,cursive;font-size:2rem;line-height:1.4;margin-bottom:1rem}.quote-author{color:#666;font-size:1.1rem;font-style:italic}.timeline-item.zigzag-left{flex-direction:row}.timeline-item.zigzag-right{flex-direction:row-reverse}.timeline-item.zigzag-left .timeline-content{margin-left:2rem;margin-right:0}.timeline-item.zigzag-right .timeline-content{margin-left:0;margin-right:2rem}.timeline-item.zigzag-left .timeline-content:before{border-color:#0000 #fff #0000 #0000;border-width:10px 10px 10px 0;left:-10px;right:auto}.timeline-item.zigzag-right .timeline-content:before{border-color:#0000 #0000 #0000 #fff6fa;border-width:10px 0 10px 10px;left:auto;right:-10px}.timeline-image{border:2.5px solid #f5adc0;border-radius:18px;box-shadow:0 10px 24px #b8156f2e;height:360px;margin:0 1.5rem;transition:transform .3s,box-shadow .3s;width:360px}.timeline-image:hover{box-shadow:0 0 32px 8px #f5adc0;transform:scale(1.04) rotate(-2deg)}.fun-fact{background:linear-gradient(90deg,#fff6fa 60%,#f5adc0);border:1px solid #f5adc0;border-radius:10px;box-shadow:0 2px 12px #b8156f1a;color:#b8156f;font-size:1.05rem;font-style:italic;margin-top:1rem;padding:.7rem 1.1rem}.whats-next-section{background:#fff6fa;border-radius:15px;box-shadow:0 4px 15px #b8156f14;margin-top:3rem;padding:2rem;text-align:center}.whats-next-section h2{color:#b8156f;font-family:Great Vibes,cursive;font-size:2.2rem;margin-bottom:1rem}.whats-next-section p{color:#666;font-size:1.2rem}@media (max-width:1100px){.timeline-content,.timeline-image{max-width:320px;width:100%}.timeline-image{height:220px;margin:1rem 0}.timeline-item.zigzag-left,.timeline-item.zigzag-right{align-items:center;flex-direction:column}.timeline-content{margin:0}.timeline-content:before{display:none}}@media (max-width:768px){.how-we-met-container{padding:1rem}.story-header h1{font-size:2.5rem}.subtitle{font-size:1.4rem}.timeline:before{display:none}.timeline-item{align-items:center;flex-direction:column;margin-left:0}.timeline-icon{left:auto;margin-bottom:1rem;position:relative;top:auto;transform:none}.timeline-content{margin:0;max-width:100%;width:100%}.timeline-image{aspect-ratio:1;height:auto;max-width:100%;object-fit:cover;width:100%}.love-quote p{font-size:1.3rem}.whats-next-section h2{font-size:1.8rem}.whats-next-section p{font-size:1rem}}@media (max-width:480px){.story-header h1{font-size:2rem}.subtitle{font-size:1.2rem}.timeline-icon{font-size:1.5rem;height:50px;width:50px}.timeline-content h3{font-size:1.4rem}.timeline-content p{font-size:.95rem}.fun-fact{font-size:.9rem;padding:.5rem .8rem}.love-quote{padding:1rem}.love-quote p{font-size:1.1rem}}.faq-container{align-items:center;background:linear-gradient(135deg,#f1eaf7,#f8f5fa);background:linear-gradient(135deg,var(--mauve-100,#f1eaf7) 0,var(--mauve-50,#f8f5fa) 100%);border-radius:32px;box-shadow:0 8px 32px 0 #6d3e991a;display:flex;flex-direction:column;margin:48px auto 0;max-width:700px;padding:40px 24px}.faq-header{background-color:#f1eaf7;color:#000;margin-bottom:32px;padding:32px 16px 24px;text-align:center;width:100%}.faq-header h1{color:#0a000c;color:var(--deep-plum,#0a000c);font-size:3.3rem;font-weight:500;line-height:1.2;margin-bottom:12px}.faq-header h1,.faq-header p{font-family:Arial,Helvetica,sans-serif}.faq-header p{color:#000;color:var(--mauve-600,#000);font-size:1.8rem;margin:0}.floral-accent{font-size:2rem;margin:18px 0 0;opacity:.8}.faq-intro{background:#fdf8fa;background:var(--warm-white,#fdf8fa);border:1px solid #e6e0f7;border:1px solid var(--mauve-200,#e6e0f7);border-radius:16px;box-shadow:0 2px 8px 0 #a855f70f;margin-bottom:32px;padding:24px;text-align:center}.faq-intro p{color:#2d2233;color:var(--charcoal,#2d2233);font-size:1.1rem;line-height:1.7;margin:0}.faq-categories{align-items:center;display:flex;flex-direction:column;gap:28px;margin-bottom:32px;width:100%}.faq-category{background:linear-gradient(120deg,#f8f5fa 60%,#e6e0f7);background:linear-gradient(120deg,var(--mauve-50,#f8f5fa) 60%,var(--mauve-200,#e6e0f7) 100%);border:2px solid #e6e0f7;border:2px solid var(--mauve-200,#e6e0f7);border-radius:20px;box-shadow:0 4px 24px 0 #a855f71a;margin:0 auto;max-width:520px;padding:28px 24px;position:relative;transition:box-shadow .3s,transform .3s;width:100%}.faq-category:hover{box-shadow:0 8px 32px 0 #a855f72e;transform:translateY(-4px) scale(1.02)}.questions-list{align-items:center;display:flex;flex-direction:column;gap:18px}.question-item{background:#fffffffa;border:1.5px solid #e6e0f7;border:1.5px solid var(--mauve-200,#e6e0f7);border-radius:16px;box-shadow:0 2px 12px 0 #a855f71a;margin:0 auto;max-width:480px;position:relative;transition:box-shadow .3s,border-color .3s;width:100%}.question-item:hover{border-color:#bfa3db;border-color:var(--mauve-400,#bfa3db);box-shadow:0 4px 20px 0 #a855f721}.question-button{align-items:center;background:#0000;border:none;border-radius:16px;color:#6d3e99;color:var(--mauve-700,#6d3e99);cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:18px;justify-content:space-between;padding:20px 24px;position:relative;text-align:left;transition:background .3s,color .3s;width:100%}.question-button:hover{background:linear-gradient(90deg,#f1eaf7,#e7bfc7);background:linear-gradient(90deg,var(--mauve-100,#f1eaf7) 0,var(--dusty-rose,#e7bfc7) 100%);color:#4b2354;color:var(--deep-plum,#4b2354)}.question-button.active{background:linear-gradient(90deg,#e6e0f7,#e7bfc7);background:linear-gradient(90deg,var(--mauve-200,#e6e0f7) 0,var(--dusty-rose,#e7bfc7) 100%);color:#4b2354;color:var(--deep-plum,#4b2354)}.question-text{color:inherit;flex:1 1;font-family:Segoe UI,Arial,sans-serif;font-family:var(--font-sans,"Segoe UI",Arial,sans-serif);font-size:1.2rem;font-weight:600;line-height:1.5}.answer-content{background:#f8f5fa;background:var(--mauve-50,#f8f5fa);border-radius:0 0 16px 16px;border-top:1.5px solid #e6e0f7;border-top:1.5px solid var(--mauve-200,#e6e0f7);overflow:hidden}.answer-text{color:#2d2233;color:var(--charcoal,#2d2233);font-size:1.1rem;line-height:1.8;padding:20px 24px;position:relative}.faq-contact{background:#fdf8fa;background:var(--warm-white,#fdf8fa);border:2px solid #d1c2e9;border:2px solid var(--mauve-300,#d1c2e9);border-radius:20px;box-shadow:0 4px 24px 0 #a855f71a;margin-bottom:32px;padding:40px 24px;position:relative;text-align:center}.faq-contact:before{background:linear-gradient(90deg,#e6e0f7,#e7bfc7);background:linear-gradient(90deg,var(--mauve-200,#e6e0f7) 0,var(--dusty-rose,#e7bfc7) 100%);border-radius:20px 20px 0 0;content:"";height:4px;left:0;pointer-events:none;position:absolute;right:0;top:0}.faq-contact h3{color:var(#000);font-family:Arial,Helvetica,sans-serif;font-size:2rem;font-weight:500;margin:0 0 8px}.faq-contact>p{color:#2d2233;color:var(--charcoal,#2d2233);font-size:1.1rem;line-height:1.6;margin-bottom:24px}.contact-options{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:18px}.contact-person{background:linear-gradient(120deg,#f8f5fa 60%,#e6e0f7);background:linear-gradient(120deg,var(--mauve-50,#f8f5fa) 60%,var(--mauve-200,#e6e0f7) 100%);border:1px solid #e6e0f7;border:1px solid var(--mauve-200,#e6e0f7);border-radius:16px;box-shadow:0 2px 8px 0 #a855f70f;padding:18px 12px;position:relative;transition:box-shadow .3s,border-color .3s}.contact-person:hover{border-color:#bfa3db;border-color:var(--mauve-400,#bfa3db);box-shadow:0 4px 16px 0 #a855f721;transform:translateY(-2px)}.contact-person h4{color:#4b2354;color:var(--deep-plum,#4b2354);font-weight:500;margin:0 0 8px}.contact-person a,.contact-person h4{font-family:Arial,Helvetica,sans-serif;font-size:1.4rem}.contact-person a{color:#8d5fc7;color:var(--mauve-600,#8d5fc7);cursor:pointer;display:block;font-weight:600;margin-bottom:6px;position:relative;text-decoration:none;transition:color .3s ease;z-index:10}.contact-person a:hover{color:#4b2354;color:var(--deep-plum,#4b2354);text-decoration:underline}.contact-person p{color:#000;color:var(--mauve-600,#000);font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-style:italic;margin:0}.faq-footer{background:linear-gradient(90deg,#e6e0f7,#e7bfc7);background:linear-gradient(90deg,var(--mauve-200,#e6e0f7) 0,var(--dusty-rose,#e7bfc7) 100%);border:1px solid #e7bfc7;border:1px solid var(--dusty-rose,#e7bfc7);border-radius:16px;margin-top:24px;padding:24px;text-align:center}.faq-footer p{color:#4b2354;color:var(--deep-plum,#4b2354);font-size:1.3rem;font-weight:500;margin:0}@media (max-width:900px){.faq-container{border-radius:20px;padding:18px 4vw}.faq-header{border-radius:16px;padding:18px 4vw 12px}.faq-category{border-radius:14px;padding:18px 4vw}.question-item{border-radius:10px}.answer-text,.question-button{font-size:1rem;padding:12px 4vw}.faq-contact{border-radius:14px;padding:18px 4vw}.contact-options{gap:12px}.faq-footer{border-radius:10px;padding:14px 4vw}}@media (max-width:600px){.faq-header h1{font-size:1.5rem}.faq-header p{font-size:1rem}.faq-category{padding:12px 2vw}.answer-text,.question-button{font-size:.95rem;padding:10px 2vw}.contact-options{gap:10px;grid-template-columns:1fr}.faq-contact{padding:12px 2vw}.faq-footer{padding:10px 2vw}}.question-button:focus{outline:2px solid var(--mauve-600);outline-offset:2px}.question-button:focus-visible{box-shadow:0 0 0 4px #a855f733}.question-item{animation:fade-in-up .5s ease-out forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.faq-category:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='25' height='25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 5C16 5 19 8 19 12s-3 7-6.5 7S6 16 6 12s3-7 6.5-7Z' fill='%23e6e0f7' fill-opacity='.6'/%3E%3Cpath d='M12.5 7c2 0 4 2 4 5s-2 5-4 5-4-2-4-5 2-5 4-5Z' fill='%23f7d4d4' fill-opacity='.7'/%3E%3Ccircle cx='12.5' cy='12' r='2' fill='%23d4a4a4' fill-opacity='.8'/%3E%3C/svg%3E") no-repeat 50%;bottom:10px;content:"";height:25px;opacity:.5;pointer-events:none;position:absolute;right:10px;width:25px}.question-item:hover:before{content:"🌿";font-size:var(--font-size-sm);opacity:.7;position:absolute;right:var(--space-2);top:var(--space-2);z-index:1}.wedding-footer{background:linear-gradient(135deg,#2a2a2a,#3a2a3a 50%,#2a2a3a);border-top:2px solid #b8156f4d;color:#f0f0f0;margin-top:auto;overflow:hidden;padding:2.5rem 2rem 1.5rem;position:relative}.wedding-footer:before{background:linear-gradient(90deg,#0000,#b8156f80,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto 1.5rem;max-width:1200px;position:relative;z-index:2}.footer-section{text-align:center}.footer-section h3{color:#e6b7d6;font-family:Playfair Display,serif;font-size:1.5rem;letter-spacing:1px;margin:0 0 .4rem}.footer-section h4{font-size:1.2rem;letter-spacing:1px;margin:0 0 1rem;text-transform:uppercase}.footer-section h4,.wedding-date{color:#d84c6f;font-family:Cormorant Garamond,serif}.wedding-date{font-size:1.1rem;font-weight:500;margin:.4rem 0}.wedding-location{color:#b0b0b0;font-size:1.2rem;margin:.5rem 0 0}.footer-section a{border-radius:.5rem;color:#e0e0e0;display:block;font-size:.95rem;margin:.6rem 0;padding:.4rem;text-decoration:none;transition:all .3s ease}.footer-section a:hover{background:#b8156f1a;color:#e6b7d6;transform:translateX(4px)}.footer-decorative{align-items:center;animation:decorativeFloat 4s ease-in-out infinite;display:flex;gap:2rem;justify-content:center}.heart-decoration{animation:heartPulse 2s ease-in-out infinite;font-size:1.5rem;opacity:.8}.heart-decoration:first-child{animation-delay:0s}.heart-decoration:nth-child(2){animation-delay:.3s}.heart-decoration:nth-child(3){animation-delay:.6s}@keyframes decorativeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes heartPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.footer-bottom{border-top:1px solid #b8156f33;color:#999;font-size:.85rem;padding-top:2rem;text-align:center}.footer-bottom p{margin:0}@media (max-width:768px){.wedding-footer{padding:3rem 1.5rem 1.5rem}.footer-content{gap:2rem;grid-template-columns:1fr}.footer-section{padding:0 1rem}.footer-section h3{font-size:1.5rem}.footer-section h4{font-size:1rem}.footer-decorative{gap:1.5rem;margin-top:1rem}.heart-decoration{font-size:1.2rem}}@media (max-width:480px){.wedding-footer{padding:2rem 1rem 1rem}.footer-section h3{font-size:1.3rem}.footer-section h4{font-size:.9rem}.footer-section a{font-size:.85rem}.footer-decorative{gap:1rem}.heart-decoration{font-size:1rem}}.scroll-to-top-btn{align-items:center;background:linear-gradient(135deg,#fff6fa 60%,#f5adc0);border:none;border-radius:50%;bottom:2.5rem;box-shadow:0 4px 18px #b8156f21;color:#b8156f;cursor:pointer;display:flex;font-size:2rem;height:54px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:2.5rem;transition:opacity .4s,transform .3s,box-shadow .3s;width:54px;z-index:1000}.scroll-to-top-btn.visible{box-shadow:0 8px 32px #b8156f2e;opacity:1;pointer-events:auto;transform:translateY(-8px) scale(1.08)}.scroll-to-top-btn:hover{background:linear-gradient(135deg,#f5adc0,#fff6fa);box-shadow:0 12px 36px #b8156f38;transform:translateY(-12px) scale(1.13) rotate(-6deg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#faf8f7;margin:0;padding:0}.app-background{background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;min-height:100vh;position:relative}.app-background:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(135deg,#e4dede66,#f5ebf559);border-top:1px solid #fff3;content:"";inset:0;position:absolute;z-index:0}.app-content{color:#2a2a2a;display:flex;flex-direction:column;font-family:Lora,Cormorant Garamond,serif;min-height:100vh;position:relative;z-index:3}@media (max-width:1200px){.app-background{background-size:cover}}@media (max-width:768px){.app-background{background-size:cover}}@media (max-width:480px){.app-background{background-size:cover}}@media (min-aspect-ratio:1/2) and (max-aspect-ratio:1/1){.app-background{background-color:#f5f5f5;background-position:top;background-size:contain}}@media (min-aspect-ratio:7/3){.app-background{background-position:50%;background-size:cover}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-content>*{animation:fadeInUp .6s ease-out}.nav-bar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f7e3ef,#fff0f7 50%,#e6b7d6);background-clip:padding-box;border:2px solid #e6b7d699;border-radius:2.5rem;box-shadow:0 12px 40px #b8156f1f,0 4px 12px #00000014;display:flex;gap:1.5rem;justify-content:center;margin:2.5rem auto 2rem;max-width:950px;overflow:visible;padding:1.2rem 2.5rem;position:relative;z-index:10}.nav-link{background:#fff9;border:2px solid #0000;border-radius:2rem;box-shadow:0 4px 12px #b8156f14;color:#5a2d4d;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600;letter-spacing:.5px;padding:.7rem 1.8rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.nav-link.active,.nav-link:hover{background:linear-gradient(135deg,#d84c6f,#b8156f);border:2px solid #7a2757;box-shadow:0 8px 24px #b8156f40;color:#fff;transform:translateY(-2px)}.hamburger{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;width:40px;z-index:20}.hamburger span{background:#b8156f;border-radius:2px;height:3px;transition:all .3s ease;width:28px}@media (max-width:900px){.nav-bar{gap:1rem;max-width:98vw;padding:1rem 1.5rem}.nav-link{font-size:1rem;padding:.6rem 1.4rem}}@media (max-width:768px){.nav-bar{align-items:flex-start;border-bottom:2px solid #e6b7d699;border-top:2px solid #e6b7d699;flex-direction:column;gap:0;margin:0 auto 2rem;max-width:100vw;padding:0;width:100vw}.nav-bar,.nav-links{background:linear-gradient(135deg,#f7e3ef,#fff0f7 50%,#e6b7d6);border-radius:0 0 2.5rem 2.5rem;box-shadow:0 12px 40px #b8156f1f,0 4px 12px #00000014}.nav-links{border-top:1px solid #e6b7d699}.hamburger{display:flex;position:absolute;right:20px;top:10px}.nav-link{background:#ffffff1a;border:none;border-bottom:1px solid #b8156f1a;border-radius:0;box-shadow:none;margin:0;padding:1rem 1.5rem;width:100%}.nav-link:last-child{border-bottom:none}.nav-link.active,.nav-link:hover{background:#b8156f1a;transform:none}}.floating-decor{filter:drop-shadow(0 2px 8px rgba(184,21,111,.08));font-size:1.5rem;opacity:.85;pointer-events:none;position:fixed;z-index:1}.heart{color:#d84c6f;left:20px;top:80px}.heart,.ring{font-size:1.8rem}.ring{color:#b084cc;right:30px;top:120px}.nav-bar:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='50' height='50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 44S13 33.5 8 28.5 3 17 8 13.5c4.5-3.5 11-3 15 2 10-5.5 16.5-6.5 21-2C48.5 17 48.5 24 43.5 29 37 33.5 25 44 25 44z' fill='%23d84c6f' fill-opacity='.2'/%3E%3C/svg%3E") no-repeat 50%/contain;left:-50px}.nav-bar:after,.nav-bar:before{content:"";height:50px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:50px;z-index:1}.nav-bar:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='50' height='50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='30' fill='%23b084cc' fill-opacity='.15' r='15'/%3E%3Crect x='16' y='8' width='18' height='8' rx='4' fill='%23b084cc' fill-opacity='.2' transform='rotate(-20 16 8)'/%3E%3C/svg%3E") no-repeat 50%/contain;right:-50px}
/*# sourceMappingURL=main.cb75278b.css.map*/