:root{--wine:#5a1020;--wine2:#781d2e;--gold:#c89b4b;--gold2:#f0d9a6;--ink:#32191c;--cream:#fff8ec;--paper:#f8ead5;--serif:"Cormorant Garamond",serif;--display:"Italiana",serif;--sans:"Montserrat",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--serif);margin:0;overflow-x:hidden}.grain{z-index:40;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E");position:fixed;inset:0}.section{min-height:100vh;position:relative;overflow:hidden}.eyebrow{font:500 clamp(.62rem,1.6vw,.78rem)/1.5 var(--sans);letter-spacing:.27em;color:#966a33}.gold-divider{width:min(280px,70%);color:var(--gold);align-items:center;gap:12px;margin:20px auto;display:flex}.gold-divider:before,.gold-divider:after{content:"";background:linear-gradient(90deg,transparent,var(--gold),transparent);flex:1;height:1px}#curtain{z-index:100;cursor:pointer;width:100%;height:100%;transition:opacity .9s;position:fixed;inset:0}.stage-light{z-index:99;pointer-events:none;opacity:0;filter:blur(8px);background:radial-gradient(at 50% 45%,#fffbed 0,#ffe8aa80 20%,#0000 62%);transition:opacity 1.4s;position:fixed;inset:0}.curtain-copy{z-index:101;text-align:center;color:#f5dfae;text-shadow:0 5px 24px #160005;place-content:center;gap:14px;padding:24px;transition:opacity .65s,transform 1s cubic-bezier(.16,1,.3,1);display:grid;position:fixed;inset:0}.opening-ornament{color:#e5c477;font-size:1.25rem;animation:2.4s ease-in-out infinite ornamentGlow}.curtain-copy strong{font:italic 500 clamp(3.4rem,13vw,7.5rem)/.9 var(--serif);text-shadow:0 8px 40px #1e0008;letter-spacing:-.04em}.curtain-copy strong i{font:italic 400 .65em var(--serif);color:var(--gold)}.curtain-copy .eyebrow{color:#f2dba8}.opening-date{font:500 clamp(.62rem,2vw,.82rem) var(--sans);letter-spacing:.33em;color:#f2d99d;margin-bottom:12px}.curtain-copy button{color:#fff4d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 .65rem var(--sans);letter-spacing:.2em;cursor:pointer;background:linear-gradient(135deg,#2e050dc9,#641526cc);border:1px solid #e9ca85;border-radius:999px;align-items:center;gap:13px;margin:auto;padding:15px 24px;transition:all .35s;display:flex;box-shadow:0 12px 34px #180007a6,inset 0 1px #fff3}.curtain-copy button i{background:linear-gradient(90deg,#0000,#edcf8d);width:18px;height:1px}.curtain-copy button i:last-child{transform:scaleX(-1)}.curtain-copy button:hover{background:linear-gradient(135deg,#5c1221,#8e2940);transform:translateY(-3px)scale(1.02);box-shadow:0 18px 45px #180007c4,0 0 28px #e0b9602c}.curtain-copy small{font:italic 400 .82rem var(--serif);color:#e8d9bd;opacity:.8}.opened #curtain{pointer-events:none}.opened .curtain-copy{opacity:0;pointer-events:none;transform:scale(1.12)}.opened .stage-light{opacity:1;animation:2.8s 1.4s forwards lightFade}@keyframes ornamentGlow{50%{filter:drop-shadow(0 0 10px #f6d67d);transform:scale(1.18)}}@keyframes lightFade{to{opacity:0}}.scroll-progress{z-index:50;background:#c89b4b38;border-radius:4px;width:2px;height:50%;position:fixed;top:25%;right:13px}.scroll-progress i{background:linear-gradient(var(--gold2),var(--wine));width:100%;height:0;box-shadow:0 0 9px var(--gold);border-radius:4px;display:block}.sound{z-index:55;width:42px;height:42px;color:var(--wine);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fff8e8c9;border:1px solid #d7b770;border-radius:50%;font-size:1.1rem;position:fixed;top:18px;right:18px;box-shadow:0 8px 30px #52101c1f}.sound.playing span{animation:1s infinite alternate pulse;display:block}@keyframes pulse{to{transform:scale(1.25)}}.hero{text-align:center;background:radial-gradient(circle at 50% 25%,#fffdf4 0,#faeed9 53%,#f2d4b7 100%);flex-direction:column;align-items:center;min-height:110vh;padding:70px 18px 100px;display:flex}.hero:before{content:"";background:linear-gradient(110deg,#0000 25%,#fff9 47%,#0000 63%);animation:9s 3s infinite sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes sheen{50%,to{transform:translate(100%)}}.hero-glow{filter:blur(80px);background:#f4c87155;border-radius:50%;width:70vw;max-width:700px;height:70vw;max-height:700px;position:absolute;top:12%}.hero-content{z-index:2;max-width:940px}.bismillah{color:#17100d;font:700 clamp(2rem,7vw,4.2rem)/1.45 Aref Ruqaa,serif}.translation{color:#5d4640;margin:0;font-size:clamp(.86rem,2.5vw,1.15rem)}.hero h1{font:400 clamp(3.4rem,13vw,8.2rem)/.95 var(--display);color:var(--wine);letter-spacing:-.05em;margin:10px 0}.hero h1 span{font:italic 400 .7em var(--serif);color:var(--gold)}.date-line{font:500 clamp(.68rem,2vw,.92rem) var(--sans);letter-spacing:.26em;color:#6d3e31}.couple-stage{z-index:2;filter:drop-shadow(0 30px 38px #64182e29);width:min(740px,95vw);margin-top:25px;position:relative}.couple-stage img{aspect-ratio:1/.98;object-fit:cover;object-position:center;border-radius:48% 48% 14% 14%/52% 52% 10% 10%;width:100%;display:block;-webkit-mask-image:linear-gradient(#000 82%,#0000 100%);mask-image:linear-gradient(#000 82%,#0000 100%)}.arch-lines{z-index:-1;border:2px solid #c89b4b;border-radius:50% 50% 8% 8%;position:absolute;inset:-4px 0% 0%;box-shadow:0 0 0 8px #fff5dc88,0 0 0 9px #c89b4b6e}.flower{color:#832338;text-shadow:28px 6px #d69a9a,-18px 10px #fff2dc;z-index:2;font-size:clamp(4rem,13vw,8rem);position:absolute;bottom:3%}.cluster-left{left:-3%;transform:rotate(-16deg)}.cluster-right{right:-2%;transform:rotate(14deg)}.scroll-cue{font:500 .56rem var(--sans);letter-spacing:.25em;color:#80532c;gap:9px;display:grid;position:absolute;bottom:22px}.scroll-cue i{background:var(--gold);width:1px;height:34px;margin:auto;animation:1.5s infinite scroll}@keyframes scroll{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.invitation{background:linear-gradient(160deg,#fffaf0,#ecd4b7);place-items:center;padding:110px 20px;display:grid}.invitation:before,.invitation:after{content:"❀";color:#8a2132;opacity:.07;font-size:32vw;position:absolute}.invitation:before{top:-8%;left:-8%}.invitation:after{bottom:-12%;right:-5%}.letter{z-index:2;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0a8;border:1px solid #d6b676;border-radius:48% 48% 18px 18px/12% 12% 18px 18px;max-width:820px;padding:clamp(35px,7vw,80px);position:relative;box-shadow:0 35px 90px #64182e20,inset 0 0 60px #fff}.letter:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #c99c527a;position:absolute;inset:10px}.letter h2,.family h2,.venue h2,.closing h2{font:500 clamp(2.5rem,8vw,5.3rem)/1 var(--serif);color:var(--wine);margin:12px 0}.letter p,.letter a{color:#402a27;font-size:clamp(1rem,2.5vw,1.35rem)}.letter .sub{margin:0;font-style:italic}.letter .phone{text-decoration:none;display:inline-block}.invite-copy{line-height:1.65}.letter>*{opacity:0;filter:blur(3px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s;transform:translateY(16px)}.letter.visible>*{opacity:1;filter:none;transform:none}.letter.visible>:first-child{transition-delay:50ms}.letter.visible>:nth-child(2){transition-delay:.16s}.letter.visible>:nth-child(3){transition-delay:.27s}.letter.visible>:nth-child(4){transition-delay:.38s}.letter.visible>:nth-child(5){transition-delay:.49s}.letter.visible>:nth-child(6){transition-delay:.6s}.letter.visible>:nth-child(7){transition-delay:.74s}.letter.visible>:nth-child(8){transition-delay:.95s}.couple-names{gap:10px;margin:26px 0 6px;display:grid;position:relative}.couple-names .name{background:linear-gradient(105deg,#5a1020 10%,#9d3448 34%,#d5aa57 47%,#5a1020 61%) 0 0/280%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font:400 clamp(3rem,10vw,5.2rem)/1 Alex Brush,cursive}.letter.visible .couple-names .name{animation:6s ease-in-out 1.6s infinite luxuryShimmer}.couple-names .and{font:500 .8rem var(--sans);letter-spacing:.35em;color:var(--gold)}.couple-names:after{content:"❦";color:var(--gold);opacity:0;margin-top:6px;font-size:1.4rem;display:block}.letter.visible .couple-names:after{animation:2.4s ease-in-out 2.1s infinite heartPulse}@keyframes heartPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.22)}}.silk{filter:blur(2px);background:linear-gradient(#fff8,#d7b880a1,#fff8);border-radius:50%;width:130%;height:130px;position:absolute;transform:rotate(-7deg);box-shadow:0 22px 40px #80602b28}.countdown{text-align:center;color:#fff;background:radial-gradient(circle at 50% 20%,#972d40,#58101f 55%,#310710);place-content:center;min-height:78vh;padding:clamp(40px,10vh,100px) 20px;display:grid}.countdown:before{content:"";opacity:.16;background-image:radial-gradient(circle,#ffe4a7 0 1px,#0000 1.8px);background-size:44px 44px;animation:20s linear infinite stars;position:absolute;inset:0}@keyframes stars{to{background-position:80px -120px}}.section-heading{position:relative}.section-heading .eyebrow{color:#e9c981}.section-heading h2{font:italic 500 clamp(2.6rem,8vw,5.4rem) var(--serif);margin:8px 0 clamp(16px,4vh,38px)}.count-grid{grid-template-columns:repeat(4,1fr);gap:clamp(8px,3vw,25px);width:min(920px,94vw,82vh);display:grid;position:relative}.count{aspect-ratio:1;background:radial-gradient(circle at 50% 32%,#ffffff10,#0000 68%);border:1px solid #d7b676;border-radius:50%;place-content:center;min-width:0;display:grid;box-shadow:inset 0 0 36px #00000035,0 0 26px #c79a4d2e}.count strong{font:500 clamp(1.4rem,min(8vw,9vh),5rem)/1 var(--serif);color:#fff5da}.count span{font:500 clamp(.5rem,min(1.6vw,1.8vh),.72rem) var(--sans);letter-spacing:.16em;color:#f3d89e;margin-top:7px}.date-section{background:linear-gradient(#f6e4cd,#fffaf0);place-content:center;gap:90px;padding:100px 20px;display:grid}.date-card{background:#fff9ed80;border-block:1px solid #c79a4d;grid-template-columns:1fr 1.4fr;align-items:center;width:min(880px,94vw);padding:clamp(24px,5vw,55px);display:grid}.day{text-align:center;border-right:1px solid var(--gold)}.day span{font:500 .76rem var(--sans);letter-spacing:.25em}.day strong{font:500 clamp(5rem,18vw,10rem)/.8 var(--serif);color:var(--wine);display:block}.date-detail{text-align:left;gap:20px;padding-left:clamp(20px,6vw,60px);display:grid}.date-detail strong{font:500 clamp(1.5rem,5vw,3rem) var(--serif);letter-spacing:.08em}.date-detail i{background:linear-gradient(90deg,var(--gold),transparent);width:80%;height:1px}.date-detail span{font:500 clamp(.75rem,2vw,1rem) var(--sans);letter-spacing:.14em}.family{text-align:center;max-width:900px}.family h2{font-size:clamp(2rem,6vw,4rem)}.family h2 span{color:var(--gold);font-style:italic}.family p{font-size:clamp(1rem,2.6vw,1.4rem)}.family em{color:#885a31;font-size:1.35rem}.venue{background:#f5e2c7;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);min-height:100vh;display:grid}.venue-art{height:100%;min-height:720px;position:relative;overflow:hidden}.venue-art:after{content:"";background:linear-gradient(90deg,#0000 65%,#f5e2c7),linear-gradient(#0000 60%,#35100975);position:absolute;inset:0}.venue-art img{object-fit:cover;filter:saturate(.88)contrast(1.03);width:100%;height:100%}.venue-info{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 6vw;display:flex}.venue-info h2{margin-bottom:0}.venue-info>p{margin:0 0 25px;font-size:1.8rem}.qr-wrap{border:1px solid var(--gold);background:linear-gradient(160deg,#fffaf0,#f8ead5);border-radius:26px;margin-bottom:24px;padding:20px;position:relative;box-shadow:0 15px 50px #47152025,inset 0 0 40px #fff}.qr-wrap:before{content:"";pointer-events:none;border:1px solid #c99c527a;border-radius:18px;position:absolute;inset:8px}.qr-wrap img{width:150px;height:150px;image-rendering:pixelated;border-radius:8px;display:block}.button{color:#fff2d2;font:500 .7rem var(--sans);letter-spacing:.17em;cursor:pointer;background:linear-gradient(135deg,#7d1c30,#4a0918);border:1px solid #d7b363;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:15px 28px;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 12px 30px #4a09183a}.button:hover{transform:translateY(-3px);box-shadow:0 18px 38px #4a091854}.closing{text-align:center;color:#fff3d7;background:radial-gradient(circle at 50% 30%,#8d2d40,#4e0b19 58%,#26040c);place-items:center;min-height:95vh;padding:100px 20px;display:grid}.closing:before{content:"";opacity:.35;background:radial-gradient(circle at 20% 25%,#ffd98b 0 1px,#0000 2px) 0 0/80px 80px,radial-gradient(circle at 70% 70%,#ffd98b 0 1px,#0000 2px) 0 0/110px 110px;position:absolute;inset:0}.closing-inner{position:relative}.closing .eyebrow{color:#e6c77e}.closing h2{color:#fff2d4;font-size:clamp(3rem,9vw,6.5rem)}.closing p{font-size:1.2rem}.moon{color:#e8c571;text-shadow:0 0 35px #ffd77c;font-size:5rem}.monogram{font:400 3rem var(--display);color:#e9cd8d;margin-top:70px}.monogram i{font:italic 2rem var(--serif)}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(45px)}.reveal.visible{opacity:1;transform:none}dialog{text-align:center;color:var(--ink);background:#fff8e9;border:1px solid #d6b46b;border-radius:28px;max-width:min(500px,90vw);padding:55px;box-shadow:0 30px 90px #27000999}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#26040cc7}dialog h2{font:500 3.3rem var(--serif);color:var(--wine);margin:10px}.dialog-close{color:var(--wine);cursor:pointer;background:0 0;border:0;font-size:2rem;position:absolute;top:10px;right:15px}@media (width<=760px){.hero{padding-top:52px}.hero h1{font-family:var(--serif);font-style:italic}.couple-stage{margin-top:35px}.countdown{min-height:70vh}.count-grid{gap:7px}.count{box-shadow:inset 0 0 22px #00000030,0 0 16px #c79a4d30}.date-card{grid-template-columns:.85fr 1.15fr}.venue{grid-template-columns:1fr}.venue-art{min-height:520px}.venue-art:after{background:linear-gradient(#0000 65%,#f5e2c7)}.venue-info{padding:50px 20px 90px}.scroll-progress{right:7px}.letter{border-radius:80px 80px 20px 20px}.flower{font-size:4.5rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.reveal{opacity:1;transform:none}}#celebration{z-index:72;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.cinematic-stage{perspective:1400px;transform-style:preserve-3d}.section{perspective:1200px;transform-style:preserve-3d}.hero{isolation:isolate}.hero:after{content:"";z-index:0;opacity:0;background:radial-gradient(at 50% 48%,#fff9dc 0,#0000 52%);transition:opacity 2s,transform 2.4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(.45)}.stage-entered .hero:after{opacity:.7;transform:scale(1.35)}.hero-sequence .stage-item{opacity:0;filter:blur(14px);transform:translate3d(0,45px,-120px)rotateX(16deg)}@keyframes stageItemIn{0%{opacity:0;filter:blur(14px);transform:translate3d(0,45px,-120px)rotateX(16deg)}65%{opacity:1;filter:blur();transform:translate3d(0,-4px,12px)rotateX(-1deg)}to{opacity:1;filter:none;transform:none}}.hero-couple{opacity:0;filter:blur(16px)drop-shadow(0 30px 38px #64182e29);transform:translate3d(0,90px,-190px)scale(.78)rotateX(12deg)}.hero-couple.couple-ready{opacity:1;filter:drop-shadow(0 30px 38px #64182e29);animation:none;transform:none}@keyframes coupleStageIn{0%{opacity:0;filter:blur(16px)drop-shadow(0 30px 38px #64182e12);transform:translate3d(0,90px,-190px)scale(.78)rotateX(12deg)}72%{opacity:1;filter:blur()drop-shadow(0 40px 48px #64182e35);transform:translate3d(0,-8px,24px)scale(1.018)rotateX(-1deg)}to{opacity:1;filter:drop-shadow(0 30px 38px #64182e29);transform:none}}.stage-entered .arch-lines{animation:3.5s ease-in-out 2.3s infinite archPulse}.stage-entered .flower{animation:1.5s cubic-bezier(.16,1,.3,1) 1.65s both flowerBloom}@keyframes archPulse{50%{box-shadow:0 0 0 8px #fff5dccc,0 0 0 9px #c89b4b,0 0 42px #d9aa5159}}@keyframes flowerBloom{0%{opacity:0;filter:blur(8px);scale:.2}70%{opacity:1;scale:1.12}to{opacity:1;filter:none;scale:1}}.hero h1{-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#5a1020 10%,#9d3448 34%,#d5aa57 47%,#5a1020 61%) 0 0/280%;-webkit-background-clip:text;background-clip:text;animation:7s ease-in-out 3.6s infinite luxuryShimmer}.hero h1 span{-webkit-text-fill-color:var(--gold)}@keyframes luxuryShimmer{0%,65%,to{background-position:100%}28%{background-position:0}}.reveal{filter:blur(9px);transition:opacity 1.25s cubic-bezier(.16,1,.3,1),transform 1.25s cubic-bezier(.16,1,.3,1),filter 1.25s;transform:translate3d(0,78px,-100px)rotateX(7deg)scale(.94)}.reveal.visible{filter:none;transform:translate(0,0)rotateX(0)scale(1)}.depth-card{transform:translate3d(0,90px,-150px)rotateX(10deg)scale(.9)}.depth-heading{transform:translate3d(0,65px,-80px)rotateX(5deg)}.depth-image{transform:translate3d(-70px,40px,-130px)rotateY(8deg)scale(.94)}.depth-card.visible,.depth-heading.visible,.depth-image.visible{transform:none}.gold-divider:before,.gold-divider:after{transition:transform 1.4s .2s;transform:scaleX(0)}.stage-entered .gold-divider:before,.stage-entered .gold-divider:after,.visible .gold-divider:before,.visible .gold-divider:after{transform:scaleX(1)}@keyframes countPop{0%{opacity:0;transform:translateY(45px)rotateY(55deg)scale(.65)}70%{opacity:1;transform:translateY(-5px)rotateY(-4deg)scale(1.04)}to{opacity:1;transform:none}}.venue-art.visible img{animation:9s ease-in-out infinite venueBreath}@keyframes venueBreath{50%{filter:saturate()contrast(1.06);transform:scale(1.035)}}@media (width<=760px){.cinematic-stage,.section{perspective:900px}.reveal{transform:translate3d(0,48px,-55px)rotateX(5deg)scale(.96)}}@media (prefers-reduced-motion:reduce){#celebration{display:none}.hero-sequence .stage-item,.hero-couple{opacity:1!important;filter:none!important;transform:none!important}.stage-entered .hero-sequence .stage-item,.stage-entered .hero-couple{animation:none!important}}.hero-sequence .stage-item{opacity:0;clip-path:inset(0 0 100%);filter:blur(8px);transform:translateY(28px)scale(.985)}.stage-entered .hero-sequence .stage-item{animation:1.05s cubic-bezier(.16,1,.3,1) forwards refinedTextIn}.stage-entered .hero-sequence .stage-item:first-child{animation-delay:60ms}.stage-entered .hero-sequence .stage-item:nth-child(2){animation-delay:.2s}.stage-entered .hero-sequence .stage-item:nth-child(3){animation-delay:.32s}.stage-entered .hero-sequence .stage-item:nth-child(4){animation-delay:.43s}.stage-entered .hero-sequence .stage-item:nth-child(5){animation-delay:.55s}.stage-entered .hero-sequence .stage-item:nth-child(6){animation-delay:.76s}@keyframes refinedTextIn{0%{opacity:0;clip-path:inset(0 0 100%);filter:blur(8px);transform:translateY(28px)scale(.985)}60%{opacity:1;filter:blur();transform:translateY(-2px)scale(1.006)}to{opacity:1;clip-path:inset(-10%);filter:none;transform:none}}.hero-couple{opacity:0;clip-path:inset(48% round 50%);filter:blur(12px)drop-shadow(0 30px 38px #64182e18);transform:translateY(38px)scale(.88)}.stage-entered .hero-couple{animation:1.9s cubic-bezier(.16,1,.3,1) .9s forwards refinedPortraitIn}.hero-couple.couple-ready{opacity:1;clip-path:inset(-5%);filter:drop-shadow(0 30px 38px #64182e29);transform:none}@keyframes refinedPortraitIn{0%{opacity:0;clip-path:inset(48% round 50%);filter:blur(12px)drop-shadow(0 20px 28px #64182e12);transform:translateY(38px)scale(.88)}60%{opacity:1;clip-path:inset(5% 5% 8% round 44%);filter:blur()drop-shadow(0 42px 52px #64182e38);transform:translateY(-5px)scale(1.012)}to{opacity:1;clip-path:inset(-5%);filter:drop-shadow(0 30px 38px #64182e29);transform:none}}.stage-entered .hero h1:after{content:"";background:linear-gradient(90deg,#0000,#c89b4b,#0000);height:1px;animation:1.4s 1.15s forwards nameUnderline;position:absolute;bottom:-12px;left:5%;right:5%;transform:scaleX(0)}@keyframes nameUnderline{to{transform:scaleX(1)}}.reveal{--reveal-x:0px;--reveal-r:0deg;opacity:0;transform:translate3d(var(--reveal-x),70px,0) rotate(var(--reveal-r)) scale(.955);filter:blur(7px);transition:opacity 1.05s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s}.reveal.visible{opacity:1;filter:none;transform:none}.depth-card,.letter,.date-card,.venue-info{transform:translate3d(var(--reveal-x),70px,0) rotate(var(--reveal-r)) scale(.955);position:relative;overflow:hidden}.depth-card:after,.letter:after,.date-card:after,.venue-info:after{content:"";z-index:8;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#fff9,#0000);width:28%;position:absolute;top:-30%;bottom:-30%;left:-45%;transform:skew(-18deg)}.depth-card.visible:after,.letter.visible:after,.date-card.visible:after,.venue-info.visible:after{animation:1.25s ease-out .25s cardLightSweep}@keyframes cardLightSweep{0%{opacity:0;left:-45%}20%{opacity:.75}to{opacity:0;left:125%}}.count-grid.visible .count{animation:.8s cubic-bezier(.16,1,.3,1) both refinedCountIn}.count-grid.visible .count:nth-child(2){animation-delay:80ms}.count-grid.visible .count:nth-child(3){animation-delay:.16s}.count-grid.visible .count:nth-child(4){animation-delay:.24s}@keyframes refinedCountIn{0%{opacity:0;transform:translateY(28px)scale(.82)}70%{opacity:1;transform:translateY(-3px)scale(1.025)}to{opacity:1;transform:none}}.depth-card.card-ready{will-change:transform;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.depth-card.card-ready:hover{box-shadow:0 34px 80px #5410222d}@media (width<=760px){.reveal{transform:translate3d(calc(var(--reveal-x)*.4),46px,0) rotate(calc(var(--reveal-r)*.5)) scale(.97)}.depth-card,.letter,.date-card,.venue-info{transform:translateY(46px)scale(.97)}}.countdown-ornament{color:#e9c981;margin-bottom:10px;font-size:1.3rem;animation:2.4s ease-in-out infinite ornamentGlow;display:block}.countdown .section-heading h2{animation:3.6s ease-in-out infinite headingGlow}@keyframes headingGlow{0%,to{text-shadow:0 0 18px #f6d67d2e}50%{text-shadow:0 0 34px #f6d67d70}}.sparkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sparkles i{left:var(--x);top:var(--y);width:var(--s);height:var(--s);opacity:0;filter:drop-shadow(0 0 4px #f6d67d);animation:twinkle var(--d) var(--delay) ease-in-out infinite;background:radial-gradient(circle,#fff8d8,#f3d89e 55%,#0000 75%);border-radius:50%;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}.count{position:relative}.count:before{content:"";opacity:0;border:1px solid #f3d89e55;border-radius:50%;animation:2.8s ease-out infinite ringPulse;position:absolute;inset:-6px}.count:nth-child(2):before{animation-delay:.4s}.count:nth-child(3):before{animation-delay:.8s}.count:nth-child(4):before{animation-delay:1.2s}@keyframes ringPulse{0%{opacity:.55;transform:scale(.9)}80%{opacity:0}to{opacity:0;transform:scale(1.28)}}.count strong{display:inline-block}.count strong.tick{animation:.5s cubic-bezier(.16,1,.3,1) digitFlip}@keyframes digitFlip{0%{transform:rotateX(0)}40%{filter:brightness(1.6);transform:rotateX(-90deg)}41%{transform:rotateX(90deg)}to{filter:brightness();transform:rotateX(0)}}
