:root{--ink:#050505;--ivory:#ffffff;--ivory-dim:#eceae5;--accent:#dedbd5;--accent-soft:#b7b6b2;--hair:rgba(235,233,228,.46);--paper:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%27linear%27%20slope%3D%270.05%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:#000;color:var(--ivory);font-family:Cormorant Garamond,serif;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"liga" 1,"calt" 1}body{overflow-x:hidden}img{display:block;max-width:100%}.stage{max-width:480px;margin:0 auto;position:relative;background:var(--ink);min-height:100vh}.stage:before{content:"";position:fixed;top:0;bottom:0;pointer-events:none;z-index:60;box-shadow:inset 0 0 120px 20px #0009;max-width:480px;margin:0 auto;left:0;right:0}.orn{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--accent-soft)}.orn .rule{height:1px;width:46px;background:linear-gradient(90deg,transparent,var(--hair))}.orn .rule.r{background:linear-gradient(90deg,var(--hair),transparent)}.orn .dot{font-size:10px;letter-spacing:.3em}section{position:relative;padding:78px 32px;text-align:center}.kicker{font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.salam{font-family:Cormorant Garamond,serif;text-transform:none;font-size:15px;line-height:1.7;color:#fff;margin-bottom:14px}.serif-lg{font-family:Cormorant Garamond,serif;font-weight:300;font-size:34px;line-height:1.5;color:#fff}.body-cop{font-family:Cormorant Garamond,serif;font-weight:400;font-size:17px;line-height:1.8;color:var(--ivory-dim);max-width:340px;margin:20px auto 0}.ayat{font-style:italic;color:#fff;font-size:19px;margin-top:22px;font-family:Cormorant Garamond,serif;opacity:.92}.note-track{font-size:10px;letter-spacing:.24em;color:var(--accent-soft);text-transform:uppercase;margin-top:14px}.greeting .body-cop{font-size:14px;line-height:1.9;letter-spacing:.02em;max-width:300px}.greeting .ayat{font-size:15px;line-height:1.85;letter-spacing:.01em;max-width:320px;margin:26px auto 0;opacity:.85}.greeting .note-track{font-size:9px;letter-spacing:.3em;margin-top:18px;opacity:.9}.closing{padding-bottom:40px}.sign{font-family:Great Vibes,cursive;font-size:52px;color:#fff;margin-top:12px}.foot{padding:30px;text-align:center;border-top:1px solid var(--hair)}.foot .tiny{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-soft)}.foot .tiny2{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ivory-dim);font-size:17px;margin-top:8px}.fab{position:fixed;z-index:120;bottom:22px;width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);background:#050505d9;color:var(--accent);display:none;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fab.show{display:flex}.fab svg{width:20px;height:20px}.music{right:calc(50% - 220px)}.backtop{left:calc(50% - 220px)}@media (max-width:480px){.music{right:20px}.backtop{left:20px}}.music.playing .disc{animation:spin 3.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.orn-div{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:20px}.orn-div .ln{width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--accent))}.orn-div .ln.r{background:linear-gradient(90deg,var(--accent),transparent)}.orn-div svg{width:17px;height:17px;color:var(--accent);opacity:.95;animation:ornTwinkle 3s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(222,219,213,.5))}@keyframes ornTwinkle{0%,to{opacity:.5;transform:scale(.9) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(45deg)}}.card,.rsvp-box,.wish-box{position:relative}.card:before,.rsvp-box:before,.wish-box:before,.card:after,.rsvp-box:after,.wish-box:after{content:"";position:absolute;width:17px;height:17px;pointer-events:none;opacity:.7}.card:before,.rsvp-box:before,.wish-box:before{left:9px;top:9px;border-left:1px solid var(--accent);border-top:1px solid var(--accent)}.card:after,.rsvp-box:after,.wish-box:after{right:9px;bottom:9px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent)}@keyframes sheenSweep{0%{transform:translate(-70%)}55%,to{transform:translate(70%)}}.reveal{opacity:0;transform:translateY(30px) scale(.99);filter:blur(4px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s ease}.reveal.in{opacity:1;transform:none;filter:blur(0)}.bg-motif{position:sticky;top:0;height:100vh;max-width:480px;margin:0 auto -100vh;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 12%,#0d1730,#070b18 45%,#030409)}.nebula{position:absolute;border-radius:50%;filter:blur(30px);opacity:.4;animation:drift 26s ease-in-out infinite}.nebula.a{width:70%;height:34%;left:8%;top:14%;background:radial-gradient(circle,rgba(90,120,190,.5),transparent 65%)}.nebula.b{width:60%;height:30%;right:6%;top:58%;background:radial-gradient(circle,rgba(150,120,180,.4),transparent 65%);animation-duration:34s;animation-direction:reverse}@keyframes drift{0%{transform:translate(-8%,-4%)}50%{transform:translate(10%,16%)}to{transform:translate(-8%,-4%)}}.stars i{position:absolute;border-radius:50%;background:#fff;animation:twinkle ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.planet{position:absolute;border-radius:50%}.planet .ring{position:absolute;top:-34%;right:-14%;bottom:-34%;left:-14%;border:1px solid rgba(210,220,240,.22);border-radius:50%;transform:rotate(-22deg);z-index:3}.planet .surface{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;z-index:1}.planet .surface:before{content:"";position:absolute;top:0;left:0;height:100%;width:200%;animation:bandScroll linear infinite}@keyframes bandScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.planet:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;z-index:2;pointer-events:none;background:radial-gradient(circle at 30% 26%,#ffffff80,#fff0 42%),radial-gradient(circle at 74% 82%,#00000a99,#00000a00 60%);box-shadow:inset -3px -4px 8px #00001473,inset 3px 3px 7px #ffffff26}.planet.p1{width:66px;height:66px;left:12%;top:24%;box-shadow:0 0 26px #7896d266;animation:floatP 24s ease-in-out infinite}.planet.p1 .surface:before{background:repeating-linear-gradient(82deg,#2f4a78 0,#3f5f92,#6f8bc0,#3f5f92,#28406c 16%),radial-gradient(circle at 30% 60%,#d6e4ff 0,transparent 8%),radial-gradient(circle at 65% 35%,#bcd0f5 0,transparent 7%);background-color:#35507f}.planet.p1 .surface:before{animation-duration:26s}.planet.p2{width:40px;height:40px;right:15%;top:44%;box-shadow:0 0 20px #d2aa7866;animation:floatP 30s ease-in-out infinite reverse}.planet.p2 .surface:before{background:repeating-linear-gradient(88deg,#b98a5c 0,#d9b483,#efd6ac,#cf9f6f 9%,#a9743f,#d9b483 17%),radial-gradient(circle at 62% 58%,#b45a44 0,#8f3f30 3%,transparent 6%);background-color:#c49a6b}.planet.p2 .surface:before{animation-duration:16s;animation-direction:reverse}.planet.p3{width:24px;height:24px;left:22%;top:70%;box-shadow:0 0 16px #96c8aa66;animation:floatP 22s ease-in-out infinite}.planet.p3 .surface:before{background:repeating-linear-gradient(80deg,#4d7a5a 0,#6f9e72,#3f6349,#8fb98a 15%),radial-gradient(circle at 40% 55%,#3a5f7a 0,transparent 9%),radial-gradient(circle at 70% 40%,#3a5f7a 0,transparent 7%);background-color:#5c8763}.planet.p3 .surface:before{animation-duration:13s}@keyframes floatP{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.satellite{position:absolute;top:10%;left:-16%;width:120px;height:2px;opacity:.9;animation:satMove 42s linear infinite}.satellite .trail{position:absolute;right:10px;top:0;width:80px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(180,205,255,.6))}.satellite .body{position:absolute;right:-2px;top:-7px;color:#dfe8ff;filter:drop-shadow(0 0 6px rgba(160,195,255,.9))}.satellite .body svg{width:17px;height:17px}@keyframes satMove{0%{transform:translate(0) rotate(18deg)}50%{transform:translate(64vw,22vh) rotate(18deg)}to{transform:translate(130vw,44vh) rotate(18deg)}}.shooting{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.shoot{position:absolute;width:3px;height:3px;background:#fff;border-radius:50%;opacity:0;box-shadow:0 0 6px 1px #fffffff2}.shoot:before{content:"";position:absolute;right:3px;top:1px;width:90px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(200,220,255,.9))}.shoot.go{animation:shoot 1.2s ease-in forwards}@keyframes shoot{0%{opacity:0;transform:translate(0) rotate(45deg)}10%{opacity:1}to{opacity:0;transform:translate(52vw,70vh) rotate(45deg)}}#content{position:relative;z-index:2}@media (prefers-reduced-motion:reduce){.nebula,.stars i,.planet,.satellite,.shoot,.planet:after{animation:none}}.env-screen{position:fixed;top:0;right:0;bottom:0;left:0;max-width:480px;margin:0 auto;z-index:150;background:radial-gradient(ellipse at 50% 34%,#101a33,#070b18 48%,#020308);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;transition:opacity 1s ease,transform 1s cubic-bezier(.65,0,.35,1)}.env-screen.gone{opacity:0;transform:translateY(-100%);pointer-events:none}.galaxy{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.gx-swirl{position:absolute;left:50%;top:40%;width:200%;height:200%;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from 0deg at 50% 50%,rgba(120,150,225,.16),transparent 18%,rgba(160,120,205,.14) 38%,transparent 56%,rgba(120,150,225,.16) 76%,transparent 100%),conic-gradient(from 120deg at 50% 50%,rgba(150,175,235,.1),transparent 22%,rgba(170,130,210,.09) 46%,transparent 70%);filter:blur(8px);animation:gxSpin 120s linear infinite}@keyframes gxSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.gx-core{position:absolute;left:50%;top:40%;width:230px;height:110px;transform:translate(-50%,-50%) rotate(-18deg);background:radial-gradient(ellipse at 50% 50%,rgba(255,248,225,.8) 0%,rgba(200,205,255,.4) 22%,rgba(140,160,230,.15) 46%,transparent 70%);filter:blur(6px)}.gx-band{position:absolute;left:-25%;right:-25%;top:44%;height:34%;transform:rotate(-18deg);background:radial-gradient(ellipse at 50% 50%,rgba(150,170,235,.2),transparent 72%);filter:blur(12px)}.gxstars i{position:absolute;border-radius:50%;background:#fff;animation:twinkle ease-in-out infinite}.env-stars{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;perspective:600px;perspective-origin:50% 40%;z-index:1}.env-stars i{position:absolute;top:-8%;border-radius:50%;background:#fff;box-shadow:0 0 6px 1px #c8dcffe6;animation:starFall3d linear infinite}@keyframes starFall3d{0%{transform:translateY(-10vh) translateZ(-320px) rotate(8deg);opacity:0}12%{opacity:1}90%{opacity:.9}to{transform:translateY(118vh) translateZ(240px) rotate(8deg);opacity:0}}.scene,.env-tap{position:relative;z-index:2}.env-eyebrow{position:relative;z-index:3;text-shadow:0 1px 6px rgba(3,6,16,.85)}@media (prefers-reduced-motion:reduce){.env-stars i{animation:none}}.env-eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);text-align:center}@media (max-width:374px){.env-eyebrow{font-size:9.5px;letter-spacing:.28em}}.env-eyebrow b{display:block;font-family:Great Vibes,cursive;font-size:46px;letter-spacing:0;color:#fff;text-transform:none;margin-top:8px;font-weight:400}.scene{perspective:1400px;width:300px;height:210px;cursor:pointer}.envelope{position:relative;width:300px;height:210px;transform-style:preserve-3d;animation:envFloat 5s ease-in-out infinite}@keyframes envFloat{0%,to{transform:translateY(0) rotateX(6deg) rotateY(-6deg)}50%{transform:translateY(-14px) rotateX(6deg) rotateY(6deg)}}.env-screen.opening .envelope{animation:none;transform:translateY(-6px) rotateX(4deg)}.env-base{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;background:var(--paper),linear-gradient(150deg,#25406e,#182c4e 55%,#0f1d38);background-blend-mode:overlay,normal;box-shadow:0 34px 70px #000000a8,inset 0 1px #dcbe7866,inset 0 -12px 26px #0000004d;border:1px solid rgba(226,198,120,.55)}.env-base:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;pointer-events:none;background:linear-gradient(150deg,rgba(120,150,210,.35),transparent 42%)}.env-pocket{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;z-index:3;background:linear-gradient(150deg,#fdf6e3,#e9d290 45%,#c9a94f);clip-path:polygon(0 30%,50% 66%,100% 30%,100% 100%,0 100%)}.env-pocket .fill{position:absolute;top:1.6px;right:1.6px;bottom:1.6px;left:1.6px;background:var(--paper),linear-gradient(150deg,#20375f,#152744 60%,#0d1a33);background-blend-mode:overlay,normal;clip-path:polygon(0 30%,50% 66%,100% 30%,100% 100%,0 100%);box-shadow:inset 0 4px 10px #00000059}.env-pocket:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(178deg,rgba(0,0,0,.4),transparent 16%);clip-path:polygon(0 30%,50% 66%,100% 30%,50% 72%)}.env-letter{position:absolute;left:14px;right:14px;top:16px;bottom:16px;background:linear-gradient(180deg,#fffef9,#f6f0e6);border-radius:3px;z-index:2;box-shadow:0 6px 16px #00000029;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform 1s cubic-bezier(.6,0,.2,1) .55s,opacity .55s ease 1.05s;transform:translateY(0)}.env-letter .mono{font-family:Great Vibes,cursive;font-size:42px;color:#3a3a3a;line-height:1}.env-letter .sub{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#9a8f7d}.env-screen.opening .env-letter{transform:translateY(-40px);opacity:0}.env-flap{position:absolute;left:0;top:0;width:300px;height:120px;background:linear-gradient(150deg,#fdf6e3,#e9d290 45%,#c9a94f);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transition:transform .85s ease;z-index:5;backface-visibility:hidden;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}.env-flap .fill{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--paper),linear-gradient(160deg,#2a4676,#1b3054 58%,#122240);background-blend-mode:overlay,normal;clip-path:polygon(.8% 1.4%,99.2% 1.4%,50% 97%)}.env-flap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none;z-index:2;background:linear-gradient(160deg,rgba(160,190,235,.3),transparent 34%,rgba(0,0,0,.18) 100%)}.env-screen.opening .env-flap{transform:rotateX(180deg);z-index:1}.env-deco{position:absolute;left:-34px;right:-34px;top:-30px;bottom:-30px;width:auto;height:auto;z-index:7;pointer-events:none;overflow:visible}.env-seal{position:absolute;left:50%;top:60px;width:52px;height:52px;margin-left:-26px;border-radius:50%;z-index:6;background:radial-gradient(circle at 38% 30%,#fbf0c4,#e6c877 40%,#c69f45 76%,#9c7a2e);box-shadow:0 5px 12px #00000080,inset 0 2px 4px #ffffff73,inset 0 -5px 9px #0006;display:flex;align-items:center;justify-content:center;color:#5a4410;font-family:Cormorant Garamond,serif;font-weight:600;font-size:17px;text-shadow:0 1px 1px rgba(255,255,255,.4),0 -1px 1px rgba(0,0,0,.2);transition:opacity .3s}.env-seal:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1px solid rgba(255,255,255,.16)}.env-seal:after{content:"";position:absolute;left:15%;top:12%;width:34%;height:26%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 70%)}.env-screen.opening .env-seal{opacity:0}.env-tap{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-soft);animation:tapPulse 2s ease-in-out infinite}.env-screen.opening .env-tap{opacity:0;transition:opacity .3s}@keyframes tapPulse{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.envelope{animation:none}}.cover{position:sticky;top:0;width:100%;height:100vh;max-width:480px;margin:0 auto;z-index:1;background:var(--ink);display:flex;flex-direction:column;overflow:hidden}.cover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(7,11,24,.62) 46%,#070b18 92%)}.cover-photo{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/cover.jpg);background-size:cover;background-position:50% 50%}.fireflies{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:930/1388;min-width:100%;min-height:100%;container-type:size;z-index:3;pointer-events:none;overflow:hidden}.ff{position:absolute;width:0;height:0;animation:ffDescend linear infinite}@keyframes ffDescend{0%{top:22%;transform:scale(.5);opacity:0}10%{opacity:1}86%{opacity:1}to{top:88%;transform:scale(1.35);opacity:0}}.birds{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:930/1388;min-width:100%;min-height:100%;container-type:size;z-index:2;pointer-events:none;overflow:hidden}.bird{position:absolute;left:0;color:#080d1a;animation:birdFlyR linear infinite}.bird.rtl{animation-name:birdFlyL}.bird i{display:block;animation:birdFlap ease-in-out infinite}.bird svg{display:block;width:100%;height:auto}@keyframes birdFlyR{0%{transform:translate(-15cqw)}to{transform:translate(115cqw)}}@keyframes birdFlyL{0%{transform:translate(115cqw)}to{transform:translate(-15cqw)}}@keyframes birdFlap{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(.35)}}@media (prefers-reduced-motion:reduce){.birds{display:none}}.ff i{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle,#fffdf2,#ffe08a 45%,#ffb03400 74%);box-shadow:0 0 6px 2px #ffe08af2,0 0 16px 6px #ffbe5099,0 0 30px 12px #ffaa3247;animation:ffOrbit linear infinite,ffBlink ease-in-out infinite}@keyframes ffOrbit{0%{transform:rotate(0) translate(var(--r)) rotate(0)}to{transform:rotate(360deg) translate(var(--r)) rotate(-360deg)}}@keyframes ffBlink{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.fireflies{display:none}}.motif{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden}.aura{position:absolute;top:38%;left:50%;width:150%;height:150%;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),rgba(255,255,255,.04) 34%,transparent 60%);animation:auraPulse 9s ease-in-out infinite}@keyframes auraPulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.12)}}.particles{position:absolute;top:0;right:0;bottom:0;left:0}.particles i{position:absolute;bottom:-12px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fffc;opacity:0;animation:rise linear infinite}@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}12%{opacity:.9}70%{opacity:.7}to{transform:translateY(-102vh) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.aura,.particles i{animation:none}}.cover-inner{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:58px 34px 54px;text-align:center;opacity:0;transform:translateY(30px);transition:opacity .9s ease .35s,transform .9s cubic-bezier(.2,.7,.2,1) .35s}.cover.revealed .cover-inner{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.cover-inner{transition:none;opacity:1;transform:none}}.eyebrow{font-size:13px;letter-spacing:.42em;text-transform:uppercase;color:#fff;font-weight:400}.cover-names{font-family:Great Vibes,cursive;color:#fff;font-size:84px;line-height:.9;margin:10px 0;text-shadow:0 1px 14px rgba(0,0,0,.55);text-align:center}.cover-amp{display:block;font-size:40px;color:#fff;margin:2px 0;font-family:Great Vibes,cursive}.cover-bottom{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.cover-date,.to-line,.guest,.scroll-cue span{text-shadow:0 1px 10px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.75)}.eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.75)}.cover-date{font-family:Cormorant Garamond,serif;font-weight:400;letter-spacing:.26em;font-size:17px;color:#fff}.to-line{font-size:13px;letter-spacing:.22em;color:var(--ivory-dim);text-transform:uppercase}.guest{font-family:Cormorant Garamond,serif;font-size:26px;color:#fff;border-bottom:1px solid var(--hair);padding-bottom:4px;display:inline-block}.scroll-cue{margin-top:6px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff}.scroll-cue span{font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.85}.scroll-cue svg{width:20px;height:20px;animation:cueBounce 1.8s ease-in-out infinite}@keyframes cueBounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(7px);opacity:1}}@media (prefers-reduced-motion:reduce){.scroll-cue svg{animation:none}}.couple-intro{margin:18px auto 34px}.couple-portrait{position:relative;width:130px;margin:0 auto 20px;padding:1px;border-radius:49px 49px 15px 15px;overflow:hidden;background:linear-gradient(180deg,#e6c8789e,#e2c67829 40%,#c9a94f0d 74%,#c9a94f1f);box-shadow:0 22px 44px #0000008c,0 0 30px #c69f4524}.couple-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:48px 48px 14px 14px;filter:brightness(.68) contrast(1.02) saturate(.92)}.couple-portrait:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;z-index:2;border-radius:48px 48px 14px 14px;background:linear-gradient(180deg,rgba(255,240,205,.1) 0%,transparent 20%,transparent 58%,rgba(7,11,24,.55) 84%,rgba(7,11,24,.92) 100%)}.couple-portrait:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;pointer-events:none;z-index:3;background:linear-gradient(115deg,transparent 42%,rgba(255,244,214,.16) 50%,transparent 58%);animation:sheenSweep 7.5s ease-in-out infinite}.amp-big~.couple-portrait:before{animation-delay:-3.75s}@media (prefers-reduced-motion:reduce){.couple-portrait:before{animation:none;opacity:0}}.couple-name{font-family:Great Vibes,cursive;font-size:60px;color:#fff;margin:6px 0 2px;line-height:1}.couple-sub{font-family:Cormorant Garamond,serif;font-size:20px;color:#fff;letter-spacing:.05em}.couple-role{font-size:15px;color:var(--ivory-dim);margin-top:12px;font-family:Cormorant Garamond,serif;line-height:1.7}.couple-role,.couple-sub,.couple-role *{-webkit-text-fill-color:currentColor}a[x-apple-data-detectors]{color:inherit!important;-webkit-text-fill-color:currentColor!important;text-decoration:none!important}.couple-role .lbl{display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-family:Jost}.amp-big{font-family:Great Vibes,cursive;font-size:50px;color:#fff;margin:30px 0;opacity:.85}.card{border:1px solid var(--hair);padding:38px 26px;max-width:360px;margin:26px auto 0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}.card h3{font-family:Cormorant Garamond,serif;font-weight:500;font-size:28px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.card .when{font-family:Cormorant Garamond,serif;font-size:23px;color:#fff;margin-top:14px}.card .time{font-size:14px;letter-spacing:.2em;color:var(--ivory-dim);margin-top:6px;text-transform:uppercase}.card .divider{height:1px;background:var(--hair);margin:20px auto;width:60%}.card .venue{font-family:Cormorant Garamond,serif;font-size:22px;color:#fff}.card .addr{font-size:14px;letter-spacing:.08em;color:var(--ivory-dim);margin-top:6px;line-height:1.7}.map-btn{display:inline-flex;align-items:center;gap:8px;margin-top:22px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:12px;letter-spacing:.26em;text-transform:uppercase;padding:11px 22px;transition:.4s}.map-btn:hover{background:var(--accent);color:var(--ink)}.map-btn svg{width:12px;height:12px}.card-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.card-actions .map-btn{margin-top:0}button.map-btn{background:transparent;cursor:pointer;font-family:Jost}.cd{display:flex;justify-content:center;gap:9px;margin-top:30px}.cd .box{border:1px solid var(--hair);padding:16px 0;width:80px;background:#ffffff08}.cd .num{font-family:Cormorant Garamond,serif;font-size:39px;color:#fff;line-height:1}.cd .lab{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);margin-top:8px}.cd-actions{display:flex;justify-content:center;margin-top:28px}.cd-actions .map-btn{margin-top:0}.gallery{overflow:hidden}.gal-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:360px;margin:26px auto 0}.gal-item{flex:0 0 calc((100% - 10px)/2)}.gal-item{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:10px;background:#080b16;box-shadow:inset 0 0 0 1px #ebe9e412}.gal-item .ph{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;filter:brightness(.66) contrast(1.02) saturate(.92);transition:filter .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.gal-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 50% 40%,transparent 40%,rgba(7,11,24,.45) 80%,rgba(7,11,24,.88) 100%),linear-gradient(180deg,transparent 52%,rgba(7,11,24,.72) 100%)}.gal-item:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.13) 50%,transparent 58%);animation:sheenSweep 7.5s ease-in-out infinite}.gal-item:nth-child(2):before{animation-delay:-.83s}.gal-item:nth-child(3):before{animation-delay:-1.67s}.gal-item:nth-child(4):before{animation-delay:-2.5s}.gal-item:nth-child(5):before{animation-delay:-3.33s}.gal-item:nth-child(6):before{animation-delay:-4.17s}.gal-item:nth-child(7):before{animation-delay:-5s}.gal-item:nth-child(8):before{animation-delay:-5.83s}.gal-item:nth-child(9):before{animation-delay:-6.67s}.gal-item:hover .ph{filter:brightness(.82) contrast(1.02) saturate(.96);transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.gal-item .ph{transition:none}.gal-item:hover .ph{transform:none}.gal-item:before{animation:none;opacity:0}}.gift{display:flex;flex-direction:column;gap:16px;max-width:340px;margin:0 auto}.gift-group-title{font-family:Jost;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);text-align:center;margin:30px 0 14px}.gift-card,.gift-addr{border:1px solid var(--hair);border-radius:6px;padding:22px 20px;text-align:center;background:linear-gradient(160deg,#28375f59,#0f1d3859)}.gift-bank{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-family:Jost;display:flex;align-items:center;justify-content:center;gap:10px}.gift-logo{flex:none;height:30px;width:auto;border-radius:3px;box-shadow:0 1px 4px #00000059}.gift-icon{flex:none;height:26px;width:auto;opacity:.95}.gift-no{font-family:Cormorant Garamond,serif;font-size:26px;letter-spacing:.06em;color:#fff}.gift-name{font-size:13px;color:var(--accent-soft);margin:4px 0 14px;font-family:Cormorant Garamond,serif;font-style:italic}.gift-addr-line{font-family:Cormorant Garamond,serif;font-size:19px;letter-spacing:.02em;color:#fff;line-height:1.55;max-width:262px;margin:0 auto}.copy-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-family:Jost;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:9px 18px;border-radius:2px;cursor:pointer;transition:.3s}.copy-btn:hover,.copy-btn.done{background:var(--accent);color:var(--ink)}.copy-btn svg{width:13px;height:13px}.invite-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:360px;margin:26px auto 0}.invite-list span{border:1px solid var(--hair);border-radius:20px;padding:9px 16px;font-size:13px;color:var(--accent-soft);font-family:Cormorant Garamond,serif}.rsvp-box{border:1px solid var(--hair);padding:34px 24px;max-width:360px;margin:26px auto 0;text-align:left;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}.field{margin-bottom:18px}.field label{display:block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.field input,.field select{width:100%;background:#00000059;border:1px solid var(--hair);color:#fff;font-family:Cormorant Garamond,serif;font-size:20px;padding:11px 13px;outline:none;border-radius:1px}.field input:focus,.field select:focus{border-color:#fff}.attend{display:flex;gap:10px}.attend button{flex:1;background:#0000004d;border:1px solid var(--hair);color:var(--ivory-dim);font-family:Jost;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:12px 0;cursor:pointer;transition:.3s}.attend button.sel{background:#fff;color:var(--ink);border-color:#fff}.send-btn{width:100%;margin-top:6px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:Jost;font-size:13px;letter-spacing:.26em;text-transform:uppercase;padding:14px 0;cursor:pointer;transition:.4s;display:flex;align-items:center;justify-content:center;gap:9px}.send-btn:hover{background:var(--accent);color:var(--ink)}.send-btn svg{width:14px;height:14px}.rsvp-note{font-size:13px;color:var(--accent-soft);margin-top:14px;line-height:1.7;font-family:Cormorant Garamond,serif;font-style:italic;text-align:center}.rsvp-err{color:#e2a3a3;font-size:12px;margin-top:8px;letter-spacing:.02em;font-family:Jost,sans-serif}.field input.err{border-color:#c98a8a}.send-btn.off{opacity:.5}.wish-box{border:1px solid var(--hair);padding:26px 22px;max-width:360px;margin:24px auto 18px;text-align:left;background:linear-gradient(160deg,#28375f4d,#0f1d384d);border-radius:6px}.wish-box textarea{width:100%;background:#00000040;border:1px solid var(--hair);color:#fff;font-family:Cormorant Garamond,serif;font-size:16px;padding:12px 14px;border-radius:4px;resize:vertical;min-height:78px}.wish-box input{width:100%;background:#00000040;border:1px solid var(--hair);color:#fff;font-family:Cormorant Garamond,serif;font-size:16px;padding:11px 14px;border-radius:4px;margin-bottom:10px}.wishes{max-width:360px;margin:0 auto;text-align:left;max-height:300px;overflow-y:auto;padding-right:4px}.wish{border-bottom:1px solid var(--hair);padding:14px 2px}.wish-name{font-family:Jost;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.wish-msg{font-family:Cormorant Garamond,serif;font-size:16px;line-height:1.6;color:var(--accent-soft);margin-top:4px}
