/* Keep the circular record intact; the envelope front supplies its occlusion. */
.world .is-open .record-rise{clip-path:none!important}
.world .envelope-front:before{content:'';position:absolute;inset:0;background:#d9b5b8;z-index:-1}
.world .envelope-front{isolation:isolate}
.world .envelope-back{background:linear-gradient(145deg,#b88894,#d8b0b9);box-shadow:0 12px 24px #26332d30}
.world .seal{background:none;box-shadow:none;border-radius:0;left:41%;top:53%;width:18%;font-size:0;filter:drop-shadow(1px 3px 2px #654f5050)}
.world .seal img{width:100%;height:auto;filter:none;mix-blend-mode:normal}
/* A single stationary painting avoids repeated or stretched landscape seams. */
/* Hide the contents while sealed; release them only after the flap clears. */
.world .record-rise,.world .insert{opacity:0;visibility:hidden;pointer-events:none;transition:transform 1.5s cubic-bezier(.2,.7,.2,1),opacity .25s,visibility 0s .3s}
.world .is-open .record-rise{opacity:1;visibility:visible;transform:translateY(-56%);transition:transform 1.5s .75s cubic-bezier(.2,.7,.2,1),opacity .4s .75s,visibility 0s .75s;clip-path:inset(0 0 10% 0)}
.world .is-open .insert{opacity:1;visibility:visible;transform:translateY(-64%);transition:transform 1.5s .65s cubic-bezier(.2,.7,.2,1),opacity .4s .65s,visibility 0s .65s}
.world .is-open .flap-control{z-index:1;transition:z-index 0s .55s;outline:none}
.world .flap-control:focus:not(:focus-visible){outline:none}
.world .record-rise{width:70%;left:15%;top:13%}
.world .envelope-front{background:transparent}
.world .experience-controls{left:auto;right:6%;gap:0}
.world .experience-controls #music{width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;position:relative;font-size:21px;display:grid;place-items:center;color:#f7f1e8;text-shadow:0 1px 4px #38473b}
.world .experience-controls #music:before{content:'';position:absolute;inset:7px;border:1px solid #e0d2af99;border-radius:50%;background:#38473b85;z-index:-1}
.world .experience-controls #music[aria-pressed=false]:after{content:'';position:absolute;width:18px;height:1px;background:currentColor;transform:rotate(-45deg)}
.landscape{position:fixed;inset:-30px 0;max-width:520px;margin:auto;background-size:cover;background-repeat:no-repeat;background-position:center center}
.envelope-front{background:#c79fa4;background-blend-mode:multiply}
.flap{background:#d9b5b8}
.flap-control{transition:z-index 0s .8s}
.is-open .flap-control{transition:z-index 0s .6s}
.photo-two img{object-position:80% 25%;}
@media(min-width:521px){.landscape{inset:-30px 0}}
@font-face{font-family:InvitationArabic;src:url('../assets/fonts/amiri.ttf') format('truetype');font-display:swap}
.experience-controls{position:absolute;top:max(18px,env(safe-area-inset-top));left:7%;right:7%;display:flex;justify-content:space-between;z-index:30;gap:12px}.experience-controls button{font:16px InvitationArabic,Georgia,serif;color:#f7f1e8;background:#38473bdd;border:1px solid #d6c29c88;padding:7px 14px;min-height:44px;border-radius:2px;cursor:pointer}.experience-controls button:focus-visible{outline:2px solid #f3e9dd;outline-offset:4px}.experience-controls button[aria-pressed=true]{background:#706b45}.petal-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:11}.petal-layer img{position:absolute;width:19px;height:auto;opacity:0;animation:petalfall 22s linear infinite;animation-delay:var(--delay);left:var(--left);top:var(--top)}@keyframes petalfall{0%{opacity:0;transform:translate(0,-30px) rotate(0)}12%,75%{opacity:.65}100%{opacity:0;transform:translate(55px,390px) rotate(180deg)}}.flowers-left,.flowers-right,.panel-flowers{animation:botanical-breath 8s ease-in-out infinite alternate;transform-origin:70% 70%}.flowers-right{animation-delay:-4s}.panel-flowers{animation-delay:-2s}@keyframes botanical-breath{to{translate:0 -3px;rotate:1.4deg}}.waterlight{animation:water-glow 12s ease-in-out infinite alternate}@keyframes water-glow{to{opacity:.45;translate:8px 0}}.crest{animation:crest-drift 9s ease-in-out infinite alternate}@keyframes crest-drift{to{translate:0 -5px;rotate:2deg}}.photo{transition:transform 1.4s,opacity 1.4s;animation:photo-float 11s ease-in-out infinite alternate}.photo-two{animation-delay:-5s}@keyframes photo-float{to{translate:0 -4px}}.photo figcaption{text-align:center;font:14px InvitationArabic,Georgia,serif;color:#766755;line-height:1.7;padding-top:5px;white-space:nowrap}.photo{padding-bottom:35px}.photo img{filter:saturate(.65)}.photo-two img{object-position:50% 50%}.garden-finale{position:relative;text-align:center;padding:0 10% 70px;color:#f3e9dd}.garden-finale img{width:70%;height:auto;margin:auto;animation:swan-glide 13s ease-in-out infinite alternate}.garden-finale p{font:26px/1.8 InvitationArabic,serif;text-shadow:0 2px 8px #243b31}.garden-finale span{font-size:38px}@keyframes swan-glide{to{transform:translate(8px,-3px)}}.world.paused *{animation-play-state:paused!important}.is-open .flap-control{z-index:8;pointer-events:none}.is-open .flap-control .flap{pointer-events:auto}.is-open .flap{backface-visibility:visible}.opening-note{position:relative;z-index:12}.inner-frame{height:auto}html[lang=en] .opening-note,html[lang=en] .interlude-copy,html[lang=en] .invitation-copy,html[lang=en] .closing-copy,html[lang=en] .footer-copy p,html[lang=en] h1,html[lang=en] .garden-finale p{font-family:Georgia,serif}html[lang=en] h1{font-size:40px;line-height:1.3}html[lang=en] .invitation-copy{font-size:20px;line-height:1.9}html[lang=en] .opening-note{font-size:23px}html[lang=en] .interlude-copy{font-size:26px}html[lang=en] .closing-copy{font-size:18px}html[lang=en] .experience-controls button{font:14px Georgia,serif}html[lang=en] .garden-finale p{font-size:24px}
/* Explicit HTML dimensions reserve image space; rendered cutouts must retain their ratio. */
.flowers,.panel-flowers,.footer-flowers{height:auto;object-fit:contain;aspect-ratio:1024/664;filter:drop-shadow(0 3px 3px #29382d25)}
.flowers-left{width:47%;left:-5%;top:-9%;transform:rotate(-18deg)}
.flowers-right{width:34%;right:-3%;bottom:2%;top:auto;transform:rotate(155deg)}
.panel-flowers{width:43%;top:0;left:-1%;transform:rotate(-17deg)}
.footer-flowers{width:38%;right:-5%;bottom:0;transform:rotate(160deg);opacity:.8}
.opening-note,.interlude-copy,.invitation-copy,.closing-copy,.footer-copy p,h1{font-family:InvitationArabic,serif;font-weight:400}
.opening-note{text-align:center;font-size:25px;line-height:1.7;margin:18px 12px 0;color:#f7f1e8;text-shadow:0 2px 8px #243b31}
.scroll-hint{height:88px;padding-top:5px}.scroll-hint small{font-family:InvitationArabic,serif;display:block;font-size:16px;margin-bottom:10px}.scroll-hint span:last-child{background:none;width:auto;height:auto}
.collage{margin-top:25px}.opening{height:auto;padding-bottom:60px}.interlude{height:auto;padding:30px 15px 70px}.interlude-copy{font-size:30px;line-height:1.8;margin:10px 0;text-shadow:0 2px 8px #243b31}.english-caption{font-size:12px;letter-spacing:2px;line-height:1.8;text-align:center}.hairline{margin:27px auto 0}
.invitation{aspect-ratio:auto;min-height:680px}.inner-frame{min-height:654px;padding:40px 20px 45px}.inner-frame>.english-caption{font-size:12px;letter-spacing:1.5px;margin:18px 0}h1{font-size:clamp(42px,12vw,58px);line-height:1.5;margin:20px 0 25px}.invitation-copy{font-size:22px;line-height:1.95;margin:0 0 26px}.invitation-copy.second{margin:25px 0}.closing-copy{font-size:19px;line-height:1.8;margin:25px 0}.footer-copy{text-align:center;position:relative;z-index:2;padding:0 20px}.footer-copy p{font-size:23px;line-height:1.8;text-shadow:0 2px 8px #243b31}
@media(min-width:521px){.opening{height:auto}.inner-frame{min-height:730px}.invitation-copy{font-size:25px}.panel-flowers{width:41%}}
