@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";.hero{position:relative;height:100vh;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#fff}.hero-overlay{position:absolute;inset:0;background:#0006}.hero-content{position:relative;z-index:10;text-align:center;color:var(--color-white);padding:0 1rem}.hero-subtitle{font-size:1.25rem;font-weight:300;letter-spacing:.2em;margin-bottom:1rem;text-transform:uppercase;color:var(--color-accent-light)}.hero-title{font-size:4rem;font-family:var(--font-serif);margin-bottom:1.5rem;line-height:1.1}.hero-date{font-size:1.5rem;font-weight:300}.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);color:var(--color-white);animation:bounce 2s infinite}@media(min-width:768px){.hero-title{font-size:6rem}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.info-section{padding:6rem 1rem;background-color:var(--color-white);text-align:center}.info-container{max-width:800px;margin:0 auto}.info-title{font-size:2.5rem;margin-bottom:3rem;color:var(--color-primary)}.timeline{display:flex;flex-direction:column;gap:3rem;margin-top:3rem}.timeline-item{display:flex;flex-direction:column;align-items:center}.timeline-time{font-weight:600;color:var(--color-accent);margin-bottom:.5rem;font-size:1.2rem}.timeline-event{font-size:1.5rem;font-family:var(--font-serif);margin-bottom:.5rem}.timeline-desc{color:var(--color-text-light);max-width:400px}.location-details{margin-top:5rem;padding:3rem;background-color:var(--color-secondary);border-radius:8px}.btn-primary{display:inline-block;margin-top:1.5rem;padding:.75rem 2rem;background:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:50px;font-weight:500;transition:opacity .3s}.btn-primary:hover{opacity:.9}.calendar-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:3rem}.btn-secondary{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background-color:var(--color-white);color:var(--color-text);border:1px solid var(--color-text-light);border-radius:50px;text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer;font-family:var(--font-sans);font-size:.9rem}.btn-secondary:hover{border-color:var(--color-primary);background-color:var(--color-secondary);color:var(--color-primary)}.w-4{width:1rem}.h-4{height:1rem}.mr-2{margin-right:.5rem}.rsvp-section{padding:6rem 1rem;background-color:var(--color-secondary);color:var(--color-text);min-height:80vh;display:flex;align-items:center;justify-content:center}.rsvp-card{background:var(--color-white);padding:3rem;border-radius:12px;box-shadow:var(--shadow-lg);max-width:600px;width:100%}.rsvp-title{font-size:2.5rem;text-align:center;margin-bottom:2rem;font-family:var(--font-serif)}.rsvp-greeting{text-align:center;margin-bottom:2rem;font-size:1.2rem;color:var(--color-text-light)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #d6d3d1;border-radius:6px;font-family:var(--font-sans);font-size:1rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.radio-group{display:flex;gap:2rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.btn-submit{width:100%;padding:1rem;background-color:var(--color-primary);color:var(--color-white);border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:var(--font-serif)}.btn-submit:hover{background-color:#000}.success-message{text-align:center;padding:2rem}.success-icon{width:64px;height:64px;background:var(--color-accent-light);color:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.faq-section{padding:6rem 1rem;background-color:var(--color-white)}.faq-container{max-width:800px;margin:0 auto}.faq-title{font-size:2.5rem;margin-bottom:3rem;color:var(--color-primary);text-align:center}.accordion-item{border-bottom:1px solid var(--color-secondary)}.accordion-header{width:100%;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;text-align:left}.accordion-question{font-size:1.2rem;font-weight:500;color:var(--color-primary);font-family:var(--font-serif)}.accordion-icon{color:var(--color-accent);transition:transform .3s}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{overflow:hidden;color:var(--color-text-light)}.accordion-body{padding-bottom:1.5rem;line-height:1.6}.admin-login-container{height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-secondary)}.admin-login-box{background:#fff;padding:3rem;border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:400px;text-align:center}.admin-title{font-family:var(--font-serif);margin-bottom:2rem;font-size:1.5rem}.admin-dashboard{padding:2rem;background-color:#f3f4f6;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm);text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--color-accent);line-height:1.2}.table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.admin-table th{background-color:#f9fafb;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.badge{padding:.25rem .5rem;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background-color:#dcfce7;color:#166534}.badge-danger{background-color:#fee2e2;color:#991b1b}.w-full{width:100%}.mb-4{margin-bottom:1rem}.envelope-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#fbfbfb;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.envelope-container{perspective:1000px;cursor:pointer;transition:transform .8s ease-in-out}.envelope{position:relative;width:300px;height:200px;background-color:#e0c9a6;box-shadow:0 10px 30px #0003;transform-style:preserve-3d;transition:transform .5s ease}.envelope:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#d1b790;transform:translateZ(-1px)}.flap{position:absolute;top:0;left:0;width:100%;height:0;border-left:150px solid transparent;border-right:150px solid transparent;border-top:110px solid #e6d1b1;transform-origin:top;transition:transform .6s .2s ease-in-out,z-index .2s .2s;z-index:5;filter:drop-shadow(0 2px 5px rgba(0,0,0,.1))}.flap.open{transform:rotateX(180deg);z-index:1}.pocket{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}.pocket-left{position:absolute;bottom:0;left:0;width:0;height:0;border-left:150px solid #e0c9a6;border-top:100px solid transparent;border-bottom:100px solid transparent}.pocket-right{position:absolute;bottom:0;right:0;width:0;height:0;border-right:150px solid #e0c9a6;border-top:100px solid transparent;border-bottom:100px solid transparent}.pocket-bottom{position:absolute;bottom:0;left:0;border-left:150px solid transparent;border-right:150px solid transparent;border-bottom:110px solid #dcbfa0;z-index:4}.seal{position:absolute;top:90px;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#8b1c1c;border-radius:50%;box-shadow:0 4px 6px #0003,inset 0 -2px 5px #0000004d,inset 0 2px 5px #fff3;display:flex;align-items:center;justify-content:center;color:#e8b0b0;font-family:serif;font-weight:700;font-size:1.2rem;z-index:10;cursor:pointer;border:2px solid #7a1515;transition:transform .2s ease,opacity .4s ease}.seal:hover{transform:translate(-50%,-50%) scale(1.05)}.seal.hidden{opacity:0;pointer-events:none}.letter{position:absolute;top:10px;left:10px;width:280px;height:180px;background:#fff;padding:1rem;transition:transform .6s .6s ease-in-out;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 5px #0000001a;text-align:center}.letter h2{font-family:serif;color:#333;font-size:1.5rem;margin:0}.letter p{font-size:.8rem;color:#666}.envelope-container.open .envelope{transform:translateY(100px)}.envelope-container.open .letter{transform:translateY(-200px) scale(1.5);z-index:10}.envelope-overlay.vanish{animation:fadeOut 1s forwards 1.2s;pointer-events:none}@keyframes fadeOut{to{opacity:0;visibility:hidden}}:root{--font-sans: "Outfit", sans-serif;--font-serif: "Playfair Display", serif;--color-primary: #1c1917;--color-secondary: #e7e5e4;--color-accent: #b4941f;--color-accent-light: #f3e5ab;--color-text: #292524;--color-text-light: #44403c;--color-white: #ffffff;--color-glass: rgba(255, 255, 255, .9);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-secondary);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-primary);font-weight:400}button{cursor:pointer;font-family:var(--font-sans)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.glass-panel{background:var(--color-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow-lg)}
