/* Cotton paper, hand-poured wax, and a hinged invitation reveal. */
.full-names-ar{margin:16px auto 0;text-align:center;font-family:'Traditional Arabic','Noto Naskh Arabic','Geeza Pro',Tahoma,serif;font-size:clamp(20px,3.8vw,28px);font-weight:400;line-height:1.8;letter-spacing:0;color:#e8e4dc}
.full-names-ar p{margin:0;overflow-wrap:break-word}
.envelope{filter:none}
.envelope-back{background-image:url('assets/paper-grain.webp'),linear-gradient(130deg,#101010,#050505);background-size:180px 180px,100% 100%;border-color:#292929;border-radius:3px;box-shadow:0 25px 30px #0008,inset 0 1px 1px #ffffff18,inset 0 -2px 3px #0008}
.envelope-pocket{position:absolute;inset:0;z-index:2;pointer-events:none;filter:none}
.paper-side,.paper-bottom{position:absolute;inset:0;background-size:180px 180px,100% 100%}
.paper-left{clip-path:polygon(0 0,55% 58%,0 100%);background-image:url('assets/paper-grain.webp'),linear-gradient(110deg,#151515,#090909)}
.paper-right{clip-path:polygon(100% 0,45% 58%,100% 100%);background-image:url('assets/paper-grain.webp'),linear-gradient(260deg,#111111,#070707)}
.paper-bottom{clip-path:polygon(0 100%,0 99%,50% 46%,100% 99%,100% 100%);background-image:url('assets/paper-grain.webp'),linear-gradient(155deg,#171717 10%,#0d0d0d 55%,#070707);box-shadow:inset 0 -2px 2px #ffffff12}
.fold-creases{position:absolute;inset:0;width:100%;height:100%}
.envelope-flap{filter:none;transform-style:flat;transition:transform .85s cubic-bezier(.4,0,.2,1) .2s;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.paper-flap{display:block;width:100%;height:100%;clip-path:polygon(0 0,100% 0,53% 96%,50% 99%,47% 96%);background-image:url('assets/paper-grain.webp'),linear-gradient(157deg,#1b1b1b,#121212 51%,#080808);background-size:180px 180px,100% 100%;box-shadow:inset 0 1px 0 #ffffff3b}
.paper-flap:after{content:'';position:absolute;inset:1px 2px;background:linear-gradient(147deg,#ffffff09,transparent 48%);clip-path:inherit;pointer-events:none}
.letter-preview{background-image:url('assets/paper-grain.webp');background-color:#e6e2d9;background-size:180px;box-shadow:0 1px 7px #0006;transition:transform .7s cubic-bezier(.22,1,.36,1) .55s}
.envelope-label{color:#d5cfc3;text-shadow:0 -1px 0 #000,0 1px 0 #ffffff17;letter-spacing:.08em}
.seal{width:clamp(83px,17vw,112px);top:38%;background:none;border:0;border-radius:0;box-shadow:none;filter:none;transform:translate(-50%,-10%) rotate(-7deg);opacity:1;visibility:visible;transition:opacity .45s ease}
.seal img{display:block;width:100%;height:auto}
.opening .envelope-flap{transform:rotateX(180deg);z-index:3}
.opening .letter-preview{transform:translateY(-57%)}
.opening .envelope{transform:none}
.opening .seal{opacity:0;transform:translate(-50%,-10%) rotate(-7deg);visibility:visible}
.cover{will-change:transform}
.unfold-stage{position:fixed;inset:0;z-index:9;overflow:hidden;pointer-events:none}
.fold-card{position:relative;width:min(1074px,calc(100% - 46px));height:calc(100% - 44px);margin:22px auto;perspective:1800px}

.fold-panel{position:absolute;top:0;bottom:0;width:50.08%;background-image:url('assets/paper-grain.webp'),linear-gradient(135deg,#2e2b27,#161513 75%);background-size:190px 190px,100% 100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:flat;transition:transform 1.25s cubic-bezier(.42,0,.16,1);box-shadow:none;will-change:transform;border:1px solid #817b70}
.fold-left{left:0;transform-origin:left center;transform:rotateY(0deg) translateZ(0);border-right-color:#0b0b0a;z-index:2}
.fold-right{right:0;transform-origin:right center;transform:rotateY(0deg) translateZ(0);background-image:url('assets/paper-grain.webp'),linear-gradient(230deg,#2b2824,#161513 75%);border-left-color:#4e4941;transition-delay:.08s;z-index:1}
.fold-panel:before{content:'';position:absolute;inset:8px;border:1px solid #928b7f66;pointer-events:none}
.fold-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 75%,#0008);pointer-events:none;opacity:.45}
.fold-right:after{background:linear-gradient(270deg,transparent 75%,#0008)}
.fold-face{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;backface-visibility:hidden;color:#ded8cc;text-shadow:0 1px 0 #ffffff20,0 -2px 1px #000;position:relative}
.fold-initial{font-size:clamp(70px,13vw,160px);line-height:1;font-style:italic;font-weight:normal}
.fold-small{font:9px Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-top:36px;color:#b9b1a3;text-align:center;line-height:1.6}
.unfold-stage.unfolding .fold-left{transform:rotateY(-90deg) translateZ(0)}
.unfold-stage.unfolding .fold-right{transform:rotateY(90deg) translateZ(0)}
main[inert]{pointer-events:none}
.countdown{gap:19px;max-width:470px}
.countdown>div{min-width:64px}
.countdown .seconds-column{color:#fff}
.seconds-column .unit{color:#cbc5b9}
#seconds{font-variant-numeric:tabular-nums}
@keyframes second-beat{0%,100%{text-shadow:0 0 0 #fff0}15%{text-shadow:0 0 14px #ffffff45}}
@media(max-width:600px){.fold-card{width:calc(100% - 24px);height:calc(100% - 22px);margin:11px auto}.fold-face{padding:16px}.fold-small{font-size:7px;letter-spacing:.1em}.countdown{gap:clamp(6px,2.1vw,13px)}.countdown>div{min-width:0;flex:0 1 55px}.countdown>div>span:first-child{font-size:clamp(27px,8.2vw,38px)}.countdown i{font-size:23px}.countdown .unit{font-size:7px;letter-spacing:.1em}.event-date{letter-spacing:.025em}}
@media(max-height:500px){.cover{justify-content:flex-start;padding-top:25px}.cover-title{margin-bottom:25px}.envelope-wrap{width:min(370px,70vw)}.open-prompt{margin-top:20px}.cover-date{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.fold-card,.fold-panel{transition:none}#seconds{animation:none}}

/* Audio stays user-controlled and does not participate in the opening animation. */
.music-toggle{position:fixed;z-index:30;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid #514c44;border-radius:24px;background:#11100ff2;color:#e7e2d8;box-shadow:0 3px 10px #0005;font:9px Arial,Helvetica,sans-serif;letter-spacing:.08em;cursor:pointer}
.music-toggle:hover{background:#25221e}.music-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.music-toggle .music-waves{display:none}.music-toggle[aria-pressed="true"] .music-waves{display:block}.music-toggle[aria-pressed="true"] .music-muted{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
footer{padding-bottom:76px}@media(max-width:600px){.music-toggle{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:11px 12px;font-size:8px}footer{padding-bottom:76px}}
