:root{--color-maroon:350, 100%, 25%;--color-maroon-dark:350, 100%, 15%;--color-gold:46, 65%, 52%;--color-gold-light:46, 75%, 65%;--color-cream:40, 40%, 96%;--color-charcoal:0, 0%, 20%;color:hsl(var(--color-charcoal));background-color:hsl(var(--color-cream));scroll-behavior:smooth;font-family:Inter,sans-serif;font-weight:400;line-height:1.7}body{background-color:hsl(var(--color-cream));background-image:radial-gradient(circle,#d4af3708 0%,#0000 100%);margin:0;padding:0;overflow-x:hidden}h1,h2,h3,h4{color:hsl(var(--color-maroon));margin:0;font-family:Playfair Display,serif;font-weight:500}.heading-primary{letter-spacing:.05em;color:hsl(var(--color-gold));font-family:Playfair Display,serif;font-weight:600}.heading-secondary{letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--color-gold-light));font-family:Inter,sans-serif;font-weight:400}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:1.5s cubic-bezier(.2,.8,.2,1) forwards fadeIn}section{text-align:center;background-color:hsl(var(--color-cream));border-bottom:2px solid #d4af3733;flex-direction:column;align-items:center;padding:6rem 2rem;display:flex;position:relative}section:after{content:"❋";color:hsl(var(--color-gold));background:hsl(var(--color-cream));padding:0 1rem;font-size:1.5rem;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.hero{color:#fff;box-sizing:border-box;border-bottom:5px solid hsl(var(--color-gold));background-color:#0000;background-image:linear-gradient(#800000cc,#800000e6),url(https://images.unsplash.com/photo-1519741497674-611481863552?q=80&w=2070&auto=format&fit=crop);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:cover;background-attachment:scroll,fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;min-height:100vh;padding:2rem}.hero-overlay{border:4px double hsl(var(--color-gold));background:hsl(var(--color-cream));box-sizing:border-box;width:100%;max-width:650px;padding:4rem 3rem;animation:1.5s ease-out fadeIn;position:relative;box-shadow:0 15px 35px #0000004d}.hero-overlay:before{content:"";pointer-events:none;border:1px solid #d4af3780;position:absolute;inset:10px}.scratch-card-root{position:relative}.scratch-section{min-height:220px;margin-top:1.5rem}.scratch-canvas{z-index:3;cursor:pointer;touch-action:none;border-radius:2px;width:100%;height:100%;transition:opacity .6s,transform .6s;position:absolute;inset:0}.scratch-canvas-clear{opacity:0;transform:scale(1.03)}.drop-text{overflow-wrap:anywhere;word-break:break-word;max-width:100%;display:inline-block}.drop-char{opacity:0;will-change:transform, opacity;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards dropIn;display:inline-block;transform:translateY(-80px)rotate(-10deg)}@keyframes dropIn{0%{opacity:0;transform:translateY(-80px)rotate(-10deg)}55%{opacity:1;transform:translateY(10px)rotate(3deg)}75%{transform:translateY(-5px)rotate(-1deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.hero-names{color:hsl(var(--color-maroon));text-shadow:none;margin:1.5rem 0;font-size:4rem;line-height:1.2}.hero-tagline{letter-spacing:.25em;text-transform:uppercase;color:hsl(var(--color-charcoal));margin-bottom:1rem;font-size:.9rem;font-weight:500}.countdown-container{flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;margin-top:3.5rem;display:flex}.countdown-box{background:hsl(var(--color-maroon));border:2px solid hsl(var(--color-gold));box-sizing:border-box;min-width:75px;color:hsl(var(--color-cream));padding:1rem 1.5rem;position:relative;box-shadow:0 5px 15px #0000001a}.countdown-val{color:hsl(var(--color-gold));font-family:Playfair Display,serif;font-size:2.2rem;font-weight:500}.countdown-lbl{text-transform:uppercase;letter-spacing:.15em;opacity:.9;color:hsl(var(--color-cream));margin-top:.25rem;font-family:Inter,sans-serif;font-size:.75rem}.story-text{max-width:700px;color:hsl(var(--color-charcoal));margin:2.5rem 0;font-size:1.15rem;font-weight:400;line-height:2}.schedule-section{background-color:hsl(var(--color-maroon));color:hsl(var(--color-cream))}.schedule-section:after{background:hsl(var(--color-maroon));color:hsl(var(--color-gold))}.schedule-section .section-title{color:hsl(var(--color-gold))}.schedule-section .section-subtitle{color:hsl(var(--color-cream));opacity:.8}.timeline{grid-template-columns:1fr;gap:2.5rem;width:100%;max-width:1000px;margin-top:4rem;display:grid}@media (width>=768px){.timeline{grid-template-columns:repeat(3,1fr)}}.event-card{background:hsl(var(--color-cream));border:3px double hsl(var(--color-gold));box-sizing:border-box;z-index:1;color:hsl(var(--color-charcoal));padding:3rem 2rem;transition:transform .3s;position:relative;box-shadow:0 10px 20px #0003}.event-card:hover{transform:translateY(-5px)}.event-icon{background:hsl(var(--color-maroon));border:2px solid hsl(var(--color-gold));width:60px;height:60px;color:hsl(var(--color-gold));border-radius:50%;justify-content:center;align-items:center;margin:0 auto 2rem;display:flex}.event-title{color:hsl(var(--color-maroon));margin-bottom:.75rem;font-size:1.6rem}.event-time{color:hsl(var(--color-gold));text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600}.venue-card{background:hsl(var(--color-cream));box-sizing:border-box;border:4px double hsl(var(--color-gold));width:100%;padding:3.5rem;box-shadow:0 15px 30px #0000000d}.venue-link{color:hsl(var(--color-maroon));border-bottom:2px solid hsl(var(--color-gold));margin-top:1.5rem;padding-bottom:4px;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-block}.venue-link:hover{color:hsl(var(--color-gold));border-color:hsl(var(--color-maroon))}.rsvp-section{background:hsl(var(--color-cream))}.rsvp-card{background:hsl(var(--color-cream));box-sizing:border-box;border:4px double hsl(var(--color-gold));width:100%;max-width:550px;padding:4rem 3rem;position:relative;box-shadow:0 15px 40px #00000014}.rsvp-input,.rsvp-select{box-sizing:border-box;width:100%;color:hsl(var(--color-charcoal));background:#fff;border:1px solid #80000033;margin-bottom:1.5rem;padding:1rem 1.25rem;font-family:Inter,sans-serif;font-size:1.05rem}.rsvp-input:focus,.rsvp-select:focus{border-color:hsl(var(--color-gold));outline:none;box-shadow:inset 0 0 5px #d4af3733}.rsvp-button{background:hsl(var(--color-maroon));color:hsl(var(--color-gold));border:2px solid hsl(var(--color-gold));cursor:pointer;letter-spacing:.15em;text-transform:uppercase;width:100%;padding:1.2rem 2.5rem;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;transition:all .3s}.rsvp-button:hover{background:hsl(var(--color-gold));color:hsl(var(--color-maroon))}footer{background:hsl(var(--color-maroon-dark));color:hsl(var(--color-cream));text-align:center;border-top:5px solid hsl(var(--color-gold));padding:4rem 2rem;position:relative}.footer-names{color:hsl(var(--color-gold));margin-bottom:1rem;font-family:Playfair Display,serif;font-size:3rem;font-weight:500}.footer-text{opacity:.8;letter-spacing:.1em;font-family:Inter,sans-serif;font-size:.95rem}.section-title{color:hsl(var(--color-maroon));margin-bottom:1.5rem;font-size:3.5rem}.section-subtitle{color:hsl(var(--color-gold));text-transform:uppercase;letter-spacing:.25em;margin-bottom:1rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;display:block}.ribbon-intro{z-index:1000;cursor:pointer;background:hsl(var(--color-maroon));justify-content:center;align-items:center;transition:background 1s;display:flex;position:fixed;inset:0;overflow:hidden}.ribbon-intro.opening{pointer-events:none;background:0 0}.ribbon-door{background-color:hsl(var(--color-cream));border-right:4px double hsl(var(--color-gold));z-index:0;background-image:repeating-linear-gradient(45deg,#b8912f0f 0 1px,#0000 1px 14px);width:50%;transition:transform 1.2s cubic-bezier(.77,0,.175,1);position:absolute;top:0;bottom:0;box-shadow:0 0 50px #00000080}.ribbon-door:before{content:"";pointer-events:none;border:1px solid #b8912f59;position:absolute;inset:14px}.ribbon-toran{z-index:4;pointer-events:none;justify-content:space-evenly;height:50px;padding-top:8px;transition:opacity .6s,transform .6s;display:flex;position:absolute;top:0;left:0;right:0}.ribbon-toran-string{background:hsl(var(--color-gold));opacity:.7;height:2px;position:absolute;top:8px;left:2%;right:2%}.ribbon-toran-leaf{background:hsl(var(--color-maroon));border:1px solid hsl(var(--color-gold));clip-path:polygon(50% 100%,0 0,100% 0);opacity:.9;width:14px;height:18px;margin-top:8px}.ribbon-toran-leaf:nth-child(2n){background:hsl(var(--color-gold));border-color:hsl(var(--color-maroon));transform:translateY(-3px)scale(.82)}.ribbon-intro.opening .ribbon-toran{opacity:0;transform:translateY(-30px)}.ribbon-corner{z-index:4;color:hsl(var(--color-gold));opacity:.35;pointer-events:none;transition:opacity .8s,transform .8s;position:absolute}.ribbon-corner-tl{top:16px;left:16px}.ribbon-corner-tr{top:16px;right:16px;transform:scaleX(-1)}.ribbon-corner-bl{bottom:16px;left:16px;transform:scaleY(-1)}.ribbon-corner-br{bottom:16px;right:16px;transform:scale(-1)}.ribbon-intro.opening .ribbon-corner{opacity:0;transform:scale(.8)}.ribbon-jain-mark{color:hsl(var(--color-gold));flex-direction:column;align-items:center;margin-bottom:.75rem;display:flex}.ribbon-jai-jinendra{letter-spacing:.08em;color:hsl(var(--color-maroon));margin:.35rem 0 0;font-family:Playfair Display,serif;font-size:1.15rem;font-style:italic;font-weight:600}.ribbon-name-row{justify-content:center;align-items:center;gap:1rem;display:flex}.side-flourish{color:hsl(var(--color-charcoal));opacity:.75;flex-shrink:0}.ribbon-frame{z-index:4;border:1px solid hsl(var(--color-gold) / .55);outline:1px solid hsl(var(--color-gold) / .25);outline-offset:6px;pointer-events:none;transition:opacity .8s;position:absolute;inset:22px}.ribbon-intro.opening .ribbon-frame{opacity:0}.ribbon-door-left{transform-origin:0;left:0}.ribbon-door-right{border-left:4px double hsl(var(--color-gold));transform-origin:100%;border-right:none;right:0}.ribbon-intro.opening .ribbon-door-left{transform:translate(-100%)}.ribbon-intro.opening .ribbon-door-right{transform:translate(100%)}.ribbon-stack{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;padding:0 2rem;display:flex;position:relative}.ribbon-text{transition:opacity .6s,transform .6s}.ribbon-text-top{margin-bottom:1rem}.ribbon-text-bottom{margin-top:1rem}.ribbon-intro.opening .ribbon-text-top{opacity:0;transform:translateY(-30px)}.ribbon-intro.opening .ribbon-text-bottom{opacity:0;transform:translateY(30px)}.ribbon-invite-names{color:hsl(var(--color-maroon));margin:0;font-family:Playfair Display,serif;font-size:3.5rem;font-weight:500}.ribbon-invite-sub{text-transform:uppercase;letter-spacing:.3em;color:hsl(var(--color-gold));margin:0 0 .5rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600}.ribbon-band{z-index:1;width:100vw;height:140px;margin:1rem 0;position:relative;left:50%;transform:translate(-50%)}.ribbon-half{background:hsl(var(--color-maroon));border-top:2px solid hsl(var(--color-gold));border-bottom:2px solid hsl(var(--color-gold));height:70px;transition:transform 1.2s cubic-bezier(.77,0,.175,1),opacity 1.2s;position:absolute;left:0;right:0;box-shadow:0 10px 40px #0006}.ribbon-half-top{top:0}.ribbon-half-bottom{bottom:0}.ribbon-intro.opening .ribbon-half-top{opacity:0;transform:translateY(-120vh)}.ribbon-intro.opening .ribbon-half-bottom{opacity:0;transform:translateY(120vh)}.ribbon-seal{background:hsl(var(--color-gold));border:4px solid hsl(var(--color-maroon));width:90px;height:90px;color:hsl(var(--color-maroon));text-align:center;z-index:2;border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:600;transition:transform .8s cubic-bezier(.175,.885,.32,1.275),opacity .6s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #00000080}.ribbon-intro.opening .ribbon-seal{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(180deg)}.ribbon-hint{letter-spacing:.25em;text-transform:uppercase;color:hsl(var(--color-charcoal));z-index:2;margin:3rem 0 0;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:opacity .5s,transform .5s}.ribbon-intro.opening .ribbon-hint{opacity:0;transform:translateY(20px)}@media (width<=768px){.hero{background-attachment:scroll}}@media (width<=640px){section{padding:4rem 1.25rem}.hero{padding:1.25rem}.hero-overlay{padding:2.5rem 1.5rem}.hero-names{font-size:2.6rem}.hero-tagline{letter-spacing:.15em;font-size:.8rem}.section-title{font-size:2.5rem}.footer-names{font-size:2.2rem}footer{padding:3rem 1.5rem}.countdown-container{gap:.75rem;margin-top:2.5rem}.countdown-box{min-width:60px;padding:.75rem 1rem}.countdown-val{font-size:1.7rem}.event-card{padding:2.5rem 1.5rem}.venue-card{padding:2rem 1.5rem}.rsvp-card{padding:2.5rem 1.5rem}.ribbon-invite-names{font-size:2.5rem}.ribbon-band{height:100px}.ribbon-half{height:50px}.ribbon-seal{width:70px;height:70px;font-size:2rem}.ribbon-corner svg{width:56px;height:56px}.ribbon-jain-mark svg{width:44px;height:auto}.ribbon-toran-leaf{width:10px;height:13px}.side-flourish{display:none}.ribbon-frame{outline-offset:3px;inset:12px}}@media (width<=380px){.hero-names{font-size:2.1rem}.hero-tagline{letter-spacing:.1em;font-size:.7rem}.section-title{font-size:2rem}.footer-names{font-size:1.8rem}.ribbon-invite-names{font-size:2rem}.ribbon-band{height:90px}.ribbon-half{height:45px}.ribbon-seal{width:60px;height:60px;font-size:1.6rem}.countdown-box{min-width:52px;padding:.6rem .75rem}.countdown-val{font-size:1.4rem}.countdown-lbl{font-size:.65rem}.ribbon-jai-jinendra{font-size:.95rem}.ribbon-name-row{gap:.5rem}}.success-message{color:hsl(var(--color-maroon));background:hsl(var(--color-cream));border:2px solid hsl(var(--color-gold));text-align:center;padding:2rem;animation:.5s ease-out fadeIn}
