/* One continuous strip of satin; the front pocket stays intact. */
.continuous-ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:20;overflow:visible;pointer-events:none;filter:drop-shadow(0 4px 2px #694a3659)}
.continuous-ribbon use{fill:none;stroke-linecap:butt;stroke-linejoin:round}
.silk-edge{stroke:#977448;stroke-width:31}.silk-body{stroke:url(#satinGold);stroke-width:29}.silk-highlight{stroke:#fff2d2;stroke-width:2;opacity:.65}
.envelope,.envelope:hover{transform-style:flat}
.opening .envelope-scene{transform:none;transition:none;z-index:8}
.opening .envelope,.opening .envelope:hover{transform:none}
.opening.reframing .cover-heading,.opening.reframing .guest-dedication,.opening.reframing .roshni-picker,.opening.reframing .music-hint,.opening.reframing .sample-marker{opacity:0;pointer-events:none}
.opening.reframing .opening-instruction{position:fixed;left:16px;right:16px;bottom:18px;z-index:15;margin:0;pointer-events:none}
.opening.reframing .opening-instruction p{font-size:16px;margin:0}.opening.reframing .opening-progress{margin:8px 0 0}
.opening.reframing .skip-opening{bottom:auto;top:12px;right:23px;left:auto;z-index:20}
.opening .envelope-scene .fold{transform:none;transition:none;z-index:6}
.opening .envelope-scene .fold-bottom{z-index:7}
.inside-card{z-index:4;transition:none;transform:none}
.envelope-scene.card-out .inside-card{z-index:4;transform:none;transition:none}
.envelope-scene.flap-open .envelope-flap{animation:pocketFlap 1.05s cubic-bezier(.24,.55,.2,1) forwards}
.seal-lift .wax-medallion{animation:waxLift .8s cubic-bezier(.4,.05,.2,1) forwards}
.card-portal{position:fixed;inset:0;z-index:120;overflow:hidden;background:transparent;pointer-events:auto}
.card-flight{position:absolute!important;inset:auto!important;margin:0;display:flex!important;box-sizing:border-box;z-index:1;box-shadow:0 12px 48px #5b312e33;transition:none!important;direction:ltr}
.card-flight>*{flex-shrink:0}.lang-ur .card-flight{direction:rtl}
@keyframes pocketFlap{0%{transform:rotateX(0);z-index:12;filter:brightness(1)}49%{z-index:12}50%{z-index:3}100%{transform:rotateX(-180deg);z-index:3;filter:brightness(.95)}}
/* Three independent scene plates blend while the foreground keeps moving. */
.event-artwork{isolation:isolate;overflow:hidden;min-height:670px;padding:0;display:flex;flex-direction:column;justify-content:space-between;background:#4d2f31}
.event-scenes,.scene-shade,.scene-petals{position:absolute;inset:0;z-index:-3;pointer-events:none}
.event-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.045);transition:opacity .85s ease;animation:sceneDrift 14s ease-in-out infinite alternate;animation-play-state:paused}
.event-panel[data-theme=mehndi] .scene-mehndi,.event-panel[data-theme=baraat] .scene-baraat,.event-panel[data-theme=walima] .scene-walima{opacity:1}
.event-panel.is-lit .event-scene{animation-play-state:running}
.scene-shade{z-index:-2;background:linear-gradient(#251b235c,transparent 32%,transparent 72%,#20171dcc)}
.event-panel[data-theme=walima] .scene-shade{background:linear-gradient(#fff8ec99,transparent 30%,transparent 73%,#fff5e4e6)}
.event-artwork>.event-arch,.event-artwork>.event-icon,.event-artwork>.event-flower,.event-artwork .occasion-flowers,.event-artwork .royal-chandelier{display:none}
.event-panel .event-artwork .event-urdu{position:relative;margin:36px 0 0;padding:0 12px;font-size:36px;color:#fff7df;text-shadow:0 2px 12px #332119;z-index:3;line-height:1.7}
.event-artwork>p{margin:0 auto 34px!important;font:italic 24px/1.3 var(--serif);color:#fff8e8;text-shadow:0 1px 10px #30221d;max-width:86%;z-index:3}
.event-panel[data-theme=walima] .event-urdu,.event-panel[data-theme=walima] .event-artwork>p{color:#6d563c;text-shadow:0 1px #fff8ee}
.event-art-number{font-size:48px;top:auto;bottom:30px;right:20px;opacity:.24;color:#fff5df;line-height:1;z-index:2}
.occasion-scenery{z-index:1;pointer-events:none}.marigold-strings{inset:0 2%;justify-content:space-between}.marigold-string:nth-child(2),.marigold-string:nth-child(3),.marigold-string:nth-child(4){visibility:hidden}.marigold-string i{width:12px;height:12px;opacity:.8}
.event-panel .event-art-lights{height:44px;opacity:.65!important;z-index:2}
.candle{bottom:16%;width:8px;height:38px;z-index:2}.candle-left{left:8%}.candle-right{right:8%;height:52px}.candle i{width:5px;height:13px;left:2px}
.scene-light{position:absolute;inset:-15%;background:radial-gradient(ellipse at 18% 30%,#ffe1a626,transparent 24%),radial-gradient(ellipse at 82% 30%,#ffe7ae22,transparent 24%);mix-blend-mode:screen;z-index:1;pointer-events:none;animation:sceneGlow 5s ease-in-out infinite alternate}
.scene-petals{z-index:2;overflow:hidden}.scene-petals i{position:absolute;top:-8%;left:var(--x);width:var(--size);height:calc(var(--size)*1.3);border-radius:85% 10% 70% 30%;background:linear-gradient(120deg,#f4adb2,#a23d58);opacity:0;animation:scenePetalFall var(--duration) var(--delay) linear infinite;animation-play-state:paused}
.event-panel[data-theme=mehndi] .scene-petals i{background:linear-gradient(120deg,#ffdc73,#d9952f)}.event-panel[data-theme=walima] .scene-petals i{background:linear-gradient(120deg,#fffef4,#e6cfad)}
.event-panel.is-lit .scene-petals i{animation-play-state:running}
.event-panel:not(.is-lit) .scene-light{animation-play-state:paused}.lights-off .scene-light{opacity:0;animation:none}.lights-off .event-art-lights{opacity:.08!important}
.event-panel.switching{animation:none}.event-panel.switching .event-artwork{animation:none}
.lang-ur .event-artwork>p{font:23px/1.8 NoorArabic,serif}.lang-ur .event-panel .event-artwork .event-urdu{font-size:36px}
@keyframes sceneDrift{from{transform:scale(1.025) translateY(0)}to{transform:scale(1.085) translateY(-.9%)}}
@keyframes sceneGlow{from{opacity:.3;transform:translateX(-2%)}to{opacity:.95;transform:translateX(2%)}}
@keyframes scenePetalFall{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}10%{opacity:.7}85%{opacity:.55}100%{transform:translate3d(var(--drift),750px,0) rotate(270deg);opacity:0}}
/* Music controls share one small, keyboard-accessible popover. */
.volume-control{position:relative;align-self:stretch;display:flex;align-items:center}
.volume-panel{position:absolute;top:calc(100% + 15px);right:-30px;min-width:235px;background:#fffaf4;border:1px solid #dbc2ac;border-radius:7px;padding:18px;box-shadow:0 8px 30px #47272d24;color:var(--ink);z-index:70;direction:ltr}
.volume-panel label{font:12px var(--sans);display:block;margin-bottom:12px}.volume-panel>div{display:flex;align-items:center;gap:12px}
.volume-panel input[type=range]{appearance:auto;width:145px;height:24px;padding:0;margin:0;accent-color:#79394b;cursor:pointer;border:0;background:transparent}
.volume-panel output{font:11px var(--sans);min-width:32px;text-align:right}.lang-ur .volume-panel label{font:16px NoorArabic,serif}
.header-tools button{min-width:32px;min-height:38px}
@media(max-width:700px){.header-tools{gap:13px}.topbar{padding-inline:15px;gap:12px}.event-artwork{min-height:0;aspect-ratio:4/5;max-height:610px}.event-panel .event-artwork .event-urdu{margin-top:26px;font-size:30px}.event-artwork>p{font-size:21px;margin-bottom:27px!important}.event-art-number{font-size:36px;bottom:28px}.event-content{padding-top:29px}.event-art-lights{height:36px!important}.volume-panel{right:-40px;top:calc(100% + 11px)}.opening.reframing .opening-instruction{bottom:12px}.opening.reframing .opening-instruction p{font-size:14px}.opening.reframing .skip-opening{right:18px;font-size:10px}.lang-ur .opening.reframing .opening-instruction p{font-size:16px}}
@media(max-width:365px){.header-tools{gap:9px}.header-tools small{font-size:8px}.lang-ur .header-tools small{font-size:12px}.topbar{padding-inline:12px}.event-panel .event-artwork .event-urdu{font-size:27px}.event-artwork>p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.event-scene,.scene-light,.scene-petals i{animation:none!important}.event-scene{transform:none;transition:none}.scene-petals{display:none}.card-portal{display:none}.inside-card{transition:none}}
