:root{--primary-green: #26bc6d;--bg-main: #111111;--bg-card: #262626;--text-light: #ffffff;--text-muted: #a6a6a6;--font-main: "Inter", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-main);background:var(--bg-main);color:var(--text-light);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);font-weight:700;text-transform:uppercase}a{text-decoration:none;color:inherit}.envelope-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#111111f2;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity 1s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.envelope-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.envelope{position:relative;width:350px;height:200px;background:var(--bg-card);border-radius:8px;border:1px solid #333;box-shadow:0 10px 40px #26bc6d1a;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:transform .8s cubic-bezier(.4,0,.2,1)}.envelope:before,.envelope:after{content:"";position:absolute;top:50%;width:30px;height:30px;background:var(--bg-main);border-radius:50%;transform:translateY(-50%)}.envelope:before{left:-15px}.envelope:after{right:-15px}.envelope-flap,.envelope-front-left,.envelope-front-right,.envelope-front-bottom{display:none}.envelope-letter{position:relative;width:100%;padding:2rem;background:transparent;z-index:2;border:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s ease}.envelope.open{transform:translateY(-50px) scale(.95);opacity:0;pointer-events:none}.letter-names{font-family:var(--font-main);font-weight:900;font-size:2.2rem;color:var(--text-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:2px}.letter-date{font-size:.9rem;letter-spacing:3px;color:var(--primary-green);font-weight:600;margin:0}.letter-date2{font-size:1rem;letter-spacing:3px;color:#fff;font-weight:600;margin:0}.envelope-label{display:none}.guest-name-badge{background:#26bc6d1a;color:var(--primary-green);padding:.3rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}.open-btn{transition:all .3s;z-index:5;background:var(--primary-green);color:#111;font-weight:700;border:none;padding:1rem 3rem;text-transform:uppercase;letter-spacing:1px}.open-btn:hover{transform:translateY(-3px);box-shadow:0 5px 20px #26bc6d66;background:#2ee685}.navbar{position:fixed;top:0;left:0;width:100%;background:#111111f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid #333}.navbar ul{display:flex;justify-content:center;list-style:none;padding:1rem}.navbar li{margin:0 1.5rem}.navbar a{font-weight:600;font-size:.85rem;letter-spacing:1px;color:var(--text-light);text-transform:uppercase;transition:color .3s ease}.navbar a:hover{color:var(--primary-green)}.fab-music{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background-color:var(--bg-card);color:var(--primary-green);border:1px solid var(--primary-green);font-size:1.5rem;cursor:pointer;z-index:999;box-shadow:0 4px 15px #00000080;transition:transform .3s,background .3s,color .3s}.fab-music:hover{transform:scale(1.1);background-color:var(--primary-green);color:#111}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:url(/gallery/9.jpg) center/cover no-repeat;color:#fff}.hero:after{content:"";position:absolute;bottom:-20px;left:0;width:100%;height:40px;background-image:radial-gradient(circle at 10px 0,transparent 10px,var(--bg-main) 11px);background-size:20px 20px;background-repeat:repeat-x;z-index:2}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,#111111e6,#1119,#111111e6),linear-gradient(to bottom,rgba(17,17,17,.2) 0%,var(--bg-main) 100%)}.hero-content{position:relative;z-index:1;animation:fadeIn 1.5s ease-out;padding:0 2rem;max-width:800px}.hero-subtitle{font-size:1rem;letter-spacing:5px;margin-bottom:1.5rem;font-weight:600;color:var(--primary-green);text-transform:uppercase}.hero-title{font-size:4.5rem;line-height:1.1;margin-bottom:1rem;text-transform:uppercase;font-weight:900;letter-spacing:-1px;text-shadow:0 5px 20px rgba(0,0,0,.8)}.hero-date{font-size:1rem;font-weight:500;letter-spacing:1px;color:var(--text-muted);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.scroll-indicator{position:absolute;bottom:60px;left:50%;transform:translate(-50%);animation:bounce 2s infinite;z-index:3}.scroll-indicator a{color:var(--primary-green);font-size:2rem;opacity:.8}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)}40%{transform:translate(-50%,-20px)}60%{transform:translate(-50%,-10px)}}section{padding:4rem 1rem}.container{max-width:900px;margin:0 auto}.container-wide{max-width:1000px}.ticket-card{background:var(--bg-card);border-radius:12px;padding:3rem;border:1px solid #333;box-shadow:0 4px 20px #00000080;text-align:left}.ticket-section-title{color:var(--primary-green);font-size:1.8rem;margin-bottom:.5rem;border-bottom:1px solid #333;padding-bottom:1rem}.ticket-section-desc{color:var(--text-muted);font-size:1rem}.gallery{background:var(--bg-main)}.gallery-slider-wrapper{margin-bottom:1rem}.gallery-nav-btn{border-color:#555;color:#fff;background:#333}.gallery-nav-btn:hover{background:var(--primary-green);border-color:var(--primary-green);color:#111}.dot.active{background:var(--primary-green)}.timeline{margin-top:2rem;position:relative}.timeline:before{content:"";position:absolute;left:20px;top:0;height:100%;width:2px;background:#444}.timeline-item{display:flex;align-items:center;margin-bottom:2rem;position:relative}.timeline-time{width:80px;font-weight:700;color:var(--text-light);padding-top:5px;text-align:right;padding-right:1.5rem}.timeline-icon{left:5px;top:0;width:50px;height:50px;background:var(--bg-card);border:2px solid var(--primary-green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;z-index:2}.timeline-content{padding-left:3rem;flex:1}.timeline-content h3{color:var(--primary-green);font-size:1.2rem;margin-bottom:.3rem;font-weight:700}.timeline-content p{font-size:.95rem}.table-responsive{overflow-x:auto}.ticket-table{width:100%;border-collapse:collapse;margin-top:1.5rem;background:var(--bg-card)}.ticket-table th,.ticket-table td{padding:1rem;text-align:left;border-bottom:1px solid #333}.ticket-table th{color:var(--text-muted);font-weight:500;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.ticket-table tbody tr{transition:background .3s}.ticket-table tbody tr:hover{background:#ffffff0d}.ticket-table td{color:var(--text-light);font-size:.95rem}.badge{display:inline-block;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600}.badge-green{background:#26bc6d33;color:var(--primary-green);border:1px solid rgba(38,188,109,.3)}.badge-gray{background:#a6a6a61a;color:var(--text-muted);border:1px solid rgba(166,166,166,.3)}.badge-red{background:#ff646426;color:#ff6464;border:1px solid rgba(255,100,100,.3)}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.details-card,.location-card{background:#26bc6d;color:#050505;padding:3rem 1.5rem;border-radius:15px;box-shadow:0 10px 40px #0000000d;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.details-card h3,.location-card h3{font-size:1.8rem;margin-bottom:.5rem;color:var(--primary-pink)}.calendar-highlight{display:inline-block;margin:1.5rem 0;padding:1.5rem 3rem;border:2px solid var(--primary-pink);border-radius:10px}.calendar-highlight span{display:block}.calendar-highlight .day{font-size:4.5rem;font-weight:700;font-family:var(--font-heading);color:var(--primary-pink);line-height:1;margin:.5rem 0}.calendar-highlight .month,.calendar-highlight .year{font-size:1.2rem;letter-spacing:2px;color:#777}.time{font-size:1.2rem;font-weight:500;margin-top:1rem;color:var(--primary-pink)}.btn{padding:1rem 2.5rem;border-radius:30px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s;font-family:var(--font-body);letter-spacing:1px}.btn-outline{background:transparent;border:1px solid var(--primary-pink);color:var(--primary-pink);margin-top:1.5rem}.btn-outline:hover{background:var(--primary-pink);color:#fff}.btn-primary{background:var(--primary-pink);border:none;color:#fff}.btn-primary:hover{background:#d9536c}.gallery{background:var(--bg-light);text-align:center}.gallery-slider-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;margin:0 auto 2rem}.gallery-slider-viewport{overflow:hidden;width:100%}.gallery-track{display:flex;transition:transform .6s cubic-bezier(.25,.8,.25,1)}.gallery-img{flex:0 0 calc(33.333% - 1rem);max-width:calc(33.333% - 1rem);margin:0 .5rem;height:350px;object-fit:cover;border-radius:10px;background:#eee;box-shadow:0 5px 15px #0000000d;transition:transform .4s ease,box-shadow .4s ease;cursor:pointer}.gallery-img:hover{transform:scale(1.03) translateY(-5px);box-shadow:0 15px 30px #0000001a;z-index:2;position:relative}.gallery-nav-btn{background:transparent;color:var(--primary-pink);border:1px solid var(--primary-pink);width:40px;height:40px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;flex-shrink:0}.gallery-nav-btn:hover{background:var(--primary-pink);color:#fff}.gallery-nav-btn:disabled{opacity:.3;cursor:not-allowed;border-color:#ccc;color:#ccc}.gallery-nav-btn:disabled:hover{background:transparent;color:#ccc}.gallery-pagination-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.dot{width:10px;height:10px;border-radius:50%;background:#ddd;cursor:pointer;transition:all .3s}.dot.active{background:var(--primary-pink);transform:scale(1.2)}@media (max-width: 768px){.gallery-img{flex:0 0 calc(100% - 1rem);max-width:calc(100% - 1rem)}}.rsvp{background-color:var(--bg-main);padding:8rem 1rem}.rsvp-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;background:var(--bg-card);padding:3rem;border-radius:12px;border:1px solid #333}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-muted);font-size:.9rem;font-weight:600}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;padding:1rem;border-radius:6px;border:1px solid #444;font-family:var(--font-main);font-size:1rem;background:#1a1a1a;color:var(--text-light);transition:all .3s}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 2px #26bc6d33}.btn-submit{width:100%;padding:1.2rem;background:var(--primary-green);color:#111;border:none;font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:1.1rem;font-family:var(--font-heading);border-radius:6px;cursor:pointer;transition:all .3s;margin-top:1rem}.btn-submit:hover{background:#2ee685;transform:translateY(-2px);box-shadow:0 5px 20px #26bc6d4d}.footer{text-align:center;padding:5rem 1rem;background:#2c3e50;color:#fff}.footer p{letter-spacing:4px;font-weight:300}.footer h2{font-size:3.5rem;margin-top:1rem}@media (max-width: 768px){.hero-title{font-size:4rem}.navbar ul{display:none}.details-card,.location-card{padding:2rem 1rem}.calendar-highlight{padding:1.5rem 2rem}.rsvp-form{padding:1.5rem}}
