@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Great+Vibes&family=Poppins:ital,wght@0,400;0,500;0,700;0,800;1,800&display=swap";:root{--mint: #edf8ef;--mint-soft: #f6fff8;--paper: #fffafc;--script: #b6486b;--rose: #e6749a;--brown: #8a5a47;--ink: #5f4c48;--muted: #9b8884;--gold: #d9a13a;--green: #729a67;--shadow: 0 20px 60px rgba(104, 72, 65, .14)}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--mint)}body{min-width:320px;margin:0;color:var(--ink);background:linear-gradient(180deg,#edf8ef,#fffafc 42%,#edf8ef);font-family:Poppins,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,iframe{border:0}button{font:inherit}.site-open{position:relative;overflow:hidden}.site-disabled{max-height:0;overflow:hidden;pointer-events:none}.site-enabled{max-height:none}.intro-screen,.paper-section,.schedule,.footer-panel{position:relative;overflow:hidden}.intro-screen{min-height:100svh;display:grid;place-items:center;align-content:center;gap:clamp(4.2rem,14vw,7rem);padding:3rem 1rem;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.9),transparent 18rem),radial-gradient(circle at 70% 82%,rgba(215,230,202,.78),transparent 24rem),linear-gradient(180deg,#e6f7e9,#f9fff9)}.intro-screen:after{position:absolute;inset:0;content:"";background:#fff0;pointer-events:none;transition:background .9s ease}.intro-opening:after{background:#ffffff7a}.invite-envelope{width:clamp(230px,46vw,330px);min-width:230px;aspect-ratio:1;display:grid;place-items:center;padding:0;background:transparent;cursor:pointer;perspective:900px}.invite-envelope:disabled{cursor:default}.invite-envelope:focus-visible,.music-pill:focus-visible,.floating-controls a:focus-visible,.floating-controls button:focus-visible,.direction-button:focus-visible,.scroll-cue:focus-visible{outline:3px solid rgba(182,72,107,.32);outline-offset:4px}.envelope-floral{position:relative;width:100%;height:100%;display:block;background:linear-gradient(145deg,rgba(79,99,69,.5),transparent 46%),linear-gradient(35deg,#8f9f7e,#c7d3b4);border:1px solid rgba(255,255,255,.82);border-radius:4px;box-shadow:0 26px 48px #596f5033,inset 0 0 0 1px #566a4f29;transform:rotateX(9deg) rotate(-1deg) translateZ(0);transform-style:preserve-3d;transition:transform .38s ease,opacity .52s ease}.invite-envelope:hover .envelope-floral{transform:translateY(-7px) rotateX(11deg) rotate(-1deg)}.intro-opening .envelope-floral{opacity:0;transform:translateY(-24px) rotateX(42deg) rotate(-1deg) scale(.92);transition-delay:.52s}.envelope-floral:before,.envelope-floral:after{position:absolute;inset:0;content:"";background:linear-gradient(145deg,transparent 49%,rgba(255,255,255,.42) 50%,transparent 51%),linear-gradient(35deg,transparent 49%,rgba(255,255,255,.42) 50%,transparent 51%);border-radius:inherit}.envelope-floral:after{background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 56%),linear-gradient(145deg,transparent 49%,rgba(255,255,255,.44) 50%,transparent 51%)}.flap-top,.flap-bottom{position:absolute;left:0;width:100%;content:"";pointer-events:none;transform-style:preserve-3d}.flap-top{top:0;z-index:3;height:52%;background:linear-gradient(180deg,#b6c4a0,#8c9b7a);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .76s cubic-bezier(.19,.88,.22,1.05)}.flap-bottom{bottom:0;height:52%;background:linear-gradient(0deg,#8a9979,#b8c6a6);clip-path:polygon(0 100%,100% 100%,50% 0)}.intro-opening .flap-top{transform:rotateX(178deg)}.envelope-floral b{position:absolute;z-index:4;width:42%;height:2px;background:#ffffffe6;border-radius:999px;transform-origin:left center}.envelope-floral b:nth-child(1){left:16%;top:32%;transform:rotate(38deg)}.envelope-floral b:nth-child(2){left:54%;top:32%;transform:rotate(142deg)}.envelope-floral b:nth-child(3){left:14%;top:68%;transform:rotate(-38deg)}.envelope-floral b:nth-child(4){left:56%;top:68%;transform:rotate(-142deg)}.envelope-floral b:before,.envelope-floral b:after{position:absolute;width:8px;height:8px;content:"";background:#f6fff8;border-radius:50% 50% 50% 0;transform:translateY(-3px) rotate(45deg)}.line-art{position:absolute;z-index:4;display:block;width:54%;height:54%;border-top:2px solid rgba(255,255,255,.92);border-left:2px solid rgba(255,255,255,.92);border-radius:50% 0 0;opacity:.95}.line-art:before,.line-art:after{position:absolute;content:"";background:#f9fff8;border-radius:50% 0}.line-art:before{width:13px;height:18px;left:24%;top:-9px;transform:rotate(-35deg)}.line-art:after{width:11px;height:16px;left:55%;top:14px;transform:rotate(42deg)}.line-art-one{left:18%;top:15%}.line-art-two{right:17%;bottom:15%;transform:rotate(180deg)}.envelope-floral b:before{left:25%}.envelope-floral b:after{left:68%}.envelope-floral em{position:absolute;left:50%;top:50%;z-index:6;width:50px;height:50px;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#ffd36b,#d99525 66%,#b67317);border-radius:50%;box-shadow:0 8px 18px #6e531933;transform:translate(-50%,-50%)}.intro-opening .envelope-floral em{transform:translate(-50%,-50%) scale(.68)}.envelope-floral em:after{content:"R P";color:#fff8de;font-family:Cinzel,serif;font-size:.72rem;font-style:normal;font-weight:600}.envelope-floral{background:transparent;border:0;box-shadow:none;overflow:visible}.envelope-floral:before,.envelope-floral:after{display:none}.envelope-svg{width:100%;height:100%;display:block;overflow:visible}.envelope-video-art{width:100%;height:100%;display:block;object-fit:cover;border-radius:4px;filter:drop-shadow(0 26px 34px rgba(89,111,80,.22));transform:scale(1.16);transform-origin:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.svg-envelope-body{stroke:#ffffffc7;stroke-width:1.2}.svg-flap-bottom{fill:#768664b8}.svg-flap-left,.svg-flap-right{fill:#b5c2a273}.svg-flap-top{transform-box:fill-box;transform-origin:50% 0%;transition:transform .78s cubic-bezier(.18,.85,.24,1.06),opacity .56s ease}.intro-opening .svg-flap-top{opacity:.86;transform:rotateX(172deg)}.svg-seam{fill:none;stroke:#f5faf1b8;stroke-linecap:round;stroke-width:2.2}.svg-ornament{fill:none;stroke:#ffffffeb;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}.svg-flower,.svg-leaf{fill:#fffffff5;stroke:none}.svg-seal-glow{fill:#ffc24f2e}.svg-seal{filter:drop-shadow(0 5px 8px rgba(99,70,20,.2))}.svg-seal-ring{fill:none;stroke:#fff0ba6b;stroke-width:1.4}.svg-seal-text{fill:#fff8de;font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:.06em;text-anchor:middle}.intro-copy{position:relative;z-index:60;display:grid;gap:.3rem;width:min(88vw,520px);padding:0;text-align:center;transition:opacity .52s ease,transform .62s ease}.intro-opening .intro-copy{opacity:.36;transform:translateY(28px)}.intro-copy strong{color:#67524d;font-family:Great Vibes,cursive;font-size:clamp(3.1rem,9.8vw,4.9rem);font-weight:400;line-height:.9;text-shadow:0 2px 0 rgba(255,255,255,.82),0 12px 24px rgba(91,72,66,.1)}.intro-copy span{color:#75665f;font-family:Cinzel,serif;font-size:clamp(.64rem,1.9vw,.8rem);font-weight:600;letter-spacing:.02em;line-height:1.35;text-shadow:0 1px 0 rgba(255,255,255,.88),0 8px 18px rgba(91,72,66,.08)}.paper-section{min-height:100svh;display:grid;place-items:center;align-content:center;padding:clamp(3.5rem,8vw,6.5rem) 1.1rem;background:radial-gradient(circle at 8% 28%,rgba(140,174,124,.18),transparent 9rem),radial-gradient(circle at 92% 18%,rgba(182,72,107,.1),transparent 9rem),linear-gradient(180deg,#fffaff,#fffefe 55%,#effbf2);text-align:center}.scroll-reveal{opacity:0;transform:translateY(42px);transition:opacity .9s ease,transform .9s cubic-bezier(.18,.82,.22,1)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.hero-invite{min-height:88svh;padding-top:clamp(4rem,12vw,8rem);padding-bottom:clamp(.85rem,2.2vw,1.6rem)}.floral-tree{position:absolute;z-index:0;width:clamp(260px,34vw,430px);height:auto;pointer-events:none;opacity:.86}.floral-tree-left{left:max(-5vw,-48px);bottom:-1.5rem}.floral-tree-right{right:max(-5vw,-48px);top:clamp(3rem,9vw,7rem);transform:scaleX(-1) rotate(-3deg)}.hero-invite>:not(.floral-tree){position:relative;z-index:1}.ganesha-mark{position:relative;display:block;width:clamp(128px,14vw,156px);height:clamp(128px,14vw,156px);margin-bottom:.42rem;overflow:visible;filter:drop-shadow(0 9px 16px rgba(151,72,54,.16))}.ganesha-halo{fill:url(#ganeshaHalo)}.ganesha-crown{fill:url(#ganeshaGold);stroke:#773f136b;stroke-width:2;stroke-linejoin:round}.ganesha-crown-band,.ganesha-brow,.ganesha-ear-line,.ganesha-necklace,.ganesha-sash,.ganesha-blessing-lines{fill:none;stroke:#7f342e;stroke-linecap:round;stroke-width:3}.ganesha-ear,.ganesha-face,.ganesha-body,.ganesha-arm,.ganesha-palm,.ganesha-trunk{fill:url(#ganeshaSkin);stroke:#822d2d2e;stroke-linejoin:round;stroke-width:1.4}.ganesha-ear{opacity:.96}.ganesha-ear-line{stroke:#7e342e47;stroke-width:2.2}.ganesha-body{fill:#f28a55}.ganesha-dhoti{fill:url(#ganeshaDhoti);stroke:#85411f2e;stroke-linejoin:round;stroke-width:1.4}.ganesha-sash{stroke:#bd3151;stroke-width:5.2}.ganesha-necklace{stroke:#f5c75e;stroke-width:3}.ganesha-trunk{fill:#c83f40;stroke:#671f2633;stroke-width:1.4}.ganesha-trunk-line{fill:none;stroke:#ffbe7e8c;stroke-linecap:round;stroke-width:2.6}.ganesha-tusk{fill:none;stroke:#fff8e5f0;stroke-linecap:round;stroke-width:5}.ganesha-tusk-broken{stroke-width:3.8}.ganesha-eye{fill:#6e2628}.ganesha-tilak{fill:none;stroke:#ffe08b;stroke-linecap:round;stroke-width:4}.ganesha-jewel{fill:#d7384f;stroke:#ffdf78;stroke-width:1.8}.ganesha-tool{fill:none;stroke:#9f4a2f;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.ganesha-lotus-flower,.ganesha-lotus{fill:#f49ab4;stroke:#a7425f2e;stroke-linejoin:round;stroke-width:1.2}.ganesha-lotus-back{fill:#ffd4df}.ganesha-modak-bowl{fill:#a55236}.ganesha-modak{fill:#ffd45f;stroke:#8a4c1c33;stroke-width:1.2}.ganesha-bangle{fill:#f4c456;stroke:#703d182e;stroke-width:1}.devotion{margin:0 0 1.35rem;color:#a68c85;font-family:Cinzel,serif;font-size:clamp(.68rem,1.7vw,.9rem)}.inviting-line{max-width:620px;margin:0 auto 1rem;color:#998881;font-family:Cinzel,serif;font-size:clamp(.72rem,1.9vw,.9rem);line-height:1.8}.hero-invite h1,.schedule h2,.blessing-section h2,.map-section h2,.footer-panel h2{margin:0;color:var(--script);font-family:Great Vibes,cursive;font-weight:400;line-height:.94}.hero-invite h1{display:grid;gap:.18rem;font-size:clamp(4.2rem,16vw,8.4rem)}.hero-invite h1 em{color:#9d817d;font-size:.36em;font-style:normal}.parents{display:grid;gap:.25rem;margin-top:1.1rem}.parents p{margin:0;color:#897975;font-family:Cinzel,serif;font-size:clamp(.68rem,1.6vw,.84rem);line-height:1.65}.scroll-cue{position:relative;width:42px;height:42px;display:grid;place-items:center;margin-top:clamp(.75rem,2vw,1.1rem);color:#aa8b85;background:#ffffffa3;border-radius:50%;box-shadow:0 8px 22px #89635a1f}.venue-strip{width:100vw;max-width:none;height:auto;display:block;margin:0 calc(50% - 50vw) clamp(3.5rem,5vw,4rem);opacity:.88;filter:drop-shadow(0 10px 18px rgba(168,113,73,.12))}.date-section{min-height:auto;align-content:start;margin-top:clamp(-4rem,-6vw,-1.5rem);padding-top:0;padding-bottom:clamp(3.5rem,8vw,5.5rem)}.date-section.scroll-reveal{opacity:1;transform:none}.scratch-panel{position:relative;width:min(520px,88vw);height:98px;display:grid;place-items:center;margin:0 auto 1.8rem;overflow:hidden;background:#fff;border-radius:12px;box-shadow:var(--shadow);transform:translateZ(0);transition:transform .18s ease,box-shadow .18s ease}.scratch-panel.is-scratching{box-shadow:0 18px 44px #6848412e;transform:translateY(2px) rotate(-.25deg)}.scratch-panel.revealed{animation:scratch-revealed .52s ease both}.scratch-message{display:grid;gap:.12rem}.scratch-message span{color:#8c9e76;font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.scratch-message strong{color:var(--script);font-family:Great Vibes,cursive;font-size:clamp(2rem,7vw,3rem);font-weight:400}.scratch-surface{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none;will-change:opacity}.scratch-surface:active{cursor:grabbing}.countdown-grid{width:min(520px,90vw);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,2vw,.9rem);margin:0 auto clamp(3rem,8vw,4.8rem)}.countdown-visible{animation:countdown-rise .52s ease both}.count-tile{min-height:clamp(70px,14vw,98px);display:grid;place-items:center;align-content:center;gap:.35rem;background:#ffffffb8;border:1px solid rgba(196,182,177,.5);box-shadow:0 12px 28px #68484112}.count-tile strong{color:#715f5a;font-family:Cinzel,serif;font-size:clamp(1.35rem,4vw,2rem);font-weight:400;line-height:1}.count-tile span{color:#b3a09a;font-size:clamp(.48rem,1.4vw,.64rem);text-transform:uppercase}.schedule h2{font-size:clamp(3.2rem,13vw,6rem);text-align:center}.schedule{display:grid;gap:clamp(1.1rem,3vw,1.8rem);padding:clamp(1.2rem,4vw,3rem) clamp(.8rem,3vw,1.4rem) clamp(3rem,8vw,5rem);background:linear-gradient(180deg,#eefbf1,#fffaff 20% 78%,#eefbf1)}.event-card{position:relative;width:min(1160px,90vw);min-height:clamp(310px,50vw,440px);margin:0 auto;display:grid;grid-template-columns:44% 1fr;overflow:hidden;color:#fff8f4;border:7px solid #fff;border-radius:14px;box-shadow:var(--shadow);isolation:isolate}.event-card:before{position:absolute;inset:0;z-index:-2;content:""}.event-card:after{position:absolute;inset:0;z-index:-1;content:"";background:radial-gradient(circle at 70% 28%,rgba(255,255,255,.16),transparent 16rem),linear-gradient(90deg,#0000002e,#00000057)}.event-night:before{background:radial-gradient(circle at 75% 12%,rgba(255,255,255,.88) 0 1px,transparent 2px),radial-gradient(circle at 25% 20%,rgba(240,157,180,.36),transparent 6rem),linear-gradient(135deg,#14131c,#262031 55%,#0d1017)}.event-teal:before{background:radial-gradient(circle at 50% 85%,rgba(239,146,40,.86),transparent 10rem),linear-gradient(135deg,#365b45,#0f625c 58%,#f4a23c)}.event-gold:before{background:radial-gradient(circle at 48% 54%,#d17816,transparent 9rem),linear-gradient(135deg,#6c3b1d,#b76015 58%,#2d2218)}.event-rose:before{background:radial-gradient(circle at 54% 42%,rgba(255,255,255,.13),transparent 12rem),linear-gradient(135deg,#5d0e25,#9c1938 52%,#310915)}.event-garland{position:absolute;top:0;bottom:0;z-index:1;width:52px;background:radial-gradient(circle,#ffc631 0 8px,transparent 9px) center 8px / 34px 34px repeat-y,radial-gradient(circle,#e29d1e 0 8px,transparent 9px) 7px 0 / 34px 34px repeat-y;opacity:.92}.event-rose .event-garland{background:radial-gradient(circle,#ff7aaa 0 8px,transparent 9px) center 8px / 34px 34px repeat-y,radial-gradient(circle,#f6d7df 0 7px,transparent 8px) 7px 0 / 34px 34px repeat-y}.event-night .event-garland{background:radial-gradient(circle,#d04f73 0 6px,transparent 7px) center 8px / 30px 30px repeat-y,radial-gradient(circle,#f7d8de 0 5px,transparent 6px) 6px 0 / 30px 30px repeat-y}.event-garland.left{left:0}.event-garland.right{right:0}.event-copy{position:relative;z-index:3;display:grid;align-content:center;justify-items:start;padding:clamp(1.5rem,4vw,3.2rem) clamp(1.2rem,5vw,4.2rem);text-align:left}.event-copy h3{margin:0;font-family:Great Vibes,cursive;font-size:clamp(3rem,9vw,5.6rem);font-weight:400;line-height:.9}.event-copy p{max-width:32ch;margin:.35rem 0 1.1rem;font-family:Cinzel,serif;font-size:clamp(.62rem,1.6vw,.78rem);line-height:1.55}.event-copy dl{display:grid;gap:.08rem;margin:0;font-family:Cinzel,serif;font-size:clamp(.62rem,1.6vw,.8rem)}.event-copy dt{margin-top:.35rem;color:#ffffffb8;font-weight:600;text-transform:uppercase}.event-copy dd{margin:0}.couple-figure{position:relative;z-index:2;min-height:inherit}.couple-figure span,.couple-figure i{position:absolute;display:block}.bride-figure{left:32%;bottom:14%;width:74px;height:172px;transform:translate(-50%)}.groom-figure{left:54%;bottom:14%;width:64px;height:162px;transform:translate(-50%)}.head{left:50%;top:0;width:28px;height:31px;background:#f2b48d;border-radius:50%;transform:translate(-50%)}.body{left:50%;top:30px;width:42px;height:82px;border-radius:18px 18px 8px 8px;transform:translate(-50%)}.bride-figure .skirt{left:50%;bottom:0;width:112px;height:112px;clip-path:polygon(50% 0,95% 100%,5% 100%);transform:translate(-50%)}.groom-figure .leg{bottom:0;width:16px;height:58px;background:#eef4ff;border-radius:0 0 8px 8px}.groom-figure .leg-left{left:16px}.groom-figure .leg-right{right:16px}.couple-blue .bride-figure .body,.couple-blue .bride-figure .skirt,.couple-blue .groom-figure .body{background:linear-gradient(160deg,#1869c4,#68a8ff)}.couple-lavender .bride-figure .body,.couple-lavender .bride-figure .skirt{background:linear-gradient(160deg,#cf73cc,#f7b2e4)}.couple-lavender .groom-figure .body,.couple-wedding .groom-figure .body{background:#f4efdf}.couple-orange .bride-figure .body,.couple-orange .bride-figure .skirt{background:linear-gradient(160deg,#f46020,#ffb42f)}.couple-orange .groom-figure .body{background:linear-gradient(160deg,#f7f4ec 55%,#ef9d1e 56%)}.couple-wedding .bride-figure .body,.couple-wedding .bride-figure .skirt{background:linear-gradient(160deg,#e73452,#0d975e)}.blessing-section{min-height:88svh;gap:1.2rem}.blessing-section h2{width:min(calc(100vw - 2rem),720px);font-size:clamp(3.6rem,13vw,7rem);overflow-wrap:anywhere}.blessing-section p{max-width:min(100%,600px);margin:0;color:#9c8a84;font-family:Cinzel,serif;font-size:clamp(.74rem,1.8vw,.95rem);line-height:1.8}.families-panel{width:100vw;margin-block:clamp(2rem,6vw,3.5rem);padding:clamp(2.6rem,8vw,5rem) 1rem;background:#edf8efc7}.families-panel span,.footer-panel span{display:block;color:#9b8a84;font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.families-panel strong{color:var(--script);font-family:Great Vibes,cursive;font-size:clamp(3.4rem,13vw,6.2rem);font-weight:400}.family-list{opacity:.78}.map-section{min-height:100svh}.map-section h2{font-size:clamp(3.5rem,13vw,6.4rem)}.map-section>p{margin:1rem 0 1.3rem;color:#9c8a84;font-family:Cinzel,serif;font-size:clamp(.72rem,1.8vw,.9rem)}.map-frame{width:min(620px,92vw);height:clamp(260px,44vw,360px);overflow:hidden;background:#eee;border:1px solid rgba(166,151,145,.36);box-shadow:var(--shadow)}.map-frame iframe{width:100%;height:100%}.direction-button{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.2rem;padding:.72rem 1.4rem;color:#fff;background:linear-gradient(135deg,#dfaa49,#c98625);border-radius:999px;box-shadow:0 12px 26px #a9691738;font-size:.8rem;font-weight:700}.footer-panel{min-height:42svh;display:grid;place-items:center;align-content:center;gap:.7rem;padding:clamp(3rem,8vw,5.5rem) 1rem;color:#fff7ef;background:linear-gradient(180deg,#96634f,#7f4e3e);text-align:center}.footer-panel span{color:#ead9cf}.footer-panel h2{color:#fff;font-size:clamp(3rem,12vw,6rem);text-shadow:0 8px 18px rgba(70,36,25,.2)}.footer-panel strong,.footer-panel p{margin:0;font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.04em}.petal-layer{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.petal-layer-fixed{position:fixed;width:100vw;height:100vh;z-index:999;contain:layout paint}.petal{position:absolute;left:var(--x);top:-14vh;width:var(--size);height:var(--size);opacity:var(--petal-opacity);filter:blur(var(--petal-blur)) drop-shadow(0 3px 3px rgba(99,76,70,.12));transform:translate3d(0,-14vh,0);animation:fall var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}.petal-piece{position:absolute;inset:0;display:block;transform:rotate(var(--rotate));transform-origin:50% 55%;animation:petal-sway calc(var(--duration) * .32) ease-in-out infinite alternate,petal-flutter calc(var(--duration) * .58) ease-in-out infinite;animation-delay:var(--delay);will-change:transform}.petal-detail{position:absolute;inset:0;display:block}.petal-rose .petal-piece,.petal-rose-soft .petal-piece{width:calc(var(--size) * .78);height:calc(var(--size) * 1.45);border-radius:58% 42% 50% 50%/24% 28% 82% 76%;background:radial-gradient(ellipse at 34% 19%,rgba(255,255,255,.72) 0 12%,transparent 30%),radial-gradient(ellipse at 58% 78%,rgba(151,27,67,.36) 0 14%,transparent 38%),linear-gradient(155deg,#ffd2de,#ef7da6 38%,#c43d72 72%,#8f2851);box-shadow:inset -5px -8px 9px #70143838,inset 5px 5px 7px #ffffff57}.petal-rose .petal-piece:before,.petal-rose-soft .petal-piece:before{position:absolute;left:5%;top:-2%;width:90%;height:34%;content:"";border-radius:70% 52% 40% 60%/74% 80% 28% 26%;background:linear-gradient(180deg,rgba(255,241,246,.88),rgba(255,188,209,.28) 62%,transparent);transform:rotate(-8deg)}.petal-rose .petal-piece:after,.petal-rose-soft .petal-piece:after{position:absolute;left:32%;bottom:6%;width:36%;height:28%;content:"";border-radius:50%;background:radial-gradient(ellipse,rgba(117,20,53,.34) 0 18%,transparent 62%);transform:rotate(18deg)}.petal-rose-soft .petal-piece{background:radial-gradient(ellipse at 34% 19%,rgba(255,255,255,.86) 0 13%,transparent 31%),radial-gradient(ellipse at 58% 78%,rgba(183,56,91,.2) 0 14%,transparent 38%),linear-gradient(155deg,#fff0f4,#f7aec7 42%,#df6f98 76%,#b44b75)}.petal-bougainvillea .petal-piece{border-radius:78% 22% 72% 28%/62% 30% 70% 38%;background:radial-gradient(circle at 36% 26%,rgba(255,255,255,.72) 0 10%,transparent 28%),linear-gradient(135deg,#ffb6cb,#ee6c9d 48%,#c94f83);box-shadow:inset -4px -5px 7px #ad2e5c29,inset 3px 4px 5px #ffffff6b}.petal-rose .petal-detail,.petal-rose-soft .petal-detail{left:45%;top:19%;width:38%;height:66%;border-left:1px solid rgba(139,36,70,.2);border-bottom:1px solid rgba(255,232,238,.5);border-radius:50%;transform:rotate(13deg)}.petal-bougainvillea .petal-detail{inset:19% 18% 15% 34%;border-left:1px solid rgba(157,53,86,.22);border-radius:50%;transform:rotate(24deg)}.petal-jasmine .petal-piece{width:calc(var(--size) * 1.18);height:calc(var(--size) * 1.18);border-radius:50%;background:#fffdf5;box-shadow:8px 0 0 -3px #fff8e7,-7px 1px 0 -3px #fff,1px 8px 0 -3px #fff8e7,0 -7px 0 -3px #fff,inset 0 0 0 1px #e2bb8229}.petal-jasmine .petal-detail{inset:35%;border-radius:50%;background:radial-gradient(circle,#ffd86e 0 34%,#eca83c 35% 62%,transparent 63%)}.petal-champa .petal-piece{width:calc(var(--size) * 1.18);height:calc(var(--size) * 1.18);border-radius:50%;background:radial-gradient(ellipse at 50% 17%,#ffeaa6 0 18%,transparent 19%),radial-gradient(ellipse at 84% 42%,#ffd15f 0 17%,transparent 18%),radial-gradient(ellipse at 70% 82%,#f7b844 0 18%,transparent 19%),radial-gradient(ellipse at 30% 82%,#ffd76f 0 18%,transparent 19%),radial-gradient(ellipse at 16% 42%,#fff0b4 0 17%,transparent 18%);box-shadow:inset 0 0 10px #e2932814}.petal-champa .petal-piece:before,.petal-champa .petal-piece:after{position:absolute;inset:28%;content:"";border-radius:50%;background:radial-gradient(circle,rgba(255,238,169,.95) 0 44%,rgba(246,184,70,.5) 45% 70%,transparent 71%)}.petal-champa .petal-piece:after{inset:8%;border-radius:47% 53% 50% 50%;background:linear-gradient(145deg,rgba(255,255,255,.36),transparent 45%);transform:rotate(24deg)}.petal-leaf .petal-piece{width:calc(var(--size) * 1.35);height:calc(var(--size) * .72);border-radius:100% 0;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 35%),linear-gradient(135deg,#9bc18c,#5d9d58 55%,#377d43);box-shadow:inset -4px -3px 5px #1f642e33,inset 4px 3px 4px #ebffdc47}.petal-leaf .petal-detail{left:12%;top:49%;width:78%;height:1px;background:#f3ffe48a;transform:rotate(-3deg);transform-origin:left center}.petal-leaf .petal-detail:before,.petal-leaf .petal-detail:after{position:absolute;left:32%;width:34%;height:1px;content:"";background:#f3ffe45c;transform-origin:left center}.petal-leaf .petal-detail:before{transform:rotate(-31deg)}.petal-leaf .petal-detail:after{transform:rotate(31deg)}.music-pill{position:fixed;right:.8rem;bottom:.8rem;z-index:1000;display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.5rem .75rem;color:#fff;background:#8b5b49c7;border-radius:999px;box-shadow:0 10px 28px #5b3b3138;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.music-pill span{font-size:.74rem;font-weight:700}.floating-controls{position:fixed;right:.82rem;top:50%;z-index:1000;display:grid;gap:.55rem;transform:translateY(-50%)}.floating-controls a,.floating-controls button{width:42px;height:42px;display:grid;place-items:center;color:#8e5e4d;background:#ffffffc7;border-radius:50%;box-shadow:0 8px 22px #68484126;cursor:pointer}@keyframes fall{0%{transform:translate3d(0,-14vh,0)}22%{transform:translate3d(calc(var(--drift) * .28),22vh,0)}48%{transform:translate3d(calc(var(--drift) * -.12),51vh,0)}74%{transform:translate3d(calc(var(--drift) * .7),84vh,0)}to{transform:translate3d(var(--drift),118vh,0)}}@keyframes countdown-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scratch-revealed{0%{transform:translateY(2px) scale(.995)}55%{transform:translateY(-3px) scale(1.01)}to{transform:translateY(0) scale(1)}}@keyframes petal-sway{0%{margin-left:calc(var(--sway) * -.5)}to{margin-left:calc(var(--sway) * .5)}}@keyframes petal-flutter{0%{transform:rotate(var(--rotate)) rotateX(0) rotateY(0) scale(1)}34%{transform:rotate(calc(var(--rotate) + var(--spin) * .32)) rotateX(56deg) rotateY(-28deg) scale(.96)}67%{transform:rotate(calc(var(--rotate) - var(--spin) * .2)) rotateX(-34deg) rotateY(42deg) scale(1.03)}to{transform:rotate(calc(var(--rotate) + var(--spin))) rotateX(12deg) rotateY(0) scale(1)}}@media(max-width:720px){.event-card{grid-template-columns:42% 1fr;min-height:clamp(310px,76vw,390px)}.event-copy{padding-inline:1rem}.event-garland{width:34px;background-size:24px 24px}.bride-figure{left:39%;transform:translate(-50%) scale(.82);transform-origin:bottom}.groom-figure{left:66%;transform:translate(-50%) scale(.82);transform-origin:bottom}.floral-tree{width:clamp(260px,45vw,340px);opacity:.8}.floral-tree-left{left:-112px;bottom:-.5rem}.floral-tree-right{right:-112px;top:3.8rem}.venue-strip{width:100vw;margin-bottom:clamp(3.5rem,10vw,4rem)}.petal{width:calc(var(--size) * .78);height:calc(var(--size) * .78);opacity:calc(var(--petal-opacity) * .72);animation-duration:calc(var(--duration) * 1.35)}.petal-piece{animation-duration:calc(var(--duration) * .46),calc(var(--duration) * .72)}.petal:nth-child(n+46){display:none}}@media(max-width:500px){.intro-screen{gap:5rem}.paper-section{padding-inline:.85rem}.countdown-grid{gap:.42rem}.event-card{width:min(90vw,420px);min-height:clamp(315px,88vw,365px);border-width:5px;border-radius:11px}.event-copy p{max-width:24ch}.event-copy dl{font-size:.55rem}.blessing-section h2{width:calc(100vw - 2rem);font-size:clamp(3.1rem,12vw,4.2rem)}.blessing-section p{font-size:.68rem}.music-pill span{display:none}.petal{width:calc(var(--size) * .66);height:calc(var(--size) * .66);opacity:calc(var(--petal-opacity) * .58);animation-duration:calc(var(--duration) * 1.55)}.petal-piece{animation-duration:calc(var(--duration) * .58),calc(var(--duration) * .84)}.petal:nth-child(n+28){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petal{animation:fall 14s linear infinite;animation-delay:var(--delay)}.petal-piece{animation:none}}
