:root{--bg-color:#f5f7f5;--text-dark:#2f4a3e;--accent-olive:#7a8f75;--accent-gold:#d4af37;--white:#fff;--font-primary:"Cormorant Garamond",serif;--font-script:"Villa Al Mare",cursive;--accent-sage:#9caf9a;--line-color:#2f4a3e33;--header-height:100px}@font-face{font-family:Villa Al Mare;src:url(/fonts/VillaAlMareRegular.ttf)format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-dark);padding-top:var(--header-height);font-family:Montserrat,sans-serif;line-height:1.8;overflow-x:hidden}img{max-width:100%;height:auto;display:block}.script-font{color:var(--accent-olive);margin-bottom:10px;font-family:Pinyon Script,cursive;font-size:3rem}h1,h2,h3,.nav-logo,.marquee-text{text-transform:uppercase;letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-weight:400}nav{width:100%;height:var(--header-height);background-color:var(--bg-color);z-index:1000;border-bottom:1px solid var(--line-color);justify-content:space-between;align-items:center;padding:0 50px;display:flex;position:fixed;top:0;left:0}.nav-logo{color:var(--text-dark);font-size:1.5rem}.nav-links{gap:30px;list-style:none;display:flex}.nav-links a{color:var(--text-dark);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;text-decoration:none;transition:opacity .3s}.nav-links a:hover{opacity:.6}.hero{grid-template-columns:1fr 1fr;align-items:center;height:85vh;display:grid;position:relative}.hero-text{text-align:center;flex-direction:column;justify-content:center;padding:60px;display:flex}.hero-image-container{background-image:url(/images/cover.jpg);background-position:50%;background-size:cover;height:100%}.hero h1{color:var(--text-dark);margin:20px 0;font-size:4rem;line-height:1}.date-badge{border:1px solid var(--text-dark);text-transform:uppercase;border-radius:50px;margin-top:30px;padding:10px 20px;font-size:.8rem;display:inline-block}.countdown-section{text-align:center;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:120px 20px;display:flex}.countdown-intro{color:var(--accent-olive);margin-bottom:50px;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-style:italic}.countdown-timer{justify-content:center;gap:60px;display:flex}.time-box{text-align:center}.countdown-number{color:var(--accent-olive);font-family:Cormorant Garamond,serif;font-size:5rem;font-weight:300;line-height:1}.countdown-label{color:var(--text-dark);margin-top:15px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic}.story-section{max-width:900px;margin:0 auto;padding:100px 20px}.cascade-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.column{flex-direction:column;gap:120px;display:flex}.column.right{margin-top:150px}.column.left .photo-block:first-child{align-self:center;margin-right:20px}.column.left .photo-block:nth-child(2){align-self:flex-end}.column.left .photo-block:nth-child(3){align-self:center}.column.right .photo-block:first-child{align-self:center;margin-left:20px}.column.right .photo-block:nth-child(2){align-self:flex-start}.photo-block{opacity:0;cursor:pointer;background:#fff;width:100%;max-width:300px;padding:12px;transition:all 1s;transform:translateY(50px);box-shadow:0 10px 30px #0000000d}.photo-block.visible{opacity:1;transform:translateY(0)}.photo-block:hover{transform:scale(1.02);box-shadow:0 20px 50px #0000001a}.photo-block:after{content:"View Story";text-transform:uppercase;letter-spacing:.1em;color:var(--text-dark);opacity:0;pointer-events:none;background:#ffffffe6;padding:10px 20px;font-family:Cormorant Garamond,serif;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-block:hover:after{opacity:1}.details-section{text-align:center;background-color:#fff;padding:120px 20px}.events-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:60px;max-width:1200px;margin:60px auto 0;display:grid}.event-item{cursor:pointer;flex-direction:column;align-items:center;transition:transform .3s;display:flex}.event-item:hover{transform:translateY(-10px)}.event-item:hover .event-title{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.event-illustration{object-fit:cover;width:100%;height:350px;margin-bottom:30px}.event-title{color:var(--text-dark);text-transform:uppercase;margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:1.8rem}.event-meta{color:var(--accent-olive);margin-bottom:15px;font-family:Pinyon Script,cursive;font-size:1.5rem}.event-desc{max-width:280px;color:var(--text-dark);margin:0 auto;font-size:.9rem}.faq-section{background-color:var(--text-dark);color:var(--bg-color);padding:100px 5%}.faq-container{grid-template-columns:1fr 1fr;align-items:start;gap:80px;max-width:1200px;margin:0 auto;display:grid}.faq-title{text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:3.5rem;line-height:1.1;position:sticky;top:150px}.faq-list{border-top:1px solid #f4f1ea4d;flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #f4f1ea4d}.faq-question{text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;padding:30px 0;font-family:Cormorant Garamond,serif;font-size:1.5rem;transition:color .3s;display:flex}.faq-question:hover{opacity:.8}.faq-icon{font-size:1.5rem;font-weight:300;transition:transform .3s}.faq-answer{opacity:.8;max-height:0;font-family:Montserrat,sans-serif;font-size:.95rem;line-height:1.8;transition:max-height .5s;overflow:hidden}.faq-answer p{padding-bottom:30px}.faq-item.active .faq-answer{max-height:300px}.faq-item.active .faq-icon{transform:rotate(45deg)}#rsvp{text-align:center;max-width:700px;margin:0 auto;padding:100px 20px}.welcome-letter{margin-bottom:60px;padding:0 20px}.form-group{text-align:left;margin-bottom:30px}.form-label{color:var(--text-dark);margin-bottom:5px;font-family:Cormorant Garamond,serif;font-size:1.1rem;display:block}.form-input{border:none;border-bottom:1px solid var(--accent-olive);width:100%;color:var(--text-dark);background:0 0;outline:none;padding:15px 0;font-family:Montserrat,sans-serif;font-size:1rem;transition:border-color .3s}.form-input:focus{border-bottom-color:var(--text-dark)}.submit-btn{background-color:var(--text-dark);color:var(--bg-color);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;border:none;margin-top:20px;padding:15px 50px;font-family:Cormorant Garamond,serif;font-size:1rem;transition:opacity .3s}.submit-btn:hover{opacity:.8}.marquee-container{background-color:var(--bg-color);white-space:nowrap;width:100%;padding:0;display:flex;overflow:hidden}.marquee-content{will-change:transform;align-items:center;width:fit-content;animation:60s linear infinite scroll;display:flex}.marquee-img{object-fit:cover;opacity:.9;background-color:#ddd;flex-shrink:0;width:auto;min-width:200px;height:300px;transition:opacity .3s}.marquee-img:hover{opacity:1}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.modal{z-index:3000;background-color:#2f4a3ee6;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-color);text-align:center;border:1px solid var(--accent-olive);width:90%;max-width:600px;padding:50px;position:relative}.close-btn{cursor:pointer;color:var(--text-dark);font-size:2rem;line-height:.5;position:absolute;top:20px;right:20px}.modal-title{text-transform:uppercase;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:2rem}.modal-details{color:var(--text-dark);margin-bottom:30px;font-size:1rem}.music-widget{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:4000;background:#fffffff5;border:1px solid #2f4a3e26;border-radius:14px;width:320px;padding:16px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 12px 40px #0000001f}.music-widget.minimized{cursor:pointer;background:var(--text-dark);border-color:var(--text-dark);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:flex}.music-widget.minimized .music-content-wrapper{display:none}.collapsed-icon{color:#fff;font-size:1.3rem;animation:3s infinite pulse;display:none}.music-widget.minimized .collapsed-icon{display:block}.minimize-btn{cursor:pointer;color:#aaa;font-size:1.4rem;font-weight:300;line-height:1;position:absolute;top:8px;right:14px}.music-widget.minimized .minimize-btn{display:none}.music-label{font-family:var(--font-primary),serif;text-transform:uppercase;letter-spacing:.2em;color:var(--text-dark);margin-top:4px;margin-bottom:12px;font-size:.62rem;font-weight:600}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}footer{background-color:var(--text-dark);color:var(--bg-color);text-align:center;padding:80px 20px}@media (max-width:768px){.hero{height:auto;display:flex}.hero-text{padding:40px 20px}.hero-image-container{height:50vh}.cascade-grid{grid-template-columns:1fr;gap:60px}.column.right{margin-top:0}.nav-links{display:none}nav{justify-content:center}.marquee-img{min-width:150px;height:200px}.column.left .photo-block,.column.right .photo-block{align-self:center!important;margin:0 auto!important}.faq-container{grid-template-columns:1fr;gap:40px}.faq-title{text-align:center;font-size:2.5rem;position:static}.music-widget{width:calc(100% - 40px);bottom:20px;right:20px}.music-widget.minimized{border-radius:50%;width:60px;height:60px;bottom:20px;right:20px}.countdown-timer{gap:20px}.countdown-number{font-size:3rem}}.home-grain:before{content:"";opacity:.05;pointer-events:none;z-index:9999;background-image:url(https://grainy-gradients.vercel.app/noise.svg);width:100%;height:100%;position:fixed;top:0;left:0}.home-layout a,.home-layout button,.home-layout .interactive-card,.home-layout .gallery-item{cursor:none!important}@media (max-width:768px){.custom-cursor-container{display:none}}.script-font{font-family:var(--font-script),cursive;font-weight:400;text-transform:none!important;letter-spacing:0!important}.meta-text{font-family:var(--font-primary),serif;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem}.hero{text-align:center;color:#f0e8e0;background-color:#0000;background-image:linear-gradient(#0000004d,#0000004d),url(/images/cover.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;align-items:center;height:90vh;display:flex;position:relative}.hero-content{z-index:10;flex-direction:column;align-items:center;display:flex}.hero h1{font-family:var(--font-script);color:#f0e8e0;text-transform:none;text-shadow:0 4px 20px #0000004d;margin-bottom:1rem;font-size:5rem;line-height:1.1}.hero-meta{font-family:var(--font-primary);color:#f0e8e0;text-shadow:0 2px 10px #00000080;letter-spacing:.05em;text-transform:none;flex-direction:row;justify-content:center;align-items:center;gap:15px;font-size:1.5rem;display:flex}.vertical-divider{opacity:.8;background-color:#f0e8e0;width:1px;height:24px}@media (max-width:768px){.hero h1{font-size:2.5rem}.hero-meta{gap:10px;font-size:1.1rem}.vertical-divider{height:16px}}
