*{margin:0;padding:0;box-sizing:border-box}body{font-family:Jost,sans-serif;background:#fcfcf5;color:#4a5740;scroll-behavior:smooth}.envelope-screen{width:100%;height:100vh;position:relative;overflow:hidden;cursor:pointer;background:#707d60;font-family:Jost,sans-serif;display:flex;align-items:center;justify-content:center}.envelope-screen.closing{animation:screenClose .85s ease forwards}.env-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.env-invite-text{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);text-align:center;font-family:Cormorant Garamond,serif;font-size:2.4rem;font-style:italic;color:#fcfcf5;line-height:1.4;z-index:4;pointer-events:none;opacity:0;animation:fadeInInvite 1.2s ease .6s forwards;width:90%;max-width:500px}.env-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:90px;pointer-events:none;animation:fadeUp 1.2s ease .4s both;z-index:2}.env-pre{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#fcfcf5;margin-bottom:.6rem}.env-names{font-family:Cormorant Garamond,serif;font-size:3.8rem;font-style:italic;font-weight:300;color:#fcfcf5;line-height:1;margin-bottom:.75rem;letter-spacing:-.01em}.env-tagline{font-size:11px;letter-spacing:.18em;color:#fcfcf5;text-transform:none}.seal-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateY(20px);display:flex;flex-direction:column;align-items:center;gap:1.4rem;animation:fadeUp 1.2s ease .8s both;pointer-events:none;z-index:3}.seal{width:72px;height:72px;border-radius:50%;background:#dbd4c0;display:flex;align-items:center;justify-content:center;pointer-events:all;cursor:pointer;transition:transform .2s}.seal:hover{transform:scale(1.06)}.seal-inner{width:56px;height:56px;border-radius:50%;border:1px solid #9E9A75;display:flex;align-items:center;justify-content:center}.seal-text{font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;color:#4a5740;letter-spacing:.05em}.open-btn{pointer-events:all;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.2rem;border:.5px solid #FCFCF5;background:transparent;color:#fcfcf5;font-family:Jost,sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:all .3s;border-radius:2px}.open-btn:hover{background:#fcfcf51f}@keyframes fadeInInvite{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,-50%) translateY(40px)}to{opacity:1;transform:translate(-50%,-50%) translateY(20px)}}@keyframes screenClose{0%{transform:scale(1);opacity:1}40%{transform:scale(1.04);opacity:1}to{transform:scale(.92);opacity:0}}@keyframes pageReveal{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.main-page{background:#fcfcf5;font-family:Jost,sans-serif;animation:pageReveal .7s ease both}.nav-section{position:sticky;top:0;background:#fcfcf5;border-bottom:.5px solid #DBD4C0;padding:1.5rem 2rem;z-index:100}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.nav-item{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#4a5740;text-decoration:none;transition:all .2s;border-bottom:.5px solid transparent;padding-bottom:3px}.nav-item:hover{color:#707d60;border-bottom-color:#707d60}.hero-section{position:relative;height:700px;overflow:hidden}.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#4a574033;z-index:2}.hero-content{position:relative;z-index:3;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-top{position:absolute;top:40px;text-align:center;letter-spacing:.15em;color:#dbd4c0;font-size:16px;text-transform:uppercase}.hero-center{text-align:center}.hero-names{font-family:Cormorant Garamond,serif;font-size:5.5rem;font-style:italic;color:#fcfcf5;line-height:1;letter-spacing:.05em}.hero-pill{display:inline-block;padding:12px 25px;background:#dcd4c0f2;border:.5px solid #99A38E;color:#4a5740;font-family:Jost,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-radius:25px;margin-top:30px}.hero-scroll{position:absolute;bottom:30px;color:#fcfcf5;font-size:12px;letter-spacing:.1em;animation:bounce 2s infinite}.section{padding:5rem 2rem;max-width:1200px;margin:0 auto;background:#fcfcf5}.section-header{text-align:center;margin-bottom:4rem}.section-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#707d60;margin-bottom:.75rem}.section-subtitle{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;color:#99a38e;margin-bottom:.5rem}.section-title{font-family:Cormorant Garamond,serif;font-size:2.8rem;font-style:italic;color:#4a5740;margin-bottom:1rem}.section-line{width:50px;height:.5px;background:#99a38e;margin:0 auto}.about-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-img{aspect-ratio:3/4;overflow:hidden}.about-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.about-content h3{font-family:Cormorant Garamond,serif;font-size:2rem;font-style:italic;color:#4a5740;margin-bottom:1.5rem}.about-content p{font-size:.95rem;color:#5a5a52;line-height:1.8;margin-bottom:1.5rem}.countdown-section{background:url(https://lh3.googleusercontent.com/d/1fbOMeisGUbNj3yoNdazEH2cWTy8I_-H7=w1200) center/cover fixed;padding:5rem 2rem;text-align:center;position:relative}.countdown-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#4a5740b3;z-index:1}.countdown-content{position:relative;z-index:2;max-width:800px;margin:0 auto;color:#fcfcf5}.countdown-title{font-family:Cormorant Garamond,serif;font-size:2.8rem;font-style:italic;margin-bottom:1rem}.countdown-subtitle{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#dbd4c0;margin-bottom:2rem}.countdown-timer{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}.countdown-box{background:#ffffff14;border:.5px solid rgba(255,255,255,.2);padding:1.5rem}.countdown-number{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-style:italic;color:#dbd4c0;margin-bottom:.5rem}.countdown-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#dbd4c0}.countdown-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.countdown-btn{padding:10px 20px;background:#dbd4c0;color:#4a5740;border:.5px solid #DBD4C0;font-family:Jost,sans-serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s}.countdown-btn:hover{background:transparent;color:#dbd4c0}.countdown-date{font-size:12px;color:#dbd4c0;margin-top:1.5rem;letter-spacing:.1em}.event-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}.event-card{border:.5px solid #DBD4C0;padding:2rem;background:#f7f5ef;text-align:center;position:relative;display:flex;align-items:center;justify-content:center}.event-card:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:.5px solid #DBD4C0;pointer-events:none}.event-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.event-icon{font-size:2.5rem;color:#99a38e;margin-bottom:1.5rem}.event-time{font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic;color:#4a5740;margin-bottom:1rem}.event-location{font-size:1rem;color:#5a5a52;line-height:1.7;margin-bottom:1.5rem}.event-btn{display:inline-flex;gap:.5rem;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#707d60;text-decoration:none;border-bottom:.5px solid #99A38E;padding-bottom:2px;transition:all .2s}.event-btn:hover{color:#4a5740;border-bottom-color:#707d60}.event-img{aspect-ratio:2/3;overflow:hidden}.event-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-img:hover img{transform:scale(1.02)}.dresscode-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.dresscode-person{text-align:center}.dresscode-img{aspect-ratio:3/4;overflow:hidden;margin-bottom:1.5rem}.dresscode-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.dresscode-label{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;color:#4a5740;margin-bottom:1rem}.reserved-colors{text-align:center;margin-top:3rem;border:2px solid #707D60;padding:2rem}.reserved-colors-title{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-style:italic;color:#4a5740;margin-bottom:.5rem}.reserved-colors-desc{font-size:14px;color:#5a5a52;line-height:1.6;margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.reserved-colors-circles{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.color-circle{width:70px;height:70px;border-radius:50%}.schedule-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:flex-start}.schedule-img{aspect-ratio:3/4;overflow:hidden}.schedule-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.schedule-img:hover img{transform:scale(1.02)}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.5px;background:#99a38e}.timeline-item{position:relative;padding:1.5rem 0 1.5rem 1.5rem}.timeline-item:before{content:"";position:absolute;left:-5px;top:24px;width:10px;height:10px;border-radius:50%;background:#99a38e;border:2px solid #FCFCF5;box-shadow:0 0 0 .5px #99a38e}.timeline-time{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;color:#4a5740;margin-bottom:.25rem}.timeline-event{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#707d60;margin-bottom:.5rem;font-weight:500}.timeline-desc{font-family:Cormorant Garamond,serif;font-size:.95rem;color:#5a5a52;line-height:1.6;font-style:italic}.song-section{background:#707d60;padding:5rem 2rem;width:100%;text-align:center;color:#fcfcf5}.song-label{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:#dbd4c0;margin-bottom:.75rem;opacity:.8}.song-title{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-style:italic;color:#fcfcf5;margin-bottom:.75rem}.song-artist{font-size:.9rem;color:#c8d0be;letter-spacing:.08em;margin-bottom:2rem}.song-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.song-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.8rem;border:.5px solid #DBD4C0;background:#fcfcf51a;color:#fcfcf5;font-family:Jost,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .3s}.song-btn:hover{background:#dbd4c0;color:#4a5740;border-color:#dbd4c0}.song-quote{font-family:Cormorant Garamond,serif;font-size:1rem;color:#c8d0be;font-style:italic;letter-spacing:.05em}.accommodations-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-bottom:3rem}.accommodations-card{border:.5px solid #DBD4C0;padding:2rem;background:#f7f5ef;display:flex;flex-direction:column;text-align:center}.accommodations-icon{font-size:2rem;color:#99a38e;margin-bottom:1rem}.accommodations-name{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;color:#4a5740;margin-bottom:1rem;line-height:1.3}.accommodations-info{font-size:.9rem;color:#5a5a52;line-height:1.7;margin-bottom:1.5rem;flex-grow:1;display:flex;flex-direction:column;justify-content:center}.accommodations-info strong{font-weight:400;color:#4a5740;display:block;margin-bottom:.5rem}.accommodations-info p{margin:0;font-size:.85rem}.accommodations-note{font-size:.8rem;color:#99a38e;margin-top:.5rem}.accommodations-price{background:#eae8e0;padding:.75rem 1rem;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;color:#4a5740}.accommodations-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#707d60;text-decoration:none;border-bottom:.5px solid #99A38E;padding-bottom:2px;transition:all .2s}.accommodations-link:hover{color:#4a5740;border-bottom-color:#707d60}.recommendation-box{border:1px solid #707D60;padding:2rem;background:transparent;text-align:center;position:relative}.recommendation-box:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:.5px solid #707D60;pointer-events:none}.recommendation-text{position:relative;z-index:2;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-style:italic;color:#4a5740;letter-spacing:.05em}.gallery-main{margin-bottom:3rem}.gallery-main-img{position:relative;overflow:hidden;aspect-ratio:16/9;box-shadow:0 2px 8px #00000014}.gallery-main-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-main-img:hover img{transform:scale(1.03)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.gallery-item{position:relative;overflow:hidden;aspect-ratio:3/4;box-shadow:0 2px 8px #00000014}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gifts-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:flex-start}.gifts-content{display:flex;flex-direction:column;gap:2rem}.gift-intro{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:#5a5a52;line-height:1.8;font-style:italic}.gift-option{border:.5px solid #DBD4C0;padding:1.5rem;background:#f7f5ef}.gift-title{font-size:1.3rem;letter-spacing:.1em;text-transform:uppercase;color:#4a5740;margin-bottom:1rem;font-weight:600}.gift-info{font-size:.9rem;color:#5a5a52;line-height:1.6;margin-bottom:1rem}.gift-link{display:inline-flex;align-items:center;gap:.5rem;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#707d60;text-decoration:none;border-bottom:.5px solid #99A38E;padding-bottom:2px;transition:all .2s}.gift-link:hover{color:#4a5740;border-bottom-color:#707d60}.gifts-image{position:relative;overflow:hidden;aspect-ratio:2/3}.gifts-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gifts-image:hover img{transform:scale(1.02)}.info-block{background:#f7f5ef;border:.5px solid #DBD4C0;padding:1.5rem}.info-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#707d60;margin-bottom:.75rem;font-weight:500;display:block}.info-value{font-family:Cormorant Garamond,serif;font-size:.95rem;color:#4a5740;line-height:1.7;font-style:italic;word-break:break-word}.info-row{margin-bottom:1.25rem}.info-row:last-child{margin-bottom:0}.rsvp-section{padding:5rem 2rem;max-width:900px;margin:0 auto;text-align:center;background:#fcfcf5}.rsvp-title{font-family:Cormorant Garamond,serif;font-size:2.8rem;font-style:italic;color:#4a5740;margin-bottom:1rem}.rsvp-content{margin-bottom:2.5rem}.rsvp-intro{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#5a5a52;line-height:1.8;font-style:italic;margin-bottom:2rem}.rsvp-card{border:.5px solid #DBD4C0;padding:2.5rem;background:#f7f5ef;margin-bottom:2rem}.rsvp-button{display:inline-flex;align-items:center;gap:.75rem;padding:1.2rem 2.5rem;background:#707d60;color:#fcfcf5;text-decoration:none;font-family:Jost,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;transition:all .3s;border:.5px solid #707D60}.rsvp-button:hover{background:#5a5740;border-color:#5a5740}.footer-section{background:#707d60;padding:4rem 2rem;width:100%;text-align:center;color:#fcfcf5}.footer-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-message{font-family:Cormorant Garamond,serif;font-size:2.2rem;font-style:italic;color:#fcfcf5;line-height:1.3}.footer-line{width:50px;height:.5px;background:#dbd4c0}.footer-details{font-size:.9rem;color:#dbd4c0;letter-spacing:.1em;line-height:1.8}.footer-date{display:block;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;margin-bottom:.25rem}.footer-location{display:block;font-size:.85rem}.footer-closing{font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;color:#c8d0be;margin-top:1rem;opacity:.9}@media(max-width:768px){.env-invite-text{font-size:1.6rem;width:85%}.hero-names{font-size:3rem}.section{padding:3.5rem 1.5rem}.section-title{font-size:2rem}.about-container,.event-container,.schedule-container,.gifts-container{grid-template-columns:1fr;gap:2.5rem}.dresscode-grid,.accommodations-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item{aspect-ratio:16/9}.countdown-timer{grid-template-columns:repeat(2,1fr)}.rsvp-button{width:100%;justify-content:center}}
