:root{--ink: #193e56;--blue: #234e69;--silver: #8da2ae;--muted: #476477;--paper: #fbfcfc;--display: "Amiri", Georgia, serif;--body: "Source Sans 3", system-ui, sans-serif}html:lang(fr){--display: "Cormorant Garamond", Georgia, serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;color:var(--ink);font:1.0625rem/1.7 var(--body);background:#193447}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(#07172566,#07172566),url(../../riad/assets/evening-reception-background.webp) center / cover;pointer-events:none}body.welcome-active{overflow:hidden}p,h1,h2,blockquote{margin:0}h1,h2,.paper-names,.closing-names{font-family:var(--display);font-weight:400;line-height:1.4}h1{font-size:clamp(2.25rem,8vw,4rem)}h2{font-size:clamp(1.8rem,6vw,2.75rem)}a{color:inherit}button,a{font:inherit;touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}#welcome-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:2rem .75rem;overflow-y:auto;background:linear-gradient(#1239501f,#1239501f),url(../../riad/assets/courtyard-background.webp) center / cover;transition:opacity .7s ease,visibility .7s ease}#welcome-overlay.is-open{opacity:0;visibility:hidden;pointer-events:none}#content{opacity:0;transition:opacity .7s ease}#content.is-visible{opacity:1}#content:focus{outline:none}.envelope-cover{display:grid;justify-items:center;gap:1.25rem;width:min(94%,36rem,66svh)}.envelope{position:relative;width:100%;aspect-ratio:1.6 / 1;perspective:1400px;container-type:inline-size;isolation:isolate;transition:transform 1s cubic-bezier(.22,1,.36,1) .6s}.envelope-back,.envelope-front,.envelope-letter{position:absolute;inset:0;border-radius:3px}.envelope-back{z-index:1;background:linear-gradient(#eaf2f6,#d6e3eb);box-shadow:inset 0 0 0 1px #91a7b5,0 3px #bdcdd6,0 22px 44px #07172550}.envelope-back:before{content:"";position:absolute;inset:.5rem;border:1px solid #ffffff60;pointer-events:none}.envelope-letter{z-index:2;inset:6% 4%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.8rem;text-align:center;background:repeating-linear-gradient(0deg,transparent 0 2px,#23425a04 2px 3px),var(--paper);border:1px solid #afc2cd;box-shadow:0 3px 14px #07172520}.envelope-letter:before{content:"";position:absolute;inset:.5rem;border:1px solid #b6c7d1;outline:1px solid #dde6eb;outline-offset:3px;pointer-events:none}.envelope-letter .paper-label{font-size:clamp(.7rem,3cqw,.85rem)}.envelope-letter .paper-monogram{margin:.15rem 0;font-size:clamp(2.3rem,13cqw,4.75rem);line-height:1}.envelope-letter .paper-rule{width:2.5rem;margin:.2rem 0}.envelope-letter .paper-names{font-size:clamp(1.15rem,6cqw,2rem);line-height:1.3}.envelope-letter .paper-date{margin:0;font-size:clamp(.75rem,3cqw,.95rem)}.envelope-letter .paper-decoration{inset:.75rem}.envelope-letter .paper-decoration:before,.envelope-letter .paper-decoration:after{width:2.25rem;height:2.25rem}.envelope-front{z-index:3;pointer-events:none;filter:drop-shadow(0 -1px 1px #49677b25)}.envelope-front:before,.envelope-front:after{content:"";position:absolute;z-index:1;inset-block:0;width:51%;background:repeating-linear-gradient(0deg,transparent 0 2px,#23425a04 2px 3px),linear-gradient(135deg,#eef4f7,#c8d9e3);clip-path:polygon(0 0,100% 50%,0 100%)}.envelope-front:before{left:0}.envelope-front:after{right:0;transform:scaleX(-1)}.envelope-pocket{position:absolute;z-index:0;inset:0;background:repeating-linear-gradient(0deg,transparent 0 2px,#23425a04 2px 3px),linear-gradient(#eaf2f6,#d6e3eb);clip-path:inset(50% 0 0);border-radius:0 0 3px 3px;box-shadow:inset 0 -1px #a5bbc9}.envelope-names{position:absolute;inset-inline:1rem;bottom:10%;color:var(--ink);font:400 clamp(1.05rem,4.5cqw,1.65rem)/1.3 var(--display);text-align:center;text-shadow:0 1px #fff}.envelope-flap{position:absolute;z-index:4;inset:0 0 auto;height:57%;transform-origin:top center;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,0,.2,1) .28s;pointer-events:none}.envelope-flap:before,.envelope-flap:after{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden}.envelope-flap:before{background:repeating-linear-gradient(0deg,transparent 0 2px,#23425a04 2px 3px),linear-gradient(165deg,#fcfdfe,#e3edf3 65%,#b9cfdd)}.envelope-flap:after{transform:rotateX(180deg);clip-path:polygon(0 100%,100% 100%,50% 0);background:repeating-linear-gradient(45deg,#d5e3ec28 0 1px,transparent 1px 10px),repeating-linear-gradient(-45deg,#d5e3ec28 0 1px,transparent 1px 10px),linear-gradient(#42647c,#7392a5)}#open-invitation{position:absolute;z-index:5;top:55%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:clamp(3.8rem,12vw,4.75rem);height:clamp(3.8rem,12vw,4.75rem);margin:0;padding:0;border:2px solid #638297;border-radius:47% 53% 49% 51%/52% 46% 54% 48%;background:radial-gradient(ellipse at 30% 20%,#7294a9,#315570 58%,#193c55);box-shadow:0 5px 8px #14334845,inset 0 1px 2px #c7dbe6a0,inset 0 -3px 4px #0f2a43a0;color:#f1e7cf;font:400 1.025rem/1 Cormorant Garamond,Georgia,serif;text-shadow:0 1px 1px #0e293d;white-space:nowrap;cursor:pointer;transition:transform .3s ease}#open-invitation:before{content:"";position:absolute;inset:6px;border:1px solid #aec3ce90;border-radius:50%;box-shadow:inset 0 1px 2px #173b52a0,0 1px #b8ccd74d}#open-invitation:hover{transform:translate(-50%,-50%) scale(1.04)}#open-invitation .seal-divider{color:#d5c5a5;margin-inline:.12em}#music-toggle,.map-link,.page-next,.invit-credit{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:.75rem 1.25rem;cursor:pointer;text-decoration:none}.map-link:hover{background:var(--ink);color:#fff}.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}.envelope.is-opening{transform:translateY(30%)}.envelope.is-opening #open-invitation{animation:seal-release .48s ease forwards;pointer-events:none}.envelope.is-opening .envelope-flap{transform:rotateX(180deg);animation:flap-depth 1.18s step-end forwards}.envelope.is-opening .envelope-letter{animation:letter-extract 1.7s cubic-bezier(.45,0,.2,1) 1.05s forwards}.envelope.is-opening .envelope-back,.envelope.is-opening .envelope-front,.envelope.is-opening .envelope-flap:before,.envelope.is-opening .envelope-flap:after{opacity:0;transition:opacity .55s ease 2.05s}.envelope-hint{padding:.45rem .85rem;border:1px solid #ffffff45;border-radius:999px;background:#153c55c9;color:#f3f8fb;font-size:.875rem;font-weight:400;letter-spacing:.035em;text-align:center;transition:opacity .3s ease}.envelope.is-opening+.envelope-hint{opacity:0}html:lang(ar) .envelope-hint{letter-spacing:normal}@keyframes flap-depth{0%{z-index:4}to{z-index:1}}@keyframes seal-release{to{transform:translate(-50%,-90%) rotate(-12deg) scale(1.14);opacity:0}}@keyframes letter-extract{0%{transform:translateY(0);z-index:2}58%{z-index:2}59%{z-index:5}to{transform:translateY(-36%);z-index:5}}@media(max-height:600px){.envelope-cover{width:min(94%,30rem,70svh)}.envelope.is-opening{transform:none}.envelope.is-opening .envelope-letter{animation-name:letter-reveal}.envelope.is-opening .envelope-back,.envelope.is-opening .envelope-front,.envelope.is-opening .envelope-flap:before,.envelope.is-opening .envelope-flap:after{transition-delay:1.05s}@keyframes letter-reveal{0%{transform:translateY(0);z-index:2}40%{transform:translateY(-12%);z-index:2}41%,to{transform:translateY(-12%);z-index:5}}}.page-paper{position:relative;isolation:isolate;width:min(100%,38rem);padding:3.5rem 2.25rem 2.75rem;text-align:center;background:repeating-linear-gradient(0deg,transparent 0 2px,#23425a03 2px 3px),var(--paper);border:1px solid #c2ced6;box-shadow:7px 10px 0 -4px #e3e9ec,8px 11px 0 -4px #91a6b4,0 20px 60px #07172555}.page-paper:before{content:"";position:absolute;inset:.8rem;border:1px solid var(--silver);outline:1px solid #bccad1;outline-offset:4px;pointer-events:none}.paper-decoration{position:absolute;inset:1.25rem;pointer-events:none;z-index:-1}.paper-decoration:before,.paper-decoration:after{content:"";position:absolute;width:4rem;height:4rem;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%236c8798' stroke-width='1'%3E%3Cpath d='M7 7Q33 33 67 67M24 28Q5 30 7 15Q21 15 24 28M33 37Q33 16 45 20Q48 34 33 37M45 49Q22 53 27 38Q40 38 45 49M55 59Q52 40 65 43Q69 56 55 59'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat}.paper-decoration:before{inset-block-start:0;inset-inline-start:0}.paper-decoration:after{inset-block-end:0;inset-inline-end:0;rotate:180deg}.paper-label,.eyebrow{font-size:.85rem;letter-spacing:.12em;color:var(--muted)}html:lang(ar) .paper-label,html:lang(ar) .eyebrow{letter-spacing:normal}.paper-monogram{margin:1rem 0;font:400 clamp(3.25rem,13vw,6.5rem)/1.1 "Cormorant Garamond",Georgia,serif;text-shadow:0 1px #fff,0 -1px #193e5630}.paper-monogram span{font-size:.5em;font-style:italic;color:#708a9b}.paper-rule{width:4rem;height:1px;margin:1rem auto;background:var(--silver)}.paper-names{font-size:clamp(1.5rem,6vw,2.5rem)}.paper-date{display:block;margin-top:.5rem;color:var(--muted)}.invitation-page{display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:max(2rem,env(safe-area-inset-top)) .75rem max(5.5rem,env(safe-area-inset-bottom));scroll-snap-align:start;scroll-margin-top:0}.page-paper{min-height:31rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.page-paper .paper-rule{margin:0}.page-number{position:absolute;inset-block-end:1.3rem;inset-inline:0;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}.page-next{gap:.75rem;margin-top:.5rem;color:var(--blue);font-size:.95rem;border-block-end:1px solid var(--silver)}.page-next span{font-size:1.4rem}blockquote[lang=ar]{font-family:Amiri,serif;font-size:clamp(1.35rem,5vw,1.75rem);line-height:2}cite{font-size:.875rem;font-style:normal;color:var(--muted)}.lead{font-size:1.125rem;max-width:27rem}.event-date{font:400 1.5rem/1.5 var(--display);color:var(--blue)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:100%;direction:ltr}.countdown-unit{min-width:0;padding:1rem .125rem;border-block:1px solid var(--silver)}.countdown-unit strong{display:block;font:400 clamp(1.7rem,7vw,3rem)/1.2 "Cormorant Garamond",Georgia,serif;font-variant-numeric:tabular-nums}.countdown-unit span{display:block;font-size:.75rem;color:var(--muted)}#schedule{width:100%}.schedule-list{margin:0;padding:0;list-style:none}.schedule-item{display:flex;align-items:baseline;gap:1.25rem;padding:1.25rem 0;text-align:start;border-block-end:1px solid #d6dfe4}.schedule-time{flex-shrink:0;min-width:3.25rem;color:var(--muted);font:400 1.25rem/1.5 var(--display)}.schedule-title{min-width:0}.venue-body{display:grid;justify-items:center;gap:1.5rem}.map-link{border:1px solid var(--blue);color:var(--blue)}.closing-names{font-size:clamp(2rem,8vw,3rem)}.invit-credit{letter-spacing:.15em;font-size:.875rem;color:var(--muted)}#music-toggle{position:fixed;z-index:50;inset-inline-end:1rem;inset-block-end:calc(1rem + env(safe-area-inset-bottom));max-width:calc(100% - 2rem);background:var(--paper);color:var(--ink);border:1px solid var(--silver);box-shadow:0 4px 15px #07172530;font-size:.875rem}#music-toggle[aria-pressed=true]{background:var(--ink);color:#fff}@media(max-width:360px){.envelope-letter{padding-inline:.75rem}.page-paper{padding-inline:1.5rem}.countdown-unit span{font-size:.7rem}}@media(max-height:600px){#welcome-overlay{padding-block:4rem 1rem}}@media(max-height:400px){.envelope-letter .paper-monogram{display:none}.envelope-letter{padding:.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
