@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Jost:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Serif+Devanagari:wght@400;500&display=swap";:root{--ivory:#faf7f2;--cream:#f5efe6;--gold:#c4973b;--gold-light:#d4af5a;--gold-dark:#8b6914;--maroon:#6b1d2a;--maroon-light:#8b3a4a;--navy:#0a1628;--sage:#5a6b4a;--blush:#f0d5d0;--paper-background:linear-gradient(#faf7f247, #faf7f247), url(/images/textures/paper.webp);--text-primary:#986329;--text-secondary:#9a604c;--font-script:"Great Vibes", cursive;--font-display:"Cormorant Garamond", Georgia, serif;--font-heading:"Cormorant Garamond", Georgia, serif;--font-body:"Cormorant Garamond", Georgia, serif;--font-sans:"Jost", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font-family:var(--font-body);font-variant-numeric:lining-nums;background:var(--ivory);color:var(--text-primary);line-height:1.6;overflow-x:clip}#root{width:100%;overflow-x:clip}.wedding-page{isolation:isolate;background:var(--ivory);outline:none;position:relative}.wedding-page:focus,.wedding-page:focus-visible{outline:none}.wedding-page:before{content:"";z-index:-1;pointer-events:none;background-color:var(--ivory);background-image:var(--paper-background);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100lvh;position:fixed;inset:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}::selection{background:var(--gold-light);color:#fff}img{max-width:100%;height:auto}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}.event-artwork{isolation:isolate;position:relative;container-type:inline-size}.event-background{width:100%;height:auto;display:block}.artwork-title{color:#a06b22;font-weight:400}.artwork-heading{width:76%;height:18%;font-family:var(--font-script);color:#a06b22;justify-content:center;align-items:center;font-size:16cqw;font-weight:400;line-height:1.2;display:flex;position:absolute;top:25%;left:12%}.artwork-details{text-align:center;width:84%;font-family:var(--font-heading);font-variant-numeric:lining-nums;letter-spacing:.04em;color:#986329;flex-direction:column;gap:.8cqw;font-size:clamp(18px,5.8cqw,26px);font-weight:600;line-height:1.35;display:flex;position:absolute;top:49.3%;left:8%}.artwork-time{font-style:italic;font-weight:500}.haldi-bell{pointer-events:none;animation:3s ease-in-out infinite paused haldi-bell-swing;position:absolute}.haldi-bell-one{transform-origin:48.4% 3%;width:6.0547%;top:13.0208%;left:88.8672%}.haldi-bell-two{transform-origin:49.3% 1%;width:6.543%;top:12.3698%;left:92.5781%}.haldi-bell-three{transform-origin:48.3% 3%;width:5.8594%;top:13.0208%;left:5.2734%}.haldi-bell-four{transform-origin:48.4% 4%;width:6.25%;top:12.3698%;left:1.1719%}.event-artwork.is-visible .haldi-bell,.event-artwork.is-visible .artwork-lights span,.event-artwork.is-visible .wedding-petals span{animation-play-state:running}.artwork-lead{text-align:center;width:76%;font-family:var(--font-heading);letter-spacing:.02em;font-size:6.4cqw;font-style:italic;font-weight:500;line-height:1.2;position:absolute;left:12%}.event-artwork--mehendi .artwork-heading{white-space:nowrap;width:78%;height:11%;font-size:12.8cqw;top:25.5%;left:11%}.event-artwork--mehendi .artwork-sub{font-size:6.4cqw;top:38.5%}.event-artwork--mehendi .artwork-details{top:52.7%}.event-artwork--sangeet .artwork-title,.event-artwork--wedding .artwork-title{color:#f3cd82}.event-artwork--sangeet .artwork-heading,.event-artwork--wedding .artwork-heading{color:inherit;font-size:16cqw}.event-artwork--sangeet .artwork-lead{font-size:6.4cqw;top:26.5%}.event-artwork--sangeet .artwork-heading{height:16%;font-size:16cqw;top:34%}.event-artwork--sangeet .artwork-details{color:#f8e4b5;top:57.7%}.event-artwork--wedding .artwork-heading{height:23%;top:15%}.event-artwork--wedding .artwork-details{color:#f8e4b5;top:44.8%}.artwork-lights{pointer-events:none;position:absolute;inset:0}.artwork-lights span{mix-blend-mode:screen;background:radial-gradient(#fff7caf2,#ffb939a6 25%,#ffab2640 48%,#0000 72%);border-radius:50%;animation:2.8s ease-in-out infinite paused celebration-glow;position:absolute}.sangeet-lights span:first-child{width:22%;height:13%;top:4.8%;left:67.5%}.sangeet-lights span:last-child{width:20%;height:12%;animation-delay:-1.4s;top:13.4%;left:76%}.wedding-lights span{width:8%;height:6%;top:75.5%}.wedding-lights span:first-child{left:25.5%}.wedding-lights span:nth-child(2){animation-delay:-.7s;top:76.8%;left:38.5%}.wedding-lights span:nth-child(3){animation-delay:-1.4s;left:46.5%}.wedding-lights span:nth-child(4){animation-delay:-2.1s;top:75%;left:63.5%}@keyframes celebration-glow{0%,to{opacity:.08;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@keyframes haldi-bell-swing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.wedding-petals{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.wedding-petals span{aspect-ratio:.75;opacity:0;background:linear-gradient(135deg,#f4adb8,#cf506d 65%,#a93657);border-radius:65% 15% 65% 35%;animation:linear infinite paused wedding-petal-fall;position:absolute;top:-4%}.wedding-petals span:nth-child(2n){background:linear-gradient(135deg,#e48b9e,#b84364);border-radius:15% 65% 35%}.event-artwork--wedding .artwork-heading,.event-artwork--wedding .artwork-details{z-index:2}.event-artwork.is-visible :is(.sangeet-stars span,.wedding-embers span){animation-play-state:running}.sangeet-stars,.wedding-embers{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.sangeet-stars span{mix-blend-mode:screen;opacity:.15;background:radial-gradient(circle,#fff8d6 0%,#f5c96a 42%,#0000 72%);border-radius:50%;width:6px;height:6px;animation:3.2s ease-in-out infinite paused sangeet-star-twinkle;position:absolute;box-shadow:0 0 8px 2px #ffdc828c}.wedding-embers span{mix-blend-mode:screen;opacity:0;background:radial-gradient(circle,#fff3bd 0%,#f5b342 48%,#0000 74%);border-radius:50%;width:5px;height:5px;animation:5.4s ease-out infinite paused wedding-ember-rise;position:absolute;bottom:18%;box-shadow:0 0 10px 2px #ffbe4b8c}@keyframes sangeet-star-twinkle{0%,to{opacity:.12;transform:scale(.65)}50%{opacity:.95;transform:scale(1.35)}}@keyframes wedding-ember-rise{0%{opacity:0;transform:translate(0,0)scale(.6)}20%{opacity:.85;transform:translate(-4px,-24px)scale(1.05)}65%{opacity:.55;transform:translate(5px,-85px)scale(.85)}to{opacity:0;transform:translate(-3px,-145px)scale(.35)}}@keyframes wedding-petal-fall{0%{opacity:0;transform:translate(0,0)rotate(-25deg)}10%{opacity:.75}45%{transform:translate(-12px,70cqw)rotate(130deg)}85%{opacity:.65}to{opacity:0;transform:translate(14px,160cqw)rotate(310deg)}}.artwork-title>span,.artwork-details>p{opacity:0;transform:translateY(10px)}.text-revealed .artwork-title>span,.text-revealed .artwork-details>p{animation:.75s cubic-bezier(.22,1,.36,1) both artwork-text-enter}.text-revealed .artwork-lead{animation-delay:50ms}.text-revealed .artwork-heading{animation-delay:.2s}.text-revealed.event-artwork--mehendi .artwork-heading{animation-delay:50ms}.text-revealed.event-artwork--mehendi .artwork-sub{animation-delay:.2s}.text-revealed .artwork-details>p:first-child{animation-delay:.4s}.text-revealed .artwork-details>p:nth-child(2){animation-delay:.55s}@keyframes artwork-text-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.haldi-bell,.artwork-lights span,.wedding-petals span,.sangeet-stars span,.wedding-embers span{animation:none}.wedding-petals,.sangeet-stars,.wedding-embers{display:none}.event-artwork .artwork-title>span,.event-artwork .artwork-details>p{opacity:1;animation:none;transform:none}}@media (width<=420px){.side-decor-wrap svg{opacity:.12!important;width:24px!important}}.invitation-entrance{z-index:1000;isolation:isolate;touch-action:none;overscroll-behavior:none;color:#61451f;cursor:pointer;--cord-y:54%;height:100dvh;position:fixed;inset:0;overflow:hidden}.entrance-cloth,.entrance-canvas{width:100%;height:100%;position:absolute;inset:0}.entrance-cloth{transform-origin:0;background:#f2e4cc url(/images/invocation/curtain-silk.webp) 50%/100% 100%;width:50.2%}.entrance-cloth--right{transform-origin:50%;left:auto;right:0;transform:scaleX(-1)}.entrance-canvas{opacity:0;pointer-events:none}.invitation-entrance[data-renderer=webgl] .entrance-canvas{opacity:1}.invitation-entrance[data-renderer=webgl] .entrance-cloth{visibility:hidden}.entrance-sanctum-light{pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0;overflow:hidden}.entrance-sanctum-seam,.entrance-sanctum-rays,.entrance-sanctum-halo{opacity:0;pointer-events:none;position:absolute;inset:0}.entrance-sanctum-seam{background:radial-gradient(ellipse 18% 62% at 50% var(--cord-y), #ffe8a8d9 0%, #f2ba547a 38%, #d4912a24 68%, transparent 100%);transform:scaleX(.05)}.entrance-sanctum-rays{background:conic-gradient(from 90deg at 50% 48%,#0000 0deg,#ffdc8c38 18deg,#0000 36deg,#ffd27847 58deg,#0000 78deg,#ffe0943d 104deg,#0000 128deg,#ffd27842 152deg,#0000 180deg,#ffdc8c3d 208deg,#0000 234deg,#ffe09447 258deg,#0000 282deg,#ffd27838 318deg,#0000 360deg);-webkit-mask-image:radial-gradient(58% 65% at 50% 52%,#000 10%,#0000 78%);mask-image:radial-gradient(58% 65% at 50% 52%,#000 10%,#0000 78%)}.entrance-sanctum-halo{background:radial-gradient(circle at 50% var(--cord-y), #ffe29aa6 0%, #ebae484d 24%, transparent 56%)}.invitation-entrance[data-state=opening] .entrance-sanctum-halo{animation:1.4s cubic-bezier(.22,1,.36,1) 80ms forwards sanctumHaloPulse}.invitation-entrance[data-state=opening] .entrance-sanctum-seam{animation:2.6s cubic-bezier(.22,.61,.36,1) .38s forwards sanctumSeamBloom}.invitation-entrance[data-state=opening] .entrance-sanctum-rays{animation:2.8s cubic-bezier(.16,1,.3,1) .48s forwards sanctumRaysSweep}.invitation-entrance[data-state=opening] .entrance-cloth{animation:.86s ease-out both clothExhale,3s cubic-bezier(.33,0,.18,1) .68s forwards clothGatherLeft}.invitation-entrance[data-state=opening] .entrance-cloth--right{animation-name:clothExhale,clothGatherRight}.entrance-rope-artwork{top:var(--cord-y);aspect-ratio:1600/533;pointer-events:none;width:max(100%,640px);animation:3.6s ease-in-out infinite ropeBreath;position:absolute;left:50%;transform:translate(-50%,-46.9%)}.entrance-rope-artwork>img,.entrance-rope-motion,.entrance-rope-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.entrance-rope-canvas{opacity:0;pointer-events:none;filter:drop-shadow(0 5px 12px #61451f38);width:100%;height:168.855%;position:absolute;top:0;left:0}.entrance-rope-complete{opacity:1;transition:opacity 35ms linear}.entrance-rope-motion{opacity:0;transition:opacity 35ms linear}.entrance-cord-left{transform-origin:8% 47%}.entrance-cord-right{transform-origin:92% 47%}.entrance-open{z-index:1;touch-action:manipulation;pointer-events:auto;background:0 0;border:0;width:clamp(110px,15%,220px);height:42%;min-height:84px;padding:0;display:block;position:absolute;top:52.5%;left:50%;transform:translate(-50%,-50%)}.entrance-knot{transform-origin:50% 46.9%}.entrance-open:focus-visible{outline:none}.invitation-entrance[data-keyboard=true] .entrance-rope-complete{filter:drop-shadow(0 0 3px #61451f)drop-shadow(0 0 10px #dca855)}.entrance-hint{top:calc(var(--cord-y) + max(100vw, 640px) * .082 + clamp(24px, 2.5dvh, 38px));white-space:nowrap;pointer-events:none;font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);letter-spacing:.06em;color:#563916;text-shadow:0 1px 14px #fcf6ebeb,0 0 3px #fcf6ebbf;font-size:clamp(21px,1.5vw + 13px,32px);font-style:italic;font-weight:500;line-height:1.3;transition:opacity .22s;position:absolute;left:50%;transform:translate(-50%)}.entrance-hint>span{align-items:center;gap:clamp(10px,1.4vw,18px);animation:3.2s ease-in-out infinite hintBreath;display:inline-flex}.entrance-hint>span:before,.entrance-hint>span:after{content:"";background:linear-gradient(90deg,#0000,#8c6226a6,#0000);width:clamp(24px,3.5vw,48px);height:1px;display:inline-block}.entrance-status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.invitation-entrance[data-state=opening] .entrance-rope-artwork{animation:none}.invitation-entrance[data-state=opening] .entrance-rope-complete,.invitation-entrance[data-state=opening] .entrance-hint{opacity:0}.invitation-entrance[data-state=opening] .entrance-rope-motion,.invitation-entrance[data-rope=canvas][data-state=opening] .entrance-rope-canvas{opacity:1}.invitation-entrance[data-rope=canvas][data-state=opening] .entrance-rope-motion{opacity:0;display:none}.invitation-entrance[data-state=opening] .entrance-cord-left{animation:2.2s .6s forwards cordDropLeft}.invitation-entrance[data-state=opening] .entrance-cord-right{animation:2.2s .6s forwards cordDropRight}.invitation-entrance[data-state=opening] .entrance-knot{animation:.86s cubic-bezier(.22,1,.36,1) forwards knotUnravel}.invitation-entrance[data-state=opening] .entrance-open{outline:none}.invitation-entrance[data-state=opening]{cursor:default}.invitation-entrance[data-state=opening] .entrance-knot{filter:none}@keyframes ropeBreath{0%,to{filter:drop-shadow(0 4px 10px #b8893a29)}50%{filter:drop-shadow(0 4px 18px #b8893a59)}}@keyframes hintBreath{0%,to{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes sanctumHaloPulse{0%{opacity:0;transform:scale(.45)}32%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@keyframes sanctumSeamBloom{0%{opacity:0;transform:scaleX(.04)scaleY(.75)}18%{opacity:.95;transform:scaleX(.28)scaleY(.95)}52%{opacity:.78;transform:scaleX(1.65)scaleY(1.08)}to{opacity:0;transform:scaleX(3.2)scaleY(1.15)}}@keyframes sanctumRaysSweep{0%{opacity:0;transform:scale(.65)rotate(-4deg)}28%{opacity:.88;transform:scale(1.02)rotate(0)}65%{opacity:.55;transform:scale(1.22)rotate(3deg)}to{opacity:0;transform:scale(1.38)rotate(5deg)}}@keyframes knotUnravel{0%{opacity:1;transform:scale(1)rotate(0)translateY(0)}26%{opacity:1;transform:scale(.91)rotate(-8deg)translateY(2px)}58%{opacity:.78;transform:scale(1.04)rotate(5deg)translateY(12px)}to{opacity:0;transform:scale(.74)rotate(12deg)translateY(34px)}}@keyframes cordDropLeft{0%{opacity:1;transform:translate(0,0)rotate(0)scaleX(1)}20%{opacity:1;transform:translate(-2%,8px)rotate(5deg)scaleX(.98)}52%{opacity:.9;transform:translate(-24%,22px)rotate(11deg)scaleX(.88)}to{opacity:0;transform:translate(-66%,38px)rotate(15deg)scaleX(.72)}}@keyframes cordDropRight{0%{opacity:1;transform:translate(0,0)rotate(0)scaleX(1)}20%{opacity:1;transform:translate(2%,8px)rotate(-5deg)scaleX(.98)}52%{opacity:.9;transform:translate(24%,22px)rotate(-11deg)scaleX(.88)}to{opacity:0;transform:translate(66%,38px)rotate(-15deg)scaleX(.72)}}@keyframes clothExhale{0%{filter:brightness(.98);background-size:104% 100%}to{filter:brightness();background-size:100% 100%}}@keyframes clothGatherLeft{0%{opacity:1;transform:translate(0)skew(0)scaleX(1)}45%{filter:brightness(1.04)contrast(1.09)}95%{opacity:1}to{filter:brightness(.97)contrast(1.14);opacity:0;transform:translate(-28%)skew(-2.5deg)scaleX(.28)}}@keyframes clothGatherRight{0%{opacity:1;transform:translate(0)skew(0)scaleX(-1)}45%{filter:brightness(1.04)contrast(1.09)}95%{opacity:1}to{filter:brightness(.97)contrast(1.14);opacity:0;transform:translate(64%)skew(2.5deg)scaleX(-.28)}}@media (prefers-reduced-motion:reduce){.invitation-entrance *{transition:none!important;animation:none!important}}.ganesha-invocation{background:0 0;padding:0 16px 8px;position:relative}.invocation-frame{max-width:min(420px,66.67dvh - 74.6704px);margin:0 auto;container-type:inline-size}.invocation-heading{letter-spacing:.03em;text-align:center;color:var(--gold-dark);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding:2px 8px 8px;font-family:Noto Serif Devanagari,serif;font-size:clamp(14px,4.3cqw,18px);font-weight:400;line-height:1.25;display:flex}.invocation-om{color:var(--gold);margin:0;font-size:clamp(20px,6cqw,26px);line-height:1.05;display:block}.invocation-heading>span:last-child{white-space:nowrap;display:block}.invocation-artwork{isolation:isolate;border-radius:20px;max-width:100%;margin:0 auto;position:relative;overflow:hidden;container-type:inline-size}.invocation-figure{width:100%;height:auto;display:block}.invocation-bell{pointer-events:none;width:9.27734%;height:auto;animation:4.4s ease-in-out infinite invocation-original-bell;position:absolute;top:11.0677%}.invocation-bell--left{transform-origin:50% 2%;left:3.90625%}.invocation-bell--right{transform-origin:50% 2%;animation-delay:-2.2s;left:86.8164%}.invocation-fire{aspect-ratio:38/100;pointer-events:none;width:3.71094%;position:absolute;top:83.3333%}.invocation-fire--left{left:10.7422%}.invocation-fire--right{left:85.5469%}.invocation-flame{transform-origin:47.4% 94%;width:100%;height:auto;animation:1.8s ease-in-out infinite invocation-original-flame;display:block}.invocation-fire--right .invocation-flame{transform-origin:52.6% 94%;animation-duration:2.3s;animation-delay:-1.1s}.invocation-glow{mix-blend-mode:screen;background:radial-gradient(#ffca7766,#ffd17800 70%);animation:2.2s ease-in-out infinite invocation-original-glow;position:absolute;inset:-15% -110%}.invocation-fire--right .invocation-glow{animation-delay:-1.1s}.invocation-script-line{pointer-events:none;z-index:2;opacity:0;height:auto;position:absolute;transform:none}.ganesha-invocation[data-started=true] .invocation-script-line{animation:.8s both invocation-script-reveal}.invocation-petals{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.invocation-petals span{aspect-ratio:.7;opacity:0;background:radial-gradient(at 30% 25%,#fffdf2,#f8e6ba 55%,#cfa75f);border-radius:65% 20% 65% 35%;animation:linear infinite invocation-petal-fall;position:absolute;top:-4%;box-shadow:0 1px 2px #9b702b33}.invocation-petals span:nth-child(2n){border-radius:20% 65% 35%}.invocation-reading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ganesha-invocation[data-active=false] :is(.invocation-bell,.invocation-flame,.invocation-glow,.invocation-script-line,.invocation-petals span){animation-play-state:paused}@keyframes invocation-original-bell{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes invocation-original-flame{0%,to{opacity:.93;transform:rotate(-3deg)scale(.96,.93)}35%{opacity:1;transform:rotate(2deg)scale(1.04,1.12)}70%{opacity:.97;transform:rotate(-1deg)scaleY(1.02)}}@keyframes invocation-original-glow{0%,to{opacity:.45}50%{opacity:1}}@keyframes invocation-script-reveal{to{opacity:1;transform:none}}@keyframes invocation-petal-fall{0%{opacity:0;transform:translate(0,0)rotate(-20deg)}10%{opacity:.85}45%{transform:translate(-5px,70cqw)rotate(110deg)}85%{opacity:.75}to{opacity:0;transform:translate(7px,160cqw)rotate(270deg)}}@media (prefers-reduced-motion:reduce){.ganesha-invocation[data-started] :is(.invocation-bell,.invocation-flame,.invocation-glow,.invocation-script-line,.invocation-petals span){animation:none;transform:none}.ganesha-invocation .invocation-script-line{opacity:1}.invocation-petals{display:none}}.personal-invitation{text-align:center;background:0 0;padding:calc(clamp(48px,8svh,80px) - 20px) 24px clamp(48px,8svh,80px);scroll-margin-top:24px}.personal-invitation-copy{opacity:0;max-width:560px;margin:0 auto;transition:opacity .7s,transform .7s;transform:translateY(10px)}.personal-invitation-copy.is-visible{opacity:1;transform:none}.personal-invitation h1{margin:0;line-height:0}.personal-invitation-crest{width:min(100%,300px);margin:0 auto;display:block;position:relative}.personal-invitation-logo{width:100%;height:auto;margin:0 auto;display:block}.personal-invitation-crest-shimmer{pointer-events:none;mix-blend-mode:screen;opacity:0;background:linear-gradient(115deg,#0000 30%,#ffe8a800 41%,#fff2c6c7 49%,#ecbc585c 55%,#0000 66%) 0 0/260% 260%;position:absolute;inset:0;-webkit-mask-image:url(/images/assets/crest-cutout.webp);mask-image:url(/images/assets/crest-cutout.webp);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.personal-invitation-copy.is-visible .personal-invitation-crest-shimmer{animation:4.8s ease-in-out .1s infinite crestFoilShimmer}.personal-invitation-names{color:var(--gold-dark);background:linear-gradient(110deg, var(--gold-dark) 0%, var(--gold-dark) 38%, #e5bf68 50%, var(--gold-dark) 62%, var(--gold-dark) 100%);-webkit-text-fill-color:transparent;background-position:130%;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;margin-top:16px;font-family:Great Vibes,cursive;font-size:clamp(44px,12vw,60px);font-weight:400;line-height:1.4;display:block}.personal-invitation-copy.is-visible .personal-invitation-names{animation:4.8s ease-in-out .25s infinite namesFoilShimmer}@keyframes crestFoilShimmer{0%{opacity:.95;background-position:125% 125%}42%{opacity:.95;background-position:-25% -25%}52%,to{opacity:0;background-position:-25% -25%}}@keyframes namesFoilShimmer{0%{background-position:125%}45%,to{background-position:-25%}}.personal-invitation-names span{font-size:.7em}.personal-invitation-message{max-width:30ch;font-family:var(--font-heading);color:var(--text-secondary);margin:22px auto 0;font-size:clamp(20px,5.2vw,24px);font-style:italic;line-height:1.65}.personal-invitation-details{color:var(--gold-dark);margin-top:28px;line-height:1.5}.personal-invitation-details p:first-child{font-family:var(--font-heading);font-variant-numeric:lining-nums;letter-spacing:.06em;font-size:clamp(24px,6.2vw,30px);font-weight:600}.personal-invitation-details p:last-child{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary);margin-top:8px;font-size:13px;font-weight:500}@media (prefers-reduced-motion:reduce){.personal-invitation-copy{opacity:1;transition:none;transform:none}}.wardrobe-callout{text-align:center;width:min(100%,440px);margin:32px auto 8px;padding:18px 12px;scroll-margin-top:24px}.wardrobe-callout>p{font:italic 18px/1.5 var(--font-body);color:var(--text-secondary);margin-top:10px}.wardrobe-open{width:min(100%,320px);min-height:52px;color:var(--gold-dark);font:500 11.5px/1.6 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;background:#faf7f280;border:1px solid #c4973b6b;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;display:inline-flex}.wardrobe-dialog{background:var(--ivory);background-image:var(--paper-background);width:min(720px,100% - 24px);max-width:none;max-height:92dvh;color:var(--text-primary);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #c4973b59;border-radius:12px;margin:auto;padding:0;overflow:hidden}.wardrobe-dialog[open]{flex-direction:column;display:flex}.wardrobe-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5b432761}.wardrobe-dialog-header{border-bottom:1px solid #c4973b2e;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 20px;display:flex}.wardrobe-dialog-header h2{font:600 24px/1.3 var(--font-heading);color:var(--gold-dark)}.wardrobe-close{width:44px;height:44px;color:var(--gold-dark);background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.wardrobe-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:12px;overflow:auto}.wardrobe-pages{width:100%}.wardrobe-pages img{width:100%;max-width:none;height:auto;margin-bottom:12px;display:block}.wardrobe-page-error{padding:28px 16px;font-size:18px}.wardrobe-dialog :focus-visible,.wardrobe-open:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.wardrobe-swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 12px;max-width:290px;margin:0 auto;display:grid}.wardrobe-swatch{flex-direction:column;grid-column:span 2;align-items:center;gap:6px;min-width:0;display:flex}.wardrobe-swatch:nth-child(4){grid-column:2/span 2}.wardrobe-swatch:nth-child(5){grid-column:4/span 2}.wardrobe-swatch img{object-fit:contain;mix-blend-mode:multiply;width:64px;height:56px}.wardrobe-swatch span{font:400 12px/1.35 var(--font-sans);letter-spacing:.03em;color:var(--text-secondary);text-align:center}.wardrobe-all-colours{font:500 11.5px/1.6 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-top:14px}.couple-gallery{text-align:center;width:min(100%,520px);margin:0 auto;padding:28px 0 36px;scroll-margin-top:24px}.gallery-heading{padding:0 24px 20px}.gallery-eyebrow{font:500 11.5px/1.6 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.gallery-heading h2{font:italic 500 clamp(36px, 9.5vw, 50px)/1.15 var(--font-display);letter-spacing:.02em;color:var(--gold);text-wrap:balance}.gallery-vow{white-space:nowrap}.gallery-intro{font:italic 19px/1.5 var(--font-body);color:var(--text-secondary);margin-top:6px}.gallery-rail{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;padding:6px 24px 14px;scroll-padding-inline:24px;display:flex;overflow-x:auto}.gallery-rail::-webkit-scrollbar{display:none}.gallery-photo{aspect-ratio:3/4;background:var(--cream);scroll-snap-align:start;border:0;border-radius:18px;flex:0 0 88%;min-width:0;padding:0;overflow:hidden;box-shadow:0 0 0 1px #c4973b33,0 5px 12px #8b691417}.gallery-photo img{object-fit:cover;width:100%;height:100%;display:block}.gallery-controls{justify-content:center;align-items:center;gap:16px;display:flex}.gallery-arrow{width:44px;height:44px;color:var(--gold-dark);background:0 0;border:1px solid #c4973b40;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.gallery-arrow:disabled{opacity:.3;cursor:default}.gallery-count{min-width:72px;font:400 12px/1.5 var(--font-sans);letter-spacing:.12em;color:var(--text-secondary)}.gallery-hint{font:italic 17px/1.5 var(--font-body);color:var(--text-secondary);margin-top:8px}.gallery-auto{min-height:44px;color:var(--gold-dark);font:500 12px/1.5 var(--font-sans);letter-spacing:.04em;background:0 0;border:0;border-radius:22px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:6px 16px;display:inline-flex}.gallery-auto:disabled{opacity:.6;cursor:default}.gallery-motion-note{font:400 12px/1.5 var(--font-sans);color:var(--text-secondary);margin:8px 24px 0}.couple-gallery :focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.gallery-dialog{width:min(900px,100% - 24px);max-width:none;height:min(860px,92dvh);max-height:92dvh;color:var(--text-primary);background:var(--ivory);background-image:var(--paper-background);background-size:cover;border:1px solid #c4973b59;border-radius:18px;margin:auto;padding:12px;overflow:hidden}.gallery-dialog[open]{flex-direction:column;gap:12px;display:flex}.gallery-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#442e1aa6}.gallery-dialog-header{justify-content:space-between;align-items:center;gap:12px;padding-left:6px;display:flex}.gallery-dialog-header h3{font:500 24px/1.3 var(--font-heading)}.gallery-full-photo{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.gallery-full-photo:active{cursor:grabbing}.gallery-full-photo img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.gallery-photo-error{font:400 17px/1.5 var(--font-body);color:var(--text-secondary);padding:24px;display:block}.gallery-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.events-celebrations{background:0 0;padding:8px 16px 28px;position:relative}.event-celebration{max-width:440px;margin:0 auto;scroll-margin-top:16px}.event-floral-divider{justify-content:center;align-items:center;gap:18px;height:100px;display:flex}.event-floral-divider img{object-fit:contain;opacity:.7;width:42px;height:63px;transform:rotate(-60deg)}.event-floral-divider--day{height:112px}.event-floral-divider--transition{height:84px}.event-floral-divider--day img:first-child{transform:rotate(60deg)scaleX(-1)}.event-floral-divider--day img:last-child{transform:rotate(-60deg)}.event-floral-divider h2{font:400 clamp(38px, 9.5vw, 48px)/1.25 var(--font-script);color:var(--gold);white-space:nowrap}.event-window{position:relative}.events-celebrations .event-artwork{z-index:2;background:var(--ivory);border:1px solid #c4973b33;border-radius:10px 10px 0 0;overflow:hidden}.events-celebrations .artwork-heading{font-family:var(--font-script);font-weight:400}.events-celebrations .event-artwork--wedding .artwork-heading{font-size:16cqw}.events-celebrations .artwork-lead{font-family:var(--font-heading);letter-spacing:.02em;font-style:italic;font-weight:500}.events-celebrations .artwork-details{font-family:var(--font-heading);font-variant-numeric:lining-nums;letter-spacing:.04em;font-size:clamp(18px,5.8cqw,26px);font-weight:600;line-height:1.38}.event-wardrobe-reveal{position:relative;overflow:hidden}.event-wardrobe{background-color:var(--ivory);background-image:var(--paper-background);text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #c4973b33;border-top:0;border-radius:0 0 10px 10px;padding:18px 20px 24px}.event-wardrobe-label{font:500 11.5px/1.6 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.event-dresscode{font:600 clamp(21px, 5.4vw, 25px)/1.35 var(--font-heading);margin-bottom:4px}.event-wardrobe-subtitle{font:italic 19px/1.5 var(--font-body);color:var(--text-secondary);margin-bottom:14px}.events-celebrations .event-wardrobe .wardrobe-swatch span{font:400 13px/1.35 var(--font-sans);letter-spacing:.04em;color:var(--text-secondary)}.events-celebrations .event-wardrobe .wardrobe-all-colours{font:500 11.5px/1.6 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark)}@media (prefers-reduced-motion:reduce){.event-wardrobe{transform:none!important}}
