:root{--bg-color:#f4f1ea;--text-dark:#2f4a3e;--accent-sage:#9caf9a;--accent-olive:#7f8f7a;--line-color:#2f4a3e33;--header-height:100px}*{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);cursor:url(/images/heart.png),auto;font-family:Montserrat,sans-serif;line-height:1.8;overflow-x:hidden}a,button,.photo-block,.event-item,.submit-btn,.minimize-btn,.close-btn,.faq-question{cursor:url(/images/heart.png),pointer}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{background-color:var(--bg-color);border:1px solid var(--accent-olive);z-index:5000;text-align:center;border-radius:12px;width:320px;padding:15px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:fixed;bottom:30px;right:30px;overflow:hidden;box-shadow:0 10px 40px #00000026}.music-widget.minimized{cursor:pointer;background-color:var(--text-dark);border-color:var(--text-dark);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:0;display:flex}.music-widget.minimized .music-content-wrapper{opacity:0;pointer-events:none;display:none}.collapsed-icon{color:var(--bg-color);font-size:1.5rem;animation:3s infinite pulse;display:none}.music-widget.minimized .collapsed-icon{display:block}.minimize-btn{cursor:pointer;color:var(--text-dark);font-size:2rem;font-weight:300;line-height:.8;position:absolute;top:5px;right:15px}.music-widget.minimized .minimize-btn{display:none}.music-label{color:var(--accent-olive);margin-top:0;margin-bottom:5px;font-family:Pinyon Script,cursive;font-size:1.5rem}@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}}
