.app-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background-color:#f9f9f9;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%239C92AC' fill-opacity='0.03' fill-rule='evenodd'/%3E%3C/svg%3E");padding:20px}.wedding-page{width:100%;overflow-x:hidden;position:relative;padding-bottom:50px}.section{padding:80px 20px;display:flex;flex-direction:column;align-items:center;max-width:1200px;margin:0 auto}.section-title{font-family:var(--font-script);font-size:4rem;margin-bottom:50px;color:#111;text-align:center}.hero{min-height:100vh;justify-content:center;padding-top:0}.invitation-card{background-color:#fff;padding:20px;max-width:600px;width:100%;box-shadow:0 15px 35px #0000001a;margin:0 auto;transition:all .3s ease}.card-border{border:1px solid #111;padding:50px;position:relative;outline:1px solid #111;outline-offset:-10px}.content{text-align:center;color:#111}.intro{font-size:1rem;text-transform:uppercase;letter-spacing:3px;margin-bottom:2.5rem;font-family:var(--font-body)}.names{font-family:var(--font-script);font-size:4rem;font-weight:400;margin:2rem 0;display:flex;flex-direction:column;align-items:center;line-height:1.1}.names .amp{font-size:2.5rem;margin:.5rem 0;font-family:var(--font-heading);font-style:italic;color:#555}.request{font-size:1.2rem;line-height:1.6;margin:2.5rem 0;font-style:italic;color:#333}.details{margin:2.5rem 0;text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem;line-height:2;border-top:1px solid #111;border-bottom:1px solid #111;padding:2rem 0;width:90%;margin-left:auto;margin-right:auto}.location{margin-bottom:3.5rem}.venue{font-weight:700;font-size:1.2rem;letter-spacing:1.5px;margin:0;text-transform:uppercase}.address{font-size:1rem;color:#666;margin-top:.8rem;font-family:var(--font-heading);font-style:italic}.divider-css{width:100px;height:10px;border-top:1px double #333;border-bottom:1px double #333;margin:30px auto;position:relative}.divider-css:after{content:"✻";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:0 10px;font-size:1.2rem;color:#333}.timeline{position:relative;max-width:800px;width:100%;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#333;transform:translate(-50%)}.timeline-item{padding:20px 40px;position:relative;width:50%;box-sizing:border-box;margin-bottom:30px}.timeline-item:nth-child(odd){left:0;text-align:right}.timeline-item:nth-child(2n){left:50%;text-align:left}.timeline-item:after{content:"";position:absolute;width:12px;height:12px;background:#fff;border:3px solid #333;border-radius:50%;top:25px;right:-9px;z-index:1}.timeline-item:nth-child(2n):after{left:-9px}.timeline-date{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;margin-bottom:10px}.timeline-content h3{font-family:var(--font-body);font-size:1.2rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.timeline-content p{font-size:.95rem;color:#555;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;width:100%;max-width:1000px}.gallery-item{aspect-ratio:3/4;background-color:#eee;border:5px solid #fff;box-shadow:0 5px 15px #0000001a;position:relative;overflow:hidden}.gallery-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,#eee 0,#eee 10px,#e5e5e5 10px,#e5e5e5 20px);opacity:.5}.rsvp-container{text-align:center;border:1px solid #111;padding:60px;outline:1px solid #111;outline-offset:-15px;max-width:600px;width:90%;margin:0 auto;box-sizing:border-box}@media (max-width: 768px){.rsvp-container{padding:40px 15px;width:95%}.rsvp-btn-large{width:100%;max-width:250px;font-size:.85rem;padding:15px 10px}}.rsvp-btn-large{background:#111;color:#fff;border:none;padding:15px 50px;font-family:var(--font-body);font-size:1rem;letter-spacing:3px;text-transform:uppercase;cursor:pointer;margin-top:30px;transition:transform .3s ease}.rsvp-btn-large:hover{transform:scale(1.05)}.footer{text-align:center;padding:40px;font-family:var(--font-script);font-size:1.5rem;color:#777;margin-top:40px}@media (max-width: 768px){.section-title{font-size:3rem}.timeline:before{left:30px}.timeline-item{width:100%;padding-left:70px;padding-right:25px}.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){left:0;text-align:left}.timeline-item:after{left:21px!important}.invitation-card{max-width:550px;padding:15px}.card-border{padding:40px}.names{font-size:3.5rem}}@media (max-width: 600px){.invitation-card{max-width:95%;padding:10px}.card-border{padding:25px 15px}.names{font-size:2.8rem}.intro{font-size:.85rem;letter-spacing:2px}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.paper-texture{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.5'/%3E%3C/svg%3E")}:root{font-family:Playfair Display,serif;line-height:1.6;font-weight:400;color-scheme:light;--color-text: #111111;--color-bg: #FFFFFF;--color-accent: #333333;--font-heading: "Playfair Display", serif;--font-script: "Great Vibes", cursive;--font-body: "Playfair Display", serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);display:flex;justify-content:center;align-items:center}#root{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column}
