@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap";:root{--maroon:#651b2b;--deep-maroon:#3d101c;--gold:#c49a45;--light-gold:#e8cc86;--cream:#fff8e9;--text:#482a25;--white:#fffdf6}body{background:var(--cream);min-width:320px;min-height:100vh;color:var(--text);text-align:center;font-family:Poppins,sans-serif;overflow-x:hidden}h1,h2,h3,h4{text-align:center;font-family:Playfair Display,serif}button,a{font-family:Poppins,sans-serif}button{cursor:pointer}.cover{min-height:100vh;color:var(--cream);background:radial-gradient(circle at top,#8d3543,#0000 55%),linear-gradient(145deg,#3d101c,#681c2b 55%,#310d19);justify-content:center;align-items:center;padding:25px;display:flex}.cover-card{border:2px solid var(--gold);width:min(100%,650px);box-shadow:0 0 0 7px #651b2b, 0 0 0 9px var(--gold), 0 20px 60px #16070b80;border-radius:5px;padding:12px}.cover-inner{border:1px solid var(--light-gold);background:#ffffff08;padding:55px 22px;position:relative}.eyebrow{color:var(--gold);letter-spacing:4px;text-transform:uppercase;font-size:12px}.cover .eyebrow{color:var(--light-gold)}.mandala{color:var(--light-gold);margin:20px auto;font-size:100px;animation:4s ease-in-out infinite gentleFloat}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.invitation-text{color:inherit;font-family:Cormorant Garamond,serif;font-size:22px}.cover-names{color:#f4d99b;margin:20px 0;font-family:Playfair Display,serif;font-size:clamp(36px,8vw,58px);line-height:1.3}.cover-names span{color:var(--gold);margin:5px 0;font-size:35px;display:block}.cover-line{background:var(--gold);width:100px;height:1px;margin:25px auto}.cover-date{color:var(--light-gold);margin-top:15px;font-size:22px}.cover-place{color:#fff0d2}.open-btn{color:#451521;letter-spacing:1px;border:1px solid var(--light-gold);background:linear-gradient(135deg,#f0d69b,#bd9140);border-radius:30px;margin-top:25px;padding:15px 35px;font-weight:600;transition:all .3s;box-shadow:0 5px 20px #0003}.open-btn:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0005}.hint{color:#e9d6b9;margin-top:20px;font-size:12px}.sec{padding:75px 20px;position:relative;overflow:hidden}.wrap{width:min(100%,1050px);margin:0 auto}.paper{background:radial-gradient(ellipse at top, #fffdf5, transparent 70%), var(--cream)}.sec h2{color:var(--maroon);margin:12px auto 20px;font-size:clamp(30px,5vw,43px)}.dark h2{color:#f2d99e}.gold-divider{color:var(--gold);letter-spacing:8px;margin:25px auto;font-size:23px}.hero{background:radial-gradient(circle at top, #fffdf8, transparent 65%), var(--cream);padding-top:100px;padding-bottom:100px}.decorative-flower{color:var(--gold);margin-bottom:20px;font-size:65px;animation:4s ease-in-out infinite gentleFloat}.main-names{color:var(--maroon);margin:25px 0;font-family:Playfair Display,serif;font-size:clamp(30px,6vw,55px);line-height:1.4}.main-names span{color:var(--gold);margin:5px 0;font-size:35px;display:block}.hero-message{color:#68473c;max-width:650px;margin:25px auto;font-family:Cormorant Garamond,serif;font-size:24px}.wedding-date{color:var(--maroon);margin-top:35px}.venue-name{color:#a17a39;margin-top:15px;font-size:22px;font-weight:600}.hero-venue{margin-top:30px}.hero-venue h3{color:#a17a39;margin-bottom:8px;font-size:25px}.date-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:800px;margin:40px auto;display:grid}.date-card{background:var(--white);border:2px solid var(--gold);outline:1px solid var(--light-gold);outline-offset:-8px;border-radius:12px;padding:30px 20px;transition:all .3s;box-shadow:0 8px 25px #482a2515}.date-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #482a2525}.date-icon{color:var(--gold);margin-bottom:12px;font-size:32px;display:block}.date-card h3{color:var(--maroon);margin-bottom:12px;font-size:23px}.date-number{color:#76564a;margin:10px 0;font-size:16px}.date-card strong{color:#a17a39;margin-top:10px;font-size:17px;display:block}.dark{background:radial-gradient(circle at center, #762b39, transparent 75%), var(--deep-maroon);color:var(--cream)}.dark .eyebrow{color:var(--light-gold)}.timer{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:35px auto;display:flex}.unit{border:1px solid var(--gold);background:#ffffff0b;border-radius:8px;width:105px;padding:20px 10px;transition:all .3s;box-shadow:0 5px 20px #0002}.unit:hover{background:#ffffff15;transform:translateY(-5px)}.unit strong{color:#f3d48e;font-family:Playfair Display,serif;font-size:34px;display:block}.unit span{color:#f5e7cb;letter-spacing:2px;text-transform:uppercase;font-size:11px}.done{color:#f3d48e;margin-top:25px;font-size:23px}.couple-names{margin:35px auto}.couple-names h3{color:var(--maroon);margin:15px 0;font-size:clamp(27px,5vw,38px)}.amp{color:var(--gold);margin:10px auto;font-family:Playfair Display,serif;font-size:45px}.quote{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);color:#68473c;max-width:760px;margin:30px auto;padding:30px;font-family:Cormorant Garamond,serif;font-size:23px;font-style:italic}.families{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:35px auto;display:grid}.family{border:1px solid var(--gold);background:var(--white);border-radius:10px;padding:30px 20px;transition:all .3s;box-shadow:0 8px 25px #55331a0d}.family:hover{transform:translateY(-5px);box-shadow:0 12px 30px #55331a20}.family-icon{color:var(--gold);margin-bottom:10px;font-size:35px}.family h3{color:var(--maroon);margin-bottom:15px;font-size:24px}.family p{color:#68473c;margin:8px auto}.section-message{color:#68473c;max-width:700px;margin:15px auto 30px}.events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:850px;margin:40px auto 10px;display:grid}.event-box{background:var(--white);border:2px solid var(--gold);outline:1px solid var(--light-gold);outline-offset:-8px;border-radius:12px;padding:35px 20px;transition:transform .3s,box-shadow .3s;position:relative;box-shadow:0 8px 25px #482a2515}.event-box:hover{transform:translateY(-6px);box-shadow:0 14px 30px #482a2525}.event-icon{color:var(--gold);margin-bottom:12px;font-size:32px;display:block}.event-box h3{color:var(--maroon);margin-bottom:15px;font-family:Playfair Display,serif;font-size:25px}.event-divider{background:var(--gold);width:55px;height:1px;margin:15px auto}.event-box p{color:#76564a;margin:8px 0}.event-box strong{color:#a17a39;margin-top:12px;font-size:17px;display:block}.venue-card{border:1px solid var(--gold);background:#ffffff0b;border-radius:12px;max-width:550px;margin:35px auto;padding:35px 20px;box-shadow:0 8px 25px #0002}.venue-icon{color:var(--light-gold);margin-bottom:10px;font-size:50px}.venue-card h3{color:#f2d99e;margin:12px auto;font-size:27px}.venue-card p{color:#fff0d2;margin-bottom:15px}.act{color:var(--deep-maroon);border:1px solid var(--gold);background:linear-gradient(135deg,#f0d69b,#bd9140);border-radius:30px;margin:12px;padding:14px 28px;font-weight:600;transition:all .3s;display:inline-block}.act:hover{background:#fff0c7;transform:translateY(-3px);box-shadow:0 5px 15px #0003}.calendar-btn{color:#f2d99e;border:1px solid var(--gold);background:0 0}.calendar-btn:hover{background:var(--gold);color:var(--deep-maroon)}.foot{background:var(--deep-maroon);color:#f2d99e;text-align:center;padding:50px 20px}.footer-flower{color:var(--gold);margin-bottom:15px;font-size:45px}.sign{color:#f2d99e;margin:15px 0;font-family:Playfair Display,serif;font-size:clamp(25px,5vw,35px)}.footer-small{color:#e8cc86;margin-top:15px;font-size:12px}.back-btn{border:1px solid var(--gold);color:#f2d99e;background:0 0;border-radius:25px;margin-top:20px;padding:12px 25px;transition:all .3s}.back-btn:hover{background:var(--gold);color:var(--deep-maroon)}.music-button{z-index:9999;border:2px solid var(--light-gold);color:#f5d991;background:linear-gradient(145deg,#8b293b,#4b1221);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:25px;transition:transform .3s;display:flex;position:fixed;bottom:65px;right:22px;box-shadow:0 5px 20px #0004}.music-button:hover{transform:scale(1.12)}.music-button.playing{animation:5s linear infinite musicRotate}@keyframes musicRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.designer-credit{z-index:9998;border:1px solid var(--gold);background:var(--deep-maroon);color:#f5e6c5;letter-spacing:.5px;border-radius:20px;padding:7px 12px;font-size:10px;position:fixed;bottom:12px;right:12px;box-shadow:0 3px 12px #0003}.designer-credit strong{color:var(--light-gold)}@media (width<=850px){.sec{padding:65px 20px}.events-grid,.date-cards{gap:18px}}@media (width<=650px){.sec{padding:55px 16px}.cover{padding:18px}.cover-inner{padding:40px 15px}.families,.events-grid,.date-cards{grid-template-columns:1fr;gap:18px}.timer{gap:10px}.unit{width:75px;padding:14px 5px}.unit strong{font-size:27px}.quote{padding:22px 12px;font-size:20px}.hero{padding-top:70px;padding-bottom:70px}.hero-message{font-size:21px}.event-box{padding:30px 15px}.date-card{padding:28px 15px}.music-button{width:46px;height:46px;bottom:65px;right:15px}.designer-credit{font-size:9px;bottom:10px;right:10px}.venue-card{padding:28px 15px}.act{padding:12px 20px;font-size:13px}.main-names{font-size:clamp(28px,8vw,42px)}}@media (width<=380px){.cover-names{font-size:34px}.unit{width:68px}.unit strong{font-size:24px}.event-box h3{font-size:22px}.designer-credit{font-size:8px}.date-card h3{font-size:21px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:20px}body{color:#44251f;text-align:center;background:#f8f0df;min-width:320px;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4{text-align:center;font-family:Playfair Display,serif;font-weight:600}p{text-align:center;line-height:1.8}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;outline:none;font-family:Poppins,sans-serif}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::selection{color:#fff;background:#b58b42}@media (width<=600px){body{font-size:14px}h1{font-size:clamp(28px,8vw,42px)}h2{font-size:clamp(25px,7vw,34px)}}
