@font-face{font-family:Vintage Goods;src:url(/fonts/Vintage%20Goods.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:InriaSerif;src:url(/fonts/InriaSerif-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:InriaSerif;src:url(/fonts/InriaSerif-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:InriaSerif;src:url(/fonts/InriaSerif-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:InriaSerif;src:url(/fonts/InriaSerif-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--color-primary:#f7c0d0;--color-secondary:#dd0035;--color-accent:#dd0035;--color-gold:#d4af37;--color-text:#333;--color-bg:#ffe5e0;--color-white:#fff;--font-vintage:"Vintage Goods",serif;--font-body:"InriaSerif",serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InriaSerif,serif;font-weight:400;line-height:1.6}a{color:var(--color-accent);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .3s}a:hover{color:var(--color-primary)}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--font-vintage);color:var(--color-text);margin:0}h1{font-size:3.5em;line-height:1.1}button{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-accent)100%);color:var(--color-white);cursor:pointer;border:none;border-radius:50px;padding:.8em 1.5em;font-family:inherit;font-size:1em;font-weight:600;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 15px #f4c7d966}button:hover{transform:scale(1.03);box-shadow:0 6px 20px #f4c7d999}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.section-padding{padding:100px 20px}.container{max-width:1200px;margin:0 auto;position:relative}.hero-section{text-align:center;background:radial-gradient(circle,#fffbfb 0%,#fff0f5 100%);justify-content:center;align-items:center;min-height:90vh;padding:20px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:10;position:relative}.names-hero{color:var(--color-text);letter-spacing:2px;margin-bottom:10px;font-size:4em;font-weight:400}.subtitle-hero{color:var(--color-text);font-size:1.5em;font-family:var(--font-body);margin:15px 0;font-weight:300}.date-pill-hero{color:var(--color-text);border:1px solid var(--color-secondary);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:1.3em;font-weight:500;font-family:var(--font-body);background-color:#fffc;border-radius:50px;margin-top:25px;padding:10px 25px;display:inline-block}.flowers-container{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.floating-flower{opacity:.6;position:absolute}@media (max-width:768px){.names-hero{font-size:3em}.subtitle-hero{font-size:1.4em}.date-pill-hero{padding:10px 20px;font-size:1.2em}.section-padding{padding:60px 20px}}.story-section{background-color:var(--color-bg)}.story-card{background-color:var(--color-white);text-align:center;border-radius:20px;max-width:800px;margin:0 auto;padding:60px 40px;position:relative;box-shadow:0 10px 30px #00000008}.story-content p{color:var(--color-text);margin-bottom:20px;font-size:1.2em;line-height:1.8}.story-highlight{color:var(--color-accent);font-weight:700;font-family:var(--font-vintage);margin-top:30px;font-size:1.4em!important}.floral-border{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg width='40' height='100' viewBox='0 0 40 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0 Q40 25 20 50 Q0 75 20 100' stroke='%23F4C7D9' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:repeat-y;width:40px;position:absolute;top:0;bottom:0}.floral-border.left{left:10px}.floral-border.right{right:10px;transform:scaleX(-1)}.programme-section{background-color:var(--color-secondary);background:linear-gradient(180deg,var(--color-bg)0%,var(--color-secondary)100%)}.section-title{text-align:center;color:var(--color-text);margin-bottom:60px;font-size:3em}.timeline-container{max-width:800px;margin:0 auto;padding:20px 0;position:relative}.timeline-line{background-color:var(--color-primary);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{justify-content:center;align-items:center;margin-bottom:60px;display:flex;position:relative}.timeline-content{background:var(--color-white);z-index:2;border-radius:50px;align-items:center;gap:20px;padding:20px 30px;transition:transform .3s;display:flex;box-shadow:0 5px 15px #0000000d}.timeline-content:hover{transform:translateY(-5px)}.timeline-icon-wrapper{background-color:var(--color-bg);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.timeline-text{text-align:left}.timeline-time{color:var(--color-accent);margin-bottom:2px;font-size:.9em;font-weight:700;display:block}.timeline-event{font-size:1.2em;font-family:var(--font-body);margin:0}.rsvp-gifts-section{background-color:var(--color-bg)}.grid-2-col{grid-template-columns:1fr 1fr;gap:40px;display:grid}.info-card{background-color:var(--color-white);text-align:center;border:1px solid var(--color-secondary);border-radius:20px;padding:40px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000d}.rsvp-card{border:2px solid var(--color-primary);animation:4s infinite pulse-border}@keyframes pulse-border{0%{box-shadow:0 0 #f4c7d966}70%{box-shadow:0 0 0 10px #f4c7d900}to{box-shadow:0 0 #f4c7d900}}.card-icon{margin-bottom:20px}.info-card h3{color:var(--color-text);margin-bottom:15px;font-size:2em}.info-card p{color:var(--color-text);margin-bottom:20px}.sms-box{background-color:var(--color-secondary);border-radius:10px;padding:10px 20px;font-weight:700;display:inline-block}.sms-box a{color:var(--color-text);text-decoration:none}.gallery-link-section{text-align:center;padding-bottom:100px}.gallery-button{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-accent)100%);color:var(--color-white);border-radius:50px;align-items:center;gap:10px;padding:15px 40px;font-size:1.2em;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #f4c7d980}.gallery-button:hover{color:var(--color-white);transform:scale(1.03);box-shadow:0 8px 25px #f4c7d9b3}@media (max-width:768px){.grid-2-col{grid-template-columns:1fr}.timeline-line{left:20px}.timeline-item{justify-content:flex-start;padding-left:50px}.timeline-content{width:100%}.story-card{padding:40px 20px}.floral-border{display:none}}.main-navigation{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-secondary);background-color:#ffffffe6;padding:10px 0;position:sticky;top:0;box-shadow:0 2px 20px #0000000d}.nav-container{grid-template-columns:1fr auto 1fr;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:grid}.nav-logo{color:var(--color-text);font-size:1.6em;font-weight:400;font-family:var(--font-vintage);justify-self:start;text-decoration:none;transition:color .3s}.nav-logo:hover{color:#dd0035}.nav-links{justify-content:center;align-items:center;gap:30px;display:flex}.nav-right-placeholder{justify-self:end}.nav-link{color:var(--color-text);font-weight:500;font-family:var(--font-body);padding:8px 0;font-size:1em;text-decoration:none;position:relative}.nav-link:after{content:"";background-color:#dd0035;width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover,.nav-link.active{color:#dd0035}.logout-button{background-color:var(--color-secondary);color:var(--color-text);cursor:pointer;box-shadow:none;border:none;border-radius:50px;padding:6px 16px;font-size:.9em;font-weight:600;transition:all .3s}.logout-button:hover{color:var(--color-white);background-color:#dd0035;transform:translateY(-2px)}@media (max-width:768px){.nav-container{flex-direction:column;gap:10px;display:flex}.nav-logo{font-size:1.8em}.nav-right-placeholder{display:none}}.gallery-container{max-width:1400px;min-height:80vh;margin:0 auto;padding:40px 20px}.gallery-header{text-align:center;margin-bottom:60px}.gallery-title{color:var(--color-secondary);font-size:3.5em;font-family:var(--font-vintage);margin-bottom:10px}.gallery-subtitle{color:var(--color-text);font-size:1.5em;font-family:var(--font-body);margin-bottom:30px}.upload-button{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)100%);color:var(--color-white);cursor:pointer;border:none;border-radius:50px;padding:12px 30px;font-size:1.1em;transition:all .3s;box-shadow:0 4px 15px #dd00354d}.upload-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dd003580}.gallery-masonry{column-count:4;column-gap:20px}.gallery-item-masonry{break-inside:avoid;background-color:var(--color-white);cursor:pointer;border-radius:15px;margin-bottom:20px;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000001a}.gallery-item-masonry img,.gallery-item-masonry video{border-radius:15px;width:100%;display:block}.media-caption-overlay{color:#fff;opacity:0;background:#0009;padding:10px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.gallery-item-masonry:hover .media-caption-overlay{opacity:1}.delete-button-overlay{color:var(--color-secondary);cursor:pointer;opacity:0;background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;transition:opacity .3s;display:flex;position:absolute;top:10px;right:10px}.gallery-item-masonry:hover .delete-button-overlay{opacity:1}.lightbox-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.lightbox-content{max-width:90%;max-height:90vh;position:relative}.lightbox-content img{border-radius:5px;max-width:100%;max-height:90vh;box-shadow:0 0 30px #00000080}.lightbox-caption{color:#fff;text-align:center;margin-top:10px;font-size:1.2em}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:10px;font-size:3em;position:absolute;top:-40px;right:-40px}@media (max-width:1024px){.gallery-masonry{column-count:3}}@media (max-width:768px){.gallery-masonry{column-count:2}.gallery-title{font-size:2.5em}.lightbox-close{top:-40px;right:0}}@media (max-width:480px){.gallery-masonry{column-count:1}}
