:root{--color-gold: #D4AF37;--color-gold-light: #E5C565;--color-cream: #FCFBF9;--color-text-main: #2C3E50;--color-text-light: #7F8C8D;--color-white: #FFFFFF;--font-serif: "Playfair Display", serif;--font-sans: "Lato", sans-serif;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 32px;--spacing-xl: 64px}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%}body{font-family:var(--font-sans);background-color:var(--color-cream);background-image:linear-gradient(#fcfbf9e6,#fcfbf9e6),url(/provencal-bg.png);background-repeat:repeat;background-size:300px;color:var(--color-text-main);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;color:var(--color-text-main);margin-bottom:var(--spacing-md)}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0}.gold{color:var(--color-gold)}.text-center{text-align:center}.btn{display:inline-block;padding:12px 32px;background-color:var(--color-gold);color:var(--color-white);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;border:1px solid var(--color-gold);text-decoration:none;transition:all .3s ease;cursor:pointer;font-size:.9rem}.btn:hover{background-color:transparent;color:var(--color-gold)}.btn-outline{background-color:transparent;color:var(--color-text-main);border:1px solid var(--color-text-main)}.btn-outline:hover{background-color:var(--color-text-main);color:var(--color-white)}.navbar{padding:1.5rem 0;background-color:var(--color-white);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(212,175,55,.2);transition:all .3s ease}.nav-list{list-style:none;display:flex;justify-content:center;gap:2rem;font-family:var(--font-sans);text-transform:uppercase;font-size:.8rem;letter-spacing:2px}.nav-break{display:none}.nav-list li{cursor:pointer;color:#333;font-weight:700;transition:color .3s}.nav-list li:hover{color:var(--color-gold)}.hero-section{height:90vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-cream);background-image:linear-gradient(#ffffffd9,#ffffffd9),url(https://i.imgur.com/nxD8N0q.jpeg);background-size:cover;background-position:center;border-bottom:3px double var(--color-gold-light)}.hero-names{font-size:5rem;margin:1rem 0;color:var(--color-text-main);line-height:1.2}.hero-pre-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:4px;color:var(--color-text-light);font-size:.9rem}.hero-date{font-family:var(--font-serif);font-style:italic;font-size:1.6rem;margin-top:2rem;display:inline-block;background-color:#fffc;color:var(--color-text-main);padding:12px 50px;border:1px solid var(--color-gold);position:relative;letter-spacing:2px;box-shadow:0 4px 15px #d4af3726}.hero-date:after{content:"";position:absolute;inset:4px;border:1px solid var(--color-gold);opacity:.6}.hero-date strong{color:var(--color-text-main)!important;font-weight:400}.hero-date span{color:var(--color-gold)!important}.hero-divider{width:100px;height:1px;background-color:var(--color-gold);margin:20px auto}.hero-subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.2rem;margin-top:.5rem;color:var(--color-text-main)}.section-title h2{font-size:2.5rem;color:var(--color-text-main)}.section-title:after{content:"❧";display:block;font-size:2rem;color:var(--color-gold);margin-top:10px}.story-content{max-width:900px;margin:0 auto;font-size:1.35rem;color:var(--color-text-main);line-height:1.9;text-align:justify;text-align-last:center;padding:0 1rem;font-weight:500}.story-content p{margin-bottom:1.5rem}.story-content p:first-child{font-family:var(--font-serif);font-size:1.3rem;color:var(--color-gold);text-align:center;font-style:italic;margin-bottom:2rem}.parallax-divider{height:400px;background-image:url(https://i.imgur.com/5f7Ylhb.png);background-attachment:fixed;background-size:cover;background-position:center}.ceremony-container{max-width:800px;margin:0 auto}.ceremony-location{font-family:var(--font-serif);font-size:2rem;color:var(--color-gold);margin-bottom:2rem}.ceremony-image-container{max-width:500px;margin:0 auto 2rem;border:1px solid var(--color-gold-light);padding:10px;background-color:#fff;box-shadow:0 4px 6px #0000000d}.ceremony-image{width:100%;height:auto;display:block}.ceremony-text{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem;line-height:1.8}.map-container{margin-top:2rem;border:4px solid var(--color-gold-light)}.event-address{margin-top:1rem;font-size:.9rem;color:var(--color-text-light)}.mt-md{margin-top:1.5rem}.bg-cream{background-color:var(--color-cream)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem auto 0;max-width:600px}.gallery-item{height:250px;background-color:#ddd;overflow:hidden;border-radius:8px;box-shadow:0 4px 6px #0000001a}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover .gallery-img{transform:scale(1.05)}.gifts-grid{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;max-width:900px;margin:0 auto}.gift-card{background:#fff;border:1px solid var(--color-gold-light);border-radius:12px;padding:1.5rem;width:320px;display:flex;align-items:center;gap:1rem;text-align:left;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000000d;text-decoration:none;color:inherit;animation:subtle-pulse 3s infinite ease-in-out}@keyframes subtle-pulse{0%{transform:scale(1);box-shadow:0 4px 6px #0000000d}50%{transform:scale(1.02);box-shadow:0 8px 15px #d4af3733}to{transform:scale(1);box-shadow:0 4px 6px #0000000d}}.amazon-card{background-color:#d4af37;border-color:#d4af37;color:#fff}.amazon-card .gift-icon{background-color:#fff;color:#d4af37}.amazon-card .gift-content h3,.amazon-card .gift-content p{color:#fff}.amazon-card .gift-arrow{color:#fff;opacity:1}.gift-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #d4af3726;border-color:var(--color-gold)}.gift-icon{font-size:2rem;background-color:var(--color-cream);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.gift-content{flex:1}.gift-content h3{font-family:var(--font-serif);color:var(--color-text-main);font-size:1.1rem;margin-bottom:.3rem;font-weight:700}.gift-content p{font-size:.85rem;color:var(--color-text-light);margin:0;line-height:1.4}.gift-arrow{color:var(--color-gold);font-size:1.2rem;opacity:.5;transition:all .3s ease}.gift-card:hover .gift-arrow{opacity:1;transform:translate(5px)}.mb-md{margin-bottom:1.5rem}.footer{padding:3rem 0;background-color:#f5f5f5;color:var(--color-text-light);font-size:.9rem}@media(max-width:768px){.navbar{padding:1rem 0}.nav-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:0 1rem;font-size:.7rem;letter-spacing:1px}.nav-break{display:block;flex-basis:100%;height:0}.nav-list::-webkit-scrollbar{display:none}.nav-list li{white-space:nowrap;flex-shrink:0}.hero-section{height:auto;min-height:80vh;padding:3rem 1rem}.hero-names{font-size:2.5rem}.hero-pre-title{font-size:.7rem;padding:0 .5rem;line-height:1.5;letter-spacing:2px}.hero-subtitle{font-size:1rem}.hero-date,.hero-date strong{font-size:1.3rem!important}.section-title h2{font-size:1.8rem}.section-title:after{font-size:1.5rem}.section{padding:2.5rem 0}.story-content{font-size:1rem;text-align:left;text-align-last:left;padding:0 1.5rem;line-height:1.7}.story-content p:first-child{font-size:1.1rem}.ceremony-container{padding:0 1rem}.ceremony-location{font-size:1.3rem;padding:0 .5rem}.ceremony-image-container{max-width:100%;margin:0 1rem 1.5rem}.ceremony-text{font-size:1rem!important;padding:0 1rem;text-align:left;line-height:1.6}.gallery-grid{grid-template-columns:1fr;max-width:100%;padding:0 1rem}.gallery-item{height:auto;max-width:300px;margin:0 auto;background:none;box-shadow:none}.gallery-img{position:static;height:auto;max-height:400px;object-fit:contain;border-radius:8px}.gifts-grid{flex-direction:column;align-items:center;gap:1.5rem;padding:0 1rem}.desktop-placeholder{display:none}.gift-card{width:100%;max-width:320px;flex-direction:column;text-align:center;padding:2rem 1.5rem}.gift-content{margin:1rem 0}.gift-arrow{transform:rotate(90deg)}.gift-card:hover .gift-arrow{transform:translateY(5px) rotate(90deg)}.container{padding:0 1rem}.btn{width:100%;max-width:280px;text-align:center;padding:10px 24px;font-size:.8rem}.footer{padding:2rem 1rem}.footer p{font-size:.85rem}}@media(max-width:480px){.hero-names{font-size:2rem}.hero-pre-title{font-size:.6rem;letter-spacing:1px}.story-content{font-size:.95rem}.ceremony-location{font-size:1.1rem}.section-title h2{font-size:1.5rem}.gift-card{padding:1rem}.gift-icon{width:50px;height:50px;font-size:1.5rem}.gift-content h3{font-size:1rem}.gift-content p{font-size:.75rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background-color:#fff;padding:2rem;border-radius:12px;width:100%;max-width:450px;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .3s ease-out}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-light);cursor:pointer;padding:5px;transition:color .2s}.close-modal:hover{color:var(--color-text-main)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.floating-icons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.icon-float{position:absolute;opacity:.6;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(212,175,55,.3))}.icon-float svg path,.icon-float svg circle{stroke:var(--color-gold)!important;stroke-width:1.5px!important}.icon-float svg circle[fill]{fill:var(--color-gold)!important;stroke:none!important}@keyframes float{0%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-15px) rotate(5deg) scale(1.1)}to{transform:translateY(0) rotate(0) scale(1)}}.app-container{position:relative}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity 1s ease-out,transform 1s ease-out;will-change:opacity,visibility}.fade-in-section.is-visible{opacity:1;transform:none}
