/* Keep all copy within the calm centre of the palace paintings. */
.scene[data-theme=noor-e-sarovar] .copy{left:16%;width:68%;top:9%;color:#304b3c;text-shadow:0 1px 2px #f6f0ded9,0 0 7px #f6f0de99}
.scene[data-theme=noor-e-sarovar] .eyebrow{font-size:calc(2 * var(--u));letter-spacing:.15em;text-wrap:balance}
.scene[data-theme=noor-e-sarovar] .couple-names{font-size:calc(8.8 * var(--u));line-height:1.15}
.scene[data-theme=noor-e-sarovar] .couple-names b{font-size:calc(5 * var(--u));margin:calc(1 * var(--u)) 0}
.scene[data-theme=noor-e-sarovar][data-scene=cover] .flourish{margin:calc(2 * var(--u)) auto}
.scene[data-theme=noor-e-sarovar][data-scene=cover] .dates{font-size:calc(3.9 * var(--u));margin:calc(2 * var(--u)) 0 calc(1.5 * var(--u))}
.scene[data-theme=noor-e-sarovar] .location{font-size:calc(3.9 * var(--u))}
.scene[data-theme=noor-e-sarovar].event .copy{top:9%}
.scene[data-theme=noor-e-sarovar].event .eyebrow{margin-bottom:calc(2 * var(--u))}
.scene[data-theme=noor-e-sarovar].event .script{font-size:calc(10 * var(--u));line-height:1.25;margin-bottom:calc(2 * var(--u));text-wrap:balance}
.scene[data-theme=noor-e-sarovar] .event-date{font-size:calc(2.8 * var(--u));letter-spacing:.05em;margin-bottom:calc(2 * var(--u))}
.scene[data-theme=noor-e-sarovar] .event-time{font-size:calc(6.7 * var(--u));margin-bottom:calc(1.8 * var(--u))}
.scene[data-theme=noor-e-sarovar].event .flourish{margin:calc(2 * var(--u)) auto}
.scene[data-theme=noor-e-sarovar] .event-venue{font-size:calc(4 * var(--u));margin-bottom:calc(1 * var(--u))}
.scene[data-theme=noor-e-sarovar] .event-note{font-size:calc(3.55 * var(--u));font-weight:500;line-height:1.3;text-wrap:balance}
.scene[data-theme=noor-e-sarovar][data-effect=procession] .copy{top:7.5%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .copy{top:9%;left:20%;width:60%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .script{font-size:calc(8.5 * var(--u));text-wrap:balance}
.scene[data-theme=noor-e-sarovar] .family-block p,.scene[data-theme=noor-e-sarovar] .family-copy{font-weight:500}
.scene[data-theme=noor-e-sarovar][data-scene=closing] .copy{top:10%;left:20%;width:60%}
.scene[data-theme=noor-e-sarovar][data-scene=closing] .script{font-size:calc(9.4 * var(--u))}
.scene[data-theme=noor-e-sarovar] .closing-copy{font-size:calc(4.1 * var(--u));font-weight:500;text-wrap:balance;line-height:1.35}
.scene[data-theme=noor-e-sarovar] .families{font-size:calc(4 * var(--u));font-weight:600;letter-spacing:.025em;text-wrap:balance}
.scene[data-theme=noor-e-sarovar]:after{background:radial-gradient(ellipse 39% 24% at 50% 24%,#fff3e180 0%,#fff3e140 65%,transparent 100%)}
.scene[data-theme=noor-e-sarovar].scene--night .copy{color:#fff2d9;text-shadow:0 1px 3px #14192de6,0 0 8px #14192d99}
.scene[data-theme=noor-e-sarovar].scene--night:after{background:radial-gradient(ellipse 40% 23% at 50% 23%,#101a365c 0%,#101a362e 65%,transparent 100%)}
.scene[data-theme=noor-e-sarovar] .copy.glow-reveal{--title-glow-soft:#f4d4a680;--title-glow-hard:#fceac9e6}
.scene[data-theme=noor-e-sarovar] .copy.glow-reveal.text-writing>.ink-block{animation:none}
.scene[data-theme=noor-e-sarovar] .copy.glow-reveal.text-writing .ink-g{display:inline;animation:rosewood-title-glow 500ms ease-out calc(var(--text-delay,200ms) + var(--letter,0)*45ms) both}
@keyframes rosewood-title-glow{0%{opacity:0;text-shadow:none}55%{opacity:1;text-shadow:0 0 7px var(--title-glow-hard),0 0 18px var(--title-glow-soft),0 0 34px var(--title-glow-soft)}100%{opacity:1;text-shadow:inherit}}
.phulkari-firefly{position:absolute;width:calc(.8 * var(--u));height:calc(.8 * var(--u));border-radius:50%;background:#ffebb5;box-shadow:0 0 calc(1.6 * var(--u)) calc(.3 * var(--u)) #ffdf7966;z-index:7;opacity:0;pointer-events:none;animation:phulkari-mote 16s ease-in-out infinite}
@keyframes phulkari-mote{0%,100%{opacity:.08;transform:translate(0,0) scale(.8)}30%,60%{opacity:.55;transform:translate(calc(var(--drift) * .5),-2cqw) scale(1)}85%{opacity:.15;transform:translate(var(--drift),-5cqw) scale(.8)}}
.scene[hidden] .phulkari-firefly{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.phulkari-firefly,.scene[data-theme=noor-e-sarovar] .copy.glow-reveal.text-writing .ink-g{animation:none}.phulkari-firefly{opacity:.25}}

.scene[data-theme=noor-e-sarovar][data-scene=family] .copy{top:6%;width:64%;left:18%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-block{margin-top:calc(2 * var(--u))}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-block h3{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-size:calc(5.2 * var(--u));line-height:1.2}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-copy,.scene[data-theme=noor-e-sarovar][data-scene=family] .family-block p{font-size:calc(3.5 * var(--u));line-height:1.25;text-wrap:balance}
.scene[data-theme=noor-e-sarovar][data-scene=family]:after{background:radial-gradient(ellipse 39% 28% at 50% 26%,#faf5e5c9,transparent 100%)}
.scene[data-theme=noor-e-sarovar][data-scene=closing] .copy{top:8%}
.padma-petal{position:absolute;z-index:7;pointer-events:none;opacity:0;width:calc(1.7 * var(--u) * var(--petal-size));height:calc(2.5 * var(--u) * var(--petal-size));background:radial-gradient(ellipse at 25% 20%,#ffd1df,#e05684 75%);border-radius:80% 10% 70% 20%}
.padma-petal:nth-child(even){background:radial-gradient(ellipse at 25% 20%,#fff4df,#ca6076 80%)}
.padma-bird{position:absolute;width:9%;height:6%;z-index:5;opacity:0;pointer-events:none;filter:drop-shadow(0 1px 1px #24362b33)}
.padma-bird .sprite{position:absolute;inset:0;object-fit:contain;object-position:center;animation:padma-wing-up .8s linear infinite}
.padma-bird .dove-wings-down{animation-name:padma-wing-down}
@keyframes padma-wing-up{0%,44%{opacity:1}50%,94%{opacity:0}100%{opacity:1}}
@keyframes padma-wing-down{0%,44%{opacity:0}50%,94%{opacity:1}100%{opacity:0}}
.padma-confetti{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.scene[hidden] .padma-bird .sprite{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.padma-bird .sprite{animation:none}.padma-bird .dove-wings-up{opacity:1}.padma-bird .dove-wings-down{opacity:0}.padma-petal,.padma-confetti{display:none}}

.scene[data-theme=noor-e-sarovar][data-scene=family] .family-copy{margin:calc(1.5 * var(--u)) 0}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-block p{margin:calc(.7 * var(--u)) 0}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-join{margin-top:calc(.9 * var(--u))}

.scene[data-theme=noor-e-sarovar] .copy{color:#46533e}
.scene[data-theme=noor-e-sarovar].scene--night .copy{color:#fff1d9}
.scene[data-theme=noor-e-sarovar][data-scene=family] .copy{top:6%;left:18%;width:64%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .family-block{margin-top:calc(1 * var(--u))}
.scene[data-theme=noor-e-sarovar] .rosewood-balloon{left:6%;bottom:22%;width:22%;height:27%;z-index:4}
.scene[data-theme=noor-e-sarovar][data-effect=balloon] .welcome-bouquet{display:none}
.rosewood-light-pool{position:absolute;z-index:4;width:18%;height:12%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffedbb99,#f8bf5b33 45%,transparent 72%);mix-blend-mode:screen;opacity:0;pointer-events:none}
.rosewood-bird-idle{left:-12%;bottom:62%;animation:rosewood-sky-flight 22s linear infinite}
@keyframes rosewood-sky-flight{0%,8%{opacity:0;transform:translate(0,0)}14%{opacity:.75}50%{opacity:.85;transform:translate(58cqw,-4cqw)}85%{opacity:.75}92%,100%{opacity:0;transform:translate(116cqw,-1cqw)}}
.scene[hidden] .rosewood-bird-idle{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.rosewood-bird-idle{animation:none;opacity:0}}

/* Slow fireflies with a readable warm core even against pale garden paintings. */
.estate-firefly{position:absolute;width:calc(1.05 * var(--u));height:calc(1.05 * var(--u));border-radius:50%;background:#fff4bf;box-shadow:0 0 calc(.65 * var(--u)) calc(.25 * var(--u)) #ffd966cc,0 0 calc(2.8 * var(--u)) calc(.7 * var(--u)) #ffc84e66;z-index:8;pointer-events:none;animation:estate-firefly-drift 16s ease-in-out infinite}
@keyframes estate-firefly-drift{0%,100%{opacity:.45;transform:translate(0,0) scale(.85)}25%{opacity:.95;transform:translate(calc(var(--drift) * .8),-9cqw) scale(1)}50%{opacity:.65;transform:translate(var(--drift),-17cqw) scale(.9)}75%{opacity:.9;transform:translate(calc(var(--drift) * -.4),-8cqw) scale(1)}}
.scene[hidden] .estate-firefly{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.estate-firefly{animation:none;opacity:.55}}

/* Night garden foliage begins higher: finish the copy before that canopy. */
.scene[data-theme=noor-e-sarovar].event.scene--night .copy{top:5.5%}
.scene[data-theme=noor-e-sarovar].event.scene--night .script{font-size:calc(8.5 * var(--u));line-height:1.1;margin-bottom:calc(1.5 * var(--u))}
.scene[data-theme=noor-e-sarovar].event.scene--night .eyebrow{margin-bottom:calc(1.5 * var(--u))}
.scene[data-theme=noor-e-sarovar].scene--night .event-date{margin-bottom:calc(1.5 * var(--u))}
.scene[data-theme=noor-e-sarovar].scene--night .event-time{font-size:calc(6 * var(--u));margin-bottom:calc(1 * var(--u))}
.scene[data-theme=noor-e-sarovar].event.scene--night .flourish{margin:calc(1 * var(--u)) auto}
.rosewood-light-pool:after{content:'';position:absolute;left:48%;top:48%;width:calc(.8 * var(--u));height:calc(.8 * var(--u));border-radius:50%;background:#fff3bd;box-shadow:0 0 calc(1.5 * var(--u)) calc(.6 * var(--u)) #ffcc7288}

.scene[data-theme=noor-e-sarovar] .family-block h3,.scene[data-theme=noor-e-sarovar] .families{font-family:Georgia,'Times New Roman',serif;font-weight:400}

.scene[data-theme=noor-e-sarovar] .couple-names,.scene[data-theme=noor-e-sarovar] .families,.scene[data-theme=noor-e-sarovar] .family-block h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.025em}
.scene[data-theme=noor-e-sarovar] .actor{bottom:13%;height:30%;width:43%;left:28.5%}
.scene[data-theme=noor-e-sarovar][data-scene=cover] .actor{bottom:11%;height:32%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .story-mirror{width:38%;left:31%;bottom:17%;z-index:8;transform-origin:center 80%}
.scene[data-theme=noor-e-sarovar] .mirror-reflection img{opacity:.87}
.scene[data-theme=noor-e-sarovar][data-scene=family] .copy{top:7%}
.scene[data-theme=noor-e-sarovar] .pendant,.scene[data-theme=noor-e-sarovar] .ornament-touch{display:none}
.scene[data-theme=noor-e-sarovar] .plate{object-position:center}
.scene[data-theme=noor-e-sarovar][data-effect=bells] .chapel-bells{bottom:31%;width:19%}
.scene[data-theme=noor-e-sarovar] .azure-water-glimmer{position:absolute;inset:40% 12% 27%;z-index:2;pointer-events:none;background:repeating-linear-gradient(175deg,transparent 0 14px,#e5eee71c 15px 16px,transparent 17px 30px);mask-image:linear-gradient(transparent,#0008,transparent);animation:azure-ripples 12s ease-in-out infinite}
@keyframes azure-ripples{0%,100%{opacity:.25;transform:translateX(-1%)}50%{opacity:.6;transform:translateX(1%)}}
.scene[hidden] .azure-water-glimmer{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.azure-water-glimmer{animation:none}}

.scene[data-theme=noor-e-sarovar][data-scene=family] .copy{top:10%}
.scene[data-theme=noor-e-sarovar][data-scene=family] .script{font-size:calc(7.4 * var(--u))}
.scene[data-theme=noor-e-sarovar][data-scene=family]:after{background:radial-gradient(ellipse 35% 23% at 50% 27%,#edf0dfc4 0%,#edf0df70 60%,transparent 100%)}

.scene[data-theme=noor-e-sarovar][data-effect=nikah] .bloom{display:none}
.scene[data-theme=noor-e-sarovar] .prop-left{bottom:14%}
