@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&family=Inter:wght@400;500;600&display=swap";html{background:#120307}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{--burgundy-deep:#180309;--burgundy-dark:#2d0710;--burgundy:#4d101b;--burgundy-light:#691426;--gold-dark:#76511f;--gold:#b18a48;--gold-light:#ead18d;--gold-bright:#f2d493;--paper:#f3e8d9;--paper-light:#f9f0e3;--paper-dark:#eadaca;--ink:#4b1822;--ink-soft:#705348;--serif:"Cormorant Garamond", Georgia, serif;--sans:"DM Sans", Inter, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--burgundy-deep);min-width:320px;color:var(--ink);font-family:var(--sans);margin:0;overflow-x:hidden}body:not(.invitation-opened){overflow:hidden}body.invitation-opened{overflow:hidden auto}button,a{font:inherit}button{border:0}img{max-width:100%}::selection{color:#fff0c7;background:#dcb1524d}.app{min-height:100vh;position:relative;overflow-x:hidden}.app:not(.opened){height:100vh;overflow:hidden}.app.opened{min-height:100vh}.opening{z-index:9999;isolation:isolate;perspective:1800px;background:radial-gradient(at 50% 45%,#72193052,#0000 48%),radial-gradient(at 50% 100%,#b07e2e14,#0000 42%),linear-gradient(135deg,#120206,#320711 35%,#460b18 52%,#22040b 75%,#0e0205);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.opening-bg,.opening-texture,.opening-glow,.gold-dust,.relief,.opening-grain{pointer-events:none;position:absolute}.opening-bg{z-index:0;background:radial-gradient(#821e3561,#0000 52%),radial-gradient(circle at 18% 30%,#dcae4d0d,#0000 25%),radial-gradient(circle at 83% 70%,#dcae4d0d,#0000 25%),repeating-linear-gradient(100deg,#ffffff05 0 1px,#0000 1px 5px);inset:-10%;transform:scale(1.15)}.opening-texture{z-index:1;opacity:.34;mix-blend-mode:overlay;background-image:radial-gradient(circle,#ffe5a217 .6px,#0000 1px),radial-gradient(circle,#00000059 .7px,#0000 1.1px),repeating-linear-gradient(35deg,#0000 0 3px,#ffffff03 3px 4px);background-size:7px 7px,11px 11px,auto;inset:0}.opening-glow{z-index:2;filter:blur(30px);background:radial-gradient(circle,#d6a3421c,#82192e14 35%,#0000 68%);width:85vw;max-width:1100px;height:85vw;max-height:1100px;top:50%;left:50%;transform:translate(-50%,-50%)}.gold-dust{z-index:3;opacity:.25;background-image:radial-gradient(circle,#ffdc8b99 .6px,#0000 .8px);background-size:130px 130px;inset:0}.relief{z-index:3;opacity:.17;border:1px solid #e1b95e47;border-radius:50%;width:580px;height:580px;box-shadow:inset 0 0 50px #000000bf,0 0 70px #d3a54b06}.relief:before,.relief:after{content:"";border-radius:50%;position:absolute}.relief:before{border:1px solid #e7c37033;inset:25px}.relief:after{border:1px solid #e7c37029;inset:75px}.relief-one{top:-250px;left:-280px}.relief-two{top:-250px;right:-280px}.relief-three{bottom:-250px;left:-280px}.relief-four{bottom:-250px;right:-280px}.card-stage{z-index:10;width:min(72vw,590px);height:min(84vh,770px);min-height:570px;transform-style:preserve-3d;animation:1.5s cubic-bezier(.16,1,.3,1) both cardAppear;position:relative}@keyframes cardAppear{0%{opacity:0;transform:translateY(35px)rotateX(7deg)rotateY(-2deg)scale(.94)}to{opacity:1;transform:translateY(0)rotateX(0)rotateY(0)scale(1)}}.wedding-card{transform-style:preserve-3d;background:radial-gradient(at 50% 40%,#7f1d336b,#0000 48%),linear-gradient(145deg,#691426 0%,#4b0c19 30%,#350711 58%,#25040b 100%);border-radius:3px;position:absolute;inset:0;overflow:hidden;box-shadow:0 55px 100px #000000ad,0 20px 40px #0000008c,inset 0 0 80px #00000061,inset 0 0 0 1px #f5d38438}.card-edge{z-index:1;pointer-events:none;border:1px solid #f5da9452;position:absolute;inset:0}.card-relief{z-index:1;pointer-events:none;border:1px solid #eec77326;position:absolute;inset:18px;box-shadow:inset 0 0 20px #00000059}.card-shine{z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffe09b0e 46%,#ffe09b04 51%,#0000 59%);animation:9s ease-in-out infinite luxurySheen;position:absolute;inset:-50%;transform:rotate(-8deg)}@keyframes luxurySheen{0%,65%{transform:translate(-32%)rotate(-8deg)}to{transform:translate(32%)rotate(-8deg)}}.gold-border{pointer-events:none;border:1px solid #e8c57194;position:absolute;box-shadow:inset 0 0 7px #00000073,0 0 2px #f5da9480}.border-one{inset:35px}.border-two{border-color:#e6c16c3d;inset:45px}.border-three{border-color:#e6c16c1f;inset:58px}.corner{z-index:5;pointer-events:none;opacity:.68;border-color:#ebc775b3;width:92px;height:92px;position:absolute}.corner:before,.corner:after{content:"";background:linear-gradient(90deg,#0000,#ebc775a6,#0000);position:absolute}.corner:before{width:55px;height:1px}.corner:after{width:1px;height:55px}.corner-top-left{border-top:1px solid;border-left:1px solid;top:35px;left:35px}.corner-top-left:before{top:16px;left:4px}.corner-top-left:after{top:4px;left:16px}.corner-top-right{border-top:1px solid;border-right:1px solid;top:35px;right:35px}.corner-top-right:before{top:16px;right:4px}.corner-top-right:after{top:4px;right:16px}.corner-bottom-left{border-bottom:1px solid;border-left:1px solid;bottom:35px;left:35px}.corner-bottom-left:before{bottom:16px;left:4px}.corner-bottom-left:after{bottom:4px;left:16px}.corner-bottom-right{border-bottom:1px solid;border-right:1px solid;bottom:35px;right:35px}.corner-bottom-right:before{bottom:16px;right:4px}.corner-bottom-right:after{right:16px}.floral-relief{z-index:6;opacity:.48;pointer-events:none;width:250px;height:190px;position:absolute;left:50%;transform:translate(-50%)}.floral-top{top:34px}.floral-bottom{bottom:34px;transform:translate(-50%)rotate(180deg)}.floral-relief:before,.floral-relief:after{content:"";border-radius:50%;position:absolute}.floral-relief:before{border:2px solid #e9c77699;width:110px;height:175px;top:2px;left:70px;box-shadow:2px 2px 3px #00000059}.floral-relief:after{border:1px solid #f0d08380;width:60px;height:115px;top:30px;left:95px}.floral-relief span{border:1px solid #e8c47080;border-radius:100% 0;width:43px;height:83px;position:absolute;box-shadow:2px 3px 4px #00000047}.floral-relief span:first-child{top:26px;left:12px}.floral-relief span:nth-child(2){top:26px;right:12px}.floral-relief span:nth-child(3){top:84px;left:48px;transform:rotate(25deg)}.floral-relief span:nth-child(4){top:84px;right:48px;transform:rotate(-25deg)}.floral-relief span:nth-child(5){width:45px;height:65px;bottom:-4px;left:103px}.central-emblem{z-index:80;width:250px;height:250px;transform-style:preserve-3d;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.emblem-aura{filter:blur(8px);background:radial-gradient(circle,#e7be631f,#0000 65%);border-radius:50%;position:absolute;inset:0}.emblem-shadow{filter:blur(15px);background:#00000059;border-radius:50%;position:absolute;inset:28px;transform:translateZ(-15px)translateY(8px)}.emblem-outer{transform-style:preserve-3d;background:radial-gradient(circle at 35% 30%,#ead18d,#b18a48 35%,#76511f 72%,#4c3215 100%);border-radius:50%;position:absolute;inset:35px;box-shadow:0 12px 25px #00000073,inset 0 2px 4px #fff2c28c,inset 0 -5px 8px #3c1e0a8c}.emblem-carved-ring{border:1px solid #ffefb5b8;border-radius:50%;position:absolute;inset:10px;box-shadow:inset 0 0 0 4px #5c361238,inset 0 0 0 5px #ffefb529}.emblem-inner{background:radial-gradient(circle at 35% 30%,#681727,#420b16 65%,#26050c);border:1px solid #efcb7e7a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:22px;box-shadow:inset 0 0 20px #000000a6}.monogram{color:#efd49a;font-family:var(--serif);letter-spacing:.04em;text-shadow:0 2px 5px #0000008c;align-items:center;gap:7px;font-size:25px;display:flex}.monogram small{color:#c79c50}.wax-seal{z-index:1000;cursor:pointer;pointer-events:auto;transform-origin:50%;background:radial-gradient(circle at 32% 25%,#a43d45 0%,#7e222e 28%,#5b111d 62%,#350711 100%);border-radius:50%;justify-content:center;align-items:center;width:105px;height:105px;padding:0;transition:filter .3s;animation:3.8s ease-in-out infinite sealBreathing;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(75px);box-shadow:0 14px 24px #00000080,inset 0 3px 5px #ff8c8c33,inset 0 -7px 10px #1b020799,0 0 20px #8b27312e}.wax-seal:focus{outline:none}.wax-seal:focus-visible{outline-offset:8px;outline:2px solid #e8c673e6}@keyframes sealBreathing{0%,to{transform:translate(-50%,-50%)translateZ(75px)scale(1)}50%{transform:translate(-50%,-50%)translateZ(78px)scale(1.018)}}.wax-seal:hover{filter:brightness(1.1)drop-shadow(0 0 18px #f2c66652)}.seal-rim{border:1px solid #f0adae73;border-radius:50%;position:absolute;inset:7px;box-shadow:inset 0 0 0 2px #35071147}.seal-inner{z-index:3;color:#f0cfc2;font-family:var(--serif);text-shadow:0 2px 4px #0009;align-items:center;gap:5px;font-size:16px;display:flex;position:relative}.seal-inner small{color:#e5a6a0;font-size:11px}.seal-highlight{filter:blur(3px);pointer-events:none;background:#ffd2c826;border-radius:50%;width:32px;height:14px;position:absolute;top:14px;left:19px;transform:rotate(-25deg)}.seal-wax-fold{filter:blur(2px);pointer-events:none;background:#28040a33;border-radius:50%;width:35px;height:15px;position:absolute}.fold-one{bottom:18px;left:8px;transform:rotate(25deg)}.fold-two{bottom:20px;right:8px;transform:rotate(-25deg)}.seal-crack{z-index:20;opacity:0;pointer-events:none;transform-origin:top;background:linear-gradient(#fff3be00,#fff3bef2,#601c18cc);width:2px;height:0;display:block;position:absolute}.crack-main{top:20%;left:50%;transform:rotate(7deg)}.crack-left{top:40%;left:47%;transform:rotate(-38deg)}.crack-right{top:43%;left:53%;transform:rotate(43deg)}.crack-bottom{top:54%;left:50%;transform:rotate(176deg)}.diya{z-index:6;pointer-events:none;width:110px;height:130px;position:absolute;bottom:14%}.diya-left{left:4%}.diya-right{right:4%}.diya-glow{filter:blur(10px);background:radial-gradient(circle,#ffcb646b,#ff9d301a 43%,#0000 72%);border-radius:50%;width:155px;height:155px;position:absolute;top:0;left:50%;transform:translate(-50%)}.diya-flame{filter:drop-shadow(0 0 8px #ffc248f2)drop-shadow(0 0 25px #ff9d2373);background:radial-gradient(at bottom,#fff5bf 0%,#ffc65b 40%,#f47d25 72%,#0000 100%);border-radius:50% 50% 48% 48%;width:28px;height:48px;animation:1.4s ease-in-out infinite flameFlicker;position:absolute;top:10px;left:50%;transform:translate(-50%)rotate(3deg)}.diya-flame span{background:#fff8d8;border-radius:50%;width:10px;height:23px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}@keyframes flameFlicker{0%,to{transform:translate(-50%)rotate(3deg)scale(1)}50%{transform:translate(-50%)rotate(-4deg)scale(1.08)}}.diya-bowl{background:linear-gradient(#d09d42,#8b5b1f);border-radius:0 0 50% 50%;width:95px;height:35px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:inset 0 3px 4px #ffe49773,0 10px 20px #00000073}.diya-bowl i{background:#ffda7e99;border-radius:50%;width:13px;height:8px;position:absolute;bottom:4px}.diya-bowl i:first-child{left:20px}.diya-bowl i:nth-child(2){left:41px}.diya-bowl i:nth-child(3){right:20px}.cover-left-panel,.cover-right-panel{z-index:200;pointer-events:none;width:50%;transform-style:preserve-3d;backface-visibility:hidden;opacity:0;background:radial-gradient(circle,#7e232738,#3a0c1214 45%,#17050a33 100%),linear-gradient(135deg,#5b101b 0%,#751d29 28%,#4d0d17 58%,#2c0710 100%);display:none;position:absolute;top:-1px;bottom:-1px;box-shadow:inset 0 0 45px #0000006b,inset 0 0 10px #e1b85b38}.cover-left-panel{transform-origin:0;border-right:1px solid #ecc66d59;left:0}.cover-right-panel{transform-origin:100%;border-left:1px solid #ecc66d59;right:0}.cover-left-panel:after,.cover-right-panel:after{content:"";background:linear-gradient(#0000,#e4c069e6 15%,#ffe69df2 50%,#b28536a6 85%,#0000);width:3px;position:absolute;top:4%;bottom:4%;box-shadow:0 0 12px #efc56759,0 0 28px #efc5671f}.cover-left-panel:after{right:0}.cover-right-panel:after{left:0}.break-light{z-index:150;pointer-events:none;opacity:0;filter:blur(12px);background:radial-gradient(#ffe89dfa 0%,#eec15b8c 12%,#b5782a38 27%,#5a201800 54%);position:absolute;inset:0;transform:scale(.35)}.opening.breaking{pointer-events:none}.opening.breaking .wax-seal{pointer-events:none;animation:1.05s cubic-bezier(.2,.8,.2,1) forwards sealBreak}@keyframes sealBreak{0%{transform:translate(-50%,-50%)translateZ(75px)scale(1)}16%{transform:translate(-50%,-50%)translateZ(78px)scale(.91)}30%{transform:translate(-50%,-50%)translateZ(92px)scale(1.08)rotate(2deg)}52%{filter:brightness(1.5)drop-shadow(0 0 24px #ffc95eb3);transform:translate(-50%,-50%)translateZ(98px)scale(1.15)rotate(-3deg)}72%{filter:brightness(1.8)drop-shadow(0 0 35px #ffc95ee6);transform:translate(-50%,-50%)translateZ(105px)scale(1.28)rotate(6deg)}to{opacity:0;transform:translate(-50%,-50%)translateZ(115px)scale(0)rotate(15deg)}}.opening.breaking .seal-crack{animation:.62s ease-out forwards sealCrack}.opening.breaking .crack-left{animation-delay:90ms}.opening.breaking .crack-right{animation-delay:.13s}.opening.breaking .crack-bottom{animation-delay:.17s}@keyframes sealCrack{0%{opacity:0;height:0}25%{opacity:.55;height:10px}55%{opacity:1;height:28px}to{opacity:0;height:48px}}.opening.breaking .break-light{animation:2.7s cubic-bezier(.22,.61,.36,1) forwards cinematicLight}@keyframes cinematicLight{0%{opacity:0;transform:scale(.35)}16%{opacity:.18;transform:scale(.48)}32%{opacity:.8;transform:scale(.7)}55%{opacity:1;transform:scale(1.05)}75%{opacity:.72;transform:scale(1.3)}to{opacity:0;transform:scale(1.65)}}.opening.breaking .wedding-card{animation:.43s ease-out .25s cardBreakShake}@keyframes cardBreakShake{0%{transform:translate(0,0)}18%{transform:translate(-3px,1px)}36%{transform:translate(4px,-1px)}54%{transform:translate(-2px,1px)}72%{transform:translate(2px)}to{transform:translate(0,0)}}.opening.breaking .cover-left-panel,.opening.breaking .cover-right-panel{display:block}.opening.breaking .cover-left-panel{animation:2.65s cubic-bezier(.16,1,.3,1) .42s forwards curtainLeft}.opening.breaking .cover-right-panel{animation:2.65s cubic-bezier(.16,1,.3,1) .42s forwards curtainRight}@keyframes curtainLeft{0%{opacity:1;transform:translateZ(35px)rotateY(0)scaleX(1)}12%{opacity:1;transform:translate3d(-1%,0,35px)rotateY(0)scaleX(.99)}42%{opacity:1;transform:translate3d(-22%,0,50px)rotateY(16deg)scaleX(.97)}70%{opacity:.94;transform:translate3d(-58%,0,85px)rotateY(42deg)scaleX(.9)}88%{opacity:.7;transform:translate3d(-91%,0,120px)rotateY(67deg)scaleX(.72)}to{opacity:0;transform:translate3d(-112%,0,145px)rotateY(82deg)scaleX(.58)}}@keyframes curtainRight{0%{opacity:1;transform:translateZ(35px)rotateY(0)scaleX(1)}12%{opacity:1;transform:translate3d(1%,0,35px)rotateY(0)scaleX(.99)}42%{opacity:1;transform:translate3d(22%,0,50px)rotateY(-16deg)scaleX(.97)}70%{opacity:.94;transform:translate3d(58%,0,85px)rotateY(-42deg)scaleX(.9)}88%{opacity:.7;transform:translate3d(91%,0,120px)rotateY(-67deg)scaleX(.72)}to{opacity:0;transform:translate3d(112%,0,145px)rotateY(-82deg)scaleX(.58)}}.app.opened .opening{pointer-events:none;animation:1.45s cubic-bezier(.76,0,.24,1) forwards openingExit}@keyframes openingExit{0%{opacity:1}55%{opacity:.8}to{opacity:0;visibility:hidden}}.opening-caption{display:none!important}.invitation{min-height:100vh;color:var(--ink);opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 0,#b5893e14,#0000 32%),linear-gradient(#f4ecdf 0%,#eee1d0 42%,#f5ecdf 100%);position:relative}.invitation.visible{opacity:1;visibility:visible}.invitation:before{content:"";pointer-events:none;z-index:20;opacity:.16;mix-blend-mode:multiply;background-image:radial-gradient(circle at 20% 30%,#59301829 0 .7px,#0000 .8px),radial-gradient(circle at 80% 70%,#5930181f 0 .6px,#0000 .7px);background-size:9px 9px,13px 13px;position:fixed;inset:0}.hero{isolation:isolate;background:#2b0a12;height:100svh;min-height:100svh;position:relative;overflow:hidden}.hero-image-wrap{position:absolute;inset:0;overflow:hidden}.hero-image{object-fit:cover;filter:saturate(.82)contrast(1.05)brightness(.82);width:100%;height:100%;animation:16s ease-out forwards heroSlowZoom;display:block;transform:scale(1.08)}@keyframes heroSlowZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-overlay{z-index:2;background:linear-gradient(#24070f61 0%,#24070f14 35%,#24070f57 65%,#19050bd1 100%);position:absolute;inset:0}.hero:before{content:"";z-index:4;pointer-events:none;border:1px solid #eaca7ea6;position:absolute;inset:24px;box-shadow:inset 0 0 0 7px #29080f2e,inset 0 0 0 8px #eaca7e24}.hero:after{content:"✦";z-index:5;color:#f1cf80d9;text-shadow:0 0 18px #f2cd7580;font-size:15px;position:absolute;top:42px;left:50%;transform:translate(-50%)}.hero-content{z-index:6;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 40px,1100px);min-height:100%;margin:0 auto;padding:80px 24px 90px;display:flex;position:relative}.hero-kicker{color:#f8e0a6f2;letter-spacing:.34em;text-shadow:0 2px 15px #00000073;font-size:10px}.hero-divider{align-items:center;gap:15px;width:100%;max-width:300px;margin:24px auto 28px;display:flex}.hero-divider span{background:linear-gradient(90deg,#0000,#e7c270e6,#0000);flex:1;height:1px}.hero-divider i{color:#e5bd6b;text-shadow:0 0 18px #e5bd6b8c;font-style:normal}.hero h1{color:#fff5df;font-family:var(--serif);text-shadow:0 3px 24px #00000080,0 1px 2px #000000bf;margin:0;font-size:clamp(48px,7vw,92px);font-weight:500;line-height:.88}.hero h1 span{display:block}.hero h1 em{color:#e6c276;text-shadow:0 0 20px #e6c27666;margin:12px 0;font-size:.55em;font-style:italic;font-weight:400;display:block}.hero-subtitle{color:#fff6e3e6;font-family:var(--serif);text-shadow:0 2px 14px #0000008c;margin-top:28px;font-size:20px;line-height:1.5}.hero-scroll{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.hero-scroll span{color:#f5da9ed9;letter-spacing:.3em;font-size:8px}.hero-scroll i{background:linear-gradient(#f5da9ecc,#0000);width:1px;height:40px}.content-shell{background:radial-gradient(at 50% 0,#ba8e451f,#0000 30%),linear-gradient(#f3e8d9,#eee0ce 45%,#f6ede1);position:relative;overflow:hidden}.content-shell:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#7c4c2309 50%,#0000 100%);position:absolute;inset:0}.story-section,.date-reveal-section,.countdown-section,.gallery-section,.venue-section{width:min(100% - 48px,1180px);margin:0 auto;position:relative}.section-heading{text-align:center;justify-content:center;align-items:center;gap:20px;margin-bottom:52px;display:flex;position:relative}.section-heading:before{content:"";border:1px solid #97682817;border-radius:50%;width:150px;height:150px;position:absolute;transform:rotate(45deg)}.section-heading span{color:#a37a35;text-shadow:0 0 8px #a37a3540;font-size:10px;position:relative}.section-heading h2{color:#4b1822;font-family:var(--serif);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600;position:relative}.story-section{padding:115px 0 120px}.story-section:before{content:"";background:linear-gradient(#0000,#9d6f2d8c);width:1px;height:42px;position:absolute;top:42px;left:50%}.story-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:75px;margin-top:55px;display:grid}.story-image-frame{filter:drop-shadow(0 22px 28px #3f1c142e);position:relative}.story-image-frame:before{content:"";pointer-events:none;border:1px solid #9e713161;position:absolute;inset:-14px}.story-image-frame:after{content:"RI — JU";color:#7e592b;letter-spacing:.22em;background:#f1e5d4;border:1px solid #9b6d2b59;padding:7px 12px;font-size:8px;position:absolute;top:28px;right:-20px;transform:rotate(90deg)}.story-image-border{background:linear-gradient(135deg,#b18a48,#ead18d 35%,#8b652e 70%,#c9a45e);padding:10px;box-shadow:0 0 0 1px #fff4cc99,inset 0 0 0 1px #4a271266}.story-image-border img{filter:saturate(.86)contrast(1.04);width:100%;display:block}.story-image-caption{color:#86612e;letter-spacing:.28em;text-align:center;margin-top:20px;font-size:8px;display:block}.story-copy{color:#5b3b32;font-family:var(--serif);background:linear-gradient(145deg,#fffaf1e6,#eddecbb8);border:1px solid #9c6e2d40;padding:48px 42px;font-size:20px;line-height:2;position:relative;box-shadow:0 18px 45px #48251617,inset 0 0 35px #9b6e320b}.story-copy:before,.story-copy:after{content:"✦";color:#9d6f2d73;font-size:10px;position:absolute}.story-copy:before{top:15px;left:17px}.story-copy:after{bottom:15px;right:17px}.story-mark{color:#9e7435;opacity:.45;font-family:Georgia,serif;font-size:90px;position:absolute;top:-35px;left:18px}.story-copy p{color:#5b3b32;margin:0 0 24px;line-height:2}.story-signature{color:#641c29;font-family:var(--serif);letter-spacing:.06em;text-align:center;text-shadow:0 1px #ffffffb3;margin-top:32px;font-size:38px}.story-signature span{color:#ad7835}.date-reveal-section{background:radial-gradient(#6c2b2d14,#0000 55%),linear-gradient(#eadaca,#f1e6d7);width:100%;max-width:none;padding:120px max(24px,50vw - 590px) 125px}.date-reveal-section:before{content:"";background:linear-gradient(#0000,#9d6f2d2e,#0000);width:1px;position:absolute;top:90px;bottom:90px;left:50%}.date-reveal-heading{justify-content:center;align-items:center;gap:15px;margin-bottom:45px;display:flex;position:relative}.date-reveal-heading p{color:#641c29;letter-spacing:.28em;margin:0;font-size:9px}.date-reveal-heading span{color:#a47834}.scratch-wrap{border-radius:2px;width:min(100%,800px);height:270px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 25px 55px #41201533,0 4px 15px #4120151a}.scratch-wrap:before{content:"";z-index:-1;border:1px solid #976a2b57;position:absolute;inset:-10px}.date-underlay{background:radial-gradient(circle at 50% 45%,#fff7d6e6,#0000 45%),linear-gradient(135deg,#f7e9bf,#d2ae5e 45%,#f1d88c);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.date-underlay-inner{flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 35px);height:calc(100% - 35px);display:flex;box-shadow:inset 0 0 0 1px #fff7cdbf,inset 0 0 35px #58311229}.date-small-label{color:#70491e;letter-spacing:.3em;font-size:8px}.revealed-date{align-items:center;gap:22px;margin:8px 0;display:flex}.revealed-date>strong{color:#541620;font-family:var(--serif);text-shadow:0 2px #fff2c2b3;font-size:105px;line-height:.8}.revealed-date>div{flex-direction:column;display:flex}.revealed-date>div span{color:#68451e;letter-spacing:.22em;font-size:24px}.revealed-date>div small{color:#805f2b;letter-spacing:.25em;margin-top:4px;font-size:10px}.revealed-time{color:#68451e;letter-spacing:.22em;font-size:9px}.scratch-canvas{z-index:5;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.scratch-hint{z-index:6;color:#3c1d0cb3;font-family:var(--serif);pointer-events:none;white-space:nowrap;text-shadow:0 1px #ffedb380;align-items:center;gap:13px;font-size:18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scratch-icon{font-size:9px}.scratch-progress{background:#6b461d24;width:min(100%,800px);height:3px;margin:20px auto 0;overflow:hidden}.scratch-progress span{background:linear-gradient(90deg,#76511f,#d9b967,#8a6226);height:100%;transition:width .12s;display:block}.scratch-note{color:#806033;letter-spacing:.16em;text-align:center;margin:14px 0 0;font-size:8px}.countdown-section{color:#f4dfae;background:radial-gradient(circle,#671a28f5,#3d0b14fa);width:100%;max-width:none;padding:100px 24px 115px;box-shadow:inset 0 18px 35px #00000026,inset 0 -18px 35px #0003}.countdown-section:before{content:"";pointer-events:none;border:1px solid #deb76547;position:absolute;inset:18px}.countdown-section:after{content:"RI — JU";letter-spacing:.35em;color:#e4be69a6;font-size:8px;position:absolute;top:31px;left:50%;transform:translate(-50%)}.countdown-heading{justify-content:center;align-items:center;gap:20px;margin-bottom:35px;display:flex}.countdown-heading p{color:#e4c37a;letter-spacing:.3em;margin:0;font-size:9px}.countdown-heading .line{background:linear-gradient(90deg,#0000,#dab35fb3);width:100px;height:1px}.countdown-grid{justify-content:center;align-items:center;gap:14px;width:min(100%,750px);margin:0 auto;display:flex}.countdown-box{text-align:center;background:linear-gradient(145deg,#ffe7a60b,#00000014);border:1px solid #dbb56233;min-width:105px;padding:22px 14px;box-shadow:inset 0 0 25px #00000014}.countdown-box strong{color:#f2d493;font-family:var(--serif);text-shadow:0 2px 12px #00000059,0 0 18px #deb45b29;font-size:46px;font-weight:500;line-height:1;display:block}.countdown-box span{color:#eccd87b3;letter-spacing:.2em;margin-top:8px;font-size:7px;display:block}.countdown-divider{color:#b78c43;font-family:var(--serif);font-size:28px}.gallery-section{padding:125px 0 130px}.gallery-intro{color:#705348;max-width:580px;font-family:var(--serif);text-align:center;margin:0 auto 55px;font-size:19px;line-height:1.9}.gallery-grid{grid-template-columns:repeat(6,1fr);gap:24px;display:grid}.gallery-item{filter:drop-shadow(0 16px 25px #401f1424);margin:0;position:relative}.gallery-item-1{grid-column:span 4}.gallery-item-2,.gallery-item-3{grid-column:span 2}.gallery-item-4,.gallery-item-5{grid-column:span 3}.gallery-image-wrap{background:linear-gradient(135deg,#8d652d,#e1c276,#9b7133);padding:7px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffefbabf}.gallery-image-wrap:after{content:"";pointer-events:none;border:1px solid #fff2c399;position:absolute;inset:7px}.gallery-image-wrap img{aspect-ratio:1.15;object-fit:cover;filter:saturate(.88)contrast(1.03);width:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s;display:block}.gallery-item-1 .gallery-image-wrap img{aspect-ratio:1.55}.gallery-item:hover .gallery-image-wrap img{filter:saturate()contrast(1.04);transform:scale(1.045)}.gallery-item figcaption{text-align:right;margin-top:13px;position:relative}.gallery-item figcaption span{color:#9b7133;letter-spacing:.18em;font-size:8px}.venue-section{background:linear-gradient(#e8d7c4,#f1e5d6);width:100%;max-width:none;padding:125px max(24px,50vw - 590px) 130px}.venue-card{background:linear-gradient(145deg,#f9f0e3,#eee0cf);border:1px solid #8f62264d;max-width:1050px;margin:0 auto;padding:80px 70px;position:relative;box-shadow:0 25px 60px #401f1424,inset 0 0 50px #996d2d0d}.venue-card:before{content:"✦";color:#a77b36;font-size:11px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.venue-border{pointer-events:none;border:1px solid #9c6e2d4d;position:absolute;inset:12px}.venue-heading{justify-content:center;align-items:center;gap:15px;padding-top:30px;display:flex;position:relative}.venue-heading p{color:#651c29;letter-spacing:.25em;margin:0;font-size:9px}.venue-heading span{color:#a47734}.venue-main{grid-template-columns:1fr auto;align-items:center;gap:80px;margin-top:55px;display:grid;position:relative}.venue-details{text-align:left}.venue-label{color:#9b7135;letter-spacing:.28em;font-size:8px}.venue-details h2{color:#4f1822;font-family:var(--serif);margin:15px 0 8px;font-size:48px;font-weight:600;line-height:1}.venue-details>p{color:#75594d;font-family:var(--serif);margin:0;font-size:19px}.venue-time{border-top:1px solid #996c2c33;flex-direction:column;margin-top:28px;padding-top:20px;display:flex}.venue-time span{color:#997039;letter-spacing:.25em;font-size:8px}.venue-time strong{color:#5c1b27;font-family:var(--serif);margin-top:5px;font-size:20px;font-weight:600}.map-button{color:#f5dfb0;letter-spacing:.18em;background:linear-gradient(135deg,#691c29,#4d101c);border:1px solid #97682873;align-items:center;gap:10px;margin-top:28px;padding:12px 20px;font-size:8px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 8px 22px #3e10182e}.map-button:hover{transform:translateY(-2px);box-shadow:0 12px 25px #3e101840}.venue-qr{flex-direction:column;align-items:center;display:flex}.qr-frame{background:#fffaf0;border:1px solid #9165276b;padding:12px;box-shadow:0 12px 30px #401f141a,inset 0 0 0 4px #ac803914}.qr-frame img{width:180px;height:180px;display:block}.venue-qr>span{color:#806035;letter-spacing:.2em;margin-top:14px;font-size:7px}.footer{color:#efd59b;text-align:center;background:radial-gradient(circle at 50% 25%,#772a33e6,#0000 55%),linear-gradient(#4d101b,#2d0710);padding:130px 24px 45px;position:relative;overflow:hidden}.footer:before{content:"";pointer-events:none;border:1px solid #e0b86240;position:absolute;inset:18px}.footer:after{content:"";border:1px solid #e0b86212;border-radius:50%;width:420px;height:420px;position:absolute;bottom:0;left:50%;transform:translate(-50%)translateY(70%);box-shadow:0 0 0 35px #e0b86206,0 0 0 70px #e0b86205}.footer-ornament{color:#d8ae5b;text-shadow:0 0 20px #dbb15859;font-size:12px;position:relative}.footer-small{color:#e7c477b8;letter-spacing:.3em;margin-top:18px;font-size:8px;position:relative}.footer h2{color:#f2d99f;font-family:var(--serif);text-shadow:0 2px 15px #0000004d;margin:25px 0;font-size:52px;font-weight:500;position:relative}.footer h2 span{color:#b98c42;margin:0 12px;display:inline-block}.footer-line{justify-content:center;align-items:center;gap:15px;width:min(100%,280px);margin:0 auto;display:flex;position:relative}.footer-line span{background:linear-gradient(90deg,#0000,#dab36099);flex:1;height:1px}.footer-line i{color:#d6aa57;font-style:normal}.footer-note{color:#edd7abb8;max-width:450px;font-family:var(--serif);margin:25px auto 0;font-size:18px;line-height:1.6;position:relative}.footer-bottom{color:#dcb66599;letter-spacing:.2em;justify-content:space-between;max-width:1050px;margin:70px auto 0;font-size:8px;display:flex;position:relative}@media (width<=900px){.card-stage{width:78vw;height:80vh;min-height:540px}.story-layout{grid-template-columns:1fr;gap:70px}.story-image-frame,.story-copy{max-width:700px;margin:0 auto}.venue-main{gap:45px}.venue-details h2{font-size:42px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5{grid-column:span 1}.gallery-item-1{grid-column:span 2}}@media (width<=600px){.card-stage{width:88vw;height:78vh;min-height:500px}.wedding-card{border-radius:2px}.border-one{inset:28px}.border-two{inset:37px}.border-three{inset:47px}.corner{width:70px;height:70px}.corner-top-left,.corner-bottom-left{left:36px}.corner-top-right,.corner-bottom-right{right:36px}.corner-top-left,.corner-top-right{top:30px}.corner-bottom-left,.corner-bottom-right{bottom:30px}.central-emblem{width:215px;height:215px}.emblem-outer{inset:30px}.wax-seal{width:92px;height:92px}.diya{bottom:12%;transform:scale(.7)}.diya-left{left:-8px}.diya-right{right:-8px}.opening.breaking .cover-left-panel,.opening.breaking .cover-right-panel{animation-duration:2.45s}.opening.breaking .break-light{filter:blur(9px)}.hero{height:92svh;min-height:92svh}.hero:before{inset:14px}.hero-content{width:calc(100% - 30px);padding:80px 15px 75px}.hero-kicker{letter-spacing:3px;font-size:7px}.hero-divider{margin:17px auto 20px}.hero-divider span{width:35px}.hero h1{font-size:clamp(36px,11vw,58px)}.hero h1 em{margin:8px 0;font-size:35px}.hero-subtitle{margin-top:20px;font-size:16px}.hero-scroll{bottom:10px}.story-section,.gallery-section{width:calc(100% - 30px)}.story-section{padding:100px 0}.story-layout{gap:65px;margin-top:55px}.story-copy{text-align:center;padding:34px 25px;font-size:18px;line-height:1.7}.story-copy br{display:none}.story-mark{top:-50px;left:0}.story-signature{font-size:38px}.date-reveal-section{padding:100px 18px 90px}.date-reveal-heading{gap:10px}.date-reveal-heading p{letter-spacing:3px;font-size:7px}.scratch-wrap{height:225px}.scratch-hint{gap:9px;font-size:16px}.revealed-date>strong{font-size:80px}.revealed-date>div span{font-size:22px}.revealed-date>div small{font-size:8px}.countdown-section{padding:90px 15px 100px}.countdown-grid{gap:7px}.countdown-box{min-width:55px;padding:17px 8px}.countdown-box strong{font-size:31px}.countdown-box span{letter-spacing:1.5px;font-size:5px}.countdown-divider{margin-top:-10px;font-size:20px}.countdown-heading{gap:10px}.countdown-heading .line{width:30px}.gallery-section{padding:20px 0 100px}.gallery-intro{margin:22px auto 45px;font-size:16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item-1{grid-column:span 2}.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5{grid-column:span 1}.gallery-item figcaption{margin-top:7px}.venue-section{padding:100px 18px}.venue-card{margin:0 5px;padding:50px 20px}.venue-main{grid-template-columns:1fr;gap:35px;margin-top:40px}.venue-details{text-align:center}.venue-details h2{font-size:35px;line-height:1}.venue-details>p{font-size:17px}.venue-time{align-items:center}.qr-frame img{width:140px;height:140px}.footer{padding:80px 20px 25px}.footer h2{font-size:32px}.footer h2 span{font-size:31px}.footer-bottom{margin-top:55px}}@media (width<=380px){.card-stage{width:91vw;min-height:470px}.central-emblem{width:190px;height:190px}.emblem-outer{inset:27px}.wax-seal{width:82px;height:82px}.corner{width:62px;height:62px}.corner-top-left,.corner-bottom-left{left:28px}.corner-top-right,.corner-bottom-right{right:28px}.hero h1{font-size:34px}.countdown-grid{gap:3px}.countdown-box{min-width:48px}.countdown-box strong{font-size:26px}.countdown-divider{font-size:17px}.revealed-date{gap:12px}.revealed-date>strong{font-size:70px}.revealed-date>div span{font-size:18px}}@media (hover:none) and (pointer:coarse){.wax-seal:hover{filter:none}.opening:not(.breaking) .wax-seal:active{filter:brightness(1.15)drop-shadow(0 0 22px #f2c66666);animation:none;transform:translate(-50%,-50%)translateZ(75px)scale(.94)}.gallery-item:hover .gallery-image-wrap img{filter:saturate(.88)contrast(1.03);transform:none}.map-button:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.scratch-wrap{isolation:isolate;position:relative}.date-underlay{z-index:1!important;pointer-events:none!important;justify-content:center!important;align-items:center!important;display:flex!important;position:absolute!important;inset:0!important}.date-underlay-inner{z-index:2;position:relative}.scratch-canvas{z-index:5!important;pointer-events:auto!important;display:block!important;position:absolute!important;inset:0!important}.scratch-hint{display:none!important}.scratch-progress,.scratch-note{z-index:10;position:relative}.revealed-date,.revealed-time,.date-small-label{z-index:3;position:relative}.date-reveal-section.is-revealed .scratch-canvas{opacity:0!important;pointer-events:none!important;transition:opacity .45s!important}.date-reveal-section.is-revealed .date-underlay{z-index:6!important;opacity:1!important;visibility:visible!important}.date-reveal-section.is-revealed .date-underlay-inner{animation:.65s cubic-bezier(.2,.8,.2,1) both revealedDateIn}@keyframes revealedDateIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.scratch-wrap canvas{font-family:Inter,sans-serif}@media (width<=700px){.scratch-wrap,.date-underlay{min-height:250px}.date-underlay-inner{width:100%}}.footer-names{justify-content:center;align-items:center;gap:12px;display:flex!important}.footer-ampersand{color:#b98c42!important}@media (width<=700px){.footer-names{flex-direction:column;gap:5px;line-height:1.15!important}.footer-bride,.footer-groom{white-space:nowrap;display:block}.footer-ampersand{margin:2px 0;display:block}}.music-toggle{z-index:99999;color:#e9cb88;cursor:pointer;background:linear-gradient(145deg,#691c29f5,#3d0b14fa);border:1px solid #be94448c;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 28px #2d081047,inset 0 0 0 1px #ffe7a614}.music-toggle span{font-family:Georgia,serif;font-size:20px;line-height:1;transform:translateY(-1px)}.music-toggle:hover{border-color:#e2bf70cc;transform:scale(1.08);box-shadow:0 12px 32px #2d081059,0 0 18px #dab15926,inset 0 0 0 1px #ffe7a61a}.music-toggle:active{transform:scale(.94)}.music-toggle.is-playing span{animation:1.8s ease-in-out infinite musicPulse}.music-toggle.is-muted{opacity:.72}@keyframes musicPulse{0%,to{transform:translateY(-1px)scale(1)}50%{transform:translateY(-1px)scale(1.12)}}@media (width<=700px){.music-toggle{width:44px;height:44px;bottom:18px;right:18px}.music-toggle span{font-size:18px}}.venue-label{color:#9b7135;letter-spacing:.24em;margin-bottom:20px;font-size:16px;font-weight:600;display:block}.venue-details h2{margin:0 0 14px;font-size:62px;line-height:1.04}.venue-details>p{font-size:22px;line-height:1.5}.venue-time{margin-top:34px;padding-top:23px}.venue-time span{font-size:10px}.venue-time strong{margin-top:7px;font-size:24px}@media (width<=900px){.venue-label{font-size:14px}.venue-details h2{font-size:52px}.venue-details>p{font-size:20px}}@media (width<=600px){.venue-label{letter-spacing:.2em;margin-bottom:15px;font-size:11px}.venue-details h2{font-size:42px;line-height:1.08}.venue-details>p{font-size:18px}.venue-time{margin-top:29px;padding-top:20px}.venue-time span{font-size:8px}.venue-time strong{font-size:22px}.story-copy p:first-of-type br{display:none!important}.story-copy p:nth-of-type(2) br{display:block!important}}.section-heading h2{letter-spacing:.22em;font-size:21px}.section-heading span{font-size:11px}.date-reveal-heading p{letter-spacing:.25em;font-size:12px}.date-reveal-heading span{font-size:11px}.countdown-heading p{letter-spacing:.27em;font-size:12px}.venue-heading p{letter-spacing:.23em;font-size:12px}.venue-heading span{font-size:11px}@media (width<=600px){.section-heading h2{letter-spacing:.19em;font-size:18px}.section-heading span{font-size:10px}.date-reveal-heading p{letter-spacing:.22em;font-size:10px}.date-reveal-heading span{font-size:10px}.countdown-heading p{letter-spacing:.22em;font-size:10px}.venue-heading p{letter-spacing:.19em;font-size:10px}.venue-heading span{font-size:10px}}
